CN111460816A - 基于语义特征的数据检索方法、电子装置及存储介质 - Google Patents
基于语义特征的数据检索方法、电子装置及存储介质 Download PDFInfo
- Publication number
- CN111460816A CN111460816A CN202010235255.1A CN202010235255A CN111460816A CN 111460816 A CN111460816 A CN 111460816A CN 202010235255 A CN202010235255 A CN 202010235255A CN 111460816 A CN111460816 A CN 111460816A
- Authority
- CN
- China
- Prior art keywords
- word
- question
- preset
- vector
- user
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于语义特征的数据检索方法,应用于电子装置,该方法包括创建问答资料库,当接收到用户问题数据时,将用户问题数据进行处理得到第四词语组成的第三词集,将用户问题数据输入滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取平均值最大的词向量作为用户问题数据的第一句向量,同时将问答资料库中每个预设问题数据转化成对应的第二句向量,利用第一句向量及所有第二句向量,选取出与用户问题数据相似度最高的问题,并从问答资料库中找到与该问题对应的预设答案反馈给用户。本发明能够选取出表达意思更符合用户提出的问题的历史问题,得到更加准确合理的答案。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于语义特征的数据检索方法、电子装置及存储介质。
背景技术
随着计算机技术、人工智能的快速发展,智能问答系统给生活带来了极大的便利。通过用户提出的问题从预先创建好的问答库中找到匹配度最高的问题答案再反馈给用户,代替了人工,减少了人工成本。但是目前大多数智能问答系统只是简单地对比用户提出的问题与问答库中的历史问题之间的相似性,然后选取出相似度最高的一个历史问题对应的问题答案反馈给用户,利用该方式仅仅利用的是问题包含的词语的字面特征,忽略了词语的语义特征信息,导致选取出的历史问题即使相似度高,但是不一定是表达意思接近。
因此如何基于问题词语的语义特征信息,选取出表达意思更符合用户提出的问题的历史问题,从而得到更加准确合理的答案成为了亟需解决的技术问题。
发明内容
本发明的主要目的在于提供一种基于语义特征的数据检索方法、电子装置及存储介质,旨在如何基于问题词语的语义特征信息,选取出表达意思更符合用户提出的问题的历史问题,从而得到更加准确合理的答案的问题。
为实现上述目的,本发明提供的一种基于语义特征的数据检索方法,应用于电子装置,该方法包括:
第一创建步骤:创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库;
第二创建步骤:创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库;
答疑处理步骤:接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量;及
反馈步骤:将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
优选地,所述第一创建步骤还包括:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
优选地,所述对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
优选地,所述相似度算法为余弦相似度算法:
其中,A表示第一词向量,B表示第三词向量,θ表示A与B之间的夹角。
优选地,该方法还包括收集步骤:
生成用户评价界面供用户对所述发送的问题数据进行评价,并收集用户反馈的意见建立评价记录表存储至数据库。
为实现上述目的,本发明还进一步提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有基于语义特征的数据检索程序,所述基于语义特征的数据检索程序被所述处理器执行时实现如下步骤:
第一创建步骤:创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库;
第二创建步骤:创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库;
答疑处理步骤:接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量;及
反馈步骤:将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
优选地,所述第一创建步骤还包括:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
优选地,所述对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
优选地,所述相似度算法为余弦相似度算法:
其中,A表示第一词向量,B表示第三词向量,θ表示A与B之间的夹角。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于语义特征的数据检索程序,所述基于语义特征的数据检索程序可被一个或者多个处理器执行,以实现如上所述的基于语义特征的数据检索方法的步骤。
本发明提出的基于语义特征的数据检索方法、电子装置及存储介质,通过创建问答资料库,当接收到用户问题数据时,将用户问题数据进行拆词处理得到第四词语组成的第三词集,从数据库中找到第四词语对应的第四词向量,将用户问题数据输入滑动窗口模型,依次滑动窗口并对窗口内并排的第四词语对应的第四词向量进行求和平均计算得到平均值,选取平均值最大者的词向量作为用户问题数据的第一句向量,同时将问答资料库中每个预设问题数据转化成对应的第二句向量,利用第一句向量及所有第二句向量,选取出与用户问题数据相似度最高的问题,并从问答资料库中找到与该问题对应的预设答案反馈给用户。本发明能够选取出表达意思更符合用户提出的问题的历史问题,得到更加准确合理的答案。
附图说明
图1为本发明电子装置较佳实施例的应用环境图;
图2为图1中基于语义特征的数据检索程序较佳实施例的程序模块示意图;
图3为本发明基于语义特征的数据检索方法较佳实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。
具体实施方式
为了使本发明的目的、技术本实施例及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术本实施例可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术本实施例的结合出现相互矛盾或无法实现时应当认为这种技术本实施例的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种电子装置1。
所述电子装置1包括,但不仅限于,存储器11、处理器12及网络接口13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如该电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如基于语义特征的数据检索程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于语义特征的数据检索程序10等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置与其他电子设备之间建立通信连接。
客户端可以是桌上型计算机、笔记本、平板电脑、手机等。
网络可以为互联网、云网络、无线保真(Wi-Fi)网络、个人网(PAN)、局域网(LAN)和/或城域网(MAN)。网络环境中的各种设备可以被配置为根据各种有线和无线通信协议连接到通信网络。这样的有线和无线通信协议的例子可以包括但不限于以下中的至少一个:传输控制协议和互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、文件传输协议(FTP)、ZigBee、EDGE、IEEE 802.11、光保真(Li-Fi)、802.16、IEEE 802.11s、IEEE 802.11g、多跳通信、无线接入点(AP)、设备对设备通信、蜂窝通信协议和/或蓝牙(BlueTooth)通信协议或其组合。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
图1仅示出了具有组件11-13以及基于语义特征的数据检索程序10的电子装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在本实施例中,图1的基于语义特征的数据检索程序10被处理器12执行时,实现以下步骤:
第一创建步骤:创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库;
第二创建步骤:创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库;
答疑处理步骤:接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量;及
反馈步骤:将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
在另一实施例中,该程序还包括执行以下步骤:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
在另一实施例中,该程序还包括执行以下步骤:
生成用户评价界面供用户对所述发送的问题数据进行评价,并收集用户反馈的意见建立评价记录表存储至数据库。
关于上述步骤的详细介绍,请参照下述图2关于基于语义特征的数据检索程序10实施例的程序模块示意图及图3关于基于语义特征的数据检索方法实施例的方法流程示意图的说明。
参照图2所示,为图1中基于语义特征的数据检索程序10实施例的程序模块示意图。基于语义特征的数据检索程序10被分割为多个模块,该多个模块存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
在本实施例中,所述基于语义特征的数据检索程序10包括第一创建模块110、第二建立模块120、答案处理模块130及反馈模块140。
第一创建模块110,用于创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库。
在本实施例中,预先创建问答资料库,其中,预设问题数据及对应的预设答案的数量需要尽可能地多,以提高后续匹配用户问题数据的准确性。创建好问答资料库后,对问答资料库中的预设问题数据进行拆词处理得到由第一词语构成的第一词集,例如预设问题数据可以是“小孩买什么保险好”,将该预设问题数据进行拆词处理后得到第一词语构成的第一词集:[“小孩”、“买”、“什么”、“保险”、“好”],之后利用Fasttext、Word2vec等词向量转换模型将第一词集中每个第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库。
在另一实施例中,该程序还执行以下步骤:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
在本实施例中,为了使后续创建的数据库中第一词向量的噪声尽可能小、纯度尽可能高,同时减少数据库中数据的占用率,在创建第一词集之后剔除预先确定的无语义词语,即,通过识别出第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。例如,基于上述举例的第一文本片段,无语义词语包括“啊、呢”等一些停用词。
在另一实施例中,对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
为了避免电子装置1在对预设问题数据进行拆词的过程中出现拆词错误,导致生成的词向量在后续与用户问题数据匹配时出现错误,影响匹配的准确性的情况发生,因此,在本实施例中,通过加载预先确定好的黏词词典和切词词典(黏词词典和切词词典包含了自定义的词语),再调用jieba函数对预设问题数据进行拆词处理,对出现分词错误的第一词语进行强制黏词和强制切词等操作,以对结果进行纠正。例如,“理赔款”常规的分词结果为[“理“、”赔款“],“金生相伴”分词的结果为[“金”、“生”、“相伴”],通过加载预先确定好的黏词词典和切词词典能够自动纠正分词错误的情况,将“理“、”赔款“纠正为“理赔款”,将“金”、“生”、“相伴”纠正为“金生相伴”。
第二创建模块120,用于创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库。
在本实施例中,当用户提问的问题包含的一些词语在数据库中匹配不到对应的词向量时,这些词语会在检索过程中被跳过,当被跳过的词语为关键词语时,会造成数据匹配精度下降从而影响检索结果的准确性。因此,在本实施例中,为了补充第一词语中未能涵盖的词语(又称未登录词,即没有被收录在分词词表中但必须切分出来的词),包括各类专有名词(例如人名、地名、企业名等)、缩写词、新增词汇等等,因此创建第二词集。所述第二词集包括第二词语为与第一词语关联的未登录词,其与第一词语属于相同领域,对第二词集中的每个第二词语进行词向量转化处理得到对应的第二词向量,利用预先确定的相似度算法计算各个第二词向量与预设词向量词典(该预设词向量词典涵盖了中文绝大部分的字词标点符号等)中各个第三词向量之间的相似度值。之后,从预设词向量词典中选取出相似度值大于或等于第一预设阈值(例如0.8)对应的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库,作为对第一词向量的补充。例如,第二词语“演员”经上述处理后从预设词向量词典中可得出对应的第三词语:[“影视剧”、“演员们”、...]。
所述相似度算法为余弦相似度算法:
其中,A表示第一词向量,B表示第三词向量,θ表示A与B之间的夹角。
答案处理模块130,用于接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量。
在本实施例中,当电子装置1接收到用户发出的答疑请求后,对答疑请求进行解析得到用户问题数据,例如“给宝宝买什么保险比较好?”,将得到的用户问题数据进行拆词处理得到由第四词语组成的第三词集:[“给”、“宝宝”、“买”、“什么”、“保险”、“比较”、“好”],将每个第四词语从数据库中找到对应的第四词向量,基于得到的第四词向量构建用户问题数据的第一句向量,用于后续计算用户问题数据与预设问题数据之间的相似度值。目前大多数句向量是通过对词向量进行简单的加和、求平均运算得到,如下式(1)所示,一个句子中词语的个数为L,每个词的词向量维度一定(如每个词向量维度为N),那么最终得到的句子向量也是N维,而每一个维度上值的计算是通过对L个词该维度的值加和除以L得到。
其中,Z表示句向量的维度值,vi表示词向量的维度值。
由于该句向量求法是通过对句中所有词向量的各个维度值进行加和求平均,最终得到句子向量的各个维度值。整个句子的语义特征只是将词语信息(词向量的表达)简单地糅合在了一起,词与词之间以及词先后排列的信息没有体现出来,即没有保留句子内部的词序信息,句子中一些重要的信息也没有表达出来,例如一句话中通常存在至少一个词语是关键词语,在进行句子语义表达时应更多地关注这样的词语,从而提高预设问题数据匹配的准确性,得到的预设问题数据也更加客观。
因此,在本实施例中,将用户问题数据输入预先确定好窗口长度(例如能够容纳两个词语的大小)的滑动窗口模型中,依次滑动窗口并对窗口内至少两个并排的第四词语对应的第四词向量进行求和平均计算能够保留句子中词与词之间的信息,以及词先后顺序的信息。之后选取平均值最大者作为用户问题数据的第一句向量,能够在最大程度上体现用户问题数据的语义特征。最终,在保留句子内部词序信息以及语义突出信息的前提下,通过简单的代数级别计算得到句子级别语义特征,而不需要学习训练大量的参数变量。
例如,对于用户问题数据“给宝宝买什么保险比较好?”,通过拆词处理后得到第三词集:[“给”、“宝宝”、“买”、“什么”、“保险”、“比较”、“好”],采用滑动窗口求平均的方式,假设窗口大小设定为n(以n=2为例),每个词语对应的词向量为v1,v2,...,v7,则在时刻i需要求滑动窗口中所有词向量的均值,即窗口内所有词对应的向量每个维度作加和求平均,然后依次滑动窗口,得到每个窗口内词语的词向量均值,具体求平均的方式与式子(1)一致。假设得到L个向量均值,然后对这L个向量均值做max-pooling,即求最大值,max-pooling的操作可以提取出用户问题数据中信息量大的词语信息,最终结果作为用户问题数据的句向量。
反馈模块140,用于将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
在本实施例中,在得出用户问题数据的第一句向量后,同样地,将问答资料库中每个预设问题数据分别输入滑动窗口,得出每个预设问题数据的第二句向量,具体步骤可参上述处理步骤,在此不做赘述。之后利用预先确定的搜索算法从所有第二句向量中筛选出相似度大于或等于第二预设阈值(例如0.9)的第二句向量,判断该筛选出的第二句向量对应的预设问题数据为与用户问题数据相似度最高的问题,并从问答资料库中找到与该预设问题对应的预设答案反馈给用户。
其中,所述搜索算法为最近邻搜索算法(Approximate Nearest Neighbor,ANN),该算法能够提高从所有第二句向量中查找到相似度最高的一个第二句向量的速度,平均速度为0.2ms。
在另一实施例中,该程序还执行收集模块,用于:
生成用户评价界面供用户对所述发送的问题数据进行评价,并收集用户反馈的意见建立评价记录表存储至数据库。
在本实施例中,通过生成用户评价界面供用户对电子装置1发送的预设答案进行评价(满意或者不满意),并收集用户反馈的意见建立评价记录表存储至数据库。
此外,本发明还提供一种基于语义特征的数据检索方法。参照图3所示,为本发明基于语义特征的数据检索方法的实施例的方法流程示意图。电子装置1的处理器12执行存储器11中存储的基于语义特征的数据检索程序10时实现基于语义特征的数据检索方法的如下步骤:
S110,创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库。
在本实施例中,预先创建问答资料库,其中,预设问题数据及对应的预设答案的数量需要尽可能地多,以提高后续匹配用户问题数据的准确性。创建好问答资料库后,对问答资料库中的预设问题数据进行拆词处理得到由第一词语构成的第一词集,例如预设问题数据可以是“小孩买什么保险好”,将该预设问题数据进行拆词处理后得到第一词语构成的第一词集:[“小孩”、“买”、“什么”、“保险”、“好”],之后利用Fasttext、Word2vec等词向量转换模型将第一词集中每个第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库。
在另一实施例中,该方法还包括以下步骤:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
在本实施例中,为了使后续创建的数据库中第一词向量的噪声尽可能小、纯度尽可能高,同时减少数据库中数据的占用率,在创建第一词集之后剔除预先确定的无语义词语,即,通过识别出第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。例如,基于上述举例的第一文本片段,无语义词语包括“啊、呢”等一些停用词。
在另一实施例中,对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
为了避免电子装置1在对预设问题数据进行拆词的过程中出现拆词错误,导致生成的词向量在后续与用户问题数据匹配时出现错误,影响匹配的准确性的情况发生,因此,在本实施例中,通过加载预先确定好的黏词词典和切词词典(黏词词典和切词词典包含了自定义的词语),再调用jieba函数对预设问题数据进行拆词处理,对出现分词错误的第一词语进行强制黏词和强制切词等操作,以对结果进行纠正。例如,“理赔款”常规的分词结果为[“理“、”赔款“],“金生相伴”分词的结果为[“金”、“生”、“相伴”],通过加载预先确定好的黏词词典和切词词典能够自动纠正分词错误的情况,将“理“、”赔款“纠正为“理赔款”,将“金”、“生”、“相伴”纠正为“金生相伴”。
S120,创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库。
在本实施例中,当用户提问的问题包含的一些词语在数据库中匹配不到对应的词向量时,这些词语会在检索过程中被跳过,当被跳过的词语为关键词语时,会造成数据匹配精度下降从而影响检索结果的准确性。因此,在本实施例中,为了补充第一词语中未能涵盖的词语(又称未登录词,即没有被收录在分词词表中但必须切分出来的词),包括各类专有名词(例如人名、地名、企业名等)、缩写词、新增词汇等等,因此创建第二词集。所述第二词集包括第二词语为与第一词语关联的未登录词,其与第一词语属于相同领域,对第二词集中的每个第二词语进行词向量转化处理得到对应的第二词向量,利用预先确定的相似度算法计算各个第二词向量与预设词向量词典(该预设词向量词典涵盖了中文绝大部分的字词标点符号等)中各个第三词向量之间的相似度值。之后,从预设词向量词典中选取出相似度值大于或等于第一预设阈值(例如0.8)对应的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库,作为对第一词向量的补充。例如,第二词语“演员”经上述处理后从预设词向量词典中可得出对应的第三词语:[“影视剧”、“演员们”、...]。
所述相似度算法为余弦相似度算法:
其中,A表示第一词向量,B表示第三词向量,θ表示A与B之间的夹角。
S130,接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量。
在本实施例中,当电子装置1接收到用户发出的答疑请求后,对答疑请求进行解析得到用户问题数据,例如“给宝宝买什么保险比较好?”,将得到的用户问题数据进行拆词处理得到由第四词语组成的第三词集:[“给”、“宝宝”、“买”、“什么”、“保险”、“比较”、“好”],将每个第四词语从数据库中找到对应的第四词向量,基于得到的第四词向量构建用户问题数据的第一句向量,用于后续计算用户问题数据与预设问题数据之间的相似度值。目前大多数句向量是通过对词向量进行简单的加和、求平均运算得到,如下式(1)所示,一个句子中词语的个数为L,每个词的词向量维度一定(如每个词向量维度为N),那么最终得到的句子向量也是N维,而每一个维度上值的计算是通过对L个词该维度的值加和除以L得到。
其中,Z表示句向量的维度值,vi表示词向量的维度值。
由于该句向量求法是通过对句中所有词向量的各个维度值进行加和求平均,最终得到句子向量的各个维度值。整个句子的语义特征只是将词语信息(词向量的表达)简单地糅合在了一起,词与词之间以及词先后排列的信息没有体现出来,即没有保留句子内部的词序信息,句子中一些重要的信息也没有表达出来,例如一句话中通常存在至少一个词语是关键词语,在进行句子语义表达时应更多地关注这样的词语,从而提高预设问题数据匹配的准确性,得到的预设问题数据也更加客观。
因此,在本实施例中,将用户问题数据输入预先确定好窗口长度(例如能够容纳两个词语的大小)的滑动窗口模型中,依次滑动窗口并对窗口内至少两个并排的第四词语对应的第四词向量进行求和平均计算能够保留句子中词与词之间的信息,以及词先后顺序的信息。之后选取平均值最大者作为用户问题数据的第一句向量,能够在最大程度上体现用户问题数据的语义特征。最终,在保留句子内部词序信息以及语义突出信息的前提下,通过简单的代数级别计算得到句子级别语义特征,而不需要学习训练大量的参数变量。
例如,对于用户问题数据“给宝宝买什么保险比较好?”,通过拆词处理后得到第三词集:[“给”、“宝宝”、“买”、“什么”、“保险”、“比较”、“好”],采用滑动窗口求平均的方式,假设窗口大小设定为n(以n=2为例),每个词语对应的词向量为v1,v2,...,v7,则在时刻i需要求滑动窗口中所有词向量的均值,即窗口内所有词对应的向量每个维度作加和求平均,然后依次滑动窗口,得到每个窗口内词语的词向量均值,具体求平均的方式与式子(1)一致。假设得到L个向量均值,然后对这L个向量均值做max-pooling,即求最大值,max-pooling的操作可以提取出用户问题数据中信息量大的词语信息,最终结果作为用户问题数据的句向量。
S140,将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
在本实施例中,在得出用户问题数据的第一句向量后,同样地,将问答资料库中每个预设问题数据分别输入滑动窗口,得出每个预设问题数据的第二句向量,具体步骤可参上述处理步骤,在此不做赘述。之后利用预先确定的搜索算法从所有第二句向量中筛选出相似度大于或等于第二预设阈值(例如0.9)的第二句向量,判断该筛选出的第二句向量对应的预设问题数据为与用户问题数据相似度最高的问题,并从问答资料库中找到与该预设问题对应的预设答案反馈给用户。
其中,所述搜索算法为最近邻搜索算法(Approximate Nearest Neighbor,ANN),该算法能够提高从所有第二句向量中查找到相似度最高的一个第二句向量的速度,平均速度为0.2ms。
在另一实施例中,该方法还包括以下步骤:
生成用户评价界面供用户对所述发送的问题数据进行评价,并收集用户反馈的意见建立评价记录表存储至数据库。
在本实施例中,通过生成用户评价界面供用户对电子装置1发送的预设答案进行评价(满意或者不满意),并收集用户反馈的意见建立评价记录表存储至数据库。
此外,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等中的任意一种或者几种的任意组合。计算机可读存储介质中包括基于语义特征的数据检索程序10,本发明之计算机可读存储介质的具体实施方式与上述基于语义特征的数据检索方法以及电子装置1的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序日仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序日仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术本实施例本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于语义特征的数据检索方法,应用于电子装置,其特征在于,该方法包括:
第一创建步骤:创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库;
第二创建步骤:创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库;
答疑处理步骤:接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量;及
反馈步骤:将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
2.如权利要求1所述的基于语义特征的数据检索方法,其特征在于,所述第一创建步骤还包括:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
3.如权利要求1所述的基于语义特征的数据检索方法,其特征在于,所述对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
5.如权利要求1-4任一项所述的基于语义特征的数据检索方法,其特征在于,该方法还包括收集步骤:
生成用户评价界面供用户对所述发送的问题数据进行评价,并收集用户反馈的意见建立评价记录表存储至数据库。
6.一种电子装置,其特征在于,所述电子装置包括存储器和处理器,所述存储器上存储有基于语义特征的数据检索程序,所述基于语义特征的数据检索程序被所述处理器执行时实现如下步骤:
第一创建步骤:创建问答资料库,所述问答资料库包括预设问题及其匹配的预设答案,对所述预设问题进行拆词处理得到由第一词语组成的第一词集,对每个所述第一词语进行词向量转化处理得到对应的第一词向量,并存储至数据库;
第二创建步骤:创建第二词集,所述第二词集包括与第一词语关联的第二词语,对所述第二词语进行词向量转化得到第二词向量,计算各个第二词向量与词向量词典中各个第三词向量之间的相似度值,筛选出相似度值大于或等于第一预设阈值的第三词向量,并将所述第二词向量及第三词向量合并至所述数据库;
答疑处理步骤:接收用户发出的答疑请求,解析所述答疑请求得到用户问题,对所述用户问题进行拆词处理得到第四词语组成的第三词集,从所述数据库中查找出每个第四词语对应的第四词向量,将所述用户问题输入预先确定好窗口长度的滑动窗口模型,依次滑动窗口并计算窗口内至少两个并排的所述第四词向量的平均值,选取所述平均值最大的词向量作为所述用户问题的第一句向量;及
反馈步骤:将所述问答资料库中的每个预设问题分别输入所述滑动窗口模型输出每个预设问题的第二句向量,利用预设搜索算法从所有第二句向量中筛选出与所述第一句向量相似度大于或等于第二预设阈值的第二句向量,以该第二句向量对应的预设问题作为与所述用户问题相似度最高的问题,并从所述问答资料库中查找出与该预设问题匹配的预设答案反馈给所述用户。
7.如权利要求6所述的电子装置,其特征在于,所述第一创建步骤还包括:
识别出所述第一词集中预先确定的无语义词语,并将所述识别出的无语义词语从第一词集中删除。
8.如权利要求7所述的电子装置,其特征在于,所述对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集包括:
加载预先确定的黏词词典及切词词典,调用jieba函数对所述预设问题数据进行拆词处理得到由第一词语组成的第一词集。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于语义特征的数据检索程序,所述基于语义特征的数据检索程序可被一个或者多个处理器执行,以实现如权利要求1-5中任一项所述的基于语义特征的数据检索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235255.1A CN111460816B (zh) | 2020-03-30 | 2020-03-30 | 基于语义特征的数据检索方法、电子装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010235255.1A CN111460816B (zh) | 2020-03-30 | 2020-03-30 | 基于语义特征的数据检索方法、电子装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460816A true CN111460816A (zh) | 2020-07-28 |
CN111460816B CN111460816B (zh) | 2023-03-31 |
Family
ID=71679807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010235255.1A Active CN111460816B (zh) | 2020-03-30 | 2020-03-30 | 基于语义特征的数据检索方法、电子装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460816B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113257060A (zh) * | 2021-05-13 | 2021-08-13 | 张予立 | 一种答疑解决方法、装置、设备和存储介质 |
CN114386426A (zh) * | 2021-11-25 | 2022-04-22 | 北京容联易通信息技术有限公司 | 一种基于多元语义融合的金牌话术推荐方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977428A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN110442760A (zh) * | 2019-07-24 | 2019-11-12 | 银江股份有限公司 | 一种问答检索系统的同义词挖掘方法及装置 |
WO2020000867A1 (zh) * | 2018-06-28 | 2020-01-02 | 联想(北京)有限公司 | 一种答案提供方法及设备 |
CN110795548A (zh) * | 2019-10-25 | 2020-02-14 | 招商局金融科技有限公司 | 智能问答方法、装置及计算机可读存储介质 |
-
2020
- 2020-03-30 CN CN202010235255.1A patent/CN111460816B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020000867A1 (zh) * | 2018-06-28 | 2020-01-02 | 联想(北京)有限公司 | 一种答案提供方法及设备 |
CN109977428A (zh) * | 2019-03-29 | 2019-07-05 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN110442760A (zh) * | 2019-07-24 | 2019-11-12 | 银江股份有限公司 | 一种问答检索系统的同义词挖掘方法及装置 |
CN110795548A (zh) * | 2019-10-25 | 2020-02-14 | 招商局金融科技有限公司 | 智能问答方法、装置及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113257060A (zh) * | 2021-05-13 | 2021-08-13 | 张予立 | 一种答疑解决方法、装置、设备和存储介质 |
CN114386426A (zh) * | 2021-11-25 | 2022-04-22 | 北京容联易通信息技术有限公司 | 一种基于多元语义融合的金牌话术推荐方法及装置 |
CN114386426B (zh) * | 2021-11-25 | 2023-01-13 | 北京容联易通信息技术有限公司 | 一种基于多元语义融合的金牌话术推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111460816B (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502608B (zh) | 基于知识图谱的人机对话方法及人机对话装置 | |
CN109670163B (zh) | 信息识别方法、信息推荐方法、模板构建方法及计算设备 | |
CN111159346A (zh) | 基于意图识别的智能答疑方法、服务器及存储介质 | |
CN110334272B (zh) | 基于知识图谱的智能问答方法、装置及计算机存储介质 | |
Caicedo et al. | Multimodal representation, indexing, automated annotation and retrieval of image collections via non-negative matrix factorization | |
US9805022B2 (en) | Generation of topic-based language models for an app search engine | |
CN109918487A (zh) | 基于网络百科全书的智能问答方法和系统 | |
CN111368042A (zh) | 智能问答方法、装置、计算机设备及计算机存储介质 | |
US9898464B2 (en) | Information extraction supporting apparatus and method | |
US11755641B2 (en) | Image searches based on word vectors and image vectors | |
CN112287069B (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN111078837A (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN111460816B (zh) | 基于语义特征的数据检索方法、电子装置及存储介质 | |
CN110795548A (zh) | 智能问答方法、装置及计算机可读存储介质 | |
CN110569419A (zh) | 问答系统优化方法、装置、计算机设备及存储介质 | |
CN113127621A (zh) | 对话模块的推送方法、装置、设备及存储介质 | |
CN110727769A (zh) | 语料库生成方法及装置、人机交互处理方法及装置 | |
CN110609958A (zh) | 数据推送方法、装置、电子设备及存储介质 | |
CN116991977B (zh) | 一种基于大语言模型的领域向量知识精准检索方法及装置 | |
CN113869063A (zh) | 数据推荐方法、装置、电子设备及存储介质 | |
CN110555143B (zh) | 题目自动解答方法及计算机存储介质 | |
CN110263134B (zh) | 智能化情感问答方法、装置及计算机可读存储介质 | |
CN110895924B (zh) | 一种文档内容朗读方法、装置、电子设备及可读存储介质 | |
CN115730047A (zh) | 一种智能问答方法、设备、装置及存储介质 | |
CN111310016B (zh) | 标签挖掘方法、装置、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |