首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改进搜索引擎

改进搜索引擎
EN

Stack Overflow用户
提问于 2011-12-29 08:02:18
回答 2查看 109关注 0票数 2

我在做一个搜索引擎。在大多数情况下,我只是简单地使用Appache的Lucene,到目前为止,它工作得很好,但我也想通过在搜索中建立良好的“启发式”来改善搜索结果。(例如,如果有人搜索“沙发”,而我将所有的沙发都归类为“沙发”类型,我希望搜索算法建立连接。)

我知道这听起来有点含糊,但我不知道在这项研究中哪里可以继续寻找进一步的阅读。(我在谷歌上搜索了“启发式搜索”、“启发式函数”等术语,但它们指的不是我。)所以,我想知道你们中是否有人在搜索引擎中解决类似的问题,以及你们是否有什么建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-29 08:21:02

我不得不为我的人工智能课程构建类似的东西。我建立了一个网络爬虫,关联单词的同义词,类似于你想做的事情。当用户搜索诸如“couch”之类的术语时,我抓取了couch的所有同义词,并将它们存储在数据库中,并引用了原始单词。当引擎再次运行并搜索“sofa”时,应用程序将再次获取“sofa”的同义词(这是couch的同义词)。然后,您应该能够匹配该关联。

有很多免费的api可以获取单词的同义词。试着把你的google搜索改成特定主题的网络爬虫,或者特定主题的搜索引擎。你会得到更好的结果

票数 1
EN

Stack Overflow用户

发布于 2011-12-29 08:16:12

在我脑海中浮现的一个“快速而肮脏”的技巧就是实现一个在上下文中具有相似性的字典。例如,使沙发和沙发组相似。或者更好的方法是建立一个方阵来保存每个单词对的“相似度分数”。下面是关于我的意思的随机矩阵:

代码语言:javascript
复制
        couch   sofa   chair
couch |  100  |   95 |   75  |
sofa  |   95  |  100 |   65  |
chair |   75  |   65 |  100  |

另一种方法可以是通过用户选择自适应地更新该矩阵。例如,如果用户搜索沙发,然后单击椅子,那么您可以将沙发椅分数增加一个定义的阈值(当然,您还应该在每次更新后重新规范化所有分数)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8662700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档