帮助寻找关于 HTS 分类的研究讨论

数据挖掘 Python 分类 nlp word2vec
2022-03-13 16:40:50

我的问题是关于这个问题的理论,不一定是语法。

我想知道这里是否有人有自动化 HTS(统一税表)分类的经验,特别是训练分类器来预测应该分配给产品的 HTS 代码?这些名称有一些规则,这些名称存储为“解释”产品的描述性文本数据。这似乎(在我看来)使预测零件的分类方式变得非常困难。

就上下文而言,NLP 似乎大量参与了这一过程,但由于这些描述中涉及的基数很高,并且从一个描述到另一个描述的大量重叠,是否有任何成功进行此类预测的最佳实践?同样,我很难找到任何关于此事的公开研究。似乎几乎所有在这一重点方面的进步都是在公司闭门造车的情况下发展起来的。我理解他们为什么会做出这个决定,但考虑到它对全球业务的影响程度,我有点惊讶于这个话题很少有公开讨论。

我正在考虑/研究的事情:

词向量化(Word2Vec):我从这里的另一个用户那里得到了这个想法,但鉴于通常使用大型公共语料库训练向量化器,我不确定这将如何影响向量化过程,因为我正在分类的产品是特定领域。

n-gram:我认为使用 2、3 或 4 就足以进行分类,因为我能看到的大多数描述都很简洁。但正如我所说,很多这些描述会有重叠,例如:

    HTS CODE             HTS Description
------------------     ------------------
11111 = 'football'     An inflated ball (used for kicking)
11112 = 'basketball'   An inflated ball (used for dribbling)
11113 = 'ball'         An inflated ball

在这种情况下(如果我的理解是正确的),前两个产品需要 n-gram 6,但第三个产品只需要 n-gram 3。n-gram 值是我们可以“软编码”以适应每条记录的东西,还是我需要以某种方式为 n 找到合适的数字?

谢谢

1个回答

我会用一种类似于记录链接的方法来解决这样的问题:尝试将每个产品描述与最相关的 HTS 描述相匹配。传统方法是使用文本相似性度量,例如余弦 TF-IDF,但也可以考虑许多变体,例如使用嵌入或其他方式来考虑语义相似性。最后预测对应于最相似的 HTS 描述的代码。

最初,这可以通过单词向量(unigrams)来完成,但确实比较 -grams 的向量可能更精确。但是 -grams 不能按照您描述的方式工作:在像您的示例这样的情况下,您将拥有例如并提取 2 个连续单词的所有序列。这个“ gram 袋”就是向量所代表的。组合不同长度的 gram 是可能的,但不能以相同的表示:例如,您可以仅测量 2-gram 向量的余弦相似度,然后仅测量 3-gram 向量的余弦相似度,并取两个分数的平均值 (甚至使用不同的相似度分数作为特征建立回归模型)。nnn=2nn

如果有帮助,这里有一个使用二元组计算非常简单的相似度分数的示例(当然可以在网上找到更好的示例)。