CN110321416A - 基于aiml的智能问答方法、装置、计算机设备及存储介质 - Google Patents
基于aiml的智能问答方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110321416A CN110321416A CN201910435063.2A CN201910435063A CN110321416A CN 110321416 A CN110321416 A CN 110321416A CN 201910435063 A CN201910435063 A CN 201910435063A CN 110321416 A CN110321416 A CN 110321416A
- Authority
- CN
- China
- Prior art keywords
- answer
- text
- default
- information
- question
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000011218 segmentation Effects 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000001914 filtration Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 50
- 238000007726 management method Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 210000003813 thumb Anatomy 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 206010016322 Feeling abnormal Diseases 0.000 description 2
- 235000015842 Hesperis Nutrition 0.000 description 2
- 235000012633 Iberis amara Nutrition 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 241000008357 Okapia johnstoni Species 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000002238 attenuated effect Effects 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明揭示了一种基于AIML的智能问答方法、装置、计算机设备及存储介质,方法包括获取用户输入的问题信息,并根据问题信息得到文本信息;将文本信息进行字体转换、符号过滤、中文分词、同义词匹配以及文本替换后,得到多个目标文本;将各个目标文本分别与预设问答文件中的预设问题进行匹配;若目标文本与预设问答文件中的预设问题匹配成功,则获取预设问题对应的第一答案,以将第一答案作为问题信息的答案。解决了现有AIML对中文支持不高的问题,实现提高问题识别率和匹配率。
Description
技术领域
本发明涉及到智能问答机器人技术领域,特别是涉及到基于AIML的智能问答方法、装置、计算机设备及存储介质。
背景技术
AIML(Artificial Intelligence Markup Language,人工智能标记语言)是一种创建自然语言软件代理的XML(eXtensible Markup Language,可扩展标记语言)语言。AIML可以实现用户与问答机器人的交互,但是目前的AIML用于中文对话时存在以下问题:基本没有公开的中文规则库,而规则库相当于对话机器人的“大脑”,一般来说,规则库越丰富,对话机器人的信息处理能力就越像人,则用户与对话机器人的交互体验就越好;AIML解释器对中文支持不好,例如英文输入中会使用空格分隔单词,而中文输入没有以空格分隔的习惯,从而导致问题识别率和匹配率不高。
发明内容
本发明的主要目的为提供一种基于AIML的智能问答方法、装置、计算机设备及存储介质,增加AIML的中文规则库,解决了现有AIML对中文支持不高的问题,实现提高问题识别率和匹配率。
本发明提出一种基于AIML的智能问答方法,包括:
获取用户输入的问题信息,并根据问题信息得到文本信息;
将文本信息中的中文转换为同一中文字体,得到文本信息对应的第一文本,中文字体为中文简体或中文繁体;
根据预设过滤规则,删除第一文本中的指定符号,得到第二文本;
根据预设的中文分词规则,将第二文本进行中文分词,得到第二文本对应的多个第一字段;
将各个第一字段分别进行同义词匹配,得到各个第一字段分别对应的第二字段;
在第二文本中,根据第二字段替换与第二字段对应的第一字段,得到多个目标文本;
将各个目标文本分别与预设问答文件中的预设问题进行匹配,预设问答文件包含预设问题与第一答案的映射关系信息;
若目标文本与预设问答文件中的预设问题匹配成功,则获取预设问题对应的第一答案,以将第一答案作为问题信息的答案。
进一步地,获取用户输入的问题信息,并根据问题信息得到文本信息的步骤,包括:
获取用户的语音信号,语音信号携带问题信息;
将语音信号进行语音预处理,得到语音信号的观察序列;
检测观察序列与预设文本对应的观察序列的相似度是否大于预设相似度;
若大于预设相似度,则将预设文本作为问题信息对应的文本信息。
进一步地,将各个目标文本分别与预设问答文件中的预设问题进行匹配的步骤,包括:
将文本信息进行语义分析,以分析出文本信息所对应的业务类型;
基于文本信息对应的业务类型,在预设问答文件中查找出业务类型对应的第一预设问答文件;
获取目标文本与第一预设问答文件中的问题文本的相似度;
判断相似度是否达到预设阈值;
若相似度达到预设阈值,则判定为匹配成功,若未达到,则判定为匹配失败。
进一步地,在第二文本中,根据第二字段替换与第二字段对应的第一字段的步骤,包括:
在第二文本中,将第一字段中的一个或者多个字段替换为对应的第二字段,得到多个目标文本。进一步地,将各个目标文本分别与预设问答文件中的预设问题进行匹配的步骤之后,包括:
若目标文本与预设问答文件中的预设问题匹配失败,则向预设URL地址发送查询请求,查询请求携带文本信息;
接收查询请求对应的返回数据;
将返回数据进行解析,获取返回数据中相关度靠前的若干个第二答案,并将若干个第二答案作为文本信息对应的答案。
进一步地,将若干个第二答案作为文本信息对应的答案的步骤之后,包括:
将若干个第二答案添加至预设空白列表以生成答案列表,并保存答案列表;
显示答案列表和供用户分别选择每个第二答案为有用的选项;
基于用户选择第二答案为有用的选项,累计每个第二答案分别对应的第一有用数;
判断第二答案的第一有用数是否达到预设值;
若是,则将第一有用数达到预设值的第二答案,以及第一文本信息添加至预设问答文件,第一文本信息为第二答案对应的文本信息,以及作为预设问答文件中的预设问题,第一有用数达到预设值的第二答案作为预设文件中的第一答案。
进一步地,将有用数达到预设值的第二答案,以及第二答案对应的文本信息添加至预设问答文件的步骤之后,还包括:
当文本信息与第一文本信息匹配时,显示第一文本信息对应的第一答案,以及显示供用户选择第一答案为有用或无用的选项;
基于用户选择第一答案为有用或无用的选项,累计第一答案对应的第二有用数和无用数,第二有用数在第一有用数的基础上累计;
判断第二有用数是否小于无用数;
若第二有用数小于无用数,则删除预设问答文件中第一答案及第一答案对应的第一文本信息。
本申请还提出一种基于AIML的智能问答装置,包括:
第一获取模块,用于获取用户输入的问题信息,并根据问题信息得到文本信息;
转换模块,用于将文本信息中的中文转换为同一中文字体,得到文本信息对应的第一文本,中文字体为中文简体或中文繁体;
过滤模块,用于根据预设过滤规则,删除第一文本中的指定符号,得到第二文本;
分词模块,用于根据预设的中文分词规则,将第二文本进行中文分词,得到第二文本对应的多个第一字段;
第一匹配模块,用于将各个第一字段分别进行同义词匹配,得到各个第一字段分别对应的第二字段;
替换模块,用于在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个目标文本;
第二匹配模块,用于将各个目标文本分别与预设问答文件中的预设问题进行匹配,预设问答文件包含预设问题与第一答案的映射关系信息;
第二获取模块,用于若目标文本与预设问答文件中的预设问题匹配成功,则获取预设问题对应的第一答案,以将第一答案作为问题信息的答案。
本申请还提出一种计算机设备,包括存储器和执行器,存储器存储有计算机程序,执行器执行计算机程序时实现上述基于AIML的智能问答方法的步骤。
本申请还提出一种存储介质,其上存储有计算机程序,计算机程序被执行器执行时实现上述基于AIML的智能问答方法的步骤。
本发明通过配置智能问答数据库中的问答数据表、同义词表、中文分词的专业词汇表、繁体与简体的对应关系表等,增加中文规则库;将问题信息对应的文本信息进行字体转换、特殊符号过滤、中文分词、同义词匹配、文本替换等归一化处理,增强AIML对中文的支持,使得AIML更好识别文本信息,从而提高问题识别率和匹配率;配置各种业务类型分别对应的预设问答文件,保证数据安全和避免相互干扰,使得AIML同时支持多种业务的问答场景。通过目标文本与预设问题匹配,从而获取问题信息的答案。
附图说明
图1为本发明一实施例中基于AIML的智能问答方法的步骤示意图;
图2为本发明一实施例中基于AIML的智能问答装置的结构示意图;
图3为本发明一实施例中计算机设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本申请一实施例中基于AIML的智能问答方法,包括:
S1,获取用户输入的问题信息,并根据问题信息得到文本信息;
S2,将文本信息中的中文转换为同一中文字体,得到文本信息对应的第一文本,中文字体为中文简体或中文繁体;
S3,根据预设过滤规则,删除第一文本中的指定符号,得到第二文本;
S4,根据预设的中文分词规则,将第二文本进行中文分词,得到第二文本对应的多个第一字段;
S5,将各个第一字段分别进行同义词匹配,得到各个第一字段分别对应的第二字段;
S6,在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个目标文本;
S7,将各个目标文本分别与预设问答文件中的预设问题进行匹配,预设问答文件包含预设问题与第一答案的映射关系信息;
S8,若目标文本与预设问答文件中的预设问题匹配成功,则获取预设问题对应的第一答案,以将第一答案作为问题信息的答案。
如上述步骤S1,上述问题信息的接入端可以为微信聊天、web站点在线问答客服等问答对话场景。问题信息可以为用户语音输入的或手动输入的,若为语音输入,则通过语音文字转换工具将语音转为文字信息。上述问题信息可包括多种业务类型的问题,其中,可通过后台管理系统,配置及维护各个业务类型对应的智能问答文件,即各个业务类型分别有问题与答案的对应关系表,因此智能问答机器人可以同时支持多种业务类型的问题信息,并且各自分离、互不干扰,克服了以往一台智能问答机器人只能支持一种业务类型的局限性。
如上述步骤S2,上述中文转换为同一中文字体,即为将文本信息中的中文简体转换为中文繁体或将文本信息中的中文繁体转换为中文简体,具体地,根据预设问答文件的中文字体进行转换,如预设问答文件中的预设问题为中文简体,而香港用户输入的问题信息对应的文本信息为繁体字体,则将文本信息的中文简体转换为中文繁体。其原理可以是配置中文繁体与简体之间的对应关系配置文件,也可以是配置中文繁体与简体的对应关系的数据库表,由于数据库表便于通过后台管理系统界面灵活地增加或修改表中的数据,所以优选为数据库表,可借助开源的工具包实现,如Java中zhconverter。
如上述步骤S3至S5,上述预设过滤规则为根据中文用语习惯对文本中的指定标点符号和空格等添加的处理规则,如文本中出现空格则将空格删除,文本中出现破折号也将破折号删除,又如外国人的名字与姓氏采用·号连接,则过滤规则也将该符号删除等。上述预设中文分词规则包括对第二文本同时进行全切分和原子切分后,根据隐马尔科夫模型和Viterbi算法达到最优路径的分词规划,再进行人名识别、系统词典补充、用户自定义词典补充和词性标注等操作的规则,其中全切分为将文本中的所有词汇分离出来,原子切分为将文本中的所有汉字分离出来。上述中文分词为将文本信息分成多个词组或字段,具体地可通过开源的中文分词工具实现,如Ansj,Ansj支持自定义词典,因此,用户可编辑业务类型对应的专有词汇,使得AIML支持不同业务类型的问题信息和提高问题识别率,如某公司的保险产品名称:e生保。上述同义词匹配为匹配上述中文分词得到词组或字段对应的同义词,其原理是根据中文词汇与其对应同义词之间的对应关系配置文件或数据库表。
如上述步骤S6,上述根据第二字段替换与第二字段对应的第一字段为将文本信息中的词组或字段替换为其对应的一个同义词,从而得到新的文本,包括将第二文本中的第一字段进行多次替换,以将第一字段中的一个或者多个字段替换为对应的第二字段,从而得到多个目标文本。
在一实施例中,上述在第二文本中,根据第二字段替换与第二字段对应的第一字段,得到多个目标文本的步骤S6,包括:
S61,在第二文本中,将第一字段中的一个或者多个字段替换为对应的第二字段,得到多个目标文本。
如上述步骤S61,包括每次将所有第一字段中的一个字段替换成与该字段对应的一个第二字段,以及每次将所有第一字段中的多个字段分别替换成与其对应的一个第二字段,其中当一个第一字段对应有多个第二字段时,将该第一字段逐一替换成对应多个第二字段中的一个。例如,文本信息为“办理养老保险的好处是什么?”,将文本信息进行中文分词,得到“办理”“养老”“保险”“好处”“是什么”等第一字段,再进行同义词匹配,“办理”可匹配为“置备”“购买”等,“养老”可匹配为“退休”等,“好处”可匹配为“优点”“益处”等,因此依次将第一字段替换为第二字段,可得到多个文本。上述将第二文本中的一个第一字段替换为与第一字段对应的一个第二字段,如将“办理”替换为“置备”,得到“置备养老保险的好处是什么”,将“养老”替换为“退休”,可得到“办理退休保险的好处是什么”,进一步地,“办理”对应有两个第二字段,因此还可以将“办理”替换为“购买”,得到“购买养老保险的好处是什么”;上述将第二文本中的多个第一字段分别替换为与第一字段对应的一个第二字段,如将“办理”替换为“购买”、“好处”替换为“优点”,可得到“购买养老保险的优点是什么”,将“办理”替换为“购买”、“好处”替换为“益处”,可得到“购买养老保险的益处是什么”,“办理”还可以替换“置备”等,在此不再一一举例,当然还会将原文本信息“办理养老保险的好处是什么”也作为目标文本。为了提高用户体验,如果用户输入的问题信息是繁体的,那么将返回数据也转为繁体,并作为问题信息的答案。根据一个文本信息得到多个目标文本,以使得AIML更好的识别文本信息,提高问题识别率和匹配率。
如上述步骤S7,上述预设问答文件为智能问答数据库中的多种业务类型分别对应的问答数据表,问答数据表包括预设问题与第一答案的对应关系表。上述预设问答文件可通过后台管理系统进行配置。具体地,各业务人员可用其账号登录后台管理系统,进入系统后,可配置问答数据表、同义词表、中文分词的专业词汇表、繁体与简体的对应关系表等,以及可修改或删除表中的数据。配置完成后,输入确认指令,以调用智能问答系统接口,从而触发智能问答系统生成问答数据表、同义词表、中文分词的专业词汇表、繁体与简体的对应关系表等,或更新上述表中的数据。其中,由于账号权限,各业务人员只能看到和配置其业务类型的相关内容,保证数据安全和避免相互干扰。将多个目标文件分别与预设问答文件进行匹配。具体地,通过对文本信息进行语义分析和语法分析,以根据文本信息中的关键词,判断用户的问题信息中所咨询的业务类型。优选地,为了更加准确地判断出用户咨询的业务类型,可在用户输入问题信息时,提示用户选择一种业务类型进行咨询的选项,如用户选择理财业务的选项,则在理财业务对应的问答数据表中匹配目标文本对应的预设问题。
如上述步骤S8,若匹配成功,则说明问答数据表中存在与问题信息相同的预设问题,即将预设问题对应的第一答案作为目标文本的答案。进一步地,一般而言,多个目标文本都是基于同一个文本信息的,所以多个目标文本的意思是基本一样的,所以得到一个第一答案作为文本信息的答案,但多个目标文本中也可能存在与目标文本的意思存在差异,且匹配到与其他目标文本的答案不一致的第一答案,则将多个目标文本分别匹配到的不同第一答案均返回至前端界面,供用户参考。
在一实施例中,上述获取用户输入的问题信息,并根据问题信息得到文本信息的步骤S1,包括:
S11,获取用户的语音信号,语音信号携带问题信息;
S12,将语音信号进行语音预处理,得到语音信号的观察序列;
S13,检测观察序列与预设文本对应的观察序列的相似度是否大于预设相似度;
S14,若大于预设相似度,则将预设文本作为问题信息对应的文本信息。
如上述步骤S11和S12,一般情况下,语音信号由用户语音和环境噪声组成,环境噪声对语音识别会造成干扰,因此对语音信号进行语音预处理。上述语音预处理为通过VAD(Voice Activity Detection)技术将语音信号进行分帧以及建立该语音信号对应的HMM(Hidden Markov Model)模型。具体地,将用户的语音信号根据其周期划分为交叠的语音帧,以确保帧到帧之间LPC(Linear Predictive Coding)频谱预估是相关的;通过端点检测算法寻找语音的起点和终点,再寻找强度和每个语音帧过零点的次数,以计算出能量过零点值的门限,从而去除大部分环境噪声;将语音信号经过低阶的低通滤波器使信号频域平坦化,减弱信号处理过程中有限字长效应对信号的影响;对每一语音帧进行加窗处理,减少在开始语音帧和结束语音帧之间的信号间断;对每一语音帧做自相关分析,得到自相关系数,再采用Levsion Durbin算法寻找LPC系数;对LPC系数使用锥形窗进行加权以获得Cepatral系数,将Cepatral系数作为语音帧的特征矢量,进一步地,可对时域Cepatral进行微分以改善语音帧的特征矢量,对特征矢量进行矢量量化后得到语音信号的观察序列。
如上述步骤S13和S14,对预设中文词汇表(包含预设文本的字段)中针对每个音素系统进行HMM训练,获取数字化的语音采样值,并进行预处理、特征矢量提取、矢量量化处理、Baum-Welch建模后等得到预设文本对应的语音模型的观察序列。语音信号的观察序列与预设文本对应的语音模型的观察序列进行匹配时,对每个语音信号的观察序列进行概率计算,优选地,使用最大似然估计算法计算出最大概率(即上述观察序列与预设文本对应的观察序列的相似度),若最大概率大于上述预设相似度,将与语音信号的观察序列存在最大概率的观察序列对应的预设文本作为问题信息对应的文本信息。
在一实施例中,将各个目标文本分别与预设问答文件中的预设问题进行匹配的步骤S7,包括:
S71,将文本信息进行语义分析,以分析出文本信息所对应的业务类型;
S72,基于文本信息对应的业务类型,在预设问答文件中查找出业务类型对应的第一预设问答文件;
S73,获取目标文本与第一预设问答文件中的问题文本的相似度;
S74,判断相似度是否达到预设阈值;
S75,若相似度达到预设阈值,则判定为匹配成功,若未达到,则判定为匹配失败。
如上述步骤S71至S72,上述语义分析包括对文本信息进行中文分词,再运用统计语言模型决定最优的分词结果,根据term-weighting方法对分词后的每个term(术语)计算权重,根据每个term的权重提取文本中的核心词;其中语言模型可以是如基于HMM的N-Gram模型,也可以是基于循环神经网络的语言模型,如state-of-the-art的语言模型;term-weighting方法如TF-IDF、Okapi、MI、ATC、LTU等;文本中一个term出现的次数越多,则权重越大,也越重要。根据提取到的核心词与业务类型的关键词进行匹配,进而分析出文本信息对应的业务类型。每种业务类型都对应有一个或多个第一预设问答文件,第一预设问答文件包含与预设问答文件中。
如上述步骤S73至S75,目标文本与预设问题进行匹配实际上是文本匹配的过程,其中文本匹配可分为单语义模型、多语义模型、匹配矩阵模型和深层次的句子间模型。单语义模型为采用全连接、CNN类或RNN类的神经网络编码两个句子然后计算句子之间的相似度,未考虑句子中短语的局部结构,如DSSM(Deep Structured Semantic Models);多语义模型从多颗粒的角度解读句子,考虑到句子的局部结构,如MV-LSTM(Multi View LongShort Term Memory);匹配矩阵模型计算句子距不用单词的相似度,再用深度网络提取特征,考虑了句子间不同单词的交互,更精细的处理句子中的关系,如Text Matching asImage Recognition;深层次的句子间模型,根据attention等交互机制,用更精细的结构挖掘句子内和句子间不同单词的关系,如state of the art的模型。具体地,可通过上述几种文本匹配模型中的任意一种,根据文本匹配模型的相似度算法计算目标文本与问题文本的相似度,并判断该相似度是否达到预设阈值,若是,则匹配成功,反之,匹配失败。例如,问题信息为文本信息为“办理养老保险的好处是什么”,则目标文本为“置备养老保险的好处是什么”和“购买养老保险的优点是什么”,将目标文本分别与第一预设问答文件中的预设问题进行匹配,分别计算“置备养老保险的好处是什么”和“购买养老保险的优点是什么”,与“办理养老保险的好处是什么”之间的相似度,如果一个或多个目标文本与第一预设问答文件中的问题“养老保险的优点是什么”的相似度达到预设阈值,则将“养老保险的优点是什么”对应的答案作为问题信息“办理养老保险的好处是什么”的答案;进一步地,多个目标文本也有可能匹配到第一预设问答文件中多个问题文本,虽然这是小概率事件,但是如果出现这种情况,则分别将多个问题文本对应的答案均作为问题信息的答案,供用户参考。
在一实施例中,上述将各个目标文本分别与预设问答文件中的预设问题进行匹配的步骤S7之前,包括:
S071,接收各种业务类型分别对应的预设问题与第一答案;
S072,在第一预设问答文件中写入第一业务类型对应的预设问题与第一答案,其中第一业务类型包含于所有业务类型中,第一预设问答文件包含于所有预设问答文件中。
如上述步骤S071和S072,上述第一预设问答文件可通过后台管理系统进行配置。具体地,各业务人员通过其账号登入后台管理系统(属于智能问答系统的一部分),输入新建第一预设问答文件的指令,并输入业务人员负责的业务类型的预设问题和第一答案。例如,负责篮球业务的业务人员用其账号登入后台管理系统,后台管理系统识别该业务人员的账号,并根据账号对应的预设权限(只有篮球业务相关的编辑权限、浏览权限等),显示的预设权限对应的可编辑问答数据表,该业务人员在问答数据表中输入篮球业务相关的预设问题和第一答案,例如预设问题“姚明在NBA火箭队退役的球衣号码是什么”,第一答案“11号”,通过后台管理系统接收上述预设问题和第一答案,并根据用户输入的确认指令,将问答数据表生成篮球业务对应的第一预设问答文件。同理,负责足球业务的业务人员只能编辑足球业务对应的第一问答文件。由于账号权限,各业务人员只能看到和配置其业务类型的相关内容,保证数据安全和避免相互干扰,以及使得智能问答系统能够支持多种业务场景且各业务场景不被干扰。
在一实施例中,上述将各个目标文本分别与预设问答文件中的预设问题进行匹配的步骤S7之后,包括:
S701,若目标文本与预设问答文件中的预设问题匹配失败,则向预设URL地址发送查询请求,查询请求携带文本信息;
S702,接收查询请求对应的返回数据;
S703,将返回数据进行解析,获取返回数据中相关度靠前的若干个第二答案,并将若干个第二答案作为文本信息对应的答案。
如上述步骤S701至S703,当目标文本与预设问答文件中的预设问题匹配失败,则说明问答机器人无法根据预设问答文件来回答用户的问题。为使问答机器人能回答用户的问题,则通过数据爬取技术获取用户问题的答案。上述数据爬取技术为网络爬虫,是一种按照一定的规则,自动地抓取指定网址中信息的程序或者脚本,他们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。具体地,当目标文本匹配不到预设问答文件中的预设问题和第一答案时,通过网络爬虫根据文本信息中的业务类型,事先分析搜索引擎(例如百度搜索)搜索时的调用地址(预设URL地址),程序向调用地址模拟发送携带文本信息且获取文本信息对应的若干个第二答案的搜索查询请求,获取调用地址返回的返回数据(html代码),再通过jsoup(java html解析器)解析上述html代码,从而得到文本信息对应的第二答案。在一实施例中,因为爬出技术查找问题对应的答案这个过程,本身就是在筛选出相关答案的过程,例如,通过百度搜索查找“养老保险的好处是什么”这个问题时,显示出来的答案列表,其本身就是百度搜索引擎经过筛选后得到的,但为得到更加准确的答案,所以在将答案列表中相关度最高的答案作为第二答案,优选地,第二答案为相关度高且靠前的若干个答案,以供用户参考;其中,相关度高可根据搜索结果列表中的位置、结果的浏览数、点赞数、有用数的多少来分析问题的答案的相关度,具体地,结果列表中答案的位置越靠前、结果的浏览数越多、点赞数越多或有用数越多,则认为相关度越高。如果结果列表中的位置、结果的浏览数、点赞数、有用数对应的最高相关度答案不同,则以有用数作为主要依据,进一步地,可以对这些相关度的参考因数赋值一定的权重,即答案数值=(位置对应的预设分数值/结果列表中的位置)*权重1+结果的浏览数*权重2+点赞数*权重3+有用数*权重4,进而计算出结果列表中各答案分别对应的数值,以数值最高的答案作为第二答案。进而在当前问答数据表中没有用户咨询的预设问题和第一答案的情况下,通过数据爬取技术实现获取文本信息对应的第二答案,使得机器具有学习功能。
在一实施例中,上述将若干个第二答案作为文本信息对应的答案的步骤S703之后,包括:
S704,将若干个第二答案添加至预设空白列表以生成答案列表,并保存所述答案列表;
S705,显示答案列表和供用户分别选择每个第二答案为有用的选项;
S706,基于用户选择第二答案为有用的选项,累计每个第二答案分别对应的第一有用数;
S707,判断第二答案的第一有用数是否达到预设值;
S708,若是,则将第一有用数达到预设值的第二答案,以及第一文本信息添加至预设问答文件,第一文本信息为第二答案对应的文本信息,以及作为预设问答文件中的预设问题,第一有用数达到预设值的第二答案作为预设文件中的第一答案。
如上述步骤S704至S708,将第二答案以列表的形式显示,当然,还可以将第二答案转为语音输出。上述答案列表中的每个第二答案都对应有一个选择该第二答案为有用的选项,用户可对认同的第二答案选择该第二答案的有用选项,同时累计第二答案的第一有用数,以搜集更多的数据为智能问答系统推荐新问题的答案提供数据基础。例如,用户查看完第二答案后会对第二答案作为评判,如果用户觉得好可以选择有用选项,觉得不好可以选择无用选项,问答机器人会在用户选择后累计一次有用数,并将有用数最高的答案作为后续问题对应的答案,即当其中一个第二答案的第一有用数达到预设值时,则将该第二答案作为对应问题的答案添加至预设问答文件中,从而增强问答机器人的学习能力,使得问答机器人更加智能。
在一实施例中,上述将有用数达到预设值的第二答案,以及第二答案对应的文本信息添加至预设问答文件的步骤S708之后,还包括:
S709,当文本信息与第一文本信息匹配时,显示第一文本信息对应的第一答案,以及显示供用户选择第一答案为有用或无用的选项;
S710,基于用户选择第一答案为有用或无用的选项,累计第一答案对应的第二有用数和无用数,第二有用数在第一有用数的基础上累计;
S711,判断第二有用数是否小于无用数;
S712,若第二有用数小于无用数,则删除预设问答文件中第一答案及第一答案对应的第一文本信息。
如上述步骤S709至S712,当问答机器人再次接收到如步骤S703的文本信息时,文本信息与第一文本信息匹配,则调取预设问答文件中第一文本信息对应的第一答案返回至前端UI,同时显示该第一答案的有用选项和无用选项。由于答案具有时效性,所以判断第二有用数是否小于无用数,当第二有用数小于无用数,则说明该第一答案已经不能被用户认同,所以删除预设问答文件中第一答案及其对应的第一文本信息。例如古代的人们认为太阳围着地球运动是对的,但是在今天人们认为这是错误的,所以无用数会越来越多,最后无用数大于第二有用数。进一步地,为了快速判断“太阳围着地球运动是对的”的说法是否被人们认同,可以定期(如一个月)统计答案的有用数和无用数,当无用数多于有用数,甚至无用数比有用数多若干值时,则撤销对该答案的推荐,即删除预设问答文件中第一答案及其对应的第一文本信息。
参照图2,在本申请一实施例中基于AIML的智能问答装置,包括:
第一获取模块1,用于获取用户输入的问题信息,并根据问题信息得到文本信息;
转换模块2,用于将文本信息中的中文转换为同一中文字体,得到文本信息对应的第一文本,中文字体为中文简体或中文繁体;
过滤模块3,用于根据预设过滤规则,删除第一文本中的指定符号,得到第二文本;
分词模块4,用于根据预设的中文分词规则,将第二文本进行中文分词,得到第二文本对应的多个第一字段;
第一匹配模块5,用于将各个第一字段分别进行同义词匹配,得到各个第一字段分别对应的第二字段;
替换模块6,用于在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个目标文本;
第二匹配模块7,用于将各个目标文本分别与预设问答文件中的预设问题进行匹配,预设问答文件包含预设问题与第一答案的映射关系信息;
第二获取模块8,用于若目标文本与预设问答文件中的预设问题匹配成功,则获取预设问题对应的第一答案,以将第一答案作为问题信息的答案。
如上述第一获取模块1,上述问题信息的接入端可以为微信聊天、web站点在线问答客服等问答对话场景。问题信息可以为用户语音输入的或手动输入的,若为语音输入,则通过语音文字转换工具将语音转为文字信息。上述问题信息可包括多种业务类型的问题,其中,可通过后台管理系统,配置及维护各个业务类型对应的智能问答文件,即各个业务类型分别有问题与答案的对应关系表,因此智能问答机器人可以同时支持多种业务类型的问题信息,并且各自分离、互不干扰,克服了以往一台智能问答机器人只能支持一种业务类型的局限性。
如上述转换模块2,上述中文转换为同一中文字体,即为将文本信息中的中文简体转换为中文繁体或将文本信息中的中文繁体转换为中文简体,具体地,根据预设问答文件的中文字体进行转换,如预设问答文件中的预设问题为中文简体,而香港用户输入的问题信息对应的文本信息为繁体字体,则将文本信息的中文简体转换为中文繁体。其原理可以是配置中文繁体与简体之间的对应关系配置文件,也可以是配置中文繁体与简体的对应关系的数据库表,由于数据库表便于通过后台管理系统界面灵活地增加或修改表中的数据,所以优选为数据库表,可借助开源的工具包实现,如Java中zhconverter。
如上述过滤模块3、分词模块4和第一匹配模块5,上述预设过滤规则为根据中文用语习惯对文本中的指定标点符号和空格等添加的处理规则,如文本中出现空格则将空格删除,文本中出现破折号也将破折号删除,又如外国人的名字与姓氏采用·号连接,则过滤规则也将该符号删除等。上述预设中文分词规则包括对第二文本同时进行全切分和原子切分后,根据隐马尔科夫模型和Viterbi算法达到最优路径的分词规划,再进行人名识别、系统词典补充、用户自定义词典补充和词性标注等操作的规则,其中全切分为将文本中的所有词汇分离出来,原子切分为将文本中的所有汉字分离出来。上述中文分词为将文本信息分成多个词组或字段,具体地可通过开源的中文分词工具实现,如Ansj,Ansj支持自定义词典,因此,用户可编辑业务类型对应的专有词汇,使得AIML支持不同业务类型的问题信息和提高问题识别率,如某公司的保险产品名称:e生保。上述同义词匹配为匹配上述中文分词得到词组或字段对应的同义词,其原理是根据中文词汇与其对应同义词之间的对应关系配置文件或数据库表。
如上述替换模块6,上述根据第二字段替换与第二字段对应的第一字段为将文本信息中的词组或字段替换为其对应的一个同义词,从而得到新的文本,包括将第二文本中的第一字段进行多次替换,以将第一字段中的一个或者多个字段替换为对应的第二字段,从而得到多个目标文本。
在一实施例中,上述替换模块6,包括:
替换单元,在第二文本中,将第一字段中的一个或者多个字段替换为对应的第二字段,得到多个目标文本。
如上述替换单元,将第一字段中的一个或者多个字段替换为对应的第二字段包括每次将所有第一字段中的一个字段替换成与该字段对应的一个第二字段,以及每次将所有第一字段中的多个字段分别替换成与其对应的一个第二字段,其中当一个第一字段对应有多个第二字段时,将该第一字段逐一替换成对应多个第二字段中的一个。例如,文本信息为“办理养老保险的好处是什么?”,将文本信息进行中文分词,得到“办理”“养老”“保险”“好处”“是什么”等第一字段,再进行同义词匹配,“办理”可匹配为“置备”“购买”等,“养老”可匹配为“退休”等,“好处”可匹配为“优点”“益处”等,因此依次将第一字段替换为第二字段,可得到多个文本。上述将第二文本中的一个第一字段替换为与第一字段对应的一个第二字段,如将“办理”替换为“置备”,得到置备养老保险的好处是什么”,将“养老”替换为“退休”,可得到“办理退休保险的好处是什么”,进一步地,“办理”对应有两个第二字段,因此还可以将“办理”替换为“购买”,得到“购买养老保险的好处是什么”;上述将第二文本中的多个第一字段分别替换为与第一字段对应的一个第二字段,如将“办理”替换为“购买”、“好处”替换为“优点”,可得到“购买养老保险的优点是什么”,将“办理”替换为“购买”、“好处”替换为“益处”,可得到“购买养老保险的益处是什么”,“办理”还可以替换“置备”等,在此不再一一举例,当然还会将原文本信息“办理养老保险的好处是什么”也作为目标文本。为了提高用户体验,如果用户输入的问题信息是繁体的,那么将返回数据也转为繁体,并作为问题信息的答案。根据一个文本信息得到多个目标文本,以使得AIML更好的识别文本信息,提高问题识别率和匹配率。
如上述第二匹配模块7,上述预设问答文件为智能问答数据库中的多种业务类型分别对应的问答数据表,问答数据表包括预设问题与第一答案的对应关系表。上述预设问答文件可通过后台管理系统进行配置。具体地,各业务人员可用其账号登录后台管理系统,进入系统后,可配置问答数据表、同义词表、中文分词的专业词汇表、繁体与简体的对应关系表等,以及可修改或删除表中的数据。配置完成后,输入确认指令,以调用智能问答系统接口,从而触发智能问答系统生成问答数据表、同义词表、中文分词的专业词汇表、繁体与简体的对应关系表等,或更新上述表中的数据。其中,由于账号权限,各业务人员只能看到和配置其业务类型的相关内容,保证数据安全和避免相互干扰。将多个目标文件分别与预设问答文件进行匹配。具体地,通过对文本信息进行语义分析和语法分析,以根据文本信息中的关键词,判断用户的问题信息中所咨询的业务类型。优选地,为了更加准确地判断出用户咨询的业务类型,可在用户输入问题信息时,提示用户选择一种业务类型进行咨询的选项,如用户选择理财业务的选项,则在理财业务对应的问答数据表中匹配目标文本对应的预设问题。
如上述第二获取模块8,若匹配成功,则说明问答数据表中存在与问题信息相同的预设问题,即将预设问题对应的第一答案作为目标文本的答案。进一步地,一般而言,多个目标文本都是基于同一个文本信息的,所以多个目标文本的意思是基本一样的,所以得到一个第一答案作为文本信息的答案,但多个目标文本中也可能存在与目标文本的意思存在差异,且匹配到与其他目标文本的答案不一致的第一答案,则将多个目标文本分别匹配到的不同第一答案均返回至前端界面,供用户参考。
在一实施例中,上述第一获取模块1,包括:
第一获取单元,用于获取用户的语音信号,语音信号携带问题信息;
处理单元,用于将语音信号进行语音预处理,得到语音信号的观察序列;
检测单元,用于检测观察序列与预设文本对应的观察序列的相似度是否大于预设相似度;
作为单元,用于若匹配成功,则将预设文本作为问题信息对应的文本信息。
如上述第一获取单元和处理单元,一般情况下,语音信号由用户语音和环境噪声组成,环境噪声对语音识别会造成干扰,因此对语音信号进行语音预处理。上述语音预处理为通过VAD(Voice Activity Detection)技术将语音信号进行分帧以及建立该语音信号对应的HMM(Hidden Markov Model)模型。具体地,将用户的语音信号根据其周期划分为交叠的语音帧,以确保帧到帧之间LPC(Linear Predictive Coding)频谱预估是相关的;通过端点检测算法寻找语音的起点和终点,再寻找强度和每个语音帧过零点的次数,以计算出能量过零点值的门限,从而去除大部分环境噪声;将语音信号经过低阶的低通滤波器使信号频域平坦化,减弱信号处理过程中有限字长效应对信号的影响;对每一语音帧进行加窗处理,减少在开始语音帧和结束语音帧之间的信号间断;对每一语音帧做自相关分析,得到自相关系数,再采用Levsion Durbin算法寻找LPC系数;对LPC系数使用锥形窗进行加权以获得Cepatral系数,将Cepatral系数作为语音帧的特征矢量,进一步地,可对时域Cepatral进行微分以改善语音帧的特征矢量,对特征矢量进行矢量量化后得到语音信号的观察序列。
如上述匹配单元和作为单元,对预设中文词汇表(包含预设文本的字段)中针对每个音素系统进行HMM训练,获取数字化的语音采样值,并进行预处理、特征矢量提取、矢量量化处理、Baum-Welch建模后等得到预设文本对应的语音模型的观察序列。语音信号的观察序列与预设文本对应的语音模型的观察序列进行匹配时,对每个语音信号的观察序列进行概率计算,优选地,使用最大似然估计算法计算出最大概率,(即上述观察序列与预设文本对应的观察序列的相似度),若最大概率大于上述预设相似度,将与语音信号的观察序列存在最大概率的观察序列对应的预设文本作为问题信息对应的文本信息。
在一实施例中,上述第二匹配模块,包括:
分析单元,用于将文本信息进行语义分析,以分析出文本信息所对应的业务类型;
查找单元,用于基于文本信息对应的业务类型,在预设问答文件中查找出业务类型对应的第一预设问答文件;
第二获取单元,用于获取目标文本与第一预设问答文件中的问题文本的相似度;
判断单元,用于判断相似度是否达到预设阈值;
判定单元,用于若相似度达到预设阈值,则判定为匹配成功,若未达到,则判定为匹配失败。
如上述分析单元和查找单元,上述语义分析包括对文本信息进行中文分词,再运用统计语言模型决定最优的分词结果,根据term-weighting方法对分词后的每个term(术语)计算权重,根据每个term的权重提取文本中的核心词;其中语言模型可以是如基于HMM的N-Gram模型,也可以是基于循环神经网络的语言模型,如state-of-the-art的语言模型;term-weighting方法如TF-IDF、Okapi、MI、ATC、LTU等;文本中一个term出现的次数越多,则权重越大,也越重要。根据提取到的核心词与业务类型的关键词进行匹配,进而分析出文本信息对应的业务类型。每种业务类型都对应有一个或多个第一预设问答文件,第一预设问答文件包含与预设问答文件中。
如上述第二获取单元、判断单元和判定单元,目标文本与预设问题进行匹配实际上是文本匹配的过程,其中文本匹配可分为单语义模型、多语义模型、匹配矩阵模型和深层次的句子间模型。单语义模型为采用全连接、CNN类或RNN类的神经网络编码两个句子然后计算句子之间的相似度,未考虑句子中短语的局部结构,如DSSM(Deep StructuredSemantic Models);多语义模型从多颗粒的角度解读句子,考虑到句子的局部结构,如MV-LSTM(Multi View Long Short Term Memory);匹配矩阵模型计算句子距不用单词的相似度,再用深度网络提取特征,考虑了句子间不同单词的交互,更精细的处理句子中的关系,如Text Matching as Image Recognition;深层次的句子间模型,根据attention等交互机制,用更精细的结构挖掘句子内和句子间不同单词的关系,如state of the art的模型。具体地,可通过上述几种文本匹配模型中的任意一种,根据文本匹配模型的相似度算法计算目标文本与问题文本的相似度,并判断该相似度是否达到预设阈值,若是,则匹配成功,反之,匹配失败。例如,问题信息为文本信息为“办理养老保险的好处是什么”,则目标文本为“置备养老保险的好处是什么”和“购买养老保险的优点是什么”,将目标文本分别与第一预设问答文件中的预设问题进行匹配,分别计算“置备养老保险的好处是什么”和“购买养老保险的优点是什么”,与“办理养老保险的好处是什么”之间的相似度,如果一个或多个目标文本与第一预设问答文件中的问题“养老保险的优点是什么”的相似度达到预设阈值,则将“养老保险的优点是什么”对应的答案作为问题信息“办理养老保险的好处是什么”的答案;进一步地,多个目标文本也有可能匹配到第一预设问答文件中多个问题文本,虽然这是小概率事件,但是如果出现这种情况,则分别将多个问题文本对应的答案均作为问题信息的答案,供用户参考。
在一实施例中,上述装置还包括:
第二接收模块,用于接收各种业务类型分别对应的预设问题与第一答案;
写入模块,用于在第一预设问答文件中写入第一业务类型对应的预设问题与第一答案,其中第一业务类型包含于所有业务类型中,第一预设问答文件包含于所有预设问答文件中。
如上述第二接收模块和写入模块,上述第一预设问答文件可通过后台管理系统进行配置。具体地,各业务人员通过其账号登入后台管理系统(属于智能问答系统的一部分),输入新建第一预设问答文件的指令,并输入业务人员负责的业务类型的预设问题和第一答案。例如,负责篮球业务的业务人员用其账号登入后台管理系统,后台管理系统识别该业务人员的账号,并根据账号对应的预设权限(只有篮球业务相关的编辑权限、浏览权限等),显示的预设权限对应的可编辑问答数据表,该业务人员在问答数据表中输入篮球业务相关的预设问题和第一答案,例如预设问题“姚明在NBA火箭队退役的球衣号码是什么”,第一答案“11号”,通过后台管理系统接收上述预设问题和第一答案,并根据用户输入的确认指令,将问答数据表生成篮球业务对应的第一预设问答文件。同理,负责足球业务的业务人员只能编辑足球业务对应的第一问答文件。由于账号权限,各业务人员只能看到和配置其业务类型的相关内容,保证数据安全和避免相互干扰,以及使得智能问答系统能够支持多种业务场景且各业务场景不被干扰。
在一实施例中,上述装置还包括:
查询模块,用于若目标文本与预设问答文件中的预设问题匹配失败,则向预设URL地址发送查询请求,查询请求携带文本信息;
第一接收模块,用于接收查询请求对应的返回数据;
解析模块,用于将返回数据进行解析,获取返回数据中相关度靠前的若干个第二答案,并将若干个第二答案作为文本信息对应的答案。
如上述查询模块、第一接收模块和解析模块,当目标文本与预设问答文件中的预设问题匹配失败,则说明问答机器人无法根据预设问答文件来回答用户的问题。为使问答机器人能回答用户的问题,则通过数据爬取技术获取用户问题的答案。上述数据爬取技术为网络爬虫,是一种按照一定的规则,自动地抓取指定网址中信息的程序或者脚本,他们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。具体地,当目标文本匹配不到预设问答文件中的预设问题和第一答案时,通过网络爬虫根据文本信息中的业务类型,事先分析搜索引擎(例如百度搜索)搜索时的调用地址(预设URL地址),程序向调用地址模拟发送携带文本信息且获取文本信息对应的若干个第二答案的搜索查询请求,获取调用地址返回的返回数据(html代码),再通过jsoup(java html解析器)解析上述html代码,从而得到文本信息对应的第二答案。在一实施例中,因为爬出技术查找问题对应的答案这个过程,本身就是在筛选出相关答案的过程,例如,通过百度搜索查找“养老保险的好处是什么”这个问题时,显示出来的答案列表,其本身就是百度搜索引擎经过筛选后得到的,但为得到更加准确的答案,所以在将答案列表中相关度最高的答案作为第二答案,优选地,第二答案为相关度高且靠前的若干个答案,以供用户参考;其中,相关度高可根据搜索结果列表中的位置、结果的浏览数、点赞数、有用数的多少来分析问题的答案的相关度,具体地,结果列表中答案的位置越靠前、结果的浏览数越多、点赞数越多或有用数越多,则认为相关度越高。如果结果列表中的位置、结果的浏览数、点赞数、有用数对应的最高相关度答案不同,则以有用数作为主要依据,进一步地,可以对这些相关度的参考因数赋值一定的权重,即答案数值=(位置对应的预设分数值/结果列表中的位置)*权重1+结果的浏览数*权重2+点赞数*权重3+有用数*权重4,进而计算出结果列表中各答案分别对应的数值,以数值最高的答案作为第二答案。进而在当前问答数据表中没有用户咨询的预设问题和第一答案的情况下,通过数据爬取技术实现获取文本信息对应的第二答案,使得机器具有学习功能。
在一实施例中,上述装置还包括:
生成模块,用于将若干个第二答案添加至预设空白列表以生成答案列表,并保存答案列表;
第一显示模块,用于显示答案列表和供用户分别选择每个第二答案为有用的选项;
第一累计模块,用于基于用户选择第二答案为有用的选项,累计每个第二答案分别对应的第一有用数;
第一判断模块,用于判断第二答案的第一有用数是否达到预设值;
添加模块,用于若是,则将第一有用数达到预设值的第二答案,以及第一文本信息添加至预设问答文件,第一文本信息为第二答案对应的文本信息,以及作为预设问答文件中的预设问题,第一有用数达到预设值的第二答案作为预设文件中的第一答案。
如上述装置,将第二答案以列表的形式显示,当然,还可以将第二答案转为语音输出。上述答案列表中的每个第二答案都对应有一个选择该第二答案为有用的选项,用户可对认同的第二答案选择该第二答案的有用选项,同时累计第二答案的第一有用数,以搜集更多的数据为智能问答系统推荐新问题的答案提供数据基础。例如,用户查看完第二答案后会对第二答案作为评判,如果用户觉得好可以选择有用选项,觉得不好可以选择无用选项,问答机器人会在用户选择后累计一次有用数,并将有用数最高的答案作为后续问题对应的答案,即当其中一个第二答案的第一有用数达到预设值时,则将该第二答案作为对应问题的答案添加至预设问答文件中,从而增强问答机器人的学习能力,使得问答机器人更加智能。
在一实施例中,上述装置还包括:
第二显示模块,用于当文本信息与第一文本信息匹配时,显示第一文本信息对应的第一答案,以及显示供用户选择第一答案为有用或无用的选项;
第二累计模块,用于基于用户选择第一答案为有用或无用的选项,累计第一答案对应的第二有用数和无用数,第二有用数在第一有用数的基础上累计;
第二判断模块,用于判断第二有用数是否小于无用数;
删除模块,用于若第二有用数小于无用数,则删除预设问答文件中第一答案及第一答案对应的第一文本信息。
如上述装置,当问答机器人再次接收到如解析模块解析得到的文本信息时,文本信息与第一文本信息匹配,则调取预设问答文件中第一文本信息对应的第一答案返回至前端UI,同时显示该第一答案的有用选项和无用选项。由于答案具有时效性,所以判断第二有用数是否小于无用数,当第二有用数小于无用数,则说明该第一答案已经不能被用户认同,所以删除预设问答文件中第一答案及其对应的第一文本信息。例如古代的人们认为太阳围着地球运动是对的,但是在今天人们认为这是错误的,所以无用数会越来越多,最后无用数大于第二有用数。进一步地,为了快速判断“太阳围着地球运动是对的”的说法是否被人们认同,可以定期(如一个月)统计答案的有用数和无用数,当无用数多于有用数,甚至无用数比有用数多若干值时,则撤销对该答案的推荐,即删除预设问答文件中第一答案及其对应的第一文本信息。
本申请一实施例中计算机设备,包括存储器和执行器,存储器存储有计算机程序,执行器执行计算机程序时实现上述基于AIML的智能问答方法的步骤。
上述计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机可读指令和数据库。该内存器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储任务、数据库表和待处理表等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令在执行时,执行如上述各方法的实施例的流程。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例中存储介质,其为计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行器执行时实现上述基于AIML的智能问答方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于AIML的智能问答方法,所述AIML为人工智能标记语言,其特征在于,包括:
获取用户输入的问题信息,并根据所述问题信息得到文本信息;
将所述文本信息中的中文转换为同一中文字体,得到所述文本信息对应的第一文本,所述中文字体为中文简体或中文繁体;
根据预设过滤规则,删除所述第一文本中的指定符号,得到第二文本;
根据预设的中文分词规则,将所述第二文本进行中文分词,得到所述第二文本对应的多个第一字段;
将各个所述第一字段分别进行同义词匹配,得到各个所述第一字段分别对应的第二字段;
在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个所述目标文本;
将各个所述目标文本分别与预设问答文件中的预设问题进行匹配,所述预设问答文件包含所述预设问题与第一答案的映射关系信息;
若所述目标文本与预设问答文件中的预设问题匹配成功,则获取所述预设问题对应的第一答案,以将所述第一答案作为所述问题信息的答案。
2.根据权利要求1所述的基于AIML的智能问答方法,其特征在于,所述获取用户输入的问题信息,并根据所述问题信息得到文本信息的步骤,包括:
获取用户的语音信号,所述语音信号携带所述问题信息;
将所述语音信号进行语音预处理,得到所述语音信号的观察序列;
检测所述观察序列与预设文本对应的观察序列的相似度是否大于预设相似度;
若大于预设相似度,则将所述预设文本作为所述问题信息对应的所述文本信息。
3.根据权利要求1所述的基于AIML的智能问答方法,其特征在于,所述将各个所述目标文本分别与预设问答文件中的预设问题进行匹配的步骤,包括:
将所述文本信息进行语义分析,以分析出所述文本信息所对应的业务类型;
基于所述文本信息对应的业务类型,在所述预设问答文件中查找出所述业务类型对应的第一预设问答文件;
获取所述目标文本与所述第一预设问答文件中的问题文本的相似度;
判断所述相似度是否达到预设阈值;
若所述相似度达到预设阈值,则判定为匹配成功,若未达到,则判定为匹配失败。
4.根据权利要求1所述的基于AIML的智能问答方法,其特征在于,所述在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个所述目标文本的步骤,包括:
在所述第二文本中,将所述第一字段中的一个或者多个字段替换为对应的第二字段,得到多个所述目标文本。
5.根据权利要求1所述的基于AIML的智能问答方法,其特征在于,所述将各个所述目标文本分别与预设问答文件中的预设问题进行匹配的步骤之后,包括:
若所述目标文本与预设问答文件中的预设问题匹配失败,则向预设URL地址发送查询请求,所述查询请求携带所述文本信息;
接收所述查询请求对应的返回数据;
将所述返回数据进行解析,获取所述返回数据中相关度靠前的若干个第二答案,并将若干个所述第二答案作为所述文本信息对应的答案。
6.根据权利要求5所述的基于AIML的智能问答方法,其特征在于,所述将若干个所述第二答案作为所述文本信息对应的答案的步骤之后,包括:
将若干个所述第二答案添加至预设空白列表以生成答案列表,并保存所述答案列表;
显示所述答案列表和供用户分别选择每个所述第二答案为有用的选项;
基于用户选择所述第二答案为有用的选项,累计每个第二答案分别对应的第一有用数;
判断所述第二答案的第一有用数是否达到预设值;
若是,则将所述第一有用数达到预设值的所述第二答案,以及第一文本信息添加至所述预设问答文件,所述第一文本信息为所述第二答案对应的所述文本信息,以及作为所述预设问答文件中的预设问题,所述第一有用数达到预设值的所述第二答案作为所述预设文件中的第一答案。
7.根据权利要求6所述的基于AIML的智能问答方法,其特征在于,所述将所述有用数达到预设值的所述第二答案,以及所述第二答案对应的文本信息添加至所述预设问答文件的步骤之后,还包括:
当所述文本信息与所述第一文本信息匹配时,显示所述第一文本信息对应的第一答案,以及显示供用户选择所述第一答案为有用或无用的选项;
基于用户选择所述第一答案为有用或无用的选项,累计所述第一答案对应的第二有用数和无用数,所述第二有用数在所述第一有用数的基础上累计;
判断所述第二有用数是否小于所述无用数;
若所述第二有用数小于无用数,则删除所述预设问答文件中所述第一答案及第一答案对应的第一文本信息。
8.一种基于AIML的智能问答装置,其特征在于,包括:
第一获取模块,用于获取用户输入的问题信息,并根据所述问题信息得到文本信息;
转换模块,用于将所述文本信息中的中文转换为同一中文字体,得到所述文本信息对应的第一文本,所述中文字体为中文简体或中文繁体;
过滤模块,用于根据预设过滤规则,删除所述第一文本中的指定符号,得到第二文本;
分词模块,用于根据预设的中文分词规则,将所述第二文本进行中文分词,得到所述第二文本对应的多个第一字段;
第一匹配模块,用于将各个所述第一字段分别进行同义词匹配,得到各个所述第一字段分别对应的第二字段;
替换模块,用于在所述第二文本中,根据所述第二字段替换与所述第二字段对应的第一字段,得到多个所述目标文本;
第二匹配模块,用于将各个所述目标文本分别与预设问答文件中的预设问题进行匹配,所述预设问答文件包含所述预设问题与第一答案的映射关系信息;
第二获取模块,用于若所述目标文本与预设问答文件中的预设问题匹配成功,则获取所述预设问题对应的第一答案,以将所述第一答案作为所述问题信息的答案。
9.一种计算机设备,包括存储器和执行器,所述存储器存储有计算机程序,其特征在于,所述执行器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435063.2A CN110321416A (zh) | 2019-05-23 | 2019-05-23 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
PCT/CN2020/088052 WO2020233386A1 (zh) | 2019-05-23 | 2020-04-30 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910435063.2A CN110321416A (zh) | 2019-05-23 | 2019-05-23 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110321416A true CN110321416A (zh) | 2019-10-11 |
Family
ID=68118991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910435063.2A Pending CN110321416A (zh) | 2019-05-23 | 2019-05-23 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110321416A (zh) |
WO (1) | WO2020233386A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795548A (zh) * | 2019-10-25 | 2020-02-14 | 招商局金融科技有限公司 | 智能问答方法、装置及计算机可读存储介质 |
CN111582996A (zh) * | 2020-05-20 | 2020-08-25 | 拉扎斯网络科技(上海)有限公司 | 业务信息的展示方法及装置 |
WO2020233386A1 (zh) * | 2019-05-23 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
CN112069230A (zh) * | 2020-09-07 | 2020-12-11 | 中国平安财产保险股份有限公司 | 数据分析方法、装置、设备及存储介质 |
CN112667789A (zh) * | 2020-12-17 | 2021-04-16 | 中国平安人寿保险股份有限公司 | 用户意图匹配方法装置、终端设备及存储介质 |
CN113807148A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 文本识别匹配方法和装置、终端设备 |
CN116821304A (zh) * | 2023-07-07 | 2023-09-29 | 国网青海省电力公司信息通信公司 | 基于大数据的供电所知识智能问答系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150161106A1 (en) * | 2013-12-09 | 2015-06-11 | International Business Machines Corporation | Testing and Training a Question-Answering System |
CN105677822A (zh) * | 2016-01-05 | 2016-06-15 | 首都师范大学 | 一种基于对话机器人的招生自动问答方法及系统 |
CN107066541A (zh) * | 2017-03-13 | 2017-08-18 | 平安科技(深圳)有限公司 | 客服问答数据的处理方法及系统 |
CN107301865A (zh) * | 2017-06-22 | 2017-10-27 | 海信集团有限公司 | 一种用于语音输入中确定交互文本的方法和装置 |
CN107609101A (zh) * | 2017-09-11 | 2018-01-19 | 远光软件股份有限公司 | 智能交互方法、设备及存储介质 |
CN107688667A (zh) * | 2017-09-30 | 2018-02-13 | 平安科技(深圳)有限公司 | 智能机器人客服方法、电子装置及计算机可读存储介质 |
US20180373782A1 (en) * | 2017-06-27 | 2018-12-27 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for recommending answer to question based on artificial intelligence |
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325040B (zh) * | 2018-07-13 | 2020-11-10 | 众安信息技术服务有限公司 | 一种faq问答库泛化方法、装置及设备 |
CN109241258B (zh) * | 2018-08-23 | 2022-09-06 | 江苏索迩软件技术有限公司 | 一种应用税务领域的深度学习智能问答系统 |
CN110321416A (zh) * | 2019-05-23 | 2019-10-11 | 深圳壹账通智能科技有限公司 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
-
2019
- 2019-05-23 CN CN201910435063.2A patent/CN110321416A/zh active Pending
-
2020
- 2020-04-30 WO PCT/CN2020/088052 patent/WO2020233386A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150161106A1 (en) * | 2013-12-09 | 2015-06-11 | International Business Machines Corporation | Testing and Training a Question-Answering System |
CN105677822A (zh) * | 2016-01-05 | 2016-06-15 | 首都师范大学 | 一种基于对话机器人的招生自动问答方法及系统 |
CN107066541A (zh) * | 2017-03-13 | 2017-08-18 | 平安科技(深圳)有限公司 | 客服问答数据的处理方法及系统 |
CN107301865A (zh) * | 2017-06-22 | 2017-10-27 | 海信集团有限公司 | 一种用于语音输入中确定交互文本的方法和装置 |
US20180373782A1 (en) * | 2017-06-27 | 2018-12-27 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for recommending answer to question based on artificial intelligence |
CN107609101A (zh) * | 2017-09-11 | 2018-01-19 | 远光软件股份有限公司 | 智能交互方法、设备及存储介质 |
CN107688667A (zh) * | 2017-09-30 | 2018-02-13 | 平安科技(深圳)有限公司 | 智能机器人客服方法、电子装置及计算机可读存储介质 |
CN109766423A (zh) * | 2018-12-29 | 2019-05-17 | 上海智臻智能网络科技股份有限公司 | 基于神经网络的问答方法及装置、存储介质、终端 |
Non-Patent Citations (1)
Title |
---|
化柏林, 科学技术文献出版社, pages: 25 - 28 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020233386A1 (zh) * | 2019-05-23 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于aiml的智能问答方法、装置、计算机设备及存储介质 |
CN110795548A (zh) * | 2019-10-25 | 2020-02-14 | 招商局金融科技有限公司 | 智能问答方法、装置及计算机可读存储介质 |
CN111582996A (zh) * | 2020-05-20 | 2020-08-25 | 拉扎斯网络科技(上海)有限公司 | 业务信息的展示方法及装置 |
CN111582996B (zh) * | 2020-05-20 | 2023-11-24 | 拉扎斯网络科技(上海)有限公司 | 业务信息的展示方法及装置 |
CN113807148A (zh) * | 2020-06-16 | 2021-12-17 | 阿里巴巴集团控股有限公司 | 文本识别匹配方法和装置、终端设备 |
CN112069230A (zh) * | 2020-09-07 | 2020-12-11 | 中国平安财产保险股份有限公司 | 数据分析方法、装置、设备及存储介质 |
CN112069230B (zh) * | 2020-09-07 | 2023-10-27 | 中国平安财产保险股份有限公司 | 数据分析方法、装置、设备及存储介质 |
CN112667789A (zh) * | 2020-12-17 | 2021-04-16 | 中国平安人寿保险股份有限公司 | 用户意图匹配方法装置、终端设备及存储介质 |
CN112667789B (zh) * | 2020-12-17 | 2024-07-26 | 中国平安人寿保险股份有限公司 | 用户意图匹配方法装置、终端设备及存储介质 |
CN116821304A (zh) * | 2023-07-07 | 2023-09-29 | 国网青海省电力公司信息通信公司 | 基于大数据的供电所知识智能问答系统 |
CN116821304B (zh) * | 2023-07-07 | 2023-12-19 | 国网青海省电力公司信息通信公司 | 基于大数据的供电所知识智能问答系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020233386A1 (zh) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321416A (zh) | 基于aiml的智能问答方法、装置、计算机设备及存储介质 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
JP6309644B2 (ja) | スマート質問回答の実現方法、システム、および記憶媒体 | |
US10115056B2 (en) | Method and apparatus for responding to an inquiry | |
JP6813591B2 (ja) | モデル作成装置、テキスト検索装置、モデル作成方法、テキスト検索方法、及びプログラム | |
CN1871597B (zh) | 利用一套消歧技术处理文本的系统和方法 | |
US7295965B2 (en) | Method and apparatus for determining a measure of similarity between natural language sentences | |
CN109032375A (zh) | 候选文本排序方法、装置、设备及存储介质 | |
JP6759308B2 (ja) | 保守装置 | |
CN108304375A (zh) | 一种信息识别方法及其设备、存储介质、终端 | |
CN106570180A (zh) | 基于人工智能的语音搜索方法及装置 | |
CN114580382A (zh) | 文本纠错方法以及装置 | |
CN108345686A (zh) | 一种基于搜索引擎技术的数据分析方法及系统 | |
CN112487140A (zh) | 问答对话评测方法、装置、设备及存储介质 | |
CN110060674A (zh) | 表格管理方法、装置、终端和存储介质 | |
CN112364167A (zh) | 基于深度学习的意图识别方法、系统、设备及存储介质 | |
CN113392305A (zh) | 关键词的提取方法及装置、电子设备、计算机存储介质 | |
CN112883182A (zh) | 一种基于机器阅读的问答匹配方法及装置 | |
CN116097246A (zh) | 利用自动完成作为支持可视化分析的数据发现支架 | |
Chang et al. | A methodology and interactive environment for iconic language design | |
KR102285232B1 (ko) | 형태소 기반 ai 챗봇 및 그의 문장의도 결정 방법 | |
CN114065760B (zh) | 基于预训练语言模型的法律文本类案检索方法及系统 | |
CN115309994A (zh) | 地点检索方法、电子设备以及存储介质 | |
CN103020311B (zh) | 一种用户检索词的处理方法及系统 | |
CN114970557B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191011 |
|
RJ01 | Rejection of invention patent application after publication |