我们的任务是检测哪些tweet是关于灾难性事件的,而不是与之相关的主题,比如电影。为什么?一种潜在的应用可能是,在不理会对Adam Sandler最新电影的评论的情况下,只向执法官员通报紧急情况。这项任务的一个特殊挑战是,这两个类都包含用于查找tweet的相同搜索词,因此我们将不得不使用更细微的差异来区分它们。
在本文的其余部分,我们将把关于灾难的tweet称为“灾难”,而关于其他任何事情的tweet称为“无关”。
1.2 标签
我们已经标记了数据,所以我们知道哪些tweet属于哪些类别。正如Richard Socher在下面所概述的,找到和标记足够的数据来训练模型通常更快、更简单、更便宜,而不是试图优化一个复杂的无监督方法。
我们遵循的第一条规则是:“你的模型永远只会和你的数据一样好。”
数据科学家的关键技能之一是知道下一步应该是处理模型还是数据。一个好的经验法则是先查看数据,然后整理它。一个干净的数据集将允许模型学习有意义的特征,而不会在不相关的噪声上过拟合。
这里有一个清单,可以用来清理你的数据:
-
删除所有不相关的字符,例如任何非字母数字字符 Tokenize通过将文本分隔成单个单词来实现文本的标记
-
删除不相关的单词,比如twitter上提到的“@”或url
-
将所有字符转换为小写,以便对“hello”、“hello”和“hello”等单词一视同仁
-
考虑将拼写错误或交替拼写的单词组合成一个表示(例如“cool”/“kewl”/“cooool”)
-
考虑词型还原(将“am”、“are”和“is”等单词简化为“be”等常见形式)
在遵循这些步骤并检查其他错误之后,我们可以开始使用干净的、有标记的数据来训练模型!
机器学习模型以数值作为输入。例如,处理图像的模型采用矩阵表示每个颜色通道中的每个像素的强度。