如何改进我的文本数据分类器?

数据挖掘 机器学习 深度学习 分类 nlp word2vec
2022-02-21 21:34:33

我有一个包含三列“消息”、“城市”和“has_info”的数据集。这是它的一个示例:

message                                    city         has_info
ill be there soon, call me 313-972-0310  New-York          1
use this email john***@gmail.com         Boston            1
ok. you can check it                     Boston            0
.................................        .......           ..
i love it                                Miami             0

has_info 列是二进制列,它定义是否在“消息”列中提到了某些联系信息(如果有,则为 0,如果没有,则为 0)。我有这样的训练和测试熊猫数据框。我想让分类器预测测试数据集中的目标值“has_info”。

我将特征“城市”转变为分类特征,并创建了几个新特征,例如消息中的单词数。我还使用了词袋法,通过在训练数据集中查找多达 1000 个最常见的标记并按出现次数(最高优先)对它们进行排序。因此它将创建 1000 个附加功能。

然而,所有这些都只给了我 0.85 的 AUC 值。

我想知道,对于这种特殊情况是否还有其他(更好的)方法?也许我应该手动创建红旗词列表(电话、邮件、号码、电话、短信等),并基于它们创建虚拟变量,无论它们是否出现在消息中?是否有任何其他 nlp 解决方案可以给我至少 0.9 AUC?

我的火车数据集有 900000 行,所以它非常大。

提前致谢

1个回答

您会将哪种类型的信息视为联系信息?如果只是电话号码和电子邮件地址,我可能会使用一个简单的基于规则的分类器,使用(正则表达式)模式匹配,这可能已经让你走得很远了。此外,您可以使用通常与联系某人相关的特定关键字,例如电话、发送、邮件等,为此,您可以使用现有的训练数据集来查看这些类型的字词适合您的用例。