机器学习的NLP/文本分析,超越机器学习

在文本分析领域,除了分类模型的开发,机器学习(更具体地说,深度学习)的应用已经被证明对支持我们的团队构建/改进基于规则的模型的过程非常有帮助。

该帖子分析了机器/深度学习的一些应用,超越机器/深度学习本身,用于在客户的项目中接近不同的场景。

文本分类的基线模型

在一些我们之前的帖子,我们已经讨论了文本分析中传统自然语言处理(NLP)与机器学习方法(包括深度学习)的优缺点。
机/深度学习
机器学习使模型建筑简单快捷。然而,缺点是,大多数情况下,这些系统都是一个黑盒子,其中不能除了将更多样本添加到训练数据和再培训模型的情况下不能进行新知识。这是专门适用于深度学习的情况,因为神经网络包括数百万个参数,因此在实践中非常难以或在某些情况下,不可能分析(尽管上一节中描述的技术)。

另一方面,传统的自然语言处理方法,包括基于规则的模型(用于文本分类、情感分析或实体消歧等任务),虽然需要更多的人工工作,但仍然是当今文本分析许多场景的最佳选择;因为错误通常很容易纠正,而且精度可以被简化。

在我们的解决方bobapp苹果版案中,混合系统结合了机器学习(机器的意见)具有基于规则的过滤后(人类的纠正)在许多情况下,提供精确和召回方面的最佳结果。

Villena-Román,Julio;索尼娅索尔达 - 佩雷斯;Lana-Serrano,Sara;和González-cristobal,何塞。(2011)。混合方法组合机器学习和基于规则的文本分类专家系统.第24届国际佛罗里达人工智能研究协会的诉讼程序,弗洛尔 - 24。

如果有大量的培训数据可用,深度学习通常是最佳选择(特别是在使用基于变压器的现代架构时)。当培训数据稀缺时,其他更古典的机器学习技术,例如决策树/森林,k最近邻居或SVM,通常可以提供较少的计算成本(虽然新的“few-shot学习“技术可能在不久的将来发生变化)。

然后,在提供的输出上应用经典的NLP方法,包括文本规范化和标记化、词性标注、解析和基于规则的模型(具有所有抽象级别的规则:词汇级、形态句法级和语义级),以生成系统的最终输出。

通过这种方式,全局系统需要更少的启动工作,并且通过投入时间和精力开发更多的规则来纠正误报和误报,从而提高精确度和回忆率,可以尽可能地提高性能。

示例应用程序.我们已经开发了一个基于的分类模型互动广告局分类法有超过1200个类别。混合分类器的实现首先使用一个带标签的语料库进行深度学习(特别是基于变压器的序列到序列体系结构)Distilbert.),它为培训语料库中最常见的类别提供了一个非常好的起点(那些有几千例的例子)。然后实施基于规则的模型以改善少频繁类别的分类,这些类别很少出现在语料库中(其中一些培训文本)。这种方法显然优于一个深度学习分类器的发展(这需要更多的培训文本),也是基于规则的模型(它必须包含数千条规则,昂贵地开发和难以由规则引擎运行)。

生成起始模型

规则归纳技术应用于生成规则初稿模型。为此目的,为每个类别的模型提供了训练文本。统计技术用于提取与每个类别相关的频繁N -gram (N个连续标记/单词的序列),其中包括搭配(经常同时出现的两个或多个单词,因此,对于一直使用它们的母语人士来说,听起来很自然)。

规则诱导然后,使用适当的操作符(包括精确的短语或带有AND、or、NOT操作符的布尔表达式),为每个类别生成包含这些术语的规则。排除(“负”)规则也可以通过使用一个给定类别的最频繁序列,并将它们与另一个类别的最频繁序列进行比较来生成。

然后,该初始模型被人类审查和分析,倾向于专注于应用“人为因素”来改进生成的规则,实现每个方案所需的目标性能,而不是编写数百条规则来解释所有情况类别。

示例应用程序。我们为电信公司联络中心开发了客户型号的声音。客户希望拥有他们可以编辑的规则的模型。这是一个2级分类学,第一级有12个类别,总共超过900个类别。只需手工划伤所需的努力就会压倒并且可能是耗无成本的。但是,拟议的模型草案均为超过75%的类别效果很好,并大大降低了所需的人力努力。

规则的语义扩展

机器学习的另一个成功应用是改进给定的模型。给定一组规则(通常由人类编写),可以使用语义扩展技术来提高规则回忆能力,添加与现有规则密切相关但它们没有覆盖的额外术语或表达式。

语义扩张通常,语义扩展采用传统的技术,基于预定义的同义词和反义词词汇;如果适合于问题的特定领域,则更可取。然而,现在建议使用机器学习训练的单词嵌入模型来增加规则术语。从本质上说,这意味着文本中的单词以实值向量的形式表示,实值向量对其含义进行编码,这样在向量空间中距离更近的单词就会在语义上相似。

虽然使用语义空间模型在70年代开始向量空间模型对于Salton的信息检索,Milestone是2013年,谷歌创建的团队word2vec,一个单词嵌入工具包,可以更快地培训矢量空间模型,而优于以前的方法,这为这些技术的实际应用铺平了道路。

Mikolov,托马斯;陈,凯;柯拉格雷格;和Deanet,杰弗里。(2013)。向量空间中单词表示的有效估计.arXiv: 1301.3781。

从那时起,出现了更多的嵌入技术。嵌入word2vec,手套,FastText.是情境独立的,但当前情境化嵌入基于BERT(变压器的双向编码器表示)而衍生品则提供了更好的结果。

德林,雅各布;昌,明伟;肯顿;和克里斯蒂娜的Toutanova。(2018)。BERT:用于语言理解的深双向变压器的预训练.arxiv:1810.04805v2

简而言之,给定一个文本语料库,可以训练一个嵌入模型来学习单词的意思,例如使用word2vec。然后,对于给定的词,在词嵌入向量的语义空间中,从距离更近(距离更小)的词(同义词)中寻找语义相似的词(同义词)。系统自动提供文本中类似句子中使用的相关词汇,而不是预先定义的同义词列表。

通过向规则中包含的那些添加语义相关术语来扩展规则,从而改善召回(然后反过来)F分数)的模型。

示例应用程序。在最近的一个用于检测机密信息的项目中,我们使用了一个基于缩减语料库手工开发的带有几个类别的简单模型,应用语义扩展来提高模型的性能。在这个例子中,下面的同义词歧视自动发现,仅基于语料库:进攻违反骚扰种族主义种族馆少数民族种族隔离偏见压迫性别不公正

语料库分析的主题检测

聚类和主题检测,使用不同的文本相似性计算,可以在文本分析中使用,以支持文本语料库的人工分析,并促进规则的发展,并找到未发现的主题。

聚类应用任何聚类技术来寻找文本组,避免了必须分析孤立的文本,并允许基于整个文本组编写规则,从而简化了人类的分析过程。任何聚类算法都可以应用,尽管最流行的算法,k均值,对于此任务不太适合作为群集的数量(本例中的主题)是固定的并且必须预先定义,这是不可能的。因此,其他算法通过提供距离阈值来允许变化数量的簇,例如分层聚类算法,在这种情况下是首选。聚类算法的距离度量的定义可以基于词的嵌入,如上一节所述,它在语义表示方面取得了最好的结果。

主题分析(也称为主题检测,主题建模或主题提取)是一种无监督的机器学习技术,通过根据每个文本的主题或主题分配“标签”来组织和理解大量文本。有不同的算法,包括SVD(奇异值分解),矩量法,非负矩阵分解LSA(潜在语义分析),潜在狄利克雷分配.其中大多数都是基于“分布假设”原则:在类似文本中发生的单词具有类似的含义。

现代TOP2VEC算法首先将文档转换为数字表示(如文件嵌入载体,也允许使用BERT EMBEDDINGS);随后,使用UMAP(均匀歧管近似和投影)来执行维度减少,然后使用HDBSCAN聚类(基于分层密度的空间聚类具有噪声的应用程序的空间聚类)。基于伯特的其他新算法是tBERTBERTopic

Angelov,Dimo。(2020)。Top2Vec:主题的分布式表示.arXiv: 2008.09470

这些技术的典型应用是在给定的语料库中识别任何主题趋势,而不需要定义要检测的主题字典/主题。给定一个语料库,可以使用聚类或主题检测来识别彼此相关的文本组。每一组的重要性可以通过其中包含的文本数量和这些文本之间的相似程度来估计(文本越相似,聚类得分越高)。此外,可以生成标签(名称/标题)来更好地识别每个组,使用组的不同文本中经常重复的字符串。

示例应用程序。在银行业的客户项目的声音中,除了基于分类学的分类模型外,他们的客户服务多年来一直使用客户,我们应用主题检测以发现所提到的具体主题文本但不包含在分类模型中。主题如未成年人的借记卡分公司缺席座位在文本内被发现并由客户服务适当地解决。

用于检测语料库问题的可解释性技术

解释性技术旨在解释机器学习模型的结果,主要应用于神经网络等分类器,这些分类是“不透明”,这是难以理解它们如何实现特定决定。这些技术侧重于可以帮助解释分类器的方法,同时执行某些任务的同时,他们的学习以及他们用于制定预测的信息。

有一些著名的可解释性算法,例如Shapley加法解释, 酸橙 (本地可解释的模型 - 不可知的解释),及其变体的跛行(基于局部可解释的模型 - 不可知的子字符)。Eli5(像我为5的说明)是一个流行的工具包(框架),用于解释Python。谷歌语言解释性工具是另一个最新的工具包。

在所有可解释性输出中,Salience Maps是最有趣的,因为它可以突出最相关的单词,从而使给定的文本被指定为给定的类别。Salience Maps可以通过“黑盒”可解释性方法提取,其中不检查模型本身,只观察输入/输出,具有明显的独立于模型的优势。

Explainability

例如,在上面的示例中,显着图显示了分类器考虑迷人的影响作为为此文本分配积极情绪时,作为最相关的单词。

这些方法的直接使用是改善给定机器学习分类器的训练。然而,这一目标可以推广以提取关于哪些示例是最难以模型的信息,分析培训语料库,如果培训语料库是一致的标记,并且模型是否会始终如一,如果措辞,文本样式,动词时或代词性别更改.Google Lit还用于在模型行为中找到模式,例如嵌入空间中的偏远集群,并检测对预测的外部重要性的单词。

这使我们能够区分重要的单词(必须投入开发工作的地方,例如,添加更多的同义词或相关的表达式)和不太重要的单词(它们只对分类器的最终决定有很小的贡献)。

结论

在这篇文章中,已经描述了一些机器/深度学习作为基于规则模型的NLP /文本分析中的支持技术的应用程序/深度学习。应用范围从提供基于文本分类的基线模型,基于规则的模型的生成或改进,帮助语料库分析的任务,以及解释方法以检测语料库的潜在问题。

简而言之,所有这些方面背后的想法是尝试和优化所有涉及的过程,从而减少处理每个项目所需的人力努力,从而降低客户的成本,同时实现预期的目标性能。


关于Julio Villena.

技术爱好者。@meaningCloud创新主管:自然语言处理,语义,客户的声音,文本分析,智能机器人过程自动化。研究员和讲师在@ UC3M,爱上了教学和知识共享。

发表评论

您的电子邮件地址将不会被公布。必需的地方已做标记*

*
*