Eunoia-plus:开放域chitchat系统
Eunoia-Plus是一种先进的开放域居住系统,它集成了多个AI模块以创建动态,智能和自然对话。该系统是使用多模块架构设计的,使其能够理解并响应各种域(包括天气,货币等)的用户输入。
特征
模块化体系结构:系统分为四个关键模块:
- 自然语言理解(NLU) :使用微调的Roberta模型来检测用户意图,并以高度准确地提取必要的信息。
- 意图验证:基于XGBoost的模型确保了检测到的意图的正确性,有效地处理模棱两可和重叠的意图。
- 对话状态跟踪(DST) :使用基于规则和GPT-3.5 Turbo方法对话状态进行跟踪,从而在对话流量管理方面具有灵活性。
- 答案生成:利用Bloom和T5模型来生成连贯和上下文适当的响应。
支持各种意图结构:处理四种意图:
- 无插槽的意图。
- 可选插槽的意图。
- 意图需要一个必要的插槽。
- 需要多个基本插槽的意图。
高准确性:该系统在几个指标中提供了高精度:
- NLU模块:96%的意图检测准确性,97%的插槽填充精度。
- 意图验证:精度为95%。
- 对话状态跟踪:使用基于规则的方法的92%精度,通过基于GPT的方法具有增强的上下文精度。
- 答案生成:通过利用对话历史和状态来产生相关的回答。
用法
- 该系统的构建是为了根据开放域数据集处理多转交谈。
- 用户可以通过命令行与系统进行交互,也可以将其集成到其他对话平台或应用程序中。
- 模块化体系结构可轻松自定义,使其适应不同的域或意图。
项目结构
nlu/ :包含用于自然语言理解模块及其数据的代码。-
api/ :包含用于调用微型模型作为服务器的API代码。 -
intent_validation/ :基于XGBoost的模块以验证检测到的意图。 -
dst/ :基于规则和基于GPT-3.5的对话状态跟踪实现。 -
answer_generation/ :答案生成模型,包括Bloom和T5。
使用的模型
- 罗伯塔:出于意图检测和插槽填充。
- XGBoost :用于意图验证并确保可靠的意图解决。
- GPT-3.5涡轮增压器:用于高级对话状态跟踪,使用少量学习。
- Bloom和T5 :用于生成上下文相关的响应。
表现
该系统已使用几个关键指标进行了评估:
- 意图检测:精度为96%。
- 插槽填充:精度为97%。
- 意图验证:精度为95%。
- 对话状态跟踪:
- 基于规则的:92%的状态准确性。
- 基于GPT:总体准确性(NLU输出),100%流利度(对话流)为69.94%。