Q1: Linux调用NLPIR的时候,链接不上库
例如执行示例程序结果如下:
[root@localhost linux_c_sample]# ./test
./test: error while loading shared libraries: libNLPIR2011.so: cannot open shared object file: No such file or directory
Answer:
应当设置系统的LD_LIBRARY_PATH,即:export LD_LIBRARY_PATH=./
Q2: NLPIR系统初始化老是失败
Answer:
初始化失败一般原因包括:
1)系统在当前路径下,找不到系统配置文件Configure.xml;
2)根据Configure.xml,系统找不到指定的数据文件目录data
3)Data文件夹下面的文件缺失;
4)License过期或者被封锁。
一般请查看当前目录下的log日志,一般名称为当前日期.log,其中有详细的介绍。
最直接的解决办法是下载最新的版本,把里面的data文件夹替换成现有的data文件夹就行了。
Q3: NLPIR系统是否支持多线程,没有显式的创建与销毁分词对象(句柄、上下文)的接口,故不支持多线程和多实例
Answer:
支持多线程,全局初始化后,每个线程new CNLPIR,即可在每个线程里面分词处理。
Q4: 没有找到选择粗/细颗粒度的接口
Answer:
请将Configure.xml中的参数设置为粗粒度。
<GranularityContorl>off</GranularityContorl> on粗粒度,off细粒度
Q5: 连续的空白符号是每个符号单独输出的,希望有合并输出的选项。
Answer:
分词的时候都是这么要求的,建议你可以考虑 CNLPIR类中的
const result_t * ParagraphProcessA(const char *sParagraph,int *pResultCount);
里面只保存了分词结果,没有空格。需要的话,也可以合并。
Q6: 支持在一个应用中,同时进行GB18030和UTF-8的分词
Answer:
可以支持,但是一般都是建议编码标准化再分词,否则后续的应用很麻烦,我们有快速的编码转换程序。
Q7: NLPIR2010的JNI调用实现过程
Answer:
参见天外的星星:http://blog.sina.com.cn/s/blog_5dc8d9a50100kwvj.html