Sha256: a4c900aa8e7d19d2eb84c695f41b35551b4516752f46ddda2dcd3bd79226a6ef

Contents?: true

Size: 865 Bytes

Versions: 1

Compression:

Stored size: 865 Bytes

Contents

require 'rbbt'
require 'rjb'
require 'libxml'
require 'rbbt/ner/annotations'
require 'rbbt/ner/NER'
require 'rbbt/util/log'

class OSCAR4 < NER
  Rbbt.software.opt.OSCAR4.define_as_install Rbbt.share.install.software.OSCAR4.find

  Rjb::load(nil, jvmargs = ['-Xms128m','-Xmx2048m'])
  @@OSCAR = Rjb::import('uk.ac.cam.ch.wwmm.oscar.Oscar')

  def self.match(text,  type = nil, memm =  false)

    return [] if text.nil? or text.strip.empty?

    oscar = @@OSCAR.new();
    entities = oscar.findAndResolveNamedEntities(text);
    it = entities.iterator

    result = []

    while it.hasNext
      entity = it.next
      mention = entity.getSurface
      result << mention

      NamedEntity.annotate mention, entity.getStart, entity.getType, nil, entity.getNamedEntity.getConfidence
    end

    result
  end

  def match(*args)
    OSCAR4.match *args
  end
end



Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rbbt-text-0.5.0 lib/rbbt/ner/oscar4.rb