【问题标题】:Preserving only domain-specific keywords?仅保留特定于域的关键字?
【发布时间】:2011-12-20 16:13:18
【问题描述】:
我正在尝试为我的收藏中的特定类别的文档确定最流行的关键字。假设该领域是“计算机科学”(当然,包括网络、计算机体系结构等),从文本中保留这些领域特定关键字的最佳方法是什么?我尝试使用 Wordnet,但我不知道如何最好地使用它来提取这些信息。
考虑到我事先不知道所有特定于域的关键字,是否有任何众所周知的单词列表可以用作白名单?或者是否有任何好的 nlp/机器学习技术来识别特定领域的关键字?
【问题讨论】:
标签:
python
nlp
machine-learning
nltk
【解决方案1】:
我使用简约的语言模型(LMs、1、3)在类似任务上取得了一些成功;这些将特定于文档的术语与一般语料库术语分开。已知这些比 tf-idf 统计数据要强,但在拟合它们时需要设置参数。
你可以找到我的Python实现here;要使用它,请将每个主题的所有文档连接到一个文档中,然后从各种主题构建一个 ParsimoniousLM 并获取每个文档的 .top(K) 术语。
【解决方案2】:
您需要大量训练文档。该集合的小子集(但仍然是大量文档)应该代表给定的域。使用 nltk 计算考虑形态的单词统计信息,过滤掉停用词。好的统计数据是 TF*IDF,它大致是域子集中某个单词的出现次数除以整个集合中包含该单词的文档数。关键字是具有最大 TF*IDF 的词。