基于机器学习的关键词识别方法技术

技术编号:16427955 阅读:59 留言:0更新日期:2017-10-21 22:54
本发明专利技术提供了一种基于机器学习的关键词识别方法,该方法包括:采用散列树词典建立数据检索结构,利用统计方法消除分词过程中出现的二义字段。本发明专利技术提出了一种基于机器学习的关键词识别方法,改进了对分词的二义字段处理的过程,具备更理想的时间复杂度和切分正确率。

Keyword spotting method based on machine learning

The invention provides a keyword recognition method based on machine learning, which comprises the following steps: establishing a data retrieval structure by using a hash tree dictionary, and eliminating the two semantic fields in the segmentation process by using the statistical method. The invention proposes a keyword recognition method based on machine learning, which improves the process of processing two semantic fields of word segmentation, and has better time complexity and segmentation accuracy.

【技术实现步骤摘要】
基于机器学习的关键词识别方法
本专利技术涉及自然语言处理,特别涉及一种基于机器学习的关键词识别方法。
技术介绍
随着网络技术及Internet的逐渐成熟,传统的单一关键词方式已不能满足当前海量信息的内容获取需求,如何设计好问答系统成为网络搜索需要解决的一个重要技术。从现有的问答系统来看,中文由于其分词的复杂性和语义识别等方面的限制,成形产品技术相对较落后,例如,由于现有分词方法必须首先设定一个匹配词长的初始值,词长过长则算法的时间复杂度提高;词长过短则切分正确率降低。对于二义字段的处理也不能满足实际用户需要。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种基于机器学习的关键词识别方法,包括:采用散列树词典建立数据检索结构,利用统计方法消除分词过程中出现的二义字段。优选地,所述散列树词典用于存储字符串,实现字符串的快速查找;所述散列树由首字索引和散列树节点两部分组成,在对被切分语句的一次扫描过程中,沿着树链的根节点逐字匹配。优选地,所述散列树根据中文编码标准的分区数A和每分区字数B,在散列树节点中存储B个数据单元,装载中文分词词典,建立的数据检索结构如下:首字索引,根据字的区位码采用以下公式直接定位:pos=(c1-176)×B+(c2-161)pos为词在首字索引节点中的位置,c1为词首字第一个字节的无符号数,c2为第二个字节的无符号数。优选地,所述首字索引节点包含如下数据:属性:单字是否匹配为词,是否存在子树,索引字作为首字的最长词的长度;子树大小:存在子树时,首字为索引字的两字词的个数,否则为0;子树指针:存在子树时,指针指向子树,否则指针为空;首字索引的一个单元是所对应字的散列树的根节点。优选地,所述散列树节点包含单一关键字、是否存在子树的标识,根节点到当前节点关键字是否匹配为词,根节点到当前节点关键字为前缀的最长词的长度、子树大小,存在子树时,根节点到当前关键字为前缀的词的个数,否则为0;子树指针:存在子树时,指针指向子树,否则指针为空。优选地,所述方法还包括:把语句中的第n个词作为紧接其前面的n-1个词的马尔可夫过程的状态转移,利用这些词间的同现概率作为状态间的转移来进行词性标注,通过语料训练来提取各种概率参数,根据概率参数来计算出一个给定的词可能对应的标记串的概率,然后按照预定义标准选择适当的标记串作为输出。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种基于机器学习的关键词识别方法,改进了对分词的二义字段处理的过程,具备更理想的时间复杂度和切分正确率。附图说明图1是根据本专利技术实施例的基于机器学习的关键词识别方法的流程图。具体实施方式下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种基于机器学习的关键词识别方法。图1是根据本专利技术实施例的基于机器学习的关键词识别方法流程图。本专利技术采用散列树词典建立数据检索结构,利用统计方法消除分词过程中出现的二义字段。散列树词典用于存储字符串,实现字符串的快速查找。所述散列树由首字索引和散列树节点两部分组成,在对被切分语句的一次扫描过程中,沿着树链的根节点逐字匹配。根据中文编码标准的分区数A和每分区字数B,在散列树节点中存储B个数据单元,装载中文分词词典。数据结构如下:首字索引,根据字的区位码采用以下公式直接定位:pos=(c1-176)×B+(c2-161)pos为词在首字索引节点中的位置,c1为词首字第一个字节的无符号数,c2为第二个字节的无符号数。首字索引节点包含如下数据:属性:单字是否匹配为词,是否存在子树,索引字作为首字的最长词的长度;子树大小:存在子树时,首字为索引字的两字词的个数,否则为0;子树指针:存在子树时,指针指向子树,否则指针为空。首字索引的一个单元是所对应字的散列树的根节点。散列树节点包含单一关键字、是否存在子树的标识,根节点到当前节点关键字是否匹配为词,根节点到当前节点关键字为前缀的最长词的长度、子树大小,存在子树时,根节点到当前关键字为前缀的词的个数。否则为0、子树指针:存在子树时,指针指向子树,否则指针为空。把语句中的第n个词作为紧接其前面的n-1个词的马尔可夫过程的状态转移,利用这些词间的同现概率作为状态间的转移来进行词性标注,通过语料训练来提取各种概率参数,根据概率参数来计算出一个给定的词可能对应的标记串的概率,然后按照预定义标准选择适当的标记串作为输出。在散列树词典的基础上,首先根据断句表,将中文句子切分为短句,然后在进行匹配分词的同时保存匹配过程中字符串的匹配信息,通过字符串的匹配信息以及逐词扫描的方法来判断是否存在二义字段,最后将预切分的中间结果交给细分过程进行处理。由于每个字都有被作为词的首字进行匹配的过程,所以可以找出所有的二义字段。经过上述改进的分词算法处理之后,预切分结果中包含了二义字段的所有切分路径。根据训练语料库中的词频信息,利用统计模型计算出所有切分路径中词的概率,概率最大的词即是最优词。具体描述如下:步骤1:对搜索语句进行初步分词预处理,即首先根据断句表将搜索语句预切分为多个子串并保存;步骤2:取预切分子串S=C0C1…Cn-1,n为子串的长度,并初始化变量temp=n,p=0;q=1000000;步骤3:取S的第j个字符Cj,获得Cj在首字索引中的位置;步骤4:读取当前节点的数据,包括是否匹配为词,是否存在子树,最长词长,如果存在子树,读取子树指针和子树大小;步骤5:取i=j+1,如果最长词长<n,转步骤11;步骤6:取S的第i个字符Ci,读取子树指针中各个散列树节点数据:关键字,是否匹配为词的属性,最长词长,子树指针和子树大小。利用二分法在以每个关键字为起点、子树大小为距离的区间中匹配Ci,如果匹配失败,则Ci-1Ci不形成词;此时,如果i-1>q,则保存CpCp+1...Ci-1的相关信息到二义字段集合中,并将S右移i-p个字,同时,令n=temp-(i-p),转步骤3;否则如果i-1≤q,保存CpCp+1...Ci-1成词信息,将S从p处右移i-j个字,令n=temp-(i-j+1),转步骤3;步骤7:读取子树指针中各个散列树节点数据,包括关键字,是否匹配为词,最长词长,子树指针,子树大小;步骤8:如果最大词长为n且匹配为词,则保存匹配后的词Ci+1-nCi+2-n...Ci;步骤9:如果该词是第一次匹配成功,记p=i+1-n,q=i,j=p+1,转步骤3;否则,j=i,转步骤3;步骤10:i=i+1,转步骤6;步骤11:S左移一个字,n=n-1,转步骤3;步骤12:如果二义字段集合不为空,则进行消歧处理;否则,分词结束。上述消歧处理进一步包括:设置三个参数,词性状态矩阵A、B、π;其中词性状态矩阵A即为词性状态矩阵,把41个词性之间的状态转移矩阵(41×41)转化为表的形式存储其中。矩阵A的元素aij为:aij=N(Ti,Tj)/N(T本文档来自技高网...
基于机器学习的关键词识别方法

【技术保护点】
一种基于机器学习的关键词识别方法,其特征在于,包括:采用散列树词典建立数据检索结构,利用统计方法消除分词过程中出现的二义字段。

【技术特征摘要】
1.一种基于机器学习的关键词识别方法,其特征在于,包括:采用散列树词典建立数据检索结构,利用统计方法消除分词过程中出现的二义字段。2.根据权利要求1所述的方法,其特征在于,所述散列树词典用于存储字符串,实现字符串的快速查找;所述散列树由首字索引和散列树节点两部分组成,在对被切分语句的一次扫描过程中,沿着树链的根节点逐字匹配。3.根据权利要求1所述的方法,其特征在于,所述散列树根据中文编码标准的分区数A和每分区字数B,在散列树节点中存储B个数据单元,装载中文分词词典,建立的数据检索结构如下:首字索引,根据字的区位码采用以下公式直接定位:pos=(c1-176)×B+(c2-161)pos为词在首字索引节点中的位置,c1为词首字第一个字节的无符号数,c2为第二个字节的无符号数。4.根据权利要求2或3所述的方法,其特征在于,所述首字索引节点包含如下数据:属性:单字是否匹配为词,是否存在子树...

【专利技术属性】
技术研发人员:张鹏
申请(专利权)人:成都布林特信息技术有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1