研究生课程:现代信息检索-第14讲 面向信息检索的分布式词项表示
《现代信息检索》课程笔记:第14讲 面向信息检索的分布式词项表示
第14讲 面向信息检索的分布式词项表示
怎样更鲁棒的匹配用户搜索意图?
查询扩展/Query expansion:
- 相关反馈/Relevance feedback 能够通过向查询中添加扩展词,从而对捕捉用户搜索意图有所帮助
- 也可以利用 词项相似度/word similarities 信息:
- 基于人工 同义词表/thesaurus of synonyms 的查询扩展
- 词项相似度指标
- 基于大规模文档语料计算
- 基于查询日志挖掘(Web上的常见做法)计算
文档扩展/Document expansion:
使用锚文本/anchor text可以通过提供人工创作的同义词(即锚文本)来解决此问题,但不适用于新的或不太受欢迎的网页(注:链接稀疏,锚文本少)或无超链接的语料
基于查询日志的查询扩展
不考虑上下文语境的查询扩展可能会导致问题
从查询日志学习考虑上下文语境的查询重写:识别同一用户基于同一信息需求的多次查询请求
自动同义词库生成
- 尝试通过分析文档集来自动生成同义词库
- 基本概念:两个词之间的相似性
- 假设1:如果两个单词与相似单词同时出现,则它们是相似的。
- 假设2:如果两个单词与同一个词在给定的语法关系中出现,则它们是相似的。
- 基于共现的相似度更鲁棒,基于语法关系的相似度更准确。
表示词项之间的关系
使用词项的标准符号编码,每个词项都是一个维度
不同的词项没有内在的相似性
基于分布式相似度的表示:用相邻词项的意义来表示一个词项
解决方案:低维向量
基本思想: 将“大部分的”重要信息存储在一个维度固定的低维向量中 - 即“密集向量”
传统方法:潜在语义索引/分析
使用奇异值分解(Singular Value Decomposition,SVD)–或只是随机映射(random projection)以找到低维基向量或正交向量
神经嵌入
词项的意义由向量表示:为每个词类构建一个密集向量,该向量应当能够准确的预测其上下文词项
学习神经词嵌入:基本思路
- 定义一个向量表示的模型,该模型预测一个中心词 wt 的 上下文词(或者反过来)
- 同时也有一个损失函数
- 不断调整(所有词的)向量表示使得损失最小化
- 最终得到每个词的低维密集向量表示
思路:直接基于预测能力学习低维词向量
Word2Vec包含一组算法预测每个词的上下文(或者反过来)
神经网络的优化:(求导的)链式法则
Word2vec里的线性关系
Word2vec的向量表示非常善于对相似性和相似性的维度编码!
仅通过在嵌入空间中进行向量减法就可以很好地解决类比测试相似度的问题
Dual Embedding Space Model (DESM)
一种简单的利用词嵌入的检索模型
文档由其词项嵌入的中心向量表示
查询-文档相似度:查询词向量与文档向量的平均相似度
DESM 是一个弱排序模型,但是具有发现微妙相似性/关联性的能力