杭州电子商务研究院

Azure 机器学习工作室中的文本预处理

2020-10-17 08:00飞浪

介绍

自然语言处理 (NLP) 无处不在,具有多种应用。例如,一些用例包括将电子邮件分类为垃圾邮件和正常邮件、聊天机器人、AI 代理、社交媒体分析以及将客户或员工反馈分类为正面、负面或中性。

尽管 NLP 有如此多的应用,但实施仍然很困难,因为文本数据不同于表格事务数据。清理文本数据也很困难,因为你处理的是自然语言。这时,文本处理有助于清理文本语料库并使其为进一步的操作做好准备。在本指南中,你将学习如何在 Azure 机器学习工作室中预处理文本数据。

问题陈述和数据

在本指南中,您将承担医学领域自动化评审的任务。医学文献数量庞大且变化迅速,这增加了评审的需求。此类评审通常由人工完成,既繁琐又耗时。您将尝试通过构建一个文本分类模型来自动化该过程,以解决此问题。

您将使用的数据集来自Pubmed搜索,包含 1,748 个观测值和 4 个变量,如下所述。

  1. title:由检索到的论文标题组成的变量。

  2. abstract:包含检索到的论文摘要的变量。

  3. 试验:变量表明该论文是否是测试癌症药物治疗的临床试验。

  4. class:目标变量,表明该论文是否为临床试验(是)或不是(否)

首先将数据加载到工作区。

加载数据

登录 Azure 机器学习工作室帐户后,单击左侧栏列出的“实验”选项,然后单击“新建”按钮。

接下来,点击空白实验,将打开一个新的工作区。将工作区命名为“文本预处理” 。

接下来,将数据加载到工作区中。单击NEW,然后选择如下所示的DATASET选项。

上面的选择将打开下面显示的窗口,可用于从本地系统上传数据集。

加载数据后,您可以在“已保存的数据集”选项中看到它。文件名为nlpdata2.csv。下一步是将其从“已保存的数据集”列表拖到工作区中。要浏览此数据,请右键单击并选择“可视化”选项,如下所示。

您可以看到有 1748 行和 4 列。

准备文本

在运行模块以从语料库中提取关键短语之前,对文本进行预处理非常重要。最常见的预处理步骤是:

  1. 删除停用词:这些是无用的词,例如“the”、“is”、“at”。它们没有帮助,因为此类停用词在语料库中出现的频率很高,但它们无助于区分目标类别。删除停用词也会减少数据量。

  2. 检测句子:在进行分析时插入句子边界标记。句子终止符由三个管道字符表示:|||。

  3. 删除标点符号:经验法则是删除所有不属于 x、y、z 形式的内容。

  4. 将大小写标准化为小写:像“Clinical”和“clinical”这样的词需要被视为一个单词,因此它们被转换为小写。

  5. 删除特殊字符:非字母数字特殊字符将替换为管道符号|字符。

  6. 扩展动词缩写:这是应用于动词缩写的重要功能。例如,选择此选项会将短语“wouldn't buy this product”替换为“would not buy this product”。

  7. 词干提取:词干提取的目的是减少文本中出现的单词的屈折形式数量。这使得诸如“argue”、“argued”、“arguing”和“argues”等单词被简化为它们的共同词干“argu”。这有助于减少词汇空间的大小。

预处理文本模块用于执行上述以及其他文本清理步骤。

预处理文本模块

搜索并将模块拖入工作区。将其连接到数据,如下所示。

您必须指定要预处理的文本变量。为此,请单击启动列选择器选项,然后选择抽象变量。

选择列后,您可以创建预处理计划。选择要在文本预处理模块中保留的选项。在这种情况下,您可以保留所有选项,如下所示。

运行实验并单击“可视化”查看结果。

您可以在下面查看结果。Preprocessed抽象变量包含已处理的文本。如果将其与抽象变量进行比较,您可以看到文本预处理前后的差异。

有时,下载并详细探索更改可能会更方便。搜索并将“转换为 CSV”模块拖到工作区中。

运行实验并点击下载选项。

这会将结果数据下载到您的系统中。文件名为Text preprocessing。这在下面的蓝色框中突出显示。

打开文件并单击原始抽象变量中的任意单元格。这是运行预处理模块之前的文本。

为了提高可见性,下面给出了上图中突出显示的文本。

104 名非随机转移性乳腺癌患者接受每月一次的环磷酰胺、甲氨蝶呤和 5-氟尿嘧啶 (CMF) 治疗。一组 (A 组,44 名患者) 接受低剂量 CMF,另一组 (B 组,60 名患者) 接受标准剂量。两种情况下,治疗均每 29 天循环一次。A 组患者的反应率为 50.7%,包括 5 名完全缓解患者。反应持续时间中位数为 8.2 个月。B 组患者的反应率为 68.1%,包括 10 名完全缓解患者。反应持续时间中位数为 10.6 个月。B 组患者的毒性较大,主要副作用是恶心、呕吐、白细胞减少、血小板减少、脱发和口腔炎。

现在,单击新的预处理抽象变量的相应单元格。

再次,为了更好的可见性,上图中突出显示的文本如下所示。

非随机患者患有转移性乳腺癌治疗每月周期环磷酰胺 | 甲氨蝶呤 | 氟尿嘧啶 | cmf ||| 组 | 组 | 患者 | 接受低 | 剂量 cmf | B 组 | 患者 | 接受标准剂量 ||| 病例 | 治疗周期天 ||| 组患者反应率 | 包括完全缓解 ||| 中位持续时间反应月 ||| B 组患者 | 反应率 | 包括完全缓解 ||| 中位持续时间反应月 ||| 毒性大 B 组患者 ||| 主要影响恶心 | 呕吐 | 白细胞减少 | 血小板减少 | 脱发口腔炎。

您可以看到抽象变量和预处理抽象变量之间的区别。新变量更紧凑、简洁、具有句子边界,并且更易于理解。

结论

文本清理是自然语言处理中最具挑战性的领域之一。在文本分析的每个应用中,例如电子邮件分类、情绪分析、关键短语提取或文本数据可视化,您都需要执行文本清理。

在本指南中,你学习了如何在 Azure 机器学习工作室中执行文本预处理。你可以通过有关Python和R等其他技术的指南详细了解此概念。

要了解有关使用 Azure 机器学习工作室进行数据科学和机器学习的更多信息,请参阅以下指南:

  1. Azure ML Studio 入门

  2. 使用 Azure ML Studio 清理数据

  3. 使用 Azure ML Studio 进行数据预处理

  4. 使用 Azure ML Studio 进行分类建模

  5. 使用 Azure 机器学习工作室进行回归建模

  6. Azure ML Studio 中的模型验证

  7. Azure ML Studio 中的 R 和 Python 脚本

  8. Azure ML Studio 中的高级机器学习建模

  9. 使用 Azure 机器学习工作室进行命名实体识别</

曝光25683浏览1401