基于语义理解的中文实词提取算法制造技术

技术编号:16427802 阅读:81 留言:0更新日期:2017-10-21 22:32
本发明专利技术提供了一种基于语义理解的中文实词提取算法,该方法包括:采用散列树词典建立数据检索结构;根据断句表,将中文句子切分为短句,在进行匹配分词的同时保存匹配过程中字符串的匹配信息;通过字符串的匹配信息以及逐词扫描来判断存在的二义字段,将预切分的中间结果交给细分过程进行处理。本发明专利技术提出了一种基于语义理解的中文实词提取算法,改进了对分词的二义字段处理的过程,具备更理想的时间复杂度和切分正确率。

The extraction algorithm of semantic understanding based on Chinese words

The present invention provides an algorithm to extract semantic understanding Chinese notional words based on the method includes: establishing dictionaries, data retrieval using hash tree structure; according to the punctuation table, will Chinese sentence segmentation for short sentences, while preserving string matching in the process of matching information matching; by matching the message string and word scanning to determine whether the two semantic fields exist, the pre segmentation results to the segmentation process. The invention provides an algorithm to extract the semantic understanding of Chinese words based on word meaning two field processing process improvement, has better time complexity and accuracy of segmentation.

【技术实现步骤摘要】
基于语义理解的中文实词提取算法
本专利技术涉及自然语言处理,特别涉及一种基于语义理解的中文实词提取算法。
技术介绍
随着网络技术及Internet的逐渐成熟,传统的单一关键词方式已不能满足当前海量信息的内容获取需求,如何设计好问答系统成为网络搜索需要解决的一个重要技术。从现有的问答系统来看,中文由于其分词的复杂性和语义识别等方面的限制,成形产品技术相对较落后,例如,由于现有分词方法必须首先设定一个匹配词长的初始值,词长过长则算法的时间复杂度提高;词长过短则切分正确率降低。对于二义字段的处理也不能满足实际用户需要。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种基于语义理解的中文实词提取算法,包括:采用散列树词典建立数据检索结构;根据断句表,将中文句子切分为短句,在进行匹配分词的同时保存匹配过程中字符串的匹配信息;通过字符串的匹配信息以及逐词扫描来判断存在的二义字段,将预切分的中间结果交给细分过程进行处理。优选地,所述细分过程进一步包括:对于预切分结果中包含的二义字段的所有切分路径,根据训练语料库中的词频信息,利用统计模型计算出所有切分路径中词的概率,概率最大的词即是最优词。优选地,所述二义字段通过以下过程进行消除:设置三个参数,词性状态矩阵A、符号概率分布矩阵B、初始状态概率分布π;其中词性状态矩阵A即为词性状态矩阵,把41个词性之间的状态转移矩阵转化为表的形式存储其中;矩阵A的元素aij为:aij=N(Ti,Tj)/N(Ti)其中N(Ti,Tj)是在训练中词性标记Tj紧跟在Ti后出现的次数,N(Ti)是标记Ti出现的次数;其中符号概率分布矩阵B把每个词对应不同的词性概率存储在其中。对词性表中的概率,由以下公式得到词性概率分布bjk:bjk=N(Wk,Tj)/N(Ti)其中N(Wk,Tj)是在训练中词汇Wk的词性标注为Tj出现的次数;参数π表示初始状态概率分布;输入参数集λ=(A,B,π),对于给定句子确定出每个词的词性。令W=w1w2Λwm为一个句子,wi为句子中的一个词,又令Q=q1q2Λqm为句子W一个可能词性标注序列,qi为词wi的一个词性标注结果;将问题转化为在一个模型λ寻求一个词性序列使得它能最好解释句子W,本专利技术采用HMM评价标准,选用单个最可能状态qt,这个评价标准使得达到正确状态的数目的期望值最大;对于每一种可能的预切分路径,首先初始化:δ1(i)=πibi(o1)初始化时bi(o1)归纳计算并保存回溯δt(j)=max1<i<N[δt(j)aij]×bj(ot),2≤t≤T,1≤j≤N其中t为时刻,aij为状态转移概率即词性转移,j为词性状态,δt(j)是t时刻状态为j,输出为O1,O2,…,Ot的最大概率,该变量保存到达每个结点的最有可能的路径的概率;利用动态规划算法计算整个网格的最佳路径,最后结束并产生路径(带回溯)P=max1<i<N[δT(j)]至此,求得最优路径状态序列及最优权值;对于每一种可能的预切分路径都将计算P值,比较所有预切分路径的P值,选择一种最大概率P,作为输出结果。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种基于语义理解的中文实词提取算法,改进了对分词的二义字段处理的过程,具备更理想的时间复杂度和切分正确率。附图说明图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:读取子树指针中各个散本文档来自技高网...
基于语义理解的中文实词提取算法

【技术保护点】
一种基于语义理解的中文实词提取算法,其特征在于,包括:采用散列树词典建立数据检索结构;根据断句表,将中文句子切分为短句,在进行匹配分词的同时保存匹配过程中字符串的匹配信息;通过字符串的匹配信息以及逐词扫描来判断存在的二义字段,将预切分的中间结果交给细分过程进行处理。

【技术特征摘要】
1.一种基于语义理解的中文实词提取算法,其特征在于,包括:采用散列树词典建立数据检索结构;根据断句表,将中文句子切分为短句,在进行匹配分词的同时保存匹配过程中字符串的匹配信息;通过字符串的匹配信息以及逐词扫描来判断存在的二义字段,将预切分的中间结果交给细分过程进行处理。2.根据权利要求1所述的方法,其特征在于,所述细分过程进一步包括:对于预切分结果中包含的二义字段的所有切分路径,根据训练语料库中的词频信息,利用统计模型计算出所有切分路径中词的概率,概率最大的词即是最优词。3.根据权利要求1所述的方法,其特征在于,所述二义字段通过以下过程进行消除:设置三个参数,词性状态矩阵A、符号概率分布矩阵B、初始状态概率分布π;其中词性状态矩阵A即为词性状态矩阵,把41个词性之间的状态转移矩阵转化为表的形式存储其中;矩阵A的元素aij为:aij=N(Ti,Tj)/N(Ti)其中N(Ti,Tj)是在训练中词性标记Tj紧跟在Ti后出现的次数,N(Ti)是标记Ti出现的次数;其中符号概率分布矩阵B把每个词对应不同的词性概率存储在其中;对词性表中的概率,由以下公式得到词性概率分布bjk:bjk=N(Wk,Tj)/N(Ti)其中N(Wk,Tj)是在训练中词汇...

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

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

1