仅保留特定于域的关键字?

时间:2011-11-02 20:27:14

标签: python nlp machine-learning nltk

我正在尝试确定我的收藏中某些类别文档最受欢迎的关键字。假设域是“计算机科学”(当然,包括网络,计算机体系结构等),从文本中保留这些特定于域的关键字的最佳方法是什么?我尝试使用Wordnet,但我不太清楚如何最好地使用它来提取这些信息。

考虑到事先我不了解所有特定于域的关键字这一事实,我是否可以使用任何众所周知的单词列表作为白名单?或者是否有任何良好的nlp /机器学习技术来识别特定领域的关键字?

2 个答案:

答案 0 :(得分:6)

您需要大量的培训文档。此集合的小子集(但仍然是大型文档集)应代表给定的域。使用nltk计算单词统计数据,考虑形态,过滤掉停用词。好的统计数据是TF * IDF,其大致是域子集中单词的多个事件除以包含整个集合中的单词的文档的数量。关键字是TF * IDF最大的单词。

答案 1 :(得分:3)

我使用简约语言模型(LMs,13)在类似任务上取得了一些成功;这些单独的文档特定术语来自一般语料库术语。已知这些比tf-idf统计更强,但需要在拟合时设置参数。

你可以找到我的Python实现here;要使用它,将每个主题的所有文档连接到一个文档中,然后从各种主题构建ParsimoniousLM并获取每个文档的.top(K)个术语。