掌桥专利:专业的专利平台
掌桥专利
首页

分词方法及装置

文献发布时间:2023-06-19 15:47:50



技术领域

本公开涉及数据处理技术领域,尤其涉及一种分词方法及装置。

背景技术

随着人工智能技术的发展,自然语言处理(Natural Language Processing,NLP)成为重要分支之一。在自然语言处理中,需要对语料数据进行切分,以便为后续语义识别提供基础。

目前,中文分词方法主要有两种方式:一种是基于词典分词算法,即,将待匹配的字符串和人工构建的词典进行匹配,若在词典中查询到与字符串对应的词,说明匹配成功,可识别到该词。例如,正向最大匹配法、逆向最大匹配法、双向匹配分词法等。另外一种方式是,基于统计的分词方法,即基于人工构建的大规模分词文本,利用统计机器学习模型对汉字进行标注训练,从而实现对未知文本的切分。例如,HMM、CRF、SVM、深度学习等算法。在上述方法中,词典或者分词文本通常都是人工建立的,由于词典以及分词文本的规模较大,需要消耗较多人力,效率低,建立维护成本较高。

综上,如何提升分词效率,成为亟待解决的技术问题。

发明内容

本公开提供一种分词方法及装置,用以避免人工构建词典或分词文本带来的效率下降以及成本过高的问题,降低分词方案构建成成本,提升分词效率。

根据本公开实施例的第一方面,本公开提供一种分词方法,包括:

按照预设粒度将待处理语料划分为多个语料片段;

在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中;

通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息;

基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。

根据本公开实施例的第二方面,本公开提供一种分词装置,包括:

划分模块,被配置为按照预设粒度将待处理语料划分为多个语料片段;

预测模块,被配置为在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中;通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息;

切分模块,被配置为基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。

根据本公开实施例的第三方面,提供一种电子设备,其中包括处理器和存储器,其中,存储器上存储有可执行代码,当可执行代码被处理器执行时,使处理器至少可以实现第一方面中的分词方法。

根据本公开实施例的第四方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备执行时,使得电子设备能够执行至少可以实现第一方面中的分词方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现第一方面中的分词方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

本公开中,按照预设粒度将待处理语料划分为多个语料片段;在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中;通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息;基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。本公开中,通过预训练语言模型能够预测出遮罩片段的语料信息,从而通过预测得到的语料信息以及多个语料片段完成对待处理语料的分词处理,无需借助词典或分词文本即可完成分词,避免相关技术中人工构建词典或分词文本带来的效率下降以及成本过高的问题,大大降低分词方案构建成成本,提升分词效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种分词场景的示意图。

图2是根据一示例性实施例示出的一种分词方法的流程示意图。

图3是根据一示例性实施例示出的一种分词装置的结构示意图。

图4是根据一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

如前文所述,自然语言处理是人工智能领域的重要分支之一。

自然语言处理,是指计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。

分词是自然语言处理的基础任务之一,简单来说,分词就是将句子、文本段落分解为以字或词为单位的语料数据,以便后续对字词进行处理分析。

目前,中文分词方法主要有两种方式:一种是基于词典分词算法,即,将待匹配的字符串和人工构建的词典进行匹配,若在词典中查询到与字符串对应的词,说明匹配成功,可识别到该词。例如,正向最大匹配法、逆向最大匹配法、双向匹配分词法等。另外一种方式是,基于统计的分词方法,即基于人工构建的大规模分词文本,利用统计机器学习模型对汉字进行标注训练,从而实现对未知文本的切分。例如,HMM、CRF、SVM、深度学习等算法。在上述方法中,词典或者分词文本通常都是人工建立的,由于词典以及分词文本的规模较大,需要消耗较多人力,效率低,建立维护成本较高。综上,如何提升分词效率,成为亟待解决的技术问题。

为解决相关技术中存在的至少一个技术问题,本公开提供了一种分词方法及装置。

上述技术方案的核心思想是:按照预设粒度将待处理语料划分为多个语料片段;在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中;通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息;基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。本方案中,通过预训练语言模型能够预测出遮罩片段的语料信息,从而通过预测得到的语料信息以及多个语料片段完成对待处理语料的分词处理,无需借助词典或分词文本即可完成分词,避免相关技术中人工构建词典或分词文本带来的效率下降以及成本过高的问题,大大降低分词方案构建成成本,提升分词效率。

本公开中,上述方案可以由一个电子设备实现,该电子设备可以是诸如机器人、手机、平板电脑、可穿戴设备(如智能手环、VR眼镜等)、PC等终端设备。以机器人为例,可调用搭载在机器人中的专用应用程序实现,也可调用机器人中设置的其他应用程序实现,还可通过机器人调用云服务器实现。或者上述方案还可以由服务器实现。

本公开中,上述方案也可由多个电子设备配合实现。例如,服务器可以将执行结果发送到终端设备中,以供终端设备展示该执行结果。该服务器可以是包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器,或者也可以为云服务器,本公开并不限定。

以图1所示场景为例,终端设备可以将录制的待处理语料传输到服务器侧,服务器执行上述方案将匹配的分词结果返回终端设备,以使终端设备展示该反馈消息。在图1中,终端设备可以是机器人、手机、PC中的一个或多个。

基于前文介绍的核心思想,本公开实施例提供了一种分词方法,图2为本公开一示例性实施例提供的分词方法的流程示意图。如图2所示,该方法包括:

201、按照预设粒度将待处理语料划分为多个语料片段;

202、在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中;

203、通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息;

204、基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。

上述方法中,通过预训练语言模型能够预测出遮罩片段的语料信息,从而通过预测得到的语料信息以及多个语料片段完成对待处理语料的分词处理,无需借助词典或分词文本即可完成分词,避免相关技术中人工构建词典或分词文本带来的效率下降以及成本过高的问题,大大降低分词方案构建成成本,提升分词效率。

下面结合具体实施例介绍分词方法中的各个步骤。

201中,按照预设粒度将待处理语料划分为多个语料片段。

本公开中,预先设置的粒度包括但不限于:字(包括单个文字、字母、字符)、词(包括单词、短语等)、句。比如,假设待处理语料为“南京长江大桥”,并且预设粒度为字,那么,201中可以将“南京长江大桥”划分为“南”、“京”、“长”、“江”、“大”、“桥”这6个语料片段。

进而,在划分出待处理语料对应的多个语料片段之后,202中,在多个语料片段之间插入遮罩片段,并将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中。203中,通过预训练语言模型预测多个语料片段各自相邻的遮罩片段中的语料信息。

本公开中,预训练语言模型是指基于大型语料库的预训练模型(Pre-trainedModel,PTM)可以学习通用的语言表示,有利于下游NLP任务,同时能够避免从零开始训练模型。随着计算能力的发展,深度模型(Transformer)的出现和训练技巧的增强使得PTM不断发展,由浅变深。可以理解的是,预训练模型是一种迁移学习的应用,利用大量语料来学习输入信息的每一个成员上下文相关的语言表示,它隐式地学习到了通用的语法语义知识。

实际应用中,预训练语言模型包括但不限于:第一代预训练语言模型、第二代预训练语言模型、知识增强的预训练模型、多语言/跨语言的预训练模型、针对特定语言的预训练模型、多模态的预训练模型、针对特定领域的预训练模型、针对特定任务的预训练模型中的至少一个。可选地,预训练语言模型可以是是基于中文语料训练得到的BERT-Base(Chinese版)。

本公开中,遮罩片段可以理解为预训练任务中的Prompt。其中,Prompt是一种新的自然语言处理处理范式,主要表现在将下游任务的输入输出形式改造成预训练任务中的形式,即遮罩式语言模型(Masked Language Model,MLM)的形式。

具体来说,假设预设粒度为字。202中,首先在多个语料片段之间插入遮罩片段,然后将包含多个语料片段以及遮罩片段的待预测语料输入预训练语言模型中。进而,通过预训练语言模型输出多个语料片段各自相邻的遮罩片段对应的待选字集合。其中,待选字集合包括多个字。可选地,可以预先设置待选字集合所包括的字的数量。进一步地,待选字集合中预设数量的字按照置信度排序。例如,预设数量为K,那么,某一遮罩片段对应的待选字集合包括置信度排名前K位的语料信息。本公开中,语料信息包括但不限于:字(包括单个文字、字母、字符)、词(包括单词、短语等)、句。

继续上文示例,假设待处理语料为“南京长江大桥”,并且预设粒度为字,故而划分出的语料片段分别为:“南”、“京”、“长”、“江”、“大”、“桥”。基于上述假设,在202中,在上述6个语料片段之间插入遮罩片段。可选地,对语料片段进行预处理得到“南ⅰ京ⅱ市ⅲ长ⅳ江ⅴ大ⅵ桥”,进而,按照拉丁文数字顺序将mask位(即遮罩片段)插入到“南”、“京”、“长”、“江”、“大”、“桥”之间,得到包含多个语料片段以及mask位的待预测语料。

进一步,假设预训练语言模型为基于中文语料训练得到的BERT-Base(Chinese版)。假设mask位(即遮罩片段)表示为【mask】。基于上述假设,以i位为例,在i位插入【mask】得到“南【mask】京市长江大桥”,将“南【mask】京市长江大桥”输入BERT-Base模型中。

在203中,通过BERT-Base模型预测6个语料片段各自相邻的mask位中的语料信息。可选地,预先设置BERT-Base模型所预测的mask位中的语料信息数量。以i位为例,假设为预设数量为K,BERT-Base模型基于“南【mask】京市长江大桥”对i位的【mask】进行预测,从而输出该【mask】上可能存在的K个语料信息。具体地,假设语料信息为字,并且预设数量为6,那么,按照语序基于“南”可预测出该【mask】对应的待选字集合包括但不限于:方、北、城、京、宁、昌。

204中,基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果。举例来说,假设待处理预料为一段文本,那么,基于该文本对应的多个语料片段以及遮罩片段中的语料信息对待处理语料进行分词处理,可以得到目标分词结果如下:

“很久|很久|以前|整个|森林|都是|懒懒的|

知了|只在|饿了|的|时候|鸣叫|

候鸟|躲|在|洞穴|里|过冬|

狗熊|一年四季|都|在|舔着|蜂蜜|”

具体而言,204中基于多个语料片段以及语料信息对待处理语料进行分词处理,得到目标分词结果的一个可选实施例,可以实现为:

将各个遮罩片段中的语料信息与相邻的语料片段进行对比;从各个遮罩片段中确定语料信息与相邻语料片段均不匹配的第一遮罩片段,并在第一遮罩片段处标注切分标识;基于切分标识对待处理语料中的多个语料片段进行切分,得到目标分词结果。

可以理解的是,首先将各个遮罩片段中的语料信息与相邻的语料片段进行对比,此步骤意在根据遮罩片段中的语料信息与相邻的语料片段的匹配结果,判断是否需要对遮罩片段所处位置进行切分。以“南【mask】京市长江大桥”为例,如果【mask】的语料信息为“京”,那么,【mask】的语料信息与右侧的语料片段“京”匹配,此情况说明“南”与“京”可以合并成一次,无需切分。反之,以“南京市【mask】长江大桥”为例,如果【mask】的语料信息为“场”,那么,【mask】的语料信息与右侧的语料片段“长”匹配,此情况说明“市”与“长”并不能组成一个词,因此“市”与“长”之间需要切分。

进而,根据执行上述判断过程,从各个遮罩片段中确定语料信息与相邻语料片段均不匹配的第一遮罩片段,并在第一遮罩片段处标注切分标识。以“南京市【mask】长江大桥”为例,在“市”与“长”之间的【mask】标注切分标识。从而基于该切分标识对“南京市【mask】长江大桥”中的“市”与“长”进行切分,得到分词结果“南京市/长江大桥”。

举例来说,假设预设粒度为字。可选地,待选字集合中包括预设数量的字;待选字集合中预设数量的字按照置信度排序。

基于上述上文介绍,在一可选实施例中,203中通过预训练语言模型输出多个语料片段各自相邻的遮罩片段对应的待选字集合。该待选字集合包括多个字。

基于此,上述步骤中,可选地,从各个遮罩片段中确定语料信息与相邻语料片段均不匹配的第一遮罩片段的步骤,可以实现为:在各个遮罩片段对应的待选字集合中,查询是否存在与各个遮罩片段相邻的语料片段中一致的字;若待选字集合中不存在与相邻语料片段中一致的字,则确定当前遮罩片段的语料信息与相邻语料片段均不匹配,并以当前遮罩片段作为第一遮罩片段。

仍以“南京市【mask】长江大桥”为例,假设【mask】对应的待选字集合为N位。在【mask】对应的待选字集合中,查询是否存在与该【mask】相邻的语料片段中一致的字。可选地,可以按照语序判断是否有与右侧语料片段相同的字。进一步假设【mask】对应的待选字集合包括:场、政、容、貌,从上述几个字中查询不到与右侧语料片段匹配的“长”字,此情况下,可以确定【mask】上的字与相邻的字不匹配,并将【mask】相邻左右两侧的“市”与“长”之间需要切分,以“市”与“长”之间的【mask】作为第一遮罩片段。

可选地,若待选字集合中存在与相邻的任一语料片段中一致的字,则确定当前遮罩片段的语料信息与相邻语料片段匹配,并将当前遮罩片段相邻的语料片段合并为一个词。仍以“南【mask】京市长江大桥”为例,假设【mask】对应的待选字集合为N位。在【mask】对应的待选字集合中,查询是否存在与该【mask】相邻的语料片段中一致的字。进一步假设【mask】对应的待选字集合包括:方、北、城、京、宁、昌,从上述几个字中查询到与右侧语料片段匹配的“京”字,此情况下,可以确定【mask】上的字与相邻的字匹配,并将【mask】相邻左右两侧的“南”与“京”合并为一个词。

可选地,合并后的词可以作为新增的语料片段输入到预训练语言模型中,作为预测多个语料片段各自相邻的所述遮罩片段中的语料信息的依据之一。例如,“南”与“京”合并为“南京”之后,待预测语料变化为“南京【mask】市【mask】长【mask】江【mask】大【mask】桥”。值得说明的是,执行上述步骤204的具体实施方式,可以将“南京市长江大桥”切分为“南京|市|长江|大桥”。

实际应用中,经过以清华分词语料测试集(pku_test.utf8,pku_test_gold.utf8)作为标注集测试分词结果,采用上述步骤得到的F1值65.6%,接近70%。F1是精确度(precision)和召回率(recall)这两个指标的调和平均数,一般用于评价样本有偏的分类问题的模型性能。通常,F1值越高,模型对精确度和召回率的兼顾程度越好。

通过图2示出的分词方法中,通过预训练语言模型能够预测出遮罩片段的语料信息,从而通过预测得到的语料信息以及多个语料片段完成对待处理语料的分词处理,无需借助词典或分词文本即可完成分词,避免相关技术中人工构建词典或分词文本带来的效率下降以及成本过高的问题,大大降低分词方案构建成成本,提升分词效率。

图3为本公开实施例提供的一种分词装置。如图3所示,其中该分词装置包括:

划分模块301,被配置为按照预设粒度将待处理语料划分为多个语料片段;

预测模块302,被配置为在所述多个语料片段之间插入遮罩片段,并将包含所述多个语料片段以及所述遮罩片段的待预测语料输入预训练语言模型中;通过所述预训练语言模型预测多个语料片段各自相邻的所述遮罩片段中的语料信息;

切分模块303,被配置为基于所述多个语料片段以及所述语料信息对所述待处理语料进行分词处理,得到目标分词结果。

可选地,所述切分模块303基于所述多个语料片段以及所述语料信息对所述待处理语料进行分词处理得到目标分词结果的过程中,被具体配置为:

将各个遮罩片段中的语料信息与相邻的语料片段进行对比;

从各个遮罩片段中确定语料信息与相邻语料片段均不匹配的第一遮罩片段,并在第一遮罩片段处标注切分标识;

基于所述切分标识对所述待处理语料中的多个语料片段进行切分,得到所述目标分词结果。

可选地,所述预设粒度为字。

所述预测模块302通过所述预训练语言模型预测多个语料片段各自相邻的所述遮罩片段中的语料信息的过程中,被具体配置为:

通过所述预训练语言模型输出多个语料片段各自相邻的遮罩片段对应的待选字集合,所述待选字集合包括多个字。

可选地,所述切分模块303从各个遮罩片段中确定语料信息与相邻语料片段均不匹配的第一遮罩片段的过程中,被具体配置为:

在各个遮罩片段对应的待选字集合中,查询是否存在与各个遮罩片段相邻的语料片段中一致的字;

若待选字集合中不存在与相邻语料片段中一致的字,则确定当前遮罩片段的语料信息与相邻语料片段均不匹配,并以当前遮罩片段作为第一遮罩片段。

可选地,还包括合并模块,被配置为若待选字集合中存在与相邻的任一语料片段中一致的字,则确定当前遮罩片段的语料信息与相邻语料片段匹配,并将当前遮罩片段相邻的语料片段合并为一个词。

可选地,所述待选字集合中包括预设数量的字,所述待选字集合中预设数量的字按照置信度排序。

可选地,预训练语言模型包括第一代预训练语言模型、第二代预训练语言模型、知识增强的预训练模型、多语言/跨语言的预训练模型、针对特定语言的预训练模型、多模态的预训练模型、针对特定领域的预训练模型、针对特定任务的预训练模型中的至少一个。

上述分词装置可以执行前述各实施例中提供的系统或方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。

在一个可能的设计中,上述分词装置的结构可实现为一电子设备。如图4所示,该电子设备可以包括:处理器21、存储器22。其中,存储器22上存储有可执行代码,当可执行代码被处理器21执行时,至少使处理器21可以实现如前述实施例中提供的分词方法。

其中,该电子设备的结构中还可以包括通信接口23,用于与其他设备或通信网络通信。

另外,本公开还提供了一种包括指令的计算机可读存储介质,介质上存储有可执行代码,当可执行代码被无线路由器的处理器执行时,使处理器执行前述各实施例中提供基于神经网络的特征数据处理方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现前述各实施例中提供基于神经网络的特征数据处理方法。该计算机程序/指令是由运行在终端或服务器上的程序实现的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

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

相关技术
  • 分词词典的生成方法和装置及分词处理方法和装置
  • 分词词典的生成方法和装置及分词处理方法和装置
技术分类

06120114583148