全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1142 0
2020-11-06
NLP入门:R中的简单主题建模(第1部分)
什么是NLP?
自然语言处理(NLP)可以简单地定义为教授一种算法来读取和分析人类(自然)语言,就像人的大脑一样,但是比人类可以更快,更准确地处理大量数据。
如果您是一位有抱负的数据科学家或数据分析师,这是一项很棒的技能,因为在所有行业中都有无穷的宝贵应用程序。NLP应用程序的示例包括用于客户服务的信息发现和检索,虚拟协助,内容生成,医疗诊断协助,主题分类或主题建模等。
本文将重点讨论主题建模。它用于将数据分类为主题类别。您是否想知道Google如何按主题组织新闻文章,或者某些电子邮件如何自动标记为垃圾邮件?我可以向您保证,没有人坐在那里按主题手动排列数百万个数据和电子邮件。有一些算法。
谁应该阅读这篇文章?
在本文中,我将通过简单的代码来构建准确的主题分类模型。初学者数据分析员,没有NLP经验的数据分析员或其他好奇地发现采用其他方法进行主题建模的数据科学家会发现这很有趣。
工具和语言
在本示例中,我将在R中使用结构主题模型(STM)包。STM是使用文档级协变量的无监督群集程序包。我已经在许多项目中使用了它,并且只需很少的培训就可以得到出色的结果。您可以在此处阅读有关STM的更多信息。为了能够遵循此示例,您需要对R和RStudio有所了解。
让我们开始编码吧!
#步骤1:获取(自然)数据
对于此示例,我将使用保存在.txt文档中的文本数据(新闻文章)(请记住STM使用文档作为数据单元)。我使用Python的BeautifulSoup从开放源中抓取了数据(是的,在抓取数据时,我更喜欢Python)。
如果您还不知道该怎么做,请不要担心!您可以在线复制-粘贴免费文本数据并将其另存为.txt文件(请确保阅读版权。仅使用免费使用的网络数据)。这是我的数据的样子(为了节省时间,我将数据保持较小):
我将所有.txt文件保存在名为STM_trainingdata的文件夹中。
#步骤2:在RStudio中提取数据
经验法则是为经常重复的任务编写函数。为了将数据导入RStudio,我编写了一个简单的函数。根据您正在处理的项目和所需的输出,您的功能可以具有不同的输入/输出。这是我的样子:
现在,调用如下所示的函数,您将获得“成功!”:
您的数据在RStudio中应如下所示:
现在,每次需要在文件夹中添加/修改训练数据时,在RStudio中更新数据变量所需要做的就是调用ReadTxt()。
#步骤3:预处理数据
数据预处理是任何机器学习过程中最重要的步骤之一。不良的清理和/或结构化数据将导致不良结果。您可以在数据探索期间使用各种统计和可视化方法,以确保数据准备就绪。
因为我们的数据样本很小,所以我写了一个基本函数来清理它。您可以在功能内阅读特定的清洁步骤。NLP中非常重要的步骤是删除停用词。您可以在线阅读更多有关停用词的信息。
以下功能是非常可定制的。根据您的训练数据,您可能需要删除更多停用词。您可以将它们直接添加到rem向量。
编写函数时,最佳做法是使用描述性名称并添加有关输入,输出和过程的说明。
接下来,按如下所示调用该函数:
您的干净数据应如下所示:
此时,您在RStudio的全局环境中应该有4个项目:data,cleandata,ReadTxt()和CleanData()函数。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群