CN110188195B - 一种基于深度学习的文本意图识别方法、装置及设备 - Google Patents

一种基于深度学习的文本意图识别方法、装置及设备 Download PDF

Info

Publication number
CN110188195B
CN110188195B CN201910354878.8A CN201910354878A CN110188195B CN 110188195 B CN110188195 B CN 110188195B CN 201910354878 A CN201910354878 A CN 201910354878A CN 110188195 B CN110188195 B CN 110188195B
Authority
CN
China
Prior art keywords
text
data
model based
pyrrch
preset
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
Application number
CN201910354878.8A
Other languages
English (en)
Other versions
CN110188195A (zh
Inventor
周彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Xingyun Digital Technology Co Ltd
Original Assignee
Nanjing Xingyun Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Xingyun Digital Technology Co Ltd filed Critical Nanjing Xingyun Digital Technology Co Ltd
Priority to CN201910354878.8A priority Critical patent/CN110188195B/zh
Publication of CN110188195A publication Critical patent/CN110188195A/zh
Application granted granted Critical
Publication of CN110188195B publication Critical patent/CN110188195B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于深度学习的文本意图识别方法、装置及设备,属于自然语言处理技术领域。所述方法包括:通过语料预处理获取相应文本数据;对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据;将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果。本发明通过利用基于pytorch框架的CapsNet模型提高了文本意图识别的准确率。

Description

一种基于深度学习的文本意图识别方法、装置及设备
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种基于深度学习的文本意图识别方法、装置及设备。
背景技术
意图识别的本质是文本分类,文本分类问题作为一种监督学习的应用问题,与机器学习领域的分类问题并没有本质的区别,其方法可以归结为利用待分类数据的特征与类别进行匹配,选择最优的匹配结果作为分类结果,可以通过机器学习的框架进行描述文本分类问题。文本分类分为两个过程:学习过程、分类过程。如图1所示,首先有一些训练样本文本以及其所属类别标注,学习系统从标注的训练样本中学习出一个函数,这里函数自变量为文本特征数据,函数值为文本对应的类别,或是学习出一个条件概率分布,这就是学到的分类器。对于新给出的文本,分类系统利用学习出的分类器对其进行分类。分类问题中,最简单的莫过于二分类问题了,例如垃圾邮件检测就是典型的二分类问题。当然对于多分类问题,可以采用“一类对其他所有类”的方法,把问题转化为二分类问题来做。
对于上面所描述的文本分类问题,最核心之处在于如何构建文本的特征空间才能快速有效的进行文本的分类。最初的词语匹配方法是将文档中的词语与类别名称中的词(或是其近义词)进行匹配,根据匹配度判断文档所属类别,很显然,这种过于简单的方法效果是不理想的。后续利用知识工程的方法加入人为设定的推理规则以帮助提高文本分类的准确率,但是这样一来,人为设定的规则好坏直接影响分类效果,而且完全不具备可推广性。
针对之前的分类方法的不足,依据经验,让计算机自己通过对大量同类文本的学习得出经验,作为新的文本的分类的依据。这就是统计学习方法的思想(机器学习),这也是如今文本分类的主流方法,这类方法具有坚实的统计学理论基础以及明确的评价标准,实际效果也非常好。文本分类问题中非常适合的文本表示模型就是向量空间模型(VSM),VSM不仅考虑了文本中包含哪些词语,这些词语出现的次数也考虑了,这对分类至关重要。VSM将每一篇文本视为特征项集合,利用加权特征项构成向量进行文本表示,利用词频信息对文本特征进行加权,VSM实现简单,分类准确度较高,能够满足一般应用的需求。VSM这种文本表示模型,完全忽略词语之间的上下文信息,如此一来,VSM所能表达的文本信息量存在上限。
传统机器学习的核心分类器模型都可以用于文本分类,常用的模型和算法有:支持向量机(SVM)、边缘感知机、k-最近邻算法(KNN)、决策树、朴素贝叶斯(NB)、贝叶斯网络、Adaboost算法、逻辑斯蒂回归。
深度学习用于文本分类常用的有,fastText模型、TextCNN模型、BiLSTM模型、TextRNN+Attention、TextRCNN模型等,这些模型的已经能够达到比较好的效果,但是有个缺点就是没能考虑神经元之间的相互作用关系,假设都是独立的。CapsNet是GeoffreyE.Hinton针对CNN的不足,提出的一种对于图像处理更加有效的网络——胶囊网络,其综合了CNN的优点的同时,考虑了CNN缺失的相对位置、角度等其他信息,提升了识别效果,但CapsNet在具体实现过程中仍具有意图识别准确率提升的空间。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于深度学习的文本意图识别方法、装置及设备,通过利用基于pytorch框架的CapsNet模型提高了文本意图识别的准确率。
所述技术方案如下:
第一方面,提供了一种基于深度学习的文本意图识别方法,所述方法包括:
通过语料预处理获取相应文本数据;对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据;将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果。
结合第一方面,在第一种可能的实现方式中,所述方法还包括获取所述预设基于pytorch框架的CapsNet模型,具体包括:搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型;所述词向量数据还包括训练输入数据,将所述训练输入数据输入所述预训练的基于pytorch框架的CapsNet模型进行训练,获取所述预设基于pytorch框架的CapsNet模型。
结合第一方面的第一种可能实现方式,在第二种可能的实现方式中,所述搭建基于pytorch框架的CapsNet模型的GRU层,并利用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型,包括:
利用Xavier和Orthogonal分别初始化参数,
其中,保证前向传播和反向传播时每一层的方差一致,满足:
Figure BDA0002045087470000031
Xavier初始化满足以下均匀分布:
Figure BDA0002045087470000032
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。
结合第一方面及第一方面的第一至二种可能实现方式中的任一种,在第四至六种可能的实现方式中,所述通过语料预处理获取相应文本数据包括:通过爬虫、日志记录和/或语音转文本的方式建立语料库;通过预设分词模型对语料进行分词并清洗;根据经过分词并清洗的数据获取相应文本数据。
结合第一方面及第一方面的第一至二种可能实现方式中的任一种,在第七至九种可能的实现方式中,对所述文本数据进行BOW编码,获取词向量数据,包括:根据预设BOW词袋模型,对所述文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度,对所有的语料文本进行数字转换输出doc2num。
结合第一方面及第一方面的第一至二种可能实现方式中的任一种,在第十至十二种可能的实现方式中,将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果,包括:将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
第二方面,提供了一种基于深度学习的文本意图识别装置,所述装置包括:语料预处理模块,用于通过语料预处理获取相应文本数据;词向量获取模块,用于对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据包括训练输入数据;意图识别操作模块,用于将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果。
结合第二方面,在第一种可能的实现方式中,所述装置还包括模型获取模块,所述模型获取模块具体包括模型搭建模块和训练模块,所述模型搭建模块用于:搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型;所述词向量数据还包括意图识别输入数据,所述训练模块用于:将所述训练输入数据输入所述预训练的基于pytorch框架的CapsNet模型进行训练,获取所述预设基于pytorch框架的CapsNet模型。
结合第二方面的第一种可能实现方式,在第二种可能的实现方式中,所述模型搭建模块用于:
利用Xavier和Orthogonal分别初始化参数,其中,
保证前向传播和反向传播时每一层的方差一致,满足:
Figure BDA0002045087470000051
Xavier初始化满足以下均匀分布:
Figure BDA0002045087470000052
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。
结合第二方面及第二方面的第一至二种可能实现方式中的任一种,在第四至六种可能的实现方式中,所述语料预处理模块用于:通过爬虫、日志记录和/或语音转文本的方式建立语料库;通过预设分词模型对语料进行分词并清洗;根据经过分词并清洗的数据获取相应文本数据。
结合第二方面及第二方面的第一至二种可能实现方式中的任一种,在第七至九种可能的实现方式中,词向量获取模块用于:根据预设BOW词袋模型,对所述文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度,对所有的语料文本进行数字转换输出doc2num。
结合第二方面及第二方面的第一至二种可能实现方式中的任一种,在第十至十二种可能的实现方式中,所述意图识别操作模块用于:将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
第三方面,提供了一种基于深度学习的文本意图识别设备,包括:处理器;存储器,用于存储有所述处理器的可执行指令;其中,所述处理器配置为经由所述可执行指令来执行第一方面方案所述的通过基于pytorch框架的CapsNet模型实现文本意图识别的步骤。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的基于深度学习的文本意图识别的方法、装置及设备,基于pytorch框架,将用于图像的胶囊网络移植到文本处理,通过基于pytorch框架的CapsNet模型实现了文本意图识别准确率的提升;并且在运用自己改写的基于pytorch框架的CapsNet模型并设计了四层网络规范Embedding Layer->GRU Layer->Caps Layer->Dense Layer,并结合大量样本训练,经验证相比于textCNN或BiLSTM等现有模型,意图识别准确率提高了2个百分点,从而使CapsNet胶囊网络在文本意图识别方面进一步提升了识别效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的基于深度学习的文本意图识别方法流程图;
图2是本发明实施例1提供的101步骤的子步骤流程图;
图3是本发明实施例1提供的基于pytorch框架的CapsNet实现文本意图识别的整体架构示例;
图4是本发明实施例2提供的基于深度学习的文本意图识别装置结构示意图;
图5是本发明实施例3提供的基于深度学习的文本意图识别的设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
本发明实施例提供的一种基于深度学习的文本意图识别方法、装置及设备,基于pytorch框架改写了CapsNet,将用于图像处理的网络移植到文本处理,从而为文本意图识别提供技术基础,通过基于pytorch框架的CapsNet模型实现文本意图识别,经验证,与现有技术中的其他方法相比,获得了更高意图识别准确率,从而使CapsNet胶囊网络在文本意图识别方面进一步提升了识别效果,因此该发明方案可以在涉及文本意图识别或文本分类等的多种自然语言处理领域进行广泛推广。
下面结合具体实施例及附图,对本发明实施例提供的基于深度学习的文本意图识别方法、装置及设备作详细说明。
实施例1
图1是本发明实施例1提供的基于深度学习的文本意图识别方法流程图。图2是本发明实施例1提供的101步骤的子步骤流程图。如图1所示,本发明实施例提供的基于深度学习的文本意图识别方法,包括以下步骤:
101、通过语料预处理获取相应文本数据。
具体地,如图2所示,上述101步骤可以通过以下子步骤实现:
1011、通过爬虫、日志记录和/或语音转文本的方式建立语料库;
1012、通过预设分词模型对语料进行分词并清洗;
1013、根据经过分词并清洗的数据获取相应文本数据。
在自然语言处理的文本分类或文本意图识别过程中,前期一般都需要进行语料收集、分词、清洗等预处理步骤,为意图识别测试或后续模型训练作准备。需要注意的是,101步骤实现语料预处理的方式并不仅限于以上方式,只要其不脱离本发明发明构思所申明的步骤实现功能,可以采用现有技术中任何可能的方式实现。
示例性地,在金融交易的特定领域,系统会在以往业务处理过程中积累一定的像催收或资讯文本,这些文本积累就可以作为基础的语料库,又或者系统本身存储其他语料库,为了获取预进行语料预处理的语料,可以在基础语料库或其他语料库基础上,通过语音转文本及爬虫的方式得到补充语料库,并补充进已有语料库。这个过程收集或获取的语料,既可以是实际进行文本意图识别的待测试语料,也可以是用于模型训练的训练语料。
语料库中存在比较多的杂质比如\n、标点符号的中英文不统一、文字重复等进行正则处理。因为,对于刚开始拿到的语料尤其是催收语料,每个对话之间的顺序关系的乱的,需要根据session_id和time两个维度来进行重排序,整理成一个个的对话session。对于text维度,对其对话的内容进行清洗,包括从网页得到的数据通常包含了大量html实体比如<&gt:&,嵌入在原始数据中,必须去掉这些实体;这是一个信息转换的过程,将复杂符号转换成简单易于理解的字符。文本数据可能受到不同形式的编码,像是“Latin”,“UTF8”等;标点符号的统一与清洗;当数据分析需要在单词水平上被数据驱动的时候,经常出现的词(停止词)应该被移除;移除表情符;去除URL等,将文本数据进行归一化。
102、对文本数据进行BOW(bag of words)编码,获取词向量数据,词向量数据至少包括意图识别输入数据。
具体地,102步骤可以通过以下方式实现:
根据预设BOW词袋模型,对文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度(如30),把所有的频率大于预定频率值(如5)的词映射成数字,对所有的语料文本进行数字转换输出doc2num。因此,进行bag of words编码,主要实现三个功能体系:I.对所有的文本词进行index操作,即将词映射成数字;II.对每一句话进行长度补齐或截断固定长度;III.所有的语料文本进行数字转换输出doc2num。
优选地,这里的预设BOW词袋模型利用信息熵构建分词模型,用信息熵来衡量一个文本片段的左邻字集合和右邻字集合的随机性,结合凝固度和自由度的评价标准更加精准的进行分词操作。主要依托于互信息和左右熵,代码实现的数据结构trie;这里使用左右熵来衡量预选词的自由程度,左右熵越大,表示这个词的左边右边的词换的越多,那么它就很有可能是一个单独的词。
点间互信息定义如下:
Figure BDA0002045087470000091
其中p(x,y)是两个词一起出现的概率,p(x)是单个词出现的概率
·点间互信息可以很好的反映两个词的凝聚力
·以2求log的原因来自信息论,可以简单理解为,取log之后就将一个概率转换为了信息量,以2为底时可以简单理解为用多少个bits可以表示这个变量。
这里词向量获取的过程,既可以是对待测试意图识别的文本数据进行词向量获取以获得意图识别输入数据,同时也可以包括对用于模型训练的训练文本数据以获得训练输入数据。
为了达到更好的训练目的,除了102步骤获取的词向量数据,还可以获取外部词向量或外部词库。比如腾讯和搜狗词向量提取出里面的词可以作为外部词库的重要来源,根据腾讯和搜狗刚开源不久的词向量,将其下载并以key-value形式存入MongoDB,对里面的词语进行提取整理成库作为外部引用词库。外部词向量可以作为本次训练词向量的一个补充,用增量训练的方式把词向量引入,起始准确率比较低但是多次迭代以后准确率上升比较快。
值得注意的是,102步骤对文本数据进行BOW(bag of words)编码,获取词向量数据的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
103、将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果。
具体地,103步骤可以通过以下方式实现:
将意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
这里的预设基于pytorch框架的CapsNet模型根据需要进行预先设置的,可以采用现有技术中存在的任何可能的基于pytorch框架的CapsNet模型,也可以自己创建。
优选地,基于pytorch框架的CapsNet模型的创建过程如下:
搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型;
根据获取的词向量数据中的训练输入数据,将训练输入数据输入预训练的基于pytorch框架的CapsNet模型进行训练,获取预设基于pytorch框架的CapsNet模型。
优选地,上述预设初始化分布函数采用Xavier和Orthogonal,利用Xavier和Orthogonal分别初始化参数,其中,
保证前向传播和反向传播时每一层的方差一致,满足:
Figure BDA0002045087470000101
Xavier初始化满足以下均匀分布:
Figure BDA0002045087470000102
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。优选地,第二层共输出128*2=256个向量,每一个向量的维度为1,即第i层共有256个Capsule单元。而第三层j有10个标准的Capsule单元,每个Capsule的输出向量有16个元素。前一层的Capsule单元数是256个,那么wij将有256×1个,且每一个wij的维度为10×16。当ui与对应的wij相乘得到预测向量后,我们会有256×1个耦合系数cij,对应加权求和后会得到10个16×1的输入向量。将该输入向量输入到「squashing」非线性函数中求得最终的输出向量vj,其中vj的长度就表示识别为某个类别的概率。
对于图像,利用预测的类别重新构建出该类别代表的实际图像,例如我们前面部分的模型预测出该图片属于一个类别,然后后面重构网络会将该预测的类别信息重新构建成一张图片。假设过Capsule的向量可以表征一个实例,那么如果我们将一个向量投入到后面的重构网络中,它应该能重构出一个完整的图像。因此,Hinton等人使用额外的重构损失(reconstruction loss)来促进DigitCaps层对输入数字图片进行编码。对于文本而言则不需要重构,所以训练中只有Margin loss。
图3是本发明实施例1提供的基于pytorch框架的CapsNet实现文本意图识别的整体架构示例。如图3所示,将经过语料预处理后的语料文本进行处理,获取词向量数据,搭建核心神经网络capsnet,并用合理的初始化分布函数对参数进行初始化,在Caps层进行文本向量操作和路由。在步骤八中,经过Dense层Softmax操作得到19个意图分别对应的概率值。在步骤九中,取argmax得到最大概率对应的类作为当前最佳意图。
下表是金融文本验证集通过不同网络结构实现的结果数据,以正确率作为评价指标:
Figure BDA0002045087470000111
由以上验证的结果数据,可以明显看出,本发明实施例提供的基于深度学习的文本意图识别方案能够获得更高意图识别准确率,进一步提升意图识别效果。
值得注意的是,103步骤将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果的过程,除了上述步骤所述的方式之外,还可以通过其他方式实现该过程,本发明实施例对具体的方式不加以限定。
另外需要说明的是,待进行意图识别测试的语料数据和用于模型训练的训练数据,在进行语料预处理然后获取词向量数据时,可以在同一步骤中同时进行,也可以分别进行,只要在进行模型训练或通过模型获取意图识别结果前完成即可,本发明实施例对其具体的步骤先后顺序不作特别限定。
实施例2
图4是本发明实施例2提供的基于深度学习的文本意图识别装置结构示意图。如图4所示,本发明实施例提供的基于深度学习的文本意图识别装置2包括语料预处理模块21、词向量获取模块22和意图识别操作模块23。
其中,语料预处理模块21,用于通过语料预处理获取相应文本数据。具体地,语料预处理模块21用于:
通过爬虫、日志记录和/或语音转文本的方式建立语料库;
通过预设分词模型对语料进行分词并清洗;
根据经过分词并清洗的数据获取相应文本数据。
词向量获取模块22,用于对文本数据进行BOW编码,获取词向量数据,所述词向量数据包括训练输入数据。具体地,词向量获取模块22用于:根据预设BOW词袋模型,对文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度,对所有的语料文本进行数字转换输出doc2num。
意图识别操作模块23,用于将意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果。具体地,意图识别操作模块23用于:将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
优选地,上述装置还包括模型获取模块24,模型获取模块具体包括模型搭建模块241和训练模块242。
具体地,模型搭建模块241用于:搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型。
优选地,模型搭建模块241用于:
利用Xavier和Orthogonal分别初始化参数,其中,
保证前向传播和反向传播时每一层的方差一致,满足:
Figure BDA0002045087470000131
Xavier初始化满足以下均匀分布:
Figure BDA0002045087470000132
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。优选地,第二层共输出128*2=256个向量,每一个向量的维度为1,即第i层共有256个Capsule单元。而第三层j有10个标准的Capsule单元,每个Capsule的输出向量有16个元素。前一层的Capsule单元数是256个,那么wij将有256×1个,且每一个wij的维度为10×16。当ui与对应的wij相乘得到预测向量后,我们会有256×1个耦合系数cij,对应加权求和后会得到10个16×1的输入向量。将该输入向量输入到「squashing」非线性函数中求得最终的输出向量vj,其中vj的长度就表示识别为某个类别的概率。
词向量数据还包括意图识别输入数据,训练模块242用于:将训练输入数据输入预训练的基于pytorch框架的CapsNet模型进行训练,获取预设基于pytorch框架的CapsNet模型。
实施例3
图5是本发明实施例3提供的基于深度学习的文本意图识别的设备结构示意图。如图5所示,本发明实施例提供的基于深度学习的文本意图识别设备3包括:
处理器31;
存储器32,用于存储有处理器31的可执行指令;
其中,处理器31配置为经由所述可执行指令来执行实施例1所述的通过基于pytorch框架的CapsNet模型实现文本意图识别的步骤。
需要说明的是:上述实施例提供的基于深度学习的文本意图识别的装置、设备在基于深度学习的文本意图识别业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置、设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于深度学习的文本意图识别的装置、设备与基于深度学习的文本意图识别的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
综上所述,本发明实施例提供的基于深度学习的文本意图识别的方法、装置及设备,基于pytorch框架,将用于图像的胶囊网络移植到文本处理,通过基于pytorch框架的CapsNet模型实现了文本意图识别准确率的提升;并且在运用自己改写的基于pytorch框架的CapsNet模型并设计了四层网络规范Embedding Layer->GRU Layer->Caps Layer->Dense Layer,并结合大量样本训练,经验证相比于textCNN或BiLSTM等现有模型,意图识别准确率提高了2个百分点,从而使CapsNet胶囊网络在文本意图识别方面进一步提升了识别效果。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (13)

1.一种基于深度学习的文本意图识别方法,其特征在于,所述方法包括:
通过语料预处理获取相应文本数据;
对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据;
将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果,
其中,所述对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据,包括:
根据所述文本数据包括的词对应的点间互信息,对所述文本数据进行分词;
对分词后的所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括获取所述预设基于pytorch框架的CapsNet模型,具体包括:
搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型;
所述词向量数据还包括训练输入数据,将所述训练输入数据输入所述预训练的基于pytorch框架的CapsNet模型进行训练,获取所述预设基于pytorch框架的CapsNet模型。
3.根据权利要求2所述的方法,其特征在于,所述搭建基于pytorch框架的CapsNet模型的GRU层,并利用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型,包括:
利用Xavier和Orthogonal分别初始化参数,其中,
保证前向传播和反向传播时每一层的方差一致,满足:
Figure FDA0003233659990000021
Xavier初始化满足以下均匀分布:
Figure FDA0003233659990000022
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述通过语料预处理获取相应文本数据包括:
通过爬虫、日志记录和/或语音转文本的方式建立语料库;
通过预设分词模型对语料进行分词并清洗;
根据经过分词并清洗的数据获取相应文本数据。
5.根据权利要求1至3任一项所述的方法,其特征在于,对所述文本数据进行BOW编码,获取词向量数据,包括:
根据预设BOW词袋模型,对所述文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度,对所有的语料文本进行数字转换输出doc2num。
6.根据权利要求1至3任一项所述的方法,其特征在于,将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果,包括:
将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
7.一种基于深度学习的文本意图识别装置,其特征在于,所述装置包括:
语料预处理模块,用于通过语料预处理获取相应文本数据;
词向量获取模块,用于对所述文本数据进行BOW编码,获取词向量数据,所述词向量数据包括训练输入数据;
意图识别操作模块,用于将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,获得意图识别结果;
所述词向量获取模块还用于:根据所述文本数据包括的词对应的点间互信息,对所述文本数据进行分词;对分词后的所述文本数据进行BOW编码,获取词向量数据,所述词向量数据至少包括意图识别输入数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括模型获取模块,所述模型获取模块具体包括模型搭建模块和训练模块,
所述模型搭建模块用于:搭建基于pytorch框架的CapsNet模型的GRU层,并用预设初始化分布函数初始化参数,搭建基于pytorch框架的CapsNet模型的文本CapsLayer层,并进行三次路由,获得预训练的基于pytorch框架的CapsNet模型;
所述词向量数据还包括意图识别输入数据,所述训练模块用于:将所述训练输入数据输入所述预训练的基于pytorch框架的CapsNet模型进行训练,获取所述预设基于pytorch框架的CapsNet模型。
9.根据权利要求8所述的装置,其特征在于,所述模型搭建模块用于:
利用Xavier和Orthogonal分别初始化参数,其中,
保证前向传播和反向传播时每一层的方差一致,满足:
Figure FDA0003233659990000041
Xavier初始化满足以下均匀分布:
Figure FDA0003233659990000042
将Capslayer层在第二层输出的向量基础上进行传播与Routing更新。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述语料预处理模块用于:
通过爬虫、日志记录和/或语音转文本的方式建立语料库;
通过预设分词模型对语料进行分词并清洗;
根据经过分词并清洗的数据获取相应文本数据。
11.根据权利要求7至9任一项所述的装置,其特征在于,词向量获取模块用于:
根据预设BOW词袋模型,对所述文本数据的文本词进行index操作,将词映射成数字,并对每一句话进行长度补齐或截断固定长度,对所有的语料文本进行数字转换输出doc2num。
12.根据权利要求7至9任一项所述的装置,其特征在于,所述意图识别操作模块用于:
将所述意图识别输入数据输入预设基于pytorch框架的CapsNet模型,得到归属于每一类的概率值,取最大概率值对应的类作为意图识别结果。
13.一种基于深度学习的文本意图识别设备,其特征在于,包括:
处理器;
存储器,用于存储有所述处理器的可执行指令;
其中,所述处理器配置为经由所述可执行指令来执行权利要求1至6中任一项所述的通过基于pytorch框架的CapsNet模型实现文本意图识别的步骤。
CN201910354878.8A 2019-04-29 2019-04-29 一种基于深度学习的文本意图识别方法、装置及设备 Active CN110188195B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910354878.8A CN110188195B (zh) 2019-04-29 2019-04-29 一种基于深度学习的文本意图识别方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910354878.8A CN110188195B (zh) 2019-04-29 2019-04-29 一种基于深度学习的文本意图识别方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110188195A CN110188195A (zh) 2019-08-30
CN110188195B true CN110188195B (zh) 2021-12-17

Family

ID=67715343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910354878.8A Active CN110188195B (zh) 2019-04-29 2019-04-29 一种基于深度学习的文本意图识别方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110188195B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781304B (zh) * 2019-10-29 2023-09-26 云境商务智能研究院南京有限公司 一种利用单词信息聚类的句子编码方法
CN111078847A (zh) * 2019-11-27 2020-04-28 中国南方电网有限责任公司 电力用户意图识别方法、装置、计算机设备和存储介质
CN111506700B (zh) * 2020-03-24 2021-01-19 杭州电子科技大学 基于上下文感知嵌入的细粒度情感分析方法
CN111737432A (zh) * 2020-06-22 2020-10-02 四川长虹电器股份有限公司 一种基于联合训练模型的自动对话方法和系统
CN113268994B (zh) * 2021-07-16 2021-10-01 中国平安人寿保险股份有限公司 基于胶囊网络的意图识别方法及装置
CN113362169A (zh) * 2021-08-09 2021-09-07 上海慧捷智能技术有限公司 催收优化方法及设备
CN115170800A (zh) * 2022-07-15 2022-10-11 浙江大学 一种基于社交媒体与深度学习的城市内涝积水深度识别方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269110A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 基于社区问答的物品推荐方法、系统及用户设备
KR20180080154A (ko) * 2018-06-21 2018-07-11 이인희 법률상담서비스를 위한 낱말 주머니[Bag of Words] 기반 자연어 처리 활용 방법 및 시스템
CN108763510A (zh) * 2018-05-30 2018-11-06 北京五八信息技术有限公司 意图识别方法、装置、设备及存储介质
CN109165284A (zh) * 2018-08-22 2019-01-08 重庆邮电大学 一种基于大数据的金融领域人机对话意图识别方法
CN109189933A (zh) * 2018-09-14 2019-01-11 腾讯科技(深圳)有限公司 一种文本信息分类的方法及服务器
CN109241283A (zh) * 2018-08-08 2019-01-18 广东工业大学 一种基于多角度胶囊网络的文本分类方法
CN109241287A (zh) * 2018-09-21 2019-01-18 中山大学 基于强化学习和胶囊网络的文本分类模型及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074495B2 (en) * 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269110A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 基于社区问答的物品推荐方法、系统及用户设备
CN108763510A (zh) * 2018-05-30 2018-11-06 北京五八信息技术有限公司 意图识别方法、装置、设备及存储介质
KR20180080154A (ko) * 2018-06-21 2018-07-11 이인희 법률상담서비스를 위한 낱말 주머니[Bag of Words] 기반 자연어 처리 활용 방법 및 시스템
CN109241283A (zh) * 2018-08-08 2019-01-18 广东工业大学 一种基于多角度胶囊网络的文本分类方法
CN109165284A (zh) * 2018-08-22 2019-01-08 重庆邮电大学 一种基于大数据的金融领域人机对话意图识别方法
CN109189933A (zh) * 2018-09-14 2019-01-11 腾讯科技(深圳)有限公司 一种文本信息分类的方法及服务器
CN109241287A (zh) * 2018-09-21 2019-01-18 中山大学 基于强化学习和胶囊网络的文本分类模型及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Understanding the difficulty of training deep feedforward neural networks;Xavier Glorot;《13th International Conference on Artificial Intelligence and Statistics2010》;20101231;第249-257页 *
基于pytorch的CapsNet代码详解;月见樽;《https://qiankun214.github.io/2018/04/17/基于pytorch的CapsNet代码详解/》;20180417;全文 *

Also Published As

Publication number Publication date
CN110188195A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN110188195B (zh) 一种基于深度学习的文本意图识别方法、装置及设备
CN107526785B (zh) 文本分类方法及装置
CN110609897B (zh) 一种融合全局和局部特征的多类别中文文本分类方法
CN111274394B (zh) 一种实体关系的抽取方法、装置、设备及存储介质
CN108334605B (zh) 文本分类方法、装置、计算机设备及存储介质
Pu et al. Variational autoencoder for deep learning of images, labels and captions
CN108830287A (zh) 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法
Alam et al. Sentiment analysis for Bangla sentences using convolutional neural network
CN112749274B (zh) 基于注意力机制和干扰词删除的中文文本分类方法
Wahid et al. Cricket sentiment analysis from Bangla text using recurrent neural network with long short term memory model
CN110263174B (zh) —基于焦点关注的主题类别分析方法
CN111985247A (zh) 一种基于多粒度文本特征表示的微博用户兴趣识别方法和系统
CN111522908A (zh) 一种基于BiGRU和注意力机制的多标签文本分类方法
CN110968725B (zh) 图像内容描述信息生成方法、电子设备及存储介质
CN109614611B (zh) 一种融合生成非对抗网络与卷积神经网络的情感分析方法
CN113392209A (zh) 一种基于人工智能的文本聚类方法、相关设备及存储介质
CN112434686B (zh) 针对ocr图片的端到端含错文本分类识别仪
CN114372465A (zh) 基于Mixup和BQRNN的法律命名实体识别方法
CN114416979A (zh) 一种文本查询方法、设备和存储介质
CN111639186A (zh) 动态嵌入投影门控的多类别多标签文本分类模型及装置
CN111858878A (zh) 从自然语言文本中自动提取答案的方法、系统及存储介质
CN114818891A (zh) 小样本多标签文本分类模型训练方法及文本分类方法
CN110826298A (zh) 一种智能辅助定密系统中使用的语句编码方法
CN113051887A (zh) 一种公告信息元素抽取方法、系统及装置
CN114741473B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210802

Address after: Room 834, Yingying building, No.99, Tuanjie Road, yanchuangyuan, Jiangbei new district, Nanjing, Jiangsu Province

Applicant after: Nanjing Xingyun Digital Technology Co.,Ltd.

Address before: 210000 No. 1 Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province

Applicant before: SUNING GROUP Co.,Ltd.

GR01 Patent grant
GR01 Patent grant