SIGCOMM
August 2018
Abstract
现有的IBN研究方案未能利用网络运营商的知识和反馈来验证或改进意图的转换。
本文介绍了一个新的意图重塑过程,它使用机器学习和来自运营商的反馈,将运营商的话语翻译成网络配置。重塑过程使用一个序列到序列的学习模型来从自然语言中提取意图,并使用操作员的反馈来改进学习。
原型==使用自然语言与网络操作员互动,再将操作员的输入翻译成中间表示(其结构足够便于精确翻译),最后翻译成SDN规则==。实验表明,对于有5000个条目的数据集,实现了0.99的相关系数平方(即R平方),而且运营商的反馈明显提高了模型准确性。
1 简介
现有的IBN研究方案的问题:
- 无法从纯自然语言中提取意图信息,因此网络运营商在每个解决方案中需要学习新的意图定义语言,阻碍异构网络的互操作性、部署和管理;
- 大多未能充分利用网络运营商的知识和反馈。
本文的主要贡献是:
- 一种新的意图再挖掘过程,用于从自然语言中智能提取意图,该过程利用网络操作员的反馈来提高学习。
- NILE:一种类似于英语的高级、综合性意图定义语言。Nile作为其他策略机制的抽象层,减少了运营商为每种不同类型的网络学习一种新的策略语言的需要。
- 实验表明,在操作者的反馈下,翻译的准确性有了显著的提高。
2 细化过程
三个阶段:实体提取、意图转换和意图部署。

2.1 实体提取(Entities Extraction)
提取操作者用自然语言表达网络行为的动作和目标,使用DialogFlow来构建实体提取器。
DialogFlow(以前称为API.AI)是一个基于自然语言对话构建人机交互的开发框架(即聊天机器人)。该框架使用机器学习来概括被称为实体的示例案例,并促进对话框中的特征提取。在聊天机器人中,实体包括中间体、SLA需求、时间限制和用户意图的目标端点。
从自然语言中提取的实体会产生键值对,但这些对不直接映射为网络配置命令。仍然需要将实体转化为结构化的意图,以便在目标网络中实现。
自然语言:Please add a firewall for the backend.
提取的实体键值对:{middleboxes: ‘irewall’},{target: ‘backend’}
2.2 意图转换(Intent Translation)
实体被输入到之前训练过的Seq2Seq学习模型,翻译成用NILE编写的结构化意图。
基于编码器和解码器结构:

训练数据数量不足的解决方案:匿名化
处理方法:
用表示它的令牌替换每个提取的实体,并使用令牌表示作为RNN编码器的输入。
例如,实体提取器输出’firewall’和’backend’,使用匿名化将它们转换为令牌’@middlebox’和’@target’。
即实体 => 匿名实体 => 匿名实体的数字索引:
![]()
(由于不能直接使用单词作为Seq2Seq模型的输入,将模型的每个输入单词转换为唯一的数字表示。匿名实体的数字表示是预构建字典中的数字索引,该字典包含模型中的所有单词)
在转换之后,在产生的意图程序上运行一个去匿名化,用最初提取的实体替换标记。
反馈调整的过程:解码器生成的结构化意图定义提供给网络操作员,通过聊天机器人接口对提取的期望行为进行确认。在操作员响应后,经确认或调整的'意图程序'和'输入'
被包含在Seq2Seq模型的训练数据库中,并开始新一轮的训练。
2.3 意图部署(Intent Deployment)
Intent Deployer模块:将验证后结构化的意图程序,编译并部署到目标网络中。使用SONATANFV将Nile程序转换为配置命令。
Intent Behavior Monitor模块(待设计和实现):确保部署的策略尊重提取的意图。利用神经网络来预测应该监控哪些参数,监控参数,并在行为和意图之间存在差异时通知操作员。
3 NILE:意图定义语言(中间表示)
出发点:
- 自然语言很难正确地解析和解释,而且往往是不准确的,这在预期行为和网络配置之间造成了巨大的差距。
- 将自然语言意图直接转换为网络规则会降低可移植性和可重用性,因为每个可能的目标网络都有特定的特性和配置需求。
优势:
- 中间表示将策略提取与策略部署和实施分离开来。这种解耦允许我们在部署提取的行为之前使用来自操作人员的反馈。
- 作为其他策略机制的抽象层,减少了操作人员为每种不同类型的网络学习多种策略语言的需要。
意图语言语法的设计要求:
- 高易读性,不熟悉该语言的操作人员必须能够理解并断言意图的正确性;
- 高表现力,如实反映意图;
- 高可写性,允许操作人员快速、轻松地对生成的意图进行调整。

示例:
![]()
输入:"Add irewall and intrusion detection from gateway to backend for client B, with latency less than 10ms and 100mbps of bandwidth, and allow HTTPS only, everyday from 09:00 to 18:00 "
4 实验
Available at https://github.com/asjacobs92/nia-chatbot/
Available at https://github.com/asjacobs92/nia-webhook/s
Available at https://github.com/asjacobs92/nia-deployer/
5 评估
6 相关工作
7 结论
细化过程利用了一个用户友好的聊天界面和一个序列到序列学习模型,该模型从自然语言中提取实体,转换为Nile意图作为底层配置和策略语言的抽象层,允许结构化意图编译成网络配置之前向操作人员征求反馈。
反馈提高了翻译模型的准确性,特别是对于较小的训练数据集。