Class: Kurumi

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

Class Method Summary collapse

Class Method Details

.segment(str, mode = "sp") ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
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
# File 'lib/cseg.rb', line 7

def self.segment(str, mode="sp")
  @result=Array.new
    case mode
    when "sp"
           @modle=@modle_sp
    when "tr"
       @modle=@modle_tr
    else
    raise "no such parameter, please use sp or tr"    
  end
  result_data = IO.popen "crf_test -m #{@modle}", 'r+' do |io|
    io.puts *str.chars
    io.close_write
    io.read
  end
  word=""
  result_data.each_line{|line|
    token=line.chomp.split("  ")
    if token[1]=="B"or token[1]=="O"
      if word!=""
        @result.push(word)
      end
      word=token[0]
    elsif token[1]=="I"
      word+=token[0]
    else
      #nil
      if word!=""
        @result.push(word)
        word=""
      end
    end

  }
  return @result
end