Chen X, Beaver I. A Semi-Supervised Deep Clustering Pipeline for Mining Intentions From Texts[J]. arXiv preprint arXiv:2202.00802, 2022.
摘要导读
从大量的自然语言输入中挖掘潜在的意图是帮助数据分析师设计和完善面向客户服务和销售支持的智能虚拟助理(IVAs)的关键步骤。为了帮助数据分析人员完成这项任务,本文创建了Verint意图管理器(VIM),这是一个结合了无监督和半监督的方法的分析平台,可以帮助分析人员从会话文本中快速表现出并组织相关的用户意图。基于对数据的初步探索,本文使用了一种新的无监督和半监督Pipeline,该Pipeline集成了高性能语言模型的微调、分布式kNN图构建方法和社区检测从文本中挖掘意图和主题的技术。对于预训练语言模型得微调步骤不仅是有益的,而且是必要的,因为当目标文本来自一个看不见的领域或聚类任务时,预先训练好的语言模型不能很好得对文本进行编码,以明显地表现出特定的聚类结构。为了提高灵活性,下游的聚类任务对应的提出了两种不同的聚类方法:一种是聚类的数量需要提前指定,另一种是自动检测到类簇的数量,但代价是花费额外的计算时间。该应用被设定为基于BERT的应用,在三个公开文本挖掘任务上展现出了很好的性能。
Pipeline
该Pipeline主要分为两个步骤:
- 对语言模型进行微调
- 使用微调过的语言模型对文本进行嵌入。然后对类簇数目是否已知进行判定,分别执行之后的聚类。
Fine-tuning and Embedding with the Language Model
第一个组件是微调/嵌入模块。具体来说,在语言模型上添加了一个平均池化层,以获得句子的密集表示。因为在实际应用中,分析人员在工作时会组织和标记来自无监督聚类结果或者手动的创建一些具有某些正则模型的文本。也就是说,分析人员可以提供一些用于特定任务微调的标签样本。因此,为了微调语言模型,又在平均池化层上添加了一个线性分类器。利用少量的标签样本,通过优化交叉熵损失函数,对语言模型和分类器的参数进行更新。微调之后,线性分类器被丢弃,仅使用更新后的语言模型和平均池化产生文本对应的嵌入表示。具体可以形式化为,将个输入文本映射为。Building the k-NN Graph
k-最近邻图是一个关键的数据结构,可以在数据挖掘中应用大量的图分析方法和网络分析方法。在本平台的设计中,使用了faiss library将嵌入表示转化为k-近邻图。在压缩域上,该库能够构造多达10亿个向量的近似k-NN图。然而,在IVA的开发中并没有预料到这种级别的规模。鉴于VIM的输入文本的最大观察量是数百万个句子,该库可以在几秒钟内使用L2距离的精确搜索来构造k-NN图。Downstream Clustering
根据是否给定类簇的数量,平台支持的下游聚类算法分为k-means和Louvain(社区检测算法)两种。通过一个采样机制,faiss library提供了一个快速的k-means GPU实现,平台实现中将其合并到下游聚类组件中。Louvain算法可以从具有数百万个节点和数十亿个链路的大型网络中检测到分层的聚类结构。这两种算法都可以快速处理VIM用户通常处理的文本量。
最终平台提供的聚类结果将呈现给分析人员,分析人员可以单击聚类的类簇来查看成员文本,并手动编辑类簇成员或启动子集群任务来创建意图层次结构。
提出的无监督和半监督文本聚类Pipeline是灵活的,并提供了最小的用户配置(是否指定集群的数量,提供是否进行微调的标记样本)的最佳结果。整体来说是个应用类型的论文,可能当时作者式按照Application Track的要求投稿的。让笔者看到了工业界常用的意图探索思路。