我想为文本制作一个分类器,进一步用于为给定的文本建议最相似的文本。
应用程序的流程如下:
llm
从文本中提取主要 10 个主题(它可以从 150 个单词池中进行选择)[1, 0, 1, ..., 0]
cosine
距离问题是文本非常不同,并且
llm
很好地给出了主题,但建议的文本并不完全是我所期望的。我尝试根据重要性对主题进行排序并使向量成为非二进制 ([10, 0, 0, 9, ..., 1]
),但这似乎没有多大帮助。
我想知道这种方法是否对我的问题不利,或者我是否应该使用其他参数或其他任何东西来对我的文本进行分组。
如果您已经在使用 LLM,这意味着您需要大量的计算能力,因此对我来说,然后回到简单的二进制向量并将其用于实际的聚类似乎不是一个好主意,因为您可能有一个与法学硕士实际编码语义的程度相比,该步骤损失了很多信息。
如果您只想要集群/组,那么使用SentenceTransformers用于嵌入+ k-Means Clustering之类的东西可能会更有效,或者使用像FAISS之类的东西在向量数据库中高效地创建和执行相似性搜索(a所有嵌入文档的数据库)。如果后者太麻烦,您也可以使用任何允许您计算向量之间相似性度量并将其应用于(标准化)嵌入文档的库。