CN109492217A - 一种基于机器学习的分词方法及终端设备 - Google Patents
一种基于机器学习的分词方法及终端设备 Download PDFInfo
- Publication number
- CN109492217A CN109492217A CN201811181894.3A CN201811181894A CN109492217A CN 109492217 A CN109492217 A CN 109492217A CN 201811181894 A CN201811181894 A CN 201811181894A CN 109492217 A CN109492217 A CN 109492217A
- Authority
- CN
- China
- Prior art keywords
- character
- type
- word
- chinese
- chinese word
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000010801 machine learning Methods 0.000 title claims abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 56
- 230000011218 segmentation Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000013528 artificial neural network Methods 0.000 claims description 28
- 206010028916 Neologism Diseases 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 238000010276 construction Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 210000005036 nerve Anatomy 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于机器学习的分词方法及终端设备,包括:获取经过人工分词的文本数据;针对文本数据中的任一字符,判断字符的类型;根据字符的类型、在文本数据中与字符相邻且位于字符前面的第一预设数目的字符的类型、在文本数据中与字符相邻且位于字符后面的第二预设数目的字符的类型,获取字符的特征向量,得到训练集;构建分词模型,通过训练集对分词模型进行训练;根据完成训练的分词模型,将待处理文本进行分词处理。本发明根据字符与其上下文字符的类型关系构建特征向量,对不同的文本进行分词适应性更好,从而提高了分词的精度。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种基于机器学习的分词方法及终端设备。
背景技术
在自然语言处理或计算机语言中,新词是指以前从来没有出现过的词汇,或者在词典中没有收录的词汇。随着互联网技术的不断发展,各行各业随之出现了多种新词,尤其是web2.0应用的出现,允许用户自己创造网页内容,从而导致大量新词涌现。
在中文信息处理领域,由于中文不像英文等西方语言,词与词之间有固定的分隔符,因此中文分词是一项重要的基础技术。新词的出现很大程度上影响自动分词工具的准确性,使得分词的精确度较低。
发明内容
有鉴于此,本发明实施例提供了一种基于机器学习的分词方法及终端设备,以解决现有技术分词精确度低的问题。
本发明实施例的第一方面提供了一种基于机器学习的分词方法,包括:
获取经过人工分词的文本数据;
针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建分词模型,通过所述训练集对所述分词模型进行训练;
根据完成训练的分词模型,将待处理文本进行分词处理。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
获取经过人工分词的文本数据;
针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建分词模型,通过所述训练集对所述分词模型进行训练;
根据完成训练的分词模型,将待处理文本进行分词处理。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
获取经过人工分词的文本数据;
针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建分词模型,通过所述训练集对所述分词模型进行训练;
根据完成训练的分词模型,将待处理文本进行分词处理。
本发明提供了一种基于机器学习的分词方法及终端设备,通过对训练集中的字符以及该字符的上下文字符进行类型的判断,得到该字符的特征向量,通过构建深度神经网络分词模型,通过训练集中的字符对分词模型进行训练,将训练集中的字符的特征向量作为分词模型的输入,将字符的类型的概率作为输出,得到分词模型,通过分词模型对待处理文本进行分词处理,由于本发明提供的特征向量依据的是字符与其上下文字符的类型关系,而不是依赖词典中某个特定的词或字符,因此对于不同的文本进行分词,适应性更好,从而提高了分词的精度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于机器学习的分词方法的流程示意图;
图2为本发明实施例提供的一种判断字符类型的方法的流程示意图;
图3为本发明实施例提供的一种获取字符特征向量的方法的流程示意图;
图4为本发明实施例提供的一种获取最优分词模型的方法的流程示意图;
图5为本发明实施例提供的一种基于机器学习的分词装置的结构框图;
图6为本发明实施例提供的一种终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
本发明实施例提供一种基于机器学习的分词方法。结合图1,该方法包括:
S101,获取经过人工分词的文本数据。
可选的,将封装有以预设用户清单作为输入、用于爬取该用户清单中的微博用户的微博内容的代码,生成到docker(应用容器引擎)容器中,将该docker容器上传到云服务器中,子服务器从云服务器中下载该docker容器,将该docker容器部署到子服务器中,子服务器读取docker容器中的用户清单,根据用户清单,获取本机(即该子服务器)的用户清单,并爬取本机用户清单中的用户的微博内容,将微博内容进行处理生成文本数据。
可选的,子服务器按照预设时间间隔,定期爬取本机用户清单中的微博内容,子服务器可以将爬取到的微博内容上传到主服务器中,也可以保存在子服务器中。
对根据爬取到的微博文本得到的文本数据进行人工分词标注,得到经过人工分词的文本数据。
S102,针对所述文本数据中的任一字符,判断所述字符的类型。
其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种。
可选的,结合图2,本发明实施例提供了一种判断字符的类型的方法,该方法包括:
S1021,针对所述文本数据中任一字符,判断所述字符是否属于标点符号、阿拉伯数字、中文数字或字母中的一种。
S1022,若所述字符不属于标点符号、阿拉伯数字、中文数字或字母中的一种,则判断所述字符的位置类型,所述字符的位置类型包括所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种。
可选的,通过如下方式获取字符的位置类型:
第一步,统计在在所述文本数据中所述字符单独构成一个中文词语的次数、所述字符位于一个中文词语的词首位置的次数、所述字符位于一个中文词语的中间位置的次数、所述字符位于一个中文词语的词尾位置的次数以及所述字符出现的总次数。
在本发明实施例中,根据字符的属性,将字符分为如下表1中的8种类型的字符:
表1
由于根据步骤S1021,可直接判断字符是否为标点符号(如,。;等)、阿拉伯数字(如1、2等)、汉字数字(如一、二等)、和字符(如A、a等),对于不属于第一类型的其他字符,在此可称为目标字符。
在本发明实施例中,统计目标字符的位置类型,主要统计该字符的B、M、E、S四种位置特征:
词首位置,即该字符位于一个中文词语的词首位置,用B表示;
词中间位置,即该字符位于一个中文词语的中间位置,用M表示;
词尾位置,即该字符位于一个中文词语的词尾位置,用E表示;
该字符单独构成一个中文词语,用S标识。
第二步,依次计算所述字符单独构成一个中文词语的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的词首位置的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的中间位置的次数与所述字符出现的总次数的比值和所述字符位于一个中文词语的词尾位置的次数与所述字符出现的总次数的比值,若计算结果中存在大于预设比值的值,则确定与所述字符出现的总次数的比值大于预设比值的字符的类型为所述字符的位置类型,其中,所述预设比值大于等于50%。
例如,目标字符为“虑”,该字符出现在文本数据中的总次数为100次,出现在词尾位置的次数为95次,假设预设比值为90%,则若所述字符处在词的词尾位置的次数与该字符出现的总次数的比值为95%,大于预设比值,则该字符的位置类型为词尾位置。
第三步,若计算结果中不存在大于预设比值的值,则根据基于概率图模型的条件随机场算法估计所述字符的位置类型。
当一个目标字符,其位于B、M、E、S四种位置的概率都小于预设比值,则CRF(conditional random field algorithm,条件随机场算法)模型获得该字符的位置类型,得到的结果为B、M、E、S四种位置中的一种。
S103,根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集。
可选的,结合图3,本发明实施例提供了一种获取字符特征向量的方法,该方法包括:
S1031,获取所述字符的n-gram特征。
获取所述字符的n-gram特征,所述字符的n-gram特征包括字符ci的类型,双字符cici+1中每个字符的类型,双字符cici+2中每个字符的类型,其中,当i为正整数时,ci为位于所述字符c0后面的第i个字符,当i为负整数时,ci为位于所述字符c0前面的第i个字符,当i为0时,ci为所述字符c0。
n-gram特征主要用于表征字符上下文中相邻字符的关系,例如,以“小明非常热爱我们伟大的祖国”这个句子中的字符“我”作为当前字符,其n-gram特征包括如下内容:
ci,可选的,i=-2,-1,0,1,2,例如,当i=-2时,用于句子中表征第二个“我”前面第二个字符“热”的类型,i=-1时,用于表征“我”前面第一个字符“爱”的类型……通过ci,可获取到五个特征;
cici+1,可选的,i=-2,-1,0,1,例如,当i=-2时,用于表示c-2c-1的类型,即“热爱”两个字符的类型,通过cici+1,可获取到四个特征;
cici+2,可选的,i=-1,0;例如,当i=-1时,用于表示c-1c1的类型,即“爱们”两个字符的类型,通过cici+2,可获取到两个特征。
S1032,获取所述字符的重复信息特征。
所述字符的重复信息特征用于表示所述字符c0与字符cj是否是两个完全相同的字符,其中,j为负整数,cj为位于所述字符c0前面的第j个字符。
可选的,取j=-2,-1,通过duplication(c0,cj),判断当前字符“我”与前面两个字符是否是重复字符,获取到两个特征。
S1033,获取位于所述字符前面的至少一个字符的类型。
可选的,获取当前字符“我”前面的三个字符“常”、“热”、“爱”的类型,可获取到三个特征。
S1034,根据所述字符的n-gram特征、重复信息特征和位于所述字符前面的至少一个字符的类型,得到所述字符的特征向量。
例如,通过“我”的n-gram特征,可获取到特征向量的11个特征,由“我”的重复信息特征,可获取到特征向量的2个特征,由“我”的前面3个字符的位置类型特征,可获取到特征向量的3个特征,这16个特征构成字符“我”的特征向量,该特征向量是1×16维的特征向量,特征向量中的每一维用于表示上述16个特征中的一个特征。
S104,构建分词模型,通过所述训练集对所述分词模型进行训练。
本发明实施例提供一种深度神经网络分词模型,该模型包括4层,分别为输入层、第一隐藏层、第二隐藏层和输出层,所述输入层的输入为所述字符的特征向量,所述第一隐藏层包括第一预设数目的节点,所述第二隐藏层包括第二预设数目的节点,所述第一隐藏层和所述第二隐藏层的激活函数为relu函数,所述输出层为所述字符为任一类型的概率,所述输出层的激活函数为logistics函数。
可选的,输入层包括一个节点,将步骤S104得到的字符的特征向量,即1×16维的向量,作为输入层的输入;
第一隐藏层包括100个节点,包括1×100维,激活函数为relu函数;
第二隐藏层包括200个节点,包括1×200维,激活函数为relu函数;
输出层的激活函数为logistics函数,输出结果为字符类型的概率,如一个字符为B、M、E、S位置类型的概率,或该字符为标点符号、阿拉伯数字、中文数字或字母的概率。
可选的,通过训练集对分词模型进行训练包括:通过所述训练集对所述分词模型的学习率、训练次数、批尺寸和终止误差进行训练,直至达到预设训练终止条件,其中,所述预设训练终止条件为达到所述训练次数或分词结果误差低于所述终止误差。
进一步的,结合图4,本发明实施例还提供了一种获取最优分词模型的方法,该方法包括:
S1041,建立多个深度神经网络分词模型,针对所述多个深度神经网络分词模型中的任意两个深度神经网络分词模型,所述两个深度神经网络分词模型的学习率、训练次数、批尺寸和终止误差各不相同。
可选的,对于步骤S104中提供的深度神经网络分词模型,建立多个由不同参数构成的模型。
例如,学习率选取0.01、0.02和0.03中的一个值;
训练次数选取500、1000和2000中的一个值;
批尺寸选取100、200和500中的一个值;
终止误差选取0.05、0.1和0.5中的一个值;
由此可构成多种分词模型,例如,学习率为0.01、训练次数为500、批尺寸为100以及终止误差为0.05时可构成一个分词模型。
S1042,通过所述训练集分别对所述多个深度神经网络分词模型进行训练。
通过训练集分别对S1041中的多个深度神经网络模型进行训练,直至达到训练终止条件。
S1043,获取预设测试集。
在本发明实施例中,测试集的获取过程与训练集的获取过程相同。
S1044,通过所述预设测试集对分别对完成训练的所述多个深度神经网络分词模型进行测试。
S1045,根据测试结果选取分词精确度最高的一个深度神经网络分词模型,将待处理文本进行分词处理。
由于测试集中每个字符的类型是已知的,例如一个测试字符X,字符X位置类型为词尾位置,通过将X的特征向量输入分词模型,若分词模型计算得到的X的位置类型为词尾位置的概率最大,则分词模型对字符X的位置类型的预测是正确的,若分词模型计算得到的X的位置类型为词尾位置的概率不是最大的,例如分词模型计算得到字符X的位置类型为词首位置的概率最大,则分词模型对字符X的位置类型的预测是错误的。
通过这种方法,通过测试集的测试,可以分别获取每个分词模型的精确度,从而获取最优分词模型。根据测试结果选取分词精确度最高的一个深度神经网络分词模型,将待处理文本进行分词处理。
S105,根据完成训练的分词模型,将待处理文本进行分词处理。
可选的,对于阿拉伯数字、中文数字、标点符号和字母,可直接判断其类型,对于除此之外的其他字符,可通过CRF模型预测其位置类型,从而得到字符的特征向量,根据连续字符串的预测位置,进行分词操作;操作方式是通过连续截取字符的开始位置和终止位置,得到对应的分词列表
进一步的,将待处理文本进行分词处理后,还可以通过TF-IDF算法,依次计算分词结果中的每个中文词语对于所述待处理文本的重要度;按照计算得到的值降序排列;选取排列在前预设数量的词作为关键词;判断所述关键词中是否存在新词,其中,所述新词是指未被词典收录的中文词语;若所述关键词中存在新词,获取并保存所述新词。
由于通过TF-IDF算法计算得到的得分较高的词为与该文本关联度较高的词,若该文本中存在新词,一般出现在这些关键词中,因此,通过对关键词的判断,即可实现新词的识别。
本发明实施例提供了一种基于机器学习的分词方法,该方法通过对训练集中的字符以及该字符的上下文字符进行类型的判断,得到该字符的特征向量,通过构建深度神经网络分词模型,通过训练集中的字符对分词模型进行训练,将训练集中的字符的特征向量作为分词模型的输入,将字符的类型的概率作为输出,得到分词模型,通过分词模型对待处理文本进行分词处理,由于本发明提供的特征向量依据的是字符与其上下文字符的类型关系,而不是依赖词典中某个特定的词或字符,因此对于不同的文本进行分词,适应性更好,从而提高了分词的精度。
结合图5,本发明实施例提供了一种基于机器学习的分词装置,该装置包括:第一获取单元51,第一判断单元52,第二获取单元53,构建单元54,训练单元55和分词单元56,
第一获取单元51,用于获取经过人工分词的文本数据;
第一判断单元52,用于针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
第二获取单元53,用于根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建单元54构建分词模型,训练单元55通过所述训练集对所述分词模型进行训练;
分词单元56,用于根据完成训练的分词模型,将待处理文本进行分词处理。
第一判断单元52具体用于:针对所述文本数据中任一字符,判断所述字符是否属于标点符号、阿拉伯数字、中文数字或字母中的一种;若所述字符不属于标点符号、阿拉伯数字、中文数字或字母中的一种,则判断所述字符的位置类型,所述字符的位置类型包括所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种。
进一步的,第一判断单元52具体用于:统计在在所述文本数据中所述字符单独构成一个中文词语的次数、所述字符位于一个中文词语的词首位置的次数、所述字符位于一个中文词语的中间位置的次数、所述字符位于一个中文词语的词尾位置的次数以及所述字符出现的总次数;依次计算所述字符单独构成一个中文词语的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的词首位置的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的中间位置的次数与所述字符出现的总次数的比值和所述字符位于一个中文词语的词尾位置的次数与所述字符出现的总次数的比值;若计算结果中存在大于预设比值的值,则确定与所述字符出现的总次数的比值大于预设比值的字符的类型为所述字符的位置类型,其中,所述预设比值大于等于50%;若计算结果中不存在大于预设比值的值,则根据基于概率图模型的条件随机场算法估计所述字符的位置类型。
第二获取单元53具体用于:获取所述字符的n-gram特征,所述字符的n-gram特征包括字符ci的类型,双字符cici+1中每个字符的类型,双字符cici+2中每个字符的类型,其中,当i为正整数时,ci为位于所述字符c0后面的第i个字符,当i为负整数时,ci为位于所述字符c0前面的第i个字符,当i为0时,ci为所述字符c0;获取所述字符的重复信息特征,所述字符的重复信息特征用于表示所述字符c0与字符cj是否是两个完全相同的字符,其中,j为负整数,cj为位于所述字符c0前面的第j个字符;获取位于所述字符前面的至少一个字符的类型;根据所述字符的n-gram特征、重复信息特征和位于所述字符前面的至少一个字符的类型,得到所述字符的特征向量。
构建单元54具体用于:构建深度神经网络分词模型,所述深度神经网络分词模型包括4层,分别为输入层、第一隐藏层、第二隐藏层和输出层,所述输入层的输入为所述字符的特征向量,所述第一隐藏层包括第一预设数目的节点,所述第二隐藏层包括第二预设数目的节点,所述第一隐藏层和所述第二隐藏层的激活函数为relu函数,所述输出层为所述字符为任一类型的概率,所述输出层的激活函数为logistics函数。
进一步的,该装置还包括第一选取单元57;
构建单元54还用于建立多个深度神经网络分词模型,针对所述多个深度神经网络分词模型中的任意两个深度神经网络分词模型,所述两个深度神经网络分词模型的学习率、训练次数、批尺寸和终止误差各不相同;
训练单元55通过所述训练集分别对所述多个深度神经网络分词模型进行训练;
所述第二获取单元53还用于获取预设测试集;
所述分词单元56还用于通过所述预设测试集对分别对完成训练的所述多个深度神经网络分词模型进行测试;
选取单元57用于根据测试结果选取分词精确度最高的一个深度神经网络分词模型,将待处理文本进行分词处理。
进一步的,该装置还包括计算单元58、排序单元59、第二选取单元510、第二判断单元511和第三获取单元512:
计算单元58,通过TF-IDF算法,依次计算分词结果中的每个中文词语对于所述待处理文本的重要度;
排序单元59,按照计算得到的值降序排列;
第二选取单元510,选取排列在前预设数量的词作为关键词;
第二判断单元511,判断所述关键词中是否存在新词,其中,所述新词是指未被词典收录的中文词语;
若第二判断单元511判断关键词中存在新词,第三获取单元512获取并保存所述新词。
本发明实施例提供了一种基于机器学习的分词装置,该装置通过对训练集中的字符以及该字符的上下文字符进行类型的判断,得到该字符的特征向量,通过构建深度神经网络分词模型,通过训练集中的字符对分词模型进行训练,将训练集中的字符的特征向量作为分词模型的输入,将字符的类型的概率作为输出,得到分词模型,通过分词模型对待处理文本进行分词处理,由于本发明提供的特征向量依据的是字符与其上下文字符的类型关系,而不是依赖词典中某个特定的词或字符,因此对于不同的文本进行分词,适应性更好,从而提高了分词的精度。
图6为本发明实施例提供的一种终端设备的示意图。如图6所示,该终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如基于机器学习的分词程序。所述处理器60执行所述计算机程序62时实现上述各个分词方法实施例中的步骤,例如图1所示的步骤101至105,或图2所述的步骤1021至1022等。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各单元的功能,例如图5所示模块51至512的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述基于机器学习的分词方法的步骤。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于机器学习的分词方法,其特征在于,该方法包括:
获取经过人工分词的文本数据;
针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建分词模型,通过所述训练集对所述分词模型进行训练;
根据完成训练的分词模型,将待处理文本进行分词处理。
2.根据权利要求1所述的分词方法,其特征在于,判断所述字符的类型包括:
针对所述文本数据中任一字符,判断所述字符是否属于标点符号、阿拉伯数字、中文数字或字母中的一种;
若所述字符不属于标点符号、阿拉伯数字、中文数字或字母中的一种,则判断所述字符的位置类型,所述字符的位置类型包括所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种。
3.根据权利要求2所述的分词方法,其特征在于,所述判断所述字符的位置类型包括:
统计在在所述文本数据中所述字符单独构成一个中文词语的次数、所述字符位于一个中文词语的词首位置的次数、所述字符位于一个中文词语的中间位置的次数、所述字符位于一个中文词语的词尾位置的次数以及所述字符出现的总次数;
依次计算所述字符单独构成一个中文词语的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的词首位置的次数与所述字符出现的总次数的比值、所述字符位于一个中文词语的中间位置的次数与所述字符出现的总次数的比值和所述字符位于一个中文词语的词尾位置的次数与所述字符出现的总次数的比值;
若计算结果中存在大于预设比值的值,则确定与所述字符出现的总次数的比值大于预设比值的字符的类型为所述字符的位置类型,其中,所述预设比值大于等于50%;
若计算结果中不存在大于预设比值的值,则根据基于概率图模型的条件随机场算法估计所述字符的位置类型。
4.根据权利要求3所述的分词方法,其特征在于,所述字符为c0,所述获取所述字符的特征向量包括:
获取所述字符的n-gram特征,所述字符的n-gram特征包括字符ci的类型,双字符cici+1中每个字符的类型,双字符cici+2中每个字符的类型,其中,当i为正整数时,ci为位于所述字符c0后面的第i个字符,当i为负整数时,ci为位于所述字符c0前面的第i个字符,当i为0时,ci为所述字符c0;
获取所述字符的重复信息特征,所述字符的重复信息特征用于表示所述字符c0与字符cj是否是两个完全相同的字符,其中,j为负整数,cj为位于所述字符c0前面的第j个字符;
获取位于所述字符前面的至少一个字符的类型;
根据所述字符的n-gram特征、重复信息特征和位于所述字符前面的至少一个字符的类型,得到所述字符的特征向量。
5.根据权利要求1-4任一项所述的分词方法,其特征在于,所述构建分词模型包括:
构建深度神经网络分词模型,所述深度神经网络分词模型包括4层,分别为输入层、第一隐藏层、第二隐藏层和输出层,所述输入层的输入为所述字符的特征向量,所述第一隐藏层包括第一预设数目的节点,所述第二隐藏层包括第二预设数目的节点,所述第一隐藏层和所述第二隐藏层的激活函数为relu函数,所述输出层为所述字符为任一类型的概率,所述输出层的激活函数为logistics函数。
6.根据权利要求5所述的分词方法,其特征在于,该方法还包括:
建立多个深度神经网络分词模型,针对所述多个深度神经网络分词模型中的任意两个深度神经网络分词模型,所述两个深度神经网络分词模型的学习率、训练次数、批尺寸和终止误差各不相同;
通过所述训练集分别对所述多个深度神经网络分词模型进行训练;
获取预设测试集;
通过所述预设测试集对分别对完成训练的所述多个深度神经网络分词模型进行测试;
根据测试结果选取分词精确度最高的一个深度神经网络分词模型,将待处理文本进行分词处理。
7.根据权利要求1-6任一项所述的分词方法,其特征在于,在根据完成训练的分词模型,将待处理文本进行分词处理之后,该方法还包括:
通过TF-IDF算法,依次计算分词结果中的每个中文词语对于所述待处理文本的重要度;
按照计算得到的值降序排列;
选取排列在前预设数量的词作为关键词;
判断所述关键词中是否存在新词,其中,所述新词是指未被词典收录的中文词语;
若所述关键词中存在新词,获取并保存所述新词。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取经过人工分词的文本数据;
针对所述文本数据中的任一字符,判断所述字符的类型,其中,所述字符的类型为标点符号、阿拉伯数字、中文数字或字母中的一种,或,所述字符的类型为所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种;
根据所述字符的类型、在所述文本数据中与所述字符相邻且位于所述字符前面的第一预设数目的字符的类型、在所述文本数据中与所述字符相邻且位于所述字符后面的第二预设数目的字符的类型,获取所述字符的特征向量,得到训练集;
构建分词模型,通过所述训练集对所述分词模型进行训练;
根据完成训练的分词模型,将待处理文本进行分词处理。
10.根据权利要求9所述的终端设备,其特征在于,所述处理器执行所述计算机程序时还用于实现:
针对所述文本数据中任一字符,判断所述字符是否属于标点符号、阿拉伯数字、中文数字或字母中的一种;
若所述字符不属于标点符号、阿拉伯数字、中文数字或字母中的一种,则判断所述字符的位置类型,所述字符的位置类型包括所述字符单独构成一个中文词语、所述字符位于一个中文词语的词首位置、所述字符位于一个中文词语的中间位置或所述字符位于一个中文词语的词尾位置中的一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181894.3A CN109492217A (zh) | 2018-10-11 | 2018-10-11 | 一种基于机器学习的分词方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181894.3A CN109492217A (zh) | 2018-10-11 | 2018-10-11 | 一种基于机器学习的分词方法及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109492217A true CN109492217A (zh) | 2019-03-19 |
Family
ID=65690194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811181894.3A Pending CN109492217A (zh) | 2018-10-11 | 2018-10-11 | 一种基于机器学习的分词方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109492217A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086829A (zh) * | 2019-05-14 | 2019-08-02 | 四川长虹电器股份有限公司 | 一种基于机器学习技术进行物联网异常行为检测的方法 |
CN110991182A (zh) * | 2019-12-03 | 2020-04-10 | 东软集团股份有限公司 | 用于专业领域的分词方法、装置、存储介质及电子设备 |
CN111090996A (zh) * | 2019-12-02 | 2020-05-01 | 东软集团股份有限公司 | 一种分词的方法、装置及存储介质 |
JP2021111416A (ja) * | 2020-01-15 | 2021-08-02 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | コアエンティティのタグ付け方法、コアエンティティのタグ付け装置、電子機器、記憶媒体及びコンピュータプログラム |
CN113705816A (zh) * | 2021-08-31 | 2021-11-26 | 上海明略人工智能(集团)有限公司 | 流程图生成方法、电子装置、装置及可读存储介质 |
WO2024007827A1 (zh) * | 2022-07-07 | 2024-01-11 | 马上消费金融股份有限公司 | 文本分词方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295292A (zh) * | 2007-04-23 | 2008-10-29 | 北大方正集团有限公司 | 一种基于最大熵模型建模和命名实体识别的方法及装置 |
CN105893354A (zh) * | 2016-05-03 | 2016-08-24 | 成都数联铭品科技有限公司 | 一种基于双向递归神经网络的分词方法 |
CN107832307A (zh) * | 2017-11-28 | 2018-03-23 | 南京理工大学 | 基于无向图与单层神经网络的中文分词方法 |
CN108268444A (zh) * | 2018-01-10 | 2018-07-10 | 南京邮电大学 | 一种基于双向lstm、cnn和crf的中文分词方法 |
US20180217979A1 (en) * | 2016-02-18 | 2018-08-02 | Tencent Technology (Shenzhen) Company Limited | Text information processing method and apparatus |
-
2018
- 2018-10-11 CN CN201811181894.3A patent/CN109492217A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295292A (zh) * | 2007-04-23 | 2008-10-29 | 北大方正集团有限公司 | 一种基于最大熵模型建模和命名实体识别的方法及装置 |
US20180217979A1 (en) * | 2016-02-18 | 2018-08-02 | Tencent Technology (Shenzhen) Company Limited | Text information processing method and apparatus |
CN105893354A (zh) * | 2016-05-03 | 2016-08-24 | 成都数联铭品科技有限公司 | 一种基于双向递归神经网络的分词方法 |
CN107832307A (zh) * | 2017-11-28 | 2018-03-23 | 南京理工大学 | 基于无向图与单层神经网络的中文分词方法 |
CN108268444A (zh) * | 2018-01-10 | 2018-07-10 | 南京邮电大学 | 一种基于双向lstm、cnn和crf的中文分词方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086829A (zh) * | 2019-05-14 | 2019-08-02 | 四川长虹电器股份有限公司 | 一种基于机器学习技术进行物联网异常行为检测的方法 |
CN111090996A (zh) * | 2019-12-02 | 2020-05-01 | 东软集团股份有限公司 | 一种分词的方法、装置及存储介质 |
CN110991182A (zh) * | 2019-12-03 | 2020-04-10 | 东软集团股份有限公司 | 用于专业领域的分词方法、装置、存储介质及电子设备 |
CN110991182B (zh) * | 2019-12-03 | 2024-01-19 | 东软集团股份有限公司 | 用于专业领域的分词方法、装置、存储介质及电子设备 |
JP2021111416A (ja) * | 2020-01-15 | 2021-08-02 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | コアエンティティのタグ付け方法、コアエンティティのタグ付け装置、電子機器、記憶媒体及びコンピュータプログラム |
JP7110416B2 (ja) | 2020-01-15 | 2022-08-01 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | コアエンティティのタグ付け方法、コアエンティティのタグ付け装置、電子機器、記憶媒体及びコンピュータプログラム |
CN113705816A (zh) * | 2021-08-31 | 2021-11-26 | 上海明略人工智能(集团)有限公司 | 流程图生成方法、电子装置、装置及可读存储介质 |
WO2024007827A1 (zh) * | 2022-07-07 | 2024-01-11 | 马上消费金融股份有限公司 | 文本分词方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109492217A (zh) | 一种基于机器学习的分词方法及终端设备 | |
CN106709345B (zh) | 基于深度学习方法推断恶意代码规则的方法、系统及设备 | |
US10394956B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
CN103336766B (zh) | 短文本垃圾识别以及建模方法和装置 | |
CN110032632A (zh) | 基于文本相似度的智能客服问答方法、装置及存储介质 | |
CN109471937A (zh) | 一种基于机器学习的文本分类方法及终端设备 | |
CN109635273A (zh) | 文本关键词提取方法、装置、设备及存储介质 | |
US10997369B1 (en) | Systems and methods to generate sequential communication action templates by modelling communication chains and optimizing for a quantified objective | |
CN109299280B (zh) | 短文本聚类分析方法、装置和终端设备 | |
CN109902307A (zh) | 命名实体识别方法、命名实体识别模型的训练方法及装置 | |
WO2017075017A1 (en) | Automatic conversation creator for news | |
CN108733644B (zh) | 一种文本情感分析方法、计算机可读存储介质及终端设备 | |
CN110162771A (zh) | 事件触发词的识别方法、装置、电子设备 | |
CN110032650B (zh) | 一种训练样本数据的生成方法、装置及电子设备 | |
CN111125434A (zh) | 一种基于集成学习的关系抽取方法及系统 | |
CN107341143A (zh) | 一种句子连贯性判断方法及装置和电子设备 | |
CN109472022A (zh) | 基于机器学习的新词识别方法及终端设备 | |
CN110929532B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN107797981B (zh) | 一种目标文本识别方法及装置 | |
CN107861945A (zh) | 金融数据分析方法、应用服务器及计算机可读存储介质 | |
CN110324278A (zh) | 账号主体一致性检测方法、装置及设备 | |
CN107704763A (zh) | 多源异构漏洞情报去重方法、分级方法及装置 | |
CN104216880A (zh) | 基于互联网的术语定义辨析方法 | |
CN114911933A (zh) | 基于图内图间联合信息传播的假新闻检测方法及系统 | |
CN110502741B (zh) | 中文文本的识别方法及装置 |
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 |