我有一个包含三列“消息”、“城市”和“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 行,所以它非常大。
提前致谢