CN112182230B - 一种基于深度学习的文本数据分类方法和装置 - Google Patents
一种基于深度学习的文本数据分类方法和装置 Download PDFInfo
- Publication number
- CN112182230B CN112182230B CN202011350978.2A CN202011350978A CN112182230B CN 112182230 B CN112182230 B CN 112182230B CN 202011350978 A CN202011350978 A CN 202011350978A CN 112182230 B CN112182230 B CN 112182230B
- Authority
- CN
- China
- Prior art keywords
- text data
- training
- word
- word vector
- node
- 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
Images
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/353—Clustering; Classification into predefined classes
-
- 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
- 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/045—Combinations of 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于深度学习的文本数据分类方法和装置,包括:获取训练文本数据;利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;获取待分类的文本数据;对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型。本发明的方案能够提高文本数据分类的准确性。
Description
技术领域
本发明涉及语义理解技术领域,尤其涉及一种基于深度学习的文本数据分类方法和装置。
背景技术
随着社交媒体的发展,越来越多的用户使用各类社交平台,向他人传递信息、分享自己对某个事件的观点和评价,以及发布自己感兴趣的内容等。以微博为例,微博是基于社交关系来进行信息传播的媒体平台,允许用户采用发布、分享、回复、转发等方式传播图片、视频和文本等信息。尽管分享图片和视频在社交网络中很普遍,但用户更倾向于使用文本信息来发表对某一事件或商品的看法和评价。
因此,如何基于用户的文本数据挖掘出用户对于客观事物的感受,即基于用户的文本数据挖掘出用户对于客观事物的主观意图,以更为全面地获取用户对于特定客观现实,比如事件或商品所要表达的主观信息,已逐渐成为当前自然语言处理领域的研究热点。
然而,现有的文本数据分类方法对一些文本数据分类的准确性较低,因此如何提高文本数据分类时的准确性成为目前亟需解决的技术问题。
发明内容
本发明要解决的技术问题在于现有的文本数据分类方法对一些文本数据分类的准确性较低,针对现有技术中的缺陷,提供一种基于深度学习的文本数据分类方法和装置。
为了解决上述技术问题,本发明提供了一种基于深度学习的文本数据分类方法,包括:
获取训练文本数据;
利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;
获取待分类的文本数据;
对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;
根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;
将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型。
在一种可能的实现方式中,所述利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型,包括:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定所述测试类型与所述实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据所述占比,使用Hyperopt工具进行模型调参,直至所述占比超过预设的阈值,得到训练好的目标分类模型。
在一种可能的实现方式中,所述将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型,包括:
筛选出当前训练文本数据的主语、谓语和宾语;
按照主语、谓语、宾语的排序方式,对所述目标分词结果进行排序,得到第一分词结果;
根据所述目标词向量的词向量数量、各个所述目标词向量在所述第一分词结果中的位置和预设的位置级别的第一级别数量,确定各个所述目标词向量的位置级别,其中,所述第一级别数量的最小值为2,最大值小于所述目标词向量的词向量数量;
将位置级别最高的目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型,包括:
按照主语、谓语、宾语的排序方式,对当前训练文本数据的训练分词结果进行排序,得到第二分词结果;
根据当前训练文本数据的训练词向量的词向量数量、各个所述训练词向量在所述第二分词结果中的位置和预设的位置级别的第二级别数量,确定各个所述训练词向量的位置级别,其中,所述第二级别数量的最小值为2,最大值小于所述训练词向量的词向量数量;
将位置级别最高的训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型。
在一种可能的实现方式中,所述结合知识图谱预先构建的词向量库,包括:
根据知识图谱,构建节点向量库;
根据语料样本,构建常用词向量库;
将仅在所述节点向量库中存在的或仅在所述常用词向量库中存在的词语对应的向量进行维度适配,得到所述词语的词向量;
所有词语的词向量构成所述词向量库。
在一种可能的实现方式中,所述根据知识图谱,构建节点向量库,包括:
从知识图谱的每个节点开始随机游走预设步长,得到对应的节点序列;
将所有得到的节点序列作为训练样本,基于word2vec模型进行训练,得到每个节点的节点向量;
所有节点的节点向量构成节点向量库。
在一种可能的实现方式中,所述获取训练文本数据,包括:
对所述训练文本数据进行去重;
和/或
对所述训练文本数据进行去噪声;
和/或,
将所述训练文本数据中的非文本数据转化为文本数据。
本发明还提供了一种基于深度学习的文本数据分类装置,包括:
第一获取模块,用于获取训练文本数据;
模型训练模块,用于利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;
第二获取模块,用于获取待分类的文本数据;
分词模块,用于对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;
词向量确定模块,用于根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;
类型确定模块,用于将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型。
在一种可能的实现方式中,所述模型训练模块,用于执行如下操作:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定所述测试类型与所述实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据所述占比,使用Hyperopt工具进行模型调参,直至所述占比超过预设的阈值,得到训练好的目标分类模型。
本发明还提供了一种基于深度学习的文本数据分类装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行如上述所述的方法。
本发明还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行如上述所述的方法。
实施本发明的一种基于深度学习的文本数据分类方法和装置,具有以下有益效果:
通过将知识图谱与词向量结合,使分类模型具备先验知识,在理解文本数据时不再只看表面意思,而是可以依据先验知识进行进一步推理,从而可以提高文本数据分类的准确性。
附图说明
图1是本发明一个实施例提供的基于深度学习的文本数据分类方法的流程图;
图2是本发明一个实施例提供的基于深度学习的文本数据分类装置所在设备的示意图;
图3是本发明一个实施例提供的基于深度学习的文本数据分类装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的基于深度学习的文本数据分类方法,包括:
步骤101、获取训练文本数据。
在具体实现时,可通过网络爬虫程序从特定的网站上搜集用户提出的问题以及对应的答案文本,例如从中文微博平台上爬取用户在一定时间段内的微博数据,尤其是用户发布的关于某个事情或某件商品的评价信息。本领域的技术人员可以理解,一方面,用户微博数据包括文本数据和非文本数据,另一方面,文本数据中包括无效信息(例如重复词)和噪声等干扰因素。因此,在将用户微博数据输入至分类模型之前,需对其进行预处理以消除用户微博数据中的干扰因素以及将非文本数据转化为文本数据。这样,可以获得噪声较小,相关度较高的处理后的训练文本数据。
也就是说,在本申请实施例中,对用户微博数据进行预处理的过程包括以下至少其中之一:对用户微博数据中的文本数据进行去重;对用户微博数据中的文本数据进行去噪声;以及,将用户微博数据中的非文本数据转化为文本数据。特别地,用户微博数据中的非文本数据包括表情图片和表情符号等,在进行预处理的过程中,该表情图片和表情符号被转化为对应的文本数据。
步骤102、利用训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型。
需要说明的是,TextCNN分类模型是一个针对文本分类构建的卷积网络架构,特点是高效易用,训练效率高,对文本数据的类型预测的速度和准确度能达到比较满意的水平。超参数优化过程在很大程度上决定了模型性能的好坏,对许多模型来说,超参数调优过程是一项耗时又繁重的任务,因此本申请使用Hyperopt工具进行模型调参,以减少人工调参的工作量和时间成本。经过调研和比较,结果发现目前现有的超参调优工具中,Hyperopt在模型性能和运行时间两方面都很有优势。
在具体实现时,步骤102包括:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将训练词向量输入到TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定测试类型与实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据占比,使用Hyperopt工具进行模型调参,直至占比超过预设的阈值,得到训练好的目标分类模型。
在本发明实施例中,比较同一训练文本数据的测试类型和实际类型,若二者相同,则计数加1,最终得到测试类型和实际类型相同的训练文本数据的数量,然后计算该数量在所有训练文本数据中的占比;如果该占比超过预设的阈值,则认为训练后的TextCNN分类模型已经达到了准确度的要求,可以用于文本数据的分类,从而得到训练好的目标分类模型,完成训练。
需要说明的是,针对步骤A1,例如当前训练文本数据为地点信息时,由于地图中包含有类型信息,并且比较细致,因此可以利用地图所提供的接口,根据地图信息面(aoi,area of interest)属性来获取当前训练文本数据的实际类型,从而可以降低实际类型获取的难度,提高实际类型获取的方便性。
针对步骤A2,对当前训练文本数据进行切分,找到与预设词库匹配的所有词语,根据这些词语得到多种切分结果;再计算每种切分结果的发生概率,选取发生概率最大的切分结果(即最优切分)作为当前训练文本数据的训练分词结果。例如可以使用开源工具包(如结巴分词)对当前训练文本数据进行分词处理。进一步,为了准确分词,预设词库需要包含新词、生僻词、低频段词。比如,对语句“哪里有火锅鸡”进行分词,预设词库中需要包括火锅鸡这个词语,这样才能得到正确的分词结果:哪里\有\火锅鸡。
针对步骤A3,对当前训练文本数据分词后,得到正确的分词结果。再到结合知识图谱的词向量库中去匹配,获取每个词语的词向量。比如,语句“哪里有火锅鸡”,其中语句中的关键词为“火锅鸡”,由于“火锅鸡”结合知识图谱后的词向量携带了“火锅鸡”属于“北方菜、食物”等逻辑推理知识,所以表现在词向量空间上,“火锅鸡”与“北方菜”、“食物”等词语的词向量距离较近,表现在语义上,与“北方菜”、“食物”语义较近,这将有助于正确识别语句“哪里有火锅鸡”所属类型(即食物类型)。
进一步地,为同时关注重点训练词向量和提高语义识别的速度,可以考虑对训练词向量进行处理。
在本发明一个实施例中,步骤A4具体包括:
筛选出当前训练文本数据的主语、谓语和宾语;
按照主语、谓语、宾语的排序方式,对当前训练文本数据的训练分词结果进行排序,得到第二分词结果;
根据当前训练文本数据的训练词向量的词向量数量、各个训练词向量在第二分词结果中的位置和预设的位置级别的第二级别数量,确定各个训练词向量的位置级别,其中,第二级别数量的最小值为2,最大值小于训练词向量的词向量数量;
将位置级别最高的训练词向量输入到TextCNN分类模型中,得到当前训练文本数据的测试类型。
在本发明实施例中,通过将当前训练文本数据的训练分词结果按照一定的排序方式进行排序得到第二分词结果,有利于确定位置级别最高的训练词向量,即重点关注的训练词向量,从而既可以提高模型训练的速度,又可以保证一定的准确度。
举例说明,由于不同的人说话的方式不一样,表达相同的意思,可以说出不同的方式,例如,“中午,你吃饭了吗”、“中午饭,你吃了吗”、“你吃中午饭了吗”、“中午饭,吃了吗你”,筛选出当前训练文本数据的主语(“你”)、谓语(“吃”)和宾语(“饭”或“中午饭”);第二分词结果是:你、吃、饭,或你、吃、中午饭;当前训练文本数据的训练词向量的词向量数量为3个,训练词向量“你”在第二分词结果中的位置为第一个,训练词向量“吃”在第二分词结果中的位置为第二个,训练词向量“饭”或“中午饭”在第二分词结果中的位置为第三个,预设的位置级别的第二级别数量为2,当前训练词向量的位置级别可以用该训练词向量的位置除以第二级别数量的结果取整计算,即训练词向量“你”的位置级别为0,训练词向量“吃”的位置级别为1,训练词向量“饭”或“中午饭”的位置级别为1;将训练词向量“吃”和“饭”(或“中午饭”)输入到TextCNN分类模型中,得到当前训练文本数据的测试类型,即食物类型。
另外,知识图谱是以结构化的形式形象地描述客观世界中的概念、或实体间的复杂关系。知识图谱是一张由节点和节点关系构成的网络,客观世界中的概念、实体都可以作为知识图谱中的节点。知识图谱主要包含节点、关系、以及节点和关系构成的三元组,每一个三元组表示一条知识,反映了两个节点之间存在某种关系或属性。
知识图谱涉及的专业术语对大众而言,可能是生僻的、低频段词,但若能将知识图谱中这些专业术语对应节点的相关常识性知识以及逻辑推理知识融合到其对应的词向量中,会有助于对这类词语的理解。比如,“火锅鸡”这个词,不属于常用词范畴,所以机器对这个词偏生疏,语义理解不准确。在食物的知识图谱中,该词与“涮羊肉”一样属于北方菜,是一种食物,它的邻近节点有“北方菜”、“食物”,而“北方菜”、“食物”属于常用词,机器能正确理解这些常用词的语义。如果将“北方菜、食物”等常识性知识、“火锅鸡属于一种北方菜/食物”等逻辑推理知识融合到“火锅鸡”的词向量中,会有助于机器对包含这类非常用词的语义理解和分类。
所以有必要结合知识图谱构建词向量库,通过把常识性知识以及逻辑推理知识融合到词语的词向量中,从而使包含非常用词的语句易理解、类型分类更准确。
在本发明一个实施例中,结合知识图谱预先构建的词向量库,包括:
根据知识图谱,构建节点向量库;
根据语料样本,构建常用词向量库;
将仅在节点向量库中存在的或仅在常用词向量库中存在的词语对应的向量进行维度适配,得到词语的词向量;
所有词语的词向量构成词向量库。
在本发明实施例中,常用词向量库、节点向量库是基于不同类型的训练样本得到,获取的是不同的特征。为了提高包含非常用词的语句的理解,需要将上述两种特征进行组合,比如加权组合,得到词向量。由于加权比例不好设置,所以可以将节点向量库与常用词向量库中同时存在的词语分别对应的向量进行拼接,得到该词语的词向量。这样可以充分保留不同方式获得的特征。对于仅在某个库中存在的词语,可以进行维度扩展,以得到对应的词向量。
需要说明的是,节点向量库的构建步骤包括:从知识图谱的每个节点开始随机游走预设步长,得到对应的节点序列;将所有得到的节点序列作为训练样本,基于word2vec模型进行训练,得到每个节点的节点向量;所有节点的节点向量构成节点向量库。
word2vec是一种词向量生成方法,作用是将自然语言中的字词转为计算机可以理解的低维稠密向量。word2vec的基本思想是一个词的语义可以由它的上下文确定。如果两个词的上下文相似,那么这两个词的语义就相似。它采用词袋模型,根据输入文本数据的上下文关系,生成词语的特征向量表示。
为了得到知识图谱的每个节点的特征向量表示,采用word2vec生成节点向量。首先从任意节点开始,采用随机游走的方法生成节点序列。随机游走的做法是,选取一个初始的节点,然后从当前节点的邻接节点中以等概率采样的方式产生下一个节点,如此循环往复,直到节点序列的长度达到先前设置的最大序列长度。所有如此形成的节点序列构成word2vec模型的输入文本数据,word2vec模型通过神经网络技术学习输入文本数据中的上下文关系,最终得到输入文本数据中每个词语的特征向量表示,每个词语对应知识图谱的一个节点,即得到节点的节点向量。
比如,以美食知识图谱为例,可以得到如下节点序列(假设节点序列由3个节点构成):火锅鸡/麻辣味/北方菜,麻辣味/火锅鸡/北方菜,北方菜/火锅鸡/麻辣味,北方菜/麻辣味/火锅鸡,麻辣味/北方菜/火锅鸡,火锅鸡/北方菜/麻辣味,……。从列出的节点序列可知,火锅鸡、北方菜的上下文类似,所以根据word2vec模型的基本思想可知,火锅鸡、北方菜的语义相似,所以两者的节点向量反映了该相似特征。
需要进一步说明的是,由于知识图谱是针对某一细分领域的,所以所涉及的词语有限,构建的节点向量库也是针对有限词语的词向量库。它的优势在于携带了常识式知识和逻辑推理知识,将难懂的专用术语通俗化。
基于语料样本构建的常用词向量库,能覆盖生活中用到的常用词,它的优势在于包含的词语多,覆盖范围广。可选的,常用词向量库可以选用别人已训练好的,比如基于Wiki(维基)语料库训练得到的词向量库。
步骤103、获取待分类的文本数据。
在本步骤中,待分类的文本数据可以是一条语句,例如用户“哪里有火锅鸡”。
可选地,通过采集用户发出的语音信息获取待分类的文本数据。比如,在语音助手、智能陪护机器人等智能对话系统中,采集用户的语音信息,对所述语音信息进行语音识别,获得对应的文本数据。
可选地,针对配有摄像头的系统,还可通过摄像方式获取,比如,在摄像区域内获取图像,识别图像中的文本数据,即得到待分类的文本数据。
步骤104、对待分类的文本数据进行分词,得到待分类的文本数据的目标分词结果。
在本步骤中,可参照步骤A2的描述,在此不进行赘述。
步骤105、根据结合知识图谱预先构建的词向量库,确定目标分词结果对应的目标词向量。
在本步骤中,可参照步骤A3的描述,在此不进行赘述。
步骤106、将目标词向量输入到目标分类模型中,得到待分类的文本数据的类型。
在本步骤中,为同时关注重点目标词向量和提高语义识别的速度,可以考虑对目标词向量进行处理。
在本发明一个实施例中,步骤106具体包括:
按照主语、谓语、宾语的排序方式,对目标分词结果进行排序,得到第一分词结果;
根据目标词向量的词向量数量、各个目标词向量在第一分词结果中的位置和预设的位置级别的第一级别数量,确定各个目标词向量的位置级别,其中,第一级别数量的最小值为2,最大值小于目标词向量的词向量数量;
将位置级别最高的目标词向量输入到目标分类模型中,得到待分类的文本数据的类型。
在本发明实施例中,通过将目标分词结果按照一定的排序方式进行排序得到第一分词结果,有利于确定位置级别最高的目标词向量,即重点关注的目标词向量,从而既可以提高模型识别的速度,又可以保证一定的准确度。
综上所述,本发明实施例提供的基于深度学习的文本数据分类方法通过获取训练文本数据;利用训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;获取待分类的文本数据;对待分类的文本数据进行分词,得到待分类的文本数据的目标分词结果;根据结合知识图谱预先构建的词向量库,确定目标分词结果对应的目标词向量;将目标词向量输入到目标分类模型中,得到待分类的文本数据的类型。通过将知识图谱与词向量结合,使分类模型具备先验知识,在理解文本数据时不再只看表面意思,而是可以依据先验知识进行进一步推理,从而可以提高文本数据分类的准确性。
如图2和图3所示,本发明实施例提供了一种基于深度学习的文本数据分类装置所在的设备和基于深度学习的文本数据分类装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的基于深度学习的文本数据分类装置所在设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
如图3所示,本实施例提供的基于深度学习的文本数据分类装置,包括:
第一获取模块301,用于获取训练文本数据;
模型训练模块302,用于利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;
第二获取模块303,用于获取待分类的文本数据;
分词模块304,用于对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;
词向量确定模块305,用于根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;
类型确定模块306,用于将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型。
在本发明实施例中,第一获取模块301可用于执行上述方法实施例中的步骤101,模型训练模块302可用于执行上述方法实施例中的步骤102;第二获取模块303可用于执行上述方法实施例中的步骤103;分词模块304可用于执行上述方法实施例中的步骤104;词向量确定模块305可用于执行上述方法实施例中的步骤105;类型确定模块306可用于执行上述方法实施例中的步骤106。
在本发明的一个实施例中,所述模型训练模块302,用于执行如下操作:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定所述测试类型与所述实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据所述占比,使用Hyperopt工具进行模型调参,直至所述占比超过预设的阈值,得到训练好的目标分类模型。
在本发明的一个实施例中,所述类型确定模块306,用于执行如下操作:
按照主语、谓语、宾语的排序方式,对所述目标分词结果进行排序,得到第一分词结果;
根据所述目标词向量的词向量数量、各个所述目标词向量在所述第一分词结果中的位置和预设的位置级别的第一级别数量,确定各个所述目标词向量的位置级别,其中,所述第一级别数量的最小值为2,最大值小于所述目标词向量的词向量数量;
将位置级别最高的目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述模型训练模块302在执行所述将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型时,用于执行如下操作:
筛选出当前训练文本数据的主语、谓语和宾语;
按照主语、谓语、宾语的排序方式,对当前训练文本数据的训练分词结果进行排序,得到第二分词结果;
根据当前训练文本数据的训练词向量的词向量数量、各个所述训练词向量在所述第二分词结果中的位置和预设的位置级别的第二级别数量,确定各个所述训练词向量的位置级别,其中,所述第二级别数量的最小值为2,最大值小于所述训练词向量的词向量数量;
将位置级别最高的训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型。
在本发明的一个实施例中,所述词向量确定模块305,用于执行如下操作:
根据知识图谱,构建节点向量库;
根据语料样本,构建常用词向量库;
将仅在所述节点向量库中存在的或仅在所述常用词向量库中存在的词语对应的向量进行维度适配,得到所述词语的词向量;
所有词语的词向量构成所述词向量库。
在本发明的一个实施例中,所述词向量确定模块305在执行所述根据知识图谱,构建节点向量库时,用于执行如下操作:
从知识图谱的每个节点开始随机游走预设步长,得到对应的节点序列;
将所有得到的节点序列作为训练样本,基于word2vec模型进行训练,得到每个节点的节点向量;
所有节点的节点向量构成节点向量库。
在本发明的一个实施例中,所述第一获取模块301,用于执行如下操作:
对所述训练文本数据进行去重;
和/或,
对所述训练文本数据进行去噪声;
和/或,
将所述训练文本数据中的非文本数据转化为文本数据。
可以理解的是,本发明实施例示意的结构并不构成对基于深度学习的文本数据分类装置的具体限定。在本发明的另一些实施例中,基于深度学习的文本数据分类装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种基于深度学习的文本数据分类装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的基于深度学习的文本数据分类方法。
本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的基于深度学习的文本数据分类方法的指令。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种基于深度学习的文本数据分类方法,其特征在于,包括:
获取训练文本数据;
利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;
获取待分类的文本数据;
对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;
根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;
将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型,包括:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定所述测试类型与所述实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据所述占比,使用Hyperopt工具进行模型调参,直至所述占比超过预设的阈值,得到训练好的目标分类模型;
所述将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型,包括:
按照主语、谓语、宾语的排序方式,对所述目标分词结果进行排序,得到第一分词结果;
根据所述目标词向量的词向量数量、各个所述目标词向量在所述第一分词结果中的位置和预设的位置级别的第一级别数量,确定各个所述目标词向量的位置级别,其中,所述第一级别数量的最小值为2,最大值小于所述目标词向量的词向量数量;
将位置级别最高的目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型,包括:
筛选出当前训练文本数据的主语、谓语和宾语;
按照主语、谓语、宾语的排序方式,对当前训练文本数据的训练分词结果进行排序,得到第二分词结果;
根据当前训练文本数据的训练词向量的词向量数量、各个所述训练词向量在所述第二分词结果中的位置和预设的位置级别的第二级别数量,确定各个所述训练词向量的位置级别,其中,所述第二级别数量的最小值为2,最大值小于所述训练词向量的词向量数量;
将位置级别最高的训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
所述结合知识图谱预先构建的词向量库,包括:
根据知识图谱,构建节点向量库;
根据语料样本,构建常用词向量库;
将仅在所述节点向量库中存在的或仅在所述常用词向量库中存在的词语对应的向量进行维度适配,得到所述词语的词向量;
所有词语的词向量构成所述词向量库;
所述根据知识图谱,构建节点向量库,包括:
从知识图谱的每个节点开始随机游走预设步长,得到对应的节点序列;
将所有得到的节点序列作为训练样本,基于word2vec模型进行训练,得到每个节点的节点向量;
所有节点的节点向量构成节点向量库;
其中,所述随机游走通过如下步骤实现:
选取一个初始的节点,从当前节点的邻接节点中以等概率采样的方式产生下一个节点,如此循环往复,直到节点序列的长度达到先前设置的最大序列长度。
2.根据权利要求1所述的方法,其特征在于,所述获取训练文本数据,包括:
对所述训练文本数据进行去重;
和/或,
对所述训练文本数据进行去噪声;
和/或,
将所述训练文本数据中的非文本数据转化为文本数据。
3.一种基于深度学习的文本数据分类装置,其特征在于,包括:
第一获取模块,用于获取训练文本数据;
模型训练模块,用于利用所述训练文本数据对TextCNN分类模型进行训练,并使用Hyperopt工具进行模型调参,得到训练好的目标分类模型;
第二获取模块,用于获取待分类的文本数据;
分词模块,用于对所述待分类的文本数据进行分词,得到所述待分类的文本数据的目标分词结果;
词向量确定模块,用于根据结合知识图谱预先构建的词向量库,确定所述目标分词结果对应的目标词向量;
类型确定模块,用于将所述目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述模型训练模块,用于执行如下操作:
针对每一个训练文本数据,均执行:
A1、确定当前训练文本数据的实际类型;
A2、对当前训练文本数据进行分词,得到当前训练文本数据的训练分词结果;
A3、根据结合知识图谱预先构建的词向量库,确定当前训练文本数据的训练分词结果对应的训练词向量;
A4、将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
确定所述测试类型与所述实际类型相同的训练文本数据在所有训练文本数据中的占比;
根据所述占比,使用Hyperopt工具进行模型调参,直至所述占比超过预设的阈值,得到训练好的目标分类模型;
所述类型确定模块,用于执行如下操作:
按照主语、谓语、宾语的排序方式,对所述目标分词结果进行排序,得到第一分词结果;
根据所述目标词向量的词向量数量、各个所述目标词向量在所述第一分词结果中的位置和预设的位置级别的第一级别数量,确定各个所述目标词向量的位置级别,其中,所述第一级别数量的最小值为2,最大值小于所述目标词向量的词向量数量;
将位置级别最高的目标词向量输入到所述目标分类模型中,得到所述待分类的文本数据的类型;
所述模型训练模块在执行所述将所述训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型时,用于执行如下操作:
筛选出当前训练文本数据的主语、谓语和宾语;
按照主语、谓语、宾语的排序方式,对当前训练文本数据的训练分词结果进行排序,得到第二分词结果;
根据当前训练文本数据的训练词向量的词向量数量、各个所述训练词向量在所述第二分词结果中的位置和预设的位置级别的第二级别数量,确定各个所述训练词向量的位置级别,其中,所述第二级别数量的最小值为2,最大值小于所述训练词向量的词向量数量;
将位置级别最高的训练词向量输入到所述TextCNN分类模型中,得到当前训练文本数据的测试类型;
所述词向量确定模块,用于执行如下操作:
根据知识图谱,构建节点向量库;
根据语料样本,构建常用词向量库;
将仅在所述节点向量库中存在的或仅在所述常用词向量库中存在的词语对应的向量进行维度适配,得到所述词语的词向量;
所有词语的词向量构成所述词向量库;
所述词向量确定模块在执行所述根据知识图谱,构建节点向量库时,用于执行如下操作:
从知识图谱的每个节点开始随机游走预设步长,得到对应的节点序列;
将所有得到的节点序列作为训练样本,基于word2vec模型进行训练,得到每个节点的节点向量;
所有节点的节点向量构成节点向量库。
4.一种基于深度学习的文本数据分类装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1-2中任一项所述的方法。
5.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1-2中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350978.2A CN112182230B (zh) | 2020-11-27 | 2020-11-27 | 一种基于深度学习的文本数据分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011350978.2A CN112182230B (zh) | 2020-11-27 | 2020-11-27 | 一种基于深度学习的文本数据分类方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182230A CN112182230A (zh) | 2021-01-05 |
CN112182230B true CN112182230B (zh) | 2021-03-16 |
Family
ID=73918688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011350978.2A Active CN112182230B (zh) | 2020-11-27 | 2020-11-27 | 一种基于深度学习的文本数据分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182230B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112884009A (zh) * | 2021-01-25 | 2021-06-01 | 北京紫光展锐通信技术有限公司 | 一种分类模型训练方法及系统 |
CN112948592A (zh) * | 2021-02-26 | 2021-06-11 | 平安科技(深圳)有限公司 | 基于人工智能的订单分级方法、装置、设备及存储介质 |
CN113051374B (zh) * | 2021-06-02 | 2021-08-31 | 北京沃丰时代数据科技有限公司 | 一种文本匹配优化方法及装置 |
CN113761942B (zh) * | 2021-09-14 | 2023-12-05 | 合众新能源汽车股份有限公司 | 基于深度学习模型的语义分析方法、装置及存储介质 |
CN114138979B (zh) * | 2021-10-29 | 2022-09-16 | 中南民族大学 | 基于词拓展无监督文本分类的文物安全知识图谱创建方法 |
CN116861865A (zh) * | 2023-06-26 | 2023-10-10 | 江苏常熟农村商业银行股份有限公司 | Excel数据处理方法、装置、设备及存储介质 |
CN116776237A (zh) * | 2023-08-23 | 2023-09-19 | 深圳前海环融联易信息科技服务有限公司 | 一种元数据分类分级方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320374A (zh) * | 2008-07-10 | 2008-12-10 | 昆明理工大学 | 结合句法结构关系和领域特征的领域问题分类方法 |
CN106294295A (zh) * | 2016-08-10 | 2017-01-04 | 成都轻车快马网络科技有限公司 | 基于词频的文章相似度识别方法 |
CN106528621A (zh) * | 2016-09-30 | 2017-03-22 | 四川用联信息技术有限公司 | 一种改进的密度文本聚类算法 |
CN108228758A (zh) * | 2017-12-22 | 2018-06-29 | 北京奇艺世纪科技有限公司 | 一种文本分类方法及装置 |
CN110516073A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种文本分类方法、装置、设备和介质 |
CN111159409A (zh) * | 2019-12-31 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 基于人工智能的文本分类方法、装置、设备、介质 |
CN111368078A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种模型训练的方法、文本分类的方法、装置及存储介质 |
CN111444723A (zh) * | 2020-03-06 | 2020-07-24 | 深圳追一科技有限公司 | 信息抽取模型训练方法、装置、计算机设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701253B (zh) * | 2016-03-04 | 2019-03-26 | 南京大学 | 中文自然语言问句语义化的知识库自动问答方法 |
CN107038229B (zh) * | 2017-04-07 | 2020-07-17 | 云南大学 | 一种基于自然语义分析的用例提取方法 |
CN110209790B (zh) * | 2019-06-06 | 2023-08-25 | 创新先进技术有限公司 | 问答匹配方法和装置 |
CN111382269B (zh) * | 2020-03-02 | 2021-07-23 | 拉扎斯网络科技(上海)有限公司 | 文本分类模型训练方法、文本分类方法及相关装置 |
CN111611393A (zh) * | 2020-06-29 | 2020-09-01 | 支付宝(杭州)信息技术有限公司 | 一种文本分类方法、装置及设备 |
-
2020
- 2020-11-27 CN CN202011350978.2A patent/CN112182230B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320374A (zh) * | 2008-07-10 | 2008-12-10 | 昆明理工大学 | 结合句法结构关系和领域特征的领域问题分类方法 |
CN106294295A (zh) * | 2016-08-10 | 2017-01-04 | 成都轻车快马网络科技有限公司 | 基于词频的文章相似度识别方法 |
CN106528621A (zh) * | 2016-09-30 | 2017-03-22 | 四川用联信息技术有限公司 | 一种改进的密度文本聚类算法 |
CN108228758A (zh) * | 2017-12-22 | 2018-06-29 | 北京奇艺世纪科技有限公司 | 一种文本分类方法及装置 |
CN110516073A (zh) * | 2019-08-30 | 2019-11-29 | 北京百度网讯科技有限公司 | 一种文本分类方法、装置、设备和介质 |
CN111159409A (zh) * | 2019-12-31 | 2020-05-15 | 腾讯科技(深圳)有限公司 | 基于人工智能的文本分类方法、装置、设备、介质 |
CN111368078A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 一种模型训练的方法、文本分类的方法、装置及存储介质 |
CN111444723A (zh) * | 2020-03-06 | 2020-07-24 | 深圳追一科技有限公司 | 信息抽取模型训练方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
Convolutional Neural Networks for Sentence Classification;Yoon Kim;《arxiv》;20140903;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112182230A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182230B (zh) | 一种基于深度学习的文本数据分类方法和装置 | |
US10642938B2 (en) | Artificial intelligence based method and apparatus for constructing comment graph | |
US20240028834A1 (en) | Natural language generation using pinned text and multiple discriminators | |
US11868733B2 (en) | Creating a knowledge graph based on text-based knowledge corpora | |
RU2628431C1 (ru) | Подбор параметров текстового классификатора на основе семантических признаков | |
RU2628436C1 (ru) | Классификация текстов на естественном языке на основе семантических признаков | |
US9373075B2 (en) | Applying a genetic algorithm to compositional semantics sentiment analysis to improve performance and accelerate domain adaptation | |
US9009134B2 (en) | Named entity recognition in query | |
RU2686000C1 (ru) | Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки | |
US20230206003A1 (en) | Computer implemented method for the automated analysis or use of data | |
US11989507B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
US11977854B2 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
Pathak et al. | Application of deep learning approaches for sentiment analysis | |
Paul et al. | Focused domain contextual AI chatbot framework for resource poor languages | |
US20230274089A1 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
WO2023161630A1 (en) | Computer implemented methods for the automated analysis or use of data, including use of a large language model | |
CN112805715A (zh) | 识别实体属性关系 | |
CN112685452B (zh) | 企业案例检索方法、装置、设备和存储介质 | |
US20230042683A1 (en) | Identifying and transforming text difficult to understand by user | |
CN113869034B (zh) | 基于强化依赖图的方面情感分类方法 | |
CN115660695A (zh) | 客服人员标签画像构建方法、装置、电子设备及存储介质 | |
CN115658845A (zh) | 一种适用于开源软件供应链的智能问答方法及装置 | |
Markus et al. | Leveraging Researcher Domain Expertise to Annotate Concepts Within Imbalanced Data | |
Sreenivasulu et al. | Image Based Classification of Rumor Information from the Social Network Platform. | |
Wang et al. | A Stable‐Matching‐Based User Linking Method with User Preference Order |
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 |