APP下载

基于ChatGPT4.0的人工智能艺术设计走向分析

2023-11-14

中国新技术新产品 2023年19期
关键词:超平面排序线性

王 丽

(湖南环境生物职业技术学院,湖南 衡阳 421005)

官方正版ChatGPTAI 对话软件是一款可以实现人工智能AI 对话的软件,可以与用户进行实时对话、智能交互,可以对用户提出来的问题进行分析,还可以进行拟人化对话,具备模仿人物发送推特、软件编写以及构建虚拟机等功能。

21 世纪,信息科技飞速发展,人们对各种软件的要求越来越高,例如网页搜索、AI 对话搜索,这也提高了对智能检索工具的准确性和语义解析的要求[1]。因此,研发了搜索引擎AI 智能对话系统,该系统可以基于自然语言和上下文进行提问,从而简化搜索步骤。除此之外,它还可以以文本或语音等形式将匹配的问题呈现给用户,方便用户找到自己想要的信息,更好地满足用户的检索需求,节省用户识别大量相关匹配答案的时间。与传统的基于关键词的搜索引擎相比,该系统只需要用户采用自然语言进行描述,具备话术理解、关键词拆分以及主题抽取等功能。AI 对话系统的执行流程如图1 所示。

图1 AI 对话的流程

1 人工智能的算法和设计

1.1 基于支持向量机的排序学习算法

在研究AI 问答系统的过程中,要确定其算法,就需要对排序学习方法进行学习和研究[2]。通过问题设定对其进行表示,LTR 为排序学习,在对话中采用机器学习的方法,从而解决排序问题,SVM 分类流程是排序学习算法中的主要流程(主要分为4 个步骤),对问题进行设定后,通过直观、标准以及对偶等进行表示,从而确定最大化最小距离M、最小化参数(w和b)以及最大化参数a。

1.2 支持向量机分类原理

SVM 支持向量机是一种分类算法,将数据分隔在平面两侧并对数据进行分类[3]。

SVM 分类主要有2 种情况:1) 线性可分的情况,相对简单地阐明了SVM 的分类原理,去除复杂的计算和多种限制因子。2) 线性不可分的情况,广泛应用于实际问题中,流程相对复杂。

对二分类问题,在二维平面中,超平面就是1 条直线,1 条直线就可以将2 个部分的数据分开,由此可见,线性分类器用1 个超平面将2 类样本分开。

定义线性分类器的判别函数sng如公式(1)所示。

式中:w为权重向量;b为偏置项,是一个标量;x为样本的特征向量。

在分类流程中,SVM 目标就是将样本具体化,定义1 组数据并对超平面进行寻找和定义[4]。假设位于分类平面两侧的样本的特征向量为x,类别标签为y,正样本和负样本值为+1 和-1。SVM 为样本寻找一个最优分类超平面,如公式(2)所示,正样本如公式(3)所示,负样本如公式(4)所示。

在正确分类样本后,要使求解正负样本的样本与超平面距离大,就需要采用距离公式对其几何进行解析,每个样本点离分类超平面的距离公式如公式(5)所示

式中:||w||为向量的L2范数(L2范数为||w||2=(∑i=1nxi2)1/2);xi为横坐标数值。

简化公式(5),给w和b加上约束:mini|wTxi+b|表示正/负样本带入超平面方程值的绝对值为1。正/负样本和最大间隔的直观印象如图2 所示。

图2 SVM 的正/负样本和最大间隔

分类超平面与正/负样本之间的间隔如公式(6)所示。

式中:d(w,b)为间隔;minxi,yi=-1d(w,b;xi)为函数wxb=0 与wx-b=-1 的间隔;minxi,yi=1d(w,b;xi)为函数wxb=0 与wx-b=1 的间隔。

为了获得以上函数的最大间隔,需要使公式(7)最小化。

通过线性可分的情况简单介绍了SVM 进行分类的原理:通过寻求1 个超平面,使正/负样本距离直线最小距离是最大值(最大间隔)。但是,现实情况下,很多分类问题都是线性不可分的,需要加上松弛变量和惩罚因子,其中惩罚因子是对错误分类的样本进行惩罚,如果松弛变量不为0,就表示样本突破了不等式约束条件。由于线性不可分的情况涉及拉格朗日优化和对偶特性构建方程,原理推导求解过程复杂,线性不可分情况下分类的求解过程如图3 所示。

图3 线性不可分情况下的求解思路

1.3 支持向量机排序模型

SVMrank排序模型的基本思想如下:将排序问题转化为利用Pairwise 进行两两比较再进行分类的分类问题,并采用SVM 分类模型进行学习求解。

1.3.1 排序问题转化为分类问题

SVMrank的模型是一个解决排序问题的分类模型[5]。如图4 所示,2 种颜色的圆圈分别代表2 种不同的排序得分(也可以有更多得分情况),需要找到1 个平面,使这种圆圈完全分开。该文使用Pairwise 的思想:首先,将所有的样本点进行两两组对,并对2 个数据的特征值进行相减作为新的样本点特征。如果x1比x2更好,那么x1-x2的标签就为1,反之为-1,这样就已经将一个排序问题转化成二分类问题,可以直接通过SVM 寻找1 个超平面来划分2 种样本点。在三维空间寻求的1 个平面将2 类样本数据分类的情况如图4 所示。

图4 三维平面分类情况

SVMrank算法在实际使用过程中输入数据(训练数据输入的格式为<line>.=.<target>qid:<qid><feature>:<value>…#<info>)的步骤如下:1) SVMrank读取1 批包括特征值(feature:value)的输入数据。2) 根据qid(计算机编程符号)区分不同的问题,对Pairwise 只在同一个问题的结果中进行比较。3) 第一个参数line是用户或机器对该问题与搜索问题相似程度的评价,line越大表示越相似。4) 通过line值最大的问题与其他问题构成1 个两两对比的比较对,通过这种比较对并综合比较输入的特征值,最终寻找与同一个搜索问题相关的排序序列。

通过以上步骤,在两两比较的分类过程下,最终得出相关问题的排序结果。

1.3.2 SVMrank 的使用

根据官网的指导,SVMrank的使用主要分为2 个方面:1) 模型的训练命令。命令格式为svm_rank_learn -c 3 D:/example3/train.dat D:/example3/model。2) 测试数据通过模型获取结果排序情况命令。命令格式为svm_rank_classify D:/example3/test.dat D:/example3/model D:/example3/predictions。

1.4 基于Lucene 的检索式问答系统架构

Lucene 是基于Java 的高效全文检索库,Lucene 主要面向文档类的检索。

在了解Lucene 是一个全文检索库的前提下,详细介绍Lucene 具体实现检索的过程,包括建立索引库、实现搜索功能。

建立索引库是对一系列文件数据进行数据读取并分析分词,将数据绑定成员变量(field)后,生成索引表并存入硬盘。

接下来通过举例详细介绍建立索引的流程:1) 存在1 组需要被索引的文档。文档的样例见表1。2) 通过读取以上数据,经过语法分析和语言处理对数据进行分词,形成一系列词。词统计样例见表2。

表1 数据文档样例

表2 词统计样例

2 试验与系统演示

2.1 语料数据的标注说明

2.1.1 试验语料库

该文的试验数据主要以真实的85G 点击数据文档作为元数据。其中,有6 500 万开放域问答对,主要来源于百度知道、爱问知识人以及天涯问答等互动问答平台,涵盖地区、电脑网络、电子数码、健康生活、教育科学、商业理财、社会民生、体育运动、文化艺术、心理分析、医疗卫生、游戏、娱乐休闲以及资源共享等领域。该试验使用的85G 数据的类型分布如图5 所示,数据中与体育运动相关的文档含量最高,与资源共享相关的文档含量最低。

图5 数据类型分布图

2.1.2 问答知识的人工标注

该试验需要对模型进行训练,主要通过提供的网页接口生成模型训练数据。通过输入1 个问题进行问题检索,默认检索10 条数据,需要判断10 条数据中最优的检索反馈,采用Pairwise 的方式进行两两比较,最终结果会以txt 文件的形式输出,便于后续计算数据。该试验约标注了200 个问题,通过比较每个问题的10 个相似/相关问题生成部分手工标注的数据,共涉及2 000 个问题。

2.2 试验数据

通过试验所得数据以及相关分析见表3(表3 是后端Java 检索和特征算法调用后重排序的计分情况),理论上将选择排序最靠前的问答对中的答案作为返回结果,该试验中取“0.5”。

表3 特征算法计算结果

综合3 种特征叠加后检索的rankSVM 最终最高得分为1.359 801,该得分对应的问题为“婴儿枕头高度婴儿枕头高度多少合适?-爱问知识人”,对应的答案为“3 个月以上的宝宝才需要用枕头,高度以3 cm 左右为宜”。因此,根据该系统的设置,在调用微信服务后,会根据前台请求的问题“枕头的高度多少合适”将答案“3 个月以上的宝宝才需要用枕头,高度以3 cm 左右为宜”返回给用户。

调用程序中socket 返回数据就可以得到反馈答案数据情况,见表4。

表4 问答数据样例

2.3 评价结果展示

通过上文介绍的NDCG 评价方法对该试验数据进行综合评价,以判定检索结果的质量。

以下以问题“枕头的高度多少合适”为例,计算4 种检索情况的评价计算详情:1) 原问题为“枕头的高度多少合适”。2) 特征详情见表5。

表5 特征算法组合详情

Lucene 默认检索方式的评价情况见表6,以下结果没有对增加特征算法进行计算。

表6 Lucene 默认检索结果

对Lucene 默认检索方式的评价结果进行分析可知,手动评价序列为[5,3,6,5,5,4,2,2,3,1],经过NDCG评价方法评定,最终该搜索的评价得分为0.928 3。

3 结语

首先,笔者结合相关知识构建试验数据并组织试验,基于多特征搭建候选答案检索系统。根据运行的检索问答实情制定检索结果的评价机制(NDCG),以判断检索的质量。其次,采用Python、Java 语言搭建检索问答系统综合,以Lucene为检索基础,通过附加BM25、VSM 以及Sentence2Vec 三类特征对检索数据进行重排序,在默认检索中抽出最优匹配的问题,将最优问题匹配的答案返回给用户。最后,结合微信服务展示试验功能,灵活地模拟问答的实际情况。经过试验的反复测试,该系统基本实现AI 问答的功能。

猜你喜欢

超平面排序线性
渐近线性Klein-Gordon-Maxwell系统正解的存在性
排序不等式
全纯曲线的例外超平面
涉及分担超平面的正规定则
恐怖排序
以较低截断重数分担超平面的亚纯映射的唯一性问题
二阶线性微分方程的解法
分担超平面的截断型亚纯映射退化性定理
具有θ型C-Z核的多线性奇异积分的有界性