APP下载

基于自然语言处理的意图驱动网络表征

2024-01-16姬泽阳杨春刚李富强欧阳颖刘祥林

系统工程与电子技术 2024年1期
关键词:三元组意图图谱

姬泽阳, 杨春刚, 李富强, 欧阳颖, 刘祥林

(1. 西安电子科技大学通信工程学院, 陕西 西安 710071; 2. 西安电子科技大学杭州研究院,浙江 杭州 311200; 3. 中国电子科技集团公司数据链重点实验室, 陕西 西安 710068)

0 引 言

随着网络用户大幅增长,通信网络规模和协议栈种类随之增加,传统网络中依靠管理者手动配置进行网络运维的方式已经无法适用,经常会出现人为导致的错误。因此,实现网络的自动配置、自动管理和自动优化至关重要[1]。意图驱动网络关联用户意图和网络资源,弱化了用户对底层网络知识的要求,通过意图转译、验证、优化和部署等实现网络自动配置,并实时检测网络状态,实现网络的动态优化,为解决传统网络管理问题的自动性、时效性和鲁棒性等提供了解决方案[2-7]。

现有意图驱动的网络管理方案仍存在诸多问题。例如,若要使用可编程的高级语言表达意图,管理员需要了解网络知识,学习不同的编程语言[3];在基于特定参数[8-9]表达意图时,可能会导致参数冗余,占用过多的网络资源;使用自然语言[1,4]或是人机交互[4]的方式表达意图,将意图转译为网络策略,简化了用户的操作流程;然而该策略不具备学习用户表达习惯的能力,而且增加新的网络参数时,需要将新的参数手动添加到数据库中,且随着用户意图类型和数量的不断增长,意图存储与复用愈发困难。

针对上述问题,本文介绍了一种基于自然语言处理与知识图谱相结合的意图驱动网络表征系统,包括意图输入层和意图表征层。意图输入层使用自然语言处理将用户意图转化为文本意图,意图表征层则提取文本意图的关键参数,以知识图谱的形式保存,实现知识推理和用户意图的复用。具体地,本文的贡献如下:

(1) 设计了一种新的意图表征系统,使用自然语言技术处理用户意图,并将意图表征的结果以知识图谱的形式保存,形成标准、统一的语法规则,有利于解决多类意图表征的冲突问题。

(2) 用户可选择语音或文本等多种形式智简表达异构意图,系统将语音识别结果和用户输入的文本进行检错和纠错处理,避免由于输入错误而导致网络配置异常。

(3) 将实体参数知识库以知识图谱的形式保存,有利于知识推理,在参数映射失败时,可以通过相似度检测得到实体参数,不断学习用户的表达习惯,提高意图表征的成功率。

本文是对意图表征流程和系统的有效改进。第1节介绍了意图表征的背景和研究进展;第2节介绍了意图表征的系统和规范化设计。第3节介绍了意图表征系统的实现。第4节通过实验验证了融入文本检错、纠错和相似度检测对提高意图表征所起到的效果。第5节是对本文的总结。

1 研究进展

意图表征规范化包括意图描述语言规范化和意图表征形式规范化。随着人工智能的发展,意图的输入形式逐渐由格式化的网络语言发展为自由输入的自然语言,同时意图表征的形式也逐渐向规范化、可视化和语义方向发展。

1.1 意图描述语言

在意图驱动网络中,意图是对用户期望的准确表达,是对网络策略的抽象描述,将作为意图驱动网络的输入。意图表征是将用户意图转化为规范化的意图。因此,意图表征应具备通用灵活、可移植等特性。设计合适的意图描述语言,可降低用户对底层网络信息的依赖程度,降低同类软件的学习成本,提高用户使用体验。

意图表征的现有方案对比如表1所示。使用现有的网络语言,可以将用户意图转译为相应的网络语言,验证意图的正确性,实现网络的自动交付,然而对于知识能力受限的用户,需要学习编程语言和编程思维,阻碍网络自动管理的发展。将网络参数以配置文件或资源描述框架(resource description framework, RDF)方式输入,可验证意图的正确性,同时需要用户掌握底层网络资源和状态。而以人机交互的方式表达意图,需要根据不同的业务类型指定参数。使用自然语言表达意图,能够最大限度地降低由用户操作引发的网络配置错误。综上所述,用户以自由输入的方式表达意图,使用自然语言处理技术,可以提高网络管理的效率;然而,现有方案[8-12]并没有对用户输入的意图进行纠错和检错,可能出现人为错误,影响意图的下发。

表1 意图表征的现有方案对比Table 1 Comparison of existing schemes for intentional characterization

1.2 意图表征形式

针对复杂多变和内涵丰富的自然语言输入,需经过自然语言处理得到一种可复用的规范化表征形式。意图表征的规范化形式将用于意图验证、策略生成等环节,因此意图表征需要具备推理和解决策略冲突[16]的能力,表2对现有意图表征的规范化形式进行了对比。

表2 意图表征形式对比Table 2 Comparison of forms of intentional representation

正则表达式是一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等。正则表达式可实现快速匹配,只适合匹配字面意思,不适合匹配文本意义,不具备推理的能力。此外,正则表达式可读性差,需要单独设计,不可复用。

XML是一种用于标记电子文件、使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML提供统一的方法来描述结构化数据[17]。然而,XML文件格式文件庞大,格式复杂,代码异常复杂并且不容易进行维护。

RDF是一种用于描述实体和资源的数据模型,由节点和边组成,形式上表示为三元组。RDF的表达能力有限,无法区分类和对象,无法定义和描述类的关系和属性,缺乏抽取能力。

知识图谱[18]是一种基于图数据结构的语义网络。知识图谱由节点和边组成,节点表示实体,边表示实体之间的关系,可以最有效、最直观地表达出实体间的关系,并根据现有知识进行推理。

正则表达式和XML使用结构化形式来存储数据,代码复杂,不易维护。RDF结构简单,易于维护,但是缺乏抽象能力,推理能力有限。知识图谱将大量不同种类的信息连接在一起,得到一个关系网络,为人们提供了从“关系”的角度分析问题的能力,为后续的策略生成提供了推理的能力[19]。

本文设计的意图规范化表征形式通过引入知识图谱,可以对现有知识进行推理,解决了策略冲突的问题,简化策略生成的流程,提高策略生成的准确性。

2 意图表征系统设计

基于自然语言处理与知识图谱相结合的意图驱动网络表征系统如图1所示。

图1 基于自然语言处理与知识图谱相结合的意图表征系统Fig.1 Intent representation system based on natural language processing combined with knowledge graph

第1层是意图输入层,用户可选择语音或文本等形式智简表达异构意图,输出文本纠错后的用户意图。针对语音输入方式,用户在录音结束后进行提交,语音识别模型对其进行识别,得到文本格式的意图,文本纠错模型对意图中可能出现的错误进行检错、纠错处理,在纠错完成后输出正确的文本意图。

第2层为意图表征层,首先对文本意图进行实体抽取,获得意图的关键信息,例如网络节点、时间、业务等级、业务类型等,经过关系抽取形成三元组。实体映射模块将意图关键信息转换为网络参数。如果可以找到对应的参数,直接返回输出结果;如果没有找到对应的参数,则将该实体和数据库中的所有实体进行相似度对比,选择相似度最大的实体,并把该实体对应的参数作为此实体的参数,并将结果返回至前端界面。若用户确认表征结果正确,则将该“{实体,参数类型,具体参数}”保存在知识图谱库中。

意图实体类型包括:源地址、目的地址、时间、业务类型、业务等级。其中,业务类型包括数据、语音和视频等,其中数据业务类型包括图像、游戏、E-mail、交易业务和批量数据传输等;语音业务分为语音电话、语音消息和高质量语音媒体等;视频业务包括视频电话和可视媒体等。表3展示了意图实体的类型和实例。

表3 实体类型和实例Table 3 Entity types and instances

参数映射是指将三元组中的实体进行参数匹配,辅助后续策略生成,具体实例如图2所示。将“视频”实体映射为抗丢包率、带宽、时延、抖动等参数类型,并约束参数范围,例如带宽为2M等。其中,参数的范围根据意图的种类和重要等级划分。

图2 参数映射实例Fig.2 Parameter mapping example

用户在表达意图时可能使用不同的词汇来表示相同的实体,例如对于三元组“{北京,开通,南京}”可以使用“{首都,开通,南京}”进行表示。针对“北京”可以映射得到正确的IP地址,但是针对“首都”可能会导致参数映射失败。此时,通过相似度检测将选择近似度最高的实体“北京”,并将“北京”的IP地址作为映射结果,返回到前端界面让用户选择。若用户同意,则将该实体和实体参数保存在数据库中,若用户不满意,由用户选择手动修改参数,将“{实体,参数,参数值}”保存在知识图谱库中,使系统可以学习用户的表达习惯。

图3为用户意图表征规范化实例,用户经过实体和关系将意图抽取转化为三元组,进而将意图三元组的参数进行映射,形成知识图谱。

图3 用户意图表征实例Fig.3 Example of user intent representation

3 系统实现

3.1 功能流程图

意图表征面向用户,如图4所示,用户选择语音或者文本等形式输入意图。当用户选择语音输入时,语音识别模型将识别用户语音为文本格式,用户也可选择直接输入文本意图。意图表征系统将对文本进行检错处理,当出现文本错误时进行文本检错、纠错,没有文本错误将直接输入到实体和关系抽取模型中进行三元组抽取。接下来将对意图三元组进行参数映射,如果参数映射失败,将对映射失败的实体和知识图谱库中的实体进行相似度检测,选择相似度最大的实体作为实体参数,并向用户进行反馈。如果用户同意,则将三元组“{实体,参数类型,参数值}”添加到知识图谱库中,对知识图谱库进行更新,学习用户的表达习惯。

图4 意图表征功能流程图Fig.4 Flowchart of intention representation function

3.2 语音识别实现

在意图驱动网络中,用户可以使用语音作为系统的输入,利用语音识别模型,将用户语音转化为文本。语音识别实现方法可分为5种:隐马尔可夫模型、基于动态时间规划、神经网络、端到端语音识别[20]。

本系统使用的是基于注意力机制的端到端语音识别模型。语音识别模型的输入形式为特征向量,用户语音不能直接传入到语音识别模型中,需要对用户输入的语音信号做预滤波、预加重和分帧等预处理操作,再利用频率倒谱系数(mel frequency cepstral coefficients, MFCC)算法,提取每一帧语音的多维向量。编码层使用循环神经网络(recurrent neural network, RNN)对语音向量进行特征抽取。注意力层为输入的每一个序列划分权重系数,重点通过关注输入序列的某一部分来预测输出。按照注意的范围分为全局注意力机制和局部注意力机制,全局注意力机制关注编码层的所有隐藏状态,局部注意力机制关注当前输入位置的一部分[21-22]。本文使用局部注意力机制,使用前一时刻隐藏状态计算权重系数。解码层利用编码层的输出和权重系数计算当前时刻语音特征的识别结果。

3.3 文本检错、纠错实现

使用语音输入用户意图时,需要将用户语音转化为文本,这个环节可能会出现识别错误;在用户输入文本意图时,也可能发生拼写错误。常见的文本错误有:发音相近混淆、字形相近混淆、次序颠倒、常识错误、语境错误等[23-24]。为提高系统对用户输入意图的容错率,需要对用户输入进行检错和纠错。

本系统使用双向门循环神经网络(bidirectional gate recurrent unit, Bi-GRU)作为检错模型,使用Transformer作为文本纠错模型。首先使用词嵌入模型将文本转化为词向量,检错模型对词向量的正向编码和反向编码的隐藏状态横向合并,通过全连接层进行二分类学习,输出结果为字符的二分类错误概率。纠错网络是一种基于来自Transformer的双向编码器表示(bidirectional encoder representations from Transformer, BERT)的顺序多类标注模型[25]。当用户输入意图“从西安太白南陆2号到北京建立一条普通等级的话音业务,2022年9月18日结束”。将用户文本意图转化为嵌入向量,检错系统根据上下文信息检测到“陆”字错误概率比较大,在候选集中选择最大概率的字符“路”作为输出结果。

3.4 实体和关系抽取实现

实体和关系抽取提取用户意图的实体信息,并建立实体和实体之间的关系。实现方法有管道抽取和联合抽取[26],管道抽取是先提取句子中的实体,然后对实体进行关系分类,各个过程之间没有联系;联合抽取是将实体抽取之后的输出和隐藏层作为关系抽取的输入,损失函数是实体抽取和关系抽取的损失函数之和。

本文使用联合抽取的方式提取用户意图的关键信息。实体和关系抽取使用双向长短期记忆网络(bidirectional long-short term memory, Bi-LSTM),将实体抽取模型的输出和隐藏层作为关系抽取的输出。例如,对于一个训练样本“从南京到北京建立一条普通等级的话音业务,时间要求为2022年9月8日到2022年9月10日”,需要将训练样本调整为“[[“南京”,“建立业务”,“北京”],[“北京”,“等级”,“普通等级”],[“北京”,“开始时间”,“2022年9月8日”],[“北京”,“结束时间”,“2022年9月10日”]]”进行训练。当需要进行实体和关系抽取时同时抽取实体、关系和客体,得到结果,其中关系属性不必是样本中的词语,可以重新定义关系。

3.5 相似度检测实现

由于用户输入与知识库中的知识可能存在差别,为了提高意图表征的效果,需要使用相似度检测提高关键词匹配的效果。

相似度检测可以通过基于同义词词典库或基于大规模语料实现。基于同义词词典库,使用词义词典来判断文本的相似度,词典内容有限,需要针对特定场景进行训练;基于大规模语料的方法是对语料进行训练,为每一个字、词计算出一个维度合适的向量,通过计算词嵌入向量的平均值、词移距离、余弦、皮尔森系数等方法实现[27-29]。

相似度检测的实现流程如图5所示。

图5 相似度检测Fig.5 Similarity detection

使用腾讯基于方向跳跃图的方法训练的词向量模型得到词向量。相似度检测输入词语与每一组词中的参考词进行计算,两个词嵌入向量之间的余弦值计算公式如下:

由上式可以得到词语之间的相似度。计算值的输出范围为-1到1,计算值越趋近于1,表明两个词相似度越大;越接近-1,表示为反义词。

为了实现高效选择,相似度计算只与每一组的参考词计算。同时,为了避免无意义的相似词输出,需要使用分界值对相似度检测的结果进行判定。分界值的选择根据用户进行反馈,结果符合预期则参考值不变,结果不符合预期则对参考值进行更改。

3.6 知识图谱的实现

用户输入的文本需要经过知识抽取和关系抽取形成意图三元组,通过参数映射得到网络参数,形成知识图谱,最后通过遍历知识图谱的拓扑信息,得到满足需求的方案。同时,用户所需的资源需要实时更新,使用知识图谱构建用户意图能够抽象底层网络的资源,保障网络的正常运行。

使用Py2neo构建知识图谱,Py2neo是一个图形可视化的工具包,配合图数据库neo4j可以实现知识图谱的构建和使用[30]。图6为使用Python程序实现知识图谱的部分代码。在知识图谱中修改属性,例如时延、带宽等,实时更新网络的资源状态。图7为知识图谱构建实例。

图7 知识图谱构建实例Fig.7 Knowledge graph construction instance

4 实验分析

4.1 意图表征系统功能演示

意图表征可以实现异构意图的标准化表征,如图8所示,用户在文本输入框中输入“从南京到北京建立一条普通等级的华阴业务,时间要求为从2022年9月8日到2022年9月10日”,点击“开始”提交用户意图,用户输入有误,文本纠错框显示纠错后的文本,点击“submit”提交用户意图,将进行意图表征;图9将用户意图表征信息,如源地址、目的地址、时延、带宽等,以知识图谱的形式保存,用户可以选择“执行”来下发意图,选择“暂缓”将意图保存在知识图谱库中,但是不会下发策略;选择“撤销”将结束意图表征;图10是将意图表征结果保存在知识图谱库中,实现用户意图的复用。实验结果表明,基于自然语言处理与知识图谱相结合标准的意图驱动网络表征系统可以实现用户意图的标准化。

图8 意图表征前端界面Fig.8 Intentional representation front-end interface

图9 意图表征结果展示Fig.9 Presentation of intentional representation results

图10 用户知识图谱库Fig.10 User knowledge graph database

4.2 意图表征性能实验

为了验证文本检错、纠错性能,将错误率为30%的文本分别输入到传统意图表征和本框架下的意图表征模块中进行对比,验证文本检错、纠错对意图表征的提升效果。

由图11可知,在输入样本相同的情况下,传统架构下意图表征的准确率为67%,新架构下意图表征的准确率为78%,引入文本纠错、检错能够在用户输入时提高意图的准确率,进而能够提高意图表征的效果。

图11 文本检错、纠错实验Fig.11 Text error detection and error correction experiments

4.3 相似度检测性能实验

本实验将添加相似度检测模块的意图表征系统和传统意图表征系统进行对比,验证相似度检测的优势。

测试流程:将输入样本中20%的关键词替换为知识图谱库中未出现的关键词,将正确参数和测试参数进行对比,得到测试结果。

由图12可知,输入相同的样本,相似度检测的正确率为90%,传统架构准确率为80%,融入相似度检测可以提高意图表征的效果。

图12 相似度检测实验Fig.12 Similarity detection experiments

5 结束语

本文介绍了一种基于自然语言处理与知识图谱相结合标准的意图驱动网络表征系统,使用语音或者文本等形式表达异构意图,实现了用户意图的自由输入。针对用户文本可能出现的输入错误问题,对用户意图进行检错和纠错,提高了用户意图的准确性。对用户输入意图进行实体和关系抽取得到意图三元组,并对意图三元组进行参数映射。当实体参数映射失败时,选择相似度最大的实体参数作为映射结果,动态更新实体参数知识图谱库,学习用户表达习惯,并将意图表征的结果以知识图谱的形式保存,有利于后续的策略生成。目前,意图表征系统使用静态知识图谱保存用户意图,未来将引入动态知识图谱实现网络状态的动态更新。

猜你喜欢

三元组意图图谱
基于带噪声数据集的强鲁棒性隐含三元组质检算法*
原始意图、对抗主义和非解释主义
陆游诗写意图(国画)
特征标三元组的本原诱导子
制定法解释与立法意图的反事实检验
绘一张成长图谱
关于余挠三元组的periodic-模
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
燕山秋意图