词形还原

167 views
Skip to first unread message

Wei Song

unread,
May 16, 2013, 3:29:41 AM5/16/13
to pon...@googlegroups.com
现在我想统计出语料库中词汇表和单词相应的索引,需要去掉停用词和词干提取(stemming),我用的是lucene完成的这两个功能,但是我发现原来词干提取后的单词并不是通常遇到的单词,比如large经过stemming后就变成了larg,但是我想要的结果是large。后来发现还有一个技术叫词形还原(lemmatization),这两者还是有区别的,词形还原后的结果才是我们见到的单词!我发现lucene貌似没有提供这个功能,我想请教一下有什么类库可以实现词形还原,另外效果怎么样,我在一篇论文中看到说python 的nltk效果比较差,见下图
内嵌图片 1
不知道有没有人有过这方面的经验,给点建议。
另外,我统计出来是用于plsa(probablistic latent semantic analysis),stemming是不是就已经足够了,lemmatization还有没有必要,
多谢了
image.png

yinfei yang

unread,
May 16, 2013, 9:53:49 PM5/16/13
to pon...@googlegroups.com
我用过standford CoreNLP 取lemma, 
当黑盒用的, 没认真测试过, 
但是在我的project里够了. 


2013/5/16 Wei Song <ningy...@gmail.com>

--
 
---
您收到此邮件是因为您订阅了 Google 网上论坛的“TopLanguage”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 pongba+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Best regards!

Yinfei Yang 
image.png

rockeet febird

unread,
May 17, 2013, 4:45:51 AM5/17/13
to pon...@googlegroups.com
这是语言学问题,不是编程问题

在 2013年5月16日星期四UTC+8下午3时29分41秒,wei song写道:

Wei Song

unread,
May 16, 2013, 10:09:31 PM5/16/13
to pon...@googlegroups.com
我刚用一个文档测试了一下,效果好像还可以,就是好像会遇到out of memory的错误,这还只是一个文档,不知道待会用整个数据集测试会怎么样,你遇到过没
image.png

yinfei yang

unread,
May 17, 2013, 11:39:55 AM5/17/13
to pon...@googlegroups.com
我简单看了下stemming和lemmatization的区别, 
如果你需要context 信息的话lemmatization应该更适合你一些。 
普通plsa应该两个都可以, performance最后有没有区别不知道。 
期待你回头报一下结果。 

我没有过out of memory的情况。 
你的运行环境如何, 
如果你用的eclipse的话可以参考下面这个链接

terminal下的话试下运行时配置下参数: xms, xmx



2013/5/16 Wei Song <ningy...@gmail.com>
image.png

Earthson Lu

unread,
May 17, 2013, 1:57:29 PM5/17/13
to pon...@googlegroups.com
至少LDA你即便不做处理也不会有什么问题,pLSA也是类似的应该。

因为主题会自动的把同义词和近义词纳入的,其实看过结果就明白了,结果是很令人吃惊的说。

当然,做下还原什么的,可以减少term数量。不过至少采用Gibbs Sampling采样的LDA对term数量不明白,像Gibbs Sampling的采样速度主要由所有文本的词总数和主题数决定的。


2013/5/17 yinfei yang <yang...@gmail.com>



--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Perfection is achieved 
not when there is nothing more to add
 but when there is nothing left to take away
image.png

Earthson Lu

unread,
May 17, 2013, 2:02:23 PM5/17/13
to pon...@googlegroups.com
笔误了。

不过至少采用Gibbs Sampling采样的LDA对term数量不明白->不敏感


2013/5/18 Earthson Lu <earth...@gmail.com>
image.png

yinfei yang

unread,
May 20, 2013, 12:39:58 AM5/20/13
to pon...@googlegroups.com
看了下LDA,
他可以对term数量不敏感, 但是看模型词形还原之后会对每个topic下面vocabulary 的分布有影响, 
因为还原之后对原来多个term的prob可以归并到同一个。
但是总体上对topic的归纳应该没有影响

不知道我理解的对不对 ?

另外LDA原始论文(blei ect. 03) 里面approximation那段我不是很了解, 
请教下他是怎么把原来graph简化成只有两个依赖关系的graph的 ?




2013/5/17 Earthson Lu <earth...@gmail.com>
image.png

Earthson Lu

unread,
May 20, 2013, 3:15:59 AM5/20/13
to pon...@googlegroups.com
原始论文的approximation我也不是太清楚,我看的是Gibbs Sampling做的参数估计,相对比较简单一些。Gregor Heinrich有一篇Parameter estimation for text analysis挺不错的,深入浅出。

对总体上的topic归纳确实应该没有太大影响,因为LDA能够发现相近的语义。而且,有些预处理什么的,也没有证据说它能比LDA做得更好。至于是先词形还原(或者类似的预处理)更好一些,还是直接跑LDA更合适一些,这就不得而知了,不过个人倾向于怎么简单就怎么来。考虑到pLSA是LDA某个形式的“特例”,我觉得这些讨论对pLSA也应该适用吧。

下面是两个典型主题中比例top 10的term(数据BioMed)

distance distances euclidean closer measure calculate computed larger away along
probabilities conditional marginal estimated estimator random parameters priors corresponding alternative


2013/5/20 yinfei yang <yang...@gmail.com>
image.png

Wei Song

unread,
May 20, 2013, 3:49:23 AM5/20/13
to pon...@googlegroups.com
我觉得影响应该也不大,但是使用词干提取或词形还原避免像上面的distance和distances这种情况,至少视觉上看起来更舒服,下面是我在一个数据集上提取出来的一个主题,用的LDA
japanese force ship air battle guadalcanal ships british attack forces
出现了两对单复数的情形。
我刚开始实现词形还原时就是因为看着词干提取后的根本就不是单词,看着不爽,所以后来用词形还原。
另外,我看的也是Parameter estimation for text analysis,gibbs 抽样理解和实现更简单些,原文用的variational inference更难一些,不过还是值得专研一下
image.png
Reply all
Reply to author
Forward
0 new messages