CN1924995B - 基于内容分析的短信问答系统实现方法 - Google Patents

基于内容分析的短信问答系统实现方法 Download PDF

Info

Publication number
CN1924995B
CN1924995B CN200510093640A CN200510093640A CN1924995B CN 1924995 B CN1924995 B CN 1924995B CN 200510093640 A CN200510093640 A CN 200510093640A CN 200510093640 A CN200510093640 A CN 200510093640A CN 1924995 B CN1924995 B CN 1924995B
Authority
CN
China
Prior art keywords
semantic
data
vector
sentence
short message
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.)
Expired - Fee Related
Application number
CN200510093640A
Other languages
English (en)
Other versions
CN1924995A (zh
Inventor
吴晨
张全
袁毅
徐震
黄曾阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN200510093640A priority Critical patent/CN1924995B/zh
Publication of CN1924995A publication Critical patent/CN1924995A/zh
Application granted granted Critical
Publication of CN1924995B publication Critical patent/CN1924995B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于内容分析的短信问答系统及实现方法。该系统包括计算机、存储器、短信收发模块、供电电路、用户终端等。本发明以一种模拟大脑语言感知过程的自然语言语句分析方法为基础,能够做到在“懂”自然语言的基础上去处理短信形式的自然语言,从而建立一种基于QA技术的短信问答系统及实现方法。本发明的优点是提供用户以短信方式查询实时数据、以自然语言作为人机交互语言、准确率高。

Description

基于内容分析的短信问答系统实现方法
技术领域
本发明涉及一种短信问答系统,特别涉及一种基于内容分析的短信问答系统实现方法。
背景技术
随着移动通信网络的发展,使得人与人之间的信息交流变得更为方便和频繁。根据eNet的专业市场研究数据表明,短信息服务将会成为直接关系到短信未来发展的主要因素。目前,市场上出现了一些基于短信息的服务,如手机话费查询、邮政编码查询、电视节目评选等等。但是,这些短信息服务都基于一种严格限制的固定模型,用户必须按照服务提供商制定的格式输入请求信息才能获得服务,这种应用方式显然会成为短信息服务发展的最大瓶颈。
自然语言处理领域中问答系统(Question Answering system,简称QA)的发展为短信息服务的变革提供了巨大的推动力量,QA能够回答用户以自然语言方式表述的提问,为用户提供便捷、友好的信息服务模式。然而,目前的绝大多数QA都是基于语料库统计语言学的,在这一基础上建立起来的QA由于使用概率统计算法作为系统处理的核心,很难满足短信问答系统“精确”回答用户提问的要求。所以,目前市面上以QA作为核心技术的短信问答系统还不存在。
目前已经存在语句理解处理技术,例如文献1:中国发明专利申请号98101921.8,申请日1998年5月18日的《模拟大脑语言感知过程的自然语言语句分析方法》,给出了一种模拟大脑语言感知过程的自然语言语句分析方法,可以很好地理解一个语句,即可以确定出一个句子的语义结构,消解语言中的模糊。但文献1并没有针对短信问答服务系统这类特定环境下的应用给出相应的解决方案和实现方法。
综上所述,目前市面上以QA技术作为核心处理技术的自然语言短信问答系统还不存在,目前已经存在的服务于用户信息查询的短信系统都是基于固定格式的,这种短信系统要求用户按固定的格式发送问询短信,否则就无法得到服务,对于用户来说要牢记这些格式是一件非常繁琐的事情,并且基于固定格式的短信服务系统会变得非常单调,完成的功能单一,系统扩展性差,严格的格式限定还会造成系统的查准率低等问题,系统甚至会表现出对字母大小写的敏感。因此,人们期望有一种能够处理短信语料的QA方法,以及基于该方法的方便、快捷、准确的短信问答系统的出现。
发明内容
本发明的目的是弥补基于语料库统计语言学的QA系统所无法做到的高精确度和低模糊性,以一种模拟大脑语言感知过程的自然语言语句分析方法为基础,能够做到在“懂”自然语言的基础上去处理短信形式的自然语言,从而建立一种基于QA技术的短信问答系统及实现方法。
本发明将文献1这项自然语言语句理解技术在短信问答服务领域下进行了相应的衍生和发展,最终将其与短信问答服务系统进行了整合形成基于内容分析的短信问答系统及实现方法.
为了达到上述目的,本发明采取如下技术方案:
基于内容分析的短信问答系统实现方法,包括如下步骤:
1)系统通过短信收发模块获取用户发送的短信息;
2)根据短信息文本的语义概念结构,获取包含问询内容的整个主语义块结构;
3)从主语义块结构中获取具有问询内容特征的关键语义要素;
4)获取关键语义要素的语义符号;
5)同一关键语义要素对应的不同语义符号为一组,通过n个关键语义要素形成n组语义符号序列,这n组语义符号序列中分别有m1,m2,m3,…,mn-1,mn个语义符号;
6)以上一步骤5)中形成的组为基本单位,进行组与组之间元素的笛卡尔乘积运算,形成n列,m1*m2*m3*mn-1*mn行的矩阵;
7)上一步骤6)所得矩阵对应以行号为下标、列数为维度的要点向量数组y1,y2,…,yk,其中k=m1*m2*m3*mn-1*mn;这些要点向量数组的组合作为以要点为维度的向量空间结构Y,Y={y1,y2,…,yk}T;其中,所述要点为关键语义要素用语义符号方式表示所得到的表达式;
8)将要点向量空间结构Y与存储在存储器中的特征向量进行语义距离计算,获得筛选认定向量;所述特征向量描述的是一个问题求解空间,特征向量中的每一个特征值对应一个语义表达分量并以语义符号表示,所述语义表达分量包括时间和地点和人物;所述筛选认定向量描述问题求解时收录哪些语义表达分量;设要点向量空间结构Y中的要点向量数组yk中的元素用Ykn表示,特征向量为Z,其各个分量包括Z1,Z2,Z3,……,Zp,筛选认定向量为X,其各个分量包括X1,X2,X3,……,Xp,其中p表示概念类别对应语义分量的数量,那么筛选认定向量X的生成步骤如下:
(1)将Y中的每一个元素与Z中的每一个元素进行语义距离计算,形成一个行数为k*n、列数为p的权重矩阵W(k*n)p
(2)以权重矩阵的列为单位,取出每列中权重值的最大值,组成权重向量Vp
(3)将Vp中的每一个元素与设定的阈值a进行比较;
(4)根据下述公式计算出筛选认定向量为X(X1,X2,X3,……,Xp):
Xi = 1 Vi &GreaterEqual; a 0 Vi < a ( 1 &le; i &le; p ) ;
9)根据筛选认定向量,从存储器中存储的知识库中提取知识;其中,所述知识库包括自然语言问答处理引擎工作时所要用到的基本参数和规则,它包括词语知识库、概念知识库和规则库;
10)根据所提取的知识生成应答文本,同时根据手机号对应用户所具有的权限,生成短信回复文本;将回复文本通过短信收发模块发送给用户。
在上述实现方法中,所述步骤10)包括如下步骤:
(1)根据所提取的知识生成应答文本,共分为三种情况:第一种情况是筛选认定向量是0向量,无法判断用户提问的含义;第二种情况是无法从知识库中找到能够回答用户提问的答案;第三种情况是算法正确回答用户提问时做出的回答.根据不同情况生成不同的应答文本;
(2)根据应答文本对应的“对象-问题-解答”数据结构从信息安全库中查找该条信息所具有的信息安全级别;其中,所述信息安全库用于存放针对各个对象的各个内容所设置的信息安全级;
(3)根据访问权限库查找拟获取该信息的用户所具有的访问级别;其中,所述访问权限库用于存放用户的访问级别;
(4)比对访问级别和安全级别;
(5)如果访问级别高于或者等于安全级别,返回有权访问标志;否则,返回无权访问标志;
(6)系统根据上一步骤得到的访问标志决定:如果是有权访问标志,就将应答文件通过短信收发模块发送给用户;如果是无权访问标志,就通过短信收发模块告知用户无权访问。
在上述实现方法中,为最大程度满足系统高速度、大容量的处理要求,还包括存储数据和读取数据的缓存处理过程:
存储数据缓存处理过程:
(1)分析数据缓存管理头指针判断数据缓存中是否有空间,如果有,转步骤(2),否则转步骤(3);其中,所述数据缓存管理头指针是指用于数据缓存管理的头指针;
(2)将数据存储于数据缓存中,修改数据缓存管理头指针,转步骤(6);
(3)分析存储器缓存管理头指针判断存储器中是否有空间,如果有,转步骤(4),否则转步骤(5);
(4)将数据存储于存储器中,修改存储器缓存管理头指针,转步骤(6);
(5)存储失败,返回存储失败信息:
(6)存储成功,返回存储成功信息;
读取数据缓存处理过程:
(1)分析数据缓存管理头指针判断数据缓存中是否有待处理数据,如果有,转步骤(2),否则转步骤(5);
(2)把待处理数据从数据缓存中取出至内存变量,等待对该数据的处理结果信息;
(3)如果在一定时间内收到处理成功信息,转步骤(4);否则,转步骤(9);
(4)修改数据缓存管理头指针,转步骤(10);
(5)分析存储器缓存管理头指针判断存储器中是否有待处理数据,如果有,转步骤(6),否则转步骤(9);
(6)把待处理数据从存储器中取出至内存变量,等待对该数据的处理结果信息;
(7)如果在一定时间内收到处理成功信息,转步骤(8);否则,转步骤(9);
(8)修改存储器缓存管理头指针,转步骤(10);
(9)读取数据失败,返回取数据失败信息;
(10)读取数据成功,返回取数据成功信息。
与现有技术相比,本发明的有益效果在于:
1)提供用户以短信方式查询实时数据的方式,给人们通过短信获取信息服务带来极大的方便,成为人们及时便捷有效利用各种信息的一种重要手段;
2)以自然语言作为人机交互语言;本发明基于HNC(概念层次网络)自然语言理解框架之下,以概念知识、词语知识作为问题处理的核心知识,切入问询句的内容进行分析处理,与以往传统的问答算法相比具有很大的不同,它充分利用了句类以及语义块知识,通过揭示句子内语义块之间的各种关联,以句类框架的形式给出处理所需的中间信息,这种中间信息是关于语句内容的概念表达,关于问题的分析、语义相关度的计算、问题的求解都是在此基础上完成的,通过提取块内关键内容信息与常识知识库匹配得出最终结果,这种方法依据问询句和知识库的内容进行处理,将大大有助于克服现有基于语料库和概率统计模型QA系统在解决诸如短信等具有简短文字表述特点的自然语言处理问题上的不足;
3)本发明所涉及的自然语言处理算法把对语句和相关知识的处理深入到了内容层面,而不仅仅停留在字词表层,这样给算法处理的准确率带来了相当大的提升,并为算法下一步跨语种扩展提供了坚实的基础平台;
4)对服务内容进行分级安全管理。
5)本发明采用了二级缓存的思想,解决短信接受、发送、处理速度不一致以及系统大存储量和高读写速度之前的冲突问题。
附图说明
图1表示本发明的基于内容分析的短信问答系统框图;
图2表示存储器结构图;
图3表示本发明的基于内容分析的短信问答系统控制算法流程图;
图4表示数据缓存头结构中各字段描述;
图5表示本发明的短信处理引擎算法流程图;
图6表示数据缓存存过程流程图;
图7表示数据缓存取过程流程图;
图8表示概念基元符号中询问类节点。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细描述:
参照图1,制作一基于内容分析的短信问答系统,它可以不依赖于计算机而独立运行,包括:
一个单片机1,可供采用的芯片很多,如ATMEL公司的AVR系列控制芯片,INTEL公司的51系列单片机,以及ARM系列芯片,用于完成系统内部核心控制算法,完成周围器件的调度和协同。本实施例的单片机采用ATMEL公司的AVR系列控制芯片。
一个存储器2,与所述单片机1连接,用于存放系统运行时所用的各项数据,其存储结构划分如图2所示,由业务数据库B1和知识库B2组成;其中,所述业务数据库B1又分为系统常识库B11、系统工作数据库B12和用户权限库B13;所述系统常识库B11保存用于回答用户提问的知识,比如单位的地址、邮编等等,所述系统工作数据库B12存放系统工作的各项统计数据,所述用户权限库B13用来实现系统的权限管理,保证信息安全;所述知识库B2中存放提供自然语言问答处理引擎工作时用的基本参数和规则,分为词语知识库B21、概念知识库B22和规则库B23.
一个短信收发模块3,与所述单片机1连接,用于短信的接收、发送;该短信收发模块采用西门子tc35i模块,它是西门子推出的新一代GSM通信模块,完全能够满足系统需要;所述单片机采用标准AT指令驱动所述短信收发模块工作;所述短信收发模块由SIM卡、天线和无线控制逻辑电路组成,均采用常规电路连接。
一个供电电路4,为系统各部件提供电源,采用外接交流电源并将交流电转换为直流电供给系统,采用常规电路连接。
至少一个用户终端6,所述用户终端6为能够收发短信的设备,如手机、小灵通等;该用户终端6通过移动通信网络与所述短信收发模块3通信。本实施例的用户终端6采用手机。
该系统还提供一个数据传输接口5,外部设备通过该接口向系统传入初始数据,如知识库内容、用户权限内容、可供调整的系统处理阈值等。
所有这些硬件部件需要一套核心控制方法把它们联系起来、驱动起来,这就是下面介绍的问答处理系统核心控制方法,也就是本实施例所涉及的、系统的核心控制方法。控制方法流程图如图3所示。图3中的虚线框表示这部分流程将进一步细化介绍。
首先需要说明的是,为了协调短信接收、发送速度和系统处理速度之间可能存在的不一致,系统开辟了两个缓冲池:一为内存缓冲池,下文简称“数据缓存”,数据缓存的特点是处理速度较快,但空间小;二为存储器缓冲池,下文简称“存储器”,存储器的特点是处理速度较慢,但空间大。这两类缓冲池相互弥补,用来存放待发送的短信数据,短信数据将首选存放于内存缓冲池中,如果内存缓冲池满,则改存于存储器缓冲池。系统取数据时,也将首先从内存缓冲池中取得,如果内存缓冲池中没有数据,则从存储器缓冲池中取数据。缓冲池按先进先出(FIFO)的规则进行管理,系统中并且具有特定数据结构管理缓冲池,这些特定的数据结构被称作为缓存管理头指针。管理数据缓存所用的缓存头指针数据结构中各字段的含义如图4所示,它们担负着缓存门卫的作用。
下面结合图3,对控制机核心控制算法进行一个讨论:
步骤11,系统上电,单片机、存储器、短信收发模块进行硬件初始化工作,初始化工作是通过硬件电路完成的,根据各硬件的工作条件不同,硬件电路给每个硬件提供不同的工作电压、启动信号等等;
步骤12,单片机收到硬件复位信号后,开始执行程序,主程序首先对数据缓存进行初始化,使能将要使用的串口中断和外部中断;
步骤13,接着程序进入主控制程序,主控制程序为一个循环程序;
步骤14,进入主控制程序后,首先判断交互标志是否已经置位;交互标志是在串口中断服务子程序的步骤55设置的,后面将详述;如果是,执行下一步骤;如果否,执行步骤17;
步骤15,往串口发送主机所请求的数据,这些数据包括短信处理记录,系统当前的工作状况等等;
步骤16,处理完成后,清交互标志,返回交互标志判断步骤14;
步骤17,判断数据缓存中是否有数据;如果没有,执行下一步骤18;如果有,执行步骤19;
步骤18,判断存储器中是否有数据;如果没有,则返回步骤14;如果有,执行步骤20;
步骤19,数据缓存取过程;其作用是将缓存中的数据提取至内存变量,等待处理,数据缓存取过程的细化如图7所示;执行步骤21;
步骤20,存储器取过程;存储器取过程的作用是把待处理数据从存储器中取出装入内存变量中,存储器取数据流程与数据缓存取数据流程相似;执行步骤21;
步骤21,根据用户访问权限生成回复文本;
步骤22,根据短信模块数据输入的要求,对回复文本进行编码;
步骤23,编码完成后,将数据传送给短信收发模块,发送短信息;
步骤24,判断是否发送成功;如果是,执行步骤25;如果否,执行步骤26,在这种情况下刚刚处理的缓存数据依然存在于缓存中,下一次还将被处理;
步骤25,修改缓存管理头指针;缓存管理头指针一共有两类,一类是管理数据缓存的,一类是管理存储器缓存的,系统将根据内存变量的数据来源,确定修改哪个缓存管理头指针,修改缓存管理头指针的目的是将刚刚被成功处理的缓存数据从缓存中排除出去;
步骤26,缓存管理头指针修改完毕后,系统将记录本次操作的相关工作数据;执行完毕程序返回步骤14。
在步骤14至步骤26的程序执行过程中,如果发生中断请求,将跳转执行中断服务子程序,跳转的时机都是在当前步骤执行完,下一步骤尚未开始执行这个间隙期。系统使能了两类中断,一为外部中断,二为串口中断,设置这两类中断的目的是服务于两类事件,第一类事件是当短信收发模块接收到从外界发送过来的短信时,此时,短信收发模块会给单片机发送一个电平跳变信号,触发单片机的外部中断,通知单片机对事件进行处理;第二类事件是PC机要求和问答处理控制机进行数据通讯时,此时,单片机内部会触发一个响应串口通讯的中断,通知单片机对这一事件进行处理。发生中断请求时的控制流程如下:
步骤51,发生中断请求;
步骤52,判断中断类型;如果是第一类事件发生,执行步骤53;如果是第二类事件发生,执行步骤54;
步骤53,单片机禁止一切中断的发生,以保证单片机和短信收发模块之间的通信不被其他事件打断;然后执行步骤57;
步骤54,单片机判断接收到的数据是否为PC机发出的要求与本控制机之间进行交互的请求;如果是,执行步骤55;如果否,执行步骤56;
步骤55,设定交互标志位;
步骤56,中断返回;
步骤57,单片机从短信收发模块读取短信数据;
步骤58,校验读取的短信数据是否完整;如果否,执行步骤59;如果读取的短信数据正确无误,执行步骤60;
步骤59,进行出错报警,并跳过该条短信,执行步骤66;
步骤60,对短信数据进行解码,将短信解码成适于程序处理的ASCII方式;
步骤61,解码完成后,调用问答处理引擎对短信数据进行处理;问答处理引擎算法流程如图5所示;执行步骤62;
步骤62,判断系统数据缓存是否未满;如果数据缓存未满,执行步骤63;如果数据缓存已满,执行步骤64;
步骤63,调用数据缓存存过程把处理后生成的应答数据存于数据缓存中;执行步骤65;
步骤64,判断存储器缓存是否未满;如果未满,执行步骤65;如果已满,执行步骤59;
步骤65,调用存储器存过程把处理后生成的应答数据存于存储器中;
步骤66,记录系统工作数据;
步骤67,开启所有中断;
步骤68,中断返回。
图3中虚线矩形框所标示的步骤为将要进一步细化的步骤,实线矩形框为一般步骤,菱形框为判断操作,箭头线表示控制和处理的顺序。
下面对图3虚线框中“调用问答处理引擎处理”模块针对的问答处理引擎算法流程做一个介绍,如图5所示。
该问答处理引擎算法继承了文献1的特点,采用一种模拟大脑语言感知过程的自然语言语句分析方法作为基础,同时增加了“问题求解”、“应答文本生成”等处理步骤,以可以满足问答处理的需要。如图5所示,算法输入的是一个带有问询性质的句子,输出是针对该问句的应答文本。具体流程如下:
步骤611,首先获取问询句;
步骤612,对问询句进行句子要点分析,获取句子要点;句子要点体现为问询句所询问的语义分量,语义分量可以理解为传统问答系统的某个预期答案类型,算法允许一个问询句提出对某个主体事物多个语义分量的询问,而不仅仅局限于事件的某一方面;句子要点分析获取分为三个阶段:步骤6121预处理、步骤6122句类分析和步骤6123要点生成;分析获取要点的基础在于两类知识库:概念知识库B22和词语知识库B21。概念知识库B22又包含概念节点知识库、句类知识库和概念关联知识库。概念知识库B22与语言的表现形式无关,是在语言概念层面的一套知识表示模型及关于语言中内在的、与语种无关的常识知识库,有了这一套模型及知识,在词语知识库的支持下,算法可以处理任何一种具体的语言,而不仅仅局限于汉语或者英语,并且可实现跨语种的问答算法。词语知识库B21是针对一种具体语言的、与语种相关的知识库,包括常用的词语的语义、概念类别、句类代码等语义知识,不同的语言所对应的词语知识库是不同的。这些知识库是语义分析的基础,是进行自然语言处理的基础所在,相对稳定;
步骤613,算法根据不同要点所对应的语义分量进行问题求解操作;求解主要依靠经过预处理的结构化常识知识库B12中所包含的知识;
步骤614,求解结束后,进行应答文本生成;应答文本生成主要依据HNC概念知识库B22中的句类知识库和文本生成规则库B23。
为了更好地说明整个算法的工作流程,使用“中国科学院声学研究所的地址是什么,邮编是多少?”作为例句进行说明。
句子要点分析获取由三个阶段组成:预处理、句类分析、要点生成。
预处理工作对于汉语处理来说就是分段层选处理.分段层选可以理解为汉语的分词技术,但HNC分段层选处理并不像传统语言学研究分词那样试图给出确定性的层选结果,而只是给出具有优先级判定的各种词语组合方式,提交后续的分析进行处理,算法从各个分类层次中依次选取一种分类方式提交给后续句类分析模块处理.
预处理完成后紧接着是句类分析,句类分析的目标是确定语句的概念类别、辨别语句的语义块,分析语义块构成,简言之,就是要确定句子是按照什么样的概念联想脉络进行组织的。HNC在句类分析方面已经形成了一套完整的语句语义结构表示体系,这一体系由57个基本句类表示式和57*56个混合句类表示式组成。并引入了块扩、句蜕等概念,概括了自然语言语句的所有概念表达形式,提供了语句层面的概念联想依据,并且对于什么是句子,句子的构成要件给出了形式化、计算机可操作的表述。从工程的角度可以把句类分析细分为3个子过程,即语义块感知和句类假设、句类检验、语义块构成分析。语义块感知和句类假设的任务是找出句子中具有特定概念的字词,并利用它们提供的信息来对句子的句类进行假设,得到一个候选集;句类检验的任务是运用句类知识对候选集中的各个假设句类进行合理性分析,最终判定句子的句类;语义块构成分析的任务是在句类确定的宏观前提下,对各个语义块的内部语义结构进行分析。这里需要说明的是,语义块是语义层面的语句结构单位,是句类分析的基础,而语义块感知就是指将一个句子分成若干个语义块,并对每个语义块再分出它的核心部分和说明部分。语义块的每一个划分都是与句类假设相对应的,所以,划分的对错要通过后续的句类检验来确定。实际上,语义块感知和句类假设之后的结果,实际上是形成了一张表格,这张表格内按优先次序记录了假设出的各种句类,以及相关信息,句类检验的任务就是依次对表格内的各个假设的合理性进行分析判定,从而确定句子所属的句类以及句子中各个语义块的角色。
对于例句“中国科学院声学研究所的地址是什么邮编是多少?”经过HNC句类分析可以得到句子的语句深层结构为:
中国科学院声学研究所的地址||是||什么,+%邮编||是||多少?
jDJ+%jDJ
从语句深层结构可以看出,这个问询句由两个是否判断句组成,第二个句子是半共享句,半共享第一个句子的“中国科学院声学研究所”,从是否判断句主语义块DC的内容“什么”和“多少”可以断定这是一个疑问句,他们对应HNC概念基元符号表的f429类概念。HNC概念基元符号中语习概念(f类)定义的询问类子节点如图8所示,HNC将询问类型划分为10个大类,以f42子树结点加以表示。
当然仅仅依靠语句中的“什么”、“多少”等关键字来确定询问的类型是完全不够的,必须结合句类分析的结果加以断定。是否判断句的句类代码为jDJ=DB+jD+DC,DB是对象,DC是内容,它是HNC 57种句类代码之一。是否判断句的理解处理主要依靠DB与DC间的概念关联知识,当DB和DC都是不含句蜕的简单构成时,DB和DC的核心要素之间将具有概念类别一致性。从例句中来看,“中国科学院声学研究所的地址”和“什么”是有概念类别一致性的,而“(中国科学院声学研究所的)邮编”和“多少”同样具有这样的一致性,这是我们解决问题的切入点。
另外一个不能依靠语句中的“什么”、“多少”、“谁”等关键字来断定问句类型的理由是,相当一部分的问询句不包含这些关键字,我们必须通过句子的语义概念结构才能挖掘句子中隐含的询问信息.比如说“请告知中国科学院声学研究所的地址”,我们肯定不能从“告知”这个词断定这是个需要算法做出回答的询问语句.句类分析就是要获得句子的深层含义,并用统一的符号体系表示.
句类分析结束后,进入要点生成单元,要点生成的主要任务是将句子的要点信息进行提取,形成一个以要点为维度的向量空间结构Y(Y1,Y2,……,Ym),供问题求解模块调用。
要点向量空间结构Y的生成步骤是:
(1)根据句子的语义概念结构,获取包含问询内容的整个主语义块结构。
(2)从主语义块结构中获取具有问询内容特征的关键要素。
(3)获取这些关键要素的语义符号。
(4)同一关键要素对应的不同语义符号为一组,假设共有n个关键要素,形成n组语义符号序列,并且这n组语义符号序列中分别有m1,m2,m3,…,mn-1,mn个语义符号
(5)以组为基本单位,进行组与组之间元素的笛卡尔乘积运算,形成n列,m1*m2*m3*mn-1*mn行的矩阵。
(6)这个矩阵对应以行号为下标,列数为维度的要点向量数组y1,y2,…,yk,其中k=m1*m2*m3*mn-1*mn。这个向量数组的组合就是我们所求的以要点为维度的向量空间结构Y,Y={y1,y2,…,yk}T
例句中,根据句子的主语义块信息提取出两项关键要素,依据是两个是否判断句的主语义块的C(内容)团块,第一个句子主语义块的C团块是“地址”,第二个是“邮编”,分别对应HNC的jz214(特定位置或特定物的值表达)和ga25\5+j3/j00(邮政上地区的数序)语义概念,根据这两个要素,就得到一个要点向量y(jz214,ga25\5+j3/j00),当然,向量的维数随着要点的增加或者减少会改变,而不仅仅局限于二维结构。随着C团块语义的不同,有时得到的是一个向量数组,比如句子中主语义块的C团块内容如果改为“地方”,那么向量的第一个特征值就会有三种情况,对应:(a)gc400-0;pj2-0(关系的基本构成方面,相对中央的地方);(b)wj2;j214(地域、位置);(c)j40-0(局部)。此时,Y就是一个向量数组,包含y1(gc400-0;pj2-0,ga25\5+j3/j00);y2(wj2;j214,ga25\5+j3/j00);y3(j40-0,ga25\5+j3/j00)。此时,问题求解的复杂度也会增加。
问题求解就是把句子要点分析获取的结果与预先设定好的多维度语义表示框架下的语义分量进行比对,确定问询句中包含的关键信息,并以这些信息为依据,根据常识知识库中的知识形成一个包含答案信息的数据结构,提供应答文本生成时用。
算法中按概念类别将语义分量划分成了13类,包括日期、时间、地点、人物、事件、组织、事物数量、比重以及与应用密切结合的联系电话、手机号码、邮编、E-mail、金额等等,并且,所定义的概念数量根据服务处理内容的需要可以进行调整.这13类概念形成一个维数为13的特征向量Z(Z1,Z2,Z3,……,Z13),规定Zi和Zj(j≠i)的位置不可以随意调换,特征向量对应的特征值Zi是该语义分量的一个HNC符号.比如,地点类概念对应HNC符号为j214(意为第一参照系:特定位置或特定物);时间类概念对应j1(意为时间的概念整体);事物数量类概念对应j308(意为基本数);邮编概念比较狭义,表示符号为ga25\5+j3/j00,将这些HNC符号依次填入特征向量Z中就形成了一个具体的向量z,接下来的操作就是把要点向量(组)Y中的所有特征项的值与语义分量概念特征向量z里的每一个特征值依据HNC语义相关度进行语义距离计算,获得一个0到1空间内的相关度值,构成语义分量权重向量V(V1,V2,V3……Vn).对于Y(Y1,Y2,……,Ym)和Z(Z1,Z2,Z3,……,Zn)形成的V有:对于任意Vi,Vi=MAX(R(Yj,Zi)),其中(0<j<=m),R表示Yj和Zi之间的语义相关度值.如果Y是一个向量组,我们取向量组中每一向量y1、y2……依次与Z计算后所得到的最大的那个Vi作为最后的结果.
Vi产生后,我们根据预先设定的权值a,阈值a取值范围根据系统训练获得,经验阈值为0.8,将Vi投影到筛选认定向量X(X1,X2,X3,……,Xn)中。
假设我们设立的语义相关度阈值a已确定,如a=0.8,通过语义相关度计算得到的词语语义与概念类之间的语义相关度为Vi,对于筛选认定向量X(X1,X2,X3,……,Xn)中Xi的值可以通过公式得来。实质上,筛选认定向量是映射向量V向二值逻辑平面的一个投影。它所表示的具体含义是是否收入该多维度语义表达分量。
假设要点向量空间结构为Ykn,其结构如“要点向量空间结构Y的生成步骤”中所述。特征向量为Z(Z1,Z2,Z3,……,Zp),筛选认定向量为X(X1,X2,X3,……,Xp),其中p表示概念类别对应语义分量的数量,本实施例中p=13。筛选认定向量X的生成过程可以归纳为:
(1)将Y中的每一个元素与Z中的每一个元素进行语义距离计算,形成一个行数为k*n、列数为p的权重矩阵W(k*n)p
(2)以权重矩阵的列为单位,取出每列中权重值的最大值,组成权重向量Vp
(3)将Vp中的每一个元素与预先设定的权值a进行比较。
(4)计算出筛选认定向量为X(X1,X2,X3,……,Xp)。计算公式为 Xi = 1 Vi &GreaterEqual; a 0 Vi < a ( 1 &le; i &le; p ) .
对于例句,通过以上算法我们可以得到这样的结果:V=(0,0,0.91,0.01,0,0,……,0.99,0.2,0,0,0,0.1),其中V1表示日期类概念,V2表示地点类概念,V3表示人物类概念,V4表示事件,V10邮编类概念。HNC语义相关度经验阈值a=0.8,投影得到X=(0,0,1,0,0,0,0,……,1,0,0,0,0,0),于是,认定了X3(地点)和X10(邮编)两个问题语义分量。
最后,根据认定的问题语义分量从结构化的常识知识库中获取基于对象“中国科学院声学研究所”的相应语义分量知识:“北京市海淀区北四环西路21号”、“100080”,形成一个“对象-问题-解答”数据结构。
应答文本生成通过分类解决三类文本的生成来完成,这三类文本分别针对三种可能出现的处理结果,第一种情况是算法无法理解用户提问或者用户提问模糊不清时做出的回答;第二种情况是算法无法找到能够回答用户提问时做出的回答;第三种情况是算法可以正确回答用户提问时做出的回答。前两种情况的应答文本生成较为固定,前者提醒用户确认输入或者提供更为详细的询问信息,后者告知用户所询问信息的解答没有被算法录入。而第三种情况文本生成相对复杂,算法统一采用HNC句类知识中的是否判断句(jDJ)作为语句生成基本语义结构,这一类句子常见的表现形式是传统语言学中所指的“是”字句。当然,这里面存在许多相似和不同处,不再过多讨论。
根据问题求解输出的“对象-问题-解答”数据结构,生成最终应答文本。例句所生成的最终应答文本是:中国科学院声学研究所的地址是北京市海淀区北四环西路21号,邮编是100080。
综上所述,将从问答处理引擎算法流程、算法处理阶段划分、算法特点三个部分来对算法进行一个特征总结。
本发明所涉及的问答处理引擎算法流程可以归纳如下:
(1)获取问询句。
(2)对句子进行预处理,得到分段层选结果,分段层选结果是一组具有优先级、层次性的词语切分序列,提交后续的句类分析进行处理。
(3)结合概念知识库和词语知识库中的知识对步骤(2)的结果进行假设检验处理,步骤(2)中的每一种词语切分方式都对应一种概念联想脉络的组织形式,系统获取其中正确的组织形式,并且确定语句的概念类别、辨别语句的语义块,分析语义块构成。
(4)根据步骤(3)获得的结果,提取句子要点,句子要点包含三部分内容:问题中所包含的多维度语义表达的分量,分量针对的对象以及该对象的限制条件。问题中所包含的多维度语义表达分量指问题提出者想知道什么内容,分量针对的对象指这些内容的所有者是谁,该对象的限制条件指对所有者有什么限制条件。
(5)根据步骤(4)的结果,结合常识知识库,对问题进行求解,获得“对象-问题-解答”数据结构。求解的方法是把步骤(4)中的要点向量与预先设定好的多维度语义表示框架下的语义分量进行比对,确定表示问询句所要询问的关键信息的语义分量权重向量。根据这个向量到结构化数据库中去查找,在某一限制条件下特定对象的被询问语义分量的对应值,最终形成一个包含答案信息的“对象-问题-解答”数据结构。
(6)根据“对象-问题-解答”数据结构,生成应答文本。生成的应答文本采用是否判断句(jDJ)作为语句生成基本语义结构。
本发明所涉及的问答处理引擎算法可划分为三个处理阶段。
这三个处理阶段与基于传统自然语言处理的算法有很大不同,下面进行对比说明。
传统自然语言问答处理算法一般分为三个阶段:问题分析、信息检索和答案抽取。与之相对应本发明所涉及的问答处理引擎算法的三个阶段分别是问题理解、问题求解和应答文本生成,阶段性非常明显。与传统基于统计的问答系统不同,本算法对信息的处理是建立在理解的基础之上的,所以我们把第一阶段的任务归结为对问题的分析理解,主要目的是弄清楚用户要问的问题是什么,传统问答算法第一阶段的任务一般包括问题的分类、关键词的提取和关键词扩展。如果是中文,还需要进行分词处理。本算法则是对用户所提出的问询句进行句子语义类别分析操作,从而确定句子所属的句子语义类别以及获得与此相关的要点框架。
传统问答算法信息检索模块返回的是一堆相关的文档。然后答案抽取模块从这些相关的文档中找出相关的答案(一句话,或者是一段)提交给用户。答案抽取是问答系统的最后一部分,也是难度最大的一部分。如果答案抽取模块不能准确地把正确答案抽取出来,将严重影响整个问答系统的准确性。
本问答处理引擎算法则不同,本问答处理引擎算法根据问题理解所得到的句子语义类别信息以及要点框架信息,通过与预先设定的、问题的多维度语义表示框架进行语义相关度计算后的结果来确定问题求解的多维度语义表达的分量(下文简称语义分量),多维度语义表示框架是语义分量的一个集合,各语义分量具有确切的工程含义,如时间、地点、人物、事件或者针对某一个对象的不同方面描述.系统接着再根据问题中对象的这些语义分量从常识知识库中直接抽取答案,形成一定的数据结构,最后再根据这一数据结构,利用句子语义框架知识生成应答文本,返回给用户.这中间包括了一个自然语言生成的过程,而不是简单的将一句包含答案话返回给用户.
这三个处理阶段可以归纳如下:
(1)问题理解。通过预处理、句类分析、要点生成几个步骤获取句子语义类别信息以及要点框架信息。
(2)问题求解。通过与预先设定的、问题的多维度语义表示框架进行语义相关度计算后的结果来确定问题求解的多维度语义表达的分量,从常识知识库中根据语义分量直接抽取答案,形成特定的数据结构。
(3)应答文本生成。根据特定数据结构依据句类知识生成应答文本。
下面对本发明涉及算法的控制机核心控制算法中的数据缓存存过程做一个说明,如图6所示。具体流程如下:
步骤61,调用问答处理引擎,获取问答处理引擎处理的结果;结束后,执行步骤6301;
步骤6301,分析缓存头结构;头结构中描述了目前队列里的记录数,剩余空间,数据缓冲头尾指针等信息;执行步骤62;
步骤62,通过头结构判断数据缓存是否未满;如果已满,执行步骤65;如果数据缓存未满,执行步骤6302;
步骤6302,将记录写至数据缓存;
步骤6303,改变数据缓存头结构;
步骤6304,返回核心控制算法数据缓存存过程成功消息;
步骤6305,返回核心控制算法数据缓存存过程失败消息。
本发明涉及系统的控制机核心控制算法中的数据缓存取过程与存过程相对,如图7所示。具体流程如下:
步骤14,判断交互标志是否已置位;如果是,根据图3,执行图3流程图中的步骤15和步骤16;如果否,执行步骤1901;
步骤1901,进行数据缓存头结构分析;头结构中记录了目前队列里的记录数,剩余空间,数据缓冲头尾指针等信息;
步骤17,通过头结构判断数据缓存中是否有数据;如果否,执行步骤1905;如果是,执行步骤1902;
步骤1902,把记录从数据缓存中读出;
步骤1903,改变数据缓存头结构;
步骤1904,返回核心控制算法数据缓存取过程成功消息;
步骤1905,返回核心控制算法数据缓存取过程失败消息。
核心控制算法中的数据缓存存过程、数据缓存取过程、存储器存过程、存储器取过程四个过程组成了系统的二级缓存管理方法,以此来协调接受、处理、发送之间的速度不一致问题.缓存按先进先出(FIFO)的规则进行处理,系统中并且具有特定数据结构对两级缓存分别进行管理,这些特定的数据结构被称作为缓存管理头指针.下面,对系统的两级缓存管理方式作一个归纳,其工作流程如下:
存入数据缓存处理步骤:
(1)分析数据缓存管理头指针判断数据缓存中是否有空间,如果有,转步骤(2),否则转步骤(3)。
(2)将数据存储于数据缓存中,修改数据缓存管理头指针,转步骤(6)。
(3)分析存储器缓存管理头指针判断存储器中是否有空间,如果有,转步骤(4),否则转步骤(5)。
(4)将数据存储于存储器中,修改存储器缓存管理头指针,转步骤(6)。
(5)存储失败,返回存储失败信息。
(6)存储成功,返回存储成功信息。
读取数据缓存处理步骤:
(a)分析数据缓存管理头指针判断数据缓存中是否有待处理数据,如果有,转步骤(b),否则转步骤(e)。
(b)把待处理数据从数据缓存中取出至内存变量,等待由主控程序返回的该数据的处理结果信息。
(c)如果在一定时间内收到处理成功信息,转步骤(d);否则,转步骤(i)。
(d)修改数据缓存管理头指针,转步骤(j)。
(e)分析存储器缓存管理头指针判断存储器中是否有待处理数据,如果有,转步骤(f),否则转步骤(i)。
(f)把待处理数据从存储器中取出至内存变量,等待由主控程序返回的该数据的处理结果信息。
(g)如果在一定时间内收到处理成功信息,转步骤(h);否则,转步骤(i)。
(h)修改存储器缓存管理头指针,转步骤(j)。
(i)读取数据失败,返回取数据失败信息。
(j)读取数据成功,返回取数据成功信息。
下面对本发明涉及的系统核心控制算法中的用户访问权限判定做一个详细说明。首先,从上面的介绍中可以得知,问答处理引擎算法在处理过程中生成了“对象-问题-解答”数据结构。这个数据结构是用户访问权限判定的基础。其次,系统在存储器中开辟了一块存储区域用来存放用户权限库,用户权限库又可分为两部分:一部分称为信息安全库,用于存放针对各个对象的各个内容设置的信息安全级别,另一部分称为访问权限库,用于存放手机号的访问级别。权限判定就根据这些信息来处理,分为以下几个步骤进行:
(1)根据应答文本对应的“对象-问题-解答”数据结构从信息安全库中查找该条信息所具有的信息安全级别。
(2)根据访问权限库查找拟获取该信息的手机号码所具有的访问级别。
(3)比对访问级别和安全级别。
(4)如果访问级别高于或者等于安全级别,返回有权访问标志;否则,返回无权访问标志.
(5)结束处理。
举例来说,如果与13XXXXX1919手机号绑定的用户具有1类(最高)访问级别,那么该手机号就可以访问目前常识数据库里存有的所有信息,同样,如果与手机号绑定的用户只具有2类(较高)访问级别,那么该手机号只能获取小于等于2类权限所对应的可访问的信息。
综上所述,本实施例控制机核心控制算法具体处理步骤可归纳如下:
(1)系统从短信收发模块获取用户发送的短信息,转向步骤(2)。
(2)对短信息进行理解处理,获取应答文本,转向步骤(3)。
(3)将应答文本与请求本次操作的手机号码存储于系统缓存中,转向步骤(4)。
(4)系统在无需进行短信接收或者主机交互操作时,处理系统缓存中的数据,将其从缓存中取出,等待处理。转向步骤(5)。
(5)判断使用请求本次操作的手机号码的用户是否有权限获取该应答文本,如果有转向步骤(6),否则转向步骤(7)。
(6)回复文本即为生成的应答文本,转向步骤(8)。
(7)回复文本提示用户无权获取该信息,转向步骤(8)。
(8)通过短信收发模块返回用户回复文本。
下面通过对三个具体问询短信的处理过程,来对本实施例的短信问答系统处理过程做一个说明。在每个关键概念表示后面都会给出一定的概念解释,用“( )”括起,包括该词语的语义符号表示和对该符号的语义解释。
例1手机号为13XXXXX0110的用户发送短信“中国科学院声学研究所的地址是什么邮编是多少?”给系统提供的特服号码请求服务。
系统从短信收发模块获取用户发送的短信息,短信息内容为“中国科学院声学研究所的地址是什么邮编是多少?”。
对短信息内容进行理解处理,获取该句子语言层面的句子结构为:中国科学院声学研究所的地址||是||什么,+%邮编||是||多少?
经过句子要点分析获取,可以得出该句子语言概念层面的语句深层结构为:jDJ+%jDJ(由两个是否判断句组成,第二个句子是半共享句,半共享第一个句子的“中国科学院声学研究所”)。
第一个句子的句类为jDJ,句类表示式jDJ=DB+jD+DC
语义块的对应关系为:
DB:中国科学院声学研究所的地址。它包含两个部分:DBB:中国科学院声学研究所(fpj2*101/fpea6,特指中科院声学所,f表示专有名词);DBC:地址(jz214,特定位置或特定物的效应)。
jD:是(jlv111,表示基本逻辑概念的肯定)。
DC:什么(f429,语习概念(f类)中的询问类概念)。
第二个句子的句类为jDJ=DB+jD+DC
语义块的对应关系为:
DB:中国科学院声学研究所的地址.它包含两个部分:DBB:中国科学院声学研究所;DBC:邮编(ga25\5+j3/j00,邮政上地区的数序).
jD:是(j1v111,表示基本逻辑概念的肯定)。
DC:多少(f429,语习概念(f类)中的询问类概念)。
根据两个句子的DB语义块,我们得出问询句的要点向量为y(jz214,ga25\5+j3/j00)
我们将要点向量y与答案生成特征向量Z作比较,Z对应的特征值Zi是该语义分量的一个HNC符号,比如,地点类概念对应HNC符号为j214(意为第一参照系:特定位置或特定物);时间类概念对应j1(意为时间的概念整体);事物数量类概念对应j308(意为基本数);邮编概念比较狭义,表示符号为ga25\5+j3/j00。目前系统所维护的特征向量Z为Z(v843/(wj10-00;(j12,114,wj10-00)),j1,j214,pj721,rc30,(v900#jv40-)$r,j41,jz309,gw23a,ga25\5+j3/j00,(gw923a8,l11,pw20a8),gxzc248),对应语言层面的含义是日期、时间、地点、人物、事件、组织、事物数量、比重以及与应用密切结合的电话、邮编、E-mail、金额。
比较的方法在前文中已经介绍过,通过比较可以得出,Z3和Z10是我们要求解的语义分量,从预先维护好的结构化数据库中我们可以找出,fpj2*101/fpea6(中国科学院声学研究所)对应的j214(地址)和ga25\5+j3/j00(邮编)的值分别为“北京市海淀区北四环西路21号”和“100080”。
进行应答文本生成,得出的句子为“中国科学院声学研究所的地址是北京市海淀区北四环西路21号,邮编是100080。”。
通过权限数据库查找,手机号为13XXXXX0110的用户是否有权获取生成的关于fpj2*101/fpea6(中国科学院声学研究所)的j214(地址)和ga25\5+j3/j00(邮编)的信息,实际查找结果为有权获得。
将应答文本作为回复文本,通过中断服务子程序注入发送缓冲池,主程序最后从发送缓冲池调出回复文本,通过短信收发模块以短信息方式发送给用户。
例2手机号为13XXXXX0110的用户发送短信“请告知中关村附近餐馆的电话”给系统提供的特服号码请求服务。
系统从短信收发模块获取用户发送的短信息,短信息内容为“请告知中关村附近餐馆的电话?”。
对短信息内容进行理解处理,获取该句子语言层面的句子结构为:请告知||中关村附近|餐馆的电话。
经过句子要点分析获取,可以得出该句子句类为!31!32T3XY*31,(句类表示式T3XY*31=TA+T3XY+B+YC。这是一个信息转移句和块扩效应句的混合句,句子中省略了第一和第二个语义块,即TA和B)。
语义块的对应关系为:
TA:(省略)。
T3XY:告知(v6523a$v8109,表示一种信息转移,转移的效应是接收者知道信息)。
B:(省略)。
YC:中关村附近餐馆的电话.包括3部分内容:YCBB:中关村附近(fpj2*101/fpwj2*x1/fpwj2-00*1,表示中国北京市内的一个特指地区);YCBC:餐馆(pw6641+wj01,表示服务于食的一种人造物,并且是一个空间);YCC:电话(gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a)),表示电话的一种序的编码).
根据这个句子的YC语义块,我们得出问询句的要点向量为y(gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a))
我们将要点向量y与答案生成特征向量Z(v843/(wj10-00;(j12,l14,wj10-00)),j1,j214,pj721,rc30,(v900#jv40-)$r,j41,jz309,gw23a,ga25\5+j3/j00,(gw923a8,l11,pw20a8),gxzc248)作语义比较,可以得出,Z9与y1语义相同,是我们要求解的语义分量。但是,由于pw6641+wj01(餐馆)不是特指概念,所以我们从预先维护好的结构化数据库中首先查得fpj2*101/fpwj2*x1/fpwj2-00*1(中国关村地区)的特指餐馆名,显然这样的餐馆名称很多,我们从中选取较常见的两个作为要回复的对象,查找这两个对象的gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a)(电话)值。可以得出“郭林家常菜”的电话是“010-62628768”;“天外天烤鸭店”的电话是“010-51663328”。
接着,进行应答文本生成,得出的句子为“中关村附近郭林家常菜的电话是010-62628768,天外天烤鸭店的电话是010-51663328,本次只列两项,如需其他,请输入完成名称”。
并且,通过与权限数据库比对,手机号为13XXXXX0110的用户有权获取该服务信息。
将应答文本作为回复文本,通过中断服务子程序注入发送缓冲池,主程序最后从发送缓冲池调出回复文本,通过短信收发模块以短信息方式发送给用户。
例3手机号为13XXXXX0110的用户发送短信“清华大学邓亚萍的电话号码”给系统提供的特服号码请求服务。
系统从短信收发模块获取用户发送的短信息,短信息内容为“清华大学邓亚萍的电话号码”。
对短信息内容进行理解处理,该句子是一个不包含特征语义块的短语,对于短语我们一律将它作为查找对象处理,省略了主语义块和特征语义块,于是可以得出该句子句类为!30!31XT19*21J(句类表示式XT19*21J=A+XT19+TBC。这是一个作用句和针对性接受句的混合句,句子中省略了第一个广义对象语义块和特征语义块,即A和XT19)。
语义块的对应关系为:
A:(省略)。
XT19:(省略)。
TBC:清华大学邓亚萍的手机号码。由三部分组成:TBCBB:清华大学(fpj2*101/fpea7,特指中国的一个教育机构);TBCBC:邓亚萍(fpj2*101/fpa339,特指中国的体育明星);TBCC:电话号码(gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a))。
根据这个句子的TBC语义块可以得出问询句的要点向量为y(gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a))
我们将要点向量y与答案生成特征向量Z(v843/(wj10-00;(j12,114,wj10-00)),j1,j214,pj721,rc30,(v900#jv40-)$r,j41,jz309,gw23a,ga25\5+j3/j00,(gw923a8,l11,pw20a8),gxzc248)作语义比较,可以得出,Z9与y1语义相同,通过查找预先维护好的常识知识库发现,fpj2*101/fpea7(清华大学)限制条件下的fpj2*101/fpa339(邓亚萍)所持有的gw23a/((jgwa30*4,l10,jg308)+(v331|zzv52100a)(电话号码)信息并没有被系统记录,故生成的应答文本为“您所要查找的清华大学邓亚萍的手机号码为被系统记录”.
并且,通过与权限数据库比对,手机号为13XXXXX0110的用户无权获取该对象的私人信息,故重新生成回复文本“对不起,您无权访问该信息”。
最后,将应答文本作为回复文本,通过中断服务子程序注入发送缓冲池,主程序再从发送缓冲池调出回复文本,通过短信收发模块以短信息方式发送给用户。

Claims (3)

1.基于内容分析的短信问答系统实现方法,包括如下步骤:
1)系统通过短信收发模块获取用户发送的短信息;
2)根据短信息文本的语义概念结构,获取包含问询内容的整个主语义块结构;
3)从主语义块结构中获取具有问询内容特征的关键语义要素;
4)获取关键语义要素的语义符号;
5)同一关键语义要素对应的不同语义符号为一组,通过n个关键语义要素形成n组语义符号序列,这n组语义符号序列中分别有m1,m2,m3,…,mn-1,mn个语义符号;
6)以上一步骤5)中形成的组为基本单位,进行组与组之间元素的笛卡尔乘积运算,形成n列,m1*m2*m3*mn-1*mn行的矩阵;
7)上一步骤6)所得矩阵对应以行号为下标、列数为维度的要点向量数组y1,y2,…,yk,其中k=m1*m2*m3*mn-1*mn;这些要点向量数组的组合作为以要点为维度的向量空间结构Y,Y={y1,y2,…,yk}1;其中,所述要点为关键语义要素用语义符号方式表示所得到的表达式:
8)将要点向量空间结构Y与存储在存储器中的特征向量进行语义距离计算,获得筛选认定向量;所述特征向量描述的是一个问题求解空间,特征向量中的每一个特征值对应一个语义表达分量并以语义符号表示,所述语义表达分量包括时间和地点和人物;所述筛选认定向量描述问题求解时收录哪些语义表达分量;设要点向量空间结构Y中的要点向量数组yk中的元素用Ykn表示,特征向量为Z,所述特征向量Z的各个分量包括Z1,Z2,Z3,……,Zp,筛选认定向量为X,所述筛选认定向量X的各个分量包括X1,X2,X3,……,Xp,其中p表示概念类别对应语义分量的数量,那么筛选认定向量X的生成步骤如下:
(1)将Y中的每一个元素与Z中的每一个元素进行语义距离计算,形成一个行数为k*n、列数为p的权重矩阵W(k*n)p
(2)以权重矩阵的列为单位,取出每列中权重值的最大值,组成权重向量Vp
(3)将Vp中的每一个元素与设定的阈值a进行比较;
(4)根据下述公式计算出筛选认定向量为X,该筛选认定向量X的各个分量为X1,X2,X3,……,Xp
Xi = 1 Vi &le; a 0 Vi < a ( 1 &le; i &le; p ) ;
9)根据筛选认定向量,从存储器中存储的知识库中提取知识;其中,所述知识库包括自然语言问答处理引擎工作时所要用到的基本参数和规则,所述知识库包括词语知识库、概念知识库和规则库;
10)根据所提取的知识生成应答文本,同时根据手机号对应用户所具有的权限,生成短信回复文本;将回复文本通过短信收发模块发送给用户。
2.根据权利要求1所述的基于内容分析的短信问答系统实现方法,其特征在于,所述步骤10)包括如下步骤:
(1)根据所提取的知识生成应答文本,共分为三种情况:第一种情况是筛选认定向量是0向量,无法判断用户提问的含义;第二种情况是无法从知识库中找到能够回答用户提问的答案;第三种情况是算法正确回答用户提问时做出的回答,根据不同情况生成不同的应答文本;
(2)根据应答文本对应的“对象-问题-解答”数据结构从信息安全库中查找该条信息所具有的信息安全级别;其中,所述信息安全库用于存放针对各个对象的各个内容所设置的信息安全级;
(3)根据访问权限库查找拟获取该信息的用户所具有的访问级别;其中,所述访问权限库用于存放用户的访问级别;
(4)比对访问级别和安全级别;
(5)如果访问级别高于或者等于安全级别,返回有权访问标志;否则,返回无权访问标志;
(6)系统根据上一步骤得到的访问标志决定:如果是有权访问标志,就将应答文件通过短信收发模块发送给用户;如果是无权访问标志,就通过短信收发模块告知用户无权访问。
3.根据权利要求1或2所述的基于内容分析的短信问答系统实现方法,其特征在于,还包括存储数据和读取数据的缓存处理过程:
存储数据缓存处理过程:
(1)分析数据缓存管理头指针判断数据缓存中是否有空间,如果有,转步骤(2),否则转步骤(3);其中,所述数据缓存管理头指针是指用于数据缓存管理的头指针;
(2)将数据存储于数据缓存中,修改数据缓存管理头指针,转步骤(6);
(3)分析存储器缓存管理头指针判断存储器中是否有空间,如果有,转步骤(4),否则转步骤(5);
(4)将数据存储于存储器中,修改存储器缓存管理头指针,转步骤(6);
(5)存储失败,返回存储失败信息;
(6)存储成功,返回存储成功信息;
读取数据缓存处理过程:
(a)分析数据缓存管理头指针判断数据缓存中是否有待处理数据,如果有,转步骤(b),否则转步骤(e);
(b)把待处理数据从数据缓存中取出至内存变量,等待对该数据的处理结果信息;
(c)如果在一定时间内收到处理成功信息,转步骤(d);否则,转步骤(i);
(d)修改数据缓存管理头指针,转步骤(j);
(e)分析存储器缓存管理头指针判断存储器中是否有待处理数据,如果有,转步骤(f),否则转步骤(i);
(f)把待处理数据从存储器中取出至内存变量,等待对该数据的处理结果信息;
(g)如果在一定时间内收到处理成功信息,转步骤(h);否则,转步骤(i);
(h)修改存储器缓存管理头指针,转步骤(j);
(i)读取数据失败,返回取数据失败信息;
(j)读取数据成功,返回取数据成功信息。
CN200510093640A 2005-08-31 2005-08-31 基于内容分析的短信问答系统实现方法 Expired - Fee Related CN1924995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200510093640A CN1924995B (zh) 2005-08-31 2005-08-31 基于内容分析的短信问答系统实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200510093640A CN1924995B (zh) 2005-08-31 2005-08-31 基于内容分析的短信问答系统实现方法

Publications (2)

Publication Number Publication Date
CN1924995A CN1924995A (zh) 2007-03-07
CN1924995B true CN1924995B (zh) 2010-05-05

Family

ID=37817604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510093640A Expired - Fee Related CN1924995B (zh) 2005-08-31 2005-08-31 基于内容分析的短信问答系统实现方法

Country Status (1)

Country Link
CN (1) CN1924995B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373527B (zh) * 2014-08-27 2020-11-27 中兴通讯股份有限公司 一种省略恢复方法及问答系统
CN104268129B (zh) * 2014-08-28 2018-07-06 小米科技有限责任公司 消息回复的方法及装置
CN105955963A (zh) * 2016-05-25 2016-09-21 北京谛听机器人科技有限公司 一种机器人问答交互开放平台及交互方法
CN108062302B (zh) 2016-11-08 2019-03-26 北京国双科技有限公司 一种文本信息的识别方法及装置
CN106951558B (zh) * 2017-03-31 2020-06-12 广东睿盟计算机科技有限公司 一种基于深度搜索的税务智能咨询平台的数据处理方法
CN107256227B (zh) * 2017-04-28 2018-12-21 北京神州泰岳软件股份有限公司 面向知识内容的语义概念扩展生成方法与装置
CN107679224B (zh) * 2017-10-20 2020-09-08 竹间智能科技(上海)有限公司 一种面向无结构文本智能问答的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887266A (en) * 1995-02-15 1999-03-23 Nokia Mobile Phones Limited Method for using applications in a mobile station, a mobile station and a system for effecting payments
CN1437032A (zh) * 2002-02-06 2003-08-20 厦门雅迅网络股份有限公司 一种无中心自助式gps车辆报警方法和装置
CN1445969A (zh) * 2002-03-19 2003-10-01 北京汉王科技有限公司 具有短消息收发功能的智能电话

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887266A (en) * 1995-02-15 1999-03-23 Nokia Mobile Phones Limited Method for using applications in a mobile station, a mobile station and a system for effecting payments
US6418326B1 (en) * 1995-02-15 2002-07-09 Nokia Mobile Phones Limited Method for using applications in a mobile station, a mobile station, and a system for effecting payments
US20020102963A1 (en) * 1995-02-15 2002-08-01 Nokia Mobile Phones Limited Method for using applications in a mobile station, a mobile station, and a system for effecting payments
CN1437032A (zh) * 2002-02-06 2003-08-20 厦门雅迅网络股份有限公司 一种无中心自助式gps车辆报警方法和装置
CN1445969A (zh) * 2002-03-19 2003-10-01 北京汉王科技有限公司 具有短消息收发功能的智能电话

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭红霞.基于GSM模块TC35i的收发短信的无线终端的设计.西南石油学院测试计量技术及仪器专业硕士学位论文.2005,1-71. *

Also Published As

Publication number Publication date
CN1924995A (zh) 2007-03-07

Similar Documents

Publication Publication Date Title
CN111353310B (zh) 基于人工智能的命名实体识别方法、装置及电子设备
CN108920622B (zh) 一种意图识别的训练方法、训练装置和识别装置
WO2021159632A1 (zh) 智能问答方法、装置、计算机设备及计算机存储介质
CN1924995B (zh) 基于内容分析的短信问答系统实现方法
CN110196901A (zh) 对话系统的构建方法、装置、计算机设备和存储介质
CN106126620A (zh) 基于机器学习的中文自动文摘方法
CN111159363A (zh) 一种基于知识库的问题答案确定方法及装置
CN111159367B (zh) 一种信息处理方法及相关设备
CN110222328B (zh) 基于神经网络的分词和词类标注方法、装置、设备及存储介质
CN109710732B (zh) 信息查询方法、装置、存储介质和电子设备
CN108763529A (zh) 一种智能检索方法、装置和计算机可读存储介质
CN108304373A (zh) 语义词典的构建方法、装置、存储介质和电子装置
CN112328800A (zh) 自动生成编程规范问题答案的系统及方法
CN111694937A (zh) 基于人工智能的面试方法、装置、计算机设备及存储介质
CN108345612A (zh) 一种问题处理方法和装置、一种用于问题处理的装置
CN112287069A (zh) 基于语音语义的信息检索方法、装置及计算机设备
CN108776677B (zh) 平行语句库的创建方法、设备及计算机可读存储介质
CN112632239A (zh) 基于人工智能技术的类脑问答系统
CN114003709A (zh) 一种基于问句匹配的智能问答系统和方法
CN115062134B (zh) 知识问答模型训练及知识问答方法、装置和计算机设备
CN114580424B (zh) 一种用于法律文书的命名实体识别的标注方法和装置
CN113434636A (zh) 基于语义的近似文本搜索方法、装置、计算机设备及介质
CN112199958A (zh) 概念词序列生成方法、装置、计算机设备及存储介质
CN117312509A (zh) 一种海量信息下基于大语言模型的知识库问答方法及装置
CN114842982B (zh) 一种面向医疗信息系统的知识表达方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100505

Termination date: 20150831

EXPY Termination of patent right or utility model