当前位置:  开发笔记 > 编程语言 > 正文

用于文本分析的算法或库,特别是:主导词,跨文本的短语和文本的集合

如何解决《用于文本分析的算法或库,特别是:主导词,跨文本的短语和文本的集合》经验,为你挑选了2个好方法。

我正在开展一个项目,我需要分析一个文本页面和文本页面集合以确定主导词汇.我想知道是否有一个库(更喜欢c#或java)来处理繁重的工作.如果没有,是否有一个算法或多个可以实现我的目标.

我想要做的是类似于你在网上找到的url或rss feed构建的单词云,除了我不想要可视化.他们一直用于分析总统候选人的演讲,看看主题或最常用词是什么.

复杂的是,我需要在成千上万的短文档,然后是这些文档的集合或类别上执行此操作.

我最初的计划是解析文档,然后过滤常用词 - ,他,她等等.然后计算剩余词出现在文本中的次数(以及整个集合/类别).

问题是,在将来,我想处理词干,复数形式等.我还想看看是否有办法识别重要的短语.(而不是一个单词的计数,短语的计数一起是2-3个单词)

有关策略,库或算法的任何指导都会有所帮助.



1> Robert Elwel..:

您正在做的一个选项是反向文档频率的术语频率,或tf-idf.在此计算中,最强的术语将具有最高权重.检查是否在这里:http://en.wikipedia.org/wiki/Tf-idf

另一种选择是使用类似于朴素贝叶斯分类器的东西,使用单词作为特征,并找到文本中最强大的特征来确定文档的类.这将与最大熵分类器类似地起作用.

至于要做到这一点的工具,最好的工具就是NLTK,这是​​一个包含大量文档和教程的Python库:http://nltk.sourceforge.net/

对于Java,请尝试OpenNLP:http://opennlp.sourceforge.net/

对于短语的东西,考虑我提供的第二个选项,使用bigrams和trigrams作为功能,甚至作为tf-idf中的术语.

祝好运!



2> Gregg Lind..:

添加到Robert Elwell的答案中:

阻止和折叠单词形式.英语中的一种简单方法是在较低的词形上使用Porter Stemming.

"常用词"的术语是"停用词"或"停止列表"

阅读建议书中的NLTK书将很好地解释很多这些介绍性问题.

你必须解决的一些问题是解析句子(这样你的双字母和n-gram短语不会越过句子边界),将句子分成标记,以及决定如何处理占有形式.

这些东西都不是明确的,也没有任何"正确答案".另请参阅"nlp"和"自然语言"SO标记.

祝好运!这是一个非平凡的项目.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有