我正在使用 LSA(使用 R)进行文档相似性分析。这是我的步骤
导入文本数据并创建语料库。是否进行了基础语料库操作,例如词干提取、空白删除等
创建 LSA 空间如下
tdm <- TermDocumentMatrix(chat_corpus) tdm_matrix <- as.matrix(tdm) tdm.lsa <- lw_bintf(tdm_matrix)*gw_idf(tdm_matrix) lsaSpace <- lsa(tdm.lsa)
LSA 上的多维建模 (MDS)
'
dist.mat.lsa <- dist(t(as.textmatrix(lsaSpace)))
fit <- cmdscale(dist.mat.lsa,eig = T)
points <- data.frame(fit1$points,row.names=chat$text)
我想创建一个矩阵/数据框来显示文本的相似程度(如附件结果所示)。行和列将是要匹配的文本,而单元格值将是它们的相似度值。理想情况下,对角线值将是 1(完美匹配),而其余单元格值将小于 1。
请提供一些有关如何执行此操作的见解。提前致谢
注意:我得到了 python 代码,但在 R 中需要相同的代码
similarity = np.asarray(numpy.asmatrix(dtm_lsa) * numpy.asmatrix(dtm_lsa).T)
pd.DataFrame(similarity,index=example, columns=example).head(10)