Search 改进搜索引擎

Search 改进搜索引擎,search,search-engine,heuristics,Search,Search Engine,Heuristics,我在做一个搜索引擎。在大多数情况下,我只是使用Appache的Lucene,到目前为止它工作得很好,但我还想通过在搜索中建立良好的“启发式”来改进搜索结果。(例如,如果有人搜索“沙发”,而我将所有沙发分类为“沙发”类型,我希望搜索算法能够建立连接。) 我知道这听起来有点模糊,但我不知道在这项研究中,在哪里继续寻找进一步的阅读。(我在谷歌上搜索了“启发式搜索”、“启发式函数”等术语,但它们指的不是我所指的东西。)所以,我想知道你们中是否有人在搜索引擎中处理过类似的问题,以及你们是否愿意推荐任何东西

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

我知道这听起来有点模糊,但我不知道在这项研究中,在哪里继续寻找进一步的阅读。(我在谷歌上搜索了“启发式搜索”、“启发式函数”等术语,但它们指的不是我所指的东西。)所以,我想知道你们中是否有人在搜索引擎中处理过类似的问题,以及你们是否愿意推荐任何东西。

其中一个“快速n”脏在我脑海中突然出现的hack可以是实现一个在上下文中保持相似性的字典。e、 g.使沙发和沙发组相似。或者更好的方法是建立一个方形矩阵来保存每个词对的“相似性分数”。下面是关于我的意思的随机矩阵:

        couch   sofa   chair
couch |  100  |   95 |   75  |
sofa  |   95  |  100 |   65  |
chair |   75  |   65 |  100  |

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

我必须为我的人工智能课程构建类似的内容。我构建了一个网络爬虫,它可以关联与您希望做的事情类似的同义词。当用户搜索诸如“coach”之类的术语时,我抓取了coach的所有同义词,并将它们存储在数据库中,并引用原始单词。当引擎再次运行并搜索“沙发”时,应用程序将再次获取“沙发”的同义词(沙发的同义词)。然后,您应该能够匹配该关联


有很多免费的api可以获得一个单词的同义词。尝试将您的谷歌搜索更改为特定主题的网络爬虫或特定主题的搜索引擎。您将获得更好的结果

感谢tkcsam的帮助。这回答了我的问题。如果我知道如何将问题标记为已解决,在这种情况下我肯定会这样做!好主意,奥斯曼!这听起来有点沉重,我想做的事,但它给了我伟大的想法,谢谢!