1

我在包中使用Relaxed Word Mover's Distancetext2vec来计算文档之间的距离,以便为每个目标文档识别最相似的文档。词向量是使用PythonFastText的 pacakage编译的gensim。文档的长度可以从一个词到超过 50 个词不等。一些文档在语料库中重复。我假设这些重复文件之间的距离应该很短,并且不同对相同文档的值应该相同。然而,我观察到这些相同对的距离可以从接近 0 到超过 1 不等,并且一些其他不太相关的文件甚至被认为比这些相同对更近。我使用的命令如下:

library(text2vec)
tokens = word_tokenizer(tolower(data$item))

v = create_vocabulary(itoken(tokens))

v = prune_vocabulary(v, term_count_min = 12, term_count_max = 1000000)
it = itoken(tokens)

# Use our filtered vocabulary
vectorizer = vocab_vectorizer(v)

dtm = create_dtm(it, vectorizer)
tcm = create_tcm(it, vectorizer, skip_grams_window = 50)

#word vectors from FastText
wv_fasttext<-as.data.frame(wv_fasttext)
rownames(wv_fasttext) <- wv_fasttext[, 'na']

wv_fasttext$name<- NULL
wv_fasttext<- data.matrix(wv_fasttext, rownames.force = TRUE)

rwmd_model = RWMD$new(wv)

rwmd_distance = dist2(dtm[1:1000,], dtm[1:1000,], method = rwmd_model, norm 
= 'none')

上面的模型有问题吗?

4

0 回答 0