一种基于语义领域划分的智能语义匹配方法与流程

文档序号:18060243发布日期:2019-07-03 03:02阅读:177来源:国知局
一种基于语义领域划分的智能语义匹配方法与流程

本发明涉及数据处理技术领域,尤其涉及一种基于语义领域划分的智能语义匹配方法。



背景技术:

自然语言处理(naturallanguageprocessing,nlp)是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满挑战的。通常,用户输入的自然语言所对应的应用领域可能不止一个,但语义处理系统在对语言进行处理后,不能同时向用户输出多个处理结果,这样会使使用者不能根据语义处理系统的处理结果确定自己接下来“应该干什么”。但若没有规则的随机向用户输出一个处理结果,则该处理结果很可能不是使用者所需的。因此,如何根据从已得到的处理结果中确定一个最合理的结果,从而得到与用户语句语义相对应的答案,成为了本领域的难点之一。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供一种基于语义领域划分的智能语义匹配方法,根据语句应用领域信息确定语义匹配结果的优先级,使得当匹配到多个语义匹配结果时,可以根据优先级输出相应的最终匹配结果,通过此方法确定最终语义匹配结果的过程快速且准确,并也使得最终语义匹配结果更加符合语句的使用领域。

为实现上述目的,本发明提供了一种基于语义领域划分的智能语义匹配方法,所述方法包括:

语义处理系统接收语句数据,对所述语句数据进行语音识别,得到语句文字数据;

对所述语句文字数据进行语义解析,得到一个或多个语义匹配结果数据;

当所述语义匹配结果数据为多个时,根据各个所述语句文字数据中的泛化对象信息确定所述多个语义匹配结果数据所对应的语句应用领域信息;

确定每个所述语句应用领域信息对应领域类别的优先级信息;

根据所述领域类别的优先级信息确定优先级最高的语义匹配结果数据;

输出所述优先级信息最高的语义匹配结果数据。

优选的,所述语义处理系统接收语句数据,对所述语句数据进行语音识别,得到语句文字数据具体为:

所述语义处理系统的语音转换器接收所述语句数据,对所述语句数据中的语句语音数据进行识别,得到所述语句语音数据的语句文字数据,并将所述语句语音数据的语句文字数据插入所述语义处理系统的输入队列的末尾;

所述语义处理系统的轮询器监听所述输入队列的数据插入,从所述输入队列中获取所述输入队列末尾的语句文字数据,得到所述语句文字数据。

优选的,所述对所述语句文字数据进行语义解析,得到一个或多个语义匹配结果数据具体为:

对所述语句文字数据进行句式泛化处理,提取所述语句文字数据中的固定语信息和泛化对象信息;

根据所述固定语信息和泛化对象信息得到语义匹配结果数据。

进一步优选的,每个所述语义匹配结果数据对应一个所述泛化对象信息;当所述语义匹配结果数据为多个时,所述根据各个所述语句文字数据中的泛化对象信息确定所述多个语义匹配结果数据所对应的语句应用领域信息具体为:

确定每个所述匹配结果数据所对应的所述泛化对象信息;

根据各个所述泛化对象信息得到多个所述语句应用领域信息。

进一步优选的,所述确定每个所述语句应用领域信息对应领域类别的优先级信息具体为:

确定每个所述语句应用领域信息的领域类别信息,并确定每个领域类别信息是否为最高级;

当所述领域类别信息不为最高级时,根据类别规则树确定当前语句应用领域信息的最高级领域类别信息,用以语义处理系统根据所述最高级领域类别信息确定每个对应领域类别的优先级信息;

进一步优选的,在所述确定每个所述语句应用领域信息对应领域类别的优先级信息之前,所述方法还包括:

获取用户的使用习惯数据;

根据所述使用习惯数据设置所述最高级领域类别信息的领域类别的优先级信息。

进一步优选的,所述输出所述优先级信息最高的语义匹配结果数据具体为:

将所述优先级信息最高的语义匹配结果数据封装入所述语义处理系统中的输出队列的末尾;

所述轮询器监听所述输出队列的数据插入,从所述输出队列中获取所述输入队列末尾的最高的语义匹配结果数据,并输出。

进一步优选的,在所述从所述输入队列中获取所述输入队列末尾的语句文字数据之后所述方法还包括:

所述语义处理系统中的处理器记录所述轮询器从所述输入队列中获取所述输入队列末尾的语句文字数据的第一时间,并监测系统时间;

根据所述第一时间和所述系统时间得到语义处理时间;

当所述处理器监测到所述语义处理时间是否大于预设时间时,输出反馈语句。

本发明实施例提供的基于语义领域划分的智能语义匹配方法,根据语句应用领域信息确定语义匹配结果的优先级,使得当匹配到多个语义匹配结果时,可以根据优先级输出相应的最终匹配结果,通过此方法确定最终语义匹配结果的过程快速且准确,并也使得最终语义匹配结果更加符合语句的使用领域。

附图说明

图1为本发明实施例提供的基于语义领域划分的智能语义匹配方法的流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明实施例提供的一种基于语义领域划分的智能语义匹配方法,用于语义处理系统根据使用者输入的内容从多个匹配结果中选择并输出最优的反馈内容。其方法流程图如图1所示,包括如下步骤:

步骤101,语义处理系统接收语句数据,得到当前语句文字数据;

具体的,语义处理系统可以理解为一个具有语句输入、处理和输出功能的系统。语义处理系统包括语音转换器、输入队列、轮询器和处理器。当语义处理系统启动时,系统输出页面中配置的监听器被启动,该监听器会加载用于语音服务的配置文件、域(domain)类以及domain对应的用户配置文件、语义处理系统特定情况的输出语句,同时启动语音转换器、输入队列、轮询器和处理器。

语句数据包括语句语音数据和语句文字数据。也就是说,用户可以通过语音或文字的方式向系统输入语句数据。语音转换器接收语句数据,对语句数据中的语句语音数据进行识别,得到语句语音数据的语句文字数据,并将语句语音数据的语句文字数据或直接将用户输入的语句文字数据插入语义处理系统的输入队列的末尾。

轮询器会一直监听输入队列是否有新的消息,也就是监听是否有语句文字数据进入队列,并从输入队列中获取输入队列末尾的语句文字数据,从而得到当前语句文字数据。

步骤102,对当前语句文字数据进行句式泛化处理,提取语句文字数据中的固定语信息和泛化对象信息;

具体的,在轮询器获取到当前语句文字数据后,轮询器将当前语句文字数据发送至处理器。处理器根据语法规则树对语句文字数据进行句式泛化处理,提取语句文字数据中的固定语信息和泛化对象信息。句式泛化处理可以理解为根据语法规则树通过一个语句扩展到多种语句的表达形式,并提取语句中关键要素的过程。在这个过程中,提取出语句中关键要素包括固定语信息和泛化对象信息。例如,在一个“我想去电影院”的句子中,“我想去”是固定语信息,是句式的一部分,“电影院”是泛化对象信息;再如,在一个“我想买电影票”的句子中,“我想买”是固定语信息,“电影票”是泛化对象信息。

在一个具体的例子中,用户通过语音输入了“我想去电影院”的语句语音数据,语音转化器对该语句语音数据进行语音识别处理,得到了“我想去电影院”的语句文字数据。然后语义处理系统中的处理器先识别到“去”,然后进一步向前识别到“想去”进而识别到“我想去……”的句式,并根据预设的语法规则树中“去”-“想去”-“我想去”的句式,提取语句文字数据中的固定语信息“去”,以及“我想去”之后的词语“电影院”作为泛化对象信息。

可以理解的是,一个语句文字数据可能对应一个固定语信息和一个泛化对象信息,也可能对应多个固定语信息和多个泛化对象信息,但在一个正常的语句文字数据中,每个固定语信息应至少对应有一个泛化对象信息。

在一个具体的例子中,用户通过语音输入了“我想买电影票并想去电影院看电影”的语句文字数据,语义处理系统中的处理模块提取到“我想买”和“想去”两个固定语信息,且固定语信息“我想买”所对应的泛化对象信息“电影票”,固定语信息“想去”所对应的泛化对象信息“电影院”。

在一些优选的实施例中,语法规则树也可以是经过模型训练得到的。进一步具体的,语义处理系统采集多个历史语句文字数据作为样本,并对多个历史语句文字数据进行训练,得到句式解析模型,根据句式解析模型得到语法规则树,从而根据语法规则树对语句文字数据进行句式泛化处理。

步骤103,根据固定语信息和泛化对象信息得到语义匹配结果数据;

具体的,处理器首先根据固定语句信息确定语句文字数据对应的场景数据。每个固定语句信息都可对应到一个场景数据。这里,每个场景数据都可以理解为一个独立的用户行为场景。

在一个具体的例子中,从一个语句文字数据中提取出的固定语句信息为多个。例如,用户输入的语句文字数据为“我想买电影票并想去电影院看电影”,则根据自然语言可以理解该用户的目的包括买电影票和看电影两个,因此,该语句文字数据同样对应有两个语句场景。则语义处理系统提取该语句文字数据的固定语句信息为“我想买”和“想去”,然后确定固定语句信息“我想买”所对应的场景数据为用户想要买某样物品的场景,确定固定语句信息“想去”所对应的场景数据为用户想去到某地的场景。

同时,处理器在兴趣点库中匹配与泛化对象信息相对应的兴趣点数据,根据匹配结果得到语句文字数据的校验值。兴趣点库可以理解为用户设置的、当前语义处理系统中的、用于存储兴趣点与泛化对象的匹配关系的数据库。兴趣点库中的兴趣点数据可以是用户根据需要设置的。如果在兴趣点库中匹配到了与泛化对象信息相对应的兴趣点数据时,处理器根据该兴趣点数据得到语句文字数据的校验值。如果当在兴趣点库中匹配不到与当前泛化对象信息相对应的兴趣点数据时,则处理器根据外接接口连接外接数据库,并在外接数据库匹配与泛化对象信息相对应的兴趣点数据,作为语句文字数据的校验值。

在一些优选的实施例中,在兴趣点库中匹配与泛化对象信息相对应的兴趣点数据时,需要获取从数据源中获取位置数据作为匹配条件,并根据匹配条件进行兴趣点数据的匹配。也就是说,在处理器匹配泛化对象信息相对应的兴趣点数据时,需要获取用户当前的位置信息,并将当前的位置信息作为匹配条件,筛选与匹配条件相符的兴趣点数据。

在一个具体的例子中,兴趣点库存储的内容包括:泛化对象信息“电影”对应的兴趣点数据包括“位置为x的电影院a”和“位置为y的电影院b”。用户输入的语句数据为“我想看电影”,语句数据中的泛化对象信息为“电影”,且语义处理系统中的匹配条件为“筛选距离用户3公里内的兴趣点”。则处理器根据“电影”在兴趣点库中确定相应的兴趣点数据为“电影院a”和“电影院b”,但根据用户当前的位置信息以及“电影院a”和“电影院b”的位置信息,确定“电影院a”均不符合“筛选距离用户3公里内的兴趣点”的匹配条件但“电影院b”符合,则“位置为y的电影院b”为语句数据的校验值。

可以理解的是,如果提取到的泛化对象信息为多个,则需要在兴趣点库中匹配每一个泛化对象信息相对应的兴趣点数据,得到每一个泛化对象的匹配结果,也就是会多得到多个语句数据的校验值。

最后,处理器将语句数据的校验值带入场景数据的数据集中,得到语义匹配结果。语义匹配结果可以是语义处理系统自身中的匹配结果,也可以是语义处理系统打开其他应用程序后显示的匹配结果。例如,语义匹配结果可以是语义处理系统自身中“导航到位置为z的电影院c”的输出结果,再如,语义匹配结果也可以是“打开某团购应用程序”的输出结果。

可以理解的是,如果对语句数据进行句式泛化处理后得到的固定语信息和泛化对象信息为多个,则根据固定语信息和泛化对象信息所得到的语义匹配结果数据也为多个。

步骤104,当语义匹配结果数据为多个时,确定各个语义匹配结果数据所对应的语句应用领域信息;

具体的,语句应用领域信息可以理解为独立的应用领域,例如“生活周边”领域、“笑话故事”领域、“听歌”领域、“健康”领域、“购票”领域等。相对于每个固定语信息对应一个场景数据,每个泛化对象信息也对应一个语句应用领域信息。例如,一个“我想去电影院”的语句数据,其中,固定语信息“我想去”对应一个用户想去到某地的场景数据,泛化对象信息“电影院”对应一个“生活周边”的语句应用领域信息。

当语义匹配结果数据为多个时,处理器根据各个语义匹配结果数据所对应的泛化对象信息,确定与该泛化对象信息相对应的语句应用领域信息,从而将语句应用领域信息作为语义匹配结果数据的语句应用领域信息。

可以理解的是,当从语句文字数据中提取到泛化对象信息为多个时,根据泛化对象信息确定相应的语句应用领域信息为多个,则语义匹配结果数据相对应的语句应用领域信息为多个。

步骤105,确定各个语句应用领域信息的领域类别信息;

具体的,处理器确定每个语句应用领域信息的领域类别信息,并确定每个领域类别信息是否为最高级别。领域类别信息可以理解为当前语句应用领域信息的级别。用户可以根据需要设置每个语句应用领域信息的领域类别信息。当领域类别信息不为最高级别时,则需根据类别规则树确定语句应用领域信息的最高级别的领域类别信息,用以确定最高级别的领域类别信息的优先级信息。

优选的,优先级信息可以是根据用户的使用习惯得到的。首先,处理器先获取用户的使用习惯数据,然后根据使用习惯数据设置最高级领域类别信息的领域类别的优先级信息。

在一个具体的例子中,“购买电影票”和“去电影院”是两个不同的语句应用领域信息,其相应的领域类别信息分别为“2a”和“2b”,“2a”的领域类别信息代表了“a类第二级”,“2b”的领域类别信息代表了“b类第二级”。则语义处理系统查询到领域类别信息“2a”所对应的最高级别领域类别信息“1a”,“1a”代表“购物”领域,领域类别信息“2b”所对应的最高级别领域类别信息“1b”,“1b”代表“生活周边”领域。则语义处理系统确定当前领域类别信息跟别为“1a”和“1b”。

步骤106,确定优先级信息最高的语句应用领域信息;

具体的,每个最高级别的领域类别信息都对应一个优先级信息。优先级信息可以是业务员根据需要设置的,也可以是语义处理系统根据历史语句应用领域信息与使用者根据语句应用领域信息所执行的行为指令训练得到的。

当语义处理系统所得到的最高级别的语句应用领域信息为多个时,根据最高级别的语句应用领域信息的优先级信息确定优先级信息最高的语句应用领域信息。

在一个具体的例子中,“1a”代表“购物”领域,“1b”代表“生活周边”领域。语义处理系统确定当前领域类别信息分别为“1a”和“1b”。根据用户设置“购物”领域的优先级要高于“生活周边”领域的优先级,也就是“1a”的优先级要高于“1b”,则语义处理系统确定优先级信息最高的语句应用领域信息为“1a”,也就是“购物”领域。

步骤107,输出优先级信息最高的语句应用领域信息所对应的语义匹配结果数据;

具体的,语义处理系统将优先级信息最高的语句应用领域信息所对应的语义匹配结果数据作为最终匹配结果输出并显示给使用者。

在一个具体的例子中,语义处理系统确定优先级信息最高的语句应用领域信息为“1a”,也就是“购物”领域,则应用领域信息所对应“购物”领域的语义匹配结果数据“打开某团购应用程序”作为最终匹配结果输出。

进一步具体的,输出语义匹配结果数据时,语义处理系统中的处理器将语义匹配结果数据封装入语义处理系统中的输出队列的末尾。轮询器监听输出队列的数据插入,从输出队列中获取输入队列末尾的语义匹配结果数据,并输出。由于从语句文字数据中提取到的泛化对象信息的个数为一个或多个,当语义匹配结果数据为多个时,处理器根据各个语义匹配结果数据对应的领域优先级确定最优的语义匹配结果数据,并输出。

在一些优选的实施例中,处理器在匹配语句文字数据的语义时,首先会记录轮询器从输入队列中获取输入队列末尾的语句文字数据的第一时间,并监测系统时间,根据第一时间和系统时间得到语义处理时间,语义处理时间可以理解为处理器根据计算得到的语义处理系统处理当前语句文字数据的时间。当处理器监测到语义处理时间大于预设时间时,处理器输出反馈语句。预设时间可以是用户根据需要设置的允许等待语义匹配结果的最大时间。当处理器监测到语义处理时间大于预设时间时,说明语义处理系统处理当前语句文字数据的时间已超过允许等待语义匹配结果的最大时间,则处理器输出例如“我需要更多信息”的反馈语句,用以向用户反馈当前语义匹配过程超时。

本发明实施例提供的基于语义领域划分的智能语义匹配方法,根据语句应用领域信息确定语义匹配结果的优先级,使得当匹配到多个语义匹配结果时,可以根据优先级输出相应的最终匹配结果,通过此方法确定最终语义匹配结果的过程快速且准确,并也使得最终语义匹配结果更加符合语句的使用领域。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、用户终端执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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