赞
踩
利用WORDAVG模型做文本分类 模型简单 效果号
简单思想就是 将每个词向量在 句子维度进行求平均 可以用avgpool来做平均池化
然后用平均后的向量作为句子向量 进行文本分类
后面我们还会介绍将rnn表示的句子向量进行文本分类
也可以用cnn进行文本分类
我们这篇文章代码和注释 主要是介绍 WORDEMage进行文本分类
- """
- 准备数据
- TorchText中的一个重要概念是Field。Field决定了你的数据会被怎样处理。在我们的情感分类任务中,
- 我们所需要接触到的数据有文本字符串和两种情感,"pos"或者"neg"。
- Field的参数制定了数据会被怎样处理。
- 我们使用TEXT field来定义如何处理电影评论,使用LABEL field来处理两个情感类别。
- 我们的TEXT field带有tokenize='spacy',这表示我们会用spaCy tokenizer来tokenize英文句子。
- 如果我们不特别声明tokenize这个参数,那么默认的分词方法是使用空格。
- 安装spaCy
- pip install -U spacy
- python -m spacy download en
- LABEL由LabelField定义。这是一种特别的用来处理label的Field。我们后面会解释dtype。
- 更多关于Fields,参见https://github.com/pytorch/text/blob/master/torchtext/data/field.py
- 和之前一样,我们会设定random seeds使实验可以复现。
- """
- import torch
- from torchtext import data
-
- SEED=1234
- torch.manual_seed(SEED)
- torch.cuda.manual_seed(SEED)
- torch.backends.cudnn.deterministic=True
- """
- 先决定怎么处理数据 Field是决定如何处理数据的
- 默认进行空格分词
- spacy 是根据点进行分词
- spaCy是世界上最快的工业级自然语言处理工具。 支持多种自然语言处理基本功能。
- 官网地址:https://spacy.io/
- spaCy主要功能包括分词、词性标注、词干化、命名实体识别、名词短语提取等等。
- """
- TEXT=data.Field(tokenize='spacy')
- LABEL=data.LabelField(dtype=torch.float)
-
- """
- TorchText支持很多常见的自然语言处理数据集。
- 下面的代码会自动下载IMDb数据集,然后分成train/test两个torchtext.datasets类别。
- 数据被前面的Fields处理。IMDb数据集一共有50000电影评论,每个评论都被标注为正面的或负面的。
- """
- from torchtext import datasets
- train_data,test_data=datasets.IMDB.splits(TEXT,LABEL)
-
- """
- 查看每个数据split 有多少条数据
- """
- print(f'number of training examples:{len(train_data)}')
- print(f"number of testing examples:{len(test_data)}")
- """
- 查看一个example
- {'text': ['Brilliant', 'adaptation', 'of', 'the', 'novel', 'that', 'made', 'famous', 'the', 'relatives', 'of', 'Chilean', 'President', 'Salvador', 'Allende', '
- killed', '.', 'In', 'the', 'environment', 'of', 'a', 'large', 'estate', 'that', 'arises', 'from', 'the', 'ruins', ',', 'becoming', 'a', 'force', 'to', 'abuse', 'and',
- 'exploitation', 'of', 'outrage', ',', 'a', 'luxury', 'estate', 'for', 'the', 'benefit', 'of', 'the', 'upstart', 'Esteban', 'Trueba', 'and', 'his', 'undeserved',
- 'family', ',', 'the', 'brilliant', 'Danish', 'director', 'Bille', 'August', 'recreates', ',', 'in', 'micro', ',', 'which', 'at', 'the', 'time', 'would', 'be', 'the',
- 'process', 'leading', 'to', 'the', 'greatest', 'infamy', 'of', 'his', 'story', 'to', 'the', 'hardened', 'Chilean', 'nation', ',', 'and', 'whose', 'main',
- 'character', 'would', 'Augusto', 'Pinochet', '(', 'Stephen', 'similarities', 'with', 'it', 'are', 'inevitable', ':', 'recall', ',', 'as', 'an', 'example', ',',
- '
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。