Sha256: 64de1b4fd58704833b7d7ae0ca1c2cd652ad8b4d64f99f0007d310cd72b22b81

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

require 'rjb'
require 'rbbt'
require 'rbbt/text/segment/named_entity'

module Linnaeus

  Rbbt.claim Rbbt.software.opt.Linnaeus, :install, Rbbt.share.install.software.Linnaeus.find

  ARGS = ["--properties", Rbbt.software.opt.Linnaeus["species-proxy/properties.conf"].find]


  Rjb::load(nil, jvmargs = ['-Xms2G','-Xmx2G']) unless Rjb.loaded?
  def self.init
    begin
      @@ArgParser    = Rjb::import('martin.common.ArgParser')
      @@Args         = @@ArgParser.new(ARGS)
      @@Loggers      = Rjb::import('martin.common.Loggers')
      @@Logger       = @@Loggers.getDefaultLogger(@@Args)
      @@EntityTagger = Rjb::import('uk.ac.man.entitytagger.EntityTagger')
      @@Matcher      = @@EntityTagger.getMatcher(@@Args, @@Logger)
    rescue
      if $!.message =~ /heap space/i
        Log.warn "Heap Space seems too low. Make sure Linnaeus is loaded before other Java wrappers so that it has the chance to init the Java Bridge with sufficient heap space"
      end
      raise $!
    end
  end

  def self.match(text)

    init unless defined? @@Matcher

    @@Matcher.match(text).toArray().collect do |mention|
      NamedEntity.setup(mention.text(), mention.start(), "Organism", mention.ids(), mention.probabilities())
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rbbt-text-1.2.0 lib/rbbt/ner/linnaeus.rb
rbbt-text-1.1.9 lib/rbbt/ner/linnaeus.rb