|
9 | 9 | 4. **理论边界探索**:Meta论文对嵌入模型根本限制的分析 |
10 | 10 | 5. **实践与应用**:( o=^•ェ•)o🍚 |
11 | 11 |
|
12 | | -关于更多的基础知识(比如BERT),强烈推荐去看宋博大佬的[Happy-LLM教程](https://datawhalechina.github.io/happy-llm/#/./chapter1/%E7%AC%AC%E4%B8%80%E7%AB%A0%20NLP%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5),建议你看完这个hayyp-llm以及FusionANNS后再来看现在的这篇文章。 |
| 12 | +关于更多的基础知识(比如BERT),强烈推荐去看宋博大佬的[Happy-LLM教程](https://datawhalechina.github.io/happy-llm/#/./chapter1/%E7%AC%AC%E4%B8%80%E7%AB%A0%20NLP%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5),建议你看完这个happy-llm以及FusionANNS后再来看现在的这篇文章。 |
13 | 13 |
|
14 | 14 | ## 向量数据库:从"数据存储"到"语义理解"的范式跃迁 |
15 | 15 |
|
@@ -75,7 +75,6 @@ TF-IDF的计算通常由两个主要部分构成: |
75 | 75 | TF(猫, d) = \frac{5}{1000} = 0.005 |
76 | 76 | $$ |
77 | 77 |
|
78 | | - 那么TF值为:5/1000=0.005, |
79 | 78 |
|
80 | 79 | **对数词频缩放** |
81 | 80 | 另一种常见的处理方式是对词频取对数,以减缓词频增长带来的权重增加。这意味着词语出现次数从10次到20次的影响,要比从1次到10次的影响小。 |
|
108 | 107 | TF-IDF巧妙地平衡了“局部重要性”和“全局稀有性”,使其在信息检索和文本挖掘领域具有广泛的应用价值: |
109 | 108 |
|
110 | 109 | * **惩罚常见词**:像“的”、“是”这样的高频词在许多文档中都会出现,它们的DF值会非常高,导致IDF值接近于零,也就是非常小。因此即使这些词的TF很高,其最终的TF-IDF值也会很低,从而被有效的降权,这使得算法可以忽略这些词对文档的贡献,专注于那些更具信息量的词,比如说上文提到的“量子纠缠”。 |
111 | | -* **突出关键词**:那些在当前文档中频繁出现(高TF),但在整个文档集合中相对稀有(高IDF)的词会得到最高的TF-IDF分数,这些次雨往往是关键词,它们往往代表文档的主题或内容。例如,在一篇关于“量子计算”的论文中,“量子计算”的TF会很高,同时由于它不是所有文档都常见的词,IDF也会相对较高,最终导致TF-IDF值很高。 |
| 110 | +* **突出关键词**:那些在当前文档中频繁出现(高TF),但在整个文档集合中相对稀有(高IDF)的词会得到最高的TF-IDF分数,这些词语往往是关键词,它们往往代表文档的主题或内容。例如,在一篇关于“量子计算”的论文中,“量子计算”的TF会很高,同时由于它不是所有文档都常见的词,IDF也会相对较高,最终导致TF-IDF值很高。 |
112 | 111 | * **提供可解释性**:每个词的重要性都有明确的数学依据和直观的解释。我们可以清楚地看到一个词为什么重要(因为它在这篇文章里多,在所有文章里少),这使得TF-IDF模型的结果比一些“黑箱”模型更容易理解和验证。 |
113 | 112 | * **基石作用**:用户输入查询词时,搜索引擎会计算查询词与每个文档的TF-IDF相似度。通常,这通过计算查询词向量和文档词向量的余弦相似度来实现,其中向量的每个维度代表一个词语的TF-IDF值。余弦相似度可以衡量两个向量方向的相似性,从而判断查询与文档内容的匹配程度。然后,系统会按相关性排序,将最匹配的文档呈现给用户。 |
114 | 113 |
|
@@ -216,7 +215,7 @@ BM25和Milvus的混合搜索是工程实战中企业最可能选择并且效益 |
216 | 215 |
|
217 | 216 | BM25是一种经典的文本相关性评分算法,广泛应用于信息检索系统中,它是TF-IDF的改进版本,并且具有以下优势: |
218 | 217 | * **词频饱和:** 词频增长到一定程度后对分数的贡献递减,避免高频词汇过度影响结果 |
219 | | -* **文档长度归一化:** 避免长文档应为包含更多关键词而获得不公平的高分 |
| 218 | +* **文档长度归一化:** 避免长文档因为包含更多关键词而获得不公平的高分 |
220 | 219 | * **参数可调:** 通过k1和b参数调节算法行为 |
221 | 220 |
|
222 | 221 | **2. BM25在搜索中的作用** |
@@ -556,15 +555,15 @@ splade 代码实践[点这里](./code/colBert/zzmilvus.ipynb) |
556 | 555 | ### 问题背景 |
557 | 556 | 对于用户查询的向量嵌入问题,需要召回相关文档内容,尽管先前的研究指出了向量嵌入的理论局限性,但人们普遍认为这些困难是由于用户的不切实际的查询请求导致的,而对于那些切实的查询请求,通过更好的训练数据和更大的模型就能克服困难。这篇论文证明了在现实场景中,即便是极其简单的查询,也会遇到局限性,即:证明了对于给定的嵌入维度d,存在无法返回前k个文档组合————无论查询是什么,为了证明这一理论极限适用于任何检索模型或训练数据集,论文作者测试了一种场景:向量本身直接通过测试数据进行优化。这使我们能够通过实验证明嵌入维度如何助力解决检索任务。作者发现,对于每个嵌入维度\((d)\),**都存在一个关键点,超过该点后,文档数量过多,导致嵌入维度无法对所有组合进行编码**。随后,我们收集了不同维度d下的这些关键点,并证明这种关系可以通过多项式函数进行经验建模。 |
558 | 557 |
|
559 | | -总结:虽然先前的一些研究已经指出了向量嵌入的一些理论限制,但通常假设这些困难仅仅来源于不切实际的用户查询问题,或者可以通过更好的训练数据集和更大参数量的模型来客服。这篇论文的动机就是挑战这一假设,并证明即使在现实且简单的查询设置中,这些理论限制也可能出现。 |
| 558 | +总结:虽然先前的一些研究已经指出了向量嵌入的一些理论限制,但通常假设这些困难仅仅来源于不切实际的用户查询问题,或者可以通过更好的训练数据集和更大参数量的模型来克服。这篇论文的动机就是挑战这一假设,并证明即使在现实且简单的查询设置中,这些理论限制也可能出现。 |
560 | 559 | ### 方法 |
561 | 560 | 在数学层面上,对于上面提到的问题进行一个证明: |
562 | 561 |
|
563 | 562 | 参考论文3.3结论部分,简单的来说,3.3节提到的结论是关于向量嵌入模型表示能力的根本限制。它指出了: |
564 | 563 | * **存在无法被d维嵌入捕获的检索任务**:对于任何固定的嵌入维度d,总会存在一些二进制相关性矩阵(你可以理解为一种用户的检索任务),是无法被d维嵌入模型精确表示的。这意味着,有些检索任务的难度太高,需要更高的嵌入维度才能被识别。 |
565 | 564 |
|
566 | 565 | * **高签秩的检索任务更难**:检索任务的相关性矩阵如果具有较高的签秩,那么对于嵌入模型来说,他就更难被精确捕获,应为它需要更高的维度。 |
567 | | -* **签秩是衡量任务难度的指标**:签秩为我们提供了一个衡量检索任务的难度的理论机制。我们可以通过优化自由嵌入表示的梯度下降方法,为矩阵的签秩确定一个上线。 |
| 566 | +* **签秩是衡量任务难度的指标**:签秩为我们提供了一个衡量检索任务的难度的理论机制。我们可以通过优化自由嵌入表示的梯度下降方法,为矩阵的签秩确定一个上限。 |
568 | 567 |
|
569 | 568 | #### 用一个比喻来理解 |
570 | 569 | * **嵌入维度**: 就像你拥有的乐高积木的种类和数量 |
|
0 commit comments