pytorch bert intent classification and slot filling

Overview

pytorch_bert_intent_classification_and_slot_filling

基于pytorch的中文意图识别和槽位填充

说明

基本思路就是:分类+序列标注(命名实体识别)同时训练。 使用的预训练模型:hugging face上的chinese-bert-wwm-ext 依赖:

pytorch==1.6+
transformers==4.x+

运行指令:

python main.py

可在config.py里面修改相关的参数,训练、验证、测试、还有预测。

结果

意图识别:
accuracy:0.9767441860465116
precision:0.9767441860465116
recall:0.9767441860465116
f1:0.9767441860465116
              precision    recall  f1-score   support

           0       1.00      0.94      0.97        16
           2       1.00      1.00      1.00         1
           3       1.00      1.00      1.00         4
           4       1.00      1.00      1.00        16
           5       0.00      0.00      0.00         1
           6       1.00      1.00      1.00        22
           7       0.84      0.89      0.86        18
           8       0.98      0.95      0.96        57
           9       1.00      1.00      1.00         2
          10       0.00      0.00      0.00         0
          11       0.00      0.00      0.00         1
          12       0.98      0.99      0.99       327
          13       1.00      1.00      1.00         1
          14       1.00      1.00      1.00         3
          15       1.00      1.00      1.00         1
          17       1.00      1.00      1.00         4
          18       1.00      0.80      0.89         5
          19       1.00      1.00      1.00        14
          21       0.00      0.00      0.00         1
          22       1.00      1.00      1.00        13
          23       1.00      1.00      1.00         9

    accuracy                           0.98       516
   macro avg       0.80      0.79      0.79       516
weighted avg       0.97      0.98      0.97       516

槽位填充:
accuracy:0.9366942909760589
precision:0.8052708638360175
recall:0.8461538461538461
f1:0.8252063015753938
                   precision    recall  f1-score   support

             Dest       1.00      1.00      1.00         7
              Src       1.00      0.86      0.92         7
             area       1.00      0.25      0.40         4
           artist       0.89      1.00      0.94         8
       artistRole       1.00      1.00      1.00         2
           author       1.00      1.00      1.00        13
         category       0.73      0.90      0.81        42
             code       0.71      0.83      0.77         6
          content       0.89      0.94      0.91        17
    datetime_date       0.72      0.95      0.82        19
    datetime_time       0.58      0.64      0.61        11
         dishName       0.84      0.88      0.86        74
        dishNamet       0.00      0.00      0.00         1
          dynasty       1.00      1.00      1.00        11
      endLoc_area       0.00      0.00      0.00         2
      endLoc_city       0.96      1.00      0.98        43
       endLoc_poi       0.62      0.73      0.67        11
  endLoc_province       0.00      0.00      0.00         1
          episode       1.00      1.00      1.00         1
             film       0.00      0.00      0.00         1
       ingredient       0.53      0.62      0.57        16
          keyword       0.88      0.88      0.88        25
    location_area       0.00      0.00      0.00         2
    location_city       0.40      1.00      0.57         4
     location_poi       0.36      0.57      0.44         7
location_province       0.00      0.00      0.00         3
             name       0.80      0.88      0.84       182
       popularity       0.00      0.00      0.00         5
       queryField       1.00      1.00      1.00         2
     questionWord       0.00      0.00      0.00         1
         receiver       1.00      1.00      1.00         4
         relIssue       0.00      0.00      0.00         1
       scoreDescr       0.00      0.00      0.00         1
             song       0.86      0.80      0.83        15
   startDate_date       0.93      0.93      0.93        15
   startDate_time       0.00      0.00      0.00         1
    startLoc_area       0.00      0.00      0.00         1
    startLoc_city       0.95      0.97      0.96        38
     startLoc_poi       0.00      0.00      0.00         1
         subfocus       0.00      0.00      0.00         1
              tag       0.40      0.40      0.40         5
           target       1.00      1.00      1.00        12
     teleOperator       0.00      0.00      0.00         1
          theatre       0.50      0.50      0.50         2
        timeDescr       0.00      0.00      0.00         2
        tvchannel       0.74      0.81      0.77        21
        yesterday       0.00      0.00      0.00         1

        micro avg       0.81      0.85      0.83       650
        macro avg       0.52      0.54      0.52       650
     weighted avg       0.79      0.85      0.81       650

=================================
打开相机这
意图: LAUNCH
槽位: [('name', '相', 2, 2)]
=================================
=================================
国际象棋开局
意图: QUERY
槽位: [('name', '国际象棋', 0, 3)]
=================================
=================================
打开淘宝购物
意图: LAUNCH
槽位: [('name', '淘宝', 2, 3)]
=================================
=================================
搜狗
意图: LAUNCH
槽位: []
=================================
=================================
打开uc浏览器
意图: LAUNCH
槽位: [('name', 'uc浏', 2, 4)]
=================================
=================================
帮我打开人人
意图: LAUNCH
槽位: []
=================================
=================================
打开酷狗并随机播放
意图: LAUNCH
槽位: [('name', '酷狗', 2, 3)]
=================================
=================================
赶集
意图: LAUNCH
槽位: []
=================================
=================================
从合肥到上海可以到哪坐车?
意图: QUERY
槽位: [('Src', '合肥', 1, 2), ('Dest', '上海', 4, 5)]
=================================
=================================
从台州到金华的汽车。
意图: QUERY
槽位: [('Src', '台州', 1, 2), ('Dest', '金华', 4, 5)]
=================================
=================================
从西安到石嘴山的汽车票。
意图: QUERY
槽位: [('Src', '西安', 1, 2), ('Dest', '石嘴山', 4, 6)]
=================================
Owner
西西嘛呦
西西嘛呦
Offical code for the paper: "Growing 3D Artefacts and Functional Machines with Neural Cellular Automata" https://arxiv.org/abs/2103.08737

Growing 3D Artefacts and Functional Machines with Neural Cellular Automata Video of more results: https://www.youtube.com/watch?v=-EzztzKoPeo Requirem

Robotics Evolution and Art Lab 51 Jan 01, 2023
A mini lib that implements several useful functions binding to PyTorch in C++.

Torch-gather A mini library that implements several useful functions binding to PyTorch in C++. What does gather do? Why do we need it? When dealing w

maxwellzh 8 Sep 07, 2022
上海交通大学全自动抢课脚本,支持准点开抢与抢课后持续捡漏两种模式。2021/06/08更新。

Welcome to Course-Bullying-in-SJTU-v3.1! 2021/6/8 紧急更新v3.1 更新说明 为了更好地保护用户隐私,将原来用户名+密码的登录方式改为微信扫二维码+cookie登录方式,不再需要配置使用pytesseract。在使用扫码登录模式时,请稍等,二维码将马

87 Sep 13, 2022
public repo for ESTER dataset and modeling (EMNLP'21)

Project / Paper Introduction This is the project repo for our EMNLP'21 paper: https://arxiv.org/abs/2104.08350 Here, we provide brief descriptions of

PlusLab 19 Oct 27, 2022
A Convolutional Transformer for Keyword Spotting

☢️ Audiomer ☢️ Audiomer: A Convolutional Transformer for Keyword Spotting [ arXiv ] [ Previous SOTA ] [ Model Architecture ] Results on SpeechCommands

49 Jan 27, 2022
Self-Attention Between Datapoints: Going Beyond Individual Input-Output Pairs in Deep Learning

We challenge a common assumption underlying most supervised deep learning: that a model makes a prediction depending only on its parameters and the features of a single input. To this end, we introdu

OATML 360 Dec 28, 2022
Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021)

PGpoints Pytorch implementation of the paper Progressive Growing of Points with Tree-structured Generators (BMVC 2021) Hyeontae Son, Young Min Kim Pre

Hyeontae Son 9 Jun 06, 2022
Diverse Branch Block: Building a Convolution as an Inception-like Unit

Diverse Branch Block: Building a Convolution as an Inception-like Unit (PyTorch) (CVPR-2021) DBB is a powerful ConvNet building block to replace regul

253 Dec 24, 2022
Embracing Single Stride 3D Object Detector with Sparse Transformer

SST: Single-stride Sparse Transformer This is the official implementation of paper: Embracing Single Stride 3D Object Detector with Sparse Transformer

TuSimple 385 Dec 28, 2022
A collection of models for image<->text generation in ACM MM 2021.

Bi-directional Image and Text Generation UMT-BITG (image & text generator) Unifying Multimodal Transformer for Bi-directional Image and Text Generatio

Multimedia Research 63 Oct 30, 2022
SegNet-Basic with Keras

SegNet-Basic: What is Segnet? Deep Convolutional Encoder-Decoder Architecture for Semantic Pixel-wise Image Segmentation Segnet = (Encoder + Decoder)

Yad Konrad 81 Jun 30, 2022
Multi-label Co-regularization for Semi-supervised Facial Action Unit Recognition (NeurIPS 2019)

MLCR This is the source code for paper Multi-label Co-regularization for Semi-supervised Facial Action Unit Recognition. Xuesong Niu, Hu Han, Shiguang

Edson-Niu 60 Nov 29, 2022
A graph-to-sequence model for one-step retrosynthesis and reaction outcome prediction.

Graph2SMILES A graph-to-sequence model for one-step retrosynthesis and reaction outcome prediction. 1. Environmental setup System requirements Ubuntu:

29 Nov 18, 2022
Code for the TPAMI paper: "Syntax Customized Video Captioning by Imitating Exemplar Sentences"

Syntax-Customized-Video-Captioning Code for the TPAMI paper: "Syntax Customized Video Captioning by Imitating Exemplar Sentences". This is my second w

3 Dec 05, 2022
PyTorch implementation of "VRT: A Video Restoration Transformer"

VRT: A Video Restoration Transformer Jingyun Liang, Jiezhang Cao, Yuchen Fan, Kai Zhang, Rakesh Ranjan, Yawei Li, Radu Timofte, Luc Van Gool Computer

Jingyun Liang 837 Jan 09, 2023
I tried to apply the CAM algorithm to YOLOv4 and it worked.

YOLOV4:You Only Look Once目标检测模型在pytorch当中的实现 2021年2月7日更新: 加入letterbox_image的选项,关闭letterbox_image后网络的map得到大幅度提升。 目录 性能情况 Performance 实现的内容 Achievement

55 Dec 05, 2022
From Fidelity to Perceptual Quality: A Semi-Supervised Approach for Low-Light Image Enhancement (CVPR'2020)

Under-exposure introduces a series of visual degradation, i.e. decreased visibility, intensive noise, and biased color, etc. To address these problems, we propose a novel semi-supervised learning app

Yang Wenhan 117 Jan 03, 2023
Explainability for Vision Transformers (in PyTorch)

Explainability for Vision Transformers (in PyTorch) This repository implements methods for explainability in Vision Transformers

Jacob Gildenblat 442 Jan 04, 2023
Yoga - Yoga asana classifier for python

Yoga Asana Classifier Description Hi welcome to my new deep learning project "Yo

Programminghut 35 Dec 12, 2022
ICCV2021: Code for 'Spatial Uncertainty-Aware Semi-Supervised Crowd Counting'

ICCV2021: Code for 'Spatial Uncertainty-Aware Semi-Supervised Crowd Counting'

Yanda Meng 14 May 13, 2022