• rasa使用教程二——NLU数据准备


    在上一篇中,我们新建了一个rasa项目,接下来需要准备nlu训练数据,一般存在一个yaml格式文件里,默认为nlu.yml。当然用户可以自己指定,如果自定义训练的时候得指定训练数据的位置,不然rasa train的时候会默认去data文件文件夹下查找nlu.yml


    rasa的训练数据一般有四种参数类型

    • intent

      意图数据,为该意图下所有语料

      version: "3.0"
      
      nlu:
      - intent: greet
        examples: |
          - 你好
          - 你好啊
          - 早上好
          - 晚上好
          - hello
          - hi
          - 嗨
          - 嗨喽
          - 见到你很高兴
          - 嘿
          - 早
          - 上午好
          - hello哈喽
          - 哈喽哈喽
          - hello hello
          - 喂喂
      

      同时在语料中还可以用[entity value](entity name)的方式来标注实体,也可以用[entity name]{"key": "value"}的方式来标注,其中大括号里的key可取值有entity、value、rule、group。其中value表示同义词,如

      - intent: request_weather
        examples: |
          - 查天气
          - 帮我查下天气
          - 告诉我天气怎么样
          - 查下天气
          - 我要查天气
          - 天气怎么样
          - 看下天气
          - 天气如何
          - 天气
          - 查询天气
          - 帮我查天气信息
          - 我想知道[明天](date_time)的天气
          - [星期一]{"entity": "date_time", "value": "周一"}的天气
          - [今天](date_time)的天气怎么样
          - 帮我查下[后天](date_time)的天气
          - 查下[广州](address)的天气怎么样
      

    • synonym

      同义词,比如某个实体的同义词,可以单独列出来如:

      - synonym: 周一
        examples: |
          - 星期一
          - 礼拜一
      

    • lookup

      查找表,比如某个实体可能从某些值里面取值,比如点奶茶是的杯型,有大杯、小杯、中杯,则可定义

      - lookup: cup type
        examples: |
          - 大杯
          - 中杯
          - 小杯
      

    • regex

      正则表达式,有些实体用正则表达式来抽取可能会比较方便,比如手机号,则可以定义

      - regex: phone number
        examples: |
          - 1\d{10}
      
  • 相关阅读:
    【leetcode】92. 反转链表 II
    【leetcode】91. 解码方法
    【leetcode】89. 格雷编码
    【leetcode】86. 分隔链表
    【leetcode】82. 删除排序链表中的重复元素 II
    为什么选择react
    React 全家桶实现后台管理界面
    前后端同构
    浅谈React前后端同构防止重复渲染
    由React引发的前后端分离架构的思考
  • 原文地址:https://www.cnblogs.com/zongfa/p/15937046.html
Copyright © 2020-2023  润新知