CN109918665A - 文本的分词方法、装置和电子设备 - Google Patents
文本的分词方法、装置和电子设备 Download PDFInfo
- Publication number
- CN109918665A CN109918665A CN201910165628.XA CN201910165628A CN109918665A CN 109918665 A CN109918665 A CN 109918665A CN 201910165628 A CN201910165628 A CN 201910165628A CN 109918665 A CN109918665 A CN 109918665A
- Authority
- CN
- China
- Prior art keywords
- participle
- path
- optional
- word
- dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000011218 segmentation Effects 0.000 claims abstract description 12
- 230000009191 jumping Effects 0.000 claims description 34
- 238000010276 construction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 6
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 14
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000005336 cracking Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本发明提供了一种文本的分词方法、装置和电子设备,涉及人工智能技术领域,该方法包括:获取固定词典树和动态词典树;根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径;基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径;将目标分词路径包含的各词语作为待分词文本的分词结果。在对文本进行分词时采用的是预先构建好的固定词典树和构建过程很快的动态词典树,因此减少了文本分词的时间,节省了内存空间,提高了整体系统性能,从而提高了用户体验感。
Description
技术领域
本发明涉及人工智能技术领域,尤其是涉及一种文本的分词方法、装置和电子设备。
背景技术
对于目前的文本分词中,有一种基于词典的分词方法。即预先保存一份海量词典,通过该词典的词语来匹配文本的句子,该方法的本质是一种搜索过程。为了提高匹配速度,根据词典里的词语预先构建一棵树,称为字典树,在匹配的过程不需要遍历该字典树,只需要从字典树的根节点顺序走到某条分支的叶节点,这样大大提高了匹配速度。
按照上述方法虽然提高了匹配速度,但是构建字典树的时间过长,即在每次进行文本分词都要构建一次字典树,需要很长的时间。其次在系统管理内存回收的环境中占用大量空间,比如Java虚拟机中容易产生大量临时对象。
发明内容
有鉴于此,本发明的目的在于提供一种文本的分词方法、装置和电子设备,以减少文本分词的时间,节省内存空间,从而提高用户体验感。
第一方面,本发明实施例提供了一种文本的分词方法,所述方法包括:获取固定词典树和动态词典树;其中,所述固定词典树由固定词汇预先构建,所述动态词典树由动态词汇动态构建;根据所述固定词典树和所述动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,所述固定分词组和所述动态分词组分别包括多个词语;根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径;基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径;将所述目标分词路径包含的各词语作为所述待分词文本的分词结果。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径,包括:将所述固定分词组中的各词语和所述动态分词组中的各词语合并在一个词语集合中;判断所述词语集合中是否存在重复的词语;如果存在,则从所述词语集合中去除重复的词语,得到合并词语组;根据所述合并词语组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径,包括:基于最短路径算法确定各所述可选分词路径的分词跳数值,所述分词跳数值与所述可选分词路径包含的词语数量和词语长度相关;确定各所述可选分词路径包含的各词语的热度值;根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径,包括:分别计算每条所述可选分词路径包含的各词语的热度值相加后的总热度值;根据每条所述可选分词路径的总热度值与其分词跳数值,计算得到每条所述可选分词路径的综合值;根据各条所述可选分词路径的综合值的大小从多条所述可选分词路径中筛选出目标分词路径。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述根据每条所述可选分词路径的综合值的大小从多条所述可选分词路径中筛选出目标分词路径,包括:根据各条所述可选分词路径的综合分值的大小,对各条所述可选分词路径进行排序,得到排序结果;根据所述排序结果,从各条所述可选分词路径中选取预设数量条可选分词路径作为目标分词路径。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:获取构建所述动态词典树的时间;判断构建所述动态词典树的时间是否超过预设时间;如果是,将所述动态词典树中的动态词汇转移到所述固定词典树中。
第二方面,本发明实施例还提供一种文本的分词装置,所述装置包括:第一获取模块,用于获取固定词典树和动态词典树;其中,所述固定词典树由固定词汇预先构建,所述动态词典树由动态词汇动态构建;划分模块,用于根据所述固定词典树和所述动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,所述固定分词组和所述动态分词组分别包括多个词语;第二获取模块,用于根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径;路径确定模块,用于基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径;结果确定模块,用于将所述目标分词路径包含的各词语作为所述待分词文本的分词结果。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述路径确定模块具体用于:基于最短路径算法确定各所述可选分词路径的分词跳数值,所述分词跳数值与所述可选分词路径包含的词语数量和词语长度相关;确定各所述可选分词路径包含的各词语的热度值;根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
第三方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有程序,该程序在被处理器运行时用于执行上述第一方面中所述的方法。
第四方面,本发明实施例提供了一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行该计算机程序时实现上述第一方面中所述的方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例中,文本的分词方法包括:获取固定词典树和动态词典树;其中,固定词典树由固定词汇预先构建,动态词典树由动态词汇动态构建;根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,固定分词组和动态分词组分别包括多个词语;根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径;基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径;将目标分词路径包含的各词语作为待分词文本的分词结果。本发明实施例提供的文本的分词方法、装置和电子设备,在对文本进行分词时采用的是固定词典树和动态词典树,其中固定词典树是预先构建好的,而动态构建的动态词典树由于其包含的词语较少,构建过程很快,因此与相关现有技术相比,减少了文本分词的时间,节省了内存空间,提高了整体系统性能,从而提高了用户体验感。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文本的分词方法的流程示意图;
图2为本发明实施例提供的一种固定词典树的结构示意图;
图3为本发明实施例提供的另一种文本的分词方法的流程示意图;
图4为本发明实施例提供的一种词典树管理的流程示意图;
图5为本发明实施例提供的一种文本的分词装置的结构示意图;
图6为本发明实施例提供的另一种文本的分词装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前通过构建字典树来对文本进行分词,文本分词所需的时间过长,且占用大量内存空间。基于此,本发明实施例提供的一种文本的分词方法、装置和电子设备,可以减少文本分词的时间,节省内存空间,从而提高用户体验感。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种文本的分词方法进行详细介绍。
图1为本发明实施例提供的一种文本的分词方法的流程示意图,该方法可以由安装有相应软件的电子设备来执行,该电子设备在运行该软件时可以实现该方法。如图1所示,该方法包括如下步骤:
步骤S101,获取固定词典树和动态词典树。
其中,固定词典树由固定词汇预先构建,动态词典树由动态词汇动态构建。
本实施例中将所有的词(词语)分成两部分:固定不变的部分和经常变化(经常增加、删除或修改)的部分。固定不变的部分是指那些不会变化词汇(固定词汇),比如城市名、著名景点、名人等;经常变化的部分指动态变化词汇(动态词汇),比如用户自定义前后缀以及新出现的名人、商家、景点等。动态词汇中经常出现词的增加、删除或修改,其中增加的比较多,比如出现的新的词汇、新出现的名人等。新增词汇一般可以由人工整理,目前最常见的来源是不能识别的用户词汇,通过人工检查错误日志,发现这样的陌生词汇,然后添加到动态词汇中。
与固定词汇相对应的固定不变的那部分词典(固定词典),预先构建好词典树,持久化地保存起来,例如序列化保存在数据库或文件中,该预先构建的词典树称为固定词典树;与动态词汇相对应的经常变化的词典(动态词典),每次软件启动的时候动态构建词典树,该动态构建的词典树称为动态词典树。动态词典树的规模比较小,这样既不要每次启动就构建一颗大的词典树,又照顾到了新的词。基于此,软件启动后,步骤S101的具体过程可以如下:直接加载由固定词汇预先构建的固定词典树,并根据动态词汇构建动态词典树,从而得到固定词典树和动态词典树。
下面以固定词典树为例对词典树的结构进行具体介绍:这里的词典树称为词典前缀树(Trie树),是将字符串中的每一个字符或汉字,存放到一个树形结构中,主要是为了减少查找时间,便于字符串查找,所以又叫查找树。比如由“清华”、“清华大学”、“清新”、“中华”、“华人”五个中文词构成的固定词典树如图2中所示。
步骤S102,根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,固定分词组和动态分词组分别包括多个词语。
待分词文本可以包括一个句子,也可以包括多个句子。本发明实施例针对中文文本进行举例说明,但在实际应用中并不限于中文文本。对待分词文本的分词行为针对固定词典树和动态词典树分别进行,得到基于固定词典树分出来的词汇列表(固定分词组)和基于动态词典树分出来的词汇列表(动态分词组)。
步骤S103,根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径。
由于固定词典树和动态词典树中可能存在相同的词语,因此固定分词组和动态分词组所包括的词语可能存在重复的情况,需要对固定分词组和动态分词组进行词语的去重合并。比如基于固定词典树分词得到词汇列表为[A,B,C],基于动态词典树分词得到词汇列表为[C,D,E],则合并后的结果就是[A,B,C,D,E],重复部分只保留一份。基于此,上述步骤S103可以包括如下过程:将固定分词组中的各词语和动态分词组中的各词语合并在一个词语集合中;判断该词语集合中是否存在重复的词语;如果存在,则从该词语集合中去除重复的词语,得到合并词语组;根据合并词语组中的各词语,获取对待分词文本进行分词的多条可选分词路径。
基于合并词语组中的各词语,会有很多种对待分词文本进行分词的词语组合,从而可以得到与该多种词语组合对应的多条可选分词路径,可选分词路径包括对应词语组合中的各个词语以及待分词文本中包含的除这些词语之外的各个字。
比如对于句子“我们在野生动物园玩”,合并词语组中的各词语如下:
“我们”
“在野”
“野生”
“动物”
“野生动物”
“野生动物园”
“动物园”。
则可能的可选分词路径有:
路径1:[我们]在野生动物园玩
路径2:[我们][在野]生[动物]园玩
路径3:[我们][在野]生[动物园]玩
路径4:[我们]在[野生动物园]玩
路径5:[我们]在[野生动物]园玩。
其中,路径1中仅包括一个词语[我们],其它均为未分出词的字;路径2中包括[我们]、[在野]、[动物]三个词语;路径3中包括[我们]、[在野]、[动物园]三个词语;路径4中包括[我们]和[野生动物园]两个词语;路径4中包括[我们]和[野生动物]两个词语。
步骤S104,基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径。
在一些可能的实施例中,最短路径算法包括Dijkstra算法、Bellman-Ford算法、Floyd算法或SPFA(Shortest Path Faster Algorithm,最短路径快速算法)算法等。基于KSP(top-K shortest path,最短路径算法)和各可选分词路径包含的各词语可以从各可选分词路径中选出K(K表示最佳分词路径的路径条数,K是由用户预定义的)条最佳分词路径,即用KSP可以选出路径最短的1条或多条最佳分词路径,然后可以将该最佳分词路径作为目标分词路径。
具体地,计算最短路径等同于计算每一条可选分词路径中跳数Sentence-hop(分词跳数值),总的分词跳数值越小越好;分词跳数值与可选分词路径包含的词语数量和词语长度相关。可以通过如下过程计算一个路径的分词跳数值:先根据该路径包含的词语数量和词语长度计算得到该路径中所有词语的总长度;然后将该总长度减去待分词文本的总字数后再加上该路径包含的词语数量,即得到该路径的分词跳数值。
比如上面的可选分词路径的分词跳数值如下:
路径1:[我们]→在→野→生→动→物→园→玩
跳数Sentence-hop为7
路径2:[我们]→[在野]→生→[动物]→园→玩
跳数Sentence-hop为5
路径3:[我们]→[在野]→生→[动物园]→玩
跳数Sentence-hop为4
路径4:[我们]→在→[野生动物园]→玩
跳数Sentence-hop为3
路径5:[我们]→在→[野生动物]→园→玩
跳数Sentence-hop为4
其中,一个箭头(→)代表一跳。如果要选1条最佳分词路径,就该是路径4,它的路径最短,只有3跳;如果要选3条最佳分词路径,就该是路径3、路径4、路径5,它们是路径跳数最少的3条。
步骤S105,将目标分词路径包含的各词语作为待分词文本的分词结果。
若目标分词路径为多条,则待分词文本的分词结果也包括多个。例如目标分词路径为路径3、路径4、路径5,则待分词文本的分词结果包括结果1:[我们]、[在野]、[动物园];结果2:[我们]、[野生动物园];以及结果3:[我们]、[野生动物]。
本发明实施例中,该文本的分词方法包括:获取固定词典树和动态词典树;其中,固定词典树由固定词汇预先构建,动态词典树由动态词汇动态构建;根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,固定分词组和动态分词组分别包括多个词语;根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径;基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径;将目标分词路径包含的各词语作为待分词文本的分词结果。本发明实施例提供的文本的分词方法,在对文本进行分词时采用的是固定词典树和动态词典树,其中固定词典树是预先构建好的,而动态构建的动态词典树由于其包含的词语较少,构建过程很快,因此与相关现有技术相比,减少了文本分词的时间,节省了内存空间,提高了整体系统性能,从而提高了用户体验感。
上述的实施例中基于最短路径算法选择目标分词路径的时候只考虑了分词跳数值,这种分词方法只对文本进行词语划分,并不能准确找出用户意愿的词语。基于此,本发明实施例提供了另一种文本的分词方法,该方法中还考虑到每个词语的热度。词语的热度作为一个词的属性,预先保存在分词词典数据库中,该分词词典数据库存储有上述固定词汇和动态词汇;词语的热度可以由热度值来表征,热度值一般是固定的,比如1到5之间,也可以是动态的,热度越高热度值越大。需要说明的是并非每个词语都具有热度值,可以仅对固定词汇和动态词汇中热度较高的热词设置热度值,其中热词可以由额外的系统定期更新,也可以由人工整理修改。下面将参照图3对该文本的分词方法进行具体介绍。
本发明实施例是在图1所示实施例的基础上实现的,作为一种可选的实施方式,如图3所示,上述步骤S104由步骤S301至步骤S303实现:
步骤S301,基于最短路径算法确定各可选分词路径的分词跳数值,分词跳数值与可选分词路径包含的词语数量和词语长度相关。
分词跳数值的具体确定过程可以参照上述实施例的相关内容,这里不再赘述。
步骤S302,确定各可选分词路径包含的各词语的热度值。
可以在分词词典数据库中查找得到各可选分词路径包含的各词语的热度值。
步骤S303,根据各可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
在一些可能的实施例中,可以通过如下过程筛选目标分词路径:分别计算每条可选分词路径包含的各词语的热度值相加后的总热度值;根据每条可选分词路径的总热度值与其分词跳数值,计算得到每条可选分词路径的综合值;根据各条可选分词路径的综合值的大小从多条可选分词路径中筛选出目标分词路径。
作为一种可能的实施方式,可以用下面的计分公式计算每条可选分词路径的综合值S:
其中,w1表示热度权重,w1为常量,比如设置为常数1;i表示可选分词路径包含的各词语的序号,j表示可选分词路径包含的各词语的个数;Hoti表示序号为i的词语的热度值;sentencehop表示可选分词路径的分词跳数值。当热度权重w1为1时,通过计算每个可选分词路径的总热度值与其分词跳数值的差值,即可得到每个可选分词路径的综合值。
可选地,计算出各条可选分词路径的综合值后,根据各条可选分词路径的综合分值的大小,对各条可选分词路径进行排序,得到排序结果;根据该排序结果,从各条可选分词路径中选取预设数量条可选分词路径作为目标分词路径。其中,预设数量可以是用户自定义设置的数值,如可以设置为1,也可以设置为3等其他数值;预设数量与文本分词结果的个数相对应。具体地,可以按照综合值由大到小或由小到大的顺序对各条可选分词路径进行排序,将排序最靠前或最靠后的(综合值最大的)预设数量条可选分词路径设定为目标分词路径。
本实施例中,在选择目标分词路径时,考虑到了热词的权重(词语的热度),分词结果更符合用户意愿,提高了分词准确度,从而进一步提高了用户体验感,增加了用户满意图。
图4为本发明实施例提供的一种词典树管理的流程示意图,如图4所示,上述方法还包括:
步骤S401,获取构建动态词典树的时间。
步骤S402,判断构建动态词典树的时间是否超过预设时间。
如果是,执行步骤S403,如果否,返回步骤S401。预设时间可以是基于对文本分词速度的影响由人工设置的。
步骤S403,将上述动态词典树中的动态词汇转移到固定词典树中。
当动态词典树变大后,会构建动态词典树的时间会变长,从而会影响文本的分词速度,因此可以把动态词典树中相对固定的部分词汇移到固定词典树中。判断动态词典树对应的动态词典的规模大小是否应该移到固定词典树的原则,是看启动时构建动态词典树的时间,如果耗时很长,比如需要5秒以上,影响用户体验,就将动态词典迁移到固定词典树中。
本发明实施例还提供了一种文本的分词装置,该装置主要用于执行本发明实施例上述内容所提供的文本的分词方法,以下对本发明实施例提供的文本的分词装置做具体介绍。
图5为本发明实施例提供的一种文本的分词装置的结构示意图,如图5所示,该装置包括:
第一获取模块51,用于获取固定词典树和动态词典树;其中,固定词典树由固定词汇预先构建,动态词典树由动态词汇动态构建;
划分模块52,用于根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,固定分词组和动态分词组分别包括多个词语;
第二获取模块53,用于根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径;
路径确定模块54,用于基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径;
结果确定模块55,用于将目标分词路径包含的各词语作为待分词文本的分词结果。
可选地,上述第二获取模块53具体用于:将固定分词组中的各词语和动态分词组中的各词语合并在一个词语集合中;判断词语集合中是否存在重复的词语;如果存在,则从该词语集合中去除重复的词语,得到合并词语组;根据合并词语组中的各词语,获取对待分词文本进行分词的多条可选分词路径。
可选地,上述路径确定模块54具体用于:基于最短路径算法确定各可选分词路径的分词跳数值,分词跳数值与可选分词路径包含的词语数量和词语长度相关;确定各可选分词路径包含的各词语的热度值;根据各可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
可选地,上述路径确定模块54在用于根据各可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径时,具体用于:分别计算每条可选分词路径包含的各词语的热度值相加后的总热度值;根据每条可选分词路径的总热度值与其分词跳数值,计算得到每条可选分词路径的综合值;根据各条可选分词路径的综合值的大小从多条可选分词路径中筛选出目标分词路径。
可选地,上述路径确定模块54在用于根据每条可选分词路径的综合值的大小从多条可选分词路径中筛选出目标分词路径时,具体用于:根据各条可选分词路径的综合分值的大小,对各条可选分词路径进行排序,得到排序结果;根据该排序结果,从各条可选分词路径中选取预设数量条可选分词路径作为目标分词路径。
本发明实施例中,第一获取模块51获取固定词典树和动态词典树;其中,固定词典树由固定词汇预先构建,动态词典树由动态词汇动态构建;划分模块52根据固定词典树和动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,固定分词组和动态分词组分别包括多个词语;第二获取模块53根据固定分词组和动态分词组中的各词语,获取对待分词文本进行分词的多条可选分词路径;路径确定模块54基于最短路径算法和各可选分词路径包含的各词语从多条可选分词路径中确定目标分词路径;结果确定模块55将目标分词路径包含的各词语作为待分词文本的分词结果。本发明实施例提供的文本的分词装置,在对文本进行分词时采用的是固定词典树和动态词典树,其中固定词典树是预先构建好的,而动态构建的动态词典树由于其包含的词语较少,构建过程很快,因此与相关现有技术相比,减少了文本分词的时间,节省了内存空间,提高了整体系统性能,从而提高了用户体验感。
图6为本发明实施例提供的另一种文本的分词装置的结构示意图,如图6所示,在图5的基础上,该装置还包括:
第三获取模块61,用于获取构建动态词典树的时间;
判断模块62,用于判断构建动态词典树的时间是否超过预设时间;
转移模块63,用于当判断模块62的判断结果为是时,将动态词典树中的动态词汇转移到固定词典树中。
参见图7,本发明实施例还提供一种电子设备100,包括:处理器70,存储器71,总线72和通信接口73,所述处理器70、通信接口73和存储器71通过总线72连接;处理器70用于执行存储器71中存储的可执行模块,例如计算机程序。
其中,存储器71可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器71用于存储程序,所述处理器70在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器70中,或者由处理器70实现。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成上述方法的步骤。
本发明实施例提供的文本的分词装置和电子设备,与上述实施例提供的文本的分词方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行文本的分词方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种文本的分词方法,其特征在于,所述方法包括:
获取固定词典树和动态词典树;其中,所述固定词典树由固定词汇预先构建,所述动态词典树由动态词汇动态构建;
根据所述固定词典树和所述动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,所述固定分词组和所述动态分词组分别包括多个词语;
根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径;
基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径;
将所述目标分词路径包含的各词语作为所述待分词文本的分词结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径,包括:
将所述固定分词组中的各词语和所述动态分词组中的各词语合并在一个词语集合中;
判断所述词语集合中是否存在重复的词语;
如果存在,则从所述词语集合中去除重复的词语,得到合并词语组;
根据所述合并词语组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径。
3.根据权利要求1所述的方法,其特征在于,所述基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径,包括:
基于最短路径算法确定各所述可选分词路径的分词跳数值,所述分词跳数值与所述可选分词路径包含的词语数量和词语长度相关;
确定各所述可选分词路径包含的各词语的热度值;
根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
4.根据权利要求3所述的方法,其特征在于,所述根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径,包括:
分别计算每条所述可选分词路径包含的各词语的热度值相加后的总热度值;
根据每条所述可选分词路径的总热度值与其分词跳数值,计算得到每条所述可选分词路径的综合值;
根据各条所述可选分词路径的综合值的大小从多条所述可选分词路径中筛选出目标分词路径。
5.根据权利要求4所述的方法,其特征在于,所述根据每条所述可选分词路径的综合值的大小从多条所述可选分词路径中筛选出目标分词路径,包括:
根据各条所述可选分词路径的综合分值的大小,对各条所述可选分词路径进行排序,得到排序结果;
根据所述排序结果,从各条所述可选分词路径中选取预设数量条可选分词路径作为目标分词路径。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取构建所述动态词典树的时间;
判断构建所述动态词典树的时间是否超过预设时间;
如果是,将所述动态词典树中的动态词汇转移到所述固定词典树中。
7.一种文本的分词装置,其特征在于,所述装置包括:
第一获取模块,用于获取固定词典树和动态词典树;其中,所述固定词典树由固定词汇预先构建,所述动态词典树由动态词汇动态构建;
划分模块,用于根据所述固定词典树和所述动态词典树分别对待分词文本进行分词,得到固定分词组和动态分词组;其中,所述固定分词组和所述动态分词组分别包括多个词语;
第二获取模块,用于根据所述固定分词组和所述动态分词组中的各词语,获取对所述待分词文本进行分词的多条可选分词路径;
路径确定模块,用于基于最短路径算法和各所述可选分词路径包含的各词语从多条所述可选分词路径中确定目标分词路径;
结果确定模块,用于将所述目标分词路径包含的各词语作为所述待分词文本的分词结果。
8.根据权利要求7所述的装置,其特征在于,所述路径确定模块具体用于:
基于最短路径算法确定各所述可选分词路径的分词跳数值,所述分词跳数值与所述可选分词路径包含的词语数量和词语长度相关;
确定各所述可选分词路径包含的各词语的热度值;
根据各所述可选分词路径的分词跳数值和包含的各词语的热度值从多条可选分词路径中筛选出目标分词路径。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有程序,该程序在被处理器运行时用于执行上述权利要求1-6任一项所述的方法。
10.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165628.XA CN109918665B (zh) | 2019-03-05 | 2019-03-05 | 文本的分词方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165628.XA CN109918665B (zh) | 2019-03-05 | 2019-03-05 | 文本的分词方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918665A true CN109918665A (zh) | 2019-06-21 |
CN109918665B CN109918665B (zh) | 2021-11-02 |
Family
ID=66963338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910165628.XA Active CN109918665B (zh) | 2019-03-05 | 2019-03-05 | 文本的分词方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918665B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751234A (zh) * | 2019-10-09 | 2020-02-04 | 科大讯飞股份有限公司 | Ocr识别纠错方法、装置及设备 |
CN110941777A (zh) * | 2019-11-29 | 2020-03-31 | 武汉虹旭信息技术有限责任公司 | Web应用的导航方法及装置 |
CN111027312A (zh) * | 2019-12-12 | 2020-04-17 | 中金智汇科技有限责任公司 | 文本扩充方法、装置、电子设备及可读存储介质 |
CN111079428A (zh) * | 2019-12-27 | 2020-04-28 | 出门问问信息科技有限公司 | 一种分词和行业词典构建方法、装置以及可读存储介质 |
CN113836917A (zh) * | 2021-09-28 | 2021-12-24 | 广州华多网络科技有限公司 | 文本分词处理方法及其装置、设备与介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678409B1 (en) * | 2000-01-14 | 2004-01-13 | Microsoft Corporation | Parameterized word segmentation of unsegmented text |
CN1510595A (zh) * | 2002-12-24 | 2004-07-07 | �Ҵ���˾ | 词典更新系统、更新处理服务器、终端、控制方法、程序、记录媒体 |
CN101082908A (zh) * | 2007-06-26 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种中文分词方法及系统 |
CN102982099A (zh) * | 2012-11-05 | 2013-03-20 | 西安邮电大学 | 一种个性化并行分词处理系统及其处理方法 |
CN104252542A (zh) * | 2014-09-29 | 2014-12-31 | 南京航空航天大学 | 一种基于词库的动态规划中文分词方法 |
US20170244664A1 (en) * | 2016-02-18 | 2017-08-24 | Verisign, Inc. | Systems and methods for determining character entry dynamics for text segmentation |
CN108664468A (zh) * | 2018-05-02 | 2018-10-16 | 武汉烽火普天信息技术有限公司 | 一种基于词典和语义消歧的人名识别方法和装置 |
-
2019
- 2019-03-05 CN CN201910165628.XA patent/CN109918665B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678409B1 (en) * | 2000-01-14 | 2004-01-13 | Microsoft Corporation | Parameterized word segmentation of unsegmented text |
CN1510595A (zh) * | 2002-12-24 | 2004-07-07 | �Ҵ���˾ | 词典更新系统、更新处理服务器、终端、控制方法、程序、记录媒体 |
CN101082908A (zh) * | 2007-06-26 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种中文分词方法及系统 |
CN102982099A (zh) * | 2012-11-05 | 2013-03-20 | 西安邮电大学 | 一种个性化并行分词处理系统及其处理方法 |
CN104252542A (zh) * | 2014-09-29 | 2014-12-31 | 南京航空航天大学 | 一种基于词库的动态规划中文分词方法 |
US20170244664A1 (en) * | 2016-02-18 | 2017-08-24 | Verisign, Inc. | Systems and methods for determining character entry dynamics for text segmentation |
CN108664468A (zh) * | 2018-05-02 | 2018-10-16 | 武汉烽火普天信息技术有限公司 | 一种基于词典和语义消歧的人名识别方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751234A (zh) * | 2019-10-09 | 2020-02-04 | 科大讯飞股份有限公司 | Ocr识别纠错方法、装置及设备 |
CN110751234B (zh) * | 2019-10-09 | 2024-04-16 | 科大讯飞股份有限公司 | Ocr识别纠错方法、装置及设备 |
CN110941777A (zh) * | 2019-11-29 | 2020-03-31 | 武汉虹旭信息技术有限责任公司 | Web应用的导航方法及装置 |
CN111027312A (zh) * | 2019-12-12 | 2020-04-17 | 中金智汇科技有限责任公司 | 文本扩充方法、装置、电子设备及可读存储介质 |
CN111027312B (zh) * | 2019-12-12 | 2024-04-19 | 中金智汇科技有限责任公司 | 文本扩充方法、装置、电子设备及可读存储介质 |
CN111079428A (zh) * | 2019-12-27 | 2020-04-28 | 出门问问信息科技有限公司 | 一种分词和行业词典构建方法、装置以及可读存储介质 |
CN111079428B (zh) * | 2019-12-27 | 2023-09-19 | 北京羽扇智信息科技有限公司 | 一种分词和行业词典构建方法、装置以及可读存储介质 |
CN113836917A (zh) * | 2021-09-28 | 2021-12-24 | 广州华多网络科技有限公司 | 文本分词处理方法及其装置、设备与介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109918665B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918665A (zh) | 文本的分词方法、装置和电子设备 | |
CN113015970B (zh) | 划分知识图谱的方法、系统和介质 | |
CN107391509B (zh) | 标签推荐方法及装置 | |
CN111814455B (zh) | 搜索词纠错对构建方法、终端及存储介质 | |
CN110019658A (zh) | 检索项的生成方法及相关装置 | |
CN109885688A (zh) | 文本分类方法、装置、计算机可读存储介质和电子设备 | |
EP2588973A2 (en) | Method and system for using an information system | |
CN103123636B (zh) | 建立词条分类模型的方法、词条自动分类的方法和装置 | |
CN115904539A (zh) | 一种切分策略的在线生成方法、装置、设备及存储介质 | |
KR20150094044A (ko) | 트리 인덱스를 이용하는 노드 탐색 방법 및 장치 | |
CN112083812A (zh) | 联想词确定方法、装置、存储介质和电子设备 | |
CN110263127A (zh) | 基于用户查询词进行文本搜索方法及装置 | |
Fano Yela et al. | Online visibility graphs: Encoding visibility in a binary search tree | |
US8065242B2 (en) | Decision tree coalescing for document ranking | |
CN106909454A (zh) | 一种规则处理方法和设备 | |
JPWO2010058785A1 (ja) | 経路計算順決定方法、プログラムおよび計算装置 | |
CN102298618A (zh) | 一种获取匹配度以执行相应操作的方法、装置及设备 | |
CN106034266B (zh) | 光路由的生成方法及装置 | |
CN115495248B (zh) | 一种推理卡的内存分配方法、装置、电子设备及存储介质 | |
CN103218458B (zh) | 推荐方法及推荐服务器 | |
CN112507047A (zh) | 一种基于兴趣点偏好的最优有序路径查询方法 | |
CN111998869B (zh) | 路线生成方法、装置、电子设备和计算机可读存储介质 | |
CN115907262A (zh) | 旅游线路规划方法、装置、电子设备及存储介质 | |
CN114896480A (zh) | 基于路网索引的Top-K空间关键字查询方法 | |
JP6986577B2 (ja) | 複数のドキュメント交差を取得するための方法及びドキュメントサーバー |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220415 Address after: 430090 No. b1336, chuanggu startup area, taizihu cultural Digital Creative Industrial Park, No. 18, Shenlong Avenue, Wuhan Economic and Technological Development Zone, Wuhan, Hubei Province Patentee after: Yikatong (Hubei) Technology Co.,Ltd. Address before: 430000 no.c101, chuanggu start up area, taizihu cultural Digital Industrial Park, No.18 Shenlong Avenue, Wuhan Economic and Technological Development Zone, Hubei Province Patentee before: HUBEI ECARX TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |