说我有句话:“约翰喜欢把他的宠物 lamb 带到他的 Lamborghini Huracan ,而不是他的 Lamborghini Gallardo ”我有一本包含“兰博基尼”,“兰博基尼盖拉多”和“兰博基尼Huracan”的字典。什么是提取大胆术语的好方法,实现术语“兰博基尼盖拉多”和“兰博基尼Huracan”作为短语匹配,以及其他部分匹配“兰博基尼”和“羔羊”?优先使用短语匹配单个关键字。
弹性搜索提供精确的术语匹配,匹配短语和部分匹配。确切的术语显然在这里不起作用,并且既不匹配短语,因为在这种情况下整个句子被认为是短语。如果我只在句子中使用了感兴趣的关键词,我认为部分匹配是合适的。通过以前的SO线程,我发现proximity for relevance看似相关,但不确定这是否是“最佳选择”,因为需要设置阈值。或者即使有比弹性搜索更简单/更好的替代方案(对于全文搜索而言似乎更多,而不是简单的关键字匹配到数据库)?
答案 0 :(得分:4)
听起来您希望使用受控词汇(您的行业术语和词组词典)从您的文档中执行关键词提取。
[上面用斜体字表示帮助您在SO和Google上找到相关答案]
这种级别的分析会使您从搜索堆栈中稍微进入自然语言处理堆栈。由于NLP往往是资源密集型的,因此它倾向于在索引时离线或在搜索应用程序的情况下进行。
要实现这一点,您需要:
要获得快速获胜工具来帮助您控制关键短语提取,请查看KEA(用java编写)。
(你也可以写自己的,但如果你也希望提取不受控制的关键短语(不在字典中),训练有素的提取器会更好地为你服务。More tools here。)