CN111428475A - 分词词库的构建方法、分词方法、装置及存储介质 - Google Patents
分词词库的构建方法、分词方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111428475A CN111428475A CN202010218109.8A CN202010218109A CN111428475A CN 111428475 A CN111428475 A CN 111428475A CN 202010218109 A CN202010218109 A CN 202010218109A CN 111428475 A CN111428475 A CN 111428475A
- Authority
- CN
- China
- Prior art keywords
- word
- candidate
- words
- word segmentation
- bank
- 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
- 230000011218 segmentation Effects 0.000 title claims abstract description 362
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000010276 construction Methods 0.000 title claims abstract description 9
- 238000012216 screening Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008676 import Effects 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 13
- 238000012549 training Methods 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000010977 jade Substances 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 102100033814 Alanine aminotransferase 2 Human genes 0.000 description 1
- 101710096000 Alanine aminotransferase 2 Proteins 0.000 description 1
- 235000007516 Chrysanthemum Nutrition 0.000 description 1
- 244000189548 Chrysanthemum x morifolium Species 0.000 description 1
- 241001290529 Kyllinga clade Species 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000013872 defecation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 101150049349 setA gene Proteins 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本说明书实施例提供一种分词词库的构建方法、分词方法、装置及存储介质。所述方法包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库,从而提高未登录词和歧义识别的准确性,提高分词的准确率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种分词词库的构建方法、分词方法、装置及存储介质。
背景技术
中文分词,就是将中文字符串分割成为多个独立的有意义的词语。英语等西方语言一般通过空格作为不同词语之间的分割符。但是以中文为代表的很多种语言,词语之间并没有明显的界限,字与字之间是没有任何分隔符的。中文分词就是为了解决将中文文本切分为词语的问题。中文分词是中文自然语言处理基础任务之一,是很多其他中文自然语言处理任务的前提和基础。中文分词的效果会直接影响如命名实体识别、句法分析等其他自然语言处理任务的效果。虽然目前随着深度学习的发展,出现了无需分词也可以进行其他自然语言处理任务的技术,但利用中文分词技术进行中文自然语言处理还是目前的主流方法。
目前常见的分词方法分为三大类:基于词典匹配的方法、基于统计的方法和基于深度学习的方法。由于中文语言本身的特点和复杂度,现阶段分词算法还有以下两个任务亟待解决。歧义识别和未登录词识别。歧义是指同一中文字符串在不同上下文中有不同的切分方法。主要的歧义有两种:交集型歧义和组合型歧义。针对这种包含歧义句子的切分通常需要文本的上下文环境以及语义知识,单纯依赖分词算法很难正确解决。另外,中文文本中包含着大量的未登录词,例如人名、地名、机构名等命名实体。这些词在分词词典中没有收录,但又在文本中大量存在。未登录词的识别率会极大影响分词的效果。
近年来中文分词技术取得较大发展,提出了很多分词方法,如中科院计算所的ICTCLAS、清华大学的THULAC、哈尔滨工业大学的LTP等,腾讯和百度等大型互联网公司都有自己的分词工具。虽然各种分词工具实现上千差万别,但分词效果受限于用于训练分词模型的标记语料,对于未登录词识别和歧义识别的问题并不能很好的解决。
发明内容
本说明书实施例的目的是提供分词词库的构建方法、分词方法、装置及存储介质,以提高未登录词和歧义识别的准确性,提高分词的准确率。
为解决上述问题,本说明书实施例提供一种分词词库的构建方法、分词方法、装置及存储介质是这样实现的。
一种分词词库的构建方法,所述方法包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库。
一种分词方法,所述方法包括:获取待分词文本;根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;使用所述分词词库对所述待分词文本进行分词。
一种分词词库的构建装置,所述装置包括:划分模块,用于将待分词文本划分为多个子文本;获取模块,用于获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;第一筛选模块,用于根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;第二筛选模块,用于将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;构建模块,用于根据所述候选分词词库构建分词词库。
一种分词装置,所述装置包括:获取模块,用于获取待分词文本;确定模块,用于根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;分词模块,用于使用所述分词词库对所述待分词文本进行分词。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库。
一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:获取待分词文本;根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;使用所述分词词库对所述待分词文本进行分词。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,可以将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库,生成的分词词库既可以被分词算法直接调用,也可以在调整词语权值后整合到通用词库中,优化通用分词工具的分词效果,从而提高未登录词和歧义识别的准确性,提高分词的准确率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种分词词库的构建方法的流程图;
图2为本说明书实施例注意力模型的结构示意图;
图3为本说明书实施例一种分词方法的流程图;
图4为本说明书实施例一种分词词库的构建装置的功能模块图;
图5为本说明书实施例一种分词装置的功能模块图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
目前常见的分词方法分为三大类:基于词典匹配的方法、基于统计的方法和基于深度学习的方法。
所述基于词典匹配方法的核心思想是将待分词的中文文本利用一个尽可能全面的词典和预定规则进行切分,如果分词结果和文本匹配成功则完成分词,否则重新选择选择合适的规则进行切分直到完全匹配。常用方法有正向最大匹配、逆向最大匹配和双向匹配。这种方法的优点是分词速度快,但缺点十分明显,词典质量严重影响分词的效果,且当遇到未登录词时,分词效果不好。
所述基于统计的分词方法是将分词问题转化成为利用统计方法解决序列标注的问题。常用的方法有隐马尔可夫模型,条件随机场等。基本思路是人工标注中文文本中的汉字,利用标注结果训练模型,利用训练完成的模型对未标记的文本进行分词。这类方法考虑了词语在文中出现的词频以及上下文环境,相比基于字典匹配的方法,能够更好地处理歧义词和未登录词。是目前最常用的分词方法。
随着深度学习(Deep Learning)的迅猛发展,还出现了利用深度学习技术进行分词的方法。所述基于深度学习的分词方法采用一种端到端学习的方式,相比于统计学习的方法,不再需要手动取特征。较常见的基于深度学习的分词方法是采用双向长短期记忆网(Bi-directional Long Short-Term Memory,Bi-LSTM)和条件随机场(ConditionalRandom Fields,CRF)实现分词模型。Bi-LSTM是循环神经网络(RecurrentNeural Network,RNN)的一个变体,是目前利用深度学习处理自然语言处理领域中长距离依赖问题时最为主流的网络结构。
汉语分词(Chinese word segmentation,CWS)目前已经获得很高的性能,但对于歧义识别和未登录词识别产生的错误,目前还没有完全解决的办法,并且这些错误划分所导致的偏差会逐渐累计并对后续任务产生可观测的负面影响,极大地影响以分词作为基础任务的其他任务的性能,如:词性分析、句法分析、信息抽取和情感分析等等。例如表1所示,<<延禧攻略>>剧本中的一句台词:
表1
通过上下文可以判定明玉是人物角色,笑是动词,如果没有考虑上下文的话,那么很难判定明玉笑是人名还是人名+动作。
考虑到如果利用现有通用词库,通过无监督学习的方法为待分词文本构造独特的分词词库,并利用深度学习技术构造模型对分词词库中的词语做进一步过滤和筛选,最后使用分词词库对文本进行分词,则有望解决未登录词识别和歧义识别的问题,提高未登录词和歧义识别的准确性,提高分词的准确率,从而达到更优的分词效果。基于此,本说明书实施例提供了一种分词词库的构建方法、分词方法、装置、及存储介质
图1为本说明书实施例一种分词词库的构建方法的流程图。如图1所示,所述分词词库的构建方法可以包括以下步骤。
S110:将待分词文本划分为多个子文本。
在一些实施例中,在获取带分词文本后,可以将待分词文本划分为多个子文本构成集合,T={T1,T2,…,Tm}。其中,Ti(i=1,2,…,m)表示第i段子文本,m=1,2,…。
S120:获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串。
在一些实施例中,可以设置字符串最长允许长度,对于集合T中的每个子文本Ti,可得到所有长度小于等于最长允许长度的字符串所构成的集合D,取作为候选字符串集合。其中,wk(k=1,2,...,n)表示第k个字符串,n=1,2,…。
S130:根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合。
在一些实施例中,所述通用词库可以包含词语以及其相应的权值。通用词库可以由训练语料输入到分词模型中训练得到,训练语料的来源一般有三种:一种是根据需要通过手工标记的方式得到;另一种是通过无监督学习算法自动生成;第三种是混合了以上的两种方法得到。科院计算所的ICTCLAS、清华大学的THULAC、哈尔滨工业大学的LTP等分词器的训练语料通常是通过人工标记的方式获得。通用词库的训练语料一般涵盖大量不同领域的文本,因此分词器可以使用通用词库对目标文本中的常用词语进行正确分词,对文本中不属于词库中的如人名、机构名等未登录词也具有一定的识别能力,但效果并不十分理想。而单纯依赖无监督学习算法获得的通用词库相比通过人工标记语料获得的通用词库有很大差距。通用分词工具通常提供接口让用户可以将新发现的未登录词导入通用词库,这样可以提高分词工具处理未登录词的能力。这样的做法可以部分解决未登录词的问题。由于分词模型通常是由标记语料训练得到的,词库中不同的词会在训练中获得不同的权值,用户很难为新导入的未登录词设置合理的权值,不合理的权值设置会影响分词效果。
在一些实施例中,所述通用词库可以包括IK分词词库、jieba分词词库、mmseg分词词库、word分词词库等开源通用词库。
在本说明书实施例中,首先可以构建一个候选分词词语集合,得到每个词语出现的频率。如果只利用通过单独文本获得的候选字符串的频率,则存在由于文本包含词语数量不足导致的数据稀疏问题。在一些实施例中,可以通过导入通用词库的方法解决这个问题。构造候选字符串集合可以分为三部分:确定候选字符串集合;统计候选字符串的频率;利用通用词库调整候选字符串的频率,根据规则对候选字符串进行筛选。
具体的,根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合可以包括以下步骤。
S131:确定第一候选字符串集合中的字符串在所述多个子文本中出现的第一频率。
具体的,可以记F′={f′1,f′2,...,f′n}为频数集,其中f′k(k=1,2,...,n)为字符串wk在T1,T2,...,Tm中出现的次数之和。取F={f′1/|F′|,f′2/||F′|,…,f′n/|F′|}为字符串wk的频率集,其中为字符串wk的频率。
S132:确定同时存在于通用词库和所述第一候选字符串集合中的字符串,根据所述字符串在通用词库中的权值和频率,以及所述第一频率,确定第二频率。
在一些实施例中,可以查找同时存在于通用词库和第一候选字符串集合中的字符串,记由这些字符串构成的集合为针对每个字符串wb,记录wb在通用词库中的权值θb和字符串的频率fb,设由权值θb和频率fb构成的集合分别为和利用归一化的想法按照下面的公式调整每个字符串的频率值fb。对于任意wi∈D,新的频率为:
S133:根据所述第二频率对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合。
在一些实施例中,所述第二候选字符串集合中的字符串包括以下至少一种:同时存在于通用词库和所述第一候选字符串集合中的字符串;所述第一候选字符串集合中的单字字符串;所述第一候选字符串集合中第二频率大于预设阈值的字符串。
S140:将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值。
在一些实施例中,通过所述预设的模型可以根据所述第二候选字符串集合中的字符串在待分词文本中的概率分布对所述第二候选字符串集合中的字符串进行筛选,得到多个候选词,和所述多个候选词对应的权值。
具体的,可以采用无监督学习算法,根据以下思路设计模型。所述预设的模型在给定分词词库的条件下,求待分词文本出现的最大概率P(T|D,p)。其中T为待分词文本,D为分词词库,p为分词词库中的词语对应的权值。待分词文本T可以被拆分成多个子文本T={T1,T2,...,Tn},其中,Ti(i=1,2,...,n)表示第i段子文本,n=1,2,...。可以根据最大似然估计方法(MaximumLikelihoodEstimate,MLE),所述预设的模型将分词问题转化为求令集合中所有子文本概率之积最大,即令最大的权值组合。概率P(Ti|D,p)可以转化为子文本Ti的所有分割方法的概率之和,即其中,S为Ti的合法分割,为Ti所有合法的分割构成的集合。因此,原问题可以等价于在一定限制条件下最大化目标函数:在特征选择上,模型在考虑了词语的权值的情况下,还通过引入分隔符左右两侧字符的抽取概率的概念间接转化了词与词之前的边界信息。为了修正模型偏向于保留长词而不分割成短词的倾向,还可以针对句子长度的惩罚因子。
在一些实施例中,所述预设的模型采用EM算法(ExpectationMaximizationAlgorithm)进行求解。
在一些实施例中,所述预设的模型在设计过程中,可以包括以下定义:对于任意字符串wk∈D,称其从左至右第一个字符为wk的首字符,记作b(wk);从右至左第一个字符为wk的末字符,记作e(wk);记B={b(wk)|wk∈D}为文本的首字符集,E={e(wk)|wk∈D}为末字符集;记为字符串wk在文本中出现的概率,为字符b(wk)作为某个字符串的首字符出现的概率,为字符e(wk)作为某个字符串的末字符出现的概率;记向量θ=(θ1,θ2,...,θn),φ=(φ1,φ2,...,φn),记参数对于子文本Ti的某一分割若字符串的长度均不大于L,则称S为Ti的一个合法分割;记集合为Ti所有合法分割的集合;其中,k=1,2,…,n。
在一些实施例中,所述预设的模型包括以下假设:
标准化要求:
子文本Ti发生的概率为其各合法分割发生的概率之和:
进一步地,文本T发生的概率是各子文本发生的概率的乘积:
在一些实施例中,所述预设的模型可以包括求解以下最优化问题:
其中,参数集Φ为:
在一些实施例中,上述问题可以采用EM算法(ExpectationMaximizationAlgorithm)进行求解。由EM算法,对于条件集Φ上适当选取的一组初值p0,存在序列{pr}收敛于其递推公式为:
其中表示分割S下子文本Ti中字符串wk出现的次数;表示分割S下子文本Ti中字符串wk的首字符作为某个字符串的首字符出现的次数;表示分割S下子文本Ti中字符串wk的末字符作为某个字符串的末字符出现的次数。其中:
进一步地,P(Ti|D,pr)可以通过递推算得:
在一些实施例中,为了在模型复杂度与模型对数据集描述能力之间寻求更适当的平衡,可以在更新分词词库中词语及其权值的过程中,以更高的计算资源为代价,引入惩罚函数h(θ)来衡量模型拟合的优良性,即令:
一般来说,惩罚函数惩罚分词词库所包含词的个数。对于惩罚函数不同的选取体现不同的模型选取标准,例如赤池信息准则(Akaike Information Criterion,AIC)与贝叶斯信息准则(Bayesian Information Criterion,BIC)等。在一些实施例中,可以通过将惩罚函数设置为分词词库词语的权值平均平方和的方式间接惩罚包含大规模分词词库的模型:
其中λ1,λ2,λ3,为惩罚函数中预先设置好的参数,且有λ1+λ2+λ3=1。参数λ调整模型对于分词词库规模惩罚力度的大小;参数λ1,λ2,λ3调整模型对于有效词语数量,有效首字符数量,有效末字符数量的惩罚力度的分配模式。
S150:根据所述候选分词词库构建分词词库。
在一些实施例中,可以根据所述候选分词词库中的候选分词和所述候选分词对应的权值构建分词词库。所述分词词库既可以被分词算法直接调用,也可以在调整词语权值后整合到通用词库中,优化通用分词工具的分词效果。
在一些实施例中,根据所述预设的模型得到候选分词候选分词词库,在一些情况下会存在如表2所示的错误。
表2
错误的候选字符串 | 字符串所在语句上下文 |
永远都不会 | 就永远都不会拥有 |
钟老女冷漠 | 钟老女冷漠的走出了房间 |
抱住秋菊 | 春喜紧紧地抱住秋菊 |
张纸 | 吴畏把那张纸摘了下来 |
尼玛背着 | 一下子看到了尼玛背着的弓箭 |
来看望乔娟 | 马老师:我们来看望乔娟啊 |
拜见秦大人 | 倒地便拜:“何堂拜见秦大人 |
禀玉帝 | 灶王躬身:回禀玉帝 |
所述预设的模型可能会将共现频次高且不共现频次低的的字符串误认为是一个合法的字符串,这是产生上述错误的原因。单纯依赖通过分析待分词文本的字符串得到的上述预设的模型很难解决这样的问题。
在一些实施例中,所述根据所述候选分词词库构建分词词库可以包括:将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值;根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。具体的,可以利用深度学习的方法对所述候选分词词库中的候选词再进行筛选,筛选出为词语的候选词。更具体的,在得到候选分词词库后还可以将所述候选分词候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值;根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。
在一些实施例中,所述注意力模型可以用于判断所述候选词能否作为词语,所述注意力模型可以是基于Transformer网络构建的模型,并经过训练得到。所述Transformer网络是2017年首次提出的,所述Transformer网络网络引入了一种注意力机制,能够同时处理整个输入文本,继而学习单词之间的上下文关系。一个Transformer网络包括两个部分——编码器,读取文本输入并生成它的横向表示(例如每个词用一个矢量表示),以及解码器,从该表示中生成翻译的文本。实验证明该网络设计是非常有效的,许多目前最先进的模型(例如BERT、GPT-2)都是基于Transformer的网络结构而设计的。
在一些实施例中,如图2所示,所述注意力模型可以采用双通道设计,分别对应候选词作为词语情况的分词结果和候选词不作为词语的分词结果。每个通道由多个编码器堆叠而成,编码器层数可以根据需要调整。每层编码器的输入为前一层编码器的输出、前一层编码器的输入以及候选字符串在上下文语句中的位置信息对应的位置矩阵。两路层叠编码器的输出拼接后送入Softmax层得到最终结果。
所述注意力模型相比传统的基于Transformer构建的模型,做了以下改造:为了利用候选字符串作为词语情况下的分词结果和不作为词语的情况下上下文语句的分词结果,本说明书实施例采用来双路Transformer网络模型。两路的输出结果经过拼接后送入Softmax层得到最终结果;由于是分类问题,因此所述注意力模型移除了传统的基于Transformer构建的模型中的针对词语位置编码部分,移除了解码层;传统的基于Transformer构建的模型是由多个编码模块和解码模块堆叠而成,其相邻层引入残差网络中的short-cut机制,这样的目的在于解决训练退化问题,再利用Dropout方法增强模型的泛化能力。但是对于判定是否为合法词语的使用场景,为了保证候选词在上下文语句中的位置信息不会改变,所述注意力模型在每个编码模块的输入上都直接拼接候选词在上下文语句中的位置信息对应的位置矩阵。
在一些实施例中,基于Transformer网络构建的模型需要经过训练后得到注意力模型。下面介绍训练过程中训练数据的格式。
判断一个候选词能否作为词语,既需要考虑词语的使用习惯,也要考虑候选词所处的上下文。因此,可以将候选词以及候选词所处的上下文一同作为模型的输入。模型的输入可以包括包含候选词上下文的句子,以及可以通过0、1进行标记的候选词在句子中的位置信息。在生成训练数据时,首先可以对上下文句子进行分词,然后将候选词在分词结果中的位置标出。例如:“大队匈奴步卒抬着云梯在横穿壕沟”中的候选词“匈奴步卒”,它的训练数据如表3所示。
表3
候选词 | 候选字符串作为词语的分词结果 |
匈奴步卒 | 大队/0匈奴步卒/1抬着/0云梯/0在/0横穿/0壕沟/0 |
其中,每个分割的前半部分是句子在“匈奴步卒”是一个词语条件下的分词结果,后半部分是标记这个词语是否是候选词。
在一些实施例中,为了引入候选词不能作为分词词语的证据,模型引入了候选词不作为词语条件下,上下文语句的分词结果,同样使用0、1将候选词在分词结果中标出,如表4所示。
表4
候选词 | 候选词不作为词语的分词结果 |
匈奴步卒 | 大队/0匈奴/1步卒/1抬着/0云梯/0在/0横穿/0壕沟/0 |
理工大 | 请/0问/0北京理工大学/1怎么/0走/0 |
你们两 | 你/0是/0在/0担心/0你们/1两家/1的/0家境/0情况/0 |
其中,每个分割的后半部分标记这个词语是否是候选词或者包含候选词的全部或一部分。
在一些实施例中,所述训练数据可以根据以下方法获取。可以获得一批未标记文本,并获得每个文本中的候选词及所述候选词所在的上下文语句。在一些实施例中,可以利用人工的方式判定候选词在上下文语句中是否为合法的词语。
在一些实施例中,所述将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值包括:将所述候选分词词库中的候选词作为自定义词语导入通用词库中;根据所述通用词库对所述待分词文本进行分词,得到分词结果;将所述分词结果输入至注意力模型中,根据输出结果和所述候选分词词库中的候选词对应的权值,确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值。
在一些实施例中,所述输出结果包括所述候选分词词库中每个候选词判定为词语的记录个数和判定不为词语的记录个数;相应的,所述确定所述候选分词词库中为词语的候选词包括以下至少一种:当所述候选词判定为词语的记录个数大于预设阈值时,确定所述候选词为词语;当所述候选词判定为词语的记录个数大于判定不为词语的记录个数时,确定所述字候选词为词语。具体的,所述注意力模型可以根据输入判定候选词在该上下文中是否为词语。由于候选词会在待分词文本中多次出现,因此同一个候选词会对应多条待分类记录。为了减少运算负担,对于每个候选词,可以随机抽取k个待分类记录样本输入模型,输出结果作为判断依据。同一个候选词在不同上下文中判断结果可能不同,在判断是否为词语时可以根据待分词文本篇幅、所属领域等具体情况采用不同的策略,如:当判断为是的记录个数大于某个阈值时就认为是词语;当判断为是的记录个数大于判断为否的记录个数就认为是词语。
在一些实施例中,可以根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。具体的,候选词及所在上下文语句通过所述注意力模型得到判定结果,根据上述判定策略对候选词做最终判定,将结果为否的候选词从候选分词词库中移除,根据剩余的候选词和对应的权值构建待分词文本的分词词库。
在一些实施例中,在构建分词词库后,可以使用所述分词词库对所述待分词文本进行分词。具体的,可以将待分词文本根据标点符号或分隔符切分成多个子文本,之后分别对每个子文本分词。假设待分字符串为T=c1c2...cn,其中ci(i=1,2,...,n)为单个的汉字,n为字串的长度,n≥1。建立一个结点数为n+1的切分有向无环图G,各节点编号依次为V0,V1,...,Vn。通过以下两步建立G所有可能的词边:相邻节点Vk,Vk-1(1≤k≤n)之间建立有向边<Vk,Vk-1>,边的长度为Lk,边对应的词默认为ck(k=1,2,...,n)。如果w=cici+1...cj(0<i<j≤n)是词表中的词,则结点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度为Lw,边对应的词为w;设S=w1w2...wm是字串T的一种切分结果,其中wj(j=1,2,...,m)为词库中的某个词,则切分S的概率为为了方便处理,可以令这样,-lnP(wj)就可以看作词wj在切分有向无环图中对应的边长(在一些实施例中,可以做适当的平滑处理)。于是,分词问题转化为求P*(S)的最小值问题。
在一些实施例中,由于所述待分字符串T中所包含的所有词与切分有向无环图G中的边一一对应。可以假设NSP为结点V0到Vn的最短路径的集合,RS是最终的N-最短路径的分词结果集,则N-最短路径方法将分词问题转化为如何求解有向无环图G的集合NSP。
在一些实施例中,NSP的求解可以采取贪心技术。其中,所述贪心技术为基于求解单源最短路径问题的Dijkstra贪心算法的一种简单扩展。改进之处在于:每个结点处记录N个最短路径值,并记录相应路径上的当前结点的前驱。如果同一长度对应多条路径,必须同时记录这些路径上当前结点的前驱,最后通过回溯即可求出NSP。
通用分词工具,如Jieba分词不仅实现了解码算法还包含了大量的算法优化工作。相比使用自己实现的解码算法进行分词,更加实际有效的方案是将生成的分词词库全部导入通用词库后,利用通用分词工具进行分词。在实际使用中,相比自己实现的解码工具,通用分词工具具有更好的执行效率和可靠性。在一些实施例中,在构建分词词库后,使用所述分词词库对所述待分词文本进行分词可以包括:将所述分词词库导入通用词库中;确定同时存在于分词词库和通用词库的词语;根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;使用调整后的通用词库对所述待分词文本进行分词。
在一些实施例中,将分词词库中的词语导入通用词库需要对分词词库中词语的权值进行折算。具体的,可以在开源通用词库如Jieba的分词词库中查找同时存在于通用词库和分词词库中的词语,由这些词语构成的集合为针对每个词语记录在开源通用词库中的权值θ0和分词词库中的权值θt,由权值θb和θt构成的集合分别为和利用归一化的想法按照下面的公式调整每个字符串的频率值:
对于任意微型词库中的词语w,导入到通用词库的权值:
其中,θ为w在分词词库中对应的权值,用θn更新词语w在通用词库中的权值。
本说明书实施例中,可以将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库,生成的分词词库既可以被分词算法直接调用,也可以在调整词语权值后整合到通用词库中,优化通用分词工具的分词效果,从而提高未登录词和歧义识别的准确性,提高分词的准确率。
图3为本说明书实施例一种分词方法的流程图。如图3所示,所述分词方法可以包括以下步骤。
S310:获取待分词文本。
S320:根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;
S330:使用所述分词词库对所述待分词文本进行分词。
在一些实施例中,可以使用所述分词词库对所述待分词文本进行分词。具体的,可以将待分词文本根据标点符号或分隔符切分成多个子文本,之后分别对每个子文本分词。假设待分字符串为T=c1c2...cn,其中ci(i=1,2,...,n)为单个的汉字,n为字串的长度,n≥1。建立一个结点数为n+1的切分有向无环图G,各节点编号依次为V0,V1,...,Vn。通过以下两步建立G所有可能的词边:相邻节点Vk,Vk-1(1≤k≤n)之间建立有向边<Vk,Vk-1>,边的长度为Lk,边对应的词默认为ck(k=1,2,...,n)。如果w=cici+1...cj(0<i<j≤n)是词表中的词,则结点Vi-1,Vj之间建立有向边<Vi-1,Vj>,边的长度为Lw,边对应的词为w;设S=w1w2...wm是字串T的一种切分结果,其中wj(j=1,2,...,m)为词库中的某个词,则切分S的概率为为了方便处理,可以令这样,-lnP(wj)就可以看作词wj在切分有向无环图中对应的边长(在一些实施例中,可以做适当的平滑处理)。于是,分词问题转化为求P*(S)的最小值问题。
在一些实施例中,由于所述待分字符串T中所包含的所有词与切分有向无环图G中的边一一对应。可以假设NSP为结点V0到Vn的最短路径的集合,RS是最终的N-最短路径的分词结果集,则N-最短路径方法将分词问题转化为如何求解有向无环图G的集合NSP。
在一些实施例中,NSP的求解可以采取贪心技术。其中,所述贪心技术为基于求解单源最短路径问题的Dijkstra贪心算法的一种简单扩展。改进之处在于:每个结点处记录N个最短路径值,并记录相应路径上的当前结点的前驱。如果同一长度对应多条路径,必须同时记录这些路径上当前结点的前驱,最后通过回溯即可求出NSP。
通用分词工具,如Jieba分词不仅实现了解码算法还包含了大量的算法优化工作。相比使用自己实现的解码算法进行分词,更加实际有效的方案是将生成的分词词库全部导入通用词库后,利用通用分词工具进行分词。在实际使用中,相比自己实现的解码工具,通用分词工具具有更好的执行效率和可靠性。在一些实施例中,使用所述分词词库对所述待分词文本进行分词可以包括:将所述分词词库导入通用词库中;确定同时存在于分词词库和通用词库的词语;根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;使用调整后的通用词库对所述待分词文本进行分词。
在一些实施例中,将分词词库中的词语导入通用词库需要对分词词库中词语的权值进行折算。具体的,可以在开源通用词库如Jieba的分词词库中查找同时存在于通用词库和分词词库中的词语,由这些词语构成的集合为针对每个词语记录在开源通用词库中的权值θ0和分词词库中的权值θt,由权值θb和θt构成的集合分别为和利用归一化的想法按照下面的公式调整每个字符串的频率值:
对于任意微型词库中的词语w,导入到通用词库的权值:
其中,θ为w在分词词库中对应的权值,用θn更新词语w在通用词库中的权值。
本说明书实施例中,可以获取待分词文本;根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的候选字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;使用所述分词词库对所述待分词文本进行分词,从而提高未登录词和歧义识别的准确性,提高分词的准确率。
本说明书实施例还提供了一种分词词库的构建方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。在本实施方式中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图4,在软件层面上,本说明书实施例还提供了分词词库的构建装置,该装置具体可以包括以下的结构模块。
划分模块410,用于将待分词文本划分为多个子文本;
获取模块420,用于获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;
第一筛选模块430,用于根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;
第二筛选模块440,用于将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;
构建模块450,用于根据所述候选分词词库构建分词词库。
在一些实施例中,所述第一筛选模块430可以包括:确定子模块,用于确定第一候选字符串集合中的候选字符串在所述多个子文本中出现的第一频率;调整子模块,用于确定同时存在于通用词库和所述第一候选字符串集合中的字符串,根据所述字符串在通用词库中的权值和频率,以及所述第一频率,确定第二频率;筛选子模块,用于根据所述第二频率对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合。
在一些实施例中,所述构建模块450可以包括:确定子模块,用于将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值;构建子模块,用于根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。
在一些实施例中,所述确定子模块可以包括:导入子模块,用于将所述候选分词词库中的候选词作为自定义词语导入通用词库中;分词子模块,用于根据所述通用词库对所述待分词文本进行分词,得到分词结果;输入子模块,用于将所述分词结果输入至注意力模型中,根据输出结果和所述候选分词词库中的候选词对应的权值,确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值。
在一些实施例中,所述装置还可以包括:分词模块,用于在构建分词词库后,使用所述分词词库对所述待分词文本进行分词。
在一些实施例中,所述所述分词模块可以包括:导入子模块,用于将所述分词词库导入通用词库中;确定子模块,用于确定同时存在于分词词库和通用词库的词语;调整子模块,用于根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;
分词子模块,用于使用调整后的通用词库对所述待分词文本进行分词。
本说明书实施例还提供了一种分词方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取待分词文本;根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;使用所述分词词库对所述待分词文本进行分词。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。在本实施方式中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图5,在软件层面上,本说明书实施例还提供了分词装置,该装置具体可以包括以下的结构模块。
获取模块510,用于获取待分词文本;
确定模块520,用于根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;
分词模块530,用于使用所述分词词库对所述待分词文本进行分词。
在一些实施例中,所述分词模块可以包括:导入子模块,用于将所述分词词库导入通用词库中;确定子模块,用于确定同时存在于分词词库和通用词库的词语;调整子模块,用于根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;分词子模块,用于使用调整后的通用词库对所述待分词文本进行分词。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例和设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在阅读本说明书文件之后,可以无需创造性劳动想到将本说明书列举的部分或全部实施例进行任意组合,这些组合也在本说明书公开和保护的范围内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(AlteraHardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (20)
1.一种分词词库的构建方法,其特征在于,所述方法包括:
将待分词文本划分为多个子文本;
获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;
根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;
将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;
根据所述候选分词词库构建分词词库。
2.根据权利要求1所述的方法,其特征在于,根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合包括:
确定第一候选字符串集合中的字符串在所述多个子文本中出现的第一频率;
确定同时存在于通用词库和所述第一候选字符串集合中的字符串,根据所述字符串在通用词库中的权值和频率,以及所述第一频率,确定第二频率;
根据所述第二频率对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合。
3.根据权利要求2所述的方法,其特征在于,所述第二候选字符串集合中的字符串包括以下至少一种:
同时存在于通用词库和所述第一候选字符串集合中的字符串;
所述第一候选字符串集合中的单字字符串;
所述第一候选字符串集合中第二频率大于预设阈值的字符串。
4.根据权利要求1所述的方法,其特征在于,通过所述预设的模型根据所述第二候选字符串集合中的字符串在待分词文本中的概率分布,得到候选分词词库。
5.根据权利要求1所述的方法,其特征在于,所述根据所述候选分词词库构建分词词库包括:
将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值;
根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。
6.根据权利要求5所述的方法,其特征在于,所述将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值包括:
将所述候选分词词库中的候选词作为自定义词语导入通用词库中;
根据所述通用词库对所述待分词文本进行分词,得到分词结果;
将所述分词结果输入至注意力模型中,根据输出结果和所述候选分词词库中的候选词对应的权值,确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值。
7.根据权利要求5所述的方法,其特征在于,所述输出结果包括所述候选分词词库中每个候选词判定为词语的记录个数和判定不为词语的记录个数;
相应的,所述确定所述候选分词词库中为词语的候选词包括以下至少一种:
当所述候选词判定为词语的记录个数大于预设阈值时,确定所述候选词为词语;
当所述候选词判定为词语的记录个数大于判定不为词语的记录个数时,确定所述候选词为词语。
8.根据权利要求1所述的方法,其特征在于,在构建分词词库后,使用所述分词词库对所述待分词文本进行分词。
9.根据权利要求8所述的方法,其特征在于,所述使用所述分词词库对所述待分词文本进行分词包括:
将所述分词词库导入通用词库中;
确定同时存在于分词词库和通用词库的词语;
根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;
使用调整后的通用词库对所述待分词文本进行分词。
10.一种分词方法,其特征在于,所述方法包括:
获取待分词文本;
根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;
使用所述分词词库对所述待分词文本进行分词。
11.根据权利要求10所述的方法,其特征在于,所述使用所述分词词库对所述待分词文本进行分词包括:
将所述分词词库导入通用词库中;
确定同时存在于分词词库和通用词库的词语;
根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;
使用调整后的通用词库对所述待分词文本进行分词。
12.一种分词词库的构建装置,其特征在于,所述装置包括:
划分模块,用于将待分词文本划分为多个子文本;
获取模块,用于获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;
第一筛选模块,用于根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;
第二筛选模块,用于将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;
构建模块,用于根据所述候选分词词库构建分词词库。
13.根据权利要求12所述的装置,其特征在于,所述第一筛选模块包括:
确定子模块,用于确定第一候选字符串集合中的字符串在所述多个子文本中出现的第一频率;
调整子模块,用于确定同时存在于通用词库和所述第一候选字符串集合中的字符串,根据所述字符串在通用词库中的权值和频率,以及所述第一频率,确定第二频率;
筛选子模块,用于根据所述第二频率对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合。
14.根据权利要求12所述的装置,其特征在于,所述构建模块包括:
确定子模块,用于将所述候选分词词库输入至注意力模型中,根据输出结果确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值;
构建子模块,用于根据所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值构建分词词库。
15.根据权利要求14所述的装置,其特征在于,所述确定子模块包括:
导入子模块,用于将所述候选分词词库中的候选词作为自定义词语导入通用词库中;
分词子模块,用于根据所述通用词库对所述待分词文本进行分词,得到分词结果;
输入子模块,用于将所述分词结果输入至注意力模型中,根据输出结果和所述候选分词词库中的候选词对应的权值,确定所述候选分词词库中为词语的候选词和所述候选分词词库中为词语的候选词对应的权值。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括:
分词模块,用于在构建分词词库后,使用所述分词词库对所述待分词文本进行分词。
17.根据权利要求16所述的装置,其特征在于,所述分词模块包括:
导入子模块,用于将所述分词词库导入通用词库中;
确定子模块,用于确定同时存在于分词词库和通用词库的词语;
调整子模块,用于根据所述词语在分词词库中的权值对所述词语在通用词库中的权值进行调整;
分词子模块,用于使用调整后的通用词库对所述待分词文本进行分词。
18.一种分词装置,其特征在于,所述装置包括:
获取模块,用于获取待分词文本;
确定模块,用于根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;
分词模块,用于使用所述分词词库对所述待分词文本进行分词。
19.一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库。
20.一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被执行时实现:获取待分词文本;根据所述待分词文本确定分词词库;包括:将待分词文本划分为多个子文本;获取第一候选字符串集合;其中,所述第一候选字符串集合包括所述多个子文本中长度小于预设值的字符串;根据通用词库对所述第一候选字符串集合中的字符串进行筛选,得到第二候选字符串集合;将所述第二候选字符串集合输入至预设的模型中,得到候选分词词库;其中,所述候选分词词库包括多个候选词和所述多个候选词对应的权值;根据所述候选分词词库构建分词词库;使用所述分词词库对所述待分词文本进行分词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218109.8A CN111428475B (zh) | 2020-03-25 | 2020-03-25 | 分词词库的构建方法、分词方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218109.8A CN111428475B (zh) | 2020-03-25 | 2020-03-25 | 分词词库的构建方法、分词方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428475A true CN111428475A (zh) | 2020-07-17 |
CN111428475B CN111428475B (zh) | 2023-10-24 |
Family
ID=71548698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010218109.8A Active CN111428475B (zh) | 2020-03-25 | 2020-03-25 | 分词词库的构建方法、分词方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428475B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765977A (zh) * | 2021-01-11 | 2021-05-07 | 百果园技术(新加坡)有限公司 | 一种基于跨语言数据增强的分词方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472022A (zh) * | 2018-10-15 | 2019-03-15 | 平安科技(深圳)有限公司 | 基于机器学习的新词识别方法及终端设备 |
CN109635296A (zh) * | 2018-12-08 | 2019-04-16 | 广州荔支网络技术有限公司 | 新词挖掘方法、装置计算机设备和存储介质 |
-
2020
- 2020-03-25 CN CN202010218109.8A patent/CN111428475B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472022A (zh) * | 2018-10-15 | 2019-03-15 | 平安科技(深圳)有限公司 | 基于机器学习的新词识别方法及终端设备 |
CN109635296A (zh) * | 2018-12-08 | 2019-04-16 | 广州荔支网络技术有限公司 | 新词挖掘方法、装置计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765977A (zh) * | 2021-01-11 | 2021-05-07 | 百果园技术(新加坡)有限公司 | 一种基于跨语言数据增强的分词方法及装置 |
CN112765977B (zh) * | 2021-01-11 | 2023-12-12 | 百果园技术(新加坡)有限公司 | 一种基于跨语言数据增强的分词方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111428475B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jung | Semantic vector learning for natural language understanding | |
WO2023065544A1 (zh) | 意图分类方法、装置、电子设备及计算机可读存储介质 | |
JP5128629B2 (ja) | 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法 | |
CN111931506B (zh) | 一种基于图信息增强的实体关系抽取方法 | |
US8364470B2 (en) | Text analysis method for finding acronyms | |
CN103678684A (zh) | 一种基于导航信息检索的中文分词方法 | |
Zhou et al. | English grammar error correction algorithm based on classification model | |
CN116306600B (zh) | 一种基于MacBert的中文文本纠错方法 | |
CN109614626A (zh) | 基于万有引力模型的关键词自动抽取方法 | |
CN114757184B (zh) | 实现航空领域知识问答的方法和系统 | |
CN115757695A (zh) | 一种日志语言模型训练方法及系统 | |
CN114997288A (zh) | 一种设计资源关联方法 | |
CN112632982A (zh) | 一种能用于供应商评价的对话文本情感分析方法 | |
Nugraha et al. | Typographic-based data augmentation to improve a question retrieval in short dialogue system | |
CN115344668A (zh) | 一种多领域与多学科科技政策资源检索方法及装置 | |
CN111782773B (zh) | 基于级连模式的文本匹配方法及装置 | |
CN117891948A (zh) | 一种基于内部知识提取与对比学习的小样本新闻分类方法 | |
CN111428475A (zh) | 分词词库的构建方法、分词方法、装置及存储介质 | |
CN111737475A (zh) | 一种无监督的网络舆情垃圾长文本识别方法 | |
CN110162615A (zh) | 一种智能问答方法、装置、电子设备和存储介质 | |
CN115658994A (zh) | 舆情观点报告生成方法、装置、存储介质及电子装置 | |
CN115048515A (zh) | 文档分类方法、装置、设备和存储介质 | |
Ramesh et al. | Interpretable natural language segmentation based on link grammar | |
Wu | A computational neural network model for college English grammar correction | |
Shahade et al. | Deep learning approach-based hybrid fine-tuned Smith algorithm with Adam optimiser for multilingual opinion mining |
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 |