CN110543637B - 一种中文分词方法及装置 - Google Patents
一种中文分词方法及装置 Download PDFInfo
- Publication number
- CN110543637B CN110543637B CN201910844568.4A CN201910844568A CN110543637B CN 110543637 B CN110543637 B CN 110543637B CN 201910844568 A CN201910844568 A CN 201910844568A CN 110543637 B CN110543637 B CN 110543637B
- Authority
- CN
- China
- Prior art keywords
- text
- word segmentation
- word
- result
- processed
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供一种中文分词的方法及装置,涉及自然语言处理技术领域,解决现有技术中的中文分词速度较慢以及分词结果较差,无法快速响应业务需求的问题。本方案为:根据字节长度确定待处理文本的类型,待处理文本的类型包括长文本和短文本;若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果;以及修正长文本分词结果和短文本分词结果。
Description
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种中文分词方法及装置。
背景技术
中文自动分词是中文信息处理的一项重要的基础性工作,许多中文信息处理项目中都涉及到分词问题,如搜索引擎、机器翻译、自动文摘、分类聚类、语言识别,人机对话等。
现有技术中通常采用BIES系列标注方法、基于神经网络的分词模型、基于词典匹配的分词模型等直接对文本进行分词,使得分词所花费的时间较长,分词速度较慢;此外,现有技术中直接将上述的模型或算法得到的分词结果作为最终结果,出现中文分词结果较差,无法快速响应业务需求。
发明内容
本发明的实施例提供一种中文分词的方法及装置,解决现有技术中的中文分词速度较慢以及分词结果较差,无法快速响应业务需求的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例的第一方面,提供一种中文分词的方法,包括:根据字节长度确定待处理文本的类型,待处理文本的类型包括长文本和短文本;若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果;以及修正长文本分词结果和短文本分词结果。
在一个实施例中,神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,长文本分词结果包括第一粗切片段序列和第一精切片段序列,修正长文本分词结果包括:若第一粗切片段和第一精切片段序列包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,分别得到第二粗切片段序列和第二精切片段序列;若第二粗切片段序列和第二精切片段序列存在错位片段,则分别计算第二粗切片段序列和第二精切片段序列中错位片段的平均逆文档频率IDF,取最小IDF对应的片段序列作为返回结果;若返回结果为第二粗切片段序列,且第二粗切片段序列包含较长未登录词的片段,则用包含较长未登录词的片段对应的精切结果替换第二粗切分片段序列中包含较长未登录词的片段,将替换后形成的第三粗切片段序列作为长文本分词结果。
在一个实施例中,修正短文本分词结果包括:若短文本分词结果包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,得到包含核心词的片段序列。
在一个实施例中,根据字节长度确定待处理文本的类型,包括:当待处理文本的字节长度大于阈值时,确定待处理文本的类型为长文本;以及当待处理文本的字节长度小于或等于阈值时,确定待处理文本的类型为短文本。
在一个实施例中,基于神经网络的分词模型对待处理文本分词,得到长文本分词结果包括:在神经网络模型的输入层切分长文本得到第一字符集合;以及将第一字符集合分别经过神经网络模型的嵌入层、隐藏层、投影层、输出层以及分词解析层,得到长文本分词结果。
在一个实施例中,在神经网络模型的输入层切分长文本得到第一字符集合包括:将连续的英文字母作为一个单词字符;将连续的数字字符作为一个数据字符;将连续的英文和数字的组合作为一个单词字符;以及将其他非英文或非数字作为一个字符。
在一个实施例中,基于词典匹配的分词模型对待处理文本分词包括:切分短文本得到第二字符集合;基于词典对第二字符集合分别进行正向最大匹配和反向最大匹配,得到第一匹配结果和第二匹配结果;以及选择最优的匹配结果作为短文本分词结果,最优的匹配结果为第一匹配结果和第二匹配结果中的其中一个。
在一个实施例中,选择最优的匹配结果作为短文本分词结果,包括:若第一匹配结果和第二匹配结果一致,则将第一匹配结果或第二匹配结果作为短文本分词结果;若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数不一致,则将第一匹配结果和第二匹配结果中的分词个数较少的一个作为短文本分词结果;以及若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数一致,则计算第一匹配结果和第二匹配结果中不一致的词的平均IDF,将平均IDF最小的词对应的匹配结果作为短文本分词结果。
本发明实施例的第二方面,提供一种中文分词的装置,包括:确定模块,被配置为用于根据字节长度确定待处理文本的类型,待处理文本的类型包括长文本和短文本;分词模块,被配置为用于若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果;以及修正模块,被配置为用于修正长文本分词结果和短文本分词结果。
在一个实施例中,神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,长文本分词结果包括第一粗切片段序列和第一精切片段序列,修正模块被配置为具体用于:若第一粗切片段和第一精切片段序列包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,分别得到第二粗切片段序列和第二精切片段序列;若第二粗切片段序列和第二精切片段序列存在错位片段,则分别计算第二粗切片段序列和第二精切片段序列中错位片段的平均逆文档频率IDF,取最小IDF对应的片段序列作为返回结果;若返回结果为第二粗切片段序列,且第二粗切片段序列包含较长未登录词的片段,则用包含较长未登录词的片段对应的精切结果替换第二粗切分片段序列中包含较长未登录词的片段,将替换后形成的第三粗切片段序列作为长文本分词结果。
在一个实施例中,修正模块被配置为具体还用于:若短文本分词结果包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,得到包含核心词的片段序列。
在一个实施例中,确定模块被配置为具体用于:当待处理文本的字节长度大于阈值时,确定待处理文本的类型为长文本;以及当待处理文本的字节长度小于或等于阈值时,确定待处理文本的类型为短文本。
在一个实施例中,分词模块被配置为具体用于:在神经网络模型的输入层切分长文本得到第一字符集合;以及将第一字符集合分别经过神经网络模型的嵌入层、隐藏层、投影层、输出层以及分词解析层,得到长文本分词结果。
在一个实施例中,分词模块被配置为具体还用于:将连续的英文字母作为一个单词字符;将连续的数字字符作为一个数据字符;将连续的英文和数字的组合作为一个单词字符;以及将其他非英文或非数字作为一个字符。
在一个实施例中,分词模块被配置为具体还用于:切分短文本得到第二字符集合;基于词典对第二字符集合分别进行正向最大匹配和反向最大匹配,得到第一匹配结果和第二匹配结果;以及选择最优的匹配结果作为短文本分词结果,最优的匹配结果为第一匹配结果和第二匹配结果中的其中一个。
在一个实施例中,分词模块被配置为具体还用于:若第一匹配结果和第二匹配结果一致,则将第一匹配结果或第二匹配结果作为短文本分词结果;若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数不一致,则将第一匹配结果和第二匹配结果中的分词个数较少的一个作为短文本分词结果;以及若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数一致,则计算第一匹配结果和第二匹配结果中不一致的词的平均IDF,将平均IDF最小的词对应的匹配结果作为短文本分词结果。
本发明实施例的第三方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如第一方面所述的方法。
本发明实施例的第四方面,提供一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如第一方面所述的方法。
相比于现有技术,本发明实施例提供的中文分词方法及装置,首先根据字节的长度对待处理文本进行分类,若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果。本案能够根据不同的文本类型采用相应的分词手段,使得分词比较有针对性,从而节省了分词所花费的时间,提高了分词的速度。然后对长文本分词结果和短文本分词结果进行修正,将修正后的结果作为所述待处理文本的分词结果。通过对长文本分词结果和短文本分词结果修正,将最终修正的结果作为分词结果,从而提高了中文分词的准确性,能够快速响应业务需求。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解。应当明白的是附图不必按比例绘制。在附图中:
图1为本发明实施例提供的一种中文分词系统的示意框图;
图2为本发明实施例提供的训练模型框图;
图3为本发明实施例提供的预测模型框图;
图4为本发明实施例提供的基于词典匹配的分词模型;
图5为本发明实施例提供的一种中文分词的方法的流程图;
图6为本发明实施例提供的一种中文分词的装置的示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能或作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本文中术语“包括/包含”在本文使用时指特征、要素或组件的存在,但并不排除一个或多个其它特征、要素或组件的存在或附加。
本发明的实施例提供了一种中文分词的方法,包括:包括:根据字节长度确定待处理文本的类型,待处理文本的类型包括长文本和短文本;若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果;以及修正长文本分词结果和短文本分词结果。
相比于现有技术,本发明实施例首先根据字节的长度对待处理文本进行分类,若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果。本案能够根据不同的文本类型采用相应的分词手段,使得分词比较有针对性,从而节省了分词所花费的时间,提高了分词的速度。然后对长文本分词结果和短文本分词结果进行修正,将修正后的结果作为所述待处理文本的分词结果。通过对长文本分词结果和短文本分词结果修正,将最终修正的结果作为分词结果,从而提高了中文分词的准确性,能够快速响应业务需求。以下将结合附图来详细描述本发明的实施例及其优点。
如图1所示,为本发明实施例提供的一种中文分词系统的示意框图。该中文分词系统100包括文本类型识别模块110、分词模块120以及修正模块130,其中:文本类型识别模块110用于识别待处理文本的类型,分词模块120包括基于神经网络的分词模型121和基于词匹配的分词模型122,修正模块130用于修正分词模型120得到的分词。当文本类型识别模块110识别出待处理文本的类型为长文本时,先基于神经网络的分词模型121对长文本进行分词处理得到分词结果,再通过修正模块130对分词结果进行修正从而得到最终的结果;当文本类型识别模块110识别出待处理文本的类型为短文本时,先词匹配的分词模型122对短文本进行分词处理得到分词结果,再通过修正模块130对分词结果进行修正从而得到最终的结果。
上述的神经网路的分词模型121可以包括训练模型和预测模型,如图2所示,为本发明实施例提供的训练模型框图。其中,该训练模型属于多任务联合训练模型,主要包括三个子任务:(1)细粒度(Fine)的分词模型(2)粗粒度(Coarse)的分词模型(3)词性(postag)的分词模型,该三个子任务共享嵌入(embedding)层参数。对于单个子任务而言,其模型训练的网络结构主要包括:
(1)输入层:(inputlayer)。inputlayer通过对原始文本进行平字符(flatchars)切分,得到字符集合。
(2)嵌入层(embeddinglayer)。将flatchar映射为固定长度的嵌入向量(embeddingvector)。
(3)隐藏层(hiddenlayer)。以embeddinglayer的embeddingvector表示为输入,通过卷积神经网络(ConvolutionalNeuralNetwork,CNN)卷积运算得到隐藏层输出。
(4)投影层(projectlayer)。对hiddenlayer输出结果进行投射,得到seqLen*labelNum长度的logits结果,表征每个flatchar对应预测为不同的label(中文:标签)的概率,具体采用BIES(Begin,Inside,End,Single)的序列标注方法。
(5)输出层(outputlayer)。以模型计算的logits结果和训练数据的labels作为输入,计算条件随机场(crf)的损失(loss)。最终训练模型的融合损失(mergedloss)是每个子任务loss的加和。
通过上述的训练模型训练模型参数,当上述的mergedloss在设定范围内或达到设定阈值时,得到模型参数,根据该模型参数确定预测模型。
如图3所示,为本发明实施例提供的预测模型框图。对比模型训练阶段,输入层,嵌入层,隐藏层和投影层都是一致的,差别是从outputlayer开始显示出来的。
在预测阶段,outputlayer对上一层的逻辑熵(logits)输出进行条件随机场解码(crfdecode),解析出当前预测logits的最佳序列标签(labels)。再结合BIES序列标注方法对labels采用组块解析器(chunkparser)解析,得出最终的切分位置和标注(tokens)。
如图4所示,为本发明实施例提供的基于词典匹配的分词模型。可以看出,由下至上依次包括以下步骤:
(1)对原始短文本进行如上述神经网络模型flatchars的切分步骤,得到字符集合。
(2)对flatchars字符集合进行基于词典的正向最大匹配(forwardmaximummatch,fmm),得到匹配结果fmm。
(3)对flatchars字符集合进行基于词典的反向最大匹配(backwardmaximummatch,bmm),得到匹配结果bmm。
(4)利用最大匹配选择器(maximummatchselector,mms)选择最优的最大匹配结果,输出最终的分词结果token。
如图5所示,为本发明实施例提供的一种中文分词的方法的流程图。该方法500包括:
501、根据字节长度确定待处理文本的类型。
可选的,上述的待处理文本的类型包括长文本和短文本。
优选的,上述的步骤501具体包括以下内容:当待处理文本的字节长度大于阈值时,确定待处理文本的类型为长文本;以及当待处理文本的字节长度小于或等于阈值时,确定待处理文本的类型为短文本。上述的阈值可以根据实际的需要进行设置,例如:该阈值可以为32字节,当待处理文本的字节长度大于32字节时,则该待处理文本的类型为长文本,当待处理文本的字节长度小于或等于32字节时,则该待处理文本的类型为短文本。
502、若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果。
示例性的,上述的神经网络的分词模型包括训练模型和预测模型,如上文所述的图2和图3的内容。
优选的,上述的步骤502具体包括以下内容:在神经网络模型的输入层切分长文本得到第一字符集合;以及将第一字符集合分别经过神经网络模型的嵌入层、隐藏层、投影层、输出层以及分词解析层,得到长文本分词结果。
示例性的,上述的得到第一字符集合的具体实现过程如下:将连续的英文字母作为一个单词字符;将连续的数字字符作为一个数据字符;将连续的英文和数字的组合作为一个单词字符;以及将其他非英文或非数字作为一个字符。
可选的,该方法还包括以下内容:训练神经网络的分词模型得到模型参数;以及根据模型参数得到训练后的神经网络分词模型。
503、若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果。
优选的,上述的步骤503具体包括以下内容:切分短文本得到第二字符集合;基于词典对第二字符集合分别进行正向最大匹配和反向最大匹配,得到第一匹配结果和第二匹配结果;以及选择最优的匹配结果作为短文本分词结果,最优的匹配结果为第一匹配结果和第二匹配结果中的其中一个。
具体的,上述的正向最大匹配是指从左到右(从前往后)对一个字符串进行匹配,所匹配的词越长越好,比如“你今天想去哪里吃饭”,正向最大匹配是这样分词的:先取maxLength个字,取出来是“你今天”,然后看看词典里有没有,结果没有,那么长度减1,变成“你今”,词典里也没有,再减1,这时已经变成1个字了,就不用再去查词典了,直接就分出来了,当前的分词结果是分出了一个词“你”,然后接着在剩下的句子里再取maxLength个字得到“今天想”,查词典,没有,长度减1,得到“今天”,查词典有,于是分出一个词“今天”,当前的分词结果是分出了两个词“你/今天”,后面的以此类推,最终的正向最大匹配结果为:你/今天/想/去哪/里/吃饭。逆向最大匹配分词和刚才的正向正好反过来,是从右到左取词(从后往前),过程和上述类似,最终上述例子的最大反向匹配结果为:你/今天/想/去/哪里/吃饭。
优选的,上述的选择最优的匹配结果作为短文本分词结果的具体实现过程如下:若第一匹配结果和第二匹配结果一致,则将第一匹配结果或第二匹配结果作为短文本分词结果;若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数不一致,则将第一匹配结果和第二匹配结果中的分词个数较少的一个作为短文本分词结果;以及若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数一致,则计算第一匹配结果和第二匹配结果中不一致的词的平均逆文本频率(InverseDocumentFrequency,IDF),将平均IDF最小的词对应的匹配结果作为短文本分词结果。
示例性的,上述的IDF的定义如下:IDF(token)=log(N/df),其中:df是词token出现在文章中的数量,N是文章的词语的总数量。IDF越小说明该词token越常见,反之越生僻或稀缺。
504、修正长文本分词结果和短文本分词结果。
优选的,上述的神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,长文本分词结果包括第一粗切片段序列和第一精切片段序列。上述的步骤504中修正长文本分词结果所采用的方法包括单字捏合修正方法、精粗切错位修正方法以及较长未登录词修正方法。
示例性的,上述的步骤504中修正长文本分词结果具体包括以下内容:若第一粗切片段和第一精切片段序列包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,分别得到第二粗切片段序列和第二精切片段序列;若第二粗切片段序列和第二精切片段序列存在错位片段,则分别计算第二粗切片段序列和所述第二精切片段序列中错位片段的平均逆文档频率IDF,取最小IDF对应的片段序列作为返回结果;若返回结果为第二粗切片段序列,且第二粗切片段序列包含较长未登录词的片段,则用包含较长未登录词的片段对应的精切结果替换第二粗切分片段序列中包含较长未登录词的片段,将替换后形成的第三粗切片段序列作为长文本分词结果。
其中,非错位定义为粗切里的任意一个词,必须由精切里的一个或多个词组合而来,相对而言,上述的错位片段是指粗切里的任意一个词,不能由精切里的一个或多个词组合而来的片段。
其中,上述的较长未登录词是指长度大于设定值且没有被收录在分词词典中但必须切分出来的词语。
示例性的,上述的粗切片段序列是经过粗切得到的,上述的精切片段序列是经过精切得到的,其中:精切的颗粒度大于粗切的颗粒度,说明精切后得到的词语和单字的个数之和大于粗切后得到的词语和单字的个数之和。
对于上述的单子捏合修正方法这里举个例子进行说明。例如,待切分的词语为covermark色号,若切分后得到的结果为:covermark色/号,其中[号]为单字,在词典中查找到包括单字的核心词为色号,则修正后的结果为:covermark/色号。
对于上述的精粗切错位修正方法这里举个例子进行说明。例如,待切分的句子为:有谁知道学而思待遇怎么样,粗切片段序列为:有/谁/知道/学而思/待遇/怎么样,精切片段序列:有/谁/知道/学/而/思待遇/怎么/样。存在错位的片段为:[学而思待遇],粗切是[学而思/待遇],精切是[学/而/思待遇]。计算这两个片段序列的平均IDF,其中:假设精切片段序列中[学/而/思待遇]的averageIDF=(IDF(学)+IDF(而)+IDF(思待遇))/3=3.5,假设粗切片段序列中[学而思/待遇]的averageIDF=(IDF(学而思)+IDF(待遇))/2=2.5。那么就取粗切结果,即[学而思/待遇]。这样原来的精切中[学/而/思待遇]会被扔掉,替换为[学而思/待遇]。粗切:有/谁/知道/学而思/待遇/怎么样,精切:有/谁/知道/学而思/待遇/怎么/样。
对于上述的较长未登录词修正方法这里举个例子进行说明。例如,待切分的句子为:六年级上册数学期中检测一,粗切片段序列为:六年级上册/数学期中/检测一,精切片段序列为:六年级/上册/数学/期中/检测一,其中若认为粗切片段[六年级上册]属于较长未登录词,则需要用该片段的精切结果来覆盖粗切结果,最终修正后的粗切片段序列为:六年级/上册/数学期中/检测一。
示例性的,上述的步骤504中修正短文本分词结果具体包括以下内容:若短文本分词结果包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,得到包含核心词的片段序列。
下面将基于图1对应的中文分词的方法的实施例中的相关描述对本发明实施例提供的一种中文分词的装置进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。
如图6所示,为本发明实施例提供的一种中文分词的装置的示意图。该装置600包括:确定模块601,被配置为用于根据字节长度确定待处理文本的类型,待处理文本的类型包括长文本和短文本;分词模块602,被配置为用于若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果;以及修正模块603,被配置为用于修正长文本分词结果和短文本分词结果。
优选的,上述的神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,长文本分词结果包括第一粗切片段序列和第一精切片段序列,修正模块603被配置为具体用于:若第一粗切片段和第一精切片段序列包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,分别得到第二粗切片段序列和第二精切片段序列;若第二粗切片段序列和第二精切片段序列存在错位片段,则分别计算第二粗切片段序列和第二精切片段序列中错位片段的平均逆文档频率IDF,取最小IDF对应的片段序列作为返回结果;若返回结果为第二粗切片段序列,且第二粗切片段序列包含较长未登录词的片段,则用包含较长未登录词的片段对应的精切结果替换第二粗切分片段序列中包含较长未登录词的片段,将替换后形成的第三粗切片段序列作为长文本分词结果。
优选的,上述的修正模块603被配置为具体还用于:若短文本分词结果包括单字的片段,则将单字的片段组合为词典中可查找的包括单字的核心词,得到包含核心词的片段序列。
示例性的,上述的确定模块601被配置为具体用于:当待处理文本的字节长度大于阈值时,确定待处理文本的类型为长文本;以及当待处理文本的字节长度小于或等于阈值时,确定待处理文本的类型为短文本。
示例性的,上述的分词模块602被配置为具体用于:在神经网络模型的输入层切分长文本得到第一字符集合;以及将第一字符集合分别经过神经网络模型的嵌入层、隐藏层、投影层、输出层以及分词解析层,得到长文本分词结果。
示例性的,上述的分词模块602被配置为具体还用于:将连续的英文字母作为一个单词字符;将连续的数字字符作为一个数据字符;将连续的英文和数字的组合作为一个单词字符;以及将其他非英文或非数字作为一个字符。
示例性的,上述的分词模块602被配置为具体还用于:切分短文本得到第二字符集合;基于词典对第二字符集合分别进行正向最大匹配和反向最大匹配,得到第一匹配结果和第二匹配结果;以及选择最优的匹配结果作为短文本分词结果,最优的匹配结果为第一匹配结果和第二匹配结果中的其中一个。
示例性的,上述的分词模块602被配置为具体还用于:若第一匹配结果和第二匹配结果一致,则将第一匹配结果或第二匹配结果作为短文本分词结果;若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数不一致,则将第一匹配结果和第二匹配结果中的分词个数较少的一个作为短文本分词结果;以及若第一匹配结果和第二匹配结果不一致,且第一匹配结果和第二匹配结果的分词个数一致,则计算第一匹配结果和第二匹配结果中不一致的词的平均IDF,将平均IDF最小的词对应的匹配结果作为短文本分词结果。
相比于现有技术,本发明实施例提供的中文分词装置,首先根据字节的长度对待处理文本进行分类,若待处理文本的类型为长文本,则基于神经网络的分词模型对待处理文本分词,得到长文本分词结果;若待处理文本的类型为短文本,则基于词典匹配的分词模型对待处理文本分词,得到短文本分词结果。本案能够根据不同的文本类型采用相应的分词手段,使得分词比较有针对性,从而节省了分词所花费的时间,提高了分词的速度。然后对长文本分词结果和短文本分词结果进行修正,将修正后的结果作为待处理文本的分词结果。通过对长文本分词结果和短文本分词结果修正,将最终修正的结果作为分词结果,从而提高了中文分词的准确性,能够快速响应业务需求。
如图7所示,为本发明实施例提供的一种电子设备的结构示意图,电子设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有电子设备700操作所需的各种程序和数据。CPU701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
本发明实施例提供一种计算机存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如上所述的方法流程。示例性的,计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘SolidStateDisk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种中文分词的方法,其特征在于,所述方法包括:
根据字节长度确定待处理文本的类型,所述待处理文本的类型包括长文本和短文本,当所述待处理文本的字节长度大于阈值时,确定所述待处理文本的类型为长文本,当所述待处理文本的字节长度小于或等于阈值时,确定所述待处理文本的类型为短文本;
若所述待处理文本的类型为长文本,则基于神经网络的分词模型对所述待处理文本分词,得到长文本分词结果;其中,所述神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,所述长文本分词结果包括第一粗切片段序列和第一精切片段序列;
若所述待处理文本的类型为短文本,则基于词典匹配的分词模型对所述待处理文本分词,得到短文本分词结果;以及
修正所述长文本分词结果和所述短文本分词结果,其中,修正所述长文本分词结果包括单字捏合修正、精粗切错位修正以及较长未登录词修正;修正所述短文本分词结果包括:若所述短文本分词结果包括单字的片段,则将所述单字的片段组合为词典中可查找的包括所述单字的核心词,得到包含所述核心词的片段序列。
2.根据权利要求1所述的方法,其特征在于,所述修正所述长文本分词结果包括:
若所述第一粗切片段和所述第一精切片段序列包括单字的片段,则将所述单字的片段组合为词典中可查找的包括所述单字的核心词,分别得到第二粗切片段序列和第二精切片段序列;
若所述第二粗切片段序列和所述第二精切片段序列存在错位片段,则分别计算所述第二粗切片段序列和所述第二精切片段序列中错位片段的平均逆文档频率IDF,取最小IDF对应的片段序列作为返回结果;
若所述返回结果为第二粗切片段序列,且所述第二粗切片段序列包含较长未登录词的片段,则用包含较长未登录词的片段对应的精切结果替换所述第二粗切分片段序列中包含较长未登录词的片段,将替换后形成的第三粗切片段序列作为所述长文本分词结果。
3.根据权利要求1所述的方法,其特征在于,所述基于神经网络的分词模型对所述待处理文本分词,得到长文本分词结果包括:
在神经网络模型的输入层切分所述长文本得到第一字符集合;以及
将所述第一字符集合分别经过所述神经网络模型的嵌入层、隐藏层、投影层、输出层以及分词解析层,得到长文本分词结果。
4.根据权利要求3所述的方法,其特征在于,所述在神经网络模型的输入层切分所述长文本得到第一字符集合包括:
将连续的英文字母作为一个单词字符;
将连续的数字字符作为一个数据字符;
将所述连续的英文和数字的组合作为一个单词字符;以及
将其他非英文或非数字作为一个字符。
5.根据权利要求1所述的方法,其特征在于,所述基于词典匹配的分词模型对所述待处理文本分词包括:
切分所述短文本得到第二字符集合;
基于词典对所述第二字符集合分别进行正向最大匹配和反向最大匹配,得到第一匹配结果和第二匹配结果;以及
选择最优的匹配结果作为短文本分词结果,所述最优的匹配结果为第一匹配结果和第二匹配结果中的其中一个。
6.根据权利要求5所述的方法,其特征在于,所述选择最优的匹配结果作为短文本分词结果,包括:
若所述第一匹配结果和第二匹配结果一致,则将所述第一匹配结果或所述第二匹配结果作为短文本分词结果;
若所述第一匹配结果和所述第二匹配结果不一致,且所述第一匹配结果和第二匹配结果的分词个数不一致,则将所述第一匹配结果和所述第二匹配结果中的分词个数较少的一个作为短文本分词结果;以及
若所述第一匹配结果和所述第二匹配结果不一致,且所述第一匹配结果和第二匹配结果的分词个数一致,则计算第一匹配结果和第二匹配结果中不一致的词的平均IDF,将平均IDF最小的词对应的匹配结果作为短文本分词结果。
7.一种中文分词的装置,其特征在于,所述装置包括:
确定模块,被配置为用于根据字节长度确定待处理文本的类型,所述待处理文本的类型包括长文本和短文本,当所述待处理文本的字节长度大于阈值时,确定所述待处理文本的类型为长文本,当所述待处理文本的字节长度小于或等于阈值时,确定所述待处理文本的类型为短文本;
分词模块,被配置为用于若所述待处理文本的类型为长文本,则基于神经网络的分词模型对所述待处理文本分词,得到长文本分词结果;其中,所述神经网络的分词模型包括粗粒度分词模型和细粒度分词模型,所述长文本分词结果包括第一粗切片段序列和第一精切片段序列;
若所述待处理文本的类型为短文本,则基于词典匹配的分词模型对所述待处理文本分词,得到短文本分词结果;以及
修正模块,被配置为用于修正所述长文本分词结果和所述短文本分词结果,其中,修正所述长文本分词结果包括单字捏合修正、精粗切错位修正以及较长未登录词修正;修正所述短文本分词结果包括:若所述短文本分词结果包括单字的片段,则将所述单字的片段组合为词典中可查找的包括所述单字的核心词,得到包含所述核心词的片段序列。
8.一种电子设备,包括:一个或多个处理器;以及存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至6中任一项所述的方法。
9.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910844568.4A CN110543637B (zh) | 2019-09-06 | 2019-09-06 | 一种中文分词方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910844568.4A CN110543637B (zh) | 2019-09-06 | 2019-09-06 | 一种中文分词方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543637A CN110543637A (zh) | 2019-12-06 |
CN110543637B true CN110543637B (zh) | 2023-04-28 |
Family
ID=68712929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910844568.4A Active CN110543637B (zh) | 2019-09-06 | 2019-09-06 | 一种中文分词方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543637B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161861A (zh) * | 2019-12-31 | 2020-05-15 | 南京天溯自动化控制系统有限公司 | 用于医院后勤运维的短文本数据处理方法、装置 |
CN111859857B (zh) * | 2020-06-30 | 2021-08-27 | 上海森亿医疗科技有限公司 | 基于标注文本的训练数据集生成方法、系统、设备和介质 |
CN112052676B (zh) * | 2020-08-31 | 2021-09-07 | 国网山东省电力公司荣成市供电公司 | 一种文本内容的处理方法、计算机设备及存储介质 |
CN114386407B (zh) * | 2021-12-23 | 2023-04-11 | 北京金堤科技有限公司 | 文本的分词方法及装置 |
CN113988068B (zh) * | 2021-12-29 | 2022-04-15 | 深圳前海硬之城信息技术有限公司 | Bom文本的分词方法、装置、设备及存储介质 |
CN117520549A (zh) * | 2023-11-20 | 2024-02-06 | 北京中关村科金技术有限公司 | 一种文档切分方法、装置、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243055B (zh) * | 2015-09-28 | 2018-07-31 | 北京橙鑫数据科技有限公司 | 基于多语言的分词方法和装置 |
CN105975454A (zh) * | 2016-04-21 | 2016-09-28 | 广州精点计算机科技有限公司 | 一种网页文本的中文分词方法和装置 |
CN105955953A (zh) * | 2016-05-03 | 2016-09-21 | 成都数联铭品科技有限公司 | 一种分词系统 |
CN109918664B (zh) * | 2019-03-05 | 2023-04-18 | 北京声智科技有限公司 | 分词方法和装置 |
-
2019
- 2019-09-06 CN CN201910844568.4A patent/CN110543637B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110543637A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543637B (zh) | 一种中文分词方法及装置 | |
CN108399228B (zh) | 文章分类方法、装置、计算机设备及存储介质 | |
CN110287961B (zh) | 中文分词方法、电子装置及可读存储介质 | |
CN108829893B (zh) | 确定视频标签的方法、装置、存储介质和终端设备 | |
CN109815487B (zh) | 文本质检方法、电子装置、计算机设备及存储介质 | |
CN109918560B (zh) | 一种基于搜索引擎的问答方法和装置 | |
CN112347778B (zh) | 关键词抽取方法、装置、终端设备及存储介质 | |
CN111858843B (zh) | 一种文本分类方法及装置 | |
CN111930929A (zh) | 一种文章标题生成方法、装置及计算设备 | |
CN110909122A (zh) | 一种信息处理方法及相关设备 | |
CN111523314B (zh) | 模型对抗训练、命名实体识别方法及装置 | |
CN106777236B (zh) | 基于深度问答的查询结果的展现方法和装置 | |
CN113051356A (zh) | 开放关系抽取方法、装置、电子设备及存储介质 | |
WO2023065642A1 (zh) | 语料筛选方法、意图识别模型优化方法、设备及存储介质 | |
CN114757176A (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
Kim et al. | Figure text extraction in biomedical literature | |
CN115086182B (zh) | 邮件识别模型的优化方法、装置、电子设备及存储介质 | |
CN110738033A (zh) | 报告模板生成方法、装置及存储介质 | |
CN111177375A (zh) | 一种电子文档分类方法及装置 | |
CN112989043B (zh) | 指代消解方法、装置、电子设备及可读存储介质 | |
CN113177409B (zh) | 一种智能敏感字词识别系统 | |
CN109783483A (zh) | 一种数据整理的方法、装置、计算机存储介质及终端 | |
CN115952800A (zh) | 命名实体识别方法、装置、计算机设备及可读存储介质 | |
CN115294593A (zh) | 一种图像信息抽取方法、装置、计算机设备及存储介质 | |
Hirschmeier et al. | Improving recall and precision in unsupervised multi-label document classification tasks by combining word embeddings with TF-IDF |
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 |