【发布时间】:2017-11-20 04:46:58
【问题描述】:
我最近对 NLP 很感兴趣,想建立一个搜索引擎来进行产品推荐。 (其实我一直在想 Google/Amazon 的搜索引擎是怎么建立起来的)
以亚马逊产品为例,在这里我可以访问关于一个产品的所有“单词”信息:
Product_Name Description ReviewText
"XXX brand" "Pain relief" "This is super effective"
通过应用nltk 和gensim 包,我可以轻松比较不同产品的相似性并提出建议。
但还有一个我觉得很模糊的问题: 如何为此类产品建立搜索引擎?
例如,如果我感到疼痛,想在网上搜索药物,我想输入"pain relief"或"pain",搜索结果应该包括"XXX brand"。
所以这听起来更像是关键字提取/标记问题?在 NLP 中应该如何做到这一点?我知道 corpus 应该包含 all 但 单个 单词,所以就像:
["XXX brand" : ("pain", 1),("relief", 1)]
因此,如果我输入"pain" 或"relief",我可以得到"XXX brand";但是我搜索了"pain relief"呢?
我可以想出在我的javascript中直接调用python来计算基于浏览器的服务器上输入词"pain relief"的相似度并提出推荐的想法;但这是可行的吗?
我还是喜欢在后端建立非常大的关键字列表,存储在数据集/数据库中,并直接在搜索引擎的网页中可视化。
谢谢!
【问题讨论】:
-
我认为您正在寻找的是对信息检索 (IR) 的介绍。问答(QA)可能有点过头了。即使使用不同的措辞(同义词),关于特定止痛药的文档也很可能会大量谈论缓解疼痛,因此查询“缓解疼痛”也应该如此。
标签: nlp nltk search-engine gensim corpus