过滤掉搜索查询的常用词
是否有任何简单的方法可以通过提取查询中有意义的数据来实现过滤用户的输入(可能是问题)?
我基本上想过滤掉任何干扰词,这样我就可以向 Google 的搜索 api 发送“干净”的查询。
Are there any easy ways to implement filtering a user's input (possibly a question) by extracting the meaningful data in the query?
I basically want to filter out any noise words so I can send a 'clean' query to Google's search api.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
嗯,谷歌不会为你做这个吗? 把所有那些脏话发给谷歌,让他们帮你清理掉。
Um, won't Google do this for you? Send all those dirty, filthy words to Google and let them clean them up for you.
Jeff 在之前的一个 stackoverflow 播客中谈到了“停用词”。 您可以尝试在谷歌上搜索该短语。 维基百科页面似乎有一些概述和指向选项的指针。
http://en.wikipedia.org/wiki/Stop_words
Jeff talked about "stop words" in one of the previous stackoverflow podcasts. You might try searching for that phrase on google. The wikipedia page seems to have some overview and pointers to options.
http://en.wikipedia.org/wiki/Stop_words
您可以尝试删除前 X 个最常见的英语单词,但这样的幼稚方法总是会遇到麻烦。
这是因为常见的英语单词在计算机科学领域(或其他领域)可能具有特殊意义。 最近的 SO 播客 (#32) 提到了这个问题。
You can try removing the top X most common English words, but you will always run into trouble with a naive approach like this.
This is because common English words can have special significance in the realm of Computer Science (or other areas). A recent SO podcast (#32) mentions this very issue.
我在实现基本搜索引擎时使用了停用词方法,效果很好。
尝试使用此处这样的示例列表
(基于以下反馈)您的用户,您可以相应地修改您的停用词列表。
I used the stop words approach when implementing a basic search engine and it worked fine.
Try a sample list like the one here
Based on feedback from your users, you can modify your stop word list accordingly.