java开源⾃然语义识别_⾃然语义处理
斯坦福⼤学⾃然语⾔处理组是世界知名的NLP研究⼩组,他们提供了⼀系列开源的Java⽂本分析⼯具,包括分词器(Word Segmenter),词性标注⼯具(Part-Of-Speech Tagger),命名实体识别⼯具(Named Entity Recognizer),句法分析器(Parser)等,可喜的事,他们还为这些⼯具训练了相应的中⽂模型,⽀持中⽂⽂本处理。在使⽤NLTK的过程中,发现当前版本的NLTK已经提供了相应的斯坦福⽂本处理⼯具接⼝,包括词性标注,命名实体识别和句法分析器的接⼝,不过可惜的是,没有提供分词器的接⼝。在google⽆果和阅读了相应的代码后,我决定照猫画虎为NLTK写⼀个斯坦福中⽂分词器接⼝,这样可以⽅便的在Python中调⽤斯坦福⽂本处理⼯具。
java调用python模型sudo apt-get install default-jre
sudo apt-get install default-jdk
最后,当然是最重要的,你需要下载斯坦福分词器的相应⽂件,包括源代码,模型⽂件,词典⽂件等。注意斯坦福分词器并不仅仅⽀持中⽂分词,还⽀持阿拉伯语的分词,需要下载的zip打包⽂件是这个: Download Stanford Word Segmenter version 2014-08-27,下载后解压。
准备⼯作就绪后,我们⾸先考虑的是在nltk源代码⾥的什么地⽅来添加这个接⼝⽂件。在nltk源代码包下,
斯坦福词性标注器和命名实体识别⼯具的接⼝⽂件是这个:nltk/tag/stanford.py ,⽽句法分析器的接⼝⽂件是这个:nltk/parse/stanford.py , 虽然在nltk/tokenize/⽬录下有⼀个stanford.py⽂件,但是仅仅提供了⼀个针对英⽂的tokenizer⼯具PTBTokenizer的接⼝,没有针对斯坦福分词器的接⼝,于是我决定在nltk/tokenize下添加⼀个stanford_segmenter.py⽂件,作为nltk斯坦福中⽂分词器的接⼝⽂件。NLTK中的这些接⼝利⽤了Linux 下的管道(PIPE)机制和subprocess模块,这⾥直接贴源代码了,感兴趣的同学可以⾃⾏阅读:
继续阅读 →
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论