智能语义识别电影机器人的rasa实现
文章目录
- 0.前言
- 1.项目整体框架
- 2.rasa训练数据结构
- 4.rasa启动命令及用到的API
0.前言
最近做了一个智能电影机器人的项目,我主要负责用户语义意图识别,用的框架是rasa,对应的版本为 3.6.15,对应的安装命令为:
pip3 install rasa==3.6.15 # 安装这个时候可能需要科学上网
pip3 install 'rasa[jieba]'
pip3 install 'rasa[transformers]'
pip3 install 'rasa[FallbackClassifier]'
pip3 install 'rasa[nlu]'
1.项目整体框架

用户客户端通过语音说出他想看的电影,然后通过语音转文字模块,将文字传送给rasa,rasa识别出用户的意图和相应的关键字,通过rasa的api给到java端,(java这里其实充当是rasa里面的action这个操作,其实可以用python实现。)java端通过意图和关键字在es里面查询相应的索引,这里用es做媒资库的原因,是es的模糊搜索能力比关系型数据库强,最后将搜索到的媒资供用户选择进行播放。
2.rasa训练数据结构
由两部分数据组成,意图训练数据和相应的关键词查找数据,这里没有采用相应的关键词穷举放入意图训练数据进行训练,这里的意图训练数据只是训练的语料模版,然后实际使用的时候用户说话里面的实体由另一份关键词查找数据进行填充,这里用的是rasa的RegexEntityExtractor组件。现在举例这些两份数据,如何发挥作用的。
这是一份查询视频的意图训练数据,当用户说“我要看电影赌侠”的时候,这里rasa识别到的意图(intent)为query_video,这里的两个实体(entity)为contentType和title,分别识别为电影和赌侠
version: "3.1"
nlu:
- intent: query_video
examples: |- 我要看[电影](contentType)[赌侠](title)- 播放看[电影](contentType)[赌侠](title)- 我想看[电影](contentType)[赌侠](title)
由两部分数据组成,意图训练数据和相应的关键词查找数据,这里没有采用相应的关键词穷举放入意图训练数据进行训练,这里的意图训练数据只是训练的语料模版,然后实际使用的时候用户说话里面的实体由另一份关键词查找数据进行填充,这里用的是rasa的RegexEntityExtractor组件。现在举例这些两份数据,如何发挥作用的。
这是一份查询视频的意图训练数据,当用户说“我要看电影赌侠”的时候,这里rasa识别到的意图(intent)为query_video,这里的两个实体(entity)为contentType和title,分别识别为电影和赌侠
version: "3.1"
nlu:
- intent: query_video
examples: |- 我要看[电影](contentType)[赌侠](title)- 播放看[电影](contentType)[赌侠](title)- 我想看[电影](contentType)[赌侠](title)
如果用户说“我想看电影速度与激情”,这个数据可能不在我们的训练的意图数据中,但是rasa识别了意图为query_video,这里的两个实体(entity)为contentType为电影,title通过正则匹配为速度与激情,关键词数据的样式为
version: "3.1"
nlu:
- lookup: title
examples: |- 速度与激情8- 石头娃- 中甲精华- 畲族彩带传承人- 最美奋斗者- 唤醒巨人

3.rasa训练配置如下
pipeline:
name: JiebaTokenizer
name: LanguageModelFeaturizer
model_name: "bert"
model_weights: "bert-base-chinese"
name: "RegexEntityExtractor"
use_word_boundaries: False
use_lookup_tables: True
use_regexes: True
name: "DIETClassifier"
epochs: 100
tensorboard_log_directory: ./log
learning_rate: 0.001
name: "ResponseSelector"
name: "EntitySynonymMapper"
name: FallbackClassifier
threshold: 0.9
ambiguity_threshold: 0.01policies:
name: MemoizationPolicy
max_history: 1
name: TEDPolicy
max_history: 1
epochs: 10
name: RulePolicy
max_history: 1
4.rasa启动命令及用到的API
rasa run --enable-api --cors "*" --port 5506
post http://127.0.0.1:5506/conversations/usertest88/messages
{"sender":"user","text":"我想看电影速度与激情"}
如需源码,请关注微信公众号:造轮子的坦克,回复w,获取个人微信,然后私发给您。
相关文章:
智能语义识别电影机器人的rasa实现
文章目录 0.前言1.项目整体框架2.rasa训练数据结构4.rasa启动命令及用到的API 0.前言 最近做了一个智能电影机器人的项目,我主要负责用户语义意图识别,用的框架是rasa,对应的版本为 3.6.15,对应的安装命令为: pip3 install rasa…...
C# 实现腾讯云 IM 常用 REST API 之会话管理
目录 关于腾讯 IM REST API 开发前准备 范例运行环境 常用会话管理API 查询账号会话总未读数 查询单聊会话消息记录 下载最近会话记录 小结 关于腾讯 IM REST API REST API 是腾讯即时通信 IM 提供给服务端的一组 HTTP 后台管理接口,如消息管理、群组管理…...
MySQL之Schema与数据类型优化(三)
Schema与数据类型优化 BLOB和TEXT类型 BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型,分别采用二进制和字符方式存储。 实际上它们分别属于两组不同的数据类型家族:字符类型是TINYTEXT,SMALLTEXT,TEXT,MEDIUMTEXT,LONG…...
大语言模型发展历史
大语言模型的发展历史可以追溯到自然语言处理(NLP)和机器学习早期的探索,但真正快速发展起来是在深度学习技术兴起之后。以下是大语言模型发展的一个简要历史概述: 早期阶段(20世纪50-90年代): …...
Nginx - 安全基线配置与操作指南
文章目录 概述中间件安全基线配置手册1. 概述1.1 目的1.2 适用范围 2. Nginx基线配置2.1 版本说明2.2 安装目录2.3 用户创建2.4 二进制文件权限2.5 关闭服务器标记2.6 设置 timeout2.7 设置 NGINX 缓冲区2.8 日志配置2.9 日志切割2.10 限制访问 IP2.11 限制仅允许域名访问2.12 …...
简述js的事件循环以及宏任务和微任务
前言 在JavaScript中,任务被分为同步任务和异步任务。 同步任务:这些任务在主线程上顺序执行,不会进入任务队列,而是直接在主线程上排队等待执行。每个同步任务都会阻塞后续任务的执行,直到它自身完成。常见的同步任…...
[力扣题解] 797. 所有可能的路径
题目:797. 所有可能的路径 思路 深度搜索 代码 // 图论哦!class Solution { private:vector<vector<int>> result;vector<int> path;// x : 当前节点void function(vector<vector<int>>& graph, int x){int i;// cout <&l…...
【QT八股文】系列之篇章3 | QT的多线程以及QThread与QObject
【QT八股文】系列之篇章3 | QT的多线程 前言4. 多线程为什么需要使用线程池线程池的基础知识python中创建线程池的方法使用threading库队列Queue来实现线程池使用threadpool模块,这是个python的第三方模块,支持python2和python3 QThread的定义QT多线程知…...
基于python flask的web服务
基本例子 from flask import Flask app Flask(__name__) app.route(/)#检查访问的网址,根路径走这里 def hello_world():return hello world#返回hello worldif __name__ __main__:# 绑定到指定的IP地址和端口app.run(host0.0.0.0, port1000, debugTrue)##绑定端…...
HTTP 响应分割漏洞
HTTP 响应分割漏洞 1.漏洞概述2.漏洞案例 1.漏洞概述 HTTP 响应拆分发生在以下情况: 数据通过不受信任的来源(最常见的是 HTTP 请求)进入 Web 应用程序。该数据包含在发送给 Web 用户的 HTTP 响应标头中,且未经过恶意字符验证。…...
Algoriddim djay Pro Ai for Mac:AI引领,混音新篇章
当AI遇上音乐,会碰撞出怎样的火花?Algoriddim djay Pro Ai for Mac给出了答案。这款专业的DJ混音软件,以AI为引擎,引领我们进入混音的新篇章。 djay Pro Ai for Mac的智能混音功能,让每一位DJ都能感受到前所未有的创作…...
常见算法(3)
1.Arrays 它是一个工具类,主要掌握的其中一个方法是srot(数组,排序规则)。 o1-o2是升序排列,o2-o1是降序排列。 package test02; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparat…...
集中抄表电表是什么?
1.集中抄表电表:简述 集中抄表电表,又称为远程抄表系统,是一种现代化电力计量技术,为提升电力行业的经营效率和客户服务质量。它通过自动化的形式,取代了传统人工抄水表,完成了数据信息实时、精确、高效率…...
第八届能源、环境与材料科学国际学术会议(EEMS 2024)
文章目录 一、重要信息二、大会简介三、委员会四、征稿主题五、论文出版六、会议议程七、出版信息八、征稿编辑 一、重要信息 会议官网:http://ic-eems.com主办方:常州大学大会时间:2024年06月7-9日大会地点:新加坡 Holiday Inn …...
09.自注意力机制
文章目录 输入输出运行如何运行解决关联性attention score额外的Q K V Multi-head self-attentionPositional EncodingTruncated Self-attention影像处理vs CNNvs RNN图上的应用 输入 输出 运行 链接(Attention Is All You Need) 如何运行 解决关联性 a…...
时政|杂粮产业
政策支持 《新一轮千亿斤粮食产能提升行动方案(2024—2030年)》明确,按照“巩固提升口粮、主攻玉米大豆、兼顾薯类杂粮”的思路,因地制宜发展马铃薯、杂粮杂豆等品种,根据市场需求优产稳供。 产地发展 河北省石家庄…...
docker 安装 私有云盘 nextcloud
拉取镜像 # 拉取镜像 sudo docker pull nextcloud运行nextcloud 容器 # 内存足够可以不进行内存 --memory512m --memory-swap6g # 桥接网络 --network suixinnet --network-alias nextcloud \ sudo docker run -itd --name nextcloud --restartalways \ -p 9999:80 \ -v /m…...
第十一届蓝桥杯物联网试题(国赛)
国赛题目看着简单其实还是挺复杂的,所以说不能掉以轻心,目前遇到的问日主要有以下几点: 本次题主要注重的是信息交互,与A板通信的有电脑主机和B板,所以处理好这里面的交互过程很重要 国赛中避免不了会收到其他选手的…...
算法金 | Dask,一个超强的 python 库
本文来源公众号“算法金”,仅用于学术分享,侵权删,干货满满。 原文链接:Dask,一个超强的 python 库 1 Dask 概览 在数据科学和大数据处理的领域,高效处理海量数据一直是一项挑战。 为了应对这一挑战&am…...
Java 说唱歌手
Yo yo yo,欢迎来到Java地带,技术的盛宴开启, 从JDK到JVM,我们构建的是数字世界的奇迹。 Spring Boot启动,微服务架构轻盈起舞, IoC解耦依赖,AOP切面如丝般顺滑。 Maven管理依赖,Gra…...
解放信息焦虑:用WeWe RSS打造你的专属微信公众号聚合中心
解放信息焦虑:用WeWe RSS打造你的专属微信公众号聚合中心 【免费下载链接】wewe-rss 🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书) 项目地址: https://gitcode.com/GitHub_Trendi…...
4大核心能力!March7thAssistant让崩坏:星穹铁道实现全自动游戏体验
4大核心能力!March7thAssistant让崩坏:星穹铁道实现全自动游戏体验 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant March7thAssistant是一款专…...
OpenClaw简介|OpenClaw衍生产品|OpenClaw辅助工具
OpenClaw简介OpenClaw是一个开源的多功能机器人爪手设计项目,专注于提供低成本、模块化的机械爪解决方案,适用于科研、教育及工业自动化场景。其设计强调灵活性和可定制性,支持3D打印制造,便于用户根据需求调整结构和功能。核心特…...
Element Plus访问优化指南:3种实用方法让你告别加载卡顿
Element Plus访问优化指南:3种实用方法让你告别加载卡顿 【免费下载链接】element-plus 🎉 A Vue.js 3 UI Library made by Element team 项目地址: https://gitcode.com/GitHub_Trending/el/element-plus 你是否曾经在开发Vue 3项目时࿰…...
VideoDownloadHelper:一站式网页视频下载神器,告别视频保存烦恼
VideoDownloadHelper:一站式网页视频下载神器,告别视频保存烦恼 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为…...
高效工作方法论:六大核心SOP详解
我们首先来看第一个SOP:如何正确地接收任务。这不仅仅是简单地说一句“收到”,而是一个从接收到最终交付的完整闭环管理过程。 第一步是“精准接收”,重点在于明确目标和标准,确认时限和资源,拒绝模糊指令。 第二步是…...
基恩士VL扫描仪:高效检测场景的适配之选
一、引言企业选购3D扫描仪时,“哪个品牌性价比高”是核心决策难题。性价比并非单纯看价格高低,而是精度、效率、操作成本与长期服务的综合平衡,这也是企业筛选3D扫描仪品牌的核心评判维度。当前制造业检测流程优化需求迫切,接触式…...
Python 3.14原生JIT编译器深度调优:从0到99分的5步精准压测与热路径优化法
第一章:Python 3.14原生JIT编译器性能调优导论Python 3.14 引入了首个官方支持的原生 JIT(Just-In-Time)编译器,标志着 CPython 运行时架构的重大演进。该 JIT 并非外部扩展(如 PyPy 或 Numba),…...
10分钟上手:使用GitHub教程部署Realistic Vision V5.1镜像
10分钟上手:使用GitHub教程部署Realistic Vision V5.1镜像 想试试那个能生成超写实人像的AI模型吗?是不是觉得部署过程很复杂,光是看那些技术文档就头大?别担心,今天咱们就绕开那些繁琐的步骤,用一个最直接…...
2026 全新利器!餐饮零售实体门店督导的三款法宝,巡店稽查与整改追踪全搞定
在餐饮和零售行业担任督导的人员,每日都被工作压得喘不过气来。巡店、检查、整改、培训等任务接连不断,忙得不可开交。而且,他们常常会遭遇一些令人头疼的状况:总部制定的标准,到了门店执行起来就走样;上午…...
