首页> 中国专利> 一种基于知识图谱的金融问题反问方法及系统

一种基于知识图谱的金融问题反问方法及系统

摘要

本发明涉及一种基于知识图谱的金融问题反问方法及系统,包括根据提问分类模型对用户输入的内容进行场景情况分类,当分类结果为内容不明确或为重要内容时进行反问的场景情况时进行反问操作;针对金融问答知识体系构建知识图谱;基于知识图谱进行反问句匹配;获取反问实体和实体类型结构,结合句式模板库获取反问句式,并生成反问句;基于神经网络分类器构建声音预测模型和表情预测模型并获取声音和视觉表情;金融领域聊天机器人结合反问句式、声音和视觉表情对用户进行反问。本发明能够使问答系统充分了解用户信息和用户的提问信息,在问题不明确时提出真正精确的反问,从而使得回答更加正确,提高问答系统解决用户问题的能力。

著录项

  • 公开/公告号CN112287090A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 深圳季连科技有限公司;

    申请/专利号CN202011319803.5

  • 申请日2020-11-23

  • 分类号G06F16/332(20190101);G06F16/35(20190101);G06F40/295(20200101);

  • 代理机构44386 广州海藻专利代理事务所(普通合伙);

  • 代理人郑凤姣

  • 地址 518000 广东省深圳市南山区粤海街道海珠社区海德三道15号海岸大厦东座1403A-3002

  • 入库时间 2023-06-19 09:44:49

说明书

【技术领域】

本发明涉及人工智能的技术领域,尤其涉及一种基于知识图谱的金融问题反问方法及系统。

【背景技术】

在金融领域的问答系统中,经常是人们输入内容进行提问,然后问答机器人直接回答。但是当人们提出的问题模糊不清时,或者问题存在歧义时,问答机器人则容易答非所问而不能解决用户的真实问题。当用户不知道应该问什么时,或用户对问题理解不深时,则问题容易缺失部分信息,此时对话机器人难以有效工作。针对上述问题,需要对话机器人在合适情况进行反馈或反问,这样才能更好的跟人互动起来,对话机器人才能清楚了解人们的真实问题,从而有效加以解决。对话机器人反问有利于了解更多信息,有利于确认用户信息,具有重要作用。为了让对话机器人能够更有效解决人们问题,在问答系统中是反问机制更加精确可行,因此对金融领域的问答反问进行更加精确回答的设计,是一个重要的需要解决的问题。

发明专利CN110334272A基于知识图谱的智能问答方法、装置及计算机存储介质,揭露了一种基于知识图谱的智能问答方法,包括:获取问答数据集,根据所述问答数据集构建知识图谱关系型数据集,对所述知识图谱关系型数据集进行预处理操作得到逻辑问答数据集,提取所述逻辑问答数据集内的逻辑问题数据集,并计算所述逻辑问题数据集内数据之间的问题相似度并建立网页链式接口,接收用户输入的问题后预处理,并计算所述用户输入的问题与所述逻辑问题数据集内数据的问题相似度,判断所述问题相似度集合与预设问题阈值的大小关系,直至最后输出所述用户输入的问题的答案。该发明专利通过问题相似度匹配问题从而得到答案,能够回答逻辑表述清晰的问答。但是,当人们提出的问题模糊不清时,或者问题存在歧义时,该方法则容易匹配到不相关的问题,以及容易答非所问而不能解决用户的真实问题,而且它没有涉及到金融领域知识的反问。因此,如何能够在合适情况进行反馈或反问,引导人们表述清楚真实问题,从而解决问题就显得尤为重要。

【发明内容】

本发明提供了一种基于知识图谱的金融问题反问方法,用于使问答系统充分了解用户信息和用户的提问信息,在问题不明确时提出反问,从而使得回答更加正确,提高问答系统解决用户问题的能力。

本发明提供了一种基于知识图谱的金融问题反问方法,主要包括以下步骤:

根据提问分类模型对用户输入的内容进行场景情况分类,当分类结果为内容不明确或为重要内容时进行反问的场景情况时进行反问操作;针对金融问答知识体系构建知识图谱;基于知识图谱进行反问句匹配;获取反问实体和实体类型结构,结合句式模板库获取反问句式,并生成反问句;基于神经网络分类器构建声音预测模型和表情预测模型获取声音和视觉表情;金融机器人结合反问句式、声音和视觉表情对用户进行反问。

进一步可选地,如上所述的方法中,所述对用户输入的内容进行场景情况分类主要包括以下步骤:

判断用户输入的内容是否存在歧义,包括对输入内容进行分词,通过歧义消解算法判断用户的提问是否是能够被识别,当歧义消解算法判定输入内容中存在歧义,则进一步判断是否歧义两者的概率,当其中歧义的两种分词结果,一方大于另一方超过一定阈值,则无需提问,反之,需要对用户进行提问;

若用户输入的内容不存在歧义,则判断用户的输入内容是否粒度合适,包括获取用户输入的内容,进行命名实体识别,获取内容的实体词,通过同义词词林匹配出词语在同义词词林中的哪一层,若层数小于或等于2层,则认为粒度不合适,需要对用户进行反问。

进一步可选地,所述构建知识图谱,主要包括以下步骤:

构建层级知识体系,所述体系结构包括设定的大类、小类和要素;基于序列标注的关键词自动提取技术抽取输入内容的关键词;基于预训练模型的lookup table embedding将关键词转化成词语向量;输入word2vec模块,获得各个关键词的相近词或不同表述;判断这些词语在同一个句中是否共现,当共现概率大于预设的次数时,提取出问题和小类的关系、或者提取出小类和要素的关系。

进一步可选地,所述基于知识图谱进行反问句匹配,主要包括:

构建提问分类模型,所述提问分类模型为能够对输入文本进行场景情况分类的文本分类模型;

获取训练语料,包括获取金融对话语料以及对其进行场景情况标注后得到的场景标签;

根据训练语料训练提问分类模型,反复迭代直至收敛,得到训练后的提问分类模型;

训练后的提问分类模型对用户输入的内容进行场景情况分类,判断是否需要进行反问操作。

进一步可选地,所述获取反问实体和实体类型结构还包括,

收集用户的金融提问数据作为训练集文本,收集人工签注的实体类型标签的词向量集,对训练集文本进行分词预处理;

使用word2vec工具构建的词向量空间,获取训练集文本中词的分布式形式表示的词向量;

利用训练集中词向量以及每个词向量已有的实体类型标签,使用谷歌的BERT模型在BLSTM-CRF模型上进行预训练得到BERT-BiLSTM-CRF-NER实体类别预测模型,采用该模型对输入内容进行分析并获得实体和实体类型。

进一步可选地,所述反问实体还可以根据知识图谱关系对和embedding向量相似度获取,根据知识图谱关系获取用户输入内容的关键词汇,并转换为embedding向量,对多个embedding向量进行相似度计算,若找到满足相似度阈值的词,说明要素被提及;否则存在要素缺失,取出对应的要素关键词作为反问实体。

进一步可选地,所述获取反问句式还包括,根据获取的实体类型结构与句式模板库进行比对和匹配,得到所述实体类型结构对应的反问句式。

进一步可选地,所述生成反问句还包括,基于反问实体和反问句式,调用GPT2模型进行反问句的生成;或基于反问实体、反问句式和albert模型生成反问句。

进一步可选地,其中,所述获取声音和视觉表情还包括,根据用户输入内容场景情况,进行声音和视觉表情的设计,主要包括:

利用神经网络分类器基于实体和声音对应数据构建声音预测模型;对所述用户的输入实体利用所述声音预测模型预测声音;利用神经网络分类器对实体和声音表情对应数据构建表情预测模型,对所述用户输入实体利用所述表情预测模型预测表情。

本发明提供了一种基于知识图谱的金融问题反问系统,所述系统包括:

场景情况分类模块,用于对用户输入的内容进行场景情况分类;

知识图谱关系模块,能够对用户输入的内容的要素进行判断和分类;

反问句生成模块,用于获取反问实体、实体类型结构和反问句式,最终生成反问句;

声音表情设计模块,用于根据场景情况设计相匹配的金融机器人进行反问时的声音和视觉表情。

本发明实施例提供的技术方案可以包括以下有益效果:

基于本发明提出的方法有利于问答系统了解更多信息和确认用户的提问内容,在用户提出的内容存在歧义、模糊不清的情况时,及时反问,避免给出的回答并非用户需求的内容;另外在用户提出的重要内容的相关问题时,给予反问确认,从而确保用户确实要进行相关重要操作,减少操作失误的可能性。通过该方法能够使得问答系统对于用户提出的金融相关问题的回答更加正确,提高问答系统解决用户问题的能力。

【附图说明】

图1为本发明提出的基于知识图谱的金融问题反问方法的流程图示意图;

图2为本发明提出的基于知识图谱的金融问题反问系统的结构示意图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

图1为本发明提出的一种基于知识图谱的金融问题反问方法的流程示意图。如图1所示,本实施例一种基于知识图谱的金融问题反问方法具体可以包括如下步骤:

步骤1,根据提问分类模型对用户输入的内容进行场景情况分类,当分类结果为内容不明确或者为重要内容时需要进行反问操作。

具体的,首先对输入内容进行分词,通过歧义消解算法判断用户的提问是否是能够被识别,当歧义消解算法判定输入内容中存在歧义,则进一步判断是否歧义两者的概率。当其中歧义的两种分词结果,一方大于另一方超过一定阈值,则无需提问,其中阈值可以由本领域技术人员根据实际需求设置。反之,对用户进行提问。例如对于输入内容为问题“学生会组织慈善活动吗?”时,包括两种不同的理解方向:其一,学生|会组织慈善活动吗?即主语为学生,其二,学生会|组织慈善活动吗?即主语为学生会,对于该问题需要反问确认主语,即组织慈善活动的是学生还是学生会;有些歧义是可以通过歧义消解算法得到解决和认清的,但是有些是无法消除的歧义。针对无法消除的歧义,需要进行反问。歧义消解算法通过分析分词时是否发生两种或多种分词都为正确的情况。判断是否存在歧义。如果存在这种情况则进行反问。具体的歧义消解算法可以参考《用于中文分词的组合型歧义消解算法》。

如果用户的输入内容,不存在歧义,那么进一步的判断用户的输入内容是否粒度合适,粒度即输入内容的详细度,主要包括,获取用户输入的内容,进行命名实体识别,获取输入内容的实体词,通过同义词词林,匹配出词语在同义词词林中的哪一层。同义词词林的词语根据其序号的字母组成,可以分为6层,层数越深概念越细。如果层数在第一,第二层,那么说明还不够详细,需要进一步反问。输入内容的问题粒度太粗的情况包括,例如用户说他住在中国,而问答机器人的初衷是想提问他住在中国哪个城市甚至哪个街道和房号,这个时候说明输入内容的粒度不合适,就需要反问。

当通过同义词词林快速初步的判断出用户的对话内容需要进一步反问后。进一步的,针对用户输入中是否匹配到知识图谱三元组中的内容,来判断应该针对哪部分内容进行提问。具体的方案参考步骤二。

如果用户的输入内容粒度合适,即足够详细,则判断答案是否为重要内容,即进一步的分析用户输入内容中是否存在金钱,时间、地点等重要事件的名称。通过知识图谱的匹配,判断需要对哪个词语进行提问。例如对于问题可以贷款20.5万吗?该问题设计大额金钱,属于重要内容,则需要对贷款数额进行再次确认,例如反问确定贷款数额是否为20.5万。

当用户输入的内容不明确,即内容有歧义,或者问题的粒度不合适时;以及判断用户输入的内容为重要内容时,需要通过反问对用户输入的内容进行确认。

步骤二,针对金融问答知识体系构建知识图谱。

该过程还包括以下步骤:构建层级知识体系,即所有问题一般分为哪几大类,每类问题包括哪些小类,小点下面有哪些要素,所述大类、小类、要素由本领域专业人员根据业务需要通过人工标注进行设定;基于序列标注的关键词自动提取技术能将上述提及的问题、小类、要素的关键词从原始语料抽取出来,获得这些要素的重要关键词;基于预训练模型的lookup table embedding将关键词转化成词语向量;输入word2vec模块,获得各个关键词的相近词或不同表述,例如将词语‘金融’通过word2vec算法能够获得该词语的同义词‘股市’、‘理财’,‘经济’等。判断这些词语在同一个句中是否共现,当共现概率大于预设的次数时,提取出问题和小类的关系、或者提取出小类和要素的关系。例如‘股市’作为大类经常与‘大盘’同时出现,因此在设定股市为大类时,可以知道,‘股市大盘’为小类,如果大盘跟涨幅,通过词频统计确定他们经常共现,则认为‘股市大盘涨幅’为要素。

具体的,对于问题“如何办理商业贷款”,通过知识图谱的匹配,可以匹配到问题为“贷款”,进一步的,匹配的问题关联的小类,还可以进一步匹配到小类:“贷款流程”、“贷款金额”、“提前还款”,自动抽取为三元组<贷款,贷款流程,小类>,<贷款,贷款金额,小类>,<贷款,提前还款,小类>;进一步具体搜索到每个小类的精准答案,如贷款金额,金额是指什么货币的金额、不同金额不同利息,具体利息是多少。进一步的还需要了解是企业贷款还是个人贷款,贷款用途,是否有抵押等等。因此在这一层构建三元组<贷款金额,货币种类,要素>,<贷款金额,金额利息,要素>等等。

步骤三,基于知识图谱进行反问句匹配。

在问答过程中,针对问答场景中可以利用该步骤构建好的知识图谱根据提问的要素是否齐全来判断是否需要生成反问,即先构建问句分类模型。用于判断用户的输入内容属于知识图谱中的哪大类;这一步可以使用文本分类模型进行识别判断;得到用户的输入内容所述领域后,接下去判断要素是否齐全,可以通过关键词检索进行判断。在根据用户输入作出的以上判断中,若在任意一步没有得到明确某个类型的反馈,就需要对提问者发起反问确认。

上述步骤中,所述的构建问句分类模型,主要包括以下内容:

构建提问分类模型,所述提问分类模型为能够对输入文本进行场景情况分类的文本分类模型;具体的,本实施例中可采用的文本分类模型包括FastText、LSTM、BERT等模型,用于进行文本分类。

对提问分类模型的训练还包括以下步骤:首先获取训练语料,包括获取金融对话语料以及对其进行场景情况标注后得到的场景标签;所述场景是指,在金融领域各个业务线上存在的业务场景,例如借款、投资、股票咨询、基金等等各类场景。本实施例中,金融对话语料可以来自公开的金融语料库,或通过在论坛新闻等各大类网站上实际采集,且采集的内容应涵盖金融领域的各常见问题和回答,从而全面覆盖各种场景情况,其中的版块名称可以作为这些语料的自动标注内容。然后,针对缺失的场景,则通过人工对获取得到的对话语料进行标注,标注每个对话对应的场景情况。人工审核对话内容,根据对话内容判断真实的场景情况,为对话打上场景标签。

根据训练语料训练LSTM模型或者BERT模型,通过反复迭代直至收敛,得到训练后的提问分类模型。

训练后的提问分类模型对用户输入的内容进行场景情况分类,判断用户问题所属的领域场景,根据领域场景,匹配知识图谱中的问题层,再通过问题层,匹配小类,最后使匹配元素层,当匹配不到相应的答案时,则对用户的输入进行反问操作。

步骤四,获取反问实体和实体类型结构,结合句式模板库获取反问句式,并生成反问句。

所述反问实体和实体类型结构还包括,

收集用户的金融提问数据作为训练集文本,收集人工签注的实体类型标签的词向量集,对训练集文本进行分词预处理;

使用word2vec工具构建的词向量空间,获取训练集文本中词的分布式形式表示的词向量;

利用训练集中词向量以及每个词向量已有的实体类型标签,使用谷歌的BERT模型在BLSTM-CRF模型上进行预训练得到BERT-BiLSTM-CRF-NER实体类别预测模型,该模型是一个github上很流行的实体识别开源软件,可以进行下载安装使用。采用该模型进行分析,可以获得对应的实体和实体类型。

具体的,如用户输入内容为“我想贷款20万”时,基于开源工具BERT-BiLSTM-CRF-NER实体类别的预测模型匹配到其实体为贷款,类型为资金类型,而资金类型是需要进行再次反问确认的。

在本实施例中,所述反问实体还可以根据知识图谱关系对和embedding向量相似度获取,根据知识图谱关系获取用户输入内容的关键词汇,并转换为embedding向量,对多个embedding向量进行相似度计算,若找到满足相似度阈值的词,说明要素被提及;否则存在要素缺失,取出对应的要素关键词作为反问实体。

例如对于问题“可以贷款20万吗?”,通过提问分类模型可以判断该问题关于贷款;根据“贷款”的知识图谱关联出小类包括“贷款流程”、“贷款金额”、“提前还款”等,并通过关键词检索得到该问题为“贷款金额”相关的问题;查询知识图谱,找到确认“贷款金额”问题答案的要素,包括“客户身份”、“贷款用途”两项;将问句的词汇转成词embedding向量,再和“客户身份”、“贷款用途”两个关键词的embedding向量进行相似度计算。

所述获取反问句式还包括,根据获取的实体类型结构与句式模板库进行比对和匹配,得到所述实体类型结构对应的反问句式。

所述生成反问句还包括,基于反问实体和反问句式,调用GPT2模型进行反问句的生成;或基于反问实体、反问句式和albert模型生成反问句。

具体的,对于GPT2模型,当用户输入内容为“贷款20万”时,获取的的反问实体是“20万”,反问句式为“[金额]+是+[条目]+?”,则将实体和句式转换为GPT2模型可以识别的形式的数据,并输入至GPT2模型中,可以得到反问句“20万是贷款金额吗?”。

albert模型为当前自然语言处理领域中的常用模型之一,其使用前应当进行与训练。反问实体、反问句式以及用户的输入本身构成了反问句生成的输入信息,基于albert模型生成反问句还包括以下步骤,

数据构造,即需要针对已有的问题和反问句数据对,构造样本数据;本实施例中即根据用户的输入内容,通过分类器确认提问的类别、子问题、和要素。

对反问句的词汇和要素词汇做词向量匹配;该过程用户确认反问句是根据哪个具体要素在提问。

通过判别模型得到句式信息;此时能够得到((问句,要素实体,句式),反问句)形式的样本。

进一步的,构造生成式模型albert;其基础框架为谷歌2019年提出的albert模型,该模型是基于transformer特征提取器构造的seq2seq模型,提前用海量语料基于nextsentence predict和mask language model两个任务做预训练,生成模型基础权重。在具体应用中可以基于迁移学习思路在albert模型之上构建其他网络结构,并用领域数据做模型微调训练,对于一般的自然语言处理任务能得到较好的应用效果。本实施例中生成式任务符合典型的encoder-decoder框架,encoder部分只需要用预训练好的albert模型初始化encoder部分的多头多层transformer,对于decoder端,由于需要防止数据穿越,因此decode端在多头多层transformer基础上要对输入做mask,然后以albert预训练权重为权重初始值,根据seq2seq模型force teach策略进行模微调训练,将提前处理好的样本作为微调语料训练albert。

albert模型根据问句文本、要素实体和句式生成反问句。

步骤五,基于神经网络分类器构建声音预测模型和表情预测模型获取声音和视觉表情。

所述获取声音和视觉表情还包括,根据用户输入内容场景情况,进行声音和视觉表情的设计,主要包括:

利用神经网络分类器基于实体和声音对应数据构建声音预测模型;对所述用户的输入实体利用所述声音预测模型预测声音;利用神经网络分类器对实体和声音表情对应数据构建表情预测模型,对所述用户输入实体利用所述表情预测模型预测表情,所述预测方法采用《Dank Learning:Generating Memes Using Deep Neural》论文的方法,结合已经实现的开源项目MemeProject进行实现,并生成表情,在反问中针对反问表情进行生成。所述基于神经网络分类器还可以采用百度的语音合成AipSpeech接口进行分析。通过调整语速、音量、音调三者的关系达到反问的重点强调的效果。例如在反问用户时,针对反问的重点词语,采用更大的音量向用户播放,并使音调调高,达到更有特色的反问效果和互动感。

例如当用户输入为“贷款20万”时,识别的场景情况为用户输入的内容为重要内容,而且是贷款申请的重要场景,设计提醒音效提示贷款金额,对20万进行加大音量和提升音调。在贷款金额“20万”附近设置醒目的表情,同时使得“20万”的文字变得醒目。以此达到更好的反问提醒效果。最后金融机器人结合反问句式、声音和视觉表情对用户进行反问。

本领域技术人员应当理解的是,上述系统中的各模块可以基于计算机或智能数据处理芯片通过程序代码执行,本实施例中最终将系统程序导入能够和用户进行互动的机器人中并运行,本实施例为金融机器人,用户通过和金融机器人的互动,进行问答并获取其所需信息。

用于实现本发明进行信息控制的程序,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、python、C++,还包括常规的过程式程序设计语言—诸如C语言或类似的程序设计语言。程序代码可以完全地在学生计算机上执行、部分地在学生计算机上执行、作为一个独立的软件包执行、部分在学生计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到学生计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。

而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号