基于语义分析的高效数据筛选方法与流程

文档序号:12906118阅读:323来源:国知局

本发明涉及互联网检索技术领域,尤其涉及一种基于语义分析的高效数据筛选方法。



背景技术:

随着internet爆炸式增长,万维网已经发展成为包含多种信息资源、站点遍布全球的巨大动态信息服务网络,日益增长信息的方便获取拓宽了人们视野。与此同时,海量的信息也引发了诸多新的问题。例如,由各个网页间的不断转载造成的文本信息严重冗余;由现有较为有限的查找手段造成无法精确找出淹没在浩瀚的繁杂信息之中的有用信息;垃圾邮件以及垃圾短信泛滥,互联网上有害信息传播造成的信息污染。

互联网上绝大多数的信息是以文本的形式保存的,互联网上文本信息的指数级增长给搜索引擎技术带来了巨大的挑战,人们越来越难以快速准确地从网上搜索到相关信息。由于自然语言中多词同义、一词多义等不确定性因素存在,相同概念可以有多种不同的表述方式。传统的基于关键词字符匹配的搜索引擎中,参与匹配的只有外在的表现形式,而非它们所表达的全部概念,用户很难简单地用关键词或关键词串来真实地表达真正需要查询的内容。把搜索引擎技术从关键词匹配的层面提高到语义的层面,从语义意义上快速有效地认知和处理用户的查询请求成为当前搜索引擎技术难题。



技术实现要素:

本发明所要解决的技术问题是提供一种基于语义分析的高效数据筛选方法,通过结合语义分析技术,对语义空间中权值从概率角度进行处理,使其更能体现出文档间、文档与词汇间的语义关系,二次搜索的策略改善搜索结果使其更贴近用户要求,提高了检索的准确率和查准率。

为解决上述技术问题,本发明所采取的技术方案是:一种基于语义分析的高效数据筛选方法,包括以下步骤:

1)创建查询处理模块、文档处理模块、匹配处理模块和二次搜索模块;

2)对用户的查询信息和文档集进行文档分词和词性标注;

3)提取文档关键词;

4)经过分词、词性标注和权重赋值后,文档形成一组关键词的权值向量,权值向量组合在一起生成词汇-文档矩阵;

5)对词汇-文档矩阵进行奇异值分解;

6)选择前k个秩进行矩阵还原,找到文档和词汇、文档和文档之间的关联,实现基于语义上的检索;

7)当用户输入的信息及词汇量很小的情况下,进行二次搜索,引导用户在先前搜索到结果中确认最符合该用户需求的文档,然后以该文档作为搜索的源信息,再次查找相关的文档,实现基于语义上的第二次检索。

进一步优化的技术方案为所述步骤2)中的文档分词和词性标注采用中文粉刺系统ictclas系统进行分词和词性标注,主要步骤包括:

1)根据词典找出字符串中所有可能形成的词语,构造词语切分的有向无环图;

2)使每个词语对应图中的一条有向边,并赋予相应的权值;

3)针对切分图,从起点到终点的所有路径中求出长度值按照升序排列,依次为第1、第2、……第i、……第n的路径集合作为相应的结果集;

4)如果两条及两条以上路径长度相等,那么他们的长度并列第i,且都要列入结果集中,而且不响应其他的排列序号,最后的结果集不小于n。

进一步优化的技术方案为所述步骤3)中的关键词为对文档起到支撑作用的词语,根据语法、语句及词语在文档中的权值进行选取。

进一步优化的技术方案为所述步骤4)中词汇-文档矩阵包括含有关键词的文档矩阵ak和不含关键词的文档矩阵a,表达式如下,

termt=[at1at2at3…atn];docm=[a1ma2mt3m…ttm]t

以上矩阵中,行向量termt为词汇向量,列向量docm为文档向量,aij表示词汇i在文档j中的权重,其中0≤i≤t,0≤j≤m,n,文档集中文档的总数量为m+n。

进一步优化的技术方案为所述步骤5)中奇异值分解的表达式如下,

假设词汇-文档矩阵a是m行n列的矩阵,其m>>n,且rank(a)=r,则a为m×n的稀疏矩阵,由奇异值分解定理,可得a的奇异值分解为:

其中,t0,d0分别为矩阵a的左、右奇异值向量,s0为一个对角阵,s0=diag(λ1,λ2,…,λn),且有λ1≥λ2≥…≥λn≥0,λi是ai的奇异值。

进一步优化的技术方案为所述步骤7)中的二次搜索包括以下步骤:

1)对文档集中的所有文档使用语义分析方法计算它们之间的相关程度,结果保存在一个矩阵中,假设共有n篇文档,则需要使用一个n×n的矩阵来存放结果;

2)用户认为系统搜索的反馈结果不满意,可以在所有反馈结果中选择一篇和自己目标最接近的文档,进行二次搜索;

3)设用户选择的是文档i,则观察矩阵中第i行的所有值,θ是判断两篇文档是否相关的阈值,如果dij(1≤j≤n)大于θ,则将文档j作为结果返回,然后继续查看下一篇文档;反之直接查看下一篇文档,反复步骤3直到所有文档被搜索一遍;

4)用户查看搜索结果,如果满意用户可以直接阅览文档内容;如果仍不满意,则返回步骤2再次进行二次搜索。

采用上述技术方案所产生的有益效果在于:本发明提出了概率权值法,以及二次搜索策略。概率权值法使得词汇-文档矩阵有更明确的物理意义,可以很好的反映出词汇与文档之间、文档与文档之间的语义关系;查询扩展在原有用户查询语句的基础上加入与之相关的新词,形成新的,语义更明确的用户查询进而搜索结果更接近用户的查询需求。二次搜索策略中针对用户查询结果不理想将用户提交的文档为标准选择与该文档相似程度大的相关文档返回给用户,保证了系统查询的准确性。,实现了基于语义的信息搜索。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1是本发明的流程框图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

如图1所示,本发明公开了一种基于语义分析的高效数据筛选方法,包括以下步骤:

1)创建查询处理模块、文档处理模块、匹配处理模块和二次搜索模块;

2)对用户的查询信息和文档集进行文档分词和词性标注;

3)提取文档关键词;

4)经过分词、词性标注和权重赋值后,文档形成一组关键词的权值向量,权值向量组合在一起生成词汇-文档矩阵;

5)对词汇-文档矩阵进行奇异值分解;

6)选择前k个秩进行矩阵还原,找到文档和词汇、文档和文档之间的关联,实现基于语义上的检索;

7)当用户输入的信息及词汇量很小的情况下,进行二次搜索,引导用户在先前搜索到结果中确认最符合该用户需求的文档,然后以该文档作为搜索的源信息,再次查找相关的文档,实现基于语义上的第二次检索。

进一步优化的技术方案为所述步骤2)中的文档分词和词性标注采用中文粉刺系统ictclas系统进行分词和词性标注,主要步骤包括:

1)根据词典找出字符串中所有可能形成的词语,构造词语切分的有向无环图;

2)使每个词语对应图中的一条有向边,并赋予相应的权值;

3)针对切分图,从起点到终点的所有路径中求出长度值按照升序排列,依次为第1、第2、……第i、……第n的路径集合作为相应的结果集;

4)如果两条及两条以上路径长度相等,那么他们的长度并列第i,且都要列入结果集中,而且不响应其他的排列序号,最后的结果集不小于n。

词语是具有完整意义而且可以独立活动的最小语言单位,是自然语言处理系统中重要的语义载体以及文档操作的基本单元。众所周知,以英语为代表的西方语言是以空格作为语言的词语与词语之间分界符号,与之相对以汉语为代表的亚洲语系只对句子和段落用标点符号分界,而字与字、词语与词语之间没有形式上的分界符号。因此,信息搜索系统的首要步骤就是要对待处理的文档进行中文分词,也就是将连续的字的序列按照一定的标准划分为离散的可以由计算机处理的词语的过程。

句子的含义是由每个词语构成的,但每个词语对于句子意义的贡献又有所不同。名词、动词具有实际的含义,能够表达更具体的含义,为使计算机对文档处理的效率更高,对于分词后的文档没有必要将所有词语都保存下来,也就是说可以去掉一些表意较少的非实意词。因此,有必要对每个词语的词性进行标注。比如,有文档“工程师正在了解这台计算机的运行状况。”,分词后的文档为“工程师/正在/了解/这/台/计算机/的/运行/状况”;经过词性标注后的文档为“工程师/n正/d在/p了解/v这/r台/q计算机/n的/u运行/v状况/n”。其中,n是名词,v为动词,d为副词,p为介词,r为代词,u助词。

进一步优化的技术方案为所述步骤3)中的关键词为对文档起到支撑作用的词语,根据语法、语句及词语在文档中的权值进行选取。

每个文档可以看做以词语为维度的空间中的一个点,一个带有语义的文档出现在这个空间中,所以它的分布绝对不是随机的,而是服从某种语义结构。同样每个词语也可以看做为以文档为维度的空间中的一个点。文档的语义是由一个个的词语够成的,而词语又要放到其所在文档中去理解,体现了一种“词语-文档”双向的概率关系。这种语义结构对词语的出现和文档的构成发挥作用,潜在的隐藏于文本当中,但是由于文档内容的不确定和词语使用的任意性等因素的存在,导致这种潜在的语义结构并不明显。lsa利用奇异值分解降秩的方法处理文档和词语,以达到信息抽取和去除噪声的目的。向量空间模型(vsm)中文档使用高维向量表示,而是lsa不同于vsm而是将文档的高维表示投影在低维的潜在语义空间中,减小了问题的规模,并且使得原本稀疏的数据不再稀疏,进而呈现出潜在的语义结构

进一步优化的技术方案为所述步骤4)中词汇-文档矩阵包括含有关键词的文档矩阵ak和不含关键词的文档矩阵a,表达式如下,

termt=[at1at2at3…atn];docm=[a1ma2mt3m…ttm]t

以上矩阵中,行向量termt为词汇向量,列向量docm为文档向量,aij表示词汇i在文档j中的权重,其中0≤i≤t,0≤j≤m,n,文档集中文档的总数量为m+n。奇异值分解是潜在语义分析的基础理论,它是数理统计中常用的方法之一,在不受限的最小立方问题,矩阵阶次估计和规范相关分析等问题的解决方案中广泛使用。

进一步优化的技术方案为所述步骤5)中奇异值分解的表达式如下,

假设词汇-文档矩阵a是m行n列的矩阵,其m>>n,且rank(a)=r,则a为m×n的稀疏矩阵,由奇异值分解定理,可得a的奇异值分解为:

其中,t0,d0分别为矩阵a的左、右奇异值向量,s0为一个对角阵,s0=diag(λ1,λ2,…,λn),且有λ1≥λ2≥…≥λn≥0,λi是ai的奇异值。

进一步优化的技术方案为所述步骤7)中的二次搜索包括以下步骤:

1)对文档集中的所有文档使用语义分析方法计算它们之间的相关程度,结果保存在一个矩阵中,假设共有n篇文档,则需要使用一个n×n的矩阵来存放结果;

2)用户认为系统搜索的反馈结果不满意,可以在所有反馈结果中选择一篇和自己目标最接近的文档,进行二次搜索;

3)设用户选择的是文档i,则观察矩阵中第i行的所有值,θ是判断两篇文档是否相关的阈值,如果dij(1≤j≤n)大于θ,则将文档j作为结果返回,然后继续查看下一篇文档;反之直接查看下一篇文档,反复步骤3直到所有文档被搜索一遍;

4)用户查看搜索结果,如果满意用户可以直接阅览文档内容;如果仍不满意,则返回步骤2再次进行二次搜索。

本发明于自然语言的检索形式,是建立在大规模的知识库基础上,用一个强有力的推理机,根据用户所提供的以自然语言表达的检索要求进行分析,然后形成检索策略进行搜索。用户只需把自己的要求输入计算机,就可以得到检索结果,使用户可以从繁琐的检索规则中解脱出来。自然语言查询是智能搜索引擎的一个研究领域,自然语言查询从用户接口上分为两种:一种是输入自然语言的句子,把它切分并抽出多对组词,构成一个有限状态机,然后去数据库进行匹配,对每一次检索出的记录进行频率累加,经过几次检索后,按照命中频率进行排序,把最终的检索结果返回给用户。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1