余弦相似度全部与 df 列中的全部:矢量化和存储结果?

问题描述 投票:0回答:1

我正在使用 pandas 数据框,我需要根据特定列中的文本内容计算所有行对之间的余弦相似度,名为

text_original
(~2k 行)。我的目标是了解本列中所有可能的文本条目对之间的相似性(全部与全部)。

问题:

  1. 矢量化方法:我正在考虑是否使用 LLM 进行文本矢量化,或者 scikit-learn 提供的矢量化工具(例如 TfidfVectorizer)是否足以实现此目的。在这种情况下使用法学硕士来计算余弦相似度会不会太过分了?
  2. 存储结果:假设我有大量行,存储这些余弦相似度计算结果的最佳方法是什么?我正在考虑创建一个具有以下结构的新数据框:
句子 句子1 句子2 第3句
句子1 sentence1与sentence1之间的相似度得分 句子 1 与句子 2 句子 1 与句子 3
句子2
第3句

PS 每个句子的长度可能会有所不同。

如有任何帮助,我们将不胜感激。预先感谢您。

scikit-learn nlp similarity cosine-similarity sentence-similarity
1个回答
0
投票

问题1:矢量化

你说

目标是了解所有可能的配对之间的相似性 文字

在这种情况下,我建议您选择法学硕士。这些嵌入不仅旨在对单词进行编码,还对上下文进行编码,以便捕获语义。 TFIDF 的目的是通过语料库中的单词频率对文本进行编码,只是为了为进一步的机器学习分类器生成特征,它并不是为了捕获语义,只是捕获词汇特征。

问题2:存储

基质风味中的这种结构似乎很合适。特别是如果您计划重新利用矩阵,避免重新计算相似性。

© www.soinside.com 2019 - 2024. All rights reserved.