Class: OpenNlp::Parser

Inherits:
Tool
  • Object
show all
Defined in:
lib/open_nlp/parser.rb

Defined Under Namespace

Classes: Parse

Instance Attribute Summary

Attributes inherited from Tool

#j_instance

Instance Method Summary collapse

Methods included from JavaClass

included

Constructor Details

#initialize(parser_model, token_model) ⇒ Parser

Returns a new instance of Parser.



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/open_nlp/parser.rb', line 3

def initialize(parser_model, token_model)
  unless parser_model.is_a?(OpenNlp::Model)
    fail ArgumentError, 'parser_model must be an OpenNlp::Model'
  end

  unless token_model.is_a?(Model::Tokenizer)
    fail ArgumentError, 'token_model must be an OpenNlp::Tokenizer::Model'
  end

  @j_instance = Java::opennlp.tools.parser.ParserFactory.create(parser_model.j_model)
  @tokenizer = Tokenizer.new(token_model)
end

Instance Method Details

#parse(text) ⇒ OpenNlp::Parser::Parse

Parses text into instance of Parse class

Parameters:

  • text (String)

    text to parse

Returns:

Raises:

  • (ArgumentError)


20
21
22
23
# File 'lib/open_nlp/parser.rb', line 20

def parse(text)
  raise ArgumentError, 'passed text must be a String' unless text.is_a?(String)
  text.empty? ? {} : parse_tokens(tokenizer.tokenize(text), text)
end