自然语言处理(五 文本相似度)
简单共有词判断模型
假设现在有文本A和B,
TFIDF向量表示
上述共有词方式,只利用了词语的信息,却忽略了词频信息,引入TFIDF将词语向量化,既考虑了Term Frequency词频,又考虑了词语在整个文档中的分布情况。文本A和文本B可以分别表示为:
其中N表示词语的总数(或词典大小),
TFIDF+Word2vec
TFIDF未给出词语与词语之间的关系,认为每个词语都是相互独立的个体,但有些词语是同义词,有些词语是反义词。需要表征词语之间意思相距程度。此处选用word2vec,利用额外的大预料为每个词语训练一个word2vec向量表示。该向量可以表示矩阵为
由上一段知道,TFIDF是一个M*N的向量,其中M表示文档的总数,N表示词典的大小。因此可以使用向量M表示文档(A或B),如下所示:
M是一个M*K的矩阵,即每个文档可以表示为M的一个行向量(K维)。再使用该向量用于计算文本之间的相似度。
LM+Sentence Embedding表示
使用Deep Learning(LSTM)的方法对一个大语料训练一个Language Model,然后使用BiRNN模型训练得到句子的表达