我正在努力为我的最后一年项目开发一个以音乐为重点的搜索引擎。我一直在研究潜在语义分析及其在互联网上的工作方式。我无法理解LSI在整个搜索引擎系统中的位置。 是否应该在网络抓取工具查找完网页后使用它?
答案 0 :(得分:1)
我对音乐检索知之甚少,但在文本检索中,LSA仅在搜索引擎利用信息检索的向量空间模型时才有意义。最常见的搜索引擎,例如Lucene,将每个文档分解为单词(标记),删除停用单词并将其余单词放入索引中,每个通常与术语权重相关联,指示其重要性文件中的术语。
现在,(令牌,权重)对的列表可以被视为表示文档的向量。如果将所有这些向量组合成一个巨大的矩阵并将LSA算法应用于此( 之后爬行和标记,但之前索引),则可以使用结果LSA算法在索引之前转换所有文档的向量。
请注意,在原始向量中,标记表示向量空间的维度。 LSA将为您提供一组新的维度,您必须对这些维度进行索引(例如以自动生成的整数形式)而不是标记。
此外,您还必须将查询转换为(标记,权重)对的向量,然后将基于LSA的变换应用于该向量。
我不确定是否有人在任何真实的文本检索引擎中实际完成所有这些操作。一个问题是在所有文档向量的矩阵上执行LSA算法会消耗大量时间和内存。另一个问题是处理更新,即添加新文档或现有文档发生更改时。理想情况下,您需要重新计算矩阵,重新运行LSA,然后修改所有现有的文档向量并重新生成整个索引。不完全可扩展。