class Kuromoji::Core

Public Class Methods

new(user_dictionary = nil) click to toggle source
# File lib/kuromoji/core.rb, line 21
def initialize(user_dictionary = nil)
  jar = File.expand_path('../../../vendor/kuromoji-0.7.7/lib/kuromoji-0.7.7.jar', __FILE__)
  Rjb.load(jar)
  if user_dictionary.nil?
    @tokenizer = Rjb.import('org.atilika.kuromoji.Tokenizer').builder.build
  else
    @tokenizer = Rjb.import('org.atilika.kuromoji.Tokenizer').builder.userDictionary(user_dictionary).build
  end
end

Public Instance Methods

process(method, sentence) click to toggle source
# File lib/kuromoji/core.rb, line 51
def process(method, sentence)
  tokenized = {}
  return tokenized if sentence.nil?
  list = @tokenizer.tokenize(sentence)
  iterator = list.iterator
  while iterator.has_next
    item = iterator.next
    tokenized[item.surface_form] = item.send(method)
  end
  tokenized
end
reading(sentence) click to toggle source
# File lib/kuromoji/core.rb, line 35
def reading(sentence)
  process(:getReading, sentence)
end
tokenize(sentence) click to toggle source
# File lib/kuromoji/core.rb, line 31
def tokenize(sentence)
  process(:all_features, sentence)
end
tokenize_with_hash(sentence) click to toggle source
# File lib/kuromoji/core.rb, line 39
def tokenize_with_hash(sentence)
  result = []
  return result if sentence.nil?
  list = @tokenizer.tokenize(sentence)
  iterator = list.iterator
  while iterator.has_next
    item = iterator.next
    result << item.to_kuromoji_hash
  end
  result
end