一种基于大数据的金融领域人机对话意图识别方法
技术领域
本发明属于机器学习,自然语言处理,大数据处理技术领域。
背景技术
随着搜索引擎技术的发展,现代搜索引擎、问答系统和对话机器人需要的不再是简单的相关性信息检索,而是能深刻理解用户的信息需求。正确识别用户的意图是实现这一目标的关键步骤。基于对话的意图识别是一个有挑战性的任务的原因是对话中的用户输入通常非常短,而且缺少足够的信息,需要系统准确理解上文含义后,再做出最终判断。本发明在传统的自然语言处理上,结合数据挖掘和自然语言处理,首先对文本数据去除噪声,剔除冗余信息,然后对文本特征进行过滤,降维等等,最后对于该预测文本,设计机器学习模型,并且进行了算法层面上的融合,以提高文本分类的准确率,本发明有效的解决了传统文本分类精度低,处理时间较长的问题。
发明内容
本发明旨在解决以上现有技术出现的问题。提出了一种基于大数据的金融领域人机对话意图识别方法,从而使得对话意图识别能有更高的准确率。
为了实现上述目的,本发明采用的技术方案是,一种基于大数据的金融领域人机对话意图识别方法,其包括以下步骤:
101、对金融领域app上人机对话所产生的历史文本数据进行预处理操作;
102、对于步骤101处理后的数据集进行划分,分为训练集和验证集;
103、根据人机对话历史文本数据进行文本数据特征的构建,包括特征提取和文本表示;
104、针对构建完成后的特征,进行降维、稀疏的处理;
105、根据人机对话历史文本数据进行模型的设计及其优化,建立机器学习模型,来对未知的人机对话进行意图识别。本发明提出利用机器学习来对文本数据进行预测,对已知标签的文本数据训练而得到模型,来预测未知标签的文本数据,从而获取该对话所表达的意图。
进一步的,所述步骤101的数据预处理,具体包括:(1)对文档进行切分,进行文本分词;所述文本分词包括词典的构造和分词算法的操作两个主要步骤;在本发明中,我们构造的是字典树,字典树的构造方法较多,在本发明中,我们用双数组Trie数进行构造,对于分词操作,采用的是最短路径方法进行分词操作。
(2)去停用词(包括标点,数字,单子和其他一些无意义的词,如助词、语气词等等),利用人工建立的停用词词典对停用词进行处理,即对特殊符号,标点,数字进行替换。
进一步的,所述步骤102对人机对话数据进行划分,具体包括:将文本数据集划分训练集和验证集,采用留出法将其划分为训练集和验证集,在用留出法对数据进行划分时,采用的是分层抽样的方法,这样可保证训练集和验证集正负样本分布的一致性,可以加快模型收敛速度;分层抽样描述如下,假设原始数据集为D,对D分层抽样分为训练集S和验证集T,如果使得S和T数据集中正负样本比例和D中保持一致,则该抽样为分层抽样。
进一步的,所述步骤103进行文本数据特征的构建,包括特征提取和文本表示,具体为:
(1)文本特征提取,文本中的某一个单词就能以某种程度来表征某句话,这个程度具体衡量的标准就是概率。概率越大,说明这个单词越能表征这句话;反之则越不能表征这句话,当概率小到一个阀值(<=0.25)的时候,这个单词就可以舍弃了(不能表征该文本)。对于以上提出的概率,本发明选择用信息增益(概率越大越好),信息增益进行特征抽取是基于如下假设:在某个特定类别出现频率高,但在其他类别出现频率比较低的词条与该类的信息增益比较大。通常用互信息作为特征词和类别之问的测度,如果特征词属于该类的话,它们的信息增益最大;
(2)人机对话进行词频统计,TF-IDF(词频-逆文档频率)所涉及关键参数为整个对话语料库以及每个对话的词频-逆文档频权重,新词语料库;由于传统的新词语料库在模型训练的开始阶段,对于新词的处理效果不好,本发明就使用极大似然估计去估计新词的词频-逆文档频。
假设①新词的出现与不出现服从伯努利分布,②新词为非常用词(在语料库不常出现的词),③在语料库中随机抽样,其中不常用词出现的训练观测序列为{x1,x2,…,xn},xi∈{0,1},其中n表示词的数量,得到极大似然函数为
使得对数化的极大似然函数对不常用词出现的概率p的导数等于0,求得不常用词出现的概率(即不常用词的词频)
就可以选出最终可以表达该句话的词语。
(3)文本向量化,可以分为词语的向量表达,短文本的向量表达,长文本的向量表达,因为不同的情景需要用到不同的方法和处理方式,本发明采用词袋模型作为文本向量化的工具,假设对于一个对话,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现,所涉及关键参数为对话语料库,以及对话语料库中每个单词出现的频率,其中最简单的模式是基于词的独热表示,它是用每一个词作为维度key,有单词对应的位置为1,其他为0,向量长度和词典大小相同。
(4)将文本向量化之后,每个词语可以得到一个它所代表的词向量,对于一组对话,将对话里边所有词语的词向量相加,词向量相加的时候可以根据词向量所对应单词的重要性给予词向量以不同的权重,本发明中,每个词语所对应的词向量的权重由每个词语的TF-IDF(词频-逆文档频率)的数值决定。
进一步的,步骤104所述特征降维、稀疏处理,具体包括:
(1)利用奇异值对构建后的特征进行降维,奇异值利用对称矩阵来对特征进行降维处理,首先将特征表征为一个大的矩阵M,然后将特征矩阵利用正交基进行映射,映射完成之后,所得到的特征即为降维后的特征。
对于m×n的矩阵M,进行奇异值分解
取其前r个非零奇异值,可以还原原来的矩阵M,即前r个非零奇异值对应的奇异向量代表了矩阵M的主要特征。可以表示为
其中,M为方阵,U为单位矩阵,VT为MTM的特征向量,U为MMT的特征向量。
(2)降维之后的特征进行矩阵的稀疏表达,这样,可使模型更易于收敛。降维后的特征,由于其维度可能过大,会带来维灾难,使得模型训练速度较长,所以我们采用三角矩阵的稀疏存储方式,这样,可以在保证特征重要性丢失不多的情况下,加快模型的训练过程。
进一步的,步骤105所述模型采用DeepFFM模型,用构建完成的训练集去训练DeepFFM,对于训练好的模型,用验证集进行测试。对于最终模型的融合,我们采用类堆模型,它可以结合上文信息(上一个对话)去辅助预测下文信息(下一个对话)。
本发明的优点及有益效果如下:
本发明充分考虑到了人机对话的历史数据,在对历史数据进行统计分析的基础上,进行特征的降维,加快了模型的训练过程,减少运行时间。且本发明进行了算法层面上的融合,有效的提高了模型的精度。
通过对给定数据集进行分析,可以发现该问题为多分类问题,由于多分类问题会带来特征的维灾难,所以本发明将多分类问题转化为二分类问题,既避免了特征的维灾难,又加快了模型的训练过程。
附图说明
图1是本发明提供优选实施例实施例一提供基于大数据的金融领域人机话意图识别方法的总体流程图;
图2是本发明实施例一提供基于大数据的金融领域人机话意图识别方法的特征提取过程词语向量化,计算TF-IDF(包含词频),文本特征标准化的流程图;
图3是本发明实施例一提供基于大数据的金融领域人机话意图识别方法的模型融合示例图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
参见图1,一种基于大数据的金融领域人机对话意图识别方法,其包括以下步骤:
101、对金融领域app上人机对话所产生的历史文本数据进行预处理操作;
102、对历史文本数据进行划分,分为训练集和验证集;
103、根据人机对话历史文本数据进行文本数据特征的构建,包括特征提取和文本向量化;
104、针对构建完成后的特征,进行降维,稀疏处理;
105、根据人机对话历史文本数据构建模型及其优化,对未知的人机对话进行意图识别。本发明提出利用机器学习来对文本数据进行预测,对已知标签的文本数据训练而得到模型,来预测未知标签的文本数据,从而获取该对话所表达的意图。
所述的对人机对话所产生数据的预处理包括如下:
(1)对文档进行切分,进行文本分词,所用文本分词包括两个主要步骤,第一个是词典的构造,第二个是分词算法的操作。在本发明中,我们构造的是字典树,字典树的构造方法较多,在本发明中,我们用双数组Trie数进行构造,对于分词操作,采用的是最短路径方法进行分词操作。
(2)去停用词(包括标点,数字,单子和其他一些无意义的词,如助词、语气词等等),本发明中,利用人工规则对停用词进行处理,即利用人工建立的停用词词典对停用词进行处理,如对特殊符号,标点,数字进行替换。
所述对于给定文本数据集进行划分的步骤如下:
(1)将文本数据集划分训练集和验证集,采用留出法将其划分为训练集和验证集,在用留出法对数据进行划分时,采用的是分层抽样的方法,这样可保证训练集和验证集正负样本分布的一致性,可以加快模型收敛速度;分层抽样描述如下,假设原始数据集为D,对D分层抽样分为训练集S和验证集T,如果使得S和T数据集中正负样本比例和D中保持一致,则该抽样为分层抽样;
(2)在本发明中定义测试集就为需要预测其意图的数据集。
所述根据人机对话数据进行文本数据特征的构建(参见图2),包括特征提取,文本向量化包括如下:
(1)文本特征提取,文本中的某一个单词就能以某种程度来表征某句话,这个程度具体衡量的标准就是概率。概率越大,说明这个单词越能表征这句话;反之则越不能表征这句话,当概率小到一个阀值(<=0.25)的时候,这个单词就可以舍弃了(不能表征该文本)。对于以上提出的概率,本发明选择用信息增益(概率越大越好),信息增益进行特征抽取是基于如下假设:在某个特定类别出现频率高,但在其他类别出现频率比较低的词条与该类的信息增益比较大。通常用信息增益作为特征词和类别之问的测度,如果特征词属于该类的话,它们的信息增益最大;
(2)人机对话进行词频统计,TF-IDF(词频-逆文档频率)所涉及关键参数为整个对话语料库以及每个对话的词频-逆文档频权重,新词语料库;由于传统的新词语料库在模型训练的开始阶段,对于新词的处理效果不好,本发明就使用极大似然估计去估计新词的词频-逆文档频。
假设①新词的出现与不出现服从伯努利分布,②新词为非常用词(在语料库不常出现的词),③在语料库中随机抽样,其中不常用词出现的训练观测序列为{x1,x2,…,xn},xi∈{0,1},其中n表示词的数量,得到极大似然函数为
使得对数化的极大似然函数对不常用词出现的概率p的导数等于0,求得不常用词出现的概率(即不常用词的词频)
就可以选出最终可以表达该句话的词语。
(3)文本向量化,文本向量化,可以分为词语的向量表达,短文本的向量表达,长文本的向量表达,因为不同的情景需要用到不同的方法和处理方式,本发明采用词袋模型作为文本向量化的工具,假设对于一个对话,忽略它的单词顺序和语法、句法等要素,将其仅仅看作是若干个词汇的集合,文档中每个单词的出现都是独立的,不依赖于其它单词是否出现,所涉及关键参数为对话语料库,以及对话语料库中每个单词出现的频率,其中最简单的模式是基于词的独热表示,它是用每一个词作为维度key,有单词对应的位置为1,其他为0,向量长度和词典大小相同。
(4)将文本向量化之后,每个词语可以得到一个它所代表的词向量,对于一组对话,将对话里边所有词语的词向量相加,词向量相加的时候可以根据词向量所对应单词的重要性给予词向量以不同的权重,本发明中,每个词语所对应的词向量的权重由每个词语的TF-IDF(词频-逆文档频率)的数值决定。
所述针对构建完成后的特征,进行降维,稀疏的处理包括如下:
(1)利用奇异值对构建后的特征进行降维,奇异值利用对称矩阵来对特征进行降维处理,首先将特征表征为一个大的矩阵M,然后将特征矩阵利用正交基进行映射,映射完成之后,所得到的特征即为降维后的特征。
对于m×n的矩阵M,进行奇异值分解
取其前r个非零奇异值,可以还原原来的矩阵M,即前r个非零奇异值对应的奇异向量代表了矩阵M的主要特征。可以表示为
其中,M为方阵,U为单位矩阵,VT为MTM的特征向量,U为MMT的特征向量。
(2)降维之后的特征进行矩阵的稀疏表达,这样,可使模型更易于收敛。降维后的特征,由于其维度可能过大,会带来维灾难,使得模型训练速度较长,所以我们采用三角矩阵的稀疏存储方式,这样,可以在保证特征重要性丢失不多的情况下,加快模型的训练过程。
所述模型设计及其优化,针对文本数据,建立机器学习模型,来对未知的人机对话进行意图识别。本发明提出利用机器学习来对文本数据进行预测,对已知标签的文本数据训练而得到模型,来预测未知标签的文本数据,从而获取该对话所表达的意图,我们设计了DeepFFM模型,用构建完成的训练集去训练DeepFFM,对于训练好的模型,用验证集进行测试。对于最终模型的融合,我们采用类堆模型,它可以结合上文信息(上一个对话)去辅助预测下文信息(下一个对话)。如图3所示,图中,Qi表示该对话的第i个问题的相关特征(tf-idf,词向量),Pi表示该对话第i个问题得到的多分类概率(用Qi做特征预测出的多分类概率)。