我正在尝试将文档向量对(Doc2Vec,每个文档300个特征)分类为相似/不相似。我尝试了带有其他功能(例如文档大小等)的“距离测量”(余弦等),但是并没有达到理想的效果,尤其是因为我怀疑只有某些功能对我的问题有意义。
将两个向量馈送到分类器(LogisticRegression,SVM等)的简单但有效的方法是什么
abs(vec1 -vec2)
,但这比距离信息更糟是否有用于对特征向量之间的相似性或关系进行分类的最新方法?或者,如果有并发方法,则哪个方法更适合哪个问题/分类器?
答案 0 :(得分:1)
通常,您的目标是对文档进行矢量化(例如,通过$string_1 = "abed"; // only string
$string_2 = "abed 5"; // with int
$result_1 = convert_to_int($string_1); // output is 1254
$result_2 = convert_to_int($string_2); // output is 125405
)以提供矢量,其中矢量之间的相似性是有用的连续相似性度量。 (通常这是余弦相似性,但在某些情况下,欧氏距离可能也值得尝试。)
如果从Doc2Vec
阶段出来的向量还没有表现出来,那么要做的第一件事就是调试和优化该过程。这可能涉及:
Doc2Vec
元参数和模式,以确保生成的向量对最终目标中非常重要的相似度敏感。在没有更多有关数据大小和字符,到目前为止Doc2Vec
选择/代码以及最终目标的更多细节的情况下,很难说出更多有关改进该步骤的信息。
您如何确定两个文档是否“足够相似”?您需要多少此类评估数据才能以可重复的定量方式为不同的Doc2Vec
模型评分。 (能够进行这样的自动评分将使您测试更多的Doc2Vec
排列。)是否有一些简单的doc-vector余弦相似性很好或不起作用的doc对示例?
到目前为止,我在您选择的单词中看到两个红色标记:
Doc2Vec
找不到真正独立的“ 300个功能”。它是单个300维“密集”“嵌入”向量。每个方向(不仅仅是300个轴)都可能有意义。因此,即使某些“方向”对于您的需求而言更为重要,也不太可能与精确的尺寸轴完全相关。 分类Doc2Vec
或(v1 - v2)
的分类器可能有助于优化“足够相似或不相似”的决定,但是您需要大量的训练数据,也许非常复杂的分类器。