面向中医领域的智能聊天机器人系统设计

2019-06-01 10:06曹彬王峰李诗语
电脑知识与技术 2019年12期

曹彬 王峰 李诗语

摘要:通过互联网搜集整理系统搭建智能聊天机器人所需要的中医问诊对话数据,设计中医智能问答系统的知识库,设计基于卷积神经网络的结构设计问题分类模型来优化系统检索时间,研究使用基于词向量的问句相似度来匹配相似语句,从而到相应的知识库中检索匹配度高的问句并提取相应的答案回答,最终系统将最优最稳定的答复语句反馈给用户。

关键词: 中医智能分;聊天机器人;智能问答

中图分类号:TN962 文献标识码:A

文章编号:1009-3044(2019)12-0174-02

1 引言

在全球的科技迅猛发展的当下社会,不得不说互联网已经成了人们生活中的不可缺少的最重要的工具之一,人们已经离不开互联网带来的便利,通过互联网络人们可以获取到日常生活乃至学习所需要的各种知识,并且人们还会通过互联网来互相联系交流信息,甚至还会通过互联网举办线上的商务活动等等。互联网上聚集了大量的数据,随着大数据时代的来临,相关技术也逐渐可以处理并应用这些技术,自然语言处理技术也自然应用起来,面对这种技术蓬勃发展的盛况,我国的中医文化宝藏可有了更进一步发展的趋势[1]。

本系统所介绍的面向中医领域的聊天机器人,就是在利用当下互联网上丰富的中医问答数据来组建相应的知识库所做的聊天机器人。该设计旨在完成一个能和用户进行良好交互的中医问答对话系统;根据用户所说的问句来进行问题分类,然后到相应的知识库中检索出对应的或类似的答案,以此回答对方,本应用的设计对中医的应用发展具有很大的意义。

2 相关技术

2.1 自然语言处理

2.1.1 中文分词

中文分词是将一个汉语句子序列基于汉语语言规则分割成单独的词,有时也称为标注。不同于英文等单词间存在自然分界符的语言,中文只有单字、句子、段落能够通过明显的标识来划分,单词间没有诸如空格等分界标识将词分隔开来。虽然英文分词也会有存在特殊标识符以及未登录词数量庞大等问题,但是这种问题处理起来的复杂度远远低于中文分词需要处理的问题的复杂度。中文分词中,词汇不仅存在一次多义的情况,而且同一个词在不同的语境下所表达的意义也不尽相同,中文分词是理解汉语自然语言语义的第一步,是所有汉语自然语言处理技术的基础。

2.1.2 词向量

对于计算机来说,理解自然语言是极其困难的,所以首先必须对文本进行向量化,即将文本映射到文本向量空间中,目前主要有两种方式来表示,一种是最简单的独热编码,它是将单词用固定长度的向量表示,向量的长度为文本进行分词处理后词组的个数,该向量的每一位都对应文本中的某个单词,如果某个单词存在,则向量对应位置的数值为1,反之如果不存在则为0,采用这种表达方式的向量维度会很高,需要占用大量内存,并且这种表述忽略了文本的语序含义。第二种文本向量表示方式是词向量,我们可以将词向量看成是单词的一种分散式表示,通过这种方法将单词映射到词向量空间,一般训练出来的词向量的维度设置在50~300维之间,词向量能有效地解决独热编码表示文本信息所带来的高维灾难问题,这种分布式表示通過欧氏距离或求余弦等方式能有效地判断单词之间的语义相似程度[2]。

2.2 神经网络模型

2.2.1 神经网络概述

设计神经网络的灵感就是来源于人脑的神经信息处理系统,神经网络就是由很多的神经元组合而成的。而人的大脑中包含很多类似的神经元,人就是通过这些神经元互相连接相互影响来处理大量日常的数据,这些神经元的组合连接使人类有了学习记忆的能力。最早科学家首先提出单层感知器模型,但这种模型在当时被证明仅限用于解决线性划分问题,使得在当时对人工神经网络研究停滞不前,处于低潮时期。直到多层感知器的提出才使得神经网络的发展有了崭新的开始。神经网络是一种数学模型,具有并行处理、自动学习、很强的信息综合能力强等优点,这些优点使得神经网络的应用也十分的广泛,自动控制、图像处理、模式识别、地理、医疗、卫生保健、农业等各个领域都有应用到神经网络。

2.2.2 卷积神经网络

卷积神经网络本质上是一个前馈神经网络,它最重要的创新是采用卷积核来计算,使用卷积核将二维离散卷积运算和人工神经网络相结合形成一种新的神经网络结构,神经网络中的上下层的神经元不再是全连接的连接方式,这种局部连接方法不仅仅能够降低模型的复杂度,同时还可以缓解深度神经网络层数过多导致的过拟合问题。它还具有很强的特性学习能力,利用逐层的迭代、逐层抽象的特点挖掘数据局部特征,同时具有提取全局特征和上下文信息的能力,在图像分类的各个领域取得了很好的成果。与传统的基于手工特征提取方法相比,CNN能利用大规模训练数据自动学习特征。

3 系统整体设计

本文设计的面向中医的聊天机器人系统,通过搜集网上的中医问诊对话数据作为系统模型的训练,并建立相应的知识库,用户分类后的问题将进入相应的问题知识库中检索匹配语义最相近的问句,并提取出答案回复。

系统整体设计中的三个知识库分别对应呕吐,感冒和针眼三种病例,故而此处的分类任务是四分类任务,接下来将对系统设计的流程分别介绍,系统的建立首先是知识库的创建,即数据集的收集整理并建立知识库。

3.1 知识库建立

本设计主要爬取的是家庭医生在线上的中医问答数据,由于官网的数据量有限,并且数据需要进行清洗删减,所以最终呕吐对话整理出2万对问答数据,而感冒和针眼则只是分别整理出5000对问答数据,如图3 为整理后的呕吐数据集的部分截图。

整理后的数据集将会存储在数据库中保存,用于后续的模型训练和对话回复的语句答案提取。由于知识库的而建立,病例数据集可以很方便地通过不断向相应知识库添加病例问答数据来扩大病例的不同询问,这样能给用户提供更好的问诊回复体验。

3.2 系统结构

聊天机器人随着数据库数据集的增加,进行文本匹配检索的时间将会越来越长,故上文对病例分别建立知识库,为达到能将问题更加准确的分类的目的,设计训练一种分类模型用于问题分类,机器学习中传统的多分类模型有朴素贝叶斯和支持向量机模型在处理类似的问题时有较好的效果,但是这类模型的特征一般是采用独热编码的形式来表示文本信息,而文本数据经过处理分词之后,句子被切成不同的词和词组,这种表示只是统计了词的词频特征,没有很好的获取文本语义特征。所以此处使用中文维基百科语料训练的词向量来训练的一个基于卷积神经网络的模型用于问题分类[3]。搭建的分类模型计算流程如下图4所示。

图4 分类模型计算流图

分类模型的主要结构是通过输入层到卷积层,然后将卷积层的输出结果输出,通过全连接进行分类输出结果,输出层的激活函数使用Softmax函数进行多分类。

输入层的大小是经过数据集中问句字段的分词统计后得出为M*N的矩阵,M为分词后的字段个数,N为词向量的维度,其中M代表字段分词后的词组数量。因为文本的词组数量是不定的,在这里我们对输入文本做预处理,将其加工成定长,主要方法是通过统计文本长度分布取一个能覆盖大部分文本的长度。经过统计后,此处的M值设置为35,N的值为200,所以此处的输入是35*200维度的静态矩阵,输入层通过F*N的卷积核的卷积层,F表示卷积长度,也就是每次处理文本中单词的数量,我们可以选取使用不同的F值分别进行卷积来提取更多的特征。当F的值为2时,可以理解为bigram特征。所以经过卷积层后就提取到了原文本的n-gram相关特征。可以看出每次卷积的时候都是整行的进行。经过卷积层后就得到了表示文本的特征向量,然后再经过一个全连接层,并使用Softmax激活函数就得到了代表属于不同类别的概率向量,也就完成了分类的工作[8]。

3.3 问句匹配

在问题分类后,系统选择合适的病例知识库,通过计算输入问句词向量与每个病例问句部分的词向量的向量空间距离来计算问句之间的相似度。本文采用的词向量使用Word2Vec训练,在计算问句相似度前,需要对分别每条语句进行分词处理,分出的词组都有对应的词向量,系统将语句的所有词向量进行相加取平均值作为这个语句的向量表示,此处称其为句向量[8]。然后对知识库中的询问部分的字段做同样的处理,从而得到相应的句向量表示,使用余弦相似度计算两者之间的度量值,选择最相似的问句,在知识库中提取出该语句回答部分的字段回复到设计的客户端界面显示给用户。

4 结论

全文首先結合现状写了智能聊天机器人的研究意义和发展状况;然后介绍了设计智能聊天机器人运用的相关技术,包括自然语言处理原理、神经网络技术;然后介绍了面向中医领域的聊天机器人的具体实现过程。通过实验数据结果显示,本文设计的问题分类模型提高了分类准确度,通过词向量计算的问句匹配更能检索到语义更相近的语句,应用这些设计来完成的智能聊天机器人可以有效地回复用户的问句。

参考文献:

[1] 郑晓霞,吕游,邓红,等. 基于众包的聊天机器人的研究[J]. 信息技术,2017(04):102-103+109.

[2] 刘超,马东宇. 智能问答的聊天机器人系统的设计与实现[J]. 信息技术,2017(05):176-177+180.

[3] 薛炜明,侯霞,李宁. 一种基于word2vec的文本分类方法[J]. 北京信息科技大学学报(自然科学版),2018,33(01):71-75.

[4] 汪静,罗浪,王德强. 基于Word2Vec的中文短文本分类问题研究[J]. 计算机系统应用,2018,27(05):209-215.

[5] 张志伟. 基于深度学习算法的文本情感分析[D].中国民航大学,2018.

[6] 邢世样. 基于深度学习的智能问答系统研究[D].北京邮电大学,2017.

[7] 杨付全. 基于概念扩展的中文问答系统模型研究[D].华中科技大学,2009.

[8] Yijun Gu, Rong Wang, Jianhua Wang. Word-Text Matrix Feature Selection in Chinese Text Classfication Based on LSI[P],2009.

[9] ZHANG Yangsen,ZHENG Jia,JIANG Yuru,HUANG Gaijuan,CHEN Ruoyu. A Text Sentiment Classification Modeling Method Based on Coordinated CNN-LSTM-Attention Model[J]. Chinese Journal of Electronics,2019,28(01):120-126.

【通联编辑:代影】