超短银行交易文本(1-3词)句嵌入构建难题及解决方案
适配超短银行交易文本的句嵌入构建方案
针对你提到的超短银行交易文本(80%不足3词)、含大量拼写/截断词汇、干扰词难清理、需分类至9万+供应商类别的场景,以下是适配的句嵌入构建思路,其中你已经验证的方案是核心最优解:
核心最优方案:基于SentenceTransformers的MNR-loss微调预训练模型
- 直接利用SentenceTransformers库,以(交易文本,供应商名称)为样本对,采用MNR-loss(Multiple Negative Ranking Loss)微调预训练模型:
- MNR-loss的核心是让正样本对(交易文本+对应供应商)的嵌入相似度远高于负样本对,完美适配这类"文本-类别匹配"的场景,能有效忽略干扰词的影响,同时捕捉拼写/截断词汇与标准供应商名称的语义关联。
- 微调后的模型生成的句嵌入,能直接用于下游的9万类别分类任务,你已经验证该方案效果极佳,这是当前场景下最适配的选择。
额外优化方向(可配合核心方案使用)
- 干扰词前置过滤:针对交易文本中的数字串、随机字符(如
zg181239、102930),可通过规则先做初步过滤(比如匹配连续数字/非语义字符段移除),减少微调时的噪声输入,进一步提升模型对有效语义的聚焦。 - 结合FastText词嵌入增强:在微调前,可将预训练FastText词嵌入注入SentenceTransformers使用的预训练模型中,让模型更敏感于拼写相似词汇的语义关联,强化对截断/拼写错误词汇的识别能力。
- 类别嵌入的归一化:生成供应商类别嵌入后做L2归一化,下游计算相似度时采用余弦相似度,能进一步提升类别匹配的稳定性,尤其针对超短文本的嵌入差异。
内容的提问来源于stack exchange,提问作者CutePoison
相关产品推荐
相关产品推荐

