一种文本数据的分词方法、装置及电子设备与流程

专利2022-06-29  61


本说明书涉及软件技术领域,特别涉及一种文本数据的分词方法、装置及电子设备。



背景技术:

现有技术中,不同领域往往涉及不同的领域专有名词,如花呗、借呗、相互宝、网商贷、淘票票、周周乐、飞猪等,对分词粒度的需求也不尽相同,往往需要对每个不同的领域训练专有的分词模型,来实现不同领域内的领域分词。



技术实现要素:

本说明书实施例提供一种文本数据的分词方法、装置及电子设备,用于降低多领域文本数据分词的成本。

第一方面,本说明书实施例提供一种文本数据的分词方法,该方法包括:

通过通用分词模型对文本数据进行分词获得通用分词结果;

获取所述文本数据所属业务领域的业务领域专有名词;

根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

可选的,该分词方法还包括:将所述领域分词结果中的目标分词替换为所述业务领域中的标准词,其中,在所述业务领域内所述目标分词为所述标准词的同义词;获得替换后的所述领域分词结果作为领域同义分词结果。

可选的,所述业务领域专有名词采用双数组树结构存储,所述双数组树的每一个节点存储一个字,所述双数组树的一个根节点到叶节点上的所有字构成一个专有名词。

可选的,在根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果之前,所述方法还包括:

根据预设的修复规则对所述通用分词结果进行修正,其中,所述修复规则包括词语之间的词性匹配规则和/或正则匹配规则;

并通过修正结果更新所述通用分词结果。

可选的,根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果,包括:

判断所述通用分词结果中相邻的通用分词是否与所述业务领域专有名词中的专有名词匹配;

若判断结果为是,将所述通用分词结果中所述相邻的通用分词合并为所述专有名词,获得所述领域分词结果。

可选的,所述业务领域专有名词中包含所述业务领域专有的标准词和所述标准词的同义词。

第二方面,本说明书实施例提供一种文本数据的分词装置,该装置包括:

通用分词单元,用于通过通用分词模型对文本数据进行分词获得通用分词结果;

获取单元,用于获取所述文本数据所属业务领域的业务领域专有名词,其中,所述业务领域专有名词采用双数组树结构存储;

领域分词单元,用于根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

可选的,所述装置还包括:同义分词单元,用于将所述领域分词结果中的目标分词替换为所述业务领域中的标准词,其中,在所述业务领域内所述目标分词为所述标准词的同义词;获得替换后的所述领域分词结果作为领域同义分词结果。

可选的,所述业务领域专有名词采用双数组树结构存储,所述双数组树的每一个节点存储一个字,所述双数组树的一个根节点到叶节点上的所有字组成一个专有名词。

可选的,所述装置还包括:修正单元,用于在根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果之前,根据预设的修复规则对所述通用分词结果进行修正,其中,所述修复规则包括词语之间的词性匹配规则和/或正则匹配规则;并通过修正结果更新所述通用分词结果。

可选的,所述领域分词单元用于:判断所述通用分词结果中相邻的通用分词是否与所述业务领域专有名词中的专有名词匹配;若判断结果为是,将所述通用分词结果中所述相邻的通用分词合并为所述专有名词,获得所述领域分词结果。

可选的,所述业务领域专有名词中包含所述业务领域专有的标准词和所述标准词的同义词。

第三方面、本说明书实施例一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面任一所述方法的步骤。

第四方面、本说明书实施例一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序所包含的用于进行如第一方面任一所述方法对应的操作指令。

本说明书实施例中的上述一个或多个技术方案,至少具有如下技术效果:

本说明书实施例提供一种分词方法,该分词方法通过通用分词模型对文本数据进行分词获得通用分词结果;获取文本数据所属业务领域的业务领域专有名词;根据该业务领域专有名词和通用分词结果对文本数据进行分词,获得文本数据的领域分词结果。通过分词模型和业务业领域专业名词的结合,针对不同领域的领域分词只需获取对应领域的领域专有名词即可,从而可以由了一个模型实现多个领域的领域分词,解决了现有技术中多领域分词需要多个领域分词模型导致的成本过高的技术问题,降低了模型训练和模型维护成本。

附图说明

为了更清楚地说明本说明书实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书实施例提供的一种分词方法的流程图;

图2为本说明书实施例提供的双数组树的存储示意图;

图3为本说明书实施例提供的一种分词装置的示意图;

图4为本说明书实施例提供的一种电子设备的示意图。

具体实施方式

为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

在本说明书实施例提供一种文本数据的分词方法,用于实现一个模型对多个领域进行领域分词,以解决现有技术中多领域分词需要多个领域分词模型导致的成本过高的技术问题,降低模型训练和模型维护成本。

下面结合附图对本说明书实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。

实施例

本实施例提供一种分词器,适用于涉及多领域场景下的分词,如搜索场景下的分词。该分词器包括:通用分词模型和n个专有名词存储模块,n≥2。其中,通用分词模型采用常规语料库中的语料作为训练样本进行分词模型训练,适用于各个业务领域内普通语料的分词。每个专有名词存储模块存储一个业务领域的专有名词和该业务领域对应的唯一业务领域标识即业务领域id(identitydocument,唯一编码),通过该业务领域id可以查找获得该业务领域对应的专有名词。

基于上述分词器,本实施例提供一种文本数据的分词方法,请参考图1,该方法包括:

s11:通过通用分词模型对文本数据进行分词获得通用分词结果。

其中,通用分词模型可以使用已有的通用分词模型,无需再单独训练。

s13:获取文本数据所属业务领域的业务领域专有名词。

分词器中业务领域的专有名词和该业务领域对应的唯一业务领域标识,在获取业务领域专有名词时,可以根据文本数据对应的业务领域标识查找获取相应的业务领域专有名词。其中,业务领域标识即业务领域id为预定义的编码、名称或符号等,可以由用户直接输入,也可以根据文本数据所属业务领域进行查找获得。业务领域专有名词为某个业务领域中特有的、常用的或者专属的名词,通常包含多个,以集合的形式存在。

业务领域专有名词可以采用普通表格的方式存储,也可以双数组树结构存储。双数组树是搜索树的一种,由两个整数数组构成,用于建立有效的数据检索组织结构,如图2所示。业务领域专有名词通用双数组树结构存储时,一个节点存储一个字,从根节点到叶节点上的所有字构成一个专有名词。通过双数组树结构来存储业务领域专有名词占用存储空间少,匹配效率高,一旦根节点上的字与待检索词的首字不匹配,那么整个词就不匹配,无需再匹配后续节点。

s15:根据业务领域专有名词和通用分词结果对文本数据进行分词,获得文本数据的领域分词结果。

其中,领域分词结果是将业务领域专有名词划分一个分词即进行领域分词的结果。具体实施时,可以先判断通用分词结果中相邻的通用分词是否与业务领域专有名词中的专有名词匹配;若判断结果为是,将通用分词结果中该相邻的通用分词合并为专有名词,获得领域分词结果;若判断结果为否,则保持原有的分词结果。

例如:请参考图2,为采用双数组树结构存储专有名词的示意图,图中存储的专有名词包括“芝士蛋糕”、“芝士开盖”以及“味道醇厚”。假设一通用分词结果为“芝士/蛋糕/味道/很/好”,根据该通用分词结果和该业务领域专有名词对“芝士蛋糕味道很好”进行分词,可以判断出相邻的通用分词“芝士”和“蛋糕”与其业务领域专有名词“芝士蛋糕”匹配,那么将这两个分词合并为一个分词得到其所属业务领域的专有名词;而对于通用分词“味道”/“很”/“好”,判断出其与专有名词“味道醇厚”不匹配,则保留原分词结果,最终获得领域分词结果为“芝士蛋糕/味道/很/好”。其中,采用双数组树对通用分词“味道”/“很”/“好”与业务领域专有名词进行匹配时,匹配到“很”与“醇”不匹配即可以停止,无需再匹配后续节点,领域分词效率大大提高。

通过通用分词模型与业务领域专有名词相结合的方式,无需为每一个业务领域训练领域分词模型,即无需对业务领域内的语料进行人工数据标注获得训练样本并训练领域分词模型,并且,由于领域分词不采用领域分词模型的方式实现,而是采用存储各个业务领域专有名词的方式,在迁移至新的业务场景时,只需更新新的业务领域专有名词即可,无需重新进行模型训练,可达到快速迁移的目的。通过通用分词模型与业务领域专有名词相结合的方式,只需要一个通用分词模型,由于通用分词模型的样本的普适性和特征变换频率极低的特点,无论是训练还是维护都相对简单;关于业务领域专有名词的更新,也无需对通用分词模型进行更新训练,大大降低了开发和维护成本。并且,通用分词模型与业务领域专有名词相结合实现多业务领域的领域分词,对分词模型有更弱的依赖性,具有更强的容错能力。

在具体实施过程中,为了分词的准确性,本实施例还在s13进行领域分词之前,对通用分词模型输出的通用分词结果进行修正。具体可以根据预设的修复规则对通用分词结果进行修正;并通过修正结果更新通用分词结果。

其中,预设的修复规则可以包括词语之间的词性匹配规则和/或正则匹配规则。词性匹配规则为依据语法要求不同词性之间的搭配规则,例如:假设一条词性匹配规则为:名词 副词 形容词,通用分词输出的通用分词结果为“你好/帅”,那么根据该词性匹配规则对“你好/帅”进行修正,可以获得修正结果“你/好/帅”,进而据此将通用分词结果更新为“你/好/帅”,由此可提高通用分词的准确性,进而提高领域分词的准确性。同样的,正则匹配规则是指通过表达式的方式来表征词语之间的匹配规则,例如:正则匹配规则可以为:“你好/*<star1>/<star2>:a|ad|an|ag|al->你/rr好/d<star1>/<star2>”,表示“你好”后面接形容词a、副词ad等时,分词应该为“你/好”。需要说明的是,本实施例并不限制具体使用哪一种修复规则。

本实施例通过对通用分词结果进行修正,进一步提高通用分词结果的精准度,即使通用分词精准度不够,通过修复规则的修正也可以获取较为精准的分词结果,因此本实施例中不要求通用分词模型输出的通用分词极其精准,降低了对通用分词模型精准度的要求。

针对修复规则修正后的通用分词结果或通用分词模型输入的通用分词结果,需要结合对应业务领域专有名词来进行领域分词。本实施例提供的业务领域专有名词中可以包含其业务领域专有的标准词和该标准词的同义词。其中,标准词的同义词包括与标准词语义相同的词,如“相互”和“互相”,也包括标准词对应的错词,如因为输入错误常出现“相互宝”错误输入为“相互保”。将标准词的同义词也一并考虑到领域分词中,能够进一步提高领域分词的准确性。

在根据通用分词结果和业务领域专有名词获得领域分词之后,还可以进行同义词替换。具体的,将领域分词结果中的目标分词替换为业务领域中的标准词,其中,在业务领域内的该目标分词为标准词的同义词;获得替换后的领域分词结果作为领域同义分词结果,以输出领域同义分词结果。例如:假设对数据文本“相互保”进行分词,先通过通用分词模型分词,获得通用分词结果“相互/保”,再进行领域分词,具体实现形式如下:

stringappid=“1000tyc”;

#1000为业务领域id,tyc代表同义词,1000tyc是指1000对应业务领域下的同义分词结果,先查找该业务领域id,若无业务领域id,默认返回通用分词结果;若存在该业务领域id,获取相应的业务领域专有名词以进行领域分词;

stringsentence=“相互保”;

#相互宝是1000业务领域内的一个产品名称

system.out.println(sentence “\t通用分词结果:” antsegmentor.getwords(sentence));

system.out.println(sentence “\t领域分词结果:” antsegmentor.getthirdpartywords(appid,sentence));

上述分词结果则为:

相互保通用分词结果:相互/d保/v

相互保领域同义分词结果:相互宝/nud

在上述实施例中,使用通用分词模型获得通用分词结果后,结合业务领域id获得的业务领域专有名词对通用分词结果进行优化获得领域分词,针对不同的领域分词,根据其相应的业务领域专有名词和通用分词模型即可实现领域分词。由于通过分词模型和业务业领域专业名词的结合,针对不同领域的领域分词只需获取对应领域的领域专有名词即可,从而可以由了一个模型实现多个领域的领域分词,解决了现有技术中多领域分词需要多个领域分词模型导致的成本过高的技术问题,降低了模型训练和模型维护成本。进一步的,上述实施例针对业务领域专有名词还词用双数组树来进行存储,大大减少各个业务领域专有名词对存储空间的占用同时提高专有名词的查找效率,进而提高了领域分词的效率。

请参考图3,基于上述实施例提供的一种文本数据的分词方法,本说明书实施例还提供一种文本数据的分词装置,该装置包括:

通用分词单31,用于通过通用分词模型对文本数据进行分词获得通用分词结果;

获取单元32,用于获取所述文本数据所属业务领域的业务领域专有名词,其中,所述业务领域专有名词采用双数组树结构存储;

领域分词单元33,用于根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

作为一种可选的实施方式,所述业务领域专有名词采用双数组树结构存储,所述双数组树的每一个节点存储一个字,所述双数组树的一个根节点到叶节点上的所有字组成一个专有名词。

作为一种可选的实施方式,所述装置还包括:同义分词单元34,用于将所述领域分词结果中的目标分词替换为所述业务领域中的标准词,其中,在所述业务领域内所述目标分词为所述标准词的同义词;获得替换后的所述领域分词结果作为领域同义分词结果。

作为一种可选的实施方式,所述装置还包括:修正单元35,用于在根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果之前,根据预设的修复规则对所述通用分词结果进行修正,其中,所述修复规则包括词语之间的词性匹配规则和/或正则匹配规则;并通过修正结果更新所述通用分词结果。

作为一种可选的实施方式,所述领域分词单元33用于:判断所述通用分词结果中相邻的通用分词是否与所述业务领域专有名词中的专有名词匹配;若判断结果为是,将所述通用分词结果中所述相邻的通用分词合并为所述专有名词,获得所述领域分词结果。其中,所述业务领域专有名词中包含所述业务领域专有的标准词和所述标准词的同义词。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关方法的实施例中进行了详细描述,此处不再详细阐述。

请参考图4,是根据一示例性实施例示出的一种用于文本数据的分词方法的电子设备700的框图。例如,电子设备700可以是计算机,数据库控制台,平板设备,个人数字助理等。

参照图4,电子设备700可以包括以下一个或多个组件:处理组件702,存储器704,电源组件706,多媒体组件708,输入/输出(i/o)的接口710,以及通信组件712。

处理组件702通常控制电子设备700的整体操作,诸如与显示,数据通信,及记录操作相关联的操作。处理元件702可以包括一个或多个处理器720来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。

存储器704被配置为存储各种类型的数据以支持在设备700的操作。这些数据的示例包括用于在电子设备700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为电子设备700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为电子设备700生成、管理和分配电力相关联的组件。

i/o接口710为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

通信组件712被配置为便于电子设备700和其他设备之间有线或无线方式的通信。电子设备700可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件712经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件712还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器704,上述指令可由电子设备700的处理器720执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得电子设备能够执行一种文本数据的分词方法,所述方法包括:通过通用分词模型对文本数据进行分词获得通用分词结果;获取所述文本数据所属业务领域的业务领域专有名词;根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

应当理解的是,本实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本实施例的范围仅由所附的权利要求来限制

以上所述仅为本实施例的较佳实施例,并不用以限制本实施例,凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。


技术特征:

1.一种文本数据的分词方法,该方法包括:

通过通用分词模型对文本数据进行分词获得通用分词结果;

获取所述文本数据所属业务领域的业务领域专有名词;

根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

2.如权利要求1所述的方法,所述方法还包括:

将所述领域分词结果中的目标分词替换为所述业务领域中的标准词,其中,在所述业务领域内所述目标分词为所述标准词的同义词;

获得替换后的所述领域分词结果作为领域同义分词结果。

3.如权利要求1所述的方法,所述业务领域专有名词采用双数组树结构存储,所述双数组树的每一个节点存储一个字,所述双数组树的一个根节点到叶节点上的所有字构成一个专有名词。

4.如权利要求1所述的方法,在根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果之前,所述方法还包括:

根据预设的修复规则对所述通用分词结果进行修正,其中,所述修复规则包括词语之间的词性匹配规则和/或正则匹配规则;

并通过修正结果更新所述通用分词结果。

5.如权利要求1所述的方法,根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果,包括:

判断所述通用分词结果中相邻的通用分词是否与所述业务领域专有名词中的专有名词匹配;

若判断结果为是,将所述通用分词结果中所述相邻的通用分词合并为所述专有名词,获得所述领域分词结果。

6.如权利要求1~5任一所述方法,所述业务领域专有名词中包含所述业务领域专有的标准词和所述标准词的同义词。

7.一种文本数据的分词装置,该装置包括:

通用分词单元,用于通过通用分词模型对文本数据进行分词获得通用分词结果;

获取单元,用于获取所述文本数据所属业务领域的业务领域专有名词,其中,所述业务领域专有名词采用双数组树结构存储;

领域分词单元,用于根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果。

8.如权利要求7所述的装置,所述装置还包括:

同义分词单元,用于将所述领域分词结果中的目标分词替换为所述业务领域中的标准词,其中,在所述业务领域内所述目标分词为所述标准词的同义词;获得替换后的所述领域分词结果作为领域同义分词结果。

9.如权利要求7所述的装置,所述业务领域专有名词采用双数组树结构存储,所述双数组树的每一个节点存储一个字,所述双数组树的一个根节点到叶节点上的所有字组成一个专有名词。

10.如权利要求7所述的装置,所述装置还包括:

修正单元,用于在根据所述业务领域专有名词和所述通用分词结果对所述文本数据进行分词,获得所述文本数据的领域分词结果之前,根据预设的修复规则对所述通用分词结果进行修正,其中,所述修复规则包括词语之间的词性匹配规则和/或正则匹配规则;并通过修正结果更新所述通用分词结果。

11.如权利要求7所述的装置,所述领域分词单元用于:

判断所述通用分词结果中相邻的通用分词是否与所述业务领域专有名词中的专有名词匹配;

若判断结果为是,将所述通用分词结果中所述相邻的通用分词合并为所述专有名词,获得所述领域分词结果。

12.如权利要求7~11任一所述装置,所述业务领域专有名词中包含所述业务领域专有的标准词和所述标准词的同义词。

13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~5任一所述方法的步骤。

14.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序所包含的用于进行如权利要求1~5任一所述方法对应的操作指令。

技术总结
本说明书公开了一种文本数据的分词方法、装置及电子设备。该分词方法包括:通过通用分词模型对文本数据进行分词获得通用分词结果;以及获取文本数据所属业务领域的业务领域专有名词;从而根据该业务领域专有名词和通用分词结果对文本数据进行分词,获得文本数据的领域分词结果。在该技术方案中,通过分词模型和业务领域专有名词的结合,针对不同领域的领域分词只需获取对应领域的领域专有名词即可,从而可以由了一个模型实现多个领域的领域分词,解决了现有技术中多领域分词需要多个领域分词模型导致的成本过高的技术问题,降低了模型训练和模型维护成本。

技术研发人员:刘凡
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2020.01.16
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54767.html

最新回复(0)