JoeWoo / nlpir

A rubygem wrapper of chinese segment tools ICTCLAS2014 for linux_x86
MIT License
73 stars 5 forks source link

发现新词功能返回空 #4

Closed lolomarx closed 10 years ago

lolomarx commented 10 years ago

发现新词的脚本如下:

task :get_new => :environment do
require 'rubygems'
require 'nlpir'
include Nlpir   

    outputfile = File.new("test.txt", "r")
    NLPIR_NWI_Start() #启动新词发现功能
    text=outputfile.read
    puts " ----------------------------------- content size"            
    puts text.size
    puts text
    NLPIR_NWI_AddFile(text)#添加新词训练的文件,可反复添加
    NLPIR_NWI_Complete()#添加文件或者训练内容结束
    outputfile.close() 
    puts " ----------------------------------- find new words"      
    result = NLPIR_NWI_GetResult()#输出新词识别结果
    puts result
end

发现新词的出错信息:

=> Executing Rake get_new ...
Notice: for 10x faster LSI support, please install http://rb-gsl.rubyforge.org/
 ----------------------------------- content size
9848
馄饨包大了,就是水饺。汤圆撮大了,就是元宵呢。包子是包子,不仅仅是因为与馒头的有馅没馅儿区别
..省略部分测试文本内容的输出...
tasks/getNewWords.rake:139:in `to_s': NULL pointer given (ArgumentError)

139行即为

puts result
JoeWoo commented 10 years ago

@lolomarx 1、任何操作开始之前都要NLPIR_Init() , 整体结束后NLPIR_Exit() 2、NLPIR_NWI_AddFile()的参数只需传入文件的路径(字符串),而不是File对象。示例已经在README里更新了。