自然语言处理工具(Stanford-Parser)使用注意事项

来源:互联网 发布:魔笛手压缩算法 编辑:程序博客网 时间:2024/05/19 05:04

Stanford-Parser:
    斯坦福大学自然语言研究小组推出的语法解析工具,可以针对某个句子解析其句子结构,为句子中不同的成分打上成分标签,具体到某个分词单元,可以为其打上词性标签。输入为内存中的String或者List,或者utf-8 编码的文本文件,不管何种输入格式,需要句子事先进行好分词工作,各个分词单元间以空格符分隔。可以将句子的整体结构进行树形展示,其中叶子节点为各个分词单元。同时提供了多个用于展示句子内部各分词单元间依赖关系的接口函数,可以展示句子中某两个词之间的依赖关系。
    在单机测试和使用Stanford-Parser的过程中,需要注意stanford-parser.jarjava build path中的添加,以及grammar包的添加,也可直接使用程序中用到的某个训练集,比如chinesePCFG.ser.gz。在hadoop上测试和使用Stanford-Parser时,注意在编译目录下放置jar包和相应的训练包,或者可以在mapreduce程序中利用DistributedCache来把jar包和训练包动态加入CLASSPATH,从而避免频繁的文件复制。
    在使用和测试Stanford-Parser时,需要注意,首先需要生成一个新的LexicalizedParser对象,根据某个训练集进行句子分析。在利用斯坦福原训练集时请在此处使用 chinesePCFG.ser.gz。实际中发现chineseFactored.ser.gz 更大效果更好,但在处理某些较复杂句子时会出现 OM 等错误。根据实际观测,两个训练集在处理评论语句时效果差别并不大,且chinesePCFG.ser.gz由于较小,速度快很多;Test.MAX_ITEMS参数建议设置为较大的整型,(在23日最新发布的包里已经没有了Test类,MAX_ITEMS的参数通过实例化LexicalizedParser时,设置参数调整)在默认值下很多复杂一些的句子都无法进行完整解析;需要注意的一点,太长的句子在利用Stanford-Parser进行处理时会出现问题,建议保证输入句子在80个分词单元以内;另外,由于Stanford-Parser在解析句子时非常耗费内存,请注意在程序中利用-Xmx等参数调整内存上限。

例子:
输入: 店家    送货    产品 保湿 效果 非常  
输出:

自然语言处理工具(Stanford-Parser)使用注意事项

原创粉丝点击