CN116955616A - 一种文本分类方法及电子设备 - Google Patents
一种文本分类方法及电子设备 Download PDFInfo
- Publication number
- CN116955616A CN116955616A CN202310792167.5A CN202310792167A CN116955616A CN 116955616 A CN116955616 A CN 116955616A CN 202310792167 A CN202310792167 A CN 202310792167A CN 116955616 A CN116955616 A CN 116955616A
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- sample
- text
- word vector
- 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 73
- 239000013598 vector Substances 0.000 claims abstract description 612
- 239000011159 matrix material Substances 0.000 claims abstract description 121
- 238000013145 classification model Methods 0.000 claims abstract description 87
- 238000001914 filtration Methods 0.000 claims abstract description 65
- 238000012549 training Methods 0.000 claims description 48
- 238000013519 translation Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 30
- 239000013604 expression vector Substances 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 23
- 230000002457 bidirectional effect Effects 0.000 claims description 20
- 125000004122 cyclic group Chemical group 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 18
- 230000001537 neural effect Effects 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 230000036651 mood Effects 0.000 abstract 1
- 239000010410 layer Substances 0.000 description 35
- 238000010586 diagram Methods 0.000 description 32
- 230000007246 mechanism Effects 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000013528 artificial neural network Methods 0.000 description 21
- 230000000306 recurrent effect Effects 0.000 description 10
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 9
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 238000011176 pooling Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000010865 sewage Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 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/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- 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)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文本分类方法及电子设备,获取到待分类的文本并得到对应的第一词向量矩阵之后,基于词过滤模型可以确定出第一词向量矩阵中多个第一词向量各自的类别贡献度,根据多个第一词向量各自的类别贡献度,对多个第一词向量进行筛选,得到第二词向量矩阵。基于词过滤模型可以滤除掉口语词的词向量、语气词的词向量等,进而得到的第二词向量矩阵。最后将第二词向量矩阵输入文本分类模型确定文本的目标类别,这样避免了口语词、语气词等对于文本分类模型的干扰,提高了文本分类的准确性。本申请所保护的方案具有准确率高、推理速度快的特点,具备鲁棒性、可解释性和可靠性,符合可信赖性特点。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种文本分类方法及电子设备。
背景技术
文本分类任务是文本信息挖掘的重要问题,在自然语言处理领域是一个重要课题。随着深度学习模型技术的快速发展,现有技术中出现了基于文本分类模型实现文本分类的技术方案,包括获取待分类的文本,将待分类的文本输入文本分类模型,进而输出待分类的文本的类别。
但是,用户输入的文本一般具有不规范性,也就是说文本中会包含口语词、语气词等。而这些口语词、语气词对于文本分类模型,会造成较多的分类干扰,使得基于文本分类模型输出的文本的类别的准确性较差。即现有技术存在文本分类准确性较差的问题。
发明内容
本申请提供了一种文本分类方法及电子设备,用以解决现有技术存在文本分类准确性较差的问题。
第一方面,本申请提供了一种文本分类方法,所述方法包括:
获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量;
将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵;
将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
第二方面,本申请提供了一种文本分类装置,所述装置包括:
词向量转换模块,用于获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量;
第一确定模块,用于将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵;
第二确定模块,用于将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现所述的方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。
本申请提供了一种文本分类方法及电子设备,所述方法包括:获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量;将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵;将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
上述的技术方案具有如下优点或有益效果:
本申请中,预先训练了词过滤模型,获取到待分类的文本并得到对应的第一词向量矩阵之后,基于词过滤模型可以确定出第一词向量矩阵中多个第一词向量各自的类别贡献度,根据多个第一词向量各自的类别贡献度,对多个第一词向量进行筛选,得到第二词向量矩阵。由于文本中的口语词、语气词等对于文本分类的贡献度较低,因此基于词过滤模型可以滤除掉口语词的词向量、语气词的词向量等,进而得到的第二词向量矩阵。最后将第二词向量矩阵输入文本分类模型确定文本的目标类别,这样避免了口语词、语气词等对于文本分类模型的干扰,提高了文本分类的准确性。本申请所保护的方案具有准确率高、推理速度快的特点,具备鲁棒性、可解释性和可靠性,符合可信赖性特点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的文本分类过程示意图;
图2为本申请提供的文本分类过程示意图;
图3为本申请提供的文本分类过程示意图;
图4为本申请提供的文本分类过程示意图;
图5为本申请提供的基于所述文本分类模型确定所述文本的目标类别的过程示意图;
图6为本申请提供的词过滤模型的训练过程示意图;
图7为本申请提供的词的注意力矩阵示意图;
图8为本申请提供的知识图谱翻译模型的训练过程示意图;
图9为本申请提供的文本分类模型的训练过程示意图;
图10为本申请提供的对模型参数进行调整的过程示意图;
图11为本申请提供的文本分类的模型框架图;
图12为本申请提供的文本分类EEARCNN模型架构图;
图13为本申请提供的模型训练精确度对比分析示意图;
图14为本申请提供的F1值及用时分析示意图;
图15为本申请提供的模型准确率对比分析示意图;
图16为本申请提供的文本分类装置结构示意图;
图17为本申请提供的电子设备结构示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
图1为本申请提供的文本分类过程示意图,该过程包括以下步骤:
S101:获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量。
S102:将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵。
S103:将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
本申请提供的文本分类方法应用于电子设备,该电子设备可以是PC、平板电脑、服务器等设备。
电子设备获取待分类的文本,待分类的文本可以是用户在电子设备中输入的文本,或者可以由电子设备从文本数据库中按顺序获取待分类的文本。
电子自身对文本进行切词,得到文本的各个词,然后通过词向量转换算法将各个词转换为各个第一词向量。词向量转换算法例如是Word2Vec算法。将待检测的文本的各个第一词向量按照各个词的先后顺序进行拼接,得到文本对应的第一词向量矩阵。这样,第一词向量矩阵中包含各个词的第一词向量。
电子设备保存有训练完成的词过滤模型,词过滤模型用于确定词向量的类别贡献度。将第一词向量矩阵输入词过滤模型,基于词过滤模型可以确定出第一词向量矩阵中各个第一词向量各自的类别贡献度。其中,针对各个第一词向量,基于词过滤模型可以确定出该第一词向量对应于各个类别的贡献值。各个类别例如是指标查询类、气候查询类、交通查询类等等。在不同的领域,各个类别可能是不同的,可以用类别1、类别2、……、类别k来表示各个类别。针对各个第一词向量,基于词过滤模型可以确定出该第一词向量对应于类别1的贡献值、类别2的贡献值、……、类别k的贡献值。可以将k个贡献值中最大的贡献值作为该第一词向量的类别贡献度,或者将k个贡献值的平均值作为该第一词向量的类别贡献度。
确定多个第一词向量各自的类别贡献度之后,根据各个第一词向量各自的类别贡献度,对各个第一词向量进行筛选,得到第二词向量矩阵。具体的,电子设备中保存预设的贡献度阈值,针对各个第一词向量,若该第一词向量的类别贡献度大于预设的贡献度阈值,则保留该第一词向量;若该第一词向量的类别贡献度不大于预设的贡献度阈值,则删除该第一词向量。第一词向量矩阵中筛选第一词向量之后,保留下来的第一词向量构成第二词向量矩阵。
电子设备保存有训练完成的文本分类模型,文本分类模型用于确定待检测的文本对应于各个类别的置信度,选取置信度最大的类别作为文本的目标类别。
本申请中,预先训练了词过滤模型,获取到待分类的文本并得到对应的第一词向量矩阵之后,基于词过滤模型可以确定出第一词向量矩阵中多个第一词向量各自的类别贡献度,根据多个第一词向量各自的类别贡献度,对多个第一词向量进行筛选,得到第二词向量矩阵。由于文本中的口语词、语气词等对于文本分类的贡献度较低,因此基于词过滤模型可以滤除掉口语词的词向量、语气词的词向量等,进而得到的第二词向量矩阵。最后将第二词向量矩阵输入文本分类模型确定文本的目标类别,这样避免了口语词、语气词等对于文本分类模型的干扰,提高了文本分类的准确性。本申请所保护的方案具有准确率高、推理速度快的特点,具备鲁棒性、可解释性和可靠性,符合可信赖性特点。
为了使确定多个第一词向量各自的类别贡献度更准确,本申请中,基于所述词过滤模型确定多个第一词向量各自的类别贡献度包括:
针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度。
针对各个第一词向量,基于词过滤模型确定该第一词向量对应于各文本类别的贡献值之后,也就是说确定出该第一词向量对应于类别1的贡献值、类别2的贡献值、……、类别k的贡献值之后,根据各文本类别的贡献值计算均方差,将均方差作为该第一词向量的类别贡献度。其中,可以采用公式确定该第一词向量的类别贡献度,式中,ti[r]是第一词向量ti对应类别k的贡献值;α是k个贡献值的平均值,k为类别的种类数量,/>为该第一词向量的类别贡献度。
图2为本申请提供的文本分类过程示意图,该过程包括以下步骤:
S201:获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量。
S202:将所述第一词向量矩阵输入词过滤模型,针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵。
S203:将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
考虑到第二词向量矩阵中的第二词向量数量有可能较少,包含的语义特征不丰富,为了进一步提高文本分类的准确性,本申请对第二词向量矩阵进行了实体增强。即对所述多个第一词向量进行筛选,得到第二词向量矩阵之后,所述方法还包括:
针对所述第二词向量矩阵中的多个第二词向量,利用预先保存的知识图谱和知识图谱翻译模型,确定所述第二词向量对应的知识子图向量;其中,所述知识子图向量中包含所述第二词向量、与所述第二词向量连接的第三词向量、以及所述第二词向量和所述第三词向量之间的关系向量;
将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别包括:
将所述第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
电子设备针对第二词向量矩阵中的多个第二词向量,首先确定该第二词向量对应的词,电子设备预先保存有知识图谱,从知识图谱中查询到与该第二词向量对应的词,进而确定出知识图谱中与该词存在连接关系的各个词。例如,该词为“水质状况”,知识图谱中与该词存在连接关系的各个词为“环境保护”、“污水治理”、“水质指标”等。从知识图谱中选取出该词和存在连接关系的各个词,并且连接关系一并选取,得到该词的知识子图。
电子设备中保存有预先训练完成的知识图谱翻译模型,知识图谱翻译模型用于输出知识子图对应的知识子图向量。针对各个第二词向量,确定该二词向量对应的词的知识子图之后,将知识子图输入知识图谱翻译模型,得到第二词向量对应的知识子图向量。其中,知识子图向量中包含第二词向量、与第二词向量连接的第三词向量、以及第二词向量和第三词向量之间的关系向量。与第二词向量连接的第三词向量为至少一个。
电子设备将第二词向量矩阵和多个第二词向量分别对应的知识子图向量输入文本分类模型,基于文本分类模型确定文本的目标类别。由于增加了知识子图向量,增强了文本实体特征,而且增强的文本实体特征均是知识子图中与第二词向量存在连接关系的实体特征,因此提高了文本分类的准确性。
图3为本申请提供的文本分类过程示意图,该过程包括以下步骤:
S301:获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量。
S302:将所述第一词向量矩阵输入词过滤模型,针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵。
S303:针对所述第二词向量矩阵中的多个第二词向量,利用预先保存的知识图谱和知识图谱翻译模型,确定所述第二词向量对应的知识子图向量;其中,所述知识子图向量中包含所述第二词向量、与所述第二词向量连接的第三词向量、以及所述第二词向量和所述第三词向量之间的关系向量。
S304:将所述第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
为了避免部分的知识子图向量对文本分类的负面干扰,本申请提供了对知识子图向量进行筛选的技术方案。即确定所述第二词向量对应的知识子图向量之后,将所述知识子图向量输入所述文本分类模型之前,所述方法还包括:
根据所述知识子图向量中的第二词向量和第三词向量的指向连接关系,确定头实体向量和尾实体向量;
基于所述知识图谱翻译模型,确定所述头实体向量和所述关系向量的和值向量,并确定所述和值向量与所述尾实体向量的距离;
若所述距离大于预设的距离阈值,滤除所述知识子图向量;若所述距离不大于预设的距离阈值,保留所述知识子图向量,并将保留的所述知识子图向量输入所述文本分类模型。
根据知识子图向量中的第二词向量和第三词向量的指向连接关系,确定头实体向量和尾实体向量。其中,第二词向量和第三词向量的指向连接关系与知识子图中词向量对应词的指向连接关系相同。若第二词向量和第三词向量的指向连接关系为第二词向量指向第三词向量,则确定第二词向量为头实体向量,第三词向量为尾实体向量;若第二词向量和第三词向量的指向连接关系为第三词向量指向第二词向量,则确定第三词向量为头实体向量,第二词向量为尾实体向量。基于知识图谱翻译模型,确定头实体向量和关系向量的和值向量,进而再确定和值向量与尾实体向量的距离。电子设备保存有预设的距离阈值,如果和值向量与尾实体向量的距离大于预设的距离阈值,则说明知识子图向量与第二词向量的关联性较弱,有可能对文本分类产生负面干扰,因此滤除知识子图向量;如果和值向量与尾实体向量的距离不大于预设的距离阈值,则说明知识子图向量与第二词向量的关联性较强,对文本分类具有正面作用,增强了正向文本实体特征,因此可以提高文本分类的准确性,因此保留知识子图向量。最后将保留的知识子图向量输入所述文本分类模型。
图4为本申请提供的文本分类过程示意图,该过程包括以下步骤:
S401:获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量。
S402:将所述第一词向量矩阵输入词过滤模型,针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵。
S403:针对所述第二词向量矩阵中的多个第二词向量,利用预先保存的知识图谱和知识图谱翻译模型,确定所述第二词向量对应的知识子图向量;其中,所述知识子图向量中包含所述第二词向量、与所述第二词向量连接的第三词向量、以及所述第二词向量和所述第三词向量之间的关系向量。
S404:根据所述知识子图向量中的第二词向量和第三词向量的指向连接关系,确定头实体向量和尾实体向量;基于所述知识图谱翻译模型,确定所述头实体向量和所述关系向量的和值向量,并确定所述和值向量与所述尾实体向量的距离;若所述距离大于预设的距离阈值,滤除所述知识子图向量;若所述距离不大于预设的距离阈值,保留所述知识子图向量。
S405:将所述第二词向量矩阵和保留的知识子图向量输入所述文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
为了进一步提高文本分类的准确性,本申请中,基于所述文本分类模型确定所述文本的目标类别包括:
基于所述文本分类模型中的双向循环神经子网络,针对所述第二词向量矩阵中的多个第二词向量,根据所述第二词向量和前向相邻的第四词向量,确定所述第二词向量对应的前文表示向量;根据所述第二词向量和后向相邻的第五词向量,确定所述第二词向量对应的后文表示向量;采用所述前文表示向量、所述第二词向量和所述后文表示向量拼接得到的向量组,对所述第二词向量进行更新;
将更新后的第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述文本的目标类别。
电子设备保存有预先训练完成的文本分类模型,文本分类模型用于确定待检测的文本的目标类别。其中,文本分类模型包括双向循环神经子网络和类别输出子网络,双向循环神经子网络和类别输出子网络的参数可以一起训练得到。双向循环神经子网络用于学习到上下文的时序权重。具体的,针对第二词向量矩阵中的多个第二词向量,基于双向循环神经子网络,根据第二词向量和前向相邻的第四词向量,确定第二词向量对应的前文表示向量;类似的,基于双向循环神经子网络,根据第二词向量和后向相邻的第五词向量,确定第二词向量对应的后文表示向量。
可选的,根据公式cl(ti)=f(T(l)cl(ti-1)+T(sl)e(ti-1))确定第二词向量对应的前文表示向量,根据公式cr(ti)=f(T(r)cr(ti+1)+T(sr)e(ti+1))确定第二词向量对应的后文表示向量。式中,cl(ti)与cr(ti)分别表示词ti的前文表示向量和后文表示向量,ti表示为输入的第i个词;e(ti-1)是单词ti-1的词向量;cl(ti-1)表示为当前计算词的前向相邻的词的前文表示向量;T(l)表示隐含层的转移矩阵;T(sl)表示参数矩阵,用于将当前词的语义与下一个单词的前文表示向量相结合;f是一个非线性的激活函数。
采用前文表示向量、第二词向量和后文表示向量拼接得到的向量组,对第二词向量进行更新。更新后的第二词向量的表示形式为:xi=[cl(ti);e(ti);cr(ti)]。
将更新后的第二词向量矩阵和多个第二词向量分别对应的知识子图向量输入文本分类模型中的类别输出子网络,基于类别输出子网络确定文本对应各个类别的置信度,选取最高的置信度对应的类别作为目标类别。
图5为本申请提供的基于所述文本分类模型确定所述文本的目标类别的过程示意图,包括以下步骤:
S501:基于所述文本分类模型中的双向循环神经子网络,针对所述第二词向量矩阵中的多个第二词向量,根据所述第二词向量和前向相邻的第四词向量,确定所述第二词向量对应的前文表示向量;根据所述第二词向量和后向相邻的第五词向量,确定所述第二词向量对应的后文表示向量;采用所述前文表示向量、所述第二词向量和所述后文表示向量拼接得到的向量组,对所述第二词向量进行更新。
S502:将更新后的第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述文本的目标类别。
下面对本申请提供的词过滤模型的训练过程进行说明。图6为本申请提供的词过滤模型的训练过程示意图,包括以下步骤:
S601:将第一训练集中的第一样本文本的第一样本词向量矩阵,和所述第一样本词向量矩阵中多个第一样本词向量各自对应的类别标签,输入所述词过滤模型。
S602:基于所述词过滤模型确定的所述多个第一样本词向量各自的预测类别贡献度和各自对应的类别标签,确定第一损失值;根据所述第一损失值对所述词过滤模型的参数进行调整。
本申请提出了利用注意力机制的词过滤模型训练方法。基于神经网络的注意力机制最早被用于视觉图像处理领域。在文本中提取词的关键信息,与人类注意力机制相似。在阅读短文本时,通常读者会结合自身的认知,着重注意某些局部信息,以快速把握主题。以生态环境指标查询为例,文本中常含有大量无意义的语气词以及一些与指标查询无关的描述。然而生态环境经常包含‘空气质量’‘污染’‘水质’等特征性词语,注意力机制能通过分类模型将大部分权重放在这类词上,以更好地把握主题,从而避免受到无关因素的干扰。因此,本申请在词过滤模型中引入注意力机制。
例如待检测的文本为:青岛今天风很大,雾霾严重,远处的山看不清,道路能见度不足10米,空气中弥漫着一股土腥味,今天的空气质量指标是多少?。
此条文本中,关键词是“空气质量指标”。关键词表明文本的类别为指标查询类,引入注意力机制可以避免语气词以及与生态环境无关的冗余描述,如上述示例中的“今天风很大,雾霾严重,远处的山看不清,道路能见度不足10米,空气中弥漫着一股土腥味”就是与指标查询无关的冗余描述,从而有助于提升文本分类的精度。本申请将注意力机制应用于文本分类任务中,因此文中注意力是指词对该文本所属类别的注意力,注意力也就是贡献度。发现文本中不同注意力,可以快速捕捉关键信息,有利于提高文本分类的效率。
注意力模型实质是一个基于单层神经网络的Softmax模型,它的输入是预处理过的文本词向量,输出是词条对每一类分类标签的贡献度。
设任意输入文本T=(t1,t2,…,tn),其中,n是文本中词的个数,ti表示输入的词向量。Y是输出的一维实向量,用y(1),y(2),…,y(k)表示,k表示分类类别数,y(k)为ti属于k类的计算得分,Y计算如公式:
Y=W·ti+b;
其中,W表示权重矩阵,b表示偏置项。输出Y经过Sigmoid激活函数及Softmax函数,转换ti属于各类别的概率p的输出如公式:
模型训练阶段,模型以二元组(ti,yi)为训练数据,其中,yi是词ti在所处的文本中的类别。用如下公式表示损失函数来衡量模型预测的性能,使用随机梯度下降法更新参数W:
其中,m为训练集的词数。训练结束后,依次将ti作为输入,模型输出ti各类别的概率值,将其作为ti对于类别的注意力向量。由此能够得到词的注意力矩阵OA,如图7所示。图7中,w1、w2、……、wn表示注意力向量,1、2、……、k表示k各类别。p(y=1|w1;W)表示第一个词对应类别1的贡献值(置信度),p(y=k|wn;W)表示第n个词对应类别k的贡献值。
本申请在文本分类前,首先计算词对各类别的贡献度,为词过滤做准备;希望将注意力多分配给有实际意义、词性重要的名词或动词,对于介词、语气词、口语词等的词组尽量少或者几乎不分配注意力,这样给有准确语义的词在文本分类任务中有更高的权重。
文本进入模型训练之前,由于文本多含有一些特定用词在预处理阶段的去停用词部分无法踢除,针对该类词语采用了词过滤算法。即根据贡献度大小,在数据进入输入层之前,过滤掉无用的词。注意力向量实际表示文本属于所有分类标签的贡献值。使用贡献值作为词对文本各类别的置信度,贡献值越大,那么该条文本属于某一标签的置信度越高。对于贡献值比较小的词,其对所有类别的置信度都不高,这类词对文本分类的贡献度也较小。为提高分类效率和准确率,在分类前过滤掉这类词语,即词过滤。本申请将注意力向量的均方差定义为词的贡献度,例如词语ti,贡献度计算如公式
式中,ti[r]是第一词向量ti对应类别k的贡献值;α是k个贡献值的平均值,k为类别的种类数量,为该第一词向量的类别贡献度。词过滤算法的Delete函数表示从文本中删除单词。此算法需要设置具有启发式特性的超参数g,其中可以说使用交叉验证方法来选择超参数g。
图8为本申请提供的知识图谱翻译模型的训练过程示意图,包括以下步骤:
S801:将第二训练集中的样本三元组向量输入所述知识图谱翻译模型;其中,所述样本三元组向量包括正样本三元组向量和负样本三元组向量,所述正样本三元组向量和所述负样本三元组向量分别包括样本头实体向量、样本尾实体向量和样本关系向量。
S802:基于所述知识图谱翻译模型,确定样本头实体向量和样本关系向量的样本和值向量,并确定所述样本和值向量与所述样本尾实体向量的样本距离;根据所述正样本三元组向量的样本距离和所述负样本三元组向量的样本距离,确定第二损失值;根据所述第二损失值对所述知识图谱翻译模型的参数进行调整。
利用知识图谱翻译模型实现实体增强,实体增强主要是利用知识图谱发现实体的相关知识,从而优化实体的特征表示。为了区分短文本里的知识实体,本申请利用实体链接将短文本中通过命名实体识别发现的实体,与知识图谱中预定义的实体相关联,以消除它们的歧义。例如:当说“笔记本”时,这里的“笔记本”既有可能是记录文字的纸质本子,也有可能说的是笔记本电脑。然而,单个实体的学习嵌入信息仍然存在局限性,为了帮助识别实体在知识图谱中的位置并嵌入更多相关信息,本申请将为每个实体嵌入额外的实体信息。基于这些被识别出的实体,将从知识图谱中提取该实体的所有关系链接,将被识别实体1跳范围内的其他实体收集起来,通过实体-关系-实体三元组构建出一个知识子图,子图中包含对应实体与一跳范围内所有实体,以及它们之间的关系链接,构成了实体z的知识子图信息,如公式:
contest(z)={zi|(z,r,zi)∈G or(z,r,zi)∈G};
其中,r是关系,G是知识图谱。由于知识子图中实体通常在语义和逻辑上与当前实体密切相关,因此使用知识子图可以提供更多的补充信息,并有助于提高实体的可识别性。例如:在文本中识别到的实体是“水质状况”,通过实体链接将其链接到知识图谱中对应的实体。此时,我们除了用“水质状况”本身的嵌入来代表实体之外,还将它的上下文嵌入作为语境,比如“环境保护”(instance of)、“污水治理”(相关文件)、“水质指标”(指标检测)、“生态环境单位”(所属领域)作为标识符。假定此时给定实体z的上下文,上下文嵌入通过如下公式计算得出:
其中,zi是通过知识图谱嵌入学习得到的知识子图上下文实体嵌入,此处的上下文嵌入被计算为其上下文实体的平均值。以上知识子图相关内容的嵌入经过知识图谱翻译模型TransE得出,通过分布式表示来描述知识子图中每个三元组(h,r,t),将知识图谱中的关系r看作实体间的平移向量。
eh+er≈et;
其中,er为关系r的向量,eh和et分别为头实体向量和尾实体向量,TransE模型将er看作是eh和et之间的平移,也可以称为翻译。TransE定义向量eh+er和et间的距离为d,S为正确的三元组集合,S′为错误的三元组集合,将损失优化函数定义为如下公式,期望正确三元组的距离小,而错误三元组的距离大。
其中,γ为一个常数,表示正负样本间的间距;[x]+表示max(0,x)。知识图谱翻译模型训练过程中使用的错误三元组S′由TransE将正确三元组S中的头实体、关系、尾实体其中之一随机替换为其他实体或关系来生成。最后,通过反复训练与调参,得出一套完整的TransE翻译模型,将知识图谱中的每个实体或关系都能转换为向量表示,从而实现知识图谱的嵌入。
最终输出由3个部分组成:(1)实体知识图谱实体的嵌入;(2)该实体1跳关系范围内所有实体嵌入的平均值;(3)文本中的词经过Word2Vec模型训练得到的词向量。这3个部分会被送入下一阶段训练。
图9为本申请提供的文本分类模型的训练过程示意图,包括以下步骤:
S901:将第三训练集中的第二样本文本的第二样本词向量矩阵和所述第二样本词向量矩阵对应的文本类别标签输入所述文本分类模型。
S902:基于所述文本分类模型中的双向循环神经子网络,针对所述第二样本词向量矩阵中的多个第二样本词向量,根据所述第二样本词向量和前向相邻的第三样本词向量,确定所述第二样本词向量对应的样本前文表示向量;根据所述第二样本词向量和后向相邻的第四样本词向量,确定所述第二样本词向量对应的样本后文表示向量;采用所述样本前文表示向量、所述第二样本词向量和所述样本后文表示向量拼接得到的样本向量组,对所述第二样本词向量进行更新。
S903:将更新后的第二样本词向量矩阵和基于知识图谱翻译模型确定的多个第二样本词向量分别对应的样本知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述第二样本文本的预测类别。
S904:根据所述预测类别和所述文本类别标签确定第三损失值,根据所述第三损失值对所述文本分类模型中的双向循环神经子网络的参数及类别输出子网络的参数进行调整。
文本分类模型TextRCNN包括InputLayer(输入层)、BiRNN(双向循环神经子网络层)、MaxPool(最大池化层)、Concatenate(拼接层)、Dropout(正则化层)和Dense(全连接层)。双向循环神经子网络的训练过程中,对不同的时序分配不同的权重,以更有效地利用上下文的语义理解当前词的语义;注意力机制用以提取短文本中最重要的语义信息,在双向循环神经网络中等同于提取最重要的上下文时序权重。
TextRCNN弥补了TextCNN在卷积层不容易确定滑动窗口大小的问题,采用双向循环神经网络取代原来的卷积层。通过输入层,获取每个词对应的词向量,并组合为句子的词向量矩阵,每个句子的矩阵大小为(n,k),n表示句子的词个数,k表示词向量的维度。首先,将词向量矩阵送入双向循环子网络层,得到每个词前向与后向上下文的表示,分别由如下公式计算得出:
cl(ti)=f(T(l)cl(ti-1)+T(sl)e(ti-1));
cr(ti)=f(T(r)cr(ti+1)+T(sr)e(ti+1));
其中,cl(ti)与cr(ti)分别表示词ti的前向上文表示和后向下文表示,ti表示为输入的第i个词;e(ti-1)是单词ti-1的词向量;cl(ti-1)表示为当前计算词的上一个词的表示形式;T(l)表示隐含层的转移矩阵;T(sl)表示另一个矩阵,用于将当前词的语义与下一个单词的前向上文表示相结合;f是一个非线性的激活函数。根据上述两个公式,我们可以计算得到每个词的前文表示与后文表示。最后,通过如下公式能够定义出每个词在神经网络中的表示:
xi=[cl(ti);e(ti);cr(ti)];
xi是词ti的前文表示、词向量、后文表示最终拼接得到的结果。再对该结果使用一次Sigmoid激活函数,得到的句子表示,经过最大池化层后,输出特征最大的词向量进行Concatenate拼接处理,得到特征向量并迭代送入分类器进行分类。Binary_crossentropy是损失函数,表示二分类的交叉熵。在处理与本申请类似的多标签分类问题时,其每种分类情况是相互独立的,所以比较适于处理某些具有包含关系的标签,并能同时从属于两种标签。
图10为本申请提供的对模型参数进行调整的过程示意图,包括以下步骤:
S1001:根据当前迭代周期的模型迭代次数和步长变化率,确定当前迭代周期的超参数。
S1002:根据所述模型迭代次数、所述超参数、预设的初始学习率和预设的模型迭代总次数,确定上一迭代周期的学习率。
S1003:根据目标函数关于模型参数当前迭代周期的梯度值、上一迭代周期的梯度值和所述上一迭代周期的学习率,确定当前迭代周期的学习率;根据所述当前迭代周期的学习率对当前迭代周期的模型参数进行调整。
图10适用于对词过滤模型的参数调整、对知识图谱翻译模型的参数调整以及对文本分类模型中的双向循环神经子网络的参数、类别输出子网络的参数调整。
Adam为算法优化器,本申请利用了Adam具有自适应学习率的梯度下降算法与动量梯度下降算法的优点,因此在处理过程中既能适应稀疏梯度,又能缓解稀疏震荡问题。
Adam优化器算法基于训练数据迭代地更新神经网络权重,核心思想是对随机目标函数执行一阶梯度优化。Adam算法梯度的对角缩放具有不变性,所以适合求解带有大规模数据或参数,解决大噪声和稀疏梯度的非稳态问题。Adam优化器的基本算法描述如下。
设定噪声目标函数ft(θ),它是参数θ在t期(第t次迭代)的随机函数。为了减小该函数的期望大小,需要使用随机性描述小批量样本函数噪声,计算目标函数关于参数θ的梯度:
第t期梯度的指数移动均值mt和平方梯度vt的表达式分别为:
mt=β1mt-1+(1-β1)gt;
其中参数β1、β2∈[0,1)代表制移动均值指数的衰减率。在初始时间和衰减率很小的情况下,矩估计值会偏向0。为了消除初始化偏差,一般需要在衰减过程中对指数移动均值、平方梯度分别作偏差修正,修正后的指数移动均值和平方梯度/>的表达式分别为:
即为信噪比SNR,表示系统中信号与噪声的比例。当SNR取值较小,Δt趋于无穷小时,目标函数最终将收敛到极值。令初始化平方梯度均值为0,则平方梯度均值在第t期的更新表达式为:
每迭代一步,都要更新参数θ的取值,其更新表达式为:
其中:是学习率,表示参数空间有效步长的量级;ε=10-8表示一个常数参量。通过参数更新,实现算法迭代,使得目标函数逐步向最优取值收敛。Adam优化器算法中,修正了一阶矩到非中心的二阶矩估计,减小了偏置量,但在对复杂、大规模数据分类处理中,该算法迭代曲线振荡变化较剧烈,收敛性一般。
使用Adam优化器可以达到更高的训练精度,但是在训练初期会出现,迭代结果存在较剧烈的振荡,鲁棒性较差等问题。合理地调节参数,就能够在一定范围内更好地反映样本的收敛特性。在样本训练过程中发现,模型的收敛趋势接近幂指数函数变化特点。给学习率添加一个修正因子,以下降趋势的幂指数学习率为基础,利用上一阶段的梯度值对其进行调节,达到自适应调节的要求,进而改变网络模型的收敛性能。
优化:
幂指数学习率为
其中:表示初始学习率,取/>m表示迭代中间量指数移动均值,由迭代次数和最大迭代次数确定;K表示超参数,其计算公式为:
其中:μi表示第i次迭代过程中的步长变化率,步长变化率可以是预设的固定参数;q为固定常数,一般取值为0.75。结合梯度更新变化公式,可得第t次迭代学习率更新公式为:
其中:R为最大迭代次数;Lt为第t次迭代梯度值lt和t-1次梯度值lt-1的平方和;ε为衰减因子,取值为0.999;K为常数项,取值为1。可以看出,对学习率的改进是在前一阶段学习率取值的基础上,利用当前阶段的梯度值自适应调节。
本申请提供的文本分类方法,对稀疏短文本进行分类时,提出二阶段注意力机制与TextRCNN相结合,以提升模型的特征学习能力;对于文本存在的实体歧义,提出通过知识图谱嵌入的方式,对需要分类的文本中的实体加以增强,以提高了特征表示能力;对Adam算法在大数据训练时迭代曲线震荡变化,收敛性差的问题,对学习率添加自适应调节因子,实现学习率的自适应调节。
与现有方案相比,提出了联合实体增强与二阶段注意力机制的文本分类模型,该模型在文本分类模型TextRCNN模型的基础上,融合了实体增强与二阶段注意力机制。实体增强是使用知识图谱实体链接和知识图谱嵌入,引入外部知识以获取语义特征,同时二阶段注意力机制可以提高模型对文本中有效信息提取的效率。实验结果表明,提出的模型在分类准确度、F1值和实际应用效果等方面显著优于传统的机器学习算法。对算法的性能和适应性进行了验证,准确率与F1值均得到了提升,与TextRCNN相比,提出模型在准确性方面提升了约3.2%。此外,与深度学习算法的对比实验结果也说明,该模型在其他领域的文本分类中也有较好的表现。理论和实验结果都证明,所提出的模型对文本分类效果更优。
本申请为解决模型复杂度高、模型训练时间长和实现难度大等问题,选择深度学习中的TextRCNN算法,加入外部知识图谱嵌入,联合注意力机制,对文本展开分类模型的构建、训练和评估。受表示学习的启发,提出了由知识图谱实体和上下文嵌入加上词向量嵌入的表示方式,扩充文本特征词的语义表示。并且,提出了两个阶段重注意力机制,分别学习文本中词的权重和词上下文时序的权重,然后通过TextRCNN得到当前文本每个标签对应的表示,模型如图1所示。文本的分类过程总结为3个阶段:知识感知阶段、双向循环神经网络阶段、池化输出阶段。一阶段注意力机制添加在知识感知阶段,二阶段注意力感知添加在双向循环神经网络阶段。
图11为本申请提供的文本分类的模型框架图,如图11所示,最左侧部分是知识感知阶段的框架,这个阶段包含3个步骤:
(1)、对需要进行分类的文本作切词后,加入注意力机制和词过滤算法,去除文本中口语词、停用词。使用Word2Vec词向量训练方法进行词向量转换,作为词向量嵌入(wordembedding);
(2)、对文本进行命名实体识别,将识别出的实体利用实体链接技术与知识图谱中存在的实体相关联以消除歧义。基于这些被识别的实体,将知识图谱中对应实体映射到对应空间,并对实体周围的所有实体构建成知识子图,将子图同样映射到空间中,上述的两个过程统称为知识图谱嵌入(KG embedding);
(3)、将文本词向量和知识图谱嵌入向量进行拼接,扩充原本词向量中的语义,作为下一层的循环神经网络的输入进行训练。
图11中间部分是双向循环神经网络阶段,将当前词结合上下文语境作词义理解,可以有效降低对文本分类中的数据稀疏所带来的影响。首先,知识感知阶段拼接后的向量作为输入。其中,cl为该词的左语境,cr为该词的右语境。通过权重矩阵将隐藏层转换为下一个隐藏层,并在这里加入二阶段注意力机制,计算上下文不同的时序权重,以得到更优的特征表示。
图11中右侧的最大池化层和灰色背景的输出层是池化输出层。双向循环神经网络层的输出作为输入作为最大池化层的输入,通过池化层可以提取整个文本中的信息。与平均池化层相比,最大池化层用来发现文本中最重要的潜在语义因素。最后经过Softmax函数计算,输出层得到属于每种分类标签的概率。
本申请在构建文本分类器时,在TextRCNN模型的基础上,引入两个阶段注意力机制和实体增强,逐步改进模型,最终得到了文本分类EEARCNN模型。图12为本申请提供的文本分类EEARCNN模型架构图。
(1)、TextRCNN分类模型,本申请中直接利用TextRCNN模型对文本进行训练分类,此模型称为S0_EEARCNN。该模型通过卷积学习,对文本特征进行提取,进而生成分类模型;
(2)、输入层引入一阶段注意力机制。在模型S0_EEARCNN的基础上,在输入层引注意力机制,将改进后的模型称为S1_EEARCNN。S1_EEARCNN模型计算注意力向量,并将其作为输入进行双向循环神经网络训练;
(3)、循环神经网络层引入二阶段注意力机制。在TextRCNN模型的基础上,在循环神经网络中也引入注意力机制,此模型称为S2_EEARCNN。与S1_EEARCNN不同的是,S2_EEARCNN模型在循环神经网络中加入注意力机制,然后将词向量和注意力矩阵一起作为输入进行双向循环训练;
(4)、输入层和循环神经网络层同时引入注意力机制。S3_EEARCNN模型是在模型S0_EEARCNN的基础上引入注意力机制,即在模型的输入层与循环神经网络层分别引入注意力机制。该模型在输入层和循环神经网络层上均提高了训练效果;
(5)、联合二阶段注意力与实体增强。EEARCNN模型在S3_EEARCNN模型的基础上,在输入层引入知识感知,由实体链接得到文本中实体在知识图谱中对应的实体位置。当定位到知识图谱中的实体时,进行身体增强,最终将词向量嵌入、实体嵌入、实体上下文嵌入组合作为循环神经网络的输入。
词过滤算法中使用贡献度决定词是否保留,h值文中表示词过滤的阈值,当词的贡献度小于h时舍弃该词,大于h时保留该词。实验计算得出当本申请使用交叉验证法,记录h过滤的效果关系。结果表明:当h大于5.0×0.0001时,分类正确率低于70%;当h小于3.1×0.0001时,过滤句子数趋于0。因此,本申请记录h的测试区间为[3.2×0.0001,5.2×0.0001]。实验得到当h为3.2×0.0001时,未过滤任何一个词;当h为5.0×0.0001时,词数保留量为70.41%。这表明,本申请过滤了文本中较多高频词,当文本长度减少时,仍然能够很好地保留文本词项。这与一般文本过滤方法结果一致,未出现短句与长句被集中过滤的情况。比对数据例如选取h=3.4×0.0001。
图13为本申请提供的模型训练精确度对比分析示意图,可见EEARCNN模型的精确度最高。
图14为本申请提供的F1值及用时分析示意图。F1=(精确率*召回率*2)/(精确率+召回率)。可见EEARCNN模型的F1值最高,用时相交其它模型较长。
图15为本申请提供的模型准确率对比分析示意图,可见EEARCNN模型的准确率最高。
图16为本申请提供的文本分类装置结构示意图,包括:
词向量转换模块161,用于获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量;
第一确定模块162,用于将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵;
第二确定模块163,用于将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
第一确定模块162,具体用于针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度。
第一确定模块162,还用于针对所述第二词向量矩阵中的多个第二词向量,利用预先保存的知识图谱和知识图谱翻译模型,确定所述第二词向量对应的知识子图向量;其中,所述知识子图向量中包含所述第二词向量、与所述第二词向量连接的第三词向量、以及所述第二词向量和所述第三词向量之间的关系向量;
第二确定模块163,具体用于将所述第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
第一确定模块162,还用于根据所述知识子图向量中的第二词向量和第三词向量的指向连接关系,确定头实体向量和尾实体向量;基于所述知识图谱翻译模型,确定所述头实体向量和所述关系向量的和值向量,并确定所述和值向量与所述尾实体向量的距离;若所述距离大于预设的距离阈值,滤除所述知识子图向量;若所述距离不大于预设的距离阈值,保留所述知识子图向量,并将保留的所述知识子图向量输入所述文本分类模型。
第二确定模块163,具体用于基于所述文本分类模型中的双向循环神经子网络,针对所述第二词向量矩阵中的多个第二词向量,根据所述第二词向量和前向相邻的第四词向量,确定所述第二词向量对应的前文表示向量;根据所述第二词向量和后向相邻的第五词向量,确定所述第二词向量对应的后文表示向量;采用所述前文表示向量、所述第二词向量和所述后文表示向量拼接得到的向量组,对所述第二词向量进行更新;将更新后的第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述文本的目标类别。
所述装置还包括:
词过滤模型训练模块164,用于将第一训练集中的第一样本文本的第一样本词向量矩阵,和所述第一样本词向量矩阵中多个第一样本词向量各自对应的类别标签,输入所述词过滤模型;基于所述词过滤模型确定的所述多个第一样本词向量各自的预测类别贡献度和各自对应的类别标签,确定第一损失值;根据所述第一损失值对所述词过滤模型的参数进行调整。
所述装置还包括:
知识图谱翻译模型训练模块165,用于将第二训练集中的样本三元组向量输入所述知识图谱翻译模型;其中,所述样本三元组向量包括正样本三元组向量和负样本三元组向量,所述正样本三元组向量和所述负样本三元组向量分别包括样本头实体向量、样本尾实体向量和样本关系向量;基于所述知识图谱翻译模型,确定样本头实体向量和样本关系向量的样本和值向量,并确定所述样本和值向量与所述样本尾实体向量的样本距离;根据所述正样本三元组向量的样本距离和所述负样本三元组向量的样本距离,确定第二损失值;根据所述第二损失值对所述知识图谱翻译模型的参数进行调整。
所述装置还包括:
文本分类模型训练模块166,用于将第三训练集中的第二样本文本的第二样本词向量矩阵和所述第二样本词向量矩阵对应的文本类别标签输入所述文本分类模型;基于所述文本分类模型中的双向循环神经子网络,针对所述第二样本词向量矩阵中的多个第二样本词向量,根据所述第二样本词向量和前向相邻的第三样本词向量,确定所述第二样本词向量对应的样本前文表示向量;根据所述第二样本词向量和后向相邻的第四样本词向量,确定所述第二样本词向量对应的样本后文表示向量;采用所述样本前文表示向量、所述第二样本词向量和所述样本后文表示向量拼接得到的样本向量组,对所述第二样本词向量进行更新;将更新后的第二样本词向量矩阵和基于知识图谱翻译模型确定的多个第二样本词向量分别对应的样本知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述第二样本文本的预测类别;根据所述预测类别和所述文本类别标签确定第三损失值,根据所述第三损失值对所述文本分类模型中的双向循环神经子网络的参数及类别输出子网络的参数进行调整。
所述装置还包括:
模型参数调整模块167,用于根据当前迭代周期的模型迭代次数和步长变化率,确定当前迭代周期的超参数;根据所述模型迭代次数、所述超参数、预设的初始学习率和预设的模型迭代总次数,确定上一迭代周期的学习率;根据目标函数关于模型参数当前迭代周期的梯度值、上一迭代周期的梯度值和所述上一迭代周期的学习率,确定当前迭代周期的学习率;根据所述当前迭代周期的学习率对当前迭代周期的模型参数进行调整。
本申请还提供了一种电子设备,如图17所示,包括:处理器171、通信接口172、存储器173和通信总线174,其中,处理器171,通信接口172,存储器173通过通信总线174完成相互间的通信;
所述存储器173中存储有计算机程序,当所述程序被所述处理器171执行时,使得所述处理器171执行以上任一方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口172用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本申请还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现以上任一方法步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种文本分类方法,其特征在于,所述方法包括:
获取待分类的文本,对所述文本进行切词和词向量转换,得到所述文本对应的第一词向量矩阵;其中,所述第一词向量矩阵中包含多个词的第一词向量;
将所述第一词向量矩阵输入词过滤模型,基于所述词过滤模型确定多个第一词向量各自的类别贡献度;根据所述多个第一词向量各自的类别贡献度,对所述多个第一词向量进行筛选,得到第二词向量矩阵;
将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
2.如权利要求1所述的方法,其特征在于,基于所述词过滤模型确定多个第一词向量各自的类别贡献度包括:
针对所述多个第一词向量,基于所述词过滤模型确定所述第一词向量对应于各文本类别的贡献值;确定所述各文本类别的贡献值的均方差;根据所述均方差确定所述第一词向量的类别贡献度。
3.如权利要求1所述的方法,其特征在于,对所述多个第一词向量进行筛选,得到第二词向量矩阵之后,所述方法还包括:
针对所述第二词向量矩阵中的多个第二词向量,利用预先保存的知识图谱和知识图谱翻译模型,确定所述第二词向量对应的知识子图向量;其中,所述知识子图向量中包含所述第二词向量、与所述第二词向量连接的第三词向量、以及所述第二词向量和所述第三词向量之间的关系向量;
将所述第二词向量矩阵输入文本分类模型,基于所述文本分类模型确定所述文本的目标类别包括:
将所述第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型,基于所述文本分类模型确定所述文本的目标类别。
4.如权利要求3所述的方法,其特征在于,确定所述第二词向量对应的知识子图向量之后,将所述知识子图向量输入所述文本分类模型之前,所述方法还包括:
根据所述知识子图向量中的第二词向量和第三词向量的指向连接关系,确定头实体向量和尾实体向量;
基于所述知识图谱翻译模型,确定所述头实体向量和所述关系向量的和值向量,并确定所述和值向量与所述尾实体向量的距离;
若所述距离大于预设的距离阈值,滤除所述知识子图向量;若所述距离不大于预设的距离阈值,保留所述知识子图向量,并将保留的所述知识子图向量输入所述文本分类模型。
5.如权利要求3所述的方法,其特征在于,基于所述文本分类模型确定所述文本的目标类别包括:
基于所述文本分类模型中的双向循环神经子网络,针对所述第二词向量矩阵中的多个第二词向量,根据所述第二词向量和前向相邻的第四词向量,确定所述第二词向量对应的前文表示向量;根据所述第二词向量和后向相邻的第五词向量,确定所述第二词向量对应的后文表示向量;采用所述前文表示向量、所述第二词向量和所述后文表示向量拼接得到的向量组,对所述第二词向量进行更新;
将更新后的第二词向量矩阵和所述多个第二词向量分别对应的知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述文本的目标类别。
6.如权利要求1所述的方法,其特征在于,所述词过滤模型的训练过程包括:
将第一训练集中的第一样本文本的第一样本词向量矩阵,和所述第一样本词向量矩阵中多个第一样本词向量各自对应的类别标签,输入所述词过滤模型;基于所述词过滤模型确定的所述多个第一样本词向量各自的预测类别贡献度和各自对应的类别标签,确定第一损失值;根据所述第一损失值对所述词过滤模型的参数进行调整。
7.如权利要求4所述的方法,其特征在于,所述知识图谱翻译模型的训练过程包括:
将第二训练集中的样本三元组向量输入所述知识图谱翻译模型;其中,所述样本三元组向量包括正样本三元组向量和负样本三元组向量,所述正样本三元组向量和所述负样本三元组向量分别包括样本头实体向量、样本尾实体向量和样本关系向量;
基于所述知识图谱翻译模型,确定样本头实体向量和样本关系向量的样本和值向量,并确定所述样本和值向量与所述样本尾实体向量的样本距离;根据所述正样本三元组向量的样本距离和所述负样本三元组向量的样本距离,确定第二损失值;根据所述第二损失值对所述知识图谱翻译模型的参数进行调整。
8.如权利要求5所述的方法,其特征在于,所述文本分类模型的训练过程包括:
将第三训练集中的第二样本文本的第二样本词向量矩阵和所述第二样本词向量矩阵对应的文本类别标签输入所述文本分类模型;
基于所述文本分类模型中的双向循环神经子网络,针对所述第二样本词向量矩阵中的多个第二样本词向量,根据所述第二样本词向量和前向相邻的第三样本词向量,确定所述第二样本词向量对应的样本前文表示向量;根据所述第二样本词向量和后向相邻的第四样本词向量,确定所述第二样本词向量对应的样本后文表示向量;采用所述样本前文表示向量、所述第二样本词向量和所述样本后文表示向量拼接得到的样本向量组,对所述第二样本词向量进行更新;
将更新后的第二样本词向量矩阵和基于知识图谱翻译模型确定的多个第二样本词向量分别对应的样本知识子图向量输入所述文本分类模型中的类别输出子网络,基于所述类别输出子网络确定所述第二样本文本的预测类别;
根据所述预测类别和所述文本类别标签确定第三损失值,根据所述第三损失值对所述文本分类模型中的双向循环神经子网络的参数及类别输出子网络的参数进行调整。
9.如权利要求6至8任一项所述的方法,其特征在于,对模型参数进行调整的过程包括:
根据当前迭代周期的模型迭代次数和步长变化率,确定当前迭代周期的超参数;
根据所述模型迭代次数、所述超参数、预设的初始学习率和预设的模型迭代总次数,确定上一迭代周期的学习率;
根据目标函数关于模型参数当前迭代周期的梯度值、上一迭代周期的梯度值和所述上一迭代周期的学习率,确定当前迭代周期的学习率;根据所述当前迭代周期的学习率对当前迭代周期的模型参数进行调整。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310792167.5A CN116955616A (zh) | 2023-06-29 | 2023-06-29 | 一种文本分类方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310792167.5A CN116955616A (zh) | 2023-06-29 | 2023-06-29 | 一种文本分类方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955616A true CN116955616A (zh) | 2023-10-27 |
Family
ID=88452102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310792167.5A Pending CN116955616A (zh) | 2023-06-29 | 2023-06-29 | 一种文本分类方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955616A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874611A (zh) * | 2023-12-29 | 2024-04-12 | 汉王科技股份有限公司 | 文本分类方法、装置、电子设备及存储介质 |
-
2023
- 2023-06-29 CN CN202310792167.5A patent/CN116955616A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117874611A (zh) * | 2023-12-29 | 2024-04-12 | 汉王科技股份有限公司 | 文本分类方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984724B (zh) | 利用高维表示提高特定属性情感分类准确率方法 | |
CN108733792B (zh) | 一种实体关系抽取方法 | |
CN109992783B (zh) | 中文词向量建模方法 | |
CN107992597B (zh) | 一种面向电网故障案例的文本结构化方法 | |
CN107688821B (zh) | 基于视觉显著性与语义属性跨模态图像自然语言描述方法 | |
CN111046179B (zh) | 一种面向特定领域开放网络问句的文本分类方法 | |
CN110263325B (zh) | 中文分词系统 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN112347248A (zh) | 一种方面级文本情感分类方法及系统 | |
CN110019795B (zh) | 敏感词检测模型的训练方法和系统 | |
CN110765775A (zh) | 一种融合语义和标签差异的命名实体识别领域自适应的方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN113220876B (zh) | 一种用于英文文本的多标签分类方法及系统 | |
CN110580287A (zh) | 基于迁移学习和on-lstm的情感分类方法 | |
CN115794999A (zh) | 一种基于扩散模型的专利文档查询方法及计算机设备 | |
CN116610778A (zh) | 基于跨模态全局与局部注意力机制的双向图文匹配方法 | |
CN114692605A (zh) | 一种融合句法结构信息的关键词生成方法及装置 | |
CN116955616A (zh) | 一种文本分类方法及电子设备 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN114239612A (zh) | 一种多模态神经机器翻译方法、计算机设备及存储介质 | |
CN112199503A (zh) | 一种基于特征增强的非平衡Bi-LSTM的中文文本分类方法 | |
CN116150509A (zh) | 社交媒体网络的威胁情报识别方法、系统、设备及介质 | |
CN113254602B (zh) | 面向科技政策领域的知识图谱构建方法及系统 | |
CN117377950A (zh) | 使用机器学习加速文档归类 | |
CN114091429A (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 |