中文分词方法及装置
技术领域
本申请涉及文本处理领域,具体而言,涉及一种中文分词方法及装置。
背景技术
中文分词(Chinese Word Segmentation)指的是将一段连续的中文文本切分成一个个单独的词。中文分词是中文自然语言处理的一个基本任务,分词的好坏直接影响后续的自然语言处理。
发明人发现,基于词典的分词方法,对词典依赖比较强,泛化能力差。而基于单字成词的方法,泛化能力好,但是不支持添加词典。进一步,在实际使用时上述方法时,针对中文的分词效果并不够好,且不利于维护。
针对相关技术中中文分词方法效果较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种中文分词方法及装置,以解决中文分词方法效果较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种中文分词方法。
根据本申请的中文分词方法包括:对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合;对所述新词集合采用基于词典的分词方法,得到中文分词结果,其中,所述命名实体识别中至少包括:深度学习命名实体识别和机器学习命名实体识别。
进一步地,所述深度学习分词包括:将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词;训练用于对文本进行预测并可标注每个字标记的学习模型;使用所述用于对文本进行预测并可标注每个字标记的学习模型对输入中文文本进行分词处理。
进一步地,所述深度学习命名实体识别包括:将待处理文本中的每个字标记上B、M、E、S、O标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单个字就是一个实体,O代表实体外部的字;对不同类型的实体,标记时带上实体的类型;训练用于对文本进行实体识别的学习模型;使用所述用于对文本进行实体识别的学习模型对输入中文文本进行命名实体识别处理。
进一步地,所述机器学习命名实体识别包括:使用机器学习命名实体识别模型识别预设的命名实体,其中,命名实体中至少包括:人名识别、餐厅识别或酒店识别。
进一步地,对所述新词集合采用基于词典的分词方法还包括:对特定词语或名词,建立自定义词典;对输入中文文本分别进行命名实体识别和深度学习分词后,将得到的词建立新词词典。
为了实现上述目的,根据本申请的另一方面,提供了一种中文分词装置。
根据本申请的中文分词装置包括:第一处理模块,用于对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合;第二处理模块,用于对所述新词集合采用基于词典的分词方法,得到中文分词结果,其中,所述命名实体识别中至少包括:深度学习命名实体识别和机器学习命名实体识别。
进一步地,所述第一处理模块包括:深度学习分词模块,所述深度学习分词模块包括:第一标记单元,用于将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词;第一训练单元,用于训练用于对文本进行预测并可标注每个字标记的学习模型;第一分词处理单元,用于使用所述用于对文本进行预测并可标注每个字标记的学习模型对输入中文文本进行分词处理。
进一步地,所述第一处理模块包括:深度学习命名实体识别模块,所述深度学习命名实体识别模块包括:第二标记单元,用于将待处理文本中的每个字标记上B、M、E、S、O标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单个字就是一个实体,O代表实体外部的字;对不同类型的实体,标记时带上实体的类型;第二训练单元,用于训练用于对文本进行实体识别的学习模型;第二分词处理单元,用于使用所述用于对文本进行实体识别的学习模型对输入中文文本进行命名实体识别处理。
进一步地,所述第一处理模块包括:机器学习命名实体识别模块,所述机器学习命名实体识别模块包括:指定命名实体识别单元,用于使用机器学习命名实体识别模型识别预设的命名实体,其中,命名实体中至少包括:人名识别、餐厅识别或酒店识别。
进一步地,所述第二处理模块包括:词典模块,所述词典模块包括:自定义词典单元,用于对特定词语或名词,建立自定义词典;新词词典单元,用于对输入中文文本分别进行命名实体识别和深度学习分词后,将得到的词建立新词词典。
在本申请实施例中,采用对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合的方式,通过对所述新词集合采用基于词典的分词方法,得到中文分词结果,达到了既具备较好泛化能力又具有很好分词准确率的目的,从而实现了中文分词的方法优势互补劣势互消的技术效果,进而解决了中文分词方法效果较差的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的中文分词方法流程示意图;
图2是根据本申请第二实施例的中文分词方法流程示意图;
图3是根据本申请第三实施例的中文分词方法流程示意图;
图4是根据本申请第四实施例的中文分词方法流程示意图;
图5是根据本申请第五实施例的中文分词方法流程示意图;
图6是根据本申请第一实施例的中文分词装置结构示意图;
图7是根据本申请第二实施例的中文分词装置结构示意图;
图8是根据本申请第三实施例的中文分词装置结构示意图;
图9是根据本申请第四实施例的中文分词装置结构示意图;
图10是根据本申请第五实施例的中文分词装置结构示意图;
图11是本申请的实现原理示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在本申请中的中文分词是指:将一段连续的中文文本切分成一个个单独的词。
在本申请中的命名实体:可简称“实体”,是指文本中具有特定意义的词语,主要包括人名、地名、机构名、专有名词,以及任何业务场景下所关心的具有特定意义的词语比如,餐馆名、酒店名、电影名等。
在本申请中的命名实体识别:是指从文本中识别出命名实体的任务或者技术。
在本申请中主要提供一种混合型中文分词方法,该分词方法结合了深度学习分词、深度学习命名实体识别、机器学习命名实体识别和基于词典分词,不仅具有很好的泛化能力,而且具有很好的准确率,自定义词典的使用,还增加了分词系统的可维护性,具有较好的应用前景。
如图1所示,该方法包括如下的步骤S102至步骤S104:
步骤S102,对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合;
对输入中文文本,采用基于单字成词的深度学习分词方法结合基于词典匹配的综合分词方法。
具体地,命名实体识别还可以是机器学习命名实体识别。机器学习命名实体识别主要有传统的机器学习方法,例如HMM和CRF。
具体地,深度学习分词的处理思路是基于单字成词的方法,主要是对文本中的每个字标一个标记,然后将匹配上某种模式的连续标记串的字,连在一起形成词语。优选地,深度学习分词中深度学习分词采用的是Bi-LSTM+CRF的方法。
具体地,命名实体识别可以是深度学习命名实体识别。深度学习NER命名实体识别与深度学习分词用的方法一样,都是基于Bi-LSTM+CRF的方法。而其中不同点在于标记不同。
在对输入中文文本分别进行命名实体识别和深度学习分词的分词操作之后,可以将通过深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词的结果作为新词集合,新词结合组成当前文本的一个新词词典。
步骤S104,对所述新词集合采用基于词典的分词方法,得到中文分词结果。
对所述新词集合,再采用基于词典的分词方法,可以得到分词结果。同时还需要将分词结果使用HMM隐马尔科夫模型进行词性标注。词性标注的结果可以再进行命名实体识别和深度学习分词,进而实现深度学习模型的参数更新和持久化。
需要说明的是,上述采用基于词典的分词方法中可以包括的方法有:mmseg、正向最大匹配法、逆向最大匹配法和双向匹配法、最短路径分词法、最大概率分词法等。在本申请中并不进行限定,本领域技术人员可以根据实际使用场景进行选择。优选地,在本申请的实施例中采用动态规划,进行最短路径分词法。
从以上的描述中,可以看出,本申请实现了如下技术效果:
在本申请实施例中,采用对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合的方式,通过对所述新词集合采用基于词典的分词方法,得到中文分词结果,达到了既具备较好泛化能力又具有很好分词准确率的目的,从而实现了中文分词的方法优势互补劣势互消的技术效果,进而解决了中文分词方法效果较差的技术问题。
根据本申请实施例,作为本实施例中的优选,如图2所示,所述深度学习分词包括:
步骤S202,将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词;
首先根据标注好的分词数据集,将每个字标记上B/M/E/S/四种标记,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词,在标记好整个训练集的数据之后,就可以用预先选择的方法来训练深度学习模型。
步骤S204,训练用于对文本进行预测并可标注每个字标记的学习模型;
训练用于对文本进行预测并可标注每个字标记的学习模型时,可以使用Word2Vec方法,在分词或者实体标注数据集上预训练字向量。然后,将句子分割成字级别,构建输入矩阵,输入Bi-LSTM模型。将得到的所述Bi-LSTM模型中每个时间步(Time Step)输出作为CRF层输入,对输出进行规约。还包括:根据损失进行参数更新的步骤以及模型参数持久化的步骤。
步骤S206,使用所述用于对文本进行预测并可标注每个字标记的学习模型对输入中文文本进行分词处理。
在训练完模型之后,可以对文本进行预测并标注每个字的标记了。
具体地,比如,原文本是“我爱北京天安门”,则经过深度学习标注之后就变成了“我/S爱/S北/B京/E天/B安/M门/E”,就可以将S、BE或者BME这样的连在一起的单字串,组合在一起,形成词语,最终的分词结果就是“我爱北京天安门”。
上述深度学习分词采用的是Bi-LSTM+CRF的方法。需要注意的是,在本申请中并不对深度学习分词的具体方法进行限定,本领域技术人员能够根据实际情况进行选择。
根据本申请实施例,作为本实施例中的优选,如图3所示,所述深度学习命名实体识别NER包括:
步骤S302,将待处理文本中的每个字标记上B、M、E、S、O标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单个字就是一个实体,O代表实体外部的字;对不同类型的实体,标记时带上实体的类型;
在B/M/E/S的基础上,增加了一个O的标记。B代表实体的首字,M代表实体中间的字,E代表实体的末字,S代表单个字就是一个实体,O代表实体外部的字。此外,在标记的时候,不同类型的实体,标记需要带上实体的类型。
具体地,比如,假设实体类型是地名(location),额相应的B/M/E/S的标记就分别写为,B_location,M_location,E_location和S_location。
步骤S304,训练用于对文本进行实体识别的学习模型;
训练用于对文本进行实体识别的学习模型时,可以使用Word2Vec方法,在分词或者实体标注数据集上预训练字向量。然后,将句子分割成字级别,构建输入矩阵,输入Bi-LSTM模型。将得到的所述Bi-LSTM模型中每个时间步(Time Step)输出作为CRF层输入,对输出进行规约。还包括:根据损失进行参数更新的步骤以及模型参数持久化的步骤。
步骤S306,使用所述用于对文本进行实体识别的学习模型对输入中文文本进行命名实体识别处理。
在模型训练完成之后,就可以用来对新的文本进行实体识别。
根据本申请实施例,作为本实施例中的优选,如图4所示,所述机器学习命名实体识别包括:
步骤S402,使用机器学习命名实体识别模型识别预设的命名实体,其中,命名实体中至少包括:人名识别、餐厅识别或酒店识别。
具体地,对于有一些命名实体,如果使用深度学习命名实体识别的方法来识别,效果不太好。则对于这些情况,需要通过单独的开发了对应的机器学习命名实体识别模块。优选地,目前支持的实体识别有人名识别、餐厅识别、酒店识别等。
根据本申请实施例,作为本实施例中的优选,如图5所示,对所述新词集合采用基于词典的分词方法还包括:
步骤S502,对特定词语或名词,建立自定义词典;
对于有些特定的词语或者专有名词,采用命名实体识别的方法识别不出来,只能通过自定义词典来强制将它分出来。故需要对特定词语或名词,建立自定义词典。在支持自定义词典之后,分词系统就具有更好的可维护性了。
需要说明的是,基于词典的分词方法,是按照一定的策略将待匹配的字符串和一个已建立好的词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别了该词。
步骤S504,对输入中文文本分别进行命名实体识别和深度学习分词后,将得到的词建立新词词典。
对于每一个待分词文本,在对其进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,可以将深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词组成当前文本的一个新词词典。
作为本实施例中的优选,综合中文分词的方法包括:
对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合;对所述新词集合采用基于词典的分词方法,得到中文分词结果,其中,所述命名实体识别中至少包括:深度学习命名实体识别和机器学习命名实体识别。
其中,所述深度学习分词采用:将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词;训练用于对文本进行预测并可标注每个字标记的学习模型;使用所述用于对文本进行预测并可标注每个字标记的学习模型对输入中文文本进行分词处理的方式。
其中,所述深度学习命名实体识别采用:将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单个字就是一个实体,O代表实体外部的字;对不同类型的实体,标记时带上实体的类型;训练用于对文本进行实体识别的学习模型;使用所述用于对文本进行实体识别的学习模型对输入中文文本进行命名实体识别处理的方式。
所述机器学习命名实体识别采用:使用机器学习命名实体识别模型识别预设的命名实体,其中,命名实体中至少包括:人名识别、餐厅识别或酒店识别的方式。
在进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,再结合自定义词典进行综合分词,构建新词词典:对于每一个待分词文本,在对其进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,可以将深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词组成当前文本的一个新词词典。构建词图:结合新词词典和自定义词典,构建词图。最短路径分词:在生成词图之后,使用动态规划,进行最短路径分词。词性标注:在分词完成之后,结合深度学习命名实体识别、机器学习命名实体识别和自定义词典,使用隐马尔科夫模型进行词性标注。词性标注的结果接入输入用于命名实体识别和深度学习分词的学习模型,进行模型持久化。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述中文分词方法的装置,如图6所示,该装置包括:第一处理模块10,用于对输入中文文本分别进行命名实体识别和深度学习分词,得到的结果作为新词集合;第二处理模块20,用于对所述新词集合采用基于词典的分词方法,得到中文分词结果,其中,所述命名实体识别中至少包括:深度学习命名实体识别和机器学习命名实体识别。
本申请实施例的第一处理模块10中对输入中文文本,采用基于单字成词的深度学习分词方法结合基于词典匹配的综合分词方法。
具体地,命名实体识别还可以是机器学习命名实体识别。机器学习命名实体识别主要有传统的机器学习方法,例如HMM和CRF。
具体地,深度学习分词的处理思路是基于单字成词的方法,主要是对文本中的每个字标一个标记,然后将匹配上某种模式的连续标记串的字,连在一起形成词语。优选地,深度学习分词中深度学习分词采用的是Bi-LSTM+CRF的方法。
具体地,命名实体识别可以是深度学习命名实体识别。深度学习NER命名实体识别与深度学习分词用的方法一样,都是基于Bi-LSTM+CRF的方法。而其中不同点在于标记不同。
在对输入中文文本分别进行命名实体识别和深度学习分词的分词操作之后,可以将通过深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词的结果作为新词集合,新词结合组成当前文本的一个新词词典。
本申请实施例的第二处理模块20中对所述新词集合,再采用基于词典的分词方法,可以得到分词结果。同时还需要将分词结果使用HMM隐马尔科夫模型进行词性标注。词性标注的结果可以再进行命名实体识别和深度学习分词,进而实现深度学习模型的参数更新和持久化。
需要说明的是,上述采用基于词典的分词方法中可以包括的方法有:mmseg、正向最大匹配法、逆向最大匹配法和双向匹配法、最短路径分词法、最大概率分词法等。在本申请中并不进行限定,本领域技术人员可以根据实际使用场景进行选择。优选地,在本申请的实施例中采用动态规划,进行最短路径分词法。
根据本申请实施例,作为本实施例中的优选,如图7所示,所述第一处理模块10包括:深度学习分词模块101,所述深度学习分词模块包括:第一标记单元1011,用于将待处理文本中的每个字标记上B、M、E、S标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词;第一训练单元1012,用于训练用于对文本进行预测并可标注每个字标记的学习模型;第一分词处理单元1013,用于使用所述用于对文本进行预测并可标注每个字标记的学习模型对输入中文文本进行分词处理。
本申请实施例的第一标记单元101中首先根据标注好的分词数据集,将每个字标记上B/M/E/S/四种标记,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词,在标记好整个训练集的数据之后,就可以用预先选择的方法来训练深度学习模型。
本申请实施例的第一训练单元102中训练用于对文本进行预测并可标注每个字标记的学习模型时,可以使用Word2Vec方法,在分词或者实体标注数据集上预训练字向量。然后,将句子分割成字级别,构建输入矩阵,输入Bi-LSTM模型。将得到的所述Bi-LSTM模型中每个时间步(Time Step)输出作为CRF层输入,对输出进行规约。还包括:根据损失进行参数更新的步骤以及模型参数持久化的步骤。
本申请实施例的第一分词处理单元103中在训练完模型之后,可以对文本进行预测并标注每个字的标记了。
具体地,比如,原文本是“我爱北京天安门”,则经过深度学习标注之后就变成了“我/S爱/S北/B京/E天/B安/M门/E”,就可以将S、BE或者BME这样的连在一起的单字串,组合在一起,形成词语,最终的分词结果就是“我爱北京天安门”。
上述深度学习分词采用的是Bi-LSTM+CRF的方法。需要注意的是,在本申请中并不对深度学习分词的具体方法进行限定,本领域技术人员能够根据实际情况进行选择。
根据本申请实施例,作为本实施例中的优选,如图8所示,所述第一处理模块包括:深度学习命名实体识别模块102,所述深度学习命名实体识别模块包括:第二标记单元1021,用于将待处理文本中的每个字标记上B、M、E、S、O标记,其中,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单个字就是一个实体,O代表实体外部的字;对不同类型的实体,标记时带上实体的类型;第二训练单元1022,用于训练用于对文本进行实体识别的学习模型;第二分词处理单元1023,用于使用所述用于对文本进行实体识别的学习模型对输入中文文本进行命名实体识别处理。
本申请实施例的第二标记单元1021中在B/M/E/S的基础上,增加了一个O的标记。B代表实体的首字,M代表实体中间的字,E代表实体的末字,S代表单个字就是一个实体,O代表实体外部的字。此外,在标记的时候,不同类型的实体,标记需要带上实体的类型。
具体地,比如,假设实体类型是地名(location),额相应的B/M/E/S的标记就分别写为,B_location,M_location,E_location和S_location。
本申请实施例的第二训练单元1022中训练用于对文本进行实体识别的学习模型时,可以使用Word2Vec方法,在分词或者实体标注数据集上预训练字向量。然后,将句子分割成字级别,构建输入矩阵,输入Bi-LSTM模型。将得到的所述Bi-LSTM模型中每个时间步(Time Step)输出作为CRF层输入,对输出进行规约。还包括:根据损失进行参数更新的步骤以及模型参数持久化的步骤。
本申请实施例的第二分词处理单元1023中在模型训练完成之后,就可以用来对新的文本进行实体识别。
根据本申请实施例,作为本实施例中的优选,如图9所示,所述第一处理模块包括:机器学习命名实体识别模块103,所述机器学习命名实体识别模块103包括:指定命名实体识别单元1031,用于使用机器学习命名实体识别模型识别预设的命名实体,其中,命名实体中至少包括:人名识别、餐厅识别或酒店识别。
本申请实施例的指定命名实体识别单元1031中具体地,对于有一些命名实体,如果使用深度学习命名实体识别的方法来识别,效果不太好。则对于这些情况,需要通过单独的开发了对应的机器学习命名实体识别模块。优选地,目前支持的实体识别有人名识别、餐厅识别、酒店识别等。
根据本申请实施例,作为本实施例中的优选,如图10所示,所述第二处理模块20包括:词典模块201,所述词典模块201包括:自定义词典单元2011,用于对特定词语或名词,建立自定义词典;新词词典单元2012,用于对输入中文文本分别进行命名实体识别和深度学习分词后,将得到的词建立新词词典。
本申请实施例的自定义词典单元2011中对于有些特定的词语或者专有名词,采用命名实体识别的方法识别不出来,只能通过自定义词典来强制将它分出来。故需要对特定词语或名词,建立自定义词典。在支持自定义词典之后,分词系统就具有更好的可维护性了。
需要说明的是,基于词典的分词方法,是按照一定的策略将待匹配的字符串和一个已建立好的词典中的词进行匹配,若找到某个词条,则说明匹配成功,识别了该词。
本申请实施例的新词词典单元2012中对于每一个待分词文本,在对其进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,可以将深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词组成当前文本的一个新词词典。
请参考图11,是本申请的实现原理示意图。以下结合附图11对本申请的实现原理进行详细说明。在本申请的实施例中提供一种混合型中文分词方法,通过结合深度学习分词、深度学习命名实体识别、机器学习命名实体识别和基于词典分词。不仅具有很好的泛化能力,而且具有很好的准确率,自定义词典的使用,还增加了分词系统的可维护性,具有较好的应用前景。
(1)训练
1.1深度学习分词方案
具体地,在深度学习分词方案中采用的是Bi-LSTM+CRF的方法。首先根据标注好的分词数据集,将每个字标记上B/M/E/S/四种标记,B代表词语的首字,M代表词语中间的字,E代表词语的末字,S代表单字词,在标记好整个训练集的数据之后,就可以用Bi-LSTM+CRF的方法来训练模型了。训练模型的过程主要有以下几步:
a.使用Word2Vec方法,在分词/实体标注数据集上预训练字向量。
b.将句子分割成字级别,构建输入矩阵,输入Bi-LSTM模型。
c.将Bi-LSTM模型每个时间步(Time Step)输出作为CRF层输入,对输出进行规约。
d.根据损失进行参数更新。
e.模型参数持久化。
在训练完模型之后,就可以对文本进行预测并标注每个字的标记。比如原文本是“我爱北京天安门”,在经过深度学习标注之后就变成了“我/S爱/S北/B京/E天/B安/M门/E”,就可以将S、BE或者BME这样的连在一起的单字串,组合在一起形成词语最终的分词结果就是“我爱北京天安门”。
1.2深度学习NER(命名实体识别)
深度学习NER与深度学习分词用的方法一样,都是基于Bi-LSTM+CRF的方法。不同点在于标记不同,在B/M/E/S的基础上,多了一个O的标记。B代表实体的首字,M代表实体中间的字,E代表实体的末字,S代表单个字就是一个实体,O代表实体外部的字。另外,标记的时候,不同类型的实体,标记需要带上实体的类型,例如假设实体类型是地名(location),那么相应的B/M/E/S的标记就分别写为,B_location,M_location,E_location和S_location。在模型训练完成之后,就可以用来进行实体识别了。
1.3机器学习NER(命名实体识别)
有些命名实体,用深度学习的方法来识别,效果不太好,只能通过单独的开发了对应的机器学习命名实体识别模块。目前支持的实体识别有人名识别、餐厅识别、酒店识别等。
1.4构建自定义词典
有些特定的词语或者专有名词,用命名实体识别的方法识别不出来,只能通过自定义词典来强制将它分出来。在支持自定义词典之后,基于现有的分词系统就具有更好的可维护性了。
(2)中文分词
在进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,我们再结合自定义词典进行综合分词,这里用到的方法是最短路径分词,具体步骤如下,图11所示出的具体步骤:
步骤一:构建新词词典,
对于每一个待分词文本,在对其进行完深度学习分词、深度学习命名实体识别、机器学习命名实体识别之后,可以将深度学习分词、深度学习命名实体识别、机器学习命名实体识别分出来的词组成当前文本的一个新词词典及新词集合。
步骤二:构建词图,
结合新词词典和自定义词典,构建词图。
步骤三:最短路径分词,
在生成词图之后,使用动态规划,进行最短路径分词。
步骤四:词性标注,
在分词完成之后,结合深度学习命名实体识别、机器学习命名实体识别和自定义词典,使用隐马尔科夫模型进行词性标注。
在上述步骤的词性标注的结果可以继续作为上述深度学习命名实体识别和深度学习分词模型中的模型持久化继续进行训练。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。