首页> 中国专利> 一种基于大数据和AI算法的手机问题智能问答方法

一种基于大数据和AI算法的手机问题智能问答方法

摘要

本发明公开了一种基于大数据和AI算法的手机问题智能问答方法,包括以下步骤:S1、构建常见问题解答库即FAQ库;S2、构建基于DNN神经网络的分类AI模型,从互联网中获取与手机相关的多个评论的文字信息构建训练集对分类AI模型进行训练;S3、基于Bert算法构建相似度计算模型;S4、采集手机相关提问的文字信息输入至分类AI模型,得到待处理数据对应的分类,并FAQ库中获取对应分类的问题解答子集;S5、将手机相关提问及其对应分类的问题解答子集输入至相似度计算模型,得到匹配的问题及其答案,并将答案提供给用户。本发明可根据用户自由提问,智能为用户提供正确的答案的服务。

著录项

  • 公开/公告号CN112256833A

    专利类型发明专利

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

    原文格式PDF

  • 申请/专利权人 清华大学深圳国际研究生院;

    申请/专利号CN202011147321.6

  • 发明设计人 胡亚军;邵若梅;孙树清;

    申请日2020-10-23

  • 分类号G06F16/33(20190101);G06F16/332(20190101);G06F16/35(20190101);

  • 代理机构44223 深圳新创友知识产权代理有限公司;

  • 代理人江耀纯

  • 地址 518055 广东省深圳市南山区西丽街道深圳大学城清华校区A栋二楼

  • 入库时间 2023-06-19 09:38:30

说明书

技术领域

本发明涉及文本数据人工智能处理方法领域,具体是一种基于大数据和AI算法的手机问题智能问答方法。

背景技术

目前,手机厂家的网上客服中心一般设置用户帮助模块,用于回答用户关于手机的问题,例如手机的显示屏、相机、电池等种类相关的问题。现有的用户帮助模块的设定是,如果用户遇到问题,可以去网上客服中心中去查阅手机所有的问题和对应的解答,通过查阅所有的问题集合,用户可能会找到与其遇到的问题相似的情况,从而得到想要的答案;如果用户无法在网上客服中心找到想要的答案,那么还可以在系统中进一步提出问题,而进一步提出的问题会发送到客服邮件系统中,客服会按照发送到客服邮件系统的所有问题的先后顺序,人工给予用户解答并发送到用户的邮箱中。上述过程耗时较长,系统反馈不及时,用户需要长时间等待,因此用户体验较差。

发明内容

本发明的目的是提供一种基于大数据和AI算法的手机问题智能问答方法,以解决现有技术手机网上客服中心用户帮助模块回答用户提出的手机相关问题存在的耗时长、反馈不及时的问题。

为了达到上述目的,本发明所采用的技术方案为:

一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:包括以下步骤:

S1、构建常见问题解答库即FAQ库,在FAQ库中对常见问题进行分类,得到多个分类的问题解答子集,每个分类的问题解答子集均包含同一种分类的多个问题和对应的答案;

S2、构建基于DNN神经网络的分类AI模型,所述分类AI模型输入为向量数据,输出为分类,并从互联网中获取与手机相关的多个评论的文字信息作为预料数据,将预料数据转换为计算机可以识别的向量数据后作为训练集,然后将训练集输入至分类AI模型进行训练,以得到预测准确率符合要求的分类AI模型;

S3、基于Bert算法构建相似度计算模型;

S4、采集手机相关提问的文字信息作为待处理数据,将待处理数据转换为向量数据后输入至步骤S2训练后的分类AI模型,得到待处理数据对应的分类,然后从步骤S1得到的FAQ库中获取对应分类的问题解答子集;

S5、将待处理数据对应的向量数据、步骤S4得到的对应分类的问题解答子集,分别输入至步骤S3得到的相似度计算模型,由相似度计算模型进行距离计算,得到与待处理数据对应问题距离最近的对应分类的问题解答子集中的问题及答案,并以得到的答案作为匹配答案提供给用户。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:步骤S1中的FAQ库,由多个渠道获取的手机相关问题和各个问题的答案的文字信息数据化后构成。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:步骤S2中,采用爬虫抓取的方式从互联网中获取与手机相关的多个评论的文字信息作为预料数据。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:基于Scrapy框架构建由爬虫调度器、URL管理器、网页下载器、网页解析器构成的爬虫服务程序进行爬虫抓取,其中的网页下载器从互联网中下载网页数据,URL管理器对下载的网页数据进行管理,网页解析器对各个网页数据的HTML标签进行识别并解析出与手机相关的多个评论的文字信息,爬虫调度器用于调度URL管理器、网页下载器、网页解析器,最终获取的与手机相关的多个评论的文字信息存储至Mysql数据库中。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:在爬虫服务程序中基于动态IP代理技术构建爬虫的IP池,以确保爬虫持续从互联网中抓取下载网页数据。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:步骤S2中构建训练集前,首先将多种语言的与手机相关的多个评论的文字信息分别翻译转换为同一种语言,然后清洗剔除无效的文字信息,经翻译转换、清洗后的文字信息作为预料数据。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:采用语句有效度判断并结合停用词表的方式清洗剔除无效的文字信息。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:步骤S2中,采用词嵌入方式将预料数据转换为向量数据。

所述的一种基于大数据和AI算法的手机问题智能问答方法,其特征在于:步骤S2中,构建的分类AI模型包含一个输入层、至少两个隐藏层和一个输出层,每个隐藏层均包含多个神经元,在训练过程中通过调整隐藏层的层数以及每个隐藏层的神经元个数,最终得到预测准确率符合要求的分类AI模型。

本发明搭建了一个强大的爬虫系统,从互联网中获取海量的用户评论数据,然后在利用大数据技术对这些数据进行清洗,将处理好的部分数据进行人工打标签,这些标签数据集就是接下来要加入到基于人工智能技术的分类模型中进行模型训练的数据,最终得到一个有效的分类模型。根据AI分类模型对问题进行分类,获得用户准确要了解的问题分类(比如通过分类模型,获知用户是要了解关于电池的问题)。对用户的问题进行有效的分类之后,再使用Bert模型用该问题与FAQ子集中的问题进行距离运算,找到距离最小的,作为最匹配用户问题的FAQ目标问题,最后将该问题对应的答案发送给到用户。这里提供的智能问答服务,主旨就是为了及时地对用户的提问进行快速有效的解答,给以用户实时交互的感受。

通过以上的思想,本发明能够将提供给到用户的答案的准确率达到90%以上。对于无法回答用户或者用户反馈回答内容与他的问题无关的时候,可以收集这些问题,找到问题所在答案,并将收集的问题和答案扩充至FAQ库中,以进一步提升智能问答服务的业务能力。

本发明的有益效果:本发明可根据用户自由提问,智能为用户提供正确的答案的服务,具有耗时短、反馈及时的优点,无须用户长时间等待,提高了用户体验。

附图说明

图1是本发明实施例方法流程框图。

图2是本发明实施例原理图。

图3是本发明实施例爬虫服务技术流程图。

图4是本发明实施例爬虫服务构成结构图。

图5是本发明实施例语言翻译的技术流程图。

图6a是词嵌入中跳字模式原理图。

图6b是词嵌入中连续词袋模式原理图。

图7是本发明实施例分类AI模型构架原理图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

如图1、图2所示,一种基于大数据和AI算法的手机问题智能问答方法,包括以下步骤:

S1、构建常见问题解答库即FAQ库,在FAQ库中对常见问题进行分类,得到多个分类的问题解答子集,每个分类的问题解答子集均包含同一种分类的多个问题和对应的答案。

FAQ库由多个渠道获取的手机相关问题和各个问题的答案的文字信息数据化后构成,该FAQ库可扩充,即对于经过本发明无法回答的问题或回答不正确的问题,可经过专家研究获取答案后,再加入至FAQ库中。

要实现一个智能问答系统,我们首先有一个FAQ库,也就是常见问题解答库,其中记录着提供用户平时经常遇到的问题和相关的答案,比如会有如下问题:Q:Why i can notcharge my phone?A:You should go to the shop which you bought the phone,andthen fill a form and send the form to us.so we can check your phone andrepair it.因此,要从多个渠道获取信息,不断扩充FAQ库,以便FAQ库存在大部分人的问题以及对应的答案。

S2、构建基于DNN神经网络的分类AI模型,分类AI模型输入为向量数据,输出为分类,并从互联网中获取与手机相关的多个评论的文字信息作为预料数据,将预料数据转换为计算机可以识别的向量数据后作为训练集,然后将训练集输入至分类AI模型进行训练,以得到预测准确率符合要求的分类AI模型。

如图3、图4所示,本发明步骤S2中,采用爬虫服务程序从互联网上获取手机电商网站和测评网站的用户评论反馈的手机相关的文字信息作为预料数据,然后用这些文字信息来构造分类AI模型的训练集。

对于手机终端用户而言,有着几千万上亿的用户,每个用户对同一个问题的表达方式都不一样,那么就不能简单地通过规则匹配的方式来去洞察用户的提问,需要去通过人工智能算法来理解用户问题,从而给用户提供最可能的正确答复。这个算法过程所使用到的句子向量化,需要很多预料来去构造词向量模型,同时,预料最好是针对某一个领域的,因此本发明用了爬虫框架来获取手机电商网站和测评网站的用户反馈,然后用这些预料来构造模型。当前主要是通过搭建网络爬虫服务来抓取手机相关网站的评论内容和手机收集到的用户反馈作为语料库。

爬虫服务程序基于Scrapy框架构建,其由爬虫调度器、URL管理器、网页下载器、网页解析器组成,其中的网页下载器从互联网中下载网页数据,URL管理器对下载的网页数据进行管理,网页解析器对各个网页数据的HTML标签进行识别并解析出与手机相关的多个评论的文字信息,爬虫调度器用于调度URL管理器、网页下载器、网页解析器。爬虫服务程序的核心是网页解析器,它需要根据每一个网页以及需要从网页中爬取的某一个或多个信息来进行定制化编程,通过识别不同的HTML标签,然后解析出对应的信息,最终解析的信息进行结构化后存储到Mysql数据库中,提供给后续的大数据分析服务。

同时,本发明在爬虫服务程序中基于动态IP代理技术构建爬虫的IP池,以确保爬虫持续从互联网中抓取下载网页数据。

本发明步骤S2中,构建训练集前,首先将多种语言的与手机相关的多个评论的文字信息分别翻译转换为同一种语言,然后清洗剔除无效的文字信息,经翻译转换、清洗后的文字信息作为预料数据。

如图5所示,翻译转换有如下两种方案:人工翻译和调用谷歌API翻译。其中人工翻译有如下问题:需要多种翻译人才,人力的成本非常高;翻译质量依赖对应的翻译者的能力和素养;翻译的时间长、无法实时翻译,且翻译人员不可能全天候工作。而对于调用谷歌API翻译,则避免了人工翻译的如上缺点,而且还存在如下好处:免费调用,虽然调用频率有所限制,但是不影响平时的使用;翻译质量高。本发明采用谷歌API翻译将各种语言统一翻译成英文,可以翻译高达100种语言,并可以实现实时翻译,接口调用之后可以马上获得对应的翻译结果。若谷歌翻译无法翻译某些句子,将这些无法翻译句子舍弃掉或者提供给到人工翻译组进行翻译,总体来说可以采用机器翻译为主、人工翻译为辅进行翻译转换,一方面解决了翻译的成本过高和不实时的问题,同时也尽量避免了机器翻译一些不足之处。

本发明步骤S2中,进行清洗时采用语句有效度判断并结合停用词表的方式清洗剔除无效的文字信息。具体采用了如下两个手段来进行数据清洗过程:

1、通过句子单词有效度方式来判断语句的有效性:如果一句话中,有效单词个数/总字数>50%则认为这句话是有效反馈,当然还有其他更加深入的方式来判断语句的有效性,但是由于目前收集到的评论数据相对较多,因此可以通过简单的方式去除相对价值不大的内容。

2、通过停用词表来过滤无用单词:停用词一般指对语义分析没有相应的贡献作用的字词,比如某一些标点符号、语气、人称等一些词。所以在日常的文本处理中,在进行了分词之后,接下来一步就是去停用词。但是去停用词操作不是一成不变的,相应的停用词词典是根据具体场景来决定的,比如在情感分析中(正向评价、中性评价、负面评价),相应的语气词、感叹号是应该保留的,因为这些词对表示语气程度、感情色彩有相应的贡献和意义的。

本发明步骤S2中,采用词嵌入方式将预料数据转换为计算机可以识别的向量数据后作为训练集,如图6a、6b所示。

为了让计算机理解单词和语句,需要针对单词进行编码,转换为计算机可以识别的向量数据,最基本的方法有one-hot编码方式,比如三个字“我爱你”,可以用进行如下编码:我=001、爱=010、你=100,由此可见,语料库有多少个字,就需要使用多少位的编码来表示每一个字,导致每个字的编码过长,另外一个关键的问题是每个词的编码都是独立的,没有包含常出现在这个词周围的其他词的信息。为了解决如上问题,本发明使用词嵌入word2vec方式进行转换,word2vec实现和核心思想有两种:

1、跳字模型(skip gram)。假设基于某个词来生成它在文本序列周围的词。假设文本序列是“the”、“man”、“loves”、“his”和“son”。以“loves”作为中心词,设背景窗口大小为2。如图6a所示,跳字模型所关心的是,给定中心词“loves”,生成与它距离不超过2个词的背景词“the”、“man”、“his”和“son”的条件概率,即P(the",man",his",son"∣``loves"),假设给定中心词的情况下,背景词的生成是相互独立的,那么上式可以改写成P(the"∣loves")·P(man"∣loves")·P(his"∣loves")·P(son"∣loves")。

2、连续词袋模型(CBOW)。连续词袋模型与跳字模型类似,与跳字模型最大的不同在于,连续词袋模型假设基于某中心词在文本序列前后的背景词来生成该中心词。在同样的文本序列“the”、“man”、“loves”、“his”和“son”里,以“loves”作为中心词,且背景窗口大小为2时,连续词袋模型关心的是,给定背景词“the”、“man”、“his”和“son”生成中心词“loves”的条件概率(如图6b所示),也就是P(loves"∣the",man",his",``son")。

本发明步骤S2中,建立的分类AI模型是基于DNN的人工神经网络模型,在模型训练的过程中,经常会遇到欠拟合或者过拟合的问题,欠拟合表示没有深入了解数据和场景,训练数据量太少或者用了不合适的模型导致模型没有很好地理解实际的数据而出现计算偏差,而过拟合则是用过于复杂的模型来形容一类现象,导致这个复杂的模型没有通用性。

为了避免分类AI模型训练过程中的欠拟合以及过拟合的问题,针对不同的应用场景以及不同的预测对象,在进行模型设计的时候,需要确认每一个分类AI模型中输入层神经元个数、隐藏层数目以及每一个隐藏层具有的神经元数目、输出层的神经元数目。而每个模型中输入层神经元个数、隐藏层数目以及每一个隐藏层具有的神经元数目、输出层的神经元数目都是不同的。同时在模型训练的过程中,随机丢弃某一些神经元(Dropout),选择性地学习数据的某一些特征,从而提高了模型的泛化能力,也就避免了过拟合情况的发生。

本发明构建的分类AI模型共有四个网络层,如图7所示,包括一个输入层、两个隐藏层和一个输出层。输入层的神经元个数为1,对应的是用户提出的手机相关问题的向量数据;第一个隐藏层的神经元个数是1560,第二层隐藏层神经元的个数是195;输出层的神经元个数是10,对应着问题分类如相机、屏幕、电池、连接、存储、外观、性能、价格、声音、硬件。如问题分类再进行细分或有其他的状态,则输出层的神经元个数则相应变化,其输出层的神经元个数对应的是问题分类的总数。隐藏层的数量和其中的神经元个数可以根据实际的效果来进行调整,调整的过程举例如下:

其中一种情况是,预测问题分类的分类AI模型在预测的准确率达到了98%,但是实际使用中预测的准确率却只有65%,这个情况被称之为过拟合,这个时候在可以尝试减少隐藏层数量和神经元个数,将隐藏层数量从两层减少到一层,同时也将这个隐藏层的神经元数目减低为780,从而降低模型的复杂度,提高了分类AI模型“举一反三”的能力。

另一种情况下则是,分类AI模型在实验阶段预测问题分类的准确率只达到70%,这个情况被称之为欠拟合,此时可以尝试增加隐藏层数量和神经元个数,将隐藏层数量从两层增加到三层,第一层的神经元个数为3000,第二层的神经元数量为1000,第三层神经元数量为195,提高模型的复杂度,以增强模型的学习力。

经过多次的训练=》预测=》[调参]=》训练,最终得到一个新的分类AI模型,该分类AI模型在实验阶段和预测阶段的准确率都达到了90%以上,满足分类AI模型要求。

以上整个过程就是一个算法模型调参的过程,所做的事情都是为了实现这个最优的模型:该模型在实验阶段预测的准确率和在实际应用中预测的准确率都达到预期的标准以上。

本发明步骤S2中,构造了分类AI模型后,要创建相应的训练数据,提供给到分类AI模型进行训练,如何构造高质量的数据集,也是非常重要的。对于NLP领域,不同的人对于一句话是有不同的理解的,这样也进一步加大了训练数据的构造的难度。比如对于如下这句话:The photo I just took looks blurry,不同的人对这句话的理解并不一致,有的人会认为这句话是在说Camera、有的人会认为这句话是在说Screen,更有人会认为这个是System的问题。

为了能够构造一个高质量的训练集,本发明采用多个人共同打标签的方式,以选择20个语句标签为例,对训练的数据人为地打上相应的标签,然后再将这些标签汇总。对于句子S,得到二十个标签T1~T20,然后对这20个标签进行分组归类,然后取出分组中个数最多的分类,如果这个分组中的个数超过(包含)15,那么可以认为这个分类有效并作为该句子的最终分类。而对于最大个数的分组,其中的个数少于15的话,则认为此句子分类的理解分歧过大,不纳入到训练集中。

在实际场景中,有的用户在整个问题中,涉及到多个问题,比如这句话:Thecamera focuses too slowly when taking pictures,and i found the battery drainstoo fast.对于这句话,用户反馈了Camera和Battery这两件事情,因此不能简单地将这句话放到训练集中,需要针对这句话进行分隔,分为“The camera focuses too slowly whentaking pictures”和“and i found the battery drains too fast”这两句话,然后再给到语句标签员进行打标签。

S3、基于Bert算法构建相似度计算模型。Bert算法相似度计算模型是双向Transformer的Encoder,其是常用的文本相似度计算模型,曾横扫了多项NLP任务的记录,它相对RNN更加高效、能获取到更长距离的依赖。它能获取到的是真正意义上的信息。

S4、采集手机相关提问的文字信息作为待处理数据,将待处理数据转换为向量数据后输入至步骤S2训练后的分类AI模型,得到待处理数据对应的分类,然后从步骤S1得到的FAQ库中获取对应分类的问题解答子集。

S5、将待处理数据对应的向量数据、步骤S4得到的对应分类的问题解答子集,分别输入至步骤S3得到的相似度计算模型,由相似度计算模型进行距离计算,得到与待处理数据对应问题距离最近的对应分类的问题解答子集中的问题及答案,并以得到的答案作为匹配答案提供给用户。

得到用户提问的词向量及句子向量之后,可以通过这个向量来和FAQ中的问题的句向量来计算向量的距离,最终来确定用户的提问最匹配FAQ中的问题和答案,并推荐给用户。其中计算向量距离有两种方式:欧式距离和余弦距离使用如上的距离计算方法,来计算用户输入的问题和FAQ中的所有问题的向量之间的距离。

为了更好的计算句子相似度,引入了一个新的计算相似度的算法,也就是大名鼎鼎的Bert算法,BERT的是双向Transformer的Encoder。这个模型的主要创新在预训练方法上面,BERT通过预训练和微调,曾横扫了多项NLP任务的记录,它相对RNN更加高效、能获取到更长距离的依赖。它能获取到的是真正意义上的信息。

通过转换并清洗过的预料数据进行有效的微调,得到一个适合手机评论相关的相似度计算模型,这个相似度计算模型能够准确地计算出向量化后的两句话的相似程度,语义越是接近,那么他们的相似度就越高.

因此,通过前面的分类AI模型,对用户提问的问题进行了有效的分类之后,再将向量化后的句子和针对FAQ库中对应类别的问题解答子集(向量化后)输入到相似度计算模型中进行距离计算,距离最近的问题就是与用户提出的手机相关问题最匹配的问题,将此问题对应的答案提供给用户即可。

本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号