信息检索-如何处理将单个单词分解成多个标记的搜索查询

问题描述 投票:0回答:1

我只是信息检索的初学者。

我正在解决一个用户在键入单词时错误地在字符之间添加空格或将两个单词合并为一个单词的问题,由于简单的反向索引查找,该问题目前无法处理。

让我对以下文件进行索引索引:

  1. 杰克和吉尔是好朋友。
  2. 杰克去了阿拉斯加。
  3. 吉尔住在纽约。

现在具有反向索引意味着像将newyork分别索引为单独的令牌一样(假设仅作为示例,没有使用NLP将New York标记为Location)]]

token    count    location
jack      2          1,2
jill      2          1,2
new       1           3
york      1           3
alaska    1           4

现在查询jack

,我将获得位置1,2,这很好。

但是对于查询newyork

(假设查询没有空间),我如何从具有位置3(组合)的索引中获取纽约

还有一个查询ala ska

(带空格),我如何分别检索令牌alaska(索引中没有空格)。

我遗漏的任何建议或任何特定算法。

我只是信息检索的初学者。

谢谢您的帮助。

我正在考虑将每个查询令牌分解为字符-语法组合,最后将它们合并以找出最常见的令牌。

例如查询纽约

找到直到n个极限的所有标记,从n开始,然后是ne ....然后是新的...。然后是newy ....等,类似ne..ew.wy..yo ..or..rk ...,

合并数组后最终将在某个位置得到new

york

与查询ala ska

类似(用空格将单词打断)

我只是信息检索的初学者。我正在寻求解决一个问题,即用户在输入单词时错误地在字符之间添加了一个空格,或者将两个单词合并为一个单词,从...

elasticsearch search lucene information-retrieval
1个回答
0
投票
也许类似的方法对您有用:
© www.soinside.com 2019 - 2024. All rights reserved.