APP下载

基于人机交互的语言训练中微信小程序开发设计

2022-02-25李晓艳蔺宝军

微型电脑应用 2022年2期
关键词:降维服务器神经网络

李晓艳, 蔺宝军

(1.齐鲁医药学院, 公共教学部, 山东, 淄博 255000;2.山东火帽子教育咨询有限公司, 山东, 济南 250000)

0 引言

2018年,微信用户数量突破10亿,成为全球第三大移动社交媒体,且近年来其总用户量和活跃用户量保持持续增长的态势。而微信小程序开发平台为海量开发者提供了微信植入功能开发接口,使超过10亿微信用户可以在不下载安装其他App的前提下,实现对软件功能的应用[1]。开发者也可以利用微信小程序官方虚拟服务器以及云端挂载服务器实现软件开发,该研究重点在微信云端服务器架构中开发人机交互相关的人工智能功能的开发模式[2]。

人机交互语言训练任务的核心开发目标是通过在人机交互过程中使机器学习人类的交互模式[3]。其实现途径主要有2种:一种是基于上世纪90年代的随机映射法(如小黄鸡),是在逻辑数据库中构建对应问句的多个映射答案,实际应用中,在多个映射答案中给出随机选择[4];一种是基于近10年使用的复杂神经网络映射(如小爱同学),是构建一个复杂神经网络系统,用于映射不同问句与答句之间的逻辑回归关系[5]。

而人机交互语言训练程序中,因为需要流媒体支持和浮点运算支持,这些功能无法在微信小程序虚拟服务器上运行,所以需要构建联合服务云系统[6]。本文拟通过单纯运行在微信小程序虚拟服务器上的随机映射法开发模式和在微信小程序虚拟服务器之外构建联合服务云系统的开发模式之间进行比较研究。

1 基于联合云的小程序开发方案比较

如前文分析,如果采用复杂神经网络映射算法,则需要占用庞大的浮点计算资源,该计算过程完全无法在微信小程序的虚拟服务器上实现运行,所以需要使用Web-H5-Div架构,调用外部页面的方式进行跨服务器传值。使用更大的算力资源需挂接在微信小程序虚拟服务器之外。此时微信小程序虚拟服务器仅作为LAMP服务器使用。LAMP服务器是一种整合在LINUX操作系统中的基于简单数据库和简单脚本解释执行的服务器形式,一般提供基本的终端页面生成服务[7]。其挂接模式如图1所示。

图1 联合云实现模式

图1中,以小程序虚拟服务器为核心,在计算任务服务器驱动下,配合公有云的负载均衡扩展,管理多台浮点计算主机服务器集群(GPU服务器),人工智能的复杂神经网络,需要运行在GPU服务器集群中。同时,因为该功能已经挂接了多台服务器,为了进一步提升小程序虚拟服务器的响应效率,将逻辑数据库和流媒体数据库都单独拉出,使用远程数据连接执行数据连接操作。

该机器学习架构为点阵式文本字符映射算法,最大处理文本量为50汉字或100英文字符,采用100个8位bit型变量进行神经网络的输入输出,如图2所示。

图2 人机交互语言训练的机器学习算法示意图

图2中,输入的50个汉字强制数字化后,分别分解为2个8 bit字节型变量(Bit格式),即形成100个Bit格式变量,将该100个Bit型变量进行降维处理后,输出一个双精度浮点变量(Double格式),形成降维参照变量,将该降维参照变量回输到分列神经网络模块中,每个分列神经网络模块各有1个Bit型变量和1个Double型变量输入,输出1个Bit型变量,然后将每2个Bit型变量组合,形成50个输出汉字。

即降维模块共有100个Bit型变量输入,降维到1个Double型变量,期间损失的信息量使用待回归变量寄存在降维模块中,此时按照80%的降维压缩比进行隐藏层中的逐层降维压缩,如表1所示。

表1中,该降维模块共有492个节点,所有节点均采用6阶多项式回归函数进行深度迭代回归,每个多项式提供6个待回归变量,每个待回归变量均为双精度浮点变量(Double格式),即该降维模块提供2 952个Double格式待回归变量。该计算过程比较考验计算主机的浮点运算能力。其节点函数的基函数写作式(1),

(1)

表1 降维模块隐藏层结构表

式中,Xi为第i个输入项,Y为节点输出项,j为多项式阶数,Aj为第j阶多项式的待回归系数。

分列模块共有2个输入项,分别为1个8 bit的Bit型变量和1个Double型变量,其统计学意义是实现2个变量的整合输出。该整合过程主要分为3步,其中第1步2层使用对数回归函数将数据细节进一步放大,第2步2层使用二值化函数将输出数据的落点进一步打散,第3步2层使用6阶多项式函数实现输出值的降维输出[8]。其隐藏层结构如表2所示。

表2 多列模块隐藏层结构表

表2中,输入层、输出层、隐藏层的第5层、第6层,均采用6阶多项式函数进行节点设计,详见式(1)。

隐藏层第1层和第2层的对数函数如式(2),

Y=∑(A·lnXi+B)

(2)

式中,Xi为第i个输入项,Y为节点输出项,A、B为待回归系数。

隐藏层第3层和第4层的二值化函数如式(3):

Y=∑(A·eXi+B)-1

(3)

式中的数学符号含义同式(2)。

在数据训练中,采用2种训练模式:

1) 通过人工训练输入输出文字的方式对神经网络进行训练,该模式可以在神经网络初期训练,也可以在应用过程中允许用户对其持续训练;

2) 通过侦听聊天过程中的聊天交互过程进行持续训练。

2 基于随机映射法的小程序开发模式

相比较上述机器学习算法,随机映射法相对简单,且其完全可以运行在小程序虚拟服务器上。采用SQL语言中的SELECT LIKE语句,可以获得输入字符串对应的所有回答语句查询,通过RAND语句可以获得查询中的有效指针,从而做出语言回复。该算法的广泛应用实践较机器学习算法提前约20年时间,但二者基本算法理论的提出时间相当,之所以随机映射法的应用时间较早,是受限于技术史上服务器算力的发展[9]。当前小程序虚拟服务器提供的算力水平基本等同于当时的主流服务器主机。该算法的数据流结构如图3所示。

图3 随机映射法的实现数据流结构图

图3中的算法不存在任何浮点计算,仅存在数据库的逻辑查询功能,所以基础计算量较少,整个系统可以在较小算力资源条件下运行,其机器学习部分来自不断充实的核心数据库部分[10]。

3 算法效能评价

在基于联合云的服务器系统上搭建测试系统,该服务器系统为未来该软件系统实际运行的云端运行环境。测试语言包数据集来自某产品在线客服系统2020年全年的客户问询记录数据,数据总量173.2万条,均为文本型数据[11]。

3.1 不对等算力条件下算法响应效率测试

按照图1架构搭建联合云以实现对神经网络算法的运行环境,而单纯在小程序虚拟服务器上搭建随机映射法算法运行环境,比较2种算法的实际响应效率,可以得到表3。

表3 算法响应效率分析

在表3中,受制于算法复杂度,随机映射算法的最快响应效率远高于神经网络算法,约为后者的47.9%。但因为其服务器算力影响,在高并发数条件下,其最慢响应效率达到神经网络算法的2.20倍,且随机映射算法的平均响应时间也高于神经网络算法。可见,在不对等算力条件下,随机映射算法虽然有更简洁的算法架构,但仍无法使用配置较低的小程序虚拟服务器实现超过联合云系统的响应效率。但测试中,其2926 ms(<3 s)的最慢响应速度,基本可以满足微信小程序的商业化运行需求。

3.2 算法精度测试结果比较

该算法的核心功能为通过对输入文本的语义进行判断,从而组织自动回复语言文本实现人机交互功能,所以,对2种算法的回复效果进行比较,当系统无法判读输入问句时,将回复“没听清,你可以换一种方式问我。”的答复,此时计做错误答案“1”;而当系统可以判读输入问句,但输出结果为乱码时,给出“我有点懵,你可以教给我如何回答。”的答复,此时计做错误答案“0”;受制于算法特征,随机映射算法可能给出的错误答案仅为错误答案“1”一种形式,即输入问句无法在数据库中有效检索,但神经网络算法可能给出2种错误答案。在自然聊天环境中,测试5000条聊天记录,统计2种算法的错误回答概率,得到结果如表4所示。

表4 算法精度测试结果对比表

在表4中,在相同测试次数下,神经网络算法总计给出了89.70%的准确回答率,而随机映射算法总计给出了91.68%的准确回答率。随机映射算法的回答准确率略高于神经网络算法,其核心原因是神经网络算法即便在深度训练条件下,也难免出现其输出回答结果为乱码的情况。且该错误答案的出现概率远大于无法分辨对方问句的错误答案出现概率。即单纯考察算法精度,随机映射算法在当前神经网络算法的训练程度条件下,其具备一定的算法精度优势。

3.3 用户满意度调查结果

内测阶段,邀请5000名用户对2种算法形成的微信小程序进行测试,用户年龄22-65岁,平均年龄31.6±2.4岁,男性3292人,女性1708人,学历初中以下653人,高中同等学历1536人,大专及本科1896人,其他915人,所有用户母语均为北方官话。要求其根据主观意愿,选出十分满意(10分)、满意(6分)、不满意(3分)、完全不满意(0分)4种评价结果,对该5000名用户的实际评价结果进行汇总统计,如表5所示。

表5 用户满意度评价结果表

在表5中,用户对神经网络算法的满意率为89.9%,对随机映射算法的满意率为89.7%,二者仅相差0.2%,但因为神经网络算法的“十分满意”用户量高于随机映射算法的“十分满意”用户量,且随机映射算法的满意用户多选择“满意”而非“十分满意”,所以神经网络算法的综合得分为7.905分,而随机映射算法的总和得分为7.259分,前者较后者高出8.9%。所以,用户对2个算法给出的人机交互语言训练功能给出的评价基本一致,但神经网络算法给出的评价略高。

4 总结

前文分析中,神经网络算法无法运行在单纯的小程序虚拟服务器上,需要在其外部构建联合云以运行多台外围支持服务器以实现其相应功能,而随机映射算法可以在单纯的小程序虚拟服务器上运行。所以,神经网络算法的算力成本远高于随机映射算法。在对二者的响应效率,回答准确率、用户满意度等算法效能的评价中,2种算法在不对等算力支持条件下,给出的测试结果基本相等,但神经网络算法的总和得分更高。所以,随机映射算法虽然出现时间较神经网络算法早近20年,但其算法效能并不落后,神经网络算法具备并不显著的优势,2种算法均可以支持基于人机交互的语言训练微信小程序开发任务。在后续相关开发工作中,可以斟酌其他关联因素在2种算法中给出决策。

猜你喜欢

降维服务器神经网络
混动成为降维打击的实力 东风风神皓极
基于递归模糊神经网络的风电平滑控制策略
基于数据降维与聚类的车联网数据分析应用
大气腐蚀数据降维最优维度研究
降维打击
神经网络抑制无线通信干扰探究
PowerTCP Server Tool
BlackJumboDog
基于神经网络的中小学生情感分析
2018年全球服务器市场将保持温和增长