首页 >  Python毕业设计  > 正文

基于前端的自然语言处理系统的开发与应用

自动问答系统(简称问答系统或自动问答)用自然语言句子提问,并为用户直接返回所需的答案。对于问答系统,用户不需要把自己的问题分解成关键字,用户可以把整个问题直接交给问答系统。问答系统结合自然语言处理技术,通过对问题理解,能够直接提交给用户想要的答案。问答系统就像一个知识渊博的专家,可以快速准确地回答任何问题。比如,用户提交一个问题“上海的简称是什么?”问答系统将会直接给出答案“上海的简称是沪”。
3.拟定方案路线
自动问答系统分为三个模块,如图1所示,分别是问题理解模块、信息检索模块和答案抽取模块。具体流程是:首先对用户问题进行分析,包括分词、去停用词、提取问题关键词、关键字扩展、问题分类等,然后通过关键字进行搜索,对搜索结果进行处理,最后通过相似度计算及排序对答案进行提取,提交答案。
 
图1  系统流程图
 
问题理解:问题处理部分是对用户用自然语言提出的问题进行预处理,包括词法、句法、语义等方面的分析,得到用户查询的关键词、查询句的关注焦点和用户问题所属类型。
信息检索:信息检索部分是通过传统信息检索技术获得答案可能所在的文档,并对文档进行排序。
答案抽取:答案抽取部分对信息检索得到的候选文档进行词法、句法、语义等方面的分析,并根据查询问题所属类别,抽取出答案,返回给用户。
 
4.实施计划
4.1问题理解
问题理解部分需要完成以下几部分工作:对问题进行分词和词性标注、关键词抽取和拓展。
(1)分词和词性标注
词语是信息表达的最小单位,而汉语不同于西方语言,其句子的词语间没有分隔符(空格),因此需要进行词语进行切分。汉语词语切分中存在切分歧异,如句子“使用户满意”可切分为“使/用户/满意”,也可能被错误地切分为“使用/户/满意”。因而需要利用各种上下文知识解决词语切分歧异。在切分的基础上,利用基于规则和统计(马尔科夫链) 的方法进行词性标注。
(2)关键词抽取和拓展
关键词抽取常用和经典的方法是统计法,它通过确定候选词的权重,从中筛选出权重较大者作为最终的关键词。因此,候选词权重的确定就成为文献关键词抽取的核心。候选词的权重由它反映文献主题的重要性决定,能够较好反映文献主题的词语将被赋予较大的权值。
关键词抽取的基本流程包括 :
1)将正文进行分词处理。
2)过滤掉停用词。一般将停用词确定为所有虚词以及标点符号。
3)记录词语的位置信息。这样,当逐词扫描统计词频时,就可以将每个词的位置信息加入到词频统计表中。
4)根据统计的词频和位置信息,分别计算词语的词频因子和位置因子。
5)利用具体的词语权重函数计算出词语的权重。词语的权值确定以后,进行排序 ,取权值较大者作为最后的抽取结果。
另外,关键词抽取过程中还应进行命名实体的识别,以便对句子的主语或宾语进行判断。
关键词的扩展也是问答系统中问题处理的必要步骤,其目的是为了提高检索系统的召回率。一些面向英语的问答系统利用WorldNet中语义相关信息进行扩展;中文问答系统通常利用《同义词词林》对关键词进行扩展。对于一些专业领域的关键词作扩展时,可能还要建立相应的专业领域词汇知识词典,以便于某些专业术语的扩展。对扩展的关键词应该赋予较低的权值,以防止扩展的关键词造成检索主题漂移。
例如,对于问题“山东科技大学在哪里?”,抽取关键词“山东科技大学”。如果考虑到此问题的答案句式可能是“山东科技大学位于……”、“山东科技大学地处……”或者“山东科技大学地址是……”等 , 把查询串扩展为“山东科技大学AND位于(OR地处OR地址)”,将有助于搜索到潜在的答案。
本文中的检索系统中使用的是加权布尔模型,对标引词和查询关键词引进了权重。 标引词的权重代表的是该词在文档中的重要性,查询关键词的权重是该词在问题中权重,它的值由问题理解阶段决定。
在问答系统中,信息检索系统的具体实现包括对文档的预处理和信息索引两个阶段。在一般的信息检索系统中还有查询扩展的处理,但是在问答系统中并不需要对查询进行扩展,因为在问题理解阶段,问答系统已经对关键词进行了扩展。
信息预处理包括分词、特征项的提取、特征项权重的计算。在汉语的语句中,词与词之间没有分割符,因此,需要一个分词程序进行预处理,以抽取文献中的词汇。词汇是文档中最基本的表示项,为了提高词汇特征项的表示能力,需要对词汇特征项集进行适当的调整,只保留那些对表示文档内容作用较大的词汇项。例如,汉语中的虚词没有实在意义且使用频率很高,一般把虚词、特高频词从特征项集中滤去。
信息索引就是创建文档信息的特征记录,它使用户能很容易地检索到所需信息。 信息索引可以使用倒排表的方式来建立,倒排表记录了特征项和各文档之间的关系, 以及特征项在这些文档中的相关信息。相关信息一般包括“检索项所在文件位置信息” 以及“特征项的 TF*IDF 值”。例如,检索项的位置信息为“文档 D 中第 n 段第 m 句第 w 词”。这样,在信息检索时,用户可以要求在查询中,检索项 T1 和检索项 T2 位于同一语句或同一段落中。
倒排索引表如图2所示,其中第一例是指关键词,每个关键词后面都有一个列表,这个列表记录了含有该关键词的所有文档号,以及该关键词在这些文档中的一些信息,比如 TF*IDF 值和位置信息。为了快速高效地找到相应的关键词, 可以用平衡树来建立倒排索引表。
 

以上是本题目部分介绍,若需要完整版或不符合您的要求,请联系客服QQ:242219979

上一篇:基于python技术的学生上网行为分析系统设计

下一篇:最后一页