NLP (自然语言处理)酷游攻略- Intent Classification

任务简介

意图分析, 表示⇒ 输入文字叙述, 要分类文字属于何种意图

样本:

“我不喜欢我目前的保险计划,想要一个新的”⇒ insurance_change

“我的运通信用卡什么时候到期”⇒ expiration_date

“我怎么乘公共汽车去北京”⇒ 方向

大纲

  • 系统分析

  • 概念统整

  • 简单解法(利用transformer 完成)

  • 困难解法(从头利用pytorch 手刻)

系统分析

题意: 输入文字叙述, 分类文字属于何种意图

要完成一个程式, 我想第一步应该是厘清这支程式的抽象, 先定义清楚我们究竟要完成什么

所以我画了下面这张图

可以得知我们的目标是训练出这样的AI 模型

打开训练资料如下

[
  {
    "text": "how long should i cook steak for",
    "intent": "cook_time",
    "id": "eval-0"
  },
  {
    "text": "please tell me how much money i have in my bank accounts",
    "intent": "balance",
    "id": "eval-1"
  },
  {
    "text": "what is the gas level in my gas tank",
    "intent": "gas",
    "id": "eval-2"
  },
    ...
]

可以看见每个句子都被分类到对应的某种意图(即为分类)

此时我们可以透过简单的python 脚本大概去了解总共有几种意图

"""load json and check intent count"""
import json

with open('./train.json', encoding='utf8') as f:
    data = json.load(f)
    intent_set = set()
    for item in data:
        intent_set.add(item['intent'])
    print(len(intent_set)) # 150

自此, 对整个模型的样貌, 我们有了更清晰明确的认识, 如下图, 其中句子在150个分类中各自的机率可以用长度为150的数字阵列来表示

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值