首页 / 专利库 / 人工智能 / 自动在线助手 / 一种基于知识图谱的移动端的在线设备故障诊断平台

一种基于知识图谱的移动端的在线设备故障诊断平台

阅读:347发布:2020-05-11

专利汇可以提供一种基于知识图谱的移动端的在线设备故障诊断平台专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于知识图谱的移动端的在线设备故障诊断平台。包括如下步骤:S1,建立数控机床信息 抽取 模 块 ;S2,建立数据清洗与知识图谱模块;S3,建立问答延伸模块;S4,建立后台管理模块。本发明会把用户最终采纳的答案作为新的 节点 纳入知识图谱的关系中,并在机床故障分词词典和问题模板中增添新的记录,使得此系统越用越智能,提升用户的使用体验。,下面是一种基于知识图谱的移动端的在线设备故障诊断平台专利的具体信息内容。

1.一种基于知识图谱的移动端的在线设备故障诊断平台,其特征在于包括如下步骤:
S1,建立数控机床信息抽取
S2,建立数据清洗与知识图谱模块;
S3,建立问答延伸模块;
S4,建立后台管理模块。
2.根据权利要求1所述的一种基于知识图谱的移动端的在线设备故障诊断平台,其特征在于所述步骤S1中信息抽取模块是对网页文档结构树的解析,包括对指定网页信息的精确抽取、对不同网页的自定义模板抽取、基于机器学习的自动抽取、文档的抽取。
3.根据权利要求1所述的一种基于知识图谱的移动端的在线设备故障诊断平台,其特征在于所述步骤S2中知识图谱模块的建立具体包括如下:
(3-1)问句分类,对需要转换生成的问句进行分类;
(3-2)问句疑问语素,根据步骤(3-1)提出的问句种类,为每个分类制定疑问;
(3-3)问句生成,使用的问句生成方案是基于NLP 分析和一定的深度学习的问句生成,字符短的描述性句子使用 NLP 的方式生成问句;对字符过长的描述性语句,使用深度学习的方式来完成问题的生成;
(3-4)问句打分,在问句生成完成之后,对问句进行打分,来判断问句的语法通顺情况;
(3-5)Java-Cypher构建节点、关系、属性,使用java-Cypher,嵌入式结构构建、使用存储在neo4j图数据库中的节点、属性、关系;
(3-6)节点与关系的去重,用JAVA调用Cypher语句,在节点和关系的创建上使用“Merge”替代“Create”完成功能;
(3-7)问题模板生成,对用户的提问或陈述进行语义元素抽取;
(3-8)句子分类,对于用户输入的句子,系统对其构建稠密向量,该稠密向量由贝叶斯分类器进行分类,最终返回用户输入的句子所属的类别,即其对应的问题模板。
4.根据权利要求1所述的一种基于知识图谱的移动端的在线设备故障诊断平台,其特征在于所述步骤S3中问答延伸模块的建立具体包括如下:
(4-1)端到端神经网络的原理及训练
端到端问答系统能基于用户的问句中的每一个词依次生成答句基于用户的问句中的每一个词依次生成答句;
(4-2)多轮对话的应用
在确保查询精度的前提下,创造性地应用多轮对话,开辟了小助手查询模式。
5.根据权利要求1所述的一种基于知识图谱的移动端的在线设备故障诊断平台,其特征在于所述步骤S4中后台管理模块的建立均包括企业级和用户级,具体包括如下:
(5-1)数据挖掘
(5-2)数据库解析与完善。

说明书全文

一种基于知识图谱的移动端的在线设备故障诊断平台

技术领域

[0001] 本发明涉及一种基于知识图谱的移动端的在线设备故障诊断平台,属于计算机技术领域。

背景技术

[0002] 随着工业生产自动化、数字化、智能化程度的日益加深,企业对设备的可靠性要求也越来越高。因而对设备故障的诊断和排除的研究具有重大的现实意义。互联网蕴含着大量有价值信息,是大数据的重要数据来源,也是经验交流留存的重要领地。通过对海量的分散的互联网数据进行采集,获取互联网上相关设备故障和维修解决方式,并形成知识图谱,可以提升故障判断的精准度和应用范围。
[0003] 目前业界设备故障诊断方向数据来源有着源头少,专业性强,实用性低的特点,对机床故障及解决方法的样本数据获取更是难上加难。

发明内容

[0004] 发明目的:为了能够更好帮助维修人员正确找到相应品牌型号的数控机床的故障情况,本发明图实现人性化的查询方式,以大量故障实例数据作支撑,达到高精度的查询效果。通过此软件实现自动化、流程化、标准化的运维体系,系统性能稳定,方便使用,易学易用。
[0005] 本发明的技术方案如下:
[0006] 一种基于移动端的在线设备故障诊断平台。
[0007] 技术路径如下:移动端实现阈值设置,即用户输入数控机床相关参数(品牌、型号、故障代码、某个或多个超出阈值参数、故障描述等)或读取设备运行等相关数据,系统自动设置参数预警阈值、通过高速高效的分布式爬虫实现信息抓取、提供两种查询方式,并按置信度高低返回查询结果、在用户不满意的情况下提供在线爬取,并由大量数据构成知识图谱,允许用户收藏感兴趣的问题,并保存用户行为数据且系统也将提供兴趣推荐。
[0008] 具体包括以下步骤:
[0009] S1,建立数控机床信息抽取
[0010] S2,建立数据清洗与知识图谱模块;
[0011] S3,建立问答延伸模块。
[0012] S4,建立后台管理模块。
[0013] 上述步骤S1中,建立数控机床信息抽取模块,对网页文档结构树的解析,根据源网页的不同形式,提供了对于指定网页信息的精确抽取,对不同网页的自定义模板抽取,和基于机器学习的自动抽取,以及对文档的抽取。基于用户对最后系统的解决方案的不满意情况,提出了二次爬取模块。
[0014] 上述步骤S2中知识图谱模块的建立具体包括如下:
[0015] (3-1)问句分类,对需要转换生成的问句进行分类;
[0016] (3-2)问句疑问语素,根据步骤(3-1)提出的问句种类,为每个分类制定疑问;
[0017] (3-3)问句生成,使用的问句生成方案是基于NLP分析和一定的深度学习的问句生成,字符短的描述性句子使用NLP的方式生成问句;对字符过长的描述性语句,使用深度学习的方式来完成问题的生成;
[0018] (3-4)问句打分,在问句生成完成之后,对问句进行打分,来判断问句的语法通顺情况;
[0019] (3-5)Java-Cypher构建节点、关系、属性,使用java-Cypher,嵌入式结构构建、使用存储在neo4j图数据库中的节点、属性、关系;
[0020] (3-6)节点与关系的去重,用JAVA调用Cypher语句,在节点和关系的创建上使用“Merge”替代“Create”完成功能;
[0021] (3-7)问题模板生成,对用户的提问或陈述进行语义元素抽取;
[0022] (3-8)句子分类,对于用户输入的句子,系统对其构建稠密向量,该稠密向量由贝叶斯分类器进行分类,最终返回用户输入的句子所属的类别,即其对应的问题模板。
[0023] 上述步骤S3中问答延伸模块的建立具体包括如下:
[0024] (4-1)端到端神经网络的原理及训练
[0025] 端到端问答系统能基于用户的问句中的每一个词依次生成答句基于用户的问句中的每一个词依次生成答句;
[0026] (4-2)多轮对话的应用
[0027] 在确保查询精度的前提下,创造性地应用多轮对话,开辟了小助手查询模式。
[0028] 上述步骤S4中后台管理模块的建立均包括企业级和用户级,具体包括如下:
[0029] (5-1)数据挖掘
[0030] (5-2)数据库解析与完善。
[0031] 本发明所达到的有益效果:
[0032] 1.从数据源获取度来看,针对难以获得的机床故障诊断训练用数据,本发明采用基于机器学习自动抽取与自定义模板抽取相结合的策略。在保证信息有效性的同时兼顾了抽取效率。本发明所使用的分布式爬虫scrapy配合高性能proxy 代理服务器,对URL队列进行分布式爬取,形成对应的item管道,并发存入数据库中,用以构建知识图谱。
[0033] 2.本发明创造性的使用Neo4j创建知识图谱以代替传统的数据存储方式。在机床故障数据及解决方法数据间分别创造了节点与节点之间的关系。知识图谱的建立使得数据结构更为清晰,数据的检索与关系推理速度与准确度大为提升,在 30000个问题节点下的检索速度只有约0.1s,准确度高达98.7%,明显的优于任何传统数据存储与组织形式。
[0034] 3.针对于机床问题的复杂性与回答的专业性,本次发明使用了两次范围紧缩,首先根据自定义的机床问题分词词典,创立了专业的问题模板,基于问题模板对模板下的候选问题进行句意和词组的余弦相似度匹配来确定答句,使得用户对一次爬去的答案的采纳率有95.3%。在用户不满意的情况下,可以通过点击在线爬取来更新答案,本发明会把用户最终采纳的答案作为新的节点纳入知识图谱的关系中,并在机床故障分词词典和问题模板中增添新的记录,使得此系统越用越智能,提升用户的使用体验。附图说明
[0035] 图1是本发明的流程图

具体实施方式

[0036] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0037] 如图1所示,一种基于移动端的在线设备故障诊断平台。
[0038] 技术路径如下:移动端实现阈值设置,即用户输入数控机床相关参数(品牌、型号、故障代码、某个或多个超出阈值参数、故障描述等)或读取设备运行等相关数据,系统自动设置参数预警阈值、通过高速高效的分布式爬虫实现信息抓取、提供两种查询方式,并按置信度高低返回查询结果、在用户不满意的情况下提供在线爬取,并由大量数据构成知识图谱,允许用户收藏感兴趣的问题,并保存用户行为数据且系统也将提供兴趣推荐。
[0039] 具体包括以下步骤:
[0040] S1,建立数控机床信息抽取模块;
[0041] S2,建立数据清洗与知识图谱模块;
[0042] S3,建立问答延伸模块。
[0043] S4,建立后台管理模块。
[0044] 在所述步骤S1中,建立数控机床信息抽取模块,对网页文档结构树的解析,根据源网页的不同形式,提供了对于指定网页信息的精确抽取,对不同网页的自定义模板抽取,和基于机器学习的自动抽取,以及对文档的抽取。基于用户对最后系统的解决方案的不满意情况,提出了二次爬取模块及。
[0045] 精确抽取:
[0046] 在固定网页格式下,根据网页特征,对网页的文档结构树进行了解析。在文档结构中,以下信息是想要提取的:数控机床型号,数控机床系统类型,故障的简述及其各自正文部分,其中正文部分包括以下特殊形式:数控机床产生的问题描述,数控机床问题的解决方法。
[0047] 自定义模板抽取:
[0048] 精确抽取中,对一系列特定的网页进行了分析,指定出了针对性的定模板。在实际使用中,管理员可根据网页,在系统的引导下,自定义建立模板保存,实现管理员对网页信息抽取模板的自定义。
[0049] 管路员可在管理员端的模板管理界面中,选择新建模板,并依次输入表格,图片特征等,全部特征输入完毕后,可以将其保存为“新模板”,并使用这个新模板进行自适应的网页信息抽取。
[0050] 后期还使用了goose-extractor的python包。Goose-extractor可以是一款用 python开发的网页抽取外部包,可以对自定义模板抽取起辅助作用。
[0051] 基于机器学习的自动抽取:
[0052] 使用了WebCollector的python包。该算法对网页DOM树中的标签和文本分别赋分。一个标签给-3.25分,一个文本给1分。由此可以将网页转换为一个数列。该算法认为,要找出该数列的一个子数列,使得这个子序列中对应的分数总和达到最大,则这个子序列就是网页中的正文。从另一个角度来理解这个规则,即从html源码字符串中找出一个子序列,这个子序列应该尽量包含较多的文本和较少的标签,因为算法中给标签赋予了绝对值较大的负分(-3.25),为文本赋予了较小的正分。
[0053] 基于python-docx的文档信息抽取:
[0054] 使用python-docx包对提前下载好的官方故障代码说明文档进行解析,又可以分成两种解析:第一种将文档中所有字读取出后对文本进行解析,提取出需要的机床品牌,型号,故障代码,故障原因,故障解决方案。第二种为对docx文档中表格的解析,例如表1[0055]
[0056] 表1
[0057] 因为有很多故障信息都是封装在表格中,所以对所有表格进行遍历,读取出需要的故障信息。
[0058] 二次爬取:
[0059] 原因说明
[0060] 当用户搜索问题得到解决方案时,用户觉得解决方案都不如意,便可点击在线爬虫模块进行二次爬取。
[0061] 爬取方法
[0062] 从有固定模板的网页中进行抽取,对该网站全网网页进行问题的匹配,匹配到故障解决方案返回给前端。
[0063] 利用机器学习的自动抽取,通过训练集各大数控机床维修网站进行分析,模糊匹配出故障问题解决正文,再通过语义分析提取出合理的解决方案,反馈给前端显示。
[0064] 通信方式
[0065] 利用python socket网络通信技术,在socket服务端建立端口等待前端访问,安卓socket客户端加载数据请求到服务端,服务端通过爬虫进行二次爬取并返回客户端,等待下一次被访问。
[0066] 抽取方法总结:
[0067] 在系统中,本发明将基于机器学习的自动抽取作为上述两种抽取方法的辅助方法,以实现抽取的自动化和对抽取效果的优化,最后将数据存入mongoDB中,等待数据清洗。
[0068] 在所述步骤S2中,步骤S2是功能的核心模块,下面将分为知识图谱构建详解与问答流程解析进行分步阐述。
[0069] 知识图谱构建详解:
[0070] 问句分类
[0071] 首先,对需要转换生成的问句进行分类,查阅了前人做过的研究调查,从论文中,找出了中文问题分类的层次分类体系,含7个大类,每个大类根据实际情况再定义了一些小类,共60小类。如表2所示。
[0072]
[0073] 表2
[0074] 根据对测试数据的研究,发现常见的关于机床描述转换的问句类别主要是原因类,数量类,方式类,描述类。下面通过举例来展示问句类别,如表3所示。
[0075]问句种类 问句案例
原因类 发那科0imc型机床进给速度为什么会超出常值
方式类 西子机床出现非法的平面选择怎么办
描述类 MITSUBISHI机床,60/60s,运转操作类型重复
[0076] 表3
[0077] 问句疑问语素
[0078] 根据上文中提出的问句种类,为每个分类制定了疑问(其中,描述类可以归并到方式类中)。如表4所示。
[0079]
[0080]
[0081] 表4
[0082] 问句生成
[0083] 本系统使用的问句生成方案是基于NLP分析和一定的深度学习的问句生成。字符短的描述性句子可以使用NLP的方式生成问句;对字符过长的描述性语句,使用深度学习的方式来完成问题的生成。
[0084] 采用了基于Hanlp的分词,词性划分和句法依存分析,试图将陈述性语句转为对应上述分类的问题。接着根据问句种类选出疑问语素进行拼接。在拼接的过程中还需要语句中的几个词与疑问语素的组合关系,拼接错误等问题。举例,如:一个描述性语句是:“FANUC机床,18i—MB型号,数控机床通电后,在没有任何操作指令的情况下,Z轴快速向负方向移动”。经分析,将这个描述性语句生成问题的归类到方式类,方式类的疑问语素取“怎么办”,所以最后的问句拼接结果为FANUC机床,18i—MB型号,数控机床通电后,在没有任何操作指令的情况下,Z轴快速向负方向移动怎么办。
[0085] 对于句子较长的语句,发现使用语义分析有一定的困难,会产生错误语义分析结果,导致生成的问句效果不佳。所以对于长句,使用了神经网络的问句生成。构建了基于seq2seq的神经网络,使用了基于注意力机制的双向LSTM来构建句子级别的编码器和LSTM的句子解码器,使用双线性评分函数和softmax计算注意力。
[0086] 问句打分
[0087] 在问句生成完成之后,需要对问句进行打分,来判断问句的语法通顺情况。下载了百度公开的关于百度知道的数据,从其中抽出了约40w条正常问句,同时加入了针对本赛题的特定领域的问题。使用这些数据构建语言模型和基于 word2Vec的CBOW模型的词向量数据集。简单的来说统计语言模型是用来计算一个句子的概率模型,它通常基于一个语料库来构建。
[0088] 使用生成的语言模型,对生成的问句进行打分。打分的结果是一个概率,一个从0-1的小数。设定打分的分数高于0.6就是一个合格的问句,那么这样的问句就能被保留下来,而低于这个分数的问句会被删除,这样可以提高知识图谱中 QA对的质量
[0089] Java-Cypher构建节点、关系、属性
[0090] 本系统使用java-Cypher,嵌入式结构构建、使用存储在neo4j图数据库中的节点、属性、关系。考虑到机床故障问答流程的复杂性与多样性(如同一机床品牌下不同型号对同一故障解决办法可能不同;不同机床品牌下不同型号对同一故障解决办法可能相同),机床基本信息,机床故障描述与解决方法并不构成简单的三元组关系。所以选用图存储结构,是数据之间关系一目了然,并且显著增加查询速度。
[0091] 创建节点:设立了三个不同的节点类型:分别是:
[0092] 机器信息节点(Mchinetype)
[0093] 用以存储机器有关的信息,即机器品牌,机器型号。
[0094] 故障信息节点(Keyid)
[0095] 用以存储机器所存在的故障描述,故障原因,故障代码。
[0096] 解决办法节点(Solution)
[0097] 用以存储对应故障的解决办法。
[0098] 创建关系:对于每一个QA信息对,在前面已经把它抽象成了三种不同的节点,三种孤立的节点不能完整的表述对应信息,因此下一步定义并创建了三种节点间的关系,使孤立的节点彼此联系,构成图结构。
[0099] 关系如下:
[0100] belongsto和has:机器信息节点Machinetype与故障信息节点Keyid之间的两种关系。这种关系是是双向的,但由于每种方向说法不同,定义了两种关系。其中,故障信息属于(belongsto)机器信息的一部分(每一个QA信息对中,故障信息对应于机器品牌,型号),机器信息包含(has)故障信息。
[0101] Generates:故障信息节点Keyid与解决办法节点Solution之间的关系。一个故障对应于它的解决办法,呈现的是基本QA对的关系。
[0102] 节点与关系的去重
[0103] 通常的,一个QA信息对所表达的信息应该是独立的,当有一个与其一模一样的QA信息对出现时,可将其视为重复。同理,将重复的节点与其所附加的关系录入数据库中,不仅是无效的,更会在一定程度上影响其性能。在用JAVA调用Cypher语句,在节点和关系的创建上使用“Merge”替代“Create”完成此功能。相对于在由描述性句子生成问句后,对整体QA对数据集进行去重操作,这个方法省去了对原始数据集的操作,有更小的时间开销。
[0104] 问题模板生成
[0105] 问题模板对后续解决方法的查询具有重要意义。若不进行此模块对用户的提问进行直接的匹配,在成千上万的QA信息对的数据集下,直接匹配的准确率实在不高,且时间开销巨大。所以先对用户发送的故障问题进行分类,定用户提问具体属于某一大类后。这样就把上万条的直接匹配缩小到几十个大类中。直接再对数据库中存储的关于这个大类中所有问题描述进行匹配,返回置信度最高的前五组回答给用户。
[0106] 利用Hanlp nlp工具对问题描述进行分词,由于机床故障相关问题的专业性和独特性,专业名词较多。原始Hanlp提供的词典不能够很好的满足需求,因此在默认分词字典的基础上,根据分词结果和机床故障领域词频较高的词汇,添加了关于机床故障的自定义词典。
[0107] 为生成问题模板,对用户的提问或陈述进行语义元素抽取。认为,一个关于机床故障类型的描述性或提问性的句子可以分为三个语义块的结合:机床品牌,机床型号,机床故障关键词。只要抓住了这三个要点,就可以精准的定位到图数据库中相关节点的属性,由属性锁定到其所在的节点,进而通过节点之间的关系,返回出相应问题的Solution。
[0108] 例如用户提问:“发那科机床0imc型中指定了非法的平面怎么办?”,可抽象为语义块:发那科+0imc+指定了非法的平面。实际上,机床品牌和机床型号数量有限,较为有代表性;而上例中,剩余描述“指定了非法的平面”则因用户提问或描述的不同而不同,不具有普遍性与代表性,因此对于剩余的描述语句块作出基于自定义机床故障词典的分词,结合词频统计,得到几十个有代表性的特征类。将机床品牌定义为“mb”,将机床型号定义为“mt”,则上述例子中最后生成了模式为“mb+mt+特征类”的问题模板。考虑到用户搜索时的不规范性,可能会发生信息缺省的情况(例如只知道机床品牌或机床型号),如果不加处理,对于同一特征类可能生成会生成“mb+mt+特征类”、“mt+特征类”、“mb+特征类”等三种不同的问题模板,冗余的分类不利于训练和测试,所以在这里不对缺省的情况再次单独分类,而是把他们归并在完整的模板(“mb+mt+特征类”)下。在后面查询阶段,问题模板还原实际问句时,如有缺省情况发生,则mb/mt标签相对应的必为空,在此进行查询语句控制,解决了缺省的无效多分类的情况。特征类与问题模板部分如下表5所示。
[0109] 特征类 问题模板激活 mb mt激活
奇偶校验报警 mb mt奇偶校验报警
数字位 mb mt数字位
地址 mb mt地址
非法 mb mt非法
进给速度 mb mt进给速度
轴数 mb mt轴数
半径 mb mt半径
NRC mb mt NRC
刀补 mb mt刀补
G31 mb mt G31
干涉 mb mt干涉
CHF/CNR mb mt CHF/CNR
程序 mb mt程序
未发现 mb mt未发现
[0110] 表5
[0111] 句子分类
[0112] 基于上述构建的问题模板,进而可以对用户输入的描述性语句或一般性问句进行分类。综合数据量,需求精度以及用户语言习惯(如机床型号机床品牌的顺序经常在日常表达中不分次序)的考虑,这里使用了Spark朴素贝叶斯分类器。
[0113] 贝叶斯分类器需要总体特征,对数据库中有效的QA信息对的问题描述进行基于机床故障自定义词典的分词和词频统计,择取相关词汇上文提到的典型问句疑问词、问句常见语义助词构建了总体特征表vocabulary.txt。初始化总体向量全部为0。对于每一种特征类,在其下添加一定量的训练语句,包含陈述性句子与标准问句。以训练问句生成稠密向量(训练问句基于自定义机床故障词典分词后,与总体特征表比对,总体特征表与其对应相同的语块的向量矩阵值由0置1,每一个训练句子生成对应当前特征类的稠密向量。所有的稠密向量进行训练,抓取大量数据的总体特征,生成分类范围为所有特征类的贝叶斯分类器。
[0114] 对于用户输入的句子,系统对其构建稠密向量,该稠密向量由贝叶斯分类器进行分类,最终返回用户输入的句子所属的类别,即其对应的问题模板。
[0115] 句子还原及答案查询
[0116] 在对用户输入的描述性语句或者问句模板化之后,查询数据库就变得更加简洁可行。对于问题模板“mb+mt+特征类”的形式。在查询数据库之前,先对问题模板作句子还原。另外的,在对用户输入的描述性语句或者标准型问句进行基于自定义词典的分词时,已经对机器品牌及机器型号语块进行标注,数据库中的机器品牌及型号已经全部纳入自定义分词词典中,它们的分词结果分别是“mb”、“mt”。
[0117] 在“mb+mt+特征类”的问题模板中,考虑三种情况:
[0118] 机器品牌、机器型号均存在实际值
[0119] 机器品牌存在实际值而机器型号不存在实际值
[0120] 机器型号存在实际值而机器品牌不存在实际值
[0121] 对于每一种不同的情况,设计了不同查询数据库的cypher语句,分别匹配到数据库中的机器信息节点的品牌、型号属性(缺省情况下,少匹配缺省的属性),故障信息节点的概况属性,通过节点的属性锁定对应节点,以故障信息节点 +generates关系确定到Solution节点,返回节点的解决方法属性和故障原因属性。因此,确保了用户的上述三种实际需求。而对于机器型号和机器品牌同时没有的情况不作考量,只有特征类的句子不符合实际情况,缺少实际价值。
[0122] 基于相似度返回准确结果
[0123] 在对用户输入的句子分类,进行模板化之后,获取了用户句子的三个关键语素:机床品牌,机床型号,以及特征类。基于这三个语素可以在数据库中定位到对应品牌、型号、特征类下的相关信息,但这只是一步大幅缩小范围的操作。
[0124] 实际上,对于模板问句A“mbmt有不在参考点的轴怎么办”和模板问句B “如何解决mbmt参考点返回未完成的问题”假设它们的特征类均为“参考点”,则返回结果是所有数据库中所有特征类为“参考点”下的回答。考虑提取原始 QA信息对中故障描述,计算其与用户输入的句子的余弦相似度,返回前五个得分最高的QA对中的故障描述对应的故障原因和解决办法。
[0125] 注:考虑到机床问题一般句子不长,去掉特征类后的分词比较可能会出现比较疑问助词、语气词、主语等情况,所以不进行去除特征类的操作。
[0126] 对于步骤S3,S3所示模块可以更好的对问答系统进行补充和精度提升,从而直观地提升用户使用体验。下面对其模块进行阐释。
[0127] 端到端神经网络的原理及训练
[0128] 端到端问答系统能基于用户的问句中的每一个词依次生成答句基于用户的问句中的每一个词依次生成答句。
[0129] 端到端模型最先在机器翻译方向得到应用,从此一发不可收拾,成为了机器翻译方向的首选方法,后续文章大部分基于此类模型进行优化与改造。由于问答系统的训练输入为问句-答句对,与机器翻译系统的平行语料训练输入格式极为相似,因此将端到端神经网络应用于问答系统上是可行的。
[0130] 其模型主要有两个循环神经网络(RNN)构成,两个RNN中的一个作为编码器将用户经过分词的输入句子按照输入顺序逐词编码成一个由隐藏层输出定长的向量,这样一个定长的隐藏层向量可以充当输入句子的语义特征向量,其嵌入了句子中各类重要的语义信息,因此可以很有效的表征一个句子的语义。
[0131] 可以将编码的过程沿着时间轴进行可视化,每一轮前一个词的编码结果将会作为下一轮后一个词的编码过程的输入的一部分,因此最终得到的隐藏层向量包含了整句句子的语义信息。
[0132] 而在解码过程中,另一个RNN作为解码器,根据输入一个个词输出解码的结果将这些词按序拼接后得到的就是对于用户问句的答句。在这个过程中,每一个RNN单元的输入是上一轮解码的隐藏层向量与前N轮解码出的单词。
[0133] 因此,在解码过程中的每一轮输出的结果都受到了上下文(也就是编码结果) 以及之前N轮生成的单词的影响,因此此类系统输出的答句既能准确回答用户的问题,又具有较好的语法结构、语序合理,而且答句句式较为新颖。
[0134] 使用pytorch作为框架构建了如上图所示的神经网络,已事先下载好的问答对为训练集,训练了端到端神经网络,用于尝试生成一些原始QA对,并打算在后续开发中加入更深层次的问答,如多轮对话,意图识别等。
[0135] 多轮对话的应用——小助手查询方式
[0136] 与一般的机床故障APP生硬地查询方式不同,考虑到为用户创造出良好的使用体验,在确保查询精度的前提下,创造性地应用多轮对话,开辟了小助手查询模式。
[0137] 该查询模式为用户提供了清晰快捷的交互,在用户发送机床故障有关信息后,机器人(系统)会正常分析故障原因,提供解决问题的办法,在此基础上,提供三个相似问题(用户还可能感兴趣的问题)供用户以继续提问或参考。达到多轮对话,更好的解决用户在相似问题上的疑问,获得优质的APP使用体验。
[0138] 在步骤S4所示的后台管理模块中,本发明力图在数据挖掘和纵深解析数据库的方向上进行进一步的扩展。实施方案如下:
[0139] 数据挖掘
[0140] 企业级:
[0141] 后台包含所有对用户问的每一个搜索的问题进行监控,获取较大概率数控机[0142] 床出故障的机床品牌,类型,及出故障的原因,在后台对这些资料进行整理,整理成合集反馈给每位用户。
[0143] 用户级:
[0144] 1)描述:统计某个用户问过的所有机床故障问题和输入的描述
[0145] 2)输入数据流:输出数据流JSON:结构化数据存取的数据库:mongodb[0146] 3)处理逻辑:while(检测到用户向服务器发送了某个机床故障问题的回答和)[0147] {记录该问答对存入数据库。}
[0148] (1)统计用户查询:
[0149] 1)描述:统计某个用户问的所有机床故障问题中数量最多的特征类。
[0150] 2)输入数据流:输出数据流JSON:结构化数据存取的数据库:mongodb[0151] 3)处理逻辑:对问的所有问题中命中的特征类排序返回最大值存入数据库[0152] 数据库中添加对应记录在后台给每位用户的查询建立历史表单,记录用户的每一次提问。
[0153] (2)分析用户常见错误:
[0154] (3)统计用户查询问题及数量
[0155] 1)描述:统计某个用户问的所有问题或输入的描述的数量
[0156] 2)输入数据流:输出数据流JSON:结构化数据存取的数据库:mongodb[0157] 3)处理逻辑:while(检测到服务器向用户发送了某个故障的回答和故障原因){问题数量计数器+1;存入数据库数据表中添加对应记录}
[0158] (4)生成用户提问报告:
[0159] 1)描述:每周定时生成查询报告并向用户发送。
[0160] 2)输入数据流:输出数据流JSON:结构化数据存取的数据库:mongodb[0161] 3)处理逻辑:while(每周定时){用户了解自己的查询动态并查看查看自己的历史查询报表可以进一步增加生产,减少数控机床出错的,提高效率。}
[0162] 数据库解析与完善
[0163] 企业级:
[0164] (1)在推广使用的过程中里通过用户查询的问题逐渐完善知识图谱,并且依靠爬虫再次爬取互联网中的信息,进一步完善知识图谱。
[0165] (2)通过自身的知识图谱统计故障类型,故障数控机床机床型号,通过大数据分析,根据用户的搜索方式建立更加优秀,快速的算法,提升用户体验。
[0166] 用户级:
[0167] (1)在mongoDB中为每位用户建立对应的集合,记录用户每一次的搜索,以及浏览回答历史,用户也可以随时抽取出自己的浏览历史,方便查阅。
[0168] (2)根据用户的搜索习惯建立用户的专有集合,及带有属于用户的专有属性,使反馈给用户的回答更加合理,置信度更高。
[0169] (3)用户也可以对自身的属性进行添加,例:西门子数控机床,NCK报警,通过用户自身来完善用户的数据库优化,进一步提升用户体验。
[0170] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈