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

如何提取文本中使用的关键字?

如何解决《如何提取文本中使用的关键字?》经验,为你挑选了4个好方法。

如何通过数据挖掘一堆文本来获取关键字?("雅各布史密斯"或"围栏")

是否有软件可以做到这一点?甚至半自动,如果它可以过滤掉简单的单词,如"the","and","或",那么我可以更快地找到主题.



1> Joseph Turia..:

这是NLP中的一个悬而未决的问题,因此没有简单的答案.

我对快速而肮脏的"为我工作"的建议是topia.termextract.

雅虎有一个关键字提取服务(http://developer.yahoo.com/search/content/V1/termExtraction.html),它具有低召回率但高精度.换句话说,它为您提供了少量高质量的术语,但遗漏了文档中的许多术语.

在Python中,有topia.termextract(http://pypi.python.org/pypi/topia.termextract/).它相对嘈杂,并提出了许多虚假关键字,但它使用简单.

Termine(http://www.nactem.ac.uk/software/termine/)是一个英国的网络服务,也相对嘈杂,并提出了许多虚假的关键字.但是,在我看来,它比topia.termextract稍微准确一些.因人而异.

使用太多关键字(例如topia.termextract和termine)对结果进行去噪的一种方法是创建频繁出现的术语词汇表,然后抛弃不在词汇表中的提议术语.换句话说,对你的语料库进行两次传递:第一次传递,计算每个关键词的频率.在第二遍中,丢弃太罕见的关键字.

如果你想自己编写,也许最好的介绍是由现在在IBM的Park编写的:

"自动词汇表提取:超出术语识别",请访问http://portal.acm.org/citation.cfm?id=1072370

"IBM技术支持信息搜索和交付系统中的术语表提取和利用"

如果您想了解更多信息,请参阅以下参考资料:

http://en.wikipedia.org/wiki/Terminology_extraction

"CorePhrase:文档聚类的关键短语提取"

Liu et al 2009来自NAACL HLT

"自动识别非成分短语"

"数据挖掘遇到焦点发现"

除了许多其他参考资料,您还可以深入了解这一主题.



2> Gavin Miller..:

一般算法将如下所示:

- Obtain Text
- Strip punctuation, special characters, etc.
- Strip "simple" words
- Split on Spaces
- Loop Over Split Text
    - Add word to Array/HashTable/Etc if it doesn't exist;
       if it does, increment counter for that word

最终结果是文本中所有单词的频率计数.然后,您可以取这些值并除以总字数以获得频率的百分比.任何进一步的处理都取决于您.

你也想要研究Stemming.词干用于减少词根.例如going => go,cars => car

像这样的算法在垃圾邮件过滤器,关键字索引等中很常见.



3> Fabiano Fran..:

还有一项名为Alchemy的服务,可以进行术语提取,概念标记,情感分析等.

这是有效的,我测试了它,但我不知道他们的商业政策(如果有的话).它们为任何类型的语言提供API(非常).

我读到某处(对不起,我不记得哪里了)Alchemy给出的输出与Joseph提出的输出相比噪音更小.



4> ChristopheD..:

你没有指定你正在使用的技术,所以我猜一个shell脚本也是可能的.

Advanced Bash-Scripting Guide(12-11)中的频率分析示例一直给我留下了深刻印象

例如,下面从Gutenburg项目中取出一本书并写出一个词频率分析'报告':

wget http://www.gutenberg.org/files/20417/20417-8.txt -q -O- | 
sed -e 's/\.//g'  -e 's/\,//g' -e 's/ /\
/g' | tr 'A-Z' 'a-z' | sort | uniq -c | sort -nr > output.txt

应该是可扩展的,以排除"公共"列表中的单词(,和,...等)等.

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