收藏 分销(赏)

基于Rasa的生猪疾病诊断对话系统的设计与实现.pdf

上传人:自信****多点 文档编号:574843 上传时间:2024-01-02 格式:PDF 页数:5 大小:2.25MB
下载 相关 举报
基于Rasa的生猪疾病诊断对话系统的设计与实现.pdf_第1页
第1页 / 共5页
基于Rasa的生猪疾病诊断对话系统的设计与实现.pdf_第2页
第2页 / 共5页
基于Rasa的生猪疾病诊断对话系统的设计与实现.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、周为等:基于 Rasa 的生猪疾病诊断对话系统的设计与实现97-农业工程 农业信息湖南农业科学(HUNAN AGRICULTURAL SCIENCES)引用格式:周为,欧舟,朱幸辉,等.基于 Rasa 的生猪疾病诊断对话系统的设计与实现 J.湖南农业科学,2023(7):97-100,105.DOI:DOI:10.16498/ki.hnnykx.2023.007.0192023(7):97-100,105湖南是我国第二大生猪出口大省,生猪的疾病防治至关重要,诊断不及时或诊断有误都将给农户带来巨大损失,大范围的生猪疾病将给猪肉市场带来波动,影响广大人民的生活质量。对于养殖户来说,获取诊断和防治措

2、施的途径一般有咨询专业兽医、使用搜索引擎和查询专业书籍等方式。农村的专业兽医十分稀少,出诊时间长,很容易错过最佳治疗时机。搜索引擎和查询书籍等方式使用不方便,有些信息可靠性难以保证且不容易理解。“十二五”期间,由湖南省科技厅牵头,开发了湖南省农村农业信息化综合服务平台,集成了 12396呼叫热线,农户可以通过平台直接呼叫坐席专家。比如诊断生猪疾病,专家通过与农户的一系列对话,问询农户关于猪只的表现症状,给出诊断结果和防治建议。这是一种很自然的交互方式,深受农民欢迎,但坐席专家的代价太高,这种方式不可持续。而开发能替代坐席专家的机器人诊断代理是一种不错的选择。Rasa 是一套开源机器学习框架,用

3、于构建基于对话上下文的 AI(artificial intelligence,人工智能)小助手和聊天机器人1-2。该研究将设计和开发一个基于 Rasa 的生猪疾病问答机器人代理系统,使养猪农户能方便、实惠地获取生猪疾病诊断结果和防治建议。1Rasa 框架概述1.1Rasa 处理流程Rasa 主要包括 Rasa NLU(Natural Language Under-standing)和Rasa Core这 2 个部分。Rasa NLU用于机器人的意图分类和实体识别,而 Rasa Core 会话引擎则是用真实的对话文本训练机器学习算法模型,从而预测在收到消息后机器人该作何回复(Action)。用户

4、输入文本信息,基于 Rasa NLU 的自然语言解释器(Interpreter)将之转换成意图和实体信息,然后构建包括用户原始文本(Text)、用户意图(Intent)、实基于 Rasa 的生猪疾病诊断对话系统的设计与实现周为,欧舟,朱幸辉,陈义明(湖南农业大学信息与智能科学技术学院,湖南 长沙 410128)摘要:针对养猪农户在猪只生病时获取疾病诊断和防治信息不方便、时间周期长或者代价昂贵等问题,设计并实现了一个基于 Rasa 的生猪疾病诊断对话系统。从 Rasa 项目创建开始,按照应用系统所需意图和实体槽位设计、自然语言理解流水线配置、对话管理设计、知识图谱设计和系统软件架构设计的顺序对系

5、统的设计与实现过程进行了详细的描述。该系统的开发升级了12396 平台,对农业信息的推广应用、提高农业智能化水平具有重要意义。关键词:Rasa 框架;生猪疾病;对话系统;知识图谱中图分类号:S482.4文献标识码:A文章编号:1006-060X(2023)07-0097-04Design and Implementation of a Pig Disease Diagnosis Dialogue System Based on Rasa ZHOU Wei1,OU Zhou1,ZHU Xing-hui1,CHEN Yi-ming1(1.College of Information and Int

6、elligence,Hunan Agricultural University,Changsha 410128,PRC)Abstract:To address the issues of inconvenience,time-consuming or expensive costs for pig farmers access to disease diagnosis and control information when their pigs are sick,a Rasa-based pig disease diagnosis dialogue system is designed an

7、d implemented.Starting from the creation of the Rasa project,the design and implementation process of the system is described in detail according to the order of the application systems desired intention and entity slot design,natural language understanding pipeline configuration,dialogue management

8、 design,knowledge map design and system software architecture design.The development of the system has upgraded the 12396 platform,which is of great significance for the promotion and application of agricultural information,and the improvement of agricultural intelligence level.Key words:Rasa framew

9、ork;pig disease;diagnosis system;knowledge graph收稿日期:20230530基金项目:湖南省重点研发计划项目(2020NK2033);湖南省大学生创新训练项目(s202210537084)作者简介:周为(2002),男,湖南岳阳市人,本科生,主要从事人工智能及智慧农业的研究。通信作者:陈义明湖南农业科学(HUNAN AGRICULTURAL SCIENCES)2023 年 7 月98-农业工程 农业信息体(Entity)的语义词典并传给 Rasa Core。在 Rasa Core 中,对话状态追踪器(Tracker)获取当前的对话状态,策略(Pol

10、icy)接收到当前的对话状态后,通过特征提取组件得到对话状态特征,按照对话状态特征预测和选择下一个动作(Action)。最后,Tracker 执行 Action 将结果反馈给用户并记录此次执行动作3-4。Rasa 消息处理流程如图 1 所示。图 1Rasa 消息处理流程图1.2Rasa NLU 模块Rasa NLU 是 Interpreter 的核心,主要负责实体抽取和意图分类等自然语言理解任务,将用户的输入文本表示为结构化数据。Rasa NLU支持多种语言,内置 Spacy、MITIE 和 Jieba 等多种开源 NLP(Natural Language Process,自然语言处理)工具。

11、开发人员通过配置 config.yml 的 NLP Pipeline 来选择自然语言理解所需工具。Rasa NLU 按照配置次序依次执行,完成自然语言理解的各项任务。1.3Rasa Core 模块Rasa Core 是一种机器学习驱动的对话管理引擎,也是 Rasa 体系中负责对话管理的部分,主要职责是记录对话的过程和选择下一个动作。它可以帮助创建有上下文、有层次的对话,支持多轮交互。Rasa Core 的主要功能是通过策略(Policies)来预测对话中的下一个动作(Action),并根据用户的输入和对话状态来更新对话跟踪器(Tracker)。2系统设计与实现2.1创建 Rasa 项目在 ub

12、untu20.04 系统安装 Miniconda 用来配置Python3.8 的虚拟环境,然后使用 pip 安装 Rasa 以及依赖的 python 库:pip install Rasapip install jiebapip install transformers执行 rasa init 命令创建并初始化 Rasa 项目,包含的配置文件及说明如表 1 所示。表 1Rasa 项目主要配置文件文件名作 用config.yml配置组件信息domain.yml定义问答机器人的所有信息,包括意图、实体、词槽以及动作等;nlu.yml模型训练数据rules.yml规则训练数据集stories.yml故

13、事训练数据集actions.py存放自定义 actions2.2设计意图和实体槽位意图是用户回复消息的类别,意图识别是一个文本分类问题。对于某个应用,可以确定包含的实体类别,给每类实体定义对应的槽位,对回复消息进行实体识别后,将识别的实体填入槽位。该研究在 nlu.yml 中定义了猪只疾病查询相关的 3 个意图,实例如下。text:你能给我一些关于猪的猪链球菌病的信息吗,intent:name:query_knowledge_base,confidence:1.0在 domain.yml 中有关猪只的槽位定义如下:animal:type:any mappings:-entity:animal

14、type:from_entitydisease:type:any mappings:-entity:disease type:from_entitydisease_info:type:list mappings:-entity:disease_info type:from_entity2.3设计 NLU 流程Rasa 通过图 2 所示流程来实现对用户回复消息的理解。图 2典型 Rasa NLU 组件基于 Rasa 支持的自然语言处理组件,通过在文件config.yml中配置pipeline来实现图2的处理流程,周为等:基于 Rasa 的生猪疾病诊断对话系统的设计与实现99-农业工程 农业信息配

15、置如下:pipeline:-name:JiebaTokenizer-name:LanguageModelFeaturizer model_name:bert model_weights:bert-base-chinese-name:RegexFeaturizer-name:DIETClassifier epochs:1000 learning_rate:0.001 constrain_similarities:true tensorboard_log_directory:./log-name:FallbackClassifier threshold:0.4 ambiguity_threshol

16、d:0.1-name:EntitySynonymMapper2.4设计对话管理Rasa Core 是 Rasa 体系中负责对话管理的部分,主要职责是记录对话过程和选择下一个动作。Rasa Tracker 是 Rasa 框架中的一个核心组件,用于跟踪对话历史和当前对话状态。它存储了用户和机器人之间的所有交互,包括用户发送的消息、机器人的响应、对话中的槽值以及对话中的上下文。Rasa Tracker 还可以将对话历史转换为对话状态,以便机器人可以使用它来推断下一个最佳动作。在 Rasa Core 中,策略(Policy)负责学习故事,形成规则,从而利用 Rasa Tracker 中的对话状态预测动

17、作。有关猪只疾病查询的故事设计如下:stories:-story:查询知识库 steps:-intent:query_knowledge_base -action:action_response_query -checkpoint:check_query -story:确认后续询问 steps:-checkpoint:check_query -or:-intent:other_query -intent:affirm -action:action_affirm_other_query -story:否认后续询问 steps:-checkpoint:check_query -intent:den

18、y -action:utter_deny该研究将策略配置为:policies:-name:MemoizationPolicy-name:TEDPolicy max_history:5 epochs:100-name:RulePolicy core_fallback_threshold:0.3 core_fallback_action_name:action_default_fallback完成上述配置后,使用如下的命令完成相关模型的训练:Rasa train2.5收集生猪疾病语料“猪病通”网站(https:/ py2neo初始化Graph,填写账号、密码和库名,然后分别创建NodeMatche

19、r 和 RelationshipMatcher,将爬取的数据按照一个疾病对应一个节点的原则存储,而疾病的其他信息则按节点的属性存储,再将所有的疾病节点与标记为动物、名称为猪的根节点建立关系链接起来6。部分生猪疾病知识图谱如图 3 所示。2.6web 部署该研究通过 Python 的 Flask 框架实现了一个轻便的 Web 服务器,部署在腾讯云上,便于与 Rasa进行交互。主要步骤包括:Miniconda 虚拟环境配置、Flask Web 服务器安装配置、Docker 安装和配置。浏览器和服务器端的工作流程为:首先用户在前端界面上输入信息,输入的信息会通过 HTTP 协议传递到 Rasa 服务

20、器,并通过 Rasa NLU 和 Rasa Core 的处理,决定要执行下一步动作之后,再由 Rasa 动作服务器结合知识图谱生成响应,并将响应的动作返回到前端浏览器7。基于 Rasa 的生猪疾病问答系统的软件架构如图 4 所示。3系统测试当用户打开该系统页面时,机器人会主动发送一句问候语。用户可以通过该 Web 页面和机器人进行对话,例如查询生猪疾病知识、随机了解随意一种猪病、闲聊等。用户可以以随意句式抛出表达“查湖南农业科学(HUNAN AGRICULTURAL SCIENCES)2023 年 7 月100-农业工程 农业信息询生猪疾病知识”意图的句子,当机器人做出第一轮回答后,用户可以根

21、据上轮问答继续对该疾病进行提问或者结束对话。当用户由于某种原因输入乱序文本,或者输入超出生猪疾病知识领域的问题时,系统服务端将无法正确解析相对应的文本信息,也会致使系统无法给出合适答案。生猪疾病诊断正确对话示例如图 5 所示。当用户向机器人查询数据库中未记录的生猪疾病或者不存在的生猪疾病的话,机器人则会采取兜底回复给用户。兜底回复的示例如图 6 所示。4结语该文详细阐述了基于 Rasa 框架构建生猪疾病诊断对话系统的过程,包括意图和实体槽位设计、自图 3部分生猪疾病知识图谱图 4基于 Rasa 的生猪疾病诊断对话系统软件结构图图 5正确对话示例(下转第 105 页)李昱娇等:湖南省农作物秸秆可

22、收集资源量及能源化利用潜力评价105-农业经济与管理3.2.4通过宣传教育提高公众对秸秆能源化的认知湖南省的秸秆能源化潜力非常大,兼具经济价值与社会价值。因此,湖南省可充分发挥广播、电视、报纸等大众传播媒体的舆论引导作用,结合当地实际情况开展讲座、进行典型案例展示以及组织农户、企业等现场参观与学习,使公众切身体验科学技术引领社会发展的实际效益,提高人们对秸秆综合利用的认识,进而为生物质能源的发展打下坚实的群众基础12。参考文献:1 苏鑫,刘静,陈冠益,等.煤耦合生物质气化发电技术研究进展 J.煤炭学报,2023,48(6):2261-2278.2 翟继辉,周慧秋.黑龙江省农作物秸秆能源化利用现

23、状、存在问题及对策研究 J.东北农业大学学报(社会科学版),2013,11(1):20-24.3 季立仁,李布青,华胜,等.庐江县农作物秸秆能源化利用的实践与思考 J.江西农业,2021(10):116-117.4 颜波,黄琼慧,邓小华,等.湘西秸秆资源化利用现状及其在植烟土壤改良中的应用 J.作物研究,2019,33(2):140-144.5 李胜男,纪雄辉,邓凯,等.区域秸秆资源分布及全量化利用潜力分析 J.农业工程学报,2020,36(12):221-228.6 陈炀,王丽霞,杨毅,等.四川省秸秆资源肥料化与能源化利用潜力及生态足迹分析 J.山东农业科学,2020,52(8):110-1

24、14.7 宋大利,侯胜鹏,王秀斌,等.中国秸秆养分资源数量及替代化肥潜力 J.植物营养与肥料学报,2018,24(1):1-21.8 王晓玉,薛帅,谢光辉.大田作物秸秆量评估中秸秆系数取值研究 J.中国农业大学学报,2012,17(1):1-8.9 毕于运.秸秆资源评价与利用研究 D.北京:中国农业科学院,2010.10 WANG X Y,HAN L P,YANG L,et al.The spatiotemporal availability of crop residue for biofuel feedstock in East and Central-South ChinaJ.Biofu

25、els,Bioproducts and Biorefining,2022,16(1):303-318.11 SEGLAH P A,WANG Y,WANG H,et al.Estimation and efficient utilization of straw resources in GhanaJ.Sustainability,2019,11(15):4172.12 张珺,石欣.湖南省农作物秸秆利用现状及建议 J.现代农业科技,2019(6):135-138.(责任编辑:袁萍萍)图 6兜底回复示例然语言理解流程设计和对话管理设计等。通过填写相关配置文件创建模型训练数据集,进而训练相关机器学习

26、模型。通过构建生猪疾病领域知识图谱,为 Rasa 行为响应提供知识来源。为了提供更友好的用户体验,基于 python 的 flask 框架实现了一个生猪疾病诊断对话系统,通过对话这种自然交互方式为养猪农户提供准确的生猪疾病及其防治知识。参考文献:1 李孟全,吴士泓,王志刚.基于 Rasa 框架的智能对话系统研究与设计 J.现代计算机,2023,29(1):95-100.2 鹿婷婷.基于 Rasa 框架的客服智能对话系统设计研究 J.电脑与电信,2022(1):81-85.3 钟有东,王峰,邱逸铭,等.基于 Rasa 框架的中医问答系统设计 J.电脑知识与技术,2022,18(11):74-76.4 刘宇杰.基于 Rasa 的领域对话系统的实现与优化 D.上海:东华大学,2022.5 崔庆才.Python3 网络爬虫开发实战(第 2 版)M.北京:人民邮电出版社,2021.6 罗柏涛.基于 Neo4j 的儿科知识图谱的构建与推理 D.广州:广东工业大学,2022.7 钱游著.Python Flask Web 开发入门与项目实战 M.北京:机械工业出版社,2019.7(责任编辑:成平)(上接第 100 页)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服