目录
1. 传统的向量检索方法,使用整个文档检索,为什么不行?
2.句子滑动窗口检索(Sentence Window Retrieval)工作原理
3.句子滑动窗口检索(Sentence Window Retrieval)的优点
1. 传统的向量检索方法,使用整个文档检索,为什么不行?
在传统的向量检索方法中,我们将整个文档作为单个文本块进行索引和检索。但这可能会导致一些问题:
-
上下文丢失:对于较长的文档,将整个文档作为一个向量可能会导致上下文信息的丢失。因为不同部分的内容可能涉及不同的主题或语境。
-
检索粒度较粗:检索到的是整个文档,而不是具体与查询相关的片段。这可能会给生成模块带来额外的负担,因为它需要从较长的文本中识别出真正相关的部分。
2.句子滑动窗口检索(Sentence Window Retrieval)工作原理
引入句子滑动窗口检索(Sentence Window Retrieval)可以解决这些问题。其工作原理是:
-
将文档分割成多个滑动的段落窗口(overlapping sentence windows),每个窗口包含几个连续的句子。
-
为每个句子窗口创建向量嵌入,并将它们索引到向量数据库中。
-
在查询时,首先检索与查询最相关的句子窗口,而不是整个文档。
-
将这些相关句子窗口作为上下文,送入生成模型进行问答。
3.句子滑动窗口检索(Sentence Window Retrieval)的优点
-
上下文保留:句子窗口能够较好地保留局部语义和上下文信息。
-
更精确的检索:检索的是与查询更加相关的文本片段,而不是整个文档。这有助于提高检索的准确性。
-
降低生成负担:生成模型只需关注较短的相关片段,而不是处理整个长文档,从而降低了计算开销。