发明内容
本发明的目的在于,针对所存在的不足,提出了一种基于机器学习的人机对话模型训练系统。
本发明采用如下技术方案:
一种基于机器学习的人机对话模型训练系统,包括数据采集模块、数据转换模块、前置统计模块和模型训练模块;
所述数据采集模块用于采集对话数据,所述数据转换模块用于将文本数据转换成向量数据,所述前置统计模块用于对对话数据进行统计,所述模型训练模块根据统计结果对向量数据进行训练;
所述数据转换模块包括词汇编码单元、词汇提取单元,向量转换单元和配对管理单元,所述词汇编码单元用于记录每个词汇对应的编码,所述词汇提取单元用于从对话数据中提取出词汇编码单元中记录的词汇并转换成对应的编码,所述向量转换单元将编码数据中的每个编码转换成向量形式,所述配对管理单元将编码数据和向量数据进行配对管理;
所述前置统计模块包括窗口提取单元、对比单元和统计记录单元,所述窗口提取单元用于在编码数据中提取出固定长度的编码组,所述对比单元用于将提取出的编码组进行对比得到统计项以及目标项,当所述窗口提取单元对所有编码数据处理完成后,所述统计记录单元根据次数计算出所有目标项的频率;
所述模型训练模块包括数据分组单元、输入单元、隐藏处理单元、输出单元和反馈修正单元,所述数据分组单元将具有相同统计项的向量数据进行归类,所述输入单元用于输入统计项以及目标项的向量数据,所述隐藏处理单元用于对向量数据进行处理,所述输出单元用于输出目标项的概率值,所述反馈修正单元用于将概率分布与统计记录单元中的频率值比较;
进一步的,所述窗口提取单元包括长度管理器、编码数据管理器和编码计算处理器,所述长度管理器用于对提取的编码组长度进行控制管理,所述编码数据管理器用于对进行提取的编码数据进行控制管理,所述编码计算处理器用于对提取出的编码组进行计算处理;
进一步的,所述对比单元包括对比值寄存器、对比值检索处理器和对比值反馈处理器,所述对比值寄存器用于存储接收的对比值,所述对比值检索处理器用于在存储的对比值中检索是否存在新接收的对比值,当存在时,所述对比值反馈处理器从窗口提取单元中获取该对比值对应的编码组以及目标项并发送给统计记录单元;
进一步的,所述隐藏处理单元包括节点计算处理器和节点连接处理器,所述节点计算处理器用于对至少两个向量值进行计算处理并输出一个向量值,所述节点连接处理器用于控制节点的输入连接和输出连接;
所述节点计算处理器对输入节点和中间节点的输入向量值根据下述步骤进行处理:
S21、将m个输入向量值构建成一个m*n的矩阵A:,其中,表示第j个输入向量值;
S22、根据下式处理得到一个中间向量:
;
其中,为节点内置的m维向量;
S23、对中间向量中的元素值按照下式进行转换:
;
其中,为中间向量中第i个元素值,/>为转换后的元素值;
所述节点计算处理器对输出节点的输入向量值根据下式进行计算处理:
;
其中,表示第j个输入向量的第i个元素值;
进一步的,所述反馈修正单元包括输出寄存器、概率换算处理器和反馈处理器,所述输出寄存器按照类型对输出单元输出的Pr进行分类存储,所述概率换算处理器用于计算出同一分类下的每个Pr对应的概率值,所述反馈处理器对概率值和频率值的偏差进行计算处理并将结果反馈给隐藏处理单元。
本发明所取得的有益效果是:
本系统通过设置了前置统计模块对训练数据进行统计处理,根据统计结果对数据进行分类,并依次对每一类的数据进行训练,相比于直接训练更加能够提高训练效果,在训练时,通过对每一个统计项后面的目标项的出现概率进行计算预测,并与统计结果进行比较,基于比较的偏差对模型中的参数进行优化,使得模型输出的概率结果能够更加准确。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,然而所提供的附图仅用于提供参考与说明,并非用来对本发明加以限制。
具体实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的精神下进行各种修饰与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
实施例一:本实施例提供了一种基于机器学习的人机对话模型训练系统,结合图1,包括数据采集模块、数据转换模块、前置统计模块和模型训练模块;
所述数据采集模块用于采集对话数据,所述数据转换模块用于将文本数据转换成向量数据,所述前置统计模块用于对对话数据进行统计,所述模型训练模块根据统计结果对向量数据进行训练;
所述数据转换模块包括词汇编码单元、词汇提取单元,向量转换单元和配对管理单元,所述词汇编码单元用于记录每个词汇对应的编码,所述词汇提取单元用于从对话数据中提取出词汇编码单元中记录的词汇并转换成对应的编码,所述向量转换单元将编码数据中的每个编码转换成向量形式,所述配对管理单元将编码数据和向量数据进行配对管理;
所述前置统计模块包括窗口提取单元、对比单元和统计记录单元,所述窗口提取单元用于在编码数据中提取出固定长度的编码组,所述对比单元用于将提取出的编码组进行对比得到统计项以及目标项,当所述窗口提取单元对所有编码数据处理完成后,所述统计记录单元根据次数计算出所有目标项的频率;
所述模型训练模块包括数据分组单元、输入单元、隐藏处理单元、输出单元和反馈修正单元,所述数据分组单元将具有相同统计项的向量数据进行归类,所述输入单元用于输入统计项以及目标项的向量数据,所述隐藏处理单元用于对向量数据进行处理,所述输出单元用于输出目标项的概率值,所述反馈修正单元用于将概率分布与统计记录单元中的频率值比较;
所述窗口提取单元包括长度管理器、编码数据管理器和编码计算处理器,所述长度管理器用于对提取的编码组长度进行控制管理,所述编码数据管理器用于对进行提取的编码数据进行控制管理,所述编码计算处理器用于对提取出的编码组进行计算处理;
所述对比单元包括对比值寄存器、对比值检索处理器和对比值反馈处理器,所述对比值寄存器用于存储接收的对比值,所述对比值检索处理器用于在存储的对比值中检索是否存在新接收的对比值,当存在时,所述对比值反馈处理器从窗口提取单元中获取该对比值对应的编码组以及目标项并发送给统计记录单元;
所述隐藏处理单元包括节点计算处理器和节点连接处理器,所述节点计算处理器用于对至少两个向量值进行计算处理并输出一个向量值,所述节点连接处理器用于控制节点的输入连接和输出连接;
所述节点计算处理器对输入节点和中间节点的输入向量值根据下述步骤进行处理:
S21、将m个输入向量值构建成一个m*n的矩阵A:,其中,表示第j个输入向量值;
S22、根据下式处理得到一个中间向量:
;
其中,为节点内置的m维向量;
S23、对中间向量中的元素值按照下式进行转换:
;
其中,为中间向量中第i个元素值,/>为转换后的元素值;
所述节点计算处理器对输出节点的输入向量值根据下式进行计算处理:
;
其中,表示第j个输入向量的第i个元素值;
所述反馈修正单元包括输出寄存器、概率换算处理器和反馈处理器,所述输出寄存器按照类型对输出单元输出的Pr进行分类存储,所述概率换算处理器用于计算出同一分类下的每个Pr对应的概率值,所述反馈处理器对概率值和频率值的偏差进行计算处理并将结果反馈给隐藏处理单元。
实施例二:本实施例包含了实施例一中的全部内容,提供了一种基于机器学习的人机对话模型训练系统,包括数据采集模块、数据转换模块、前置统计模块和模型训练模块;
所述数据采集模块用于采集对话数据,所述数据转换模块用于将文本数据转换成向量数据,所述前置统计模块用于对对话数据进行统计,所述模型训练模块根据统计结果对向量数据进行训练;
所述数据采集模块包括联网单元、识别单元、采集单元和存储单元,所述联网单元用于接入互联网,所述识别单元用于识别互联网中的对话数据,所述采集单元将识别的对话数据进行复制,所述存储单元用于保存复制的对话数据;
结合图2,所述数据转换模块包括词汇编码单元、词汇提取单元,向量转换单元和配对管理单元,所述词汇编码单元用于记录每个词汇对应的编码,所述词汇提取单元用于从对话数据中提取出词汇编码单元中记录的词汇并转换成对应的编码,称为编码数据,所述向量转换单元将编码数据中的每个编码转换成向量形式,称为向量数据,所述配对管理单元将编码数据和向量数据进行配对管理,所述编码数据被发送至所述前置统计模块进行统计处理,所述向量数据被发送至所述模型训练模块进行训练处理;
结合图3,所述前置统计模块包括窗口提取单元、对比单元和统计记录单元,所述窗口提取单元用于在编码数据中提取出固定长度的编码组,所述对比单元用于将提取出的编码组进行对比,对比一致的编码组作为一个统计项,所述统计记录单元对所有统计项后出现编码的次数进行统计,统计项后跟随的编码称为目标项,当所述窗口提取单元对所有编码数据处理完成后,所述统计记录单元根据次数计算出所有目标项的频率;
结合图4,所述模型训练模块包括数据分组单元、输入单元、隐藏处理单元、输出单元和反馈修正单元,所述数据分组单元将具有相同统计项的向量数据进行归类,所述输入单元用于输入统计项以及目标项的向量数据,所述隐藏处理单元用于对向量数据进行处理,所述输出单元用于输出目标项的概率值,所述反馈修正单元用于将概率分布与统计记录单元中的频率值比较,比较结果用于对隐藏处理单元中的参数进行优化;
所述向量转换单元将编码转换成向量Ve的公式为:
;
其中,Code为词汇的编码,n为向量的元素个数,为向量Ve中第i个元素值;
所述配对管理单元将编码Code和向量Ve进行配对记录;
所述窗口提取单元包括长度管理器、编码数据管理器和编码计算处理器,所述长度管理器用于对提取的编码组长度进行控制管理,所述编码数据管理器用于对进行提取的编码数据进行控制管理,所述编码计算处理器用于对提取出的编码组进行计算处理;
所述窗口提取单元的工作流程包括如下步骤:
S1、所述编码数据管理器接收所有编码数据并从中选择一段对话的编码数据,称为目标编码数据,并向所述长度管理器发送启动信号;
S2、所述长度管理器向所述编码数据管理器发送一个长度值;
S3、所述编码数据管理器根据长度值设置一个窗口;
S4、利用窗口从目标编码数据中获取编码组发送给所述编码计算处理器;
S5、所述编码计算处理器根据下式计算出对比值:
;
其中,L为窗口的长度值,表示编码组中的第i个编码值;
将对比值发送给所述对比单元;
S6、重复步骤S4和步骤S5,直至窗口获取完目标编码数据的所有编码组,向所述长度管理器发送长度变更信号;
S7、所述长度管理器向所述编码数据管理器发送一个新的长度值,回到步骤S3,若无新的长度值,则向编码数据管理器发送目标变更信号,进入步骤S8;
S8、所述编码数据管理器选择新的目标编码数据,并向所述长度管理器发送启动信号,回到步骤S2,若无新的目标编码数据,结束整个工作流程;
所述对比单元包括对比值寄存器、对比值检索处理器和对比值反馈处理器,所述对比值寄存器用于存储接收的对比值,所述对比值检索处理器用于在存储的对比值中检索是否存在新接收的对比值,当存在时,所述对比值反馈处理器从窗口提取单元中获取该对比值对应的编码组以及目标项并发送给统计记录单元;
所述统计记录单元包括记录寄存器和频率计算处理器,所述记录寄存器用于记录每个统计项信息以及对应目标项的出现次数进行记录,所述频率计算处理器计算出每个目标项在对应统计项后出现的频率;
所述数据分组单元包括向量数据寄存器和分组配对处理器,所述向量数据寄存器用于接收并保存向量数据,所述分组配对处理器基于统计项信息向配对管理单元进行查询获得对应的向量数据信息,基于查询到的信息将向量数据寄存器中的向量数据进行分类;
所述隐藏处理单元包括节点计算处理器和节点连接处理器,所述节点计算处理器用于对至少两个向量值进行计算处理并输出一个向量值,所述节点连接处理器用于控制节点的输入连接和输出连接;
节点分为输入节点、中间节点和输出节点,所述输入节点以输入单元输入的向量值作为节点的输入向量值,所述中间节点以其余节点的输出值作为本节点的输入向量值,并将本节点的输出值作为另一个节点的输入向量值,所述输出节点只有一个,以其余节点的输出值作为本节点的输入向量值,输出节点的输出值被发送至输出单元,节点之间存在这种连接关系,而节点连接处理器对这种连接关系进行控制;
所述节点计算处理器对输入节点和中间节点的输入向量值根据下述步骤进行处理:
S21、将m个输入向量值构建成一个m*n的矩阵A:,其中,表示第j个输入向量值;
S22、根据下式处理得到一个中间向量:
;
其中,为节点内置的m维向量;
S23、对中间向量中的元素值按照下式进行转换:
;
其中,为中间向量中第i个元素值,/>为转换后的元素值;
所述节点计算处理器对输出节点的输入向量值根据下式进行计算处理:
;
其中,表示第j个输入向量的第i个元素值;
结合图5,所述反馈修正单元包括输出寄存器、概率换算处理器和反馈处理器,所述输出寄存器按照类型对输出单元输出的Pr进行分类存储,所述概率换算处理器用于计算出同一分类下的每个Pr对应的概率值,所述反馈处理器对概率值和频率值的偏差进行计算处理并将结果反馈给隐藏处理单元;
所述概率换算处理器根据下式计算出概率值:
;
其中,表示同一分类下的其余输出值;
所述反馈处理器根据下式计算出偏差值:
;
其中,表示第i个目标项的概率值,/>表示第i个目标项的频率值,k为目标项的数量;
所述隐藏处理单元基于偏差值对每个节点中的内置向量/>进行优化;
对向量的优化方式不唯一,下面给出一种优化方式:
;
其中,表示向量/>中的第i个元素,/>为优化后的元素值;
本文中出现的i和j为用于表示序号的序数。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的保护范围,所以凡是运用本发明说明书及附图内容所做的等效技术变化,均包含于本发明的保护范围内,此外,随着技术发展其中的元素可以更新的。