我已经在Calculating Word Proximity in an reverse Index 中提出了类似的问题。但是我觉得这个问题太笼统了,不够精致。所以这里。
我有一个列表,其中包含文档中标记的位置。对于每个令牌,它都是
public List<int> hitLocation;
可以说文件是
Java programming language has a name similar to java island in Indonesia however
local language in java bears no resemblance to the programming language called java.
查询是
java island language
所以假设我锁定 Java HitList 并尝试直接计算 Java HisList、Island HitList 和 Language Hitlist 之间的距离。
现在第一个问题是句子中出现了 4 个 java 标记。我选择哪一个。假设我选择第一个。
我进入 island 令牌列表,比较后发现它与第二次出现的 java.lang. 所以我改变了我的选择并锁定了第二次出现的java。
继续第三种标记语言,我发现它与我们的选择相距很远,但我发现它离第一个 java 出现很近。
因此,如果现在再次恢复到原始选择,即 java 的第一次出现,到第二个标记“岛”的距离增加,并且如果我保持当前选择,那么第二次出现的标记“语言”的绝对距离就会增加。 " 将使相关性破坏。
以前有过点积的建议,但是我不知道如何继续使用该选项。
任何其他解决方案也将受到欢迎。
我知道这个问题很详细。但是,我已经进行了漫长而艰苦的搜索,但在这个主题上没有发现任何这样的问题。
我觉得如果这个问题得到了回答,这将是对社区的一个很好的补充,并且会让任何设计与相关性相关的东西的人都非常高兴。
谢谢你。