Class: Opener::POSTagger
- Inherits:
-
Object
- Object
- Opener::POSTagger
- Defined in:
- lib/opener/pos_tagger.rb,
lib/opener/pos_tagger/cli.rb,
lib/opener/pos_tagger/server.rb,
lib/opener/pos_tagger/version.rb
Overview
Primary POS tagger class that delegates work the various POS tagging kernels.
Defined Under Namespace
Constant Summary collapse
- DEFAULT_OPTIONS =
Hash containing the default options to use.
{ :args => [] }.freeze
- VERSION =
'3.1.2'
Instance Attribute Summary collapse
- #options ⇒ Hash readonly
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ POSTagger
constructor
A new instance of POSTagger.
-
#run(input) ⇒ Array
(also: #tag)
Processes the input and returns an Array containing the output of STDOUT, STDERR and an object containing process information.
Constructor Details
#initialize(options = {}) ⇒ POSTagger
Returns a new instance of POSTagger.
36 37 38 |
# File 'lib/opener/pos_tagger.rb', line 36 def initialize( = {}) @options = DEFAULT_OPTIONS.merge() end |
Instance Attribute Details
#options ⇒ Hash (readonly)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/opener/pos_tagger.rb', line 18 class POSTagger attr_reader :options ## # Hash containing the default options to use. # # @return [Hash] # DEFAULT_OPTIONS = { :args => [] }.freeze ## # @param [Hash] options # # @option options [Array] :args Arbitrary arguments to pass to the # underlying kernel. # def initialize( = {}) @options = DEFAULT_OPTIONS.merge() end ## # Processes the input and returns an Array containing the output of STDOUT, # STDERR and an object containing process information. # # @param [String] input The input to process. # @return [Array] # def run(input) language = language_from_kaf(input) unless valid_language?(language) raise ArgumentError, "The specified language (#{language}) is invalid" end kernel = language_constant(language).new(:args => [:args]) return kernel.run(input) end alias tag run protected ## # Extracts the language from a KAF document. # # @param [String] input # @return [String] # def language_from_kaf(input) reader = Nokogiri::XML::Reader(input) return reader.read.lang end ## # @param [String] language # @return [Class] # def language_constant(language) return language && POSTaggers.const_get(language.upcase) end ## # @return [TrueClass|FalseClass] # def valid_language?(language) return Opener::POSTaggers.const_defined?(language.upcase) end end |
Instance Method Details
#run(input) ⇒ Array Also known as: tag
Processes the input and returns an Array containing the output of STDOUT, STDERR and an object containing process information.
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/opener/pos_tagger.rb', line 47 def run(input) language = language_from_kaf(input) unless valid_language?(language) raise ArgumentError, "The specified language (#{language}) is invalid" end kernel = language_constant(language).new(:args => [:args]) return kernel.run(input) end |