使用textfeatures自动生成文本数据
点击上方关注,All in AI中国
许多Kaggle比赛获胜者和数据科学家强调的一件事可以让你在竞赛中排在榜首的是“特征工程”。无论您的模型有多复杂,优秀的功能将始终比其他功能更好地帮助您的机器学习模型构建过程。
什么是特征工程?
特征只是列/维度,特征工程是基于域知识或统计原则创建新功能或预测器的过程。特征工程一直伴随着机器学习,但最新的自动化特征工程已成为最近的事情研究人员开始使用机器学习本身来创建有助于模型准确性的新功能。虽然大多数自动化特征工程都处理数字数据,但文本数据由于其固有的非结构化特性,在这场竞赛中一直被忽略。
textfeatures - R包
密苏里大学的助理教授Michael Kearney在现代推特软件包rtweet的R社区中享有盛名,他提出了一个名为textfeatures的新R套件,它会为您提供的任何文本数据都生成一系列功能。在您梦想基于深度学习的自动文本特征工程包之前,不是这样。这使用非常简单的文本分析原则,并生成大写字母数,标点数等特征,东西简单,没什么花哨但非常有用。
安装
textfeatures可以直接从CRAN安装,开发版本可以在github上获得。
用例
在这篇文章中,我们将使用textfeatures包为来自英国的Fifa官方世界杯ios应用程序评论生成功能。我们将打包itunesr以提取评论和tidyverse,用于数据操作和绘图。
加载所需的包:
让我们加载所有必需的包。
提取最近的评论:
textfeatures 魔法开始:
正如我们得到的评论,让我们允许textfeatures发挥其魔力。 我们将使用函数textfeatures()来做到这一点。
如上所示,textfeatures创建了17个新功能。 请注意,对于任何文本数据,这些功能都将保持不变。
可视化结果:
对于这篇文章,我们不会建立机器学习模型,但这些功能可以很好地用于构建分类模型,如情感分类或类别分类。
但是现在,我们将通过一些功能可视化结果。
我们可以看到,在评论评级方面,每个单词的字符数和字符数之间是否存在任何关系。 一个假设可能是,给予良好评级的人不会写很长或其他。 我们不会在这里验证它,而只是使用散点图进行可视化。
给出以下图:
让我们用不同的情节给同一个假设带来不同的视角,但是要用不同的情节,而不是大量的文字。
得到下图:
因此,您可以使用textfeatures自动生成新功能并更好地理解文本数据。 希望这篇文章可以帮助您开始使用包。 这里使用的完整代码可以在github上找到。(https://github.com/amrrs/blogpost_codes/blob/master/textfeatures_demo.R)