Class: Kuromoji::Core

Inherits:
Object
  • Object
show all
Defined in:
lib/kuromoji/core.rb

Instance Method Summary collapse

Constructor Details

#initialize(user_dictionary = nil) ⇒ Core

Returns a new instance of Core.



21
22
23
24
25
26
27
28
29
# 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

Instance Method Details

#process(method, sentence) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# 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) ⇒ Object



35
36
37
# File 'lib/kuromoji/core.rb', line 35

def reading(sentence)
  process(:getReading, sentence)
end

#tokenize(sentence) ⇒ Object



31
32
33
# File 'lib/kuromoji/core.rb', line 31

def tokenize(sentence)
  process(:all_features, sentence)
end

#tokenize_with_hash(sentence) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# 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