一种用于文本分类体系构建和标注语料扩充的方法和系统
技术领域
本公开涉及文字信息处理,尤其涉及用于文本分类体系构建和标注语料扩充的方法和装置。
背景技术
有监督的文本分类在很多领域均有广泛的应用。若要进行有监督的文本分类建模需要两个基本的条件,首要条件是具备一个明确的文本分类体系或标准,其次是需要具备在这个分类体系下的适量的标注文本。只有同时满足了上述两个条件,才可以对标注文本提取特征,训练有监督的文本分类模型,进而通过分类模型来完成文本分类的任务。然而文本分类体系的构建是一个对专业性要求较高的工作,需要具有一定领域知识的人员花费较大的精力设计实现。另外文本数据的标注也需要较多的人力来实现。
然而实际情况中,有文本分类需求的客户往往并不具备足够的专业性,很难准确、详细地将分类体系或标准设计出来,反而是只能提供少数简单的标注文本,这样对于构建文本分类体系是远远不够的。
另外,传统方法下实现样本标注,往往采用对无标注文本进行随机抽样后人工标注的方法来实现。这种的随机抽样方法是盲目、缺乏针对性的,需要花费大量的人工精力。尤其是当不同类别的样本分布不均衡的时候,占比较小的分类需要对更多的无标注文本做标注才能够得到适量的可用样本。
因此,对传统的文本分类体系构建和文本标注方法进行改进是合乎需要的。
发明内容
提供本发明内容来以简化形式介绍将在以下具体实施方式部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
本发明的目的是降低文本分类建模的难度,为缺乏机器学习基础、分类体系设计的用户提供一种辅助构建文本分类体系和扩充标注语料的方法和装置。
具体而言,在本发明的各实施例中,只需要用户提供少量的有标注文本以及大量的未标注文本。然后通过对标注文本计算类间距离来辅助用户构建文本分类体系。接着,基于文本相似度计算获取标注文本的扩充候选集,并可任选地结合人工标注得到用于训练文本分类模型的语料。最后结合有监督分类和无监督聚类的方法来挖掘潜在的未定义类别和标注文本,以进一步扩展文本分类体系和标注文本。
实际上,本文描述的方法和装置能够根据用户提供的数百条(诸如少于200条等)标注文本来帮助用户构建起涵盖数十个(诸如三十多个等)类别的文本分类体系,同时使得能够基于语料自动扩充和可任选的人工筛选候选语料来高效地挖掘出一万多条标注文本。本领域技术人员应理解,上述用户提供的数百条标注文本以及所构建的涵盖数十个类别的文本分类体系仅仅是出于示例的目的,而非限制性的。
由此,本文描述的方法和装置基于少量的标注文本和大量的无标注文本,利用多种机器学习手段辅助用户快速且精准地构建文本分类体系并扩充标注语料。相比于传统的文本分类建模方式,本文描述的方法和装置既不需要具有一定专业知识的人员对文本体系进行系统设计,又能提升标注语料的效率并降低文本分类建模的门槛。
在本发明的一个实施例中,提供了一种用于文本分类体系构建和标注语料扩充的方法,该方法包括:
对所提供的标注文本和未标注文本进行词嵌入以构建特征词表;
通过基于所构建的特征词表对所述标注文本计算类间距离来构建文本分类体系;
基于文本相似度计算来获取所述标注文本所属类别的扩充候选集以形成经扩充的文本分类体系以及经扩充的标注文本;以及
通过所述扩充候选集来确定潜在的未定义类别和标注文本以进一步扩展所述经扩充的文本分类体系以及所述经扩充的标注文本。
在本发明的另一个实施例中,提供了一种用于文本分类体系构建和标注语料扩充的系统,该系统包括:
用于对所提供的标注文本和未标注文本进行词嵌入以构建特征词表的装置;
用于通过基于所构建的特征词表对所述标注文本计算类间距离来构建文本分类体系的装置;
用于基于文本相似度计算来获取所述标注文本所属类别的扩充候选集以形成经扩充的文本分类体系以及经扩充的标注文本的装置;以及
用于通过所述扩充候选集来确定潜在的未定义类别和标注文本以进一步扩展所述经扩充的文本分类体系以及所述经扩充的标注文本的装置。
在本发明的又一实施例中,提供了一种存储用于文本分类体系构建和标注语料扩充的指令的计算机可读存储介质,所述指令包括:
用于对所提供的标注文本和未标注文本进行词嵌入以构建特征词表的指令;
用于通过基于所构建的特征词表对所述标注文本计算类间距离来构建文本分类体系的指令;
用于基于文本相似度计算来获取所述标注文本所属类别的扩充候选集以形成经扩充的文本分类体系以及经扩充的标注文本的指令;以及
用于通过所述扩充候选集来确定潜在的未定义类别和标注文本以进一步扩展所述经扩充的文本分类体系以及所述经扩充的标注文本的指令。
在结合附图研读了下文对本发明的具体示例性实施例的描述之后,本发明的其他方面、特征和实施例对于本领域普通技术人员将是明显的。尽管本发明的特征在以下可能是针对某些实施例和附图来讨论的,但本发明的全部实施例可包括本文所讨论的有利特征中的一个或多个。换言之,尽管可能讨论了一个或多个实施例具有某些有利特征,但也可以根据本文讨论的本发明的各种实施例使用此类特征中的一个或多个特征。以类似方式,尽管示例性实施例在下文可能是作为设备、装置或方法实施例进行讨论的,但是应当领会,此类示例性实施例可以在各种设备、装置、和方法中实现。
附图说明
为了能详细理解本公开的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中阐示。然而应该注意,附图仅阐示了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。
图1、2A和2B示出了其中可实现本发明的各实施例的各种用户计算设备。
图3示出了根据本发明的一个实施例的其中可实现本发明的各实施例的服务器计算设备。
图4示出了根据本发明的一个实施例的文本分类建模模块的框图。
图5示出了根据本发明的一个实施例的预处理组件的框图。
图6示出了根据本发明的一个实施例的分类体系构建组件的框图。
图7示出了根据本发明的一个实施例的语料扩充组件的框图。
图8示出了根据本发明的一个实施例的分类体系扩展组件的框图。
图9示出了根据本发明的一个实施例的用于分类体系构建和标注语料扩充的方法的流程图。
具体实施方式
以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而,各实施例可以以许多不同的形式来实现,并且不应将其解释为限制此处所阐述的各实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、装置或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下具体实施方式并非是局限性的。
各流程图中的步骤可通过硬件(例如,处理器、引擎、存储器、电路)、软件(例如,操作系统、应用、驱动器、机器/处理器可执行指令)或其组合来执行。如本领域普通技术人员将理解的,各实施例可以包括比示出的更多或更少的步骤。
图1、2A、2B、3及相关联的描述提供了本文描述的文本分类建模模块可在其中实现的各种操作环境的讨论。然而,关于图1-3所示出和讨论的设备和系统是用于示例和说明的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图1是示出可用来实施本发明的各实施例的台式计算设备100的示例物理组件的框图。以下描述的计算设备组件可适用于上述计算设备。在一基本配置中,台式计算设备100可以包括至少一个处理单元102和系统存储器104。取决于计算设备的配置和类型,系统存储器104可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器104可以包括操作系统105、一个或多个程序模块106,且可以包括web浏览器应用120。例如,操作系统105可适用于控制台式计算设备100的操作。在一个实施例中,程序模块106可包括安装在台式计算设备100上的文本分类建模模块26。应注意,文本分类建模模块26可以作为单独的模块或者作为另一模块中的子模块来实现。此外,本发明的各实施方式可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图1中由虚线108内的那些组件示出。
台式计算设备100可具有附加特征或功能。例如,台式计算设备100还可包括附加数据存储设备(可移动和/或不可移动),诸如例如,磁盘、光盘、或磁带。这些附加存储由可移动存储109和不可移动存储110示出。
如上所述,可以在系统存储器104中存储包括操作系统105在内的多个程序模块和数据文件。当在处理单元102上执行时,程序模块106可执行各个过程,包括与如下所述的方法有关的操作。下述过程是示例,且处理单元102可执行其他过程。根据本发明的各实施方式可以使用的其他程序模块可以包括电子邮件和联系人应用、字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图1中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于管理器26的功能可以通过与计算设备/系统100的其他组件一起集成在单个集成电路(芯片)上的应用专用逻辑来操作。本发明的各实施方式还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施方式可以在通用计算机或任何其他电路或系统中实现。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。
如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息且可以由台式计算设备100访问的任何其他介质。任何这样的计算机存储介质都可以是设备100的一部分。台式计算设备100还可以具有输入设备112,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备114。上述设备是示例且可以使用其他设备。
相机和/或某种其他传感设备可操作来记录一个或多个用户以及捕捉计算设备的用户作出的运动和/或姿势。传感设备还可操作来捕捉诸如通过话筒口述的单词和/或捕捉来自用户的诸如通过键盘和/或鼠标(未描绘)的其他输入。传感设备可包括能够检测用户的移动的任何运动检测设备。
如这里所使用的术语计算机可读介质还包括通信介质。通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图2A和2B示出可用来实施本发明的各实施例的合适的移动计算环境,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图2A,示出了用于实现各实施例的示例移动计算设备200。在一基本配置中,移动计算设备200是具有输入元件和输出元件两者的手持式计算机。输入元件可包括允许用户将信息输入到移动计算设备200中的触摸屏显示器205和输入按钮210。移动计算设备200还可结合允许进一步的用户输入的可选的侧面输入元件215。可选的侧面输入元件215可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备200可结合更多或更少的输入元件。例如,在某些实施例中,显示器205可以不是触摸屏。在又一替代实施例中,移动计算设备是便携式电话系统,如具有显示器205和输入按钮210的蜂窝电话。移动计算设备200还可包括可选的小键盘235。可选的小键盘235可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。
移动计算设备200结合输出元件,如可显示图形用户界面(GUI)的显示器205。其他输出元件包括扬声器225和LED 220。另外,移动计算设备200可包含振动模块(未示出),该振动模块使得移动计算设备200振动以将事件通知给用户。在又一实施例中,移动计算设备200可结合耳机插孔(未示出),用于提供另一手段来提供输出信号。
尽管此处组合移动计算设备200来描述,但在替代实施例中,本发明还可组合任何数量的计算机系统来被使用,如在台式环境中、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机等。本发明的实施例也可在分布式计算环境中实践,其中任务由分布式计算环境中通过通信网络链接的远程处理设备来执行;程序可位于本机和远程存储器存储设备中。总而言之,具有多个环境传感器、向用户提供通知的多个输出元件和多个通知事件类型的任何计算机系统可结合本发明的实施例。
图2B是示出在一个实施例中使用的诸如图2A中所示的计算设备之类的移动计算设备的组件的框图。即,移动计算设备200可结合系统202以实现某些实施例。例如,系统202可被用于实现可运行与台式或笔记本计算机的应用类似的一个或多个应用的“智能电话”,这些应用例如演示文稿应用、浏览器、电子邮件、日程安排、即时消息收发、以及媒体播放器应用。在某些实施例中,系统202被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用266可被加载到存储器262中并在操作系统264上或与操作系统264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统202还包括存储器268内的非易失性存储262。非易失性存储268可被用于存储在系统202断电时不会丢失的持久信息。应用266可使用信息并将信息存储在非易失性存储268中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也可驻留在系统202上并被编程为与驻留在主机计算机上的对应同步应用进行交互,以保持存储在非易失性存储268中的信息与存储在主机计算机上的对应信息相同步。如应被理解的,其他应用可被加载到存储器262中且在设备200上运行,包括文本分类建模模块26。应注意,文本分类建模模块26可以作为单独的模块或者作为另一模块中的子模块来实现。
系统202具有可被实现为一个或多个电池的电源270。电源270还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统202还可包括执行发射和接收无线电频率通信的功能的无线电272。无线电272通过通信运营商或服务供应商方便了系统202与“外部世界”之间的无线连接。来往无线电272的传输是在操作系统264的控制下进行的。换言之,无线电272接收的通信可通过操作系统264传播到应用266,反之亦然。
无线电272允许系统202例如通过网络与其他计算设备通信。无线电272是通信介质的一个示例。通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。
系统202的该实施例是以两种类型的通知输出设备来示出的:可被用于提供视觉通知的LED 220,以及可被用于扬声器225提供音频通知的音频接口274。这些设备可直接耦合到电源270,使得当被激活时,即使为了节省电池功率而可能关闭处理器260和其他组件,它们也在一段由通知机制指示的持续时间保持通电。LED 220可被编程为无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口274用于向用户提供听觉信号并从用户接收听觉信号。例如,除被耦合到扬声器225以外,音频接口274还可被耦合到话筒以接收听觉输入,诸如便于电话对话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统202可进一步包括允许板载相机230的操作来记录静止图像、视频流等的视频接口276。
移动计算设备实现系统202可具有附加特征或功能。例如,该设备还可包括附加数据存储设备(可移动的/或不可移动的),诸如磁盘、光盘或磁带。此类附加存储在图2B中由存储268示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
设备200生成或捕捉的且经系统202存储的数据/信息可如上所述本地存储在设备200上,或数据可被存储在可由设备通过无线电272或通过设备200和与设备200相关联的分开的计算设备之间的有线连接访问的任何数量的存储介质上,该分开的计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经设备200、经无线电272或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图3示出了根据本发明的一个实施例的其中可实现本发明的各实施例的服务器计算设备300。各实现可实现在各种市售的服务器设备中的任何服务器设备上,诸如图3中示出的服务器计算设备300。在图3中,服务器计算设备300包括耦合至易失性存储器302和大容量非易失性存储器(诸如盘驱动器303)的处理器301。服务器计算设备300还可包括耦合至处理器301的软盘驱动器、压缩碟(CD)或DVD碟驱动器306。服务器计算设备300还可包括耦合至处理器301的用于建立与网络(诸如耦合至其他广播系统计算机和服务器或耦合至因特网的局域网)的数据连接307的网络接入端口304。应注意,本文描述的文本分类建模模块的功能可以在服务器计算设备300中单独实现,也可以在用户计算设备中单独实现,或者可以分布在用户计算设备和服务器计算设备两者上。
图4示出了根据本发明的一个实施例的文本分类建模模块402的框图。在各实施例中,文本分类建模模块402包括预处理组件404、分类体系构建组件406、语料扩充组件408、以及分类体系扩展组件410。
预处理组件404被用来对所提供的少量标注文本和大量未标注文本进行词嵌入以构建单词与特征向量之间的映射,并构造相应的特征词表。具体而言,在接收到所提供的少量标注文本和大量未标注文本后,利用结巴中文分词对这些文本按句子粒度进行分词,对分词后的词序列训练word2vec模型,并保存单词与向量之间的映射关系。
随后,预处理组件404构建N-gram特征词表,包括利用结巴中文分词对大量文本(包括少量标注文本和大量未标注文本)按句子粒度进行分词,统计所有单个词和相邻两个词在语料中出现的频次,分别将频次大于某个阈值(比如频次大于3,也可以是是其它阈值)的单个词和相邻两个词保存到特征词表中。
当预处理组件404生成单词与向量之间的映射关系以及特征词表时,该预处理组件404将所生成的映射关系和特征词表传递给分类体系构建组件406以供进一步处理。
分类体系构建组件406被用来通过对标注文本计算类间距离来辅助用户构建文本分类体系。首先,分类体系构建组件406基于由预处理组件404提供的少量标注文本来初始化文本分类体系。具体而言,分类体系构建组件406接收标注文本(即,带标注的句子的集合),基于附加到每一句句子的标注来对所有句子进行分组,即将带有相同标注的句子分为一组并且为每组标注句子指定分类体系中的一个单独类别,由此生成包括对应于每组标注句子的每一个类别的初始分类体系。
随后,分类体系构建组件406提取标注文本的特征向量。具体而言,利用结巴中文分词对用户提供的标注文本按句子粒度分词,并使用文本分词结果来为标注文本构建特征。具体而言,对照先前生成的特征词表,分类体系构建组件406分别通过对每一句句子中的分词结果中出现在该特征词表中的所有单个词和相邻两个词进行one-hot编码来获得这句句子的unigram特征和bigram特征。
然后,分类体系构建组件406将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有标注文本的特征向量,以供挖掘出分类体系中相似性较高的分类以供合并相应类别。可任选地,可基于用户反馈来修正分类体系。
当分类体系构建组件406生成经重新分类的标注文本(由此生成新的文本分类体系)时,该分类体系构建组件406将所生成的经重新分类的标注文本传递给语料扩充组件408。
语料扩充组件408被用来基于文本相似度计算获取标注文本所属类别的扩充候选集,并且可任选地结合人工标注得到用于训练文本分类模型的扩充语料文本。
具体而言,语料扩充组件408对用户提供的大量未标注文本进行特征向量提取。对照先前生成的特征词表,特征向量提取子组件702分别通过对每一句句子中的分词结果中出现在该特征词表中的所有单个词和相邻两个词进行one-hot编码来获得这句句子的unigram特征和bigram特征。平均嵌入特征通过对该句句子中所有单个词的词向量嵌入求平均得到,其中词向量可通过训练word2vec模型来获取。
由此,将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有未标注文本的特征向量(即,对应于每一句未标注句子的特征向量),以供通过相似度计算来选择扩充语料候选,如下所述。
选择扩充语料候选包括计算每一条未标注文本(即,每一句未标注句子)的特征向量与来自分类体系构建组件406的当前各个类别的有标注文本(即,每一句带标注句子)的特征向量之间的距离。对于每一条未标注文本,当现有的各个类别中的所有已标注文本中的与该未标注文本距离最小的k个文本同属于现有的各个类别中的某一个类别且平均距离小于某个阈值时,则认为这条未标注文本是该类别的扩充语料候选,并将其呈现给用户。
可任选地,用户对这些扩充语料候选文本进行人工筛选和审核。即,通过人工标注将真正符合标准(即,文本的含义与所属类别的对应标注相符)的语料文本筛选出来,加入到标注文本集合,以形成经扩充的文本分类体系以及经扩充的标注文本。
经扩充的文本分类体系以及经扩充的标注文本被传递至分类体系扩展组件410。分类体系扩展组件410被用来结合有监督分类和无监督聚类的方法来挖掘出潜在的未定义类别和标注文本以进一步扩展经扩充的文本分类体系和经扩充的标注文本。
首先,分类体系扩展组件410利用经扩充的标注文本的特征向量来训练多分类模型。具体而言,分类体系扩展组件410通过经扩充的标注文本的特征向量以及与每一条未标注文本,即与每一句带标注的句子相关联的标注来训练多分类模型,以使得经训练的多分类模型能够预测其它未标注文本所属的特定类别。
随后,分类体系扩展组件410利用经训练的多分类模型来预测每一条未标注文本属于每一个类别的概率。这些类别来自语料扩充组件408先前生成的分类体系中的类别。当某一条未标注文本的属于每一个类别的所有概率中的最高概率低于阈值时,则可以确定该未标注文本与所有现有分类的相关性都较低,并且通过相同的方法确定所有此类具有低概率的未标注文本。
然后,分类体系扩展组件410对与已有的所有分类都具有低相关性的未标注文本的特征向量进行无监督聚类以获得具有多个相似语料文本的各个新类别,由此生成新的分类体系。
在本公开的另一实施例中,可任选地,分类体系扩展组件410将无监督聚类子组件806生成的具有多个相似语料文本的各个新类别呈现给用户以供用户判断是否适合加入到现有分类体系中。
下文将针对上述每个组件进行详细描述。
图5示出了根据本发明的一个实施例的预处理组件404的框图。预处理组件404的目的是对所提供的少量标注文本和大量未标注文本进行词嵌入以构建单词与特征向量之间的映射,并构造相应的特征词表。
参照图5,为了实现上述功能,预处理组件404包括Word2vec模型训练子组件502和特征词表构建子组件504。具体而言,用户首先提供少量的标注文本和大量未标注文本,诸如200条带标注的文本,如本领域技术人员可以理解的,用户可提供多于或少于200条带标注的文本,诸如带有标注“还款意愿低”的各句句子,比如“我没钱还”、“我不想还了”;带有标注“还款意愿高”的各句句子,比如“忘记还了,马上还”、“过两天就还”,等等。
预处理组件404接收到所提供的少量标注文本和大量未标注文本后,Word2vec模型训练子组件502利用结巴中文分词对这些文本按句子粒度进行分词,对分词后的词序列训练word2vec模型,并保存单词与向量之间的映射关系。
Word2vec模型可以根据给定的语料库,通过优化后的训练模型快速有效地将一个词语表达成向量形式。具体而言,Word2vec模型为浅而双层的神经网络,网络以词表现,并且需猜测相邻位置的输入词。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。Word2vec是本领域内公知的,因此在此不再赘述。
随后,预处理组件404中的特征词表构建子组件504构建N-gram特征词表。具体而言,特征词表构建子组件504利用结巴中文分词对大量文本(包括少量标注文本和大量未标注文本)按句子粒度分词,统计所有单个词和相邻两个词在语料中出现的频次,分别将频次大于某个阈值(比如频次大于3,也可以是是其它阈值)的单个词和相邻两个词保存到特征词表中。
例如,特征词表构建子组件504利用结巴中文分词将文本“我没钱还”、“我不想还了”分词成单个词“我”、“没”、“钱”、“还”、“我”、“不”、“想”、“还”、“了”以及相邻两个词“我没”、“没钱”、“钱还”、“我不”、“不想”、“想还”、“还了”并将这些单词或相邻两个词中在预料文本中出现超过三次的词保存在特征词表中。
返回到图4,当预处理组件404生成单词与向量之间的映射关系以及特征词表时,该预处理组件404将所生成的映射关系和特征词表传递给分类体系构建组件406。
图6示出了根据本发明的一个实施例的分类体系构建组件406的框图。分类体系构建组件406被用来通过对标注文本计算类间距离来辅助用户构建文本分类体系,文本分类体系指的是包含具有相同标注的多个语料文本的各个类别的集合。在本发明的各实施例中,语料文本指的是一句句子,在其它实施例中也可以是其它文本单元。参照图6,为了实现上述功能,分类体系构建组件406包括分类体系初始化子组件602、特征向量提取子组件604、以及分类体系修正子组件606。
分类体系初始化子组件602基于所提供的少量标注文本来初始化文本分类体系。具体而言,分类体系初始化子组件602接收标注文本(即,带标注的句子的集合),基于附加到每一句句子的标注来对所有句子进行分组,即将带有相同标注的句子分为一组并且为每组标注句子指定分类体系中的一个单独类别。例如,将带有相同标注“还款意愿低”的各句句子,比如“我没钱还”、“我不想还了”分为一组并将该组文本指定为一个单独类别;将带有相同标注“还款意愿高”的各句句子,比如“忘记还了,马上还”、“过两天就还”分为一组并将其指定为另一个单独类别,等等。由此生成包括对应于每组标注句子的每一个类别的初始分类体系。
特征向量提取子组件604提取标注文本的特征向量。具体而言,特征向量提取子组件604利用结巴中文分词对用户提供的标注文本按句子粒度分词,并使用文本分词结果来为标注文本构建特征。特征包括分词结果的unigram特征、bigram特征和平均嵌入(averageembedding)特征。
对照特征词表构建子组件504生成的特征词表,特征向量提取子组件604分别通过对每一句句子中的分词结果中出现在该特征词表中的所有单个词和相邻两个词进行one-hot编码来获得这句句子的unigram特征和bigram特征。例如,假定预料文本中总共有N个单词,特征向量为(x1,x2,x3,…,xN)的形式,四个unigram分词结果“我”、“没”、“钱”、“还”分别占据所有单词中的前四个单词,则在经过one-hot编码后“我”的特征向量被表示为(1,0,0,0,…,0),“没”的特征向量被表示为(0,1,0,0,…,0),“钱”的特征向量被表示为(0,0,1,0,…,0),“还”的特征向量被表示为(0,0,0,1,0,…,0)。同理,假定预料文本中总共有M个单词,特征向量为(y1,y2,y3,…,yM),相邻两个词“我没”、“没钱”、“钱还”分别占据所有相邻词中的前三个相邻词,则在经过one-hot编码后,“我没”的特征向量被表示为(1,0,0,0,…,0),“没钱”的特征向量被表示为(0,1,0,0,…,0),“钱还”的特征向量被表示为(0,0,1,0,…,0)。
平均嵌入特征通过对该句句子中所有单个词的词向量嵌入求平均得到,词向量可通过训练word2vec模型来获取(即从Word2vec模型训练子组件502获取)。具体地,可通过对大量的通话文本按句子粒度分词,对分词后的词序列训练word2vec模型,并保存单词到向量的映射关系来得到文本中的各句句子中的每个词的词向量。
最后,特征向量提取子组件604将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有标注文本的特征向量,并将其传递给分类体系修正子组件606。
分类体系修正子组件606被用来挖掘出分类体系中相似性较高的分类以供合并相应类别。在本公开的另一实施例中,可任选地,可以向用户提出合并类别的决策建议。
具体而言,分类体系修正子组件606接收由分类体系初始化子组件602生成的各个初始类别,并通过计算任意两个类别中的标注文本(即,标注句子)的特征向量之间的向量距离来确定类间距离。特征向量之间的距离可以采取欧氏距离来计算,而类间距离可以通过平均距离法来计算,即从两个类别中的标注文本的特征向量中分别任取一个特征向量计算它们之间距离,并对所有特征向量对(即,在这两个类别中分别任取一个标注文本的特征向量的所有可能组合)之间的距离取均值以计算这两个类别之间的类间距离。
当两个类别之间的类间距离小于某个阈值时,表明这两类标注文本的相似度较高,此时可将这两个类别及其中的标注文本合并。在本公开的另一实施例中,可任选地,可基于用户反馈(即,是否接受该建议)来选择是否修正分类体系。
分类体系修正子组件606持续上述操作,直到没有两个类别之间的类间距离小于阈值为止,此时完成了文本分类体系的构建并且可任选地生成经修正的文本分类体系(基于用户反馈)。
返回到图4,当分类体系构建组件406生成经重新分类的标注文本(由此生成新的文本分类体系)时,该分类体系构建组件406将所生成的经重新分类的标注文本传递给语料扩充组件408。
图7示出了根据本发明的一个实施例的语料扩充组件408的框图。该语料扩充组件408被用来基于文本相似度计算获取标注文本所属类别的扩充候选集,并且可任选地结合人工标注得到用于训练文本分类模型的扩充语料文本。
参照图7,为了实现上述功能,语料扩充组件408包括特征向量提取子组件702、扩充语料选择子组件704以及人工筛选子组件706。
特征向量提取子组件702对用户提供的大量未标注文本进行特征向量提取。具体而言,特征向量提取子组件702利用结巴中文分词对用户提供的未标注文本按句子粒度分词,并使用文本分词结果来为未标注文本构建特征。特征包括分词结果的unigram特征、bigram特征和平均嵌入特征。
对照特征词表构建子组件504生成的特征词表,特征向量提取子组件702分别通过对每一句句子中的分词结果中出现在该特征词表中的所有单个词和相邻两个词进行one-hot编码来获得这句句子的unigram特征和bigram特征。平均嵌入特征通过对该句句子中所有单个词的词向量嵌入求平均得到,词向量可通过训练word2vec模型来获取(即从Word2vec模型训练子组件502获取)。具体地,可通过对大量的通话文本按句子粒度分词,对分词后的词序列训练word2vec模型,并保存单词到向量的映射关系来得到文本中的各句句子中的每个词的词向量。
最后,特征向量提取子组件702将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有未标注文本的特征向量(即,对应于每一句未标注句子的特征向量),并将其传递给扩充语料选择子组件704。
扩充语料选择子组件704被用来通过相似度计算来选择扩充语料候选。具体而言,扩充语料选择子组件704计算每一条未标注文本(即,每一句未标注句子)的特征向量与来自分类体系构建组件406的当前各个类别的有标注文本(即,每一句带标注句子)的特征向量之间的距离。特征向量之间的距离可以采取欧氏距离来计算。
对于每一条未标注文本,当现有的各个类别中的所有已标注文本中的与该未标注文本距离最小的k个文本同属于现有的各个类别中的某一个类别且平均距离小于某个阈值时,则认为这条未标注文本是该类别的扩充语料候选。由此,对于所有未标注文本,扩充语料选择子组件704从中选取属于相应类别的扩充语料候选文本,以形成经扩充的文本分类体系下的经扩充的标注文本,并且可任选地将其提供给候选文本筛选子组件706。
在本公开的一个实施例中,可任选地,候选文本筛选子组件706将来自扩充语料选择子组件704的扩充语料候选文本呈现给用户以供用户对这些扩充语料候选文本进行人工筛选和审核。即,通过人工标注将真正符合标准(即,文本的含义与所属类别的对应标注相符)的语料文本筛选出来,加入到标注文本集合,以形成经扩充的文本分类体系下的经扩充的标注文本。
扩充语料选择子组件704和候选文本筛选子组件706的操作是迭代执行的,直到各个类别的标注语料文本的数量符合预期或者无法再扩展出新的候选语料文本(即,无法在所有未标注文本中找到与其距离最小的k个文本同属于现有的各个类别中的某一个类别且平均距离小于某个阈值的某个未标注文本)时停止。此时,经扩充的文本分类体系及其下经扩充的标注文本被传递至分类体系扩展组件410。
图8示出了根据本发明的一个实施例的分类体系扩展组件410的框图。分类体系扩展组件410被用来结合有监督分类和无监督聚类的方法来挖掘出潜在的未定义类别和标注文本以完善文本分类体系。参照图8,为了实现上述功能,分类体系扩展组件410包括分类模型训练子组件802、低相关性文本选择子组件804、无监督聚类子组件806、以及未定义类别确定组件808。
分类模型训练子组件802利用来自语料扩充组件408的经扩充的标注文本的特征向量来训练多分类模型。该分类模型可以选用GBDT模型,但在其它实施例中也可以选用其它多分类模型。
GBDT模型是一种基于迭代所构造的决策树算法并且是一种常用的非线性模型。GBDT模型基于集成学习中的boosting思想,每次迭代都在减少残差的梯度方向新建立一颗决策树,迭代多少次就会生成多少颗决策树。GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合,特征组合的可区分性决定模型性能上限,因此通过经训练的GBDT模型能够更好地预测未标注文本的特征向量所属的类别。
回到图8,分类模型训练子组件802通过经扩充的标注文本的特征向量以及与每一条标注文本,即每一句带标注的句子相关联的标注来训练多分类模型,以使得经训练的多分类模型能够预测其它未标注文本所属的类别。
随后,低相关性文本选择子组件804利用经训练的多分类模型来预测每一条未标注文本属于每一个类别的概率。这些类别来自语料扩充组件408所生成的经扩充的分类体系中的类别。当某一条未标注文本的属于每一个类别的所有概率中的最高概率低于阈值时,则可以确定该未标注文本与所有已有分类的相关性较低,并且通过相同的方法选取所有此类未标注文本。
无监督聚类子组件806然后对与已有的所有分类具有低相关性的未标注文本的特征向量进行无监督聚类以获得具有多个相似语料文本的各个新类别。在本发明的一个实施例中,无监督聚类可以采用DBSCAN算法(Density-Based Spatial Clustering ofApplications with Noise),该算法是一个比较有代表性的基于密度的聚类算法。该算法将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在具有噪声的空间数据库中发现任意形状的聚类。在其它实施例中,也可采用其它无监督聚类算法。
最后,未定义类别确定子组件808将无监督聚类子组件806生成的具有多个相似语料文本的各个新类别加入到现有分类体系中,具体而言是将该新类别、与该新类别相关联的标注、以及该新类别中所包含的语料文本补充到经扩充的文本分类体系中以完成对经扩充的文本分类体系的进一步扩展和增强。
可任选地,未定义类别确定子组件808将无监督聚类子组件806生成的具有多个相似语料文本的各个新类别呈现给用户,以供用户判断是否适合加入到现有分类体系中。在本发明的一个实施例中,如果用户认为或确认具有多个相似语料文本的一个新类别适合加入到现有分类体系中,则未定义类别确定子组件808将该新类别、与该新类别相关联的标注、以及该新类别中所包含的语料文本补充到经扩充的文本分类体系中,以完成对经扩充的文本分类体系的进一步扩展和增强。
图9示出了根据本发明的一个实施例的用于分类体系构建和标注语料扩充的方法900的流程图。
在902,对所提供的标注文本和未标注文本进行词嵌入以构建单词与特征向量之间的映射并构造相应的特征词表。
在本公开的一个实施例中,在接收到所提供的少量标注文本和大量未标注文本后,利用结巴中文分词对这些文本按句子粒度进行分词,对分词后的词序列训练word2vec模型,并保存单词与向量之间的映射关系。
随后,构建N-gram特征词表,包括利用结巴中文分词对大量文本(包括少量标注文本和大量未标注文本)按句子粒度进行分词,统计所有单个词和相邻两个词在语料中出现的频次,分别将频次大于某个阈值(比如频次大于3,也可以是是其它阈值)的单个词和相邻两个词保存到特征词表中。
在904,通过对所述标注文本计算类间距离来构建文本分类体系。
在本公开的一个实施例中,首先基于所提供的标注文本来初始化文本分类体系。具体而言,接收标注文本(即,带标注的句子的集合),基于附加到每一句句子的标注来对所有句子进行分组,即将带有相同标注的句子分为一组并且为每组标注句子指定分类体系中的一个单独类别,由此生成包括对应于每组标注句子的每一个类别的初始分类体系。
随后,提取标注文本的特征向量,并将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有标注文本的特征向量,以供挖掘出分类体系中相似性较高的分类。
在906,基于文本相似度计算来获取标注文本所属类别的扩充候选集以形成经扩充的文本分类体系以及经扩充的标注文本。
具体而言,对用户提供的未标注文本进行特征向量提取,包括利用结巴中文分词对用户提供的未标注文本按句子粒度分词,并使用文本分词结果来为未标注文本构建特征。特征包括分词结果的unigram特征、bigram特征和平均嵌入特征。随后,将每句句子的unigram特征、bigram特征和平均嵌入特征拼接起来并做归一化,得到所有未标注文本的特征向量(即,对应于每一句未标注句子的特征向量),以供通过相似度计算来选择扩充语料候选集,这通过计算每一条未标注文本(即,每一句未标注句子)的特征向量与当前各个类别的带标注文本(即,每一句带标注句子)的特征向量之间的距离来实现。
对于每一条未标注文本,当现有的各个类别中的所有已标注文本中的与该未标注文本距离最小的k个文本同属于现有的各个类别中的某一个类别且平均距离小于某个阈值时,则认为这条未标注文本是该类别的扩充语料候选。由此,对于所有未标注文本,从中选取属于相应类别的扩充语料候选文本,以形成经扩充的文本分类体系及其下经扩充的标注文本。
在908,结合有监督分类和无监督聚类来挖掘潜在的未定义类别和标注文本以进一步扩展经扩充的文本分类体系以及经扩充的标注文本。
具体而言,利用经扩充的标注文本的特征向量来训练多分类模型,以使得经训练的多分类模型能够预测其它未标注文本所属的类别。随后,利用经训练的多分类模型来预测每一条未标注文本属于每一个类别的概率。当某一条未标注文本的属于每一个类别的所有概率中的最高概率低于阈值时,则可以确定该未标注文本与所有已有分类的相关性较低,并且通过相同的方法选取所有此类未标注文本。
然后对与已有的所有分类具有低相关性的未标注文本的特征向量进行无监督聚类以获得具有多个相似语料文本的各个新类别,并且将所生成的具有多个相似语料文本的各个新类别加入到现有分类体系中,具体而言是将该新类别、与该新类别相关联的标注、以及该新类别中所包含的语料文本补充到经扩充的文本分类体系中以完成对经扩充的文本分类体系的进一步扩展和增强。
可任选地,由用户判断所生成的具有多个相似语料文本的各个新类别是否适合加入到现有分类体系中。在本发明的一个实施例中,如果用户认为或确认具有多个相似语料文本的一个新类别适合加入到现有分类体系中,则未定义类别确定子组件808将该新类别、与该新类别相关联的标注、以及该新类别中所包含的语料文本补充到经扩充的文本分类体系中以完成对经扩充的文本分类体系的进一步扩展和增强。
以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。