CN112000791B - 一种电机故障知识抽取系统及方法 - Google Patents
一种电机故障知识抽取系统及方法 Download PDFInfo
- Publication number
- CN112000791B CN112000791B CN202010870508.2A CN202010870508A CN112000791B CN 112000791 B CN112000791 B CN 112000791B CN 202010870508 A CN202010870508 A CN 202010870508A CN 112000791 B CN112000791 B CN 112000791B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- text
- knowledge
- model
- 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.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims description 65
- 238000012549 training Methods 0.000 claims abstract description 97
- 238000007781 pre-processing Methods 0.000 claims abstract description 47
- 230000004927 fusion Effects 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 37
- 230000007246 mechanism Effects 0.000 claims description 29
- 239000013598 vector Substances 0.000 claims description 29
- 230000009193 crawling Effects 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 238000011161 development Methods 0.000 claims description 11
- 230000018109 developmental process Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000005477 standard model Effects 0.000 claims description 3
- 238000009827 uniform distribution Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000003062 neural network model Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000003058 natural language processing Methods 0.000 description 6
- 238000003745 diagnosis Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000007499 fusion processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 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
- 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/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种电机故障知识抽取系统及方法,尤其涉及神经网络模型对电机故障判断的技术领域。目的是为了解决现有技术中电机故障种类繁多导致相关人员电机故障知识抽取困难等问题,本发明应用BERT模型构建软件系统,其中包括数据采集模块,数据预处理模块,辅助训练工具模块、模型训练模块和知识融合模块,用户和管理员通过电机故障知识抽取系统的使用,为用户电机故障维护服务提供更加科学化的技术支持,发电机故障知识抽取,目的在于故障知识库的构建,方便用户可以快速解决电机中的故障,并更加便捷与准确,也可提升相关业务人员水平,大幅度提高电机故障解决效率。
Description
技术领域
本发明是一种电机故障知识抽取系统及方法,尤其涉及神经网络模型对电机故障判断的技术领域。
背景技术
研究分析国内外大型设备故障诊断技术和应用现状的基础上,为了提供给客户更好的技术支持。为了保证客户的问题能够得到快速的解决,推出电机故障知识抽取系统,客户可以根据自身电机出现的问题提问并得到响应,在最短的时间内解决客户的问题,保证了电机的安全性和运行稳定,减少由于电机故障而造成的损失。在上述背景下,结合当下流行的自然语言处理技术、谷歌新提出的Bert模型、以及其他相关技术开发一套“电机故障知识抽取系统”。
随着我国当下电力事业的大力发展,电机的种类越来越多,构造也越来越复杂,无论是电机的硬件参数还是容量都大幅度得到了提升,因此电机安全维护的要求越来越高,难度也越来越大。项目主要任务是为哈电集团搭建与用户交互平台,可以针对用户的不同需求做出应答,在远程为客户提供服务。本课题也是该项目中的核心部分,通过采集当下已有的电机故障知识形成故障知识库,为电机的安全和稳定提供了技术上的支持。
本发明的目的为电机故障知识抽取,类属于基于知识的诊断方法,国内外也有类似的研究,但大多数都采用陈旧的训练模型比如word2vec,或者之前的神经网络模型,而谷歌最近新出的Bert模型大大提高的训练的精准度和召回率,在电机故障诊断方面还没有融入,而本发明就是运用此模型的优势来强化已有的故障诊断系统。
当下电机故障知识库知识构建主要来源于相关专业人士的实际工作经验,但这些经验往往有所不同,并且知识过于碎片化,无法得到整合的规范化知识。这些知识很难形成规模化的低级故障知识库,不利于其构建。很多自然语言处理的模型具有相关功能性任务,这一部分主要通过分析对比各个模型,在本项目上的优势与不足,确定本项目使用的模型,以及使用该模型的相关原因。在此基础上,近些年已有针对故障库过于局限,琐碎的问题方面的论文,如中科院采用word2vec的模型,在此模型基础上构建电机故障知识库。除此之外,还有部分论文在这方面进行研究阐述,但关于电机故障知识库构建的相关论文普遍存在下述的几点不足:
(1)项目没有用到人工智能,知识来源于相关领域专家的总结,知识碎片化,也不具备行业规范。
(2)项目虽然用到了人工智能技术,但使用的技术过于老旧,自然语言处理模型近些年技术更新较快,准确率和召回率都在逐步上升,导致故障信息抽取结果准确率不如最新模型效果好。
(3)课题的电机故障资源来自于一些工厂数据,而非科学的杂志、论文。
(4)项目只是演示程序,而非面向多用户的系统,缺乏相关业务逻辑。
(5)attention模型也是首次搭建在transformer模型之上,而本系统应用的自注意力机制是在原有的rnn网络基础上提出的,防止rnn网络需要进行大量的记忆,而自注意力机制仅需进行一步矩阵乘法即可,但是这个模型也存在着几处缺点,第一点就是该模型在预测阶段的句子长度需要确定并且需要小于训练时句子的长度,第二点就是不存在循环机制,导致模型无法多次进行迭代。
发明内容
为了解决现有技术中电机故障种类繁多导致相关人员电机故障知识抽取困难等问题,本发明提出了一种电机故障知识抽取系统及方法,技术方案如下:
方案一:该系统包括数据采集模块,数据预处理模块,辅助训练工具模块、模型训练模块和知识融合模块;
所述的数据采集模块负责采集故障数据后发送给数据预处理模块;
数据预处理模块将采集后的数据进行预处理;
所述的辅助训练工具模块抽取相关的系统配套程序;
所述的模型训练模块与数据预处理模块连接,将预处理的数据进行模型训练;
所述的模型训练模块和所述的知识融合模块连接,将预处理的数据进行最后的融合处理。
进一步地,所述的数据采集模块与手机端和PC端两部分建立连接,PC端为手机端提供接口,其中手机端主要采用了微信小程序开发,主要包含业务逻辑模块、知识展示模块和知识作答模块三大主要功能模块:
业务逻辑模块,主要包含电机相关专家业务注册、登录等业务;
知识展示模块,向用户展示电机故障知识问卷,同时包括已经作答的问卷;
知识作答模块,支持用户选择自己感兴趣电机故障知识问卷并作答,作答结果提交后保存到后台。
进一步地所述的数据采集模块包括注册信息模块、用户数据采集模块和文献数据采集模块;
其中用户数据采集模块所需的用户部分的数据从注册信息模块采集;
所述的数据预处理模块包括文本格式转换模块,文本编码转换模块和文本规范化模块;
所述的辅助训练工具模块包括文本分类工具、数据标注工具、数据库监听工具和数据爬取工具;
所述的模型训练模块中的模型为BERT模型;
所述的知识融合模块包括知识预处理模块、属性相似度连接模块和知识嵌入及分块匹配模块。
进一步地,所述的知识预处理模块包括语法预处理模块和文本预处理模块两部分。
方案二:电机故障知识抽取方法是基于上述系统实现的,具体的方法步骤如下:
步骤一,所述的数据采集模块中,用户和管理员通过所述的注册信息模块对各自的信息进行注册,用户上传个人信息或对问卷的答案至所述的用户数据采集模块由管理员进行处理,所述的文献数据采集模块选择资料中的数据作为该系统的训练模型支持;
步骤二,所述的数据预处理模块中,文本格式转换模块将不同种类的电机故障的文本格式进行统一处理,所述的文本编码转换模块将不同种类的文本编码进行统一编码,所述的文本规范化模块将文本用标签进行标注后通过辅助训练工具模块进行处理;
步骤三,通过所述的辅助训练工具模块对步骤二中得到的标签进行降低开发难度的处理,包括所述的文本分类工具进行文本中噪音降噪、用户通过所述的数据标注工具进行回答、所述的数据库监听工具对用户的回答进行数据监听以及所述的数据爬取工具对电机故障的文章的爬取;
步骤四,所述的模型训练模块中模型,利用BERT模型的底层结构Transformer结构模型,通过自注意力机制进行电机故障知识抽取结果对比分析;
步骤五,所述的知识融合模块在数据对齐后进行实体匹配,其包括所述的知识预处理模块对上述获得的知识数据进行预处理,所述的属性相似度连接模块对知识数据的相似度进行计算,以及知识嵌入及分块匹配模块进行实体匹配、过滤从而完备知识图谱。
进一步地,所述的数据采集模块包括注册信息、用户数据采集和文献数据采集功能构成,具体步骤如下:
步骤一一,所述的注册信息模块具有相同的后台的手机端和PC端,无论用户在PC端或在手机端都是使用相同的ID和相同的登录注册信息,即用户信息是二者通用的,共享相关数据并使用相同的ID,每一次系统都会根据这个ID进行判断,并根据这个ID进行登记和保存;
PC端为手机端提供接口,当管理员在PC端配置好相关基本信息之后,同时形成标准问卷,这些前期准备工作两者同时可以使用,虽然管理员只能在PC端进行配置,但配置结果同时在PC端和手机端两个部分使用;
步骤一二,所述的用户数据采集主要方式为用户通过微信小程序上传自己问卷的答案,用户可以选择通过回答问卷的方式作答,文本知识采集主要以PC端为主,由PC端支持文件进行上传,或者用语音说出故障的解决方案,语音输入由微信小程序支持进行上传,同时管理员还需要提醒用户在规定时间内完成电机故障知识问卷,采用邮件通知的方式,及时发放和收集问卷;调用电机故障知识抽取系统的接口进行处理;所有用户的答案都需要管理员确认,同时所有用户都会收到管理员的通知信息,无论在手机端或PC端上回答问卷之后都会进行保存上传,提交至后台,所以用户只需任选一个平台仅作答一次即可,在作答之后都会交给管理员进行审核,审核之后决定是否通过并融合到知识库当中;
步骤一三,所述的文献数据采集模块,知识数据的来源除了电机故障专家的答案之外还包括已有的专业化文献,这些文献提供的电机故障知识,用来训练模型。
进一步地,所述的数据预处理模块中包括文本格式转换、文本编码转换和文本规范化功能,具体步骤如下:
步骤二一,所述的文本格式转换模块将来源为《大电机技术》文章的数据,通过爬虫工具采集近三年与电机故障有关的文章,由于文章格式并不统一,因此将pdf、txt、word统一转换成数字化的txt格式,将文件进行数字化处理,形成符合标准的数字化格式文件,并交给模型进行处理;
步骤二二,所述的文本编码转换模块由于文本不仅存在格式的多样性,需要统一进行转码处理,在转码过程中需要先利用原有的编码方式进行解码,变成统一的编码格式,最终形成标准统一的编码格式,以便后续的数据处理;
步骤二三,所述的文本规范化模块中,为了制作模型的tfrecord,要按照模型的输入进行文本格式的修改,在训练之前在每一个字的上面打一个标签,中间以空格隔开,作为模型的输入,这些标签分别代表需要抽取的故障描述、故障元件和故障解决方式,在标注并按照对应格式输入之后模型开始训练。
进一步地,所述的辅助训练工具模块中包括文本分类工具、数据标注工具、数据库监听工具和数据爬取工具,具体操作步骤如下:
步骤三一,所述的文本分类工具为了去除文本中噪音等相关干扰项,首先系统核心是抽取文本中相关电机故障,鉴定为干扰项的杂音,利用TF-IDF模型利用其二分类的任务对文章进行初筛而剔除,将上传的文本分类为相关文本和不相关文本,利用文章中相关故障词汇的词频,是典型的词袋模型,在得出该文本为不相关文本时,提醒用户并且不会继续向下进行;当该文本为相关文本时,文本会交给接下来的模型进行抽取,同时在训练结果抽取完之后利用相关谓词,和编辑距离等辅助信息进行实体间的匹配,得到抽取结果;
步骤三二,所述的数据标注工具,该工具利用C#桌面工具进行开发,通过随机的从库中选出一句话,让用户对这句话进行标注,同时在界面上有详细的标注说明,用户在对这句话标注之后,标注的结果就会存入文档之中进行记录,最后将所有标注好的数据作为训练数据,进行文件格式转换等操作后,训练成为标准模型;
步骤三三,所述的数据库监听工具采用轮询脚本实现,脚本不断监听数据库变化,当小程序录入用户的回答之后,第一时间拿到数据库中改变的数据,并判断是否为需要抽取处理的数据,当确认数据为需要处理的数据之后,调用文本抽取工具,对短文本进行抽取,抽取结果返回到数据库对应位置,并以json数据格式进行保存,模块之间的通信同样采用json格式进行通信;
步骤三四,所述的数据爬取工具应用BERT模型的命名实体识别任务,首先关于电机故障的文章数据进行爬取,在对这些文章爬取之后,进行数据清洗,数据清洗完毕统一转换成数字化格式的txt格式。
进一步地,所述的模型训练模块中,包括模型对比分析模块,利用BERT模型的底层结构Transformer结构模型,通过自注意力机制进行电机故障知识抽取结果对比分析,具体步骤如下:
步骤四一,所述的模型对比分析模块,针对不同的输入,抽取出其中相关联的实体,应用抽取方式的语言模型为TF-IDF模型,首先需要进行分词操作,分词工具为结巴分词,然后在分词过程中仍存在含义就是干扰项的停用词,解决方式是使用停用词包,排除各种停用词;在此基础上添加textrank函数,这些关键词的文本分词之后,以固定窗口大小5通过span属性调整;
步骤四二,所述的Transformer结构模型内部包含进行编码和解码的处理层encoder层和decoder层,每一个编码器中包含两个子层:自注意力层和神经网络层,其中自注意力层采用自注意力机制,自注意力机制关注那些对推理有用的知识,而忽略无关的知识,并得到训练结果;
神经网络层中,在输入转换为输出的时候转化为向量进行运算,通过每个词向量计算得到输出,具体结构为12层,其中有6层是encoder部分,其中每一层又分为两个子层,首先是自注意力机制,其中公式表示为:
attentionoutput=Attention(Q,K,V)
其中Q,K,V分别代表一个矩阵,每个字都在维护的三个矩阵,通过矩阵之间的乘法,然后将得到的注意力结果进行汇总,汇总算式如下:
MultiHead(Q,K,V)=Concat(head1,...,headh)Wo
headi=Attention(QWi Q,KWi K,VWi V)
将得到的结果采用softmax函数得到最终的结果,在编码的过程中,所有q,k,v可以一起进行运算,在解码的过程中,需要一步一步的进行解码,前面的结果作为后面的输入矩阵值。
进一步地,所述的知识融合模块包括知识预处理、属性相似度连接建立和知识嵌入及分块匹配,具体步骤如下:
步骤五一,所述的知识预处理模块包语法预处理和文本预处理两部分;
语法预处理:包括语法规范化,限定部分输入,以及输入格式,例如在电机故障表征处,输入应当按照一定格式,且有固定语法,同时在故障的原因描述中也应包括一定的语法信息;
文本预处理:首先需要去除文本中的噪音,例如在抽取或者用户输入中包含空格、-等符号;以及典型的输入错误;同时维护一张替换词表,将主要的词汇或者频率高的词汇的中英文以及缩写进行记录,例如转子-rotor-ER,当出现类似的不同表达方式,一律替换成相同的表达方式,这样文本预处理的操作为后续操作的准确性奠定基础;
步骤五二,所述的属性相似度连接模块中计算属性的相似度,采用判断集合的相似度来判断属性的相似度,具体判断方法如下:
首先判断相似度中的dice系数,dice系数是将两个字符串的比较变成集合之间的比较,看两个字符串是否相似,公式如下:
simDice(s,t)=2|ScapT||S|+|T|
jaccard系数,公式如下
SimJacard(s,t)=|S∩T||S∪T|
本系统实体相似度聚合采用相关聚类的方式,x,y代表不同的实体,通过比较是否将x,y划分到同一类别得到的代价判断划分类别的最优解,公式如下:
minΣrxyw-xy+(1-rxy)
使用canopy和kmeans方法结合的方式来进行划分完成属性相似度的连接过程;
步骤五三,所述的知识嵌入及分块匹配,实体匹配之前设定好实体匹配的基本参数,其中包括实体的数据范围,目标输出位置以及设定响应的阈值,接下来选取对应的样本,尽量选取分布均匀的样本;
通过两个不同空间的向量实体需要映射到同一个空间之中,映射方案结合之前模型的输入,计算一个图谱中的实体与另一个图谱中实体的欧式距离,选择最近的两个实体进行连接,多个实体进行相似的迭代操作之后,最终融合到一个空间维度之下;
步骤五四,进行实体分块操作,提供实体匹配的候选项,候选项中的实体是潜在的匹配集合,采用hash算法进行实体分块,并为实体提供其对应的候选项模块,通过采用模块训练,同时多训练主机,并采用map-reduce的训练方式进行负载均衡;
步骤五五,进行过滤操作,用三角不等式过滤法,通过这种过滤的方式筛选出距离不符合规定的点,同时确保初始样本的实体数量远远小于合并之后的实体数量,最后本系统规定按照指定格式,故障描述、故障元件、故障解决方式进行输出,形成完备的知识图谱。
本发明的有益效果体现在:
运用了当下流行的Bert模型,构造电机故障知识库,国内在电机故障诊断方面已经有一定的研究基础,在此基础之上将传统的电机故障知识诊断方法与当下流行的自然语言处理模型架构结合起来,得到较为完备的电机故障知识库。知识库的储备也来源于技术性较强的《大电机技术杂志》,涵盖了当今流行的电机相关参数于技术处理,可以有效的为客户电机维护做出指导;
关于bert模型与电机故障结合,系统模型使用的是谷歌新提出的bert模型:bert模型是一种标记语言,与之前语言模型不同的是,这种标记方式在预测一个词的时候同时考虑的前后两个部分的单词,而之前的语言模型例如word2vec仅仅只考虑了前面的单词,或者例如Emlo模型,虽然也是双向语言模型,但仅仅是分别从前向后和从后向前的训练的两次,并不是真正意义的双向语言模型;
而bert模型采取的方法是随机mask掉一些词,然后对这些词进行推测。其中每个词被mask的概率大概占15%,在训练过程中大多数采用的是128序列长度,加速训练的速度,剩下的少部分使用512序列长度。
准确性对于系统的影响是至关重要的,准确性的高低是衡量故障知识库性能的关键,因此本系统采用的Bert模型在原有的自然语言处理模型上有较大的提升,准确率已经达到82%,除此之外,在系统知识抽取之后,将知识可视化展示给用户进行故障整理,客户可以根据经验对抽取知识进行修改,通过多种方式保证了系统的准确性。
通过对多种发电机种类的科学研究,开发了大量新的电机技术,也得到了不少电机故障处理的经验,通过杂志中对相关电机故障阐述,可以从中提取出关键知识,包括故障描述、故障元件、故障原因、故障解决方式和原文阐述,在文章中将上述信息进行提取,由管理员确认后,逐条插入数据库当中,形成电机知识故障库,这是众包采集的一种方式。本课题根据需要,需要大量关于电机故障描述的资料,通过爬虫技术,爬取了杂志中近三年的共计180篇关于电机故障描述的论文,其中一部分论文作为训练集对bert模型进行训练,剩下一部分论文用于验证,得到准确率接近百分之八十的训练模型。
对比于原有的技术,无论从准确率,召回率都有较大的提升,并有望投于生产开发当中,为用户电机故障维护服务提供更加科学化的技术支持,发电机故障知识抽取,目的在于故障知识库的构建,方便客户可以快速解决电机中的故障,并更加便捷与准确。同时该课题可以提升相关业务人员水平,大幅度提高电机故障解决效率。
附图说明
图1是电机故障知识抽取系统的数据流图;
图2是模型训练流程图;
图3是知识采集模块架构图;
图4是面向专家采集模块系统类图;
图5是文献爬取流程图;
图6是文本格式转换流程图;
图7是系统数据流图;
图8模型训练流程图;
图9相关性文件比例图
图10知识融合流程图;
图11crf机制引入前后对比图;
图12相似度连接流程图;
图13实体相似度判别流程图。
具体实施方式
具体实施方式一:本实施方式的一种电机故障知识抽取系统及方法步骤如下:
步骤一,所述的数据采集模块中,用户和管理员通过所述的注册信息模块对各自的信息进行注册,用户上传个人信息或对问卷的答案至所述的用户数据采集模块由管理员进行处理,所述的文献数据采集模块选择资料中的数据作为该系统的训练模型支持;
步骤二,所述的数据预处理模块中,文本格式转换模块将不同种类的电机故障的文本格式进行统一处理,所述的文本编码转换模块将不同种类的文本编码进行统一编码,所述的文本规范化模块将文本用标签进行标注后通过辅助训练工具模块进行处理;
步骤三,通过所述的辅助训练工具模块对步骤二中得到的标签进行降低开发难度的处理,包括所述的文本分类工具进行文本中噪音降噪、用户通过所述的数据标注工具进行回答、所述的数据库监听工具对用户的回答进行数据监听以及所述的数据爬取工具对电机故障的文章的爬取;
步骤四,所述的模型训练模块中模型,利用BERT模型的底层结构Transformer结构模型,通过自注意力机制进行电机故障知识抽取结果对比分析;所述的Transformer结构模型内部包含进行编码和解码的处理层encoder层和decoder层,每一个编码器中包含两个子层:自注意力层和神经网络层,其中自注意力层采用自注意力机制,自注意力机制关注那些对推理有用的知识,而忽略无关的知识,在BERT模型中每一个字在编码训练中都会考虑与句子中其他词的联系,这些联系也需要加入训练,并得到训练结果;
神经网络层中,在输入转换为输出的时候转化为向量进行运算,通过每个词向量计算得到输出,因此一个词向量需要进行解码编码等操作,再经过神经网络层层处理,具体结构为12层,其中有6层是encoder部分,其中每一层又分为两个子层,首先是自注意力机制,其中公式表示为
attentionoutput=Attention(Q,K,V)
其中q,k,v分别代表一个矩阵,每个字都在维护的三个矩阵,通过矩阵之间的乘法,然后将得到的注意力结果进行汇总,汇总算式如下:
MultiHead(Q,K,V)=Concat(head1,...,headh)Wo
headi=Attention(QWi Q,KWi K,VWi V)
将得到的结果采用softmax函数得到最终的结果,在编码的过程中,所有q,k,v可以一起进行运算,在解码的过程中,需要一步一步的进行解码,前面的结果作为后面的输入矩阵值。
步骤五,所述的知识融合模块在数据对齐后进行实体匹配,其包括所述的知识预处理模块对上述获得的知识数据进行预处理,所述的属性相似度连接模块对知识数据的相似度进行计算,以及知识嵌入及分块匹配模块进行实体匹配、过滤从而完备知识图谱。
具体实施方式二:根据具体实施方式一步骤一所述,该系统还包含两个部分,手机端和PC端:
PC端为手机端提供接口,当管理员在PC端配置好相关基本信息之后,同时形成标准问卷,这些前期准备工作两者同时可以使用。虽然管理员只能在PC端进行配置,但配置结果可以同时在两个部分使用,所以两者的业务逻辑是相似的。
所有用户的答案都需要管理员确认,同时所有用户都会收到管理员的通知信息,无论在任何平台上回答问卷之后都会进行保存上传,提交至后台,所以用户只需任选一个平台仅作答一次即可,在作答之后都会交给管理员进行审核,审核之后决定是否通过并融合到知识库当中;
知识采集模块架构图如图3所示。
用户数据采集主要方式为用户通过微信小程序上传自己问卷的答案,用户可以选择通过回答问卷的方式作答,或者用语言说出故障的解决方案,最后调用电机故障知识抽取系统的接口进行处理;为提供更方便的服务同时降低研发难度,在上述需求下采用了微信小程序开发,可以方便安卓用户和ios用户同时使用本系统。
手机端部分主要服务于众包知识采集,主要包含三大主要功能模块:业务逻辑模块,主要包含电机相关专家业务注册、登录等业务;知识展示模块,这一模块主要向用户展示电机故障知识问卷,同时包括已经作答的问卷;知识作答模块,这一模块支持用户选择自己感兴趣电机故障知识问卷并作答,作答结果提交后保存到后台;
面向专家采集模块系统类图如图4所示。
具体实施方式三:除具体实施方式一步骤一所述的文献数据采集模块,还包括对相关文章进行爬取,模块中的爬虫工具的设计主要针对知网上期刊的位置,知网上大电机期刊主要放置在固定标签下,同时需要按照知网的相关要求进行爬取,在爬取之前需要获得爬取权限,同时设置每秒的访问速度,相关设置好之后,爬取杂志上近几年的期刊;
文献爬取流程图如图5所示。
通过对《大电机技术杂志》上的文章进行爬取,得到共计300余篇文章,并选取其中一部分制成训练集进行训练。训练的模型采用谷歌新推出的BERT模型,该模型具有较高的准确率和召回率,同时采用命名实体识别的任务进行训练,得到针对于故障知识抽取的训练模型,之后根据用户上传的文件和输入的问题以预测的方式抽取关键信息。
具体实施方式四:该系统的PC端支持文件上传,小程序支持语音输入。两者本质都是输入一段文本,文本存在大量噪音,需要对核心关键词进行抽取。虽然两者都是抽取,但是抽取的本质核心不同,小程序的抽取因为是短文本,并且对抽取结果的精度要求较高,所以采用基于规则的抽取方式,同时要求用户对输入有一定的限制;论文抽取由于论文文章较长,且对抽取结果精度要求跟小程序比并不高,所以采用基于深度学习模型抽取。最终经过融合、本体对齐等操作存入到故障库当中,并形成可展示的知识图谱。
PC端可以展示故障树,故障树是根据用户作答的问卷,每一个问卷包含一个问题,而每一个问题会收到很多答案。这些答案需要在本体对齐、融合之后添加到故障树中,并展示给用户,管理员还需要提醒用户在规定时间内完成电机故障知识问卷,采用邮件通知的方式,及时发放和收集问卷;
具体实施方式五:该系统在文本抽取部分由于上传的文件格式,内容差异较大,需要等文件上传后统一进行处理,处理的方式主要利用微软的动态编译库,首先需要将pdf格式的文件进行转化,利用微软的库文件,先将pdf转换成为word格式,word格式中具有大量VBA的宏命令,可以帮助进行处理,包括去除没用的图片,定位表格位置,定位之后取出表格中的数据存入相应的文件当中,同时文档中包含大量噪音数据,其中包括致谢、参考文献、作者。这些都是无用的数据,需要在这步进行删除,接下来需要再次调用微软运行库,将文件进行数字化处理,形成符合标准的数字化格式文件,并交给模型进行处理;
文本格式转换流程图如图6所示。
为了系统具有较强的兼容性,支持客户可以多种文件上传,同时能够接收移动端传过来的文件,所以系统要具有文件处理的功能。其主要功能包括支持PDF、txt、word等文件的上传,基本包括了大量的文件格式。以PDF为例,当文件上传之后,需要进行格式化操作,其中包括去除文件中的图片、提取文件中表格的信息、去除掉无关的内容信息比如参考文献、取消文件的分栏操作等等,最后将文件转码为UTF-8的编码格式,存储到响应的预测集当中。系统上传文献数量随意,可以一起进行抽取;
具体实施方式六:根据实施方式五中文本抽取部分,该系统的文本抽取过程还包括存在多样性的编码抽取和文本格式化的要求,例如utf-8、ANSI等,不同的编码格式会导致后续无法对文件中信息进行提取,需要统一进行转码处理,在转码过程中需要先利用原有的编码方式进行解码,变成统一的编码格式,在统一用utf-8的格式进行编码,最终形成标准统一的编码格式,以便后续流程的继续;
关于文本格式要求,为了训练模型对于数据的格式进一步限制,制作模型的tfrecord,按照模型的输入进行文本格式的修改;该模型使用的是BERT模型,BERT模型的核心结构是对字进行训练,每一个基本的token都是字,并不是传统的以词为基本单位,所以在训练之前需要在每一个字的上面打一个标签,中间以空格隔开,作为模型的输入。这些基本的标注数据是需要人为进行标定,由于标注过程复杂,标注数量庞大,为了降低标记难度,开发出一套辅助标注工具。辅助工具会随机从文献中抽取一段话,支持用户对标签选择,每一个字在选择好对应标签,在对应标签标注之后,进行保存,作为基本的训练数据;其中标签主要有几类,主要包括:B-ele、I-ele、B-des、I-des、B-solu、I-solu。这些标签分别代表需要抽取的故障描述、故障元件、故障解决方式等。在标注并按照对应格式输入之后,模型开始训练;
具体实施方式七:除根据具体实施方式一步骤三的描述,辅助抽取工具也是相关与系统配套的程序,为了辅助系统安全正常运行,或为了方便用户开发的工具,这些工具在一定程度上降低了开发难度,同时辅助系统顺利完成对应功能,具体包括文本分类工具和数据标注工具
为了去除文本中噪音等相关干扰项,同时提高模型准确率。开发了相关辅助训练工具。首先系统核心是抽取文本中相关电机故障,而很多文献的相关方向于此无关,这类文章即为干扰项的杂音,需要剔除。利用TF-IDF的模型对文章进行初筛,防止错误的文章输入造成不必要的浪费。TF-IDF利用其二分类的任务,将上传的文本分类为相关文本和不相关文本。TF-IDF利用文章中相关故障词汇的词频,是典型的词袋模型。在得出该文本为不相关文本时,提醒用户,并且不会继续向下进行。当该文本为相关文本时,文本会交给接下来的模型进行抽取。这一步拦截既可以减少模型训练中的噪音,同时在系统上线时减少不必要的消耗。在训练结果抽取完之后利用相关谓词,和编辑距离等辅助信息进行实体间的匹配,得到相对准确的抽取结果;
关于数据标注工具,本系统需要大量的辅助工具帮助运行,首先是数据标识工具,该工具利用C#桌面工具进行开发,通过随机的从库中选出一句话,让用户对这句话进行标注,同时在界面上有详细的标注说明。用户在对这句话标注之后,标注的结果就会存入文档之中进行记录。标注的方式做到最大可能的方便,可以让专家方便的标注多组数据。最后将所有标注好的数据作为训练数据,进行文件格式转换等操作后,训练成为标准模型;
关于数据库监听工具,当小程序录入用户的回答之后,将用户的答案存入到数据库当中,监听程序当检测到数据库状态变化时,就会找到用户的回答,并利用抽取模块进行抽取,将抽取结果以json的格式存入到数据库当中,完成小程序部分的数据抽取工作。数据库监听工具采用轮询脚本实现,脚本不断监听数据库变化,当数据库中内容发生改变时,第一时间拿到数据库中改变的数据,并判断是否为需要抽取处理的数据,当确认数据为需要处理的数据之后,调用文本抽取工具,对短文本进行抽取,抽取结果返回到数据库对应位置,并以json数据格式进行保存。模块之间的通信同样采用json格式进行通信。
关于数据爬取工具,本系统主要应用BERT模型的命名实体识别任务,首先需要对训练数据进行爬取,数据主要来源为《大电机技术》文章,通过爬虫工具采集近三年与电机故障有关的文章,共计300余篇,这些文章爬取之后,因数据量大,噪声多,需要对数据进行清洗;数据清洗部分:这些文章来源描述不同,拥有大量重要数据,但同时也有大量的噪声,例如文章来源,文章作者,文章引用,致谢等与电机故障并无关联,这些噪声需要事先筛选掉,除此之外,这些文章直接从网上爬取之后,文章格式并不统一,有txt,pdf.word等,需要统一转换成数字化格式的txt格式。
具体实施方式八:结合具体实施方式一所述的模型训练模块,本系统的核心任务还包括电机故障知识抽取,属于自然语言处理方向任务,属于命名实体识别任务,针对不同的模型,在电机故障知识抽取结果对比分析,可以确定最终本项目采用BERT模型,在本项目中可以达到最高的精确率和召回率,同时最小化损失。
BERT模型是在seq2seq模型基础上提出来的,同样存在encoder机制和decoder机制,每一层encoder的过程都是将上一层的编码输出作为下一层的编码输入,最终得到编码结果,然后将这些编码结果作为decoder的输入,一步一步的进行解码,在这些解码编码的过程中容易损失一些信息,所以attention模型针对这个缺点进行运用。其主要解决方式为不仅仅只把结果作为输入传递给下一层,同时将中间计算数据传给下一层结构。
关于模型对比分析模块,
文献上传过程中,存在各种各样的输入方式,同样在语式、语义方面有各种差异化的输入,所以需要借助于语言模型,针对不同的输入,抽取出其中相关联的实体;在实体抽取的过往研究中也存在,例如在金融领域等,在已有的基础上进行研究。最开始应用这种抽取方式的语言模型为TF-IDF模型,这是一种基于统计的分词方式。首先需要进行分词操作,常用的分词工具主要为结巴分词。这是一种基于统计的模型,类似的还有SMT算法。在分词过程中存在大量停用词,停用词的含义就是干扰项,目前的解决方式是使用停用词包,排除各种停用词;在此基础上添加textrank函数,这些关键词的文本分词之后,以固定窗口大小5通过span属性调整。上述的模型核心为朴素贝叶斯。条件概率可以相互转换,在已知的某些特征下,属于哪个类。
类似的词袋模型还有CBOW模型和Skip-gram模型,两种经典的词袋模型,可以通过两侧的词汇推导出中间的词汇或者由中间的词汇推导出两侧的词汇。利用滑动窗口的方式进行采样。
在上述之后出现的三元语法模型、LDA主题模型、隐马模型都是具有类似的思想。这些模型都存在准确率的问题,同时,多出了分词的操作,以及相关词汇出现比重的问题,逐渐被深度学习模型所赶超。针对本系统对于电机故障知识抽取的任务,选取当下流行的几个模型进行模拟比较,对比各个模型的好坏程度,以及抽取效果,并选取效果最好的模型作为本系统的核心模型。准确率对比分析表如表1所示。
表1抽取任务各模型对比
在之前模型的弊端上,以BERT模型为代表的深度模型为代表,具有更灵活的输入,同时具有较高的准确率。通过把每个字变成一个向量,输入到整个网络架构,通过8层transformer模型的网络架构。是一种seq2seq的思想。序列化配合网络模型的机制。BERT模型发展首先经历了以下几段历程,包括神经语言模型,词嵌入模型,序列化模型,注意力机制模型,RNN模型,最后是预训练语言模型。
BERT模型在在训练过程中,可以得到每一个词的训练词向量,并得到对应的词向量分布,本系统在电机故障知识抽取方面进行训练,得到向对应的实体向量分布。
BERT模型是一种标记语言,与之前语言模型不同的是,这种标记方式在预测一个词的时候同时考虑的前后两个部分的单词,而之前的语言模型例如word2vec仅仅只考虑了前面的单词,或者例如Emlo模型,虽然也是双向语言模型,但仅仅是分别从前向后和从后向前的训练的两次,并不是真正意义的双向语言模型。而BERT模型采取的方法是随机mask掉一些词,然后对这些词进行推测。其中每个词被mask的概率大概占15%,在训练过程中大多数采用的是128序列长度,加速训练的速度,剩下的少部分使用512序列长度。最后是残差模块,通过减少残差来增强模型的准确度,同时进行归一化,利用softmax激活函数,通过较小的反向学习率防止梯度消失或者爆炸。
针对本系统实际情况,项目核心任务是对电机故障知识的抽取,任务是命名实体识别任务,当下很多模型都有可以完成这项任务,并且各有优劣,针对本系统任务,可以从上述分析得到最适合的模型是BERT模型,所以选择该模型为系统的核心模型,并以BERT模型为核心,引入相关模型和机制作为辅助,共同实现电机故障知识抽取的任务,同时获得较高的准确率和召回率。
具体实施方式九:根据具体实施方式中步骤四的描述,除了transformer模型之外,还有LSTM或RNN神经训练结构可以作为选择,针对本系统的任务,即电机故障知识抽取的命名实体识别任务,通过更换底层结构进行模拟对比,得到不同底层结构对应不同模型的结果以及抽取效果,
得到对比分析表如表2所示:
表2知识抽取任务底层模型分析对比
在上述的基础上,语言出现的位置也是需要考虑的,例如转子和定子,两个并列的实体,在词向量分布空间出现的位置应当是临近的。这就需要在模型中加入位置编码的方式,方式为在编码过程中,将该处词的编码与后面的词编码进行相乘,即加入了位置信息,在计算位置信息的时候,加入了sin函数
三角函数计算之后,可以使得不同信息序列长度的编码可以相互进行比较,同时可以将取值范围进行缩小,然后经过全连接层,将信息进行融合。
与encoder结构类似,但在解码的过程中多出了一个注意力子层,首先输入encoder的编码结果,每一步利用上一步的结果,一步一步的解码出来,最后输出每一个位置每一个单词的概率。
Transformer模型类似于一个黑箱,内部包含处理层encoder层和decoder层,每一个编码器中包含两个子层:自注意力层和神经网络层,在输入转换为输出的时候需要大量的向量进行运算,通过每个词向量计算得到输出,因此一个词向量需要进行解码编码等操作。再经过深度神经网络层层处理。
具体实施方式十:在Transformer模型中包含自注意力机制的应用,自注意力机制简言之就是关注那些对推理有用的知识,而忽略那些无关的知识;BERT模型每一个字在编码训练中都会考虑与句子中其他词的联系,这些联系也需要加入训练,并得到训练结果。
在本系统中,核心任务在于电机故障知识的抽取,在一句话中核心是电机故障知识词汇,每一部分关于电机故障知识的词汇出现的位置以及前后修饰词是系统的核心关注点,也是自注意力机制的核心,每一个矩阵运算中可以每个字的向量值如表所示,相关电机故障知识词分布集中,且占比较大,在运算中起到核心作用。
每一个单词在编码的过程中,都有三个向量,包括查询向量,键向量,和值向量,利用词嵌入的方式,与矩阵向量相乘得到对应的结果。.在得到这些向量之后,通过与其他变量相乘打分,决定每一个单词与句子中其他单词的关联程度。在计算的过程中,矩阵之间,k与q,q与v是用点积进行计算的。最后计算的结果通过一层softmax,将结果进行归一化到0与1之间,最后进行加权求和,利用上述的参数进行逐步调优,并进行正则化处理,最后得到标准的词向量结果和完备的电机故障知识抽取模型。
多头机制指的是在矩阵运算的过程中,Q,K,V三个矩阵在运算时不仅仅是一组进行运算,而是多组进行运算,在transformer模型中,使用了8组,8组矩阵互相做乘积,最后的结果也是8组。在运算过程中,将8组矩阵合并成一个大矩阵做乘积,以方便运算。自注意力机制简言之就是关注那些对推理有用的知识,而忽略那些无关的知识。BERT模型每一个字在编码训练中都会考虑与句子中其他词的联系,这些联系也需要加入训练,并得到训练结果。
具体实施方式十一:关于本系统知识融合的过程,在本体对齐之后还需要进行实体匹配;
本系统由于知识数据来源、表达方式的多样化,需要对知识进行预处理操作。操作主要从两方面入手:一方面是语法,另一方面是文本。
语法预处理:包括语法规范化,限定部分输入,以及输入格式。例如在电机故障表征处,输入应当按照一定格式,且有固定语法。同时在故障的原因描述中也应包括一定的语法信息。
文本预处理:首先需要去除文本中的噪音,例如在抽取或者用户输入中包含空格、-等符号;以及典型的输入错误;同时维护一张替换词表,将主要的词汇或者频率高的词汇的中英文以及缩写进行记录,例如转子-rotor-ER。当出现类似的不同表达方式,一律替换成相同的表达方式。文本预处理的操作为后续操作的准确性奠定基础。
之后进行计算属性的相似度的过程:本系统采用判断集合的相似度来判断属性的相似度。本系统采用以下的方法:。
首先判断相似度中的dice系数,dice系数的计算方式与计算编辑距离的方式类似,dice系数是将两个字符串的比较变成集合之间的比较,看两个字符串是否相似,公式如下。
simDice(s,t)=2|ScapT||S|+|T|
接下来判断jaccard系数。思想和diss系数相似,但更适用于短文本的计算公式如下。
simJacard(s,t)=|S∩T||S∪T|
本系统实体相似度聚合采用相关聚类的方式,x,y代表不同的实体,通过比较是否将x,y划分到同一类别得到的代价判断划分类别的最优解。公式如下:
minΣrxyw-xy+(1-rxy)
具体实施方式十二:所述的知识融合模块,在数据对齐后进行实体匹配的细化过程如下:
两个不同空间的向量实体需要映射到同一个空间之中,本系统采用的映射方案是结合之前模型的输入,根据模型构建的经验,计算一个图谱中的实体与另一个图谱中实体的欧式距离,选择最近的两个实体进行连接,多个实体进行相似的迭代操作之后,最终融合到一个空间维度之下。
以上实施例只是对本专利的示例性说明,并不限定它的保护范围,本领域技术人员还可以对其局部进行改变,只要没有超出本专利的精神实质,都在本专利的保护范围内。
Claims (7)
1.一种电机故障知识抽取系统,其特征在于:该系统包括数据采集模块,数据预处理模块,辅助训练工具模块、模型训练模块和知识融合模块;
所述的数据采集模块负责采集故障数据后发送给数据预处理模块;
所述的数据预处理模块将采集后的数据进行预处理;
所述的辅助训练工具模块抽取相关的系统配套程序;
所述的模型训练模块与数据预处理模块连接,将预处理的数据进行模型训练;
所述的模型训练模块和所述的知识融合模块连接,将预处理的数据进行最后的融合处理;
所述的辅助训练工具模块中包括文本分类工具、数据标注工具、数据库监听工具和数据爬取工具,具体操作步骤如下:
步骤三一,所述的文本分类工具为了去除文本中相关干扰项,首先系统核心是抽取文本中相关电机故障,鉴定为干扰项的杂音,利用TF-IDF模型利用其二分类的任务对文章进行初筛而剔除,将上传的文本分类为相关文本和不相关文本;
步骤三二,在得出该文本为不相关文本时,提醒用户并且不会继续向下进行;当该文本为相关文本时,文本会交给接下来的模型进行抽取,同时在训练结果抽取完之后利用相关谓词,和编辑距离等辅助信息进行实体间的匹配,得到抽取结果;
步骤三三,所述的数据标注工具,该工具利用C#桌面工具进行开发,通过随机的从库中选出一句话,让用户对这句话进行标注,同时在界面上有详细的标注说明,用户在对这句话标注之后,标注的结果就会存入文档之中进行记录,最后将所有标注好的数据作为训练数据,进行文件格式转换等操作后,训练成为标准模型;
步骤三四,所述的数据库监听工具采用轮询脚本实现,脚本不断监听数据库变化,当小程序录入用户的回答之后,第一时间拿到数据库中改变的数据,并判断是否为需要抽取处理的数据,当确认数据为需要处理的数据之后,调用文本抽取工具,对短文本进行抽取,抽取结果返回到数据库对应位置,并以json数据格式进行保存,模块之间的通信同样采用json格式进行通信;
步骤三五,所述的数据爬取工具应用BERT模型的命名实体识别任务,首先关于电机故障的文章数据进行爬取,在对这些文章爬取之后,进行数据清洗,数据清洗完毕统一转换成数字化格式的txt格式;
所述的模型训练模块中,包括模型对比分析模块,利用BERT模型的底层结构Transformer结构模型,通过自注意力机制进行电机故障知识抽取结果对比分析,具体步
骤如下:
步骤四一,所述的模型对比分析模块,针对不同的输入,抽取出其中相关联的实体,应用抽取方式的语言模型为TF-IDF模型,首先需要进行分词操作,分词工具为结巴分词,然后在分词过程中仍存在含义就是干扰项的停用词,解决方式是使用停用词包,排除各种停用词;在此基础上添加textrank函数,这些关键词的文本分词之后,以固定窗口大小5通过span属性调整;
步骤四二,所述的Transformer结构模型内部包含进行编码和解码的处理层encoder层和decoder层,每一个编码器中包含两个子层:自注意力层和神经网络层,其中自注意力层采用自注意力机制,自注意力机制关注那些对推理有用的知识,而忽略无关的知识,并得到训练结果;
神经网络层中,在输入转换为输出的时候转化为向量进行运算,通过每个词向量计算得到输出,具体结构为12层,其中有6层是encoder部分,其中每一层又分为两个子层,首先是自注意力机制,其中公式表示为:
attentionoutput=Attention(Q,K,V)
其中attentionoutput定义为自注意力值,是一个矩阵,这个矩阵代表每一个词与其他词的相关度,这个矩阵的值是通过Q、K、V三个矩阵点乘得到的;
其中Q,K,V分别代表一个矩阵,每个字都在维护的三个矩阵,三个矩阵分别代表每个词的值向量矩阵、关系值向量矩阵、位置向量矩阵;通过矩阵之间的乘法,然后将得到的注意力结果进行汇总,汇总算式如下:
MultiHead(Q,K,V)=Concat(head1...,headh)Wo
此公式是在自注意力机制的基础上引入多头模型,因为句子中的每一个词汇都会维护多个矩阵的乘积,这些中间结果需要进行融合,这就需要引入多头机制,其中每两个矩阵的乘积即为一头,最后将所有头进行交叉连接,得到矩阵最终的多头结果,上面公式代表多头最终的连接过程,下方公式代表每个头的计算得来的过程:
headi=Attention(QWi Q,KWi K,VWi V)
在以上计算结果之后,最终得到每个词汇的自注意力矩阵值,最后将这个值通过softmax层进行处理判断,得到最终对应的Attention结果:
将得到的结果采用softmax函数得到最终的结果,在编码的过程中,所有Q,K,V可以一起进行运算,在解码的过程中,需要一步一步的进行解码,前面的结果作为后面的输入矩阵值;
所述的知识融合模块包括知识预处理、属性相似度连接建立和知识嵌入及分块匹配,具体步骤如下:
步骤五一,所述的知识预处理模块包语法预处理和文本预处理两部分;
语法预处理:包括语法规范化,限定部分输入,以及输入格式,例如在电机故障表征处,输入应当按照一定格式,且有固定语法,同时在故障的原因描述中也应包括一定的语法信息;
文本预处理:首先需要去除文本中的噪音,例如在抽取或者用户输入中包含空格、-等符号;以及典型的输入错误;同时维护一张替换词表,将主要的词汇或者频率高的词汇的中英文以及缩写进行记录,例如转子-rotor-ER,当出现类似的不同表达方式,一律替换成相同的表达方式,这样文本预处理的操作为后续操作的准确性奠定基础;
步骤五二,所述的属性相似度连接模块中计算属性的相似度,采用判断集合的相似度来判断属性的相似度,具体判断方法如下:
首先判断相似度中的dice系数,dice系数是将两个字符串的比较变成集合之间的比较,看两个字符串是否相似,公式如下:
simDice(s,t)=2|ScapT||S|+|T|
jaccard系数,公式如下
simJacard(s,t)=|S∩T||S∪T|
实体相似度聚合采用相关聚类的方式,x,y代表不同的实体,通过比较将x,y划分到同一类别得到的代价判断划分类别的最优解,公式如下:
min∑rxyw-xy+(1-rxy)
使用canopy和kmeans方法结合的方式来进行划分完成属性相似度的连接过程;
步骤五三,所述的知识嵌入及分块匹配,实体匹配之前设定好实体匹配的基本参数,其中包括实体的数据范围,目标输出位置以及设定响应的阈值,接下来选取对应的样本,尽量选取分布均匀的样本;
通过两个不同空间的向量实体需要映射到同一个空间之中,映射方案结合之前模型的输入,计算一个图谱中的实体与另一个图谱中实体的欧式距离,选择最近的两个实体进行连接,多个实体进行相似的迭代操作之后,最终融合到一个空间维度之下;
步骤五四,进行实体分块操作,提供实体匹配的候选项,候选项中的实体是潜在的匹配集合,采用hash算法进行实体分块,并为实体提供其对应的候选项模块,通过采用模块训练,同时多训练主机,并采用map-reduce的训练方式进行负载均衡;
步骤五五,进行过滤操作,用三角不等式过滤法,通过这种过滤的方式筛选出距离不符合规定的点,同时确保初始样本的实体数量远远小于合并之后的实体数量,最后本系统规定按照指定格式,故障描述、故障元件、故障解决方式进行输出,形成完备的知识图谱。
2.根据权利要求1所述的一种电机故障知识抽取系统,其特征在于:数据采集模块与手机端和PC端两部分建立连接,PC端为手机端提供接口,其中手机端主要采用了微信小程序开发,主要包含业务逻辑模块、知识展示模块和知识作答模块三大主要功能模块:
业务逻辑模块,主要包含电机相关专家业务注册、登录等业务;
知识展示模块,向用户展示电机故障知识问卷,同时包括已经作答的问卷;
知识作答模块,支持用户选择自己感兴趣电机故障知识问卷并作答,作答结果提交后保存到后台。
3.根据权利要求1所述的一种电机故障知识抽取系统,其特征在于:
所述的数据采集模块包括注册信息模块、用户数据采集模块和文献数据采集模块;
其中用户数据采集模块所需的用户部分的数据从注册信息模块采集;
所述的数据预处理模块包括文本格式转换模块,文本编码转换模块和文本规范化模块;
所述的辅助训练工具模块包括文本分类工具、数据标注工具、数据库监听工具和数据爬取工具;
所述的模型训练模块中的模型为BERT模型;
所述的知识融合模块包括知识预处理模块、属性相似度连接模块和知识嵌入及分块匹配模块。
4.根据权利要求3所述的一种电机故障知识抽取系统,其特征在于:所述的知识预处理模块包括语法预处理模块和文本预处理模块两部分。
5.一种电机故障知识抽取方法,由上述权利要求1-4任一一项所述的系统作为支持而实现的,其特征在于:方法步骤如下:
步骤一,所述的数据采集模块中,用户和管理员通过所述的注册信息模块对各自的信息进行注册,用户上传个人信息或对问卷的答案至所述的用户数据采集模块由管理员进行处理,所述的文献数据采集模块选择资料中的数据作为该系统的训练模型支持;
步骤二,所述的数据预处理模块中,文本格式转换模块将不同种类的电机故障的文本格式进行统一处理,所述的文本编码转换模块将不同种类的文本编码进行统一编码,所述的文本规范化模块将文本用标签进行标注后通过辅助训练工具模块进行处理;
步骤三,通过所述的辅助训练工具模块对步骤二中得到的标签进行降低开发难度的处理,包括所述的文本分类工具进行文本中噪音降噪、用户通过所述的数据标注工具进行回答、所述的数据库监听工具对用户的回答进行数据监听以及所述的数据爬取工具对电机故障的文章的爬取;
步骤四,所述的模型训练模块中模型,利用BERT模型的底层结构Transformer结构模型,通过自注意力机制进行电机故障知识抽取结果对比分析;
步骤五,所述的知识融合模块在数据对齐后进行实体匹配,其包括所述的知识预处理模块对上述获得的知识数据进行预处理,所述的属性相似度连接模块对知识数据的相似度进行计算,以及知识嵌入及分块匹配模块进行实体匹配、过滤从而完备知识图谱。
6.根据权利要求5所述的一种电机故障知识抽取方法,其特征在于:所述的数据采集模块包括注册信息、用户数据采集和文献数据采集功能构成,具体步骤如下:
步骤一一,所述的注册信息模块具有相同的后台的手机端和PC端,无论用户在PC端或在手机端都是使用相同的ID和相同的登录注册信息,共享相关数据并使用相同的ID,每一次系统都会根据这个ID进行判断,并根据这个ID进行登记和保存;
当管理员在PC端配置好相关基本信息之后,同时形成标准问卷,这些前期准备工作两者同时使用,虽然管理员只能在PC端进行配置,但配置结果同时在PC端和手机端两个部分使用;
步骤一二,所述的用户数据采集主要方式为用户通过微信小程序上传自己问卷的答案,用户通过回答问卷的方式作答,由PC端支持文件进行上传,或者用语音说出故障的解决方案,语音输入由微信小程序支持进行上传;
步骤一三,管理员还需要提醒用户在规定时间内完成电机故障知识问卷,采用邮件通知的方式,及时发放和收集问卷;调用电机故障知识抽取系统的接口进行处理;所有用户的答案都需要管理员确认,同时所有用户都会收到管理员的通知信息,无论在手机端或PC端上回答问卷之后都会进行保存上传,提交至后台,所以用户只需任选一个平台仅作答一次即可,在作答之后都会交给管理员进行审核,审核之后决定是否通过并融合到知识库当中;
步骤一四,所述的文献数据采集模块,知识数据的来源除了电机故障专家的答案之外还包括已有的专业化文献,这些文献提供的电机故障知识,用来训练模型。
7.根据权利要求5所述的一种电机故障知识抽取方法,其特征在于:所述的数据预处理模块中包括文本格式转换、文本编码转换和文本规范化功能,具体步骤如下:
步骤二一,所述的文本格式转换模块将来源为《大电机技术》文章的数据,通过爬虫工具采集近三年与电机故障有关的文章,并将文章格式统一转换成数字化的txt格式,将文件进行数字化处理,形成符合标准的数字化格式文件,并交给模型进行处理;
步骤二二,所述的文本编码转换模块将文本统一进行转码处理,在转码过程中需要先利用原有的编码方式进行解码,变成统一的编码格式,最终形成标准统一的编码格式,以便后续步骤的数据处理;
步骤二三,所述的文本规范化模块中,为了制作模型的tfrecord,要按照模型的输入进行文本格式的修改,在训练之前在每一个字的上面打一个标签,中间以空格隔开,作为模型的输入,这些标签分别代表需要抽取的故障描述、故障元件和故障解决方式,在标注并按照对应格式输入之后模型开始训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010870508.2A CN112000791B (zh) | 2020-08-26 | 2020-08-26 | 一种电机故障知识抽取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010870508.2A CN112000791B (zh) | 2020-08-26 | 2020-08-26 | 一种电机故障知识抽取系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000791A CN112000791A (zh) | 2020-11-27 |
CN112000791B true CN112000791B (zh) | 2024-02-02 |
Family
ID=73471690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010870508.2A Active CN112000791B (zh) | 2020-08-26 | 2020-08-26 | 一种电机故障知识抽取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000791B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651243B (zh) * | 2020-12-15 | 2023-11-03 | 中国科学院信息工程研究所 | 基于融入结构化实体信息的缩写项目名称识别方法及电子装置 |
CN112559712A (zh) * | 2020-12-23 | 2021-03-26 | 中国人寿保险股份有限公司 | 一种智能运维方法和系统 |
CN112712177A (zh) * | 2020-12-29 | 2021-04-27 | 上海永骁智能技术有限公司 | 一种基于协同处理的知识工程方法与装置 |
CN112749509B (zh) * | 2020-12-30 | 2022-06-10 | 西华大学 | 一种基于lstm神经网络的智能变电站故障诊断方法 |
CN112882887B (zh) * | 2021-01-12 | 2022-08-09 | 昆明理工大学 | 一种云计算环境下服务故障模型动态建立方法 |
CN112906739B (zh) * | 2021-01-18 | 2021-11-05 | 河南工业大学 | 基于多头注意力及轴系设备周期性的故障诊断方法 |
CN112951027A (zh) * | 2021-03-08 | 2021-06-11 | 中铁第一勘察设计院集团有限公司 | 一种电务培训系统 |
CN113190602B (zh) * | 2021-04-09 | 2022-03-25 | 桂林电子科技大学 | 融合字词特征与深度学习的事件联合抽取方法 |
CN113268538A (zh) * | 2021-05-17 | 2021-08-17 | 哈尔滨工业大学(威海) | 一种基于领域知识图谱的复杂装备故障溯源方法及系统 |
CN113255780B (zh) * | 2021-05-28 | 2024-05-03 | 润联智能科技股份有限公司 | 一种减速箱故障预测方法、装置、计算机设备及存储介质 |
CN113590779B (zh) * | 2021-06-30 | 2023-04-25 | 四川大学 | 一种空管领域知识图谱的智能问答系统构建方法 |
KR20230007138A (ko) * | 2021-07-05 | 2023-01-12 | 현대자동차주식회사 | 차량 품질 문제 관리 시스템 및 그의 데이터 처리 방법 |
CN113505241B (zh) * | 2021-07-15 | 2023-06-30 | 润建股份有限公司 | 一种基于知识图谱的用电安全隐患智能诊断方法 |
CN114325384A (zh) * | 2021-12-22 | 2022-04-12 | 重庆邮电大学 | 一种基于电机故障知识的众包采集系统及方法 |
CN114168715A (zh) * | 2022-02-10 | 2022-03-11 | 深圳希施玛数据科技有限公司 | 生成目标数据集的方法、装置、设备及存储介质 |
CN115409075A (zh) * | 2022-11-03 | 2022-11-29 | 成都中科合迅科技有限公司 | 一种基于无线信号分析的特征分析系统 |
CN116664148B (zh) * | 2023-08-01 | 2023-10-13 | 南京大全电气研究院有限公司 | 一种售后消缺管理方法、装置及电子设备 |
CN117132997B (zh) * | 2023-10-26 | 2024-03-12 | 国网江西省电力有限公司电力科学研究院 | 一种基于多头注意力机制和知识图谱的手写表格识别方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765257A (zh) * | 2019-12-30 | 2020-02-07 | 杭州识度科技有限公司 | 一种知识图谱驱动型的法律智能咨询系统 |
CN110781671A (zh) * | 2019-10-29 | 2020-02-11 | 西安科技大学 | 一种智能ietm故障维修记录文本的知识挖掘方法 |
DE202020102105U1 (de) * | 2020-04-16 | 2020-04-29 | Robert Bosch Gmbh | Vorrichtung zum automatisierten Erzeugen eines Wissensgraphen |
CN111209412A (zh) * | 2020-02-10 | 2020-05-29 | 同方知网(北京)技术有限公司 | 一种循环更新迭代的期刊文献知识图谱构建方法 |
CN111428054A (zh) * | 2020-04-14 | 2020-07-17 | 中国电子科技网络信息安全有限公司 | 一种网络空间安全领域知识图谱的构建与存储方法 |
-
2020
- 2020-08-26 CN CN202010870508.2A patent/CN112000791B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781671A (zh) * | 2019-10-29 | 2020-02-11 | 西安科技大学 | 一种智能ietm故障维修记录文本的知识挖掘方法 |
CN110765257A (zh) * | 2019-12-30 | 2020-02-07 | 杭州识度科技有限公司 | 一种知识图谱驱动型的法律智能咨询系统 |
CN111209412A (zh) * | 2020-02-10 | 2020-05-29 | 同方知网(北京)技术有限公司 | 一种循环更新迭代的期刊文献知识图谱构建方法 |
CN111428054A (zh) * | 2020-04-14 | 2020-07-17 | 中国电子科技网络信息安全有限公司 | 一种网络空间安全领域知识图谱的构建与存储方法 |
DE202020102105U1 (de) * | 2020-04-16 | 2020-04-29 | Robert Bosch Gmbh | Vorrichtung zum automatisierten Erzeugen eines Wissensgraphen |
Non-Patent Citations (3)
Title |
---|
基于BERT嵌入BiLSTM-CRF模型的中文专业术语抽取研究;吴俊;程垚;郝瀚;艾力亚尔・艾则孜;刘菲雪;苏亦坡;;情报学报(第04期);全文 * |
基于文献知识抽取的专题知识库构建研究――以中药活血化瘀专题知识库为例;马雨萌;王昉;黄金霞;姜恩波;张翕宇;;情报学报(第05期);全文 * |
面向司法案件的案情知识图谱自动构建;洪文兴;胡志强;翁洋;张恒;王竹;郭志新;;中文信息学报(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112000791A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000791B (zh) | 一种电机故障知识抽取系统及方法 | |
CN110413788B (zh) | 会话文本的场景类别的预测方法、系统、设备和存储介质 | |
CN111382565B (zh) | 基于多标签的情绪-原因对抽取方法及系统 | |
WO2023273170A1 (zh) | 一种迎宾机器人对话方法 | |
CN105095444A (zh) | 信息获取方法和装置 | |
CN114722839B (zh) | 人机协同对话交互系统及方法 | |
CN110046356B (zh) | 标签嵌入的微博文本情绪多标签分类方法 | |
CN112100375A (zh) | 文本信息生成方法、装置、存储介质及设备 | |
CN112527986A (zh) | 多轮对话文本生成方法、装置、设备及存储介质 | |
CN114238573A (zh) | 基于文本对抗样例的信息推送方法及装置 | |
CN111429157A (zh) | 投诉工单的评价处理方法、装置、设备及存储介质 | |
CN115062003B (zh) | 基于gpt2的云erp社区生成式问答方法 | |
CN116245110A (zh) | 基于图注意力网络的多维度信息融合用户立场检测方法 | |
CN115759119A (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN116737922A (zh) | 一种游客在线评论细粒度情感分析方法和系统 | |
CN114942990A (zh) | 一种基于提示学习的少样本抽象对话摘要生成系统 | |
CN113159831A (zh) | 一种基于改进的胶囊网络的评论文本情感分析方法 | |
CN114491265B (zh) | 一种经营性空间平台运营服务系统的构建方法 | |
TW202034207A (zh) | 使用意圖偵測集成學習之對話系統及其方法 | |
CN116186259A (zh) | 一种会话线索评分方法、装置、设备及存储介质 | |
Muangnak et al. | The neural network conversation model enables the commonly asked student query agents | |
CN114325384A (zh) | 一种基于电机故障知识的众包采集系统及方法 | |
CN114416991A (zh) | 一种基于prompt的文本情感原因分析方法和系统 | |
CN114330701A (zh) | 模型训练方法、装置、计算机设备、存储介质及程序产品 | |
Khadija et al. | Deep learning Indonesian chatbot using PyTorch for customer support automation |
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 |