自然语言处理中的文本嵌入与作者分析
1. 文本嵌入的拓展
嵌入并不局限于单词层面,我们可以对更大的语言单元进行嵌入(向量化),比如句子、段落甚至整个文档,这里我们将这些都统称为文档。
进行文档嵌入的原因在于其有一些实用的应用场景,例如问题与答案的匹配,或者文档检索(为输入文档查找相似文档)。通过用向量表示文档,我们可以在导出的向量空间中寻找相似性,就像单词之间的语义相似性一样。
例如,给定一个餐厅评论,抱怨食物(如鱼)的问题,我们希望找到有类似抱怨(如关于海鲜)的评论。这时就可以使用文档嵌入来建立相似性。
2. Doc2Vec算法
2.1 算法概述
‘LeMikolov2014’ 提出的关于 ‘段落向量’ 的原始论文,将 word2vec 优雅地扩展到了整个文档,这种方法被称为 ‘doc2vec’。
其基本思想很简单:
1. 为每个文档分配一个唯一的标识符,如文件名或整数。
2. 将这些文档标识符与基于单词的内容嵌入一起,在单独的嵌入中进行联合嵌入。
2.2 具体实现步骤
- 生成n - 元组(n - grams) :在文档的单词上创建一个滑动窗口,生成预定义大小(例如 3)的单词 n - 元组,每个 n - 元组中的每个单词都有单独的嵌入。
- 生成目标词 :对于每个 n - 元组和文档标识符的组合,生成一个要预测的目标,这个目标是当前 n - 元组之后的第一个单词。
- 训练过程 </
超级会员免费看
订阅专栏 解锁全文
6121

被折叠的 条评论
为什么被折叠?



