我正在做一个关于网络智能的项目,在这个项目中我必须构建一个接受用户查询并提取有意义的关键字的系统。比如说用户输入一个查询“ How to do socket programming in Java
”,那么我必须忽略"how", "to", "do", "in"
并采取"socket", "programming", "java"
进一步的处理和聚类,例如套接字和编程是两个不同的有意义的关键字,但可以一起用作产生不同含义的关键字。我正在寻找一些算法TF-IDF
来解决这个问题。任何帮助将不胜感激。
问问题
1500 次
1 回答
3
好吧,您正在研究文本分析解决方案。
我仅将 R 用于此目的,但查看它的一种方法是您需要一个您认为没有意义的关键字的单词列表,这通常称为“停用词”。您可以找到几乎所有流行语言的停用词在线列表。完成此操作后,您可能想要获得几百个输入并计算那里每个关键字的频率(已经删除了停用词,以及标点符号并将所有文本都设为小写)并尝试识别您认为的其他关键字不相关并将它们添加到您要删除的单词列表中。
在此之后,您可以探索大量选项;一个例子是词干提取,它获取每个单词的核心术语,以便将“pages”和“page”视为相同的关键字。(随着你的深入,你会在网上找到大量的东西来微调你的方法)
希望这可以帮助。
于 2012-09-18T11:25:46.080 回答