码迷,mamicode.com
首页 > 其他好文 > 详细

stanford-segmenter一个简单例子

时间:2015-07-01 10:00:10      阅读:888      评论:0      收藏:0      [点我收藏+]

标签:斯坦福大学   nlp   分词   

1.简介

stanford分词目前支持 Arabic 和 Chinese。它的原理是基于CRFs, CRFs分词的原理不难懂,就是把分词当作另一种形式的命名实体识别,利用特征建立概率图模型后,用Veterbi算法求最短路径。stanford nlp提供了源码demo,目前的版本是3.5.2

下载地址:http://nlp.stanford.edu/software/segmenter.shtml

2.例子

step1: 新建project,将下载的stanford-segmenter-2015-04-20.zip解压,把解压后的arabic,data文件夹以及3个jar包和test.simp.utf8都复制到新建的project的根目录下,把SegDemo.java放到src源代码目录下。(注意:JDK需要1.8)如下图所示:

技术分享



step2: 打开页面SegDemo,看一下源代码,如下图所示:

技术分享


在当前页面Run As -> Run Configurations,在VM arguments中写入参数,由于Stanford-Sementer占用的内存比较大,所以需要设置VM arguments,不然就会超内存。如下图所示:

技术分享

然后可以运行了,运行的结果如下图所示:

技术分享


说明:这个运行结果对应的源语料是直接在源程序中写的一句话,当然我们也可以把需要分词的源语料作为参数文件传入,即project中在step1中添加的test.simp.utf8文件,使用test.simp.utf8文件的过程如下图所示:

技术分享

重新运行结果如下:

技术分享


注:我使用的是myecliple,当时在控制台输出中文时显示乱码,因此需要改一下编码方式,如下图所示:

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

stanford-segmenter一个简单例子

标签:斯坦福大学   nlp   分词   

原文地址:http://blog.csdn.net/zl19890124/article/details/46706273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!