如何处理多语言文本分类?

数据挖掘 分类 nlp
2022-02-17 15:03:15

我工作的公司经营社交网站,我们将一对一发送的邮件分类为垃圾邮件或非垃圾邮件。问题在于它是专门针对德国训练数据进行训练的,因为我们运营的大多数网络都是德国本地的。很快我们将需要为此支持多种语言,因为只接受过德语培训的人通常会认为其他语言的消息也是垃圾邮件。

如果可能的话,我宁愿不必为不同的语言维护不同的训练数据,所以我的问题是:

对多种语言进行文本分类的合理方法是什么?

在我们的案例中,垃圾邮件通常包含模糊链接和对其他网站的微妙引用。应归类为垃圾邮件的邮件示例:

嗨,有趣的家伙肯斯特杜密歇根?konnte hier kein bilder hoch laden komm mal bitte zu (somethingelse.com) mein nik ist (19theusername91) mal sehen ob du mich noch kennst :)

某女

当前的方法是用于预处理的正常词干提取、TF-IDF 和 LSA,然后是两级分类器:一个正常分类器的集合,用作将做出最终决策的线性分类器的输入。

3个回答

在类似的情况下, - 在尝试了一些替代方案之后 - 我必须在所有学习和分类步骤之前构建一个语言分类器。

也就是说,对于学习:

  1. 检测输入的语言(比如“DE”、“EN”等枚举)
  2. 将特定语言的词干应用于输入的单词。
  3. 在学习阶段的单词前面加上语言标识符(即“de_du”、“en_you”)
  4. 在单个训练模型中使用这些词。

在分类阶段,使用相同的步骤。

我建议获取一些多语言训练和测试数据,并进行实验,无论是先训练混合语言还是先进行语言检测并使用单语模型更好。您使用一些 NLT 技术(如提到的词干提取)的事实表明了后一种路径。

一些判别性特征,如 URL 的存在、正确标点符号的频率和拼写错误很容易翻译。对于语义特征,您可以使用多语言词嵌入,因此您的内容可以由相同的分类器处理,而与语言无关。我有根据的猜测是,您应该能够在不走这么远的情况下检测到大多数垃圾邮件。