一种文字语义分析方法、文字语义分析终端及存储介质与流程

文档序号:13736015阅读:334来源:国知局
一种文字语义分析方法、文字语义分析终端及存储介质与流程

本发明涉及语义分析技术领域,尤其涉及一种文字语义分析方法、文字语义分析终端及存储介质。



背景技术:

目前人机之间的交互方式还是采用文字对话方式,信息采集和过滤达不到预期想要的目的,无法准确识别出当前用户所说出话的含义,比如说“后海可以吗?”,但机器却可以理解为“后海不在家”这样的意思,而我们用户的意思是说“我们去后海那边吃饭可以吗?”,虽然采用的都是文字类型的会话,但人类所表达的意义可以是千变万化的,这种文字会话的语义分析方法存在以下诸多不便:

首先,一般情况下,用户所表达的含义富含人类独特的情感在里面,如果采用这种简单的文字会话语义分析方法,机器是没法做到识别出用户真正想表达的意思;其实,即使机器可能识别出了用户的大部分意思,但是通过机器一转述,可能表达的意思又不一样;第三,如果人机之间的会话都是这种简单的文字会话,没有对数据进行加密、抽样分析、输出加密,则信息的安全性得不到保障,很容易别有心思的人或黑客破解获取,不利于数据信息的传递。

因此,现有技术需要进一步的改进。



技术实现要素:

针对上述技术问题,本发明实施例提供了一种文字语义分析方法、文字语义分析终端及存储介质,以旨在帮助现有人机会话无法识别用户所表述的信息真实的含义,解决信息传递错误的问题。

本发明实施例的第一方面提供一种文字语义分析方法,所述文字语义分析方法包括以下步骤:

接收用户输入的文字信息,并对输入的所述文字信息进行词法分析,将所述文字信息中包含的字符串分隔成独立的单词,得到单词序列;

对分隔出的单词序列进行语法分析,判断所述单词序列中是否存在语法错误,并将存在语法错误的单词或相邻单词组成的词组过滤掉;

将单词序列中含有的单词转化成相对应的元数据,计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项,并根据所述关键词特征项得到各个单词所对应的语义标记文本,并将所述语义标记文本存储在文本数据库;

按照单词序列中各个单词的排列顺序,依次从所述文本数据库中匹配出对应的语义标记文本,并将排序后合成的文本信息输出显示。

可选地,所述用户输入的文字信息包括:用户的身份信息和用户输入的问题信息;

所述用户的身份信息包括:用户id信息字节、用户姓名字节、手机号码字节。

可选地,所述将所述文字信息中包含的字符串分隔成独立的单词的步骤包括:

使用空格作为分隔符,将所述文字信息中包含的字符串分隔成独立的单词,并为每个单词设置唯一对应的编号标识和下一个元数据的指向标识。

可选地,接收用户输入的文字信息之前还包括:

创建用于存储元数据的元数据库,并且建立单词目录与元数据库中所含元数据之间的关联关系;

在所述将单词序列中含有的单词转化成相对应的元数据的步骤中,通过所述关联关系,查找出所述单词所对应的元数据。

可选地,所述计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项的步骤包括:

采用基于语料库的词语相似度分析法和基于词语向量空间模型,计算各个元数据之间的语义相似度和特征项权重。

本发明实施例的第二方面提供一种文字语义分析终端,所述文字语义分析终端包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的文字语义分析程序,其中所述文字语义分析程序被所述处理器执行时实现以下步骤:

接收用户输入的文字信息,并对输入的所述文字信息进行词法分析,将所述文字信息中包含的字符串分隔成独立的单词,得到单词序列;

对分隔出的单词序列进行语法分析,判断所述单词序列中是否存在语法错误,并将存在语法错误的单词或相邻单词组成的词组过滤掉;

将单词序列中含有的单词转化成相对应的元数据,计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项,并根据所述关键词特征项得到各个单词所对应的语义标记文本,并将所述语义标记文本存储在文本数据库;

按照单词序列中各个单词的排列顺序,依次从所述文本数据库中匹配出对应的语义标记文本,并将排序后合成的文本信息输出显示。

可选地,所述文字语义分析程序被所述处理器执行时,还实现以下步骤:

使用空格作为分隔符,将所述文字信息中包含的字符串分隔成独立的单词,并为每个单词设置唯一对应的编号标识和下一个元数据的指向标识。

可选地,所述文字语义分析程序被所述处理器执行时,还实现以下步骤:

创建用于存储元数据的元数据库,并且建立单词目录与元数据库中所含元数据之间的关联关系;

在所述将单词序列中含有的单词转化成相对应的元数据的步骤中,通过所述关联关系,查找出所述单词所对应的元数据。

可选地,所述文字语义分析程序被所述处理器执行时,还实现以下步骤:

采用基于语料库的词语相似度分析法和基于词语向量空间模型,计算各个元数据之间的语义相似度和特征项权重。

本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机存储介质上存储文字语义分析程序,所述文字语义分析程序被处理器执行时实现所述的文字语义分析方法。

本发明实施例提供的技术方案中,通过将用户输入的信息的保存均采用元数据的格式进行存储,元数据会进行适当地分析、识别,然后通过元数据的结构格式反馈给用户,在反馈给用户时候,屏除掉和用户无关的信息,只给用户推送用户关心的信息,从而方便用户获取机器反馈过来的信息,正确理解和使用信息。

附图说明

图1为本发明所述的文字语义分析方法的步骤流程图;

图2为本发明所述的文字语义分析方法的原理示意框图;

图3为本发明所述的文字语义分析方法的具体应用实施例步骤流程图;

图4为本发明所述的文字语义分析终端的原理结构框图。

具体实施方式

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

在计算机术语中,语义分析是编译过程的一个逻辑阶段,语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查,进行类型审查。而结构上不正确的源程序无法进入到审查阶段,但有可能这个结构上不正确的源程序在上下文方面、类型方面可能是正确的,只是编译程序时会报错误。语义分析是审查源程序有无语义错误,为代码生成阶段收集类型信息。比如语义分析的一个工作是进行类型审查,审查每个算符是否具有语言规范允许的运算对象,当不符合语言规范时,编译程序应报告错误。如有的编译程序要对实数用作数组下标的情况报告错误。又比如某些程序规定运算对象可被强制,那么当这种运算施于一整型和一实型对象时,编译程序应将整型转换为实型而不能认为是源程序的错误。

目前人与人之间的交流,主要是以语言、文字为工具,才能使交流顺畅进行,人们表达的意思得到正确理解,人机之间的会话采用文字的方式居多,而电脑机器只能识别“0”和“1”两种数字符号,人机会话就要通过计算机指令进行传输,在进行传输的过程中,首先要通过输入设备,将这些指令等数据输入到电脑中,并将处理结果存储在电脑中,最后经电脑的输出设备,显示处理结果,让人们阅读和听。但在这个数据存储和传递的过程中,需要对数据进行一系列的处理,才能达到人与机器之间的顺利交流,从而到达人与人之间的交流正确。而本发明采用的元数据管理的方式正好给这个过程提供了保障和实现机制。

元数据它其实是一种编码体系,它是描述其它数据的数据;常用来描述数字化信息资源,尤其是网络信息资源的编码体系;它同时也是一种结构化数据;元数据是指从信息资源中抽取出来的用于说明此信息资源的特征、内容的结构化的数据,比如课程名,主讲人,时长等,用于组织、检索、描述、保存、管理信息和知识资源;比如我们在线俱乐部授课老师的授课信息(信息资源),我们在俱乐部的应用中可以检索出得到的信息,比如课程名:质量管理,主讲:师伟,主讲时间:2017年6月21日。因为一个基本的元数据是由元数据项目和元数据内容构成的,利用元数据来描述资源后,我们就可以将资源进行有效过滤分类,再加上元数据的标准规范,这样就能够将资源信息的有效内容和无法内容进行区分开,也就能够很好地表达出信息的正确含义;经过这么多年的发展,元数据的格式已经能够支持xml,html等格式,这种格式便于人民自己可以定制标签,也就是所谓的元数据,通过这种标签的模式,用户可以在使用数据时首先查看标签(元数据)以便能够获取自己所需的信息,元数据通过使用属性,支撑对元数据的扩展。

本发明提供了一种语义分析方法,如图1所示,所述分析方法包括以下步骤:

步骤101、接收用户输入的文字信息,并对输入的所述文字信息进行词法分析,将所述文字信息中包含的字符串分隔成独立的单词,得到单词序列。

本步骤中,首先接收用户通过客户端发送的文字信息。在具体实施时,用户通过客户端,比如:安装在移动终端内的app发送文字信息,则客户端将接收到的文字信息发送至服务器端。

具体的,所述用户输入的文字信息包括:用户的身份信息和用户输入的问题信息;

所述用户的身份信息包括:用户id信息字节、用户姓名字节、手机号码字节。

可以想到的是,上述用户的身份信息可以为用户每次发出信息时需要输入的信息,也可以先将用户的身份信息保存,当用户需要发出信息时,将用户输入的问题信息与预先保存的身份信息打包发送。

本步骤中所述将所述文字信息中包含的字符串分隔成独立的单词的步骤包括:

使用空格作为分隔符,将所述文字信息中包含的字符串分隔成独立的单词,并为每个单词设置唯一对应的编号标识和下一个元数据的指向标识。

由于用户输入的信息均为字符,因此本步骤先对输入的信息进行词法分析,将字符串按照单词的格式依次分割开,识别出字符串中含有的单词,并将其中无法识别组合的字符踢除。

步骤102、对分隔出的单词序列进行语法分析,判断所述单词序列中是否存在语法错误,并将存在语法错误的单词或相邻单词组成的词组过滤掉。

对分隔出的单词序列进行语法上的分析,判断是否含有不符合语法上的单词组合,通过把语言结构的属性赋予给代表语言结构的非终结字符上,而属性值由附加到语法产生式的语义规则计算,从而产生代码,进行语法制导翻译,以及进行上下文无关语法的语义翻译。

本步骤还包括:通过对单词序列中的赋值语句、算术表达式、逻辑表达式的分析判断,将变量类型的不一致词组过滤掉。

步骤103、将单词序列中含有的单词转化成相对应的元数据,计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项,并根据所述关键词特征项得到各个单词所对应的语义标记文本,并将所述语义标记文本存储在文本数据库。

将每个单词转化成其所对应的元数据,通过建立元数据模型对用户输入的信息进行语义分析,获取信息的本意。

在所述接收用户输入的文字信息的步骤之前,还包括:

创建用于存储元数据的元数据库,并且建立单词目录与元数据库中所含元数据之间的关联关系;

在所述将单词序列中含有的单词转化成相对应的元数据的步骤中,通过所述关联关系,查找出所述单词所对应的元数据。

具体的,有元数据管理的基础上,执行文字会话和用户信息的语义分析。所述语义分析为通过计算元数据之间的语义相似度和特征项权重,得到用户所输入问题的关键信息,并根据所述关键信息组建用户所输入问题的语义标记文本,也即是通过语义分析来执行文字会话的语义标记,并且将带有语义标记的文字文档存储到带标记文本数据库(元数据库)。

较佳的,所述计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项的步骤包括:

采用基于语料库的词语相似度分析法和基于词语向量空间模型,计算各个元数据之间的语义相似度和特征项权重。

步骤104、按照单词序列中各个单词的排列顺序,依次从所述文本数据库中匹配出对应的语义标记文本,并将排序后合成的文本信息输出显示。

由于获取到与单词序列相对应的语义标记文字文档分别为独立的信息,并未组合成文本信息,因此本步骤中,根据每个单词唯一对应的编号标识和下一个单词所对应元数据的指向标识,为独立信息的语义标记文字文档进行排序,并合成文本信息输出。该文本信息即是用户输入问题的正确表达。

如图2为本发明实施例提供的基于元数据管理的文字会话语义分析方法的交互流程的原理示意框图,为了便于说明结合图3,对本发明所述的方法做进一步的解释。本发明所述方法的具体应用实施例方法步骤包括:

步骤h1、当用户开启手机中的客户端或应用后,输入相关的文字信息,向终端发出请求。

所述请求包括用户的身份信息以及用户输入的问题信息。

在用户通过手机端的应用输入信息后,我们的应用也会将用户的信息以及用户输入的信息进行保存起来,想要存储在数据库中;这个时候应用就会向机器发出请求,请求内容包含用户信息和输入的信息。作为一种具体实现方式,所述输入信息包括用户id信息字节、用户姓名字节、手机号码字节、标题字节、提交时间字节。

步骤h2、服务器终端接受客户端发出的请求,并对客户端输入的信息进行初步的词法分析。

当服务器终端接受到客户端传递过来的用户输入的信息,同时向后台服务器进行传递数据。在传递数据的过程中,服务器需要对用户的信息进行初步的预处理操作,进行信息词法分析。

具体的,所述词法分析为:按照从左至右地的顺序对用户输入信息进行扫描,按照语言的词法规则识别各类单词,并产生相应单词的属性字。也就是将用户输入的字符序列转换为单词(token)序列。然后对识别出来的单词给出定性、定长的处理。

通过对用户输入信息进行了预处理,则可以对单词进行分类处理,比如“iamchinese”这样的输入信息,由于计算机并不知道这是以空格区分开的两个词语,只知道这是由普通的字符构成的字符串。可以通过一定的方法(这里即使用空格作为分隔符)将语素从输入字符串中分割出来。分割后的结果用xml可以表示如下:<sentence>

<word>i</word>

<word>am</word>

<word>chinese</word>

</sentence>

步骤h3、对上述步骤h2中得到的单词序列进行语法分析,识别信息语法方面的错误,并进行过滤掉。

语法分析也是编译过程的一个逻辑阶段,语法分析的任务就是在词法分析的基础上将单词序列组合成各类语法短语,然后对单词序列在结构上进行判断,判断是否正常,可以通过上下文无关文法来描述结构。

步骤h4、将单词序列中的单词转变成元数据,并对元数据进行语义分析,得到用户输入信息所对应的语义标记文本,将所述语义标记文本存储在文本数据库;

在词法分析和语法分析阶段处理后,信息数据已基本可用,但是还是无法消除歧义、理解不对等方面的问题,这个时候我们采用将数据格式进行归类重组,将其转变成元数据的结构模式进行存储,然后对其进行系统化的管理,实现数据转变成元数据的处理模式,然后进行语义分析,得到用户真正的信息目的和意图,也即是经过对所所述单词序列依次进行:语义表达、语义组织、语义存储和歧义消除的处理后,将单词序列转化成其所对应的元数据序列。

之前我们的源程序经过了词法分析,语法分析,到了第三阶段便是语义分析工作,这是编译程序最实质性的工作。之前两个步骤,词法分析和语法分析都是对源程序形式上进行识别和处理,而语义分析是对源程序的语义做出解释,引起源程序发送质的变化。而语义分析主要具有以下步骤:语法指导翻译、符号表、类型检查、中间语言、生成中间代码。当后台服务器获取到前端传递过来的数据信息,这个时候机器就要对数据信息进行语义分析,本发明中是将这些数据信息封装成元数据模型进行语义分析操作,语义分析模块,用于进行语义相似度分析以及特征项权重计算,提取用户输入的关键词特征项,对文本进行归类,文本向量化奠定基础。语义分析模块内置本体和实体词典。本体用于对文本进行语义分析,本体的基本组成单元为概念,概念构成概念树,概念树组成本体。文本概念化解决了一词多义或多词一义的问题。实体词典用于对文本进行实体提取,以便摒弃文本中不具实际意义的内容,简化后续文本处理的计算量,通过框架逻辑或描述逻辑进行推理,收集信息源中的数据,并把各局部数据库的模式信息按规定格式存储在元数据库中,通过分析元数据之间的语义关系,建立相应领域的全局本体,通过语义分析来执行文本文档的语义标记,并且将带有语义标记的文本文档存储到带标记文本文档数据库。

具体的,语义相似度是分析两个词语之间的相似度程度,主要用于文本词语消除歧义、信息检索、信息提取、机器翻译等领域中,主观性比较强,故不能脱离具体的应用环境来分析器语义相似度。目前在语义相似度分析领域有两种计算方法,一种是通过语义词典,把有关词语的概念组织在一个树形的结构中来计算;另一种是通过词语上下文的信息,运用统计的方法进行求解。结合本发明的应用场景,本发明采用语义相似度和特征项权重计算的算法都是现有的成熟算法:采用基于语料库的词语相似度分析法,算法公式:

sim(w1,w2)=adis(w1,w2)+a;

其中,相似度为sim(w1,w2),a是一个可调节的参数,其含义是:当相似度为0.5时的词语距离值,词语w1,w2之间的距离为dis(w1,w2)。特征项权重计算公式:w=tf×idf,其中,w为特征项t在文档d中的权重值,tf表示t在d内出现的频率,idf表示t的反比文本频率。采用其方法中应用广泛的词语向量空间模型,此模型包含以下几个步骤:预处理->文本特征项选择->加权->生成向量空间模型后计算余弦。该模型通过事先选择一组特征词,然后计算这一组特征词与每一个词的相关性,得到每一个词的相关性的特征词向量,用这些向量之间的相似度作为这两个词之间的相似度。

通过对用户数据进行元数据的转化,以及语义分析后,机器将数据信息生成相应的正确答案存储在数据库中,作为输出端的信息源头。

步骤h5、当用户数据进行了语义分析后,机器会按照相应的标准将其生成为应用知识库系统,在知识库系统里面明确标识出各个数据的特征,每当用户输入信息后,就在知识数据库中进行搜选,找到匹配的数据进行响应,也即是将语义分析结果存储至语义知识库,当用户输入信息后,从知识库检测,获取所匹配的知识,然后通过语义关联发现,得到所述需要分析结果。

数据信息虽然通过了元数据的转化和基于在元数据结构上的语义分析和生成答案,但是还是不能立即输出给用户端显示,因为这个时候的信息还不是连贯的,属于孤立分散的状态,这个时候就需要对数据进一步的处理,将数据与数据之间建立关系,通过建立这种关系,由于每个元数据数据都有一个唯一标识,这个标识上带有用户输入的编号识别和下一个元数据的指向标识,在用户输入数据开始后,自动去问题知识库中搜索,搜索到对应的问题答案数据文本,文本与文本进行组合,形成用户输入问题的对应最终结果,然后机器才能将整个文本合成的信息反馈给用户,作为机器对用户的响应,以达到用户意图。

本发明实施例的第二方面提供一种文字语义分析终端,如图3所示,所述文字语义分析终端10包括:处理器110、存储器120及存储在所述存储器上并可在所述处理器上运行的文字语义分析程序,其中所述文字语义分析程序被所述处理器执行时实现以下步骤:

接收用户输入的文字信息,并对输入的所述文字信息进行词法分析,将所述文字信息中包含的字符串分隔成独立的单词,得到单词序列;

对分隔出的单词序列进行语法分析,判断所述单词序列中是否存在语法错误,并将存在语法错误的单词或相邻单词组成的词组过滤掉;

将单词序列中含有的单词转化成相对应的元数据,计算各个元数据之间的语义相似度和特征项权重,并根据计算出的语义相似度和特征项权重提取所述单词序列的关键词特征项,并根据所述关键词特征项得到各个单词所对应的语义标记文本,并将所述语义标记文本存储在文本数据库;

按照单词序列中各个单词的排列顺序,依次从所述文本数据库中匹配出对应的语义标记文本,并将排序后合成的文本信息输出显示。

进一步的,所述文字语义分析程序被所述处理器110执行时,还实现以下步骤:

使用空格作为分隔符,将所述文字信息中包含的字符串分隔成独立的单词,并为每个单词设置唯一对应的编号标识和下一个元数据的指向标识。

较佳的,所述文字语义分析程序被所述处理器110执行时,还实现以下步骤:

创建用于存储元数据的元数据库,并且建立单词目录与元数据库中所含元数据之间的关联关系;并且所述元数据库中所含有的目录根据元数据类型的不同建立不同的分层,便于更快的根据目录查询到对应的元数据。

在所述将单词序列中含有的单词转化成相对应的元数据的步骤中,通过所述关联关系,查找出所述单词所对应的元数据。

较佳的,所述文字语义分析程序被所述处理器110执行时,还实现以下步骤:

采用基于语料库的词语相似度分析法和基于词语向量空间模型,计算各个元数据之间的语义相似度和特征项权重。

存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的文字语义分析方法。

存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据报表自动生成系统的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至文字语义分析终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述一个或者多个模块存储在所述存储器120中,当被所述一个或者多个处理器110执行时,执行上述任意方法实施例中的文字语义分析方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机存储介质上存储文字语义分析程序,所述文字语义分析程序被处理器执行时实现所述的文字语义分析方法。

通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

本发明中,当用户需要获取信息资源时,用户通过向机器发送相应指令命令,这时机器获取到了用户的命令,进一步将用户的命令信息保存起来;在本发明中,数据信息的保存都是通过元数据的格式进行存储,当用户的信息资源保存到元数据里面,元数据会进行适当地分析、识别,然后通过元数据的结构格式反馈给用户,在反馈给用户时候,屏除掉和用户无关的信息,只给用户推送用户关心的信息,从而方便用户获取语义分析终端反馈过来的信息,正确理解和使用信息。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及本发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

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