如何从查询中提取有意义的关键字?

时间:2012-09-18 11:03:51

标签: nlp information-retrieval

我正在开发一个关于网络智能的项目,我必须建立一个接受用户查询并提取有意义关键字的系统。比如用户输入一个查询“How to do socket programming in Java”,然后我必须忽略"how", "to", "do", "in"并取"socket", "programming", "java"进行进一步处理和群集,例如套接字和编程是两个不同的有意义的关键字,但可以一起用作产生不同含义的关键字。我正在寻找像TF-IDF这样的算法来解决这个问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

您正在研究文本分析解决方案。

我只是为了这个目的而使用R,但是一种方法来看待它是你需要一个你认为没有意义的关键词的单词列表,这通常被称为“停用词”。您可以找到几乎所有流行语言的停用词的在线列表。执行此操作后,您可能需要获取几百个输入并计算每个关键字的频率(已删除停用词,以及标点符号并以小写形式显示所有文本)并尝试识别您认为的其他关键字无关紧要,并将它们添加到要删除的单词列表中。

在此之后,你可以探索很多选择;一个例子就是阻止每个单词的核心术语,以便“pages”和“page”被认为是相同的关键词。 (随着你的深入,你会在网上发现大量的东西来调整你的方法)

希望这有帮助。

相关问题