Python 为什么我对空间文本分类有同样的预测?

Python 为什么我对空间文本分类有同样的预测?,python,machine-learning,spacy,text-classification,Python,Machine Learning,Spacy,Text Classification,我正在研究google colab pro,第一次使用SpaCy进行文本分类,并将其与我的Tensorflow模型进行比较。我有10个标签或类别:“恐惧”、“积极”、“厌恶”、“期待”、“愤怒”、“悲伤”、“快乐”、“信任”、“惊讶”和“消极”。列车数据合成如下所示: TRAIN_DATA=[('word',{'cats':{'label_1':0,'label_2':1,…]),…] 然而,当我试图做出预测时,我总是得到相同的分类和准确度,无论预测的是什么 环境 列车数据 [。。。 (“道德”

我正在研究google colab pro,第一次使用SpaCy进行文本分类,并将其与我的Tensorflow模型进行比较。我有10个标签或类别:
“恐惧”、“积极”、“厌恶”、“期待”、“愤怒”、“悲伤”、“快乐”、“信任”、“惊讶”和“消极”
。列车数据合成如下所示:

TRAIN_DATA=[('word',{'cats':{'label_1':0,'label_2':1,…]),…]

然而,当我试图做出预测时,我总是得到相同的分类和准确度,无论预测的是什么

环境 列车数据
[。。。
(“道德”,
{'cats':{'anger':0,
“预期”:0,
“厌恶”:0,
“恐惧”:0,
“joy”:0,
“否定”:1,
“正”:0,
“悲伤”:0,
“惊喜”:0,
“信任”:0}),
(“道德的”,
{'cats':{'anger':0,
“预期”:0,
“厌恶”:0,
“恐惧”:0,
“joy”:0,
“否定”:1,
“正”:0,
“悲伤”:0,
“惊喜”:0,
“信任”:0})
...]
初始化 以及向文本分类器添加标签类别

nlp=spacy.load(“en_core\u web\u sm”)
category=nlp.create_管道(“textcat”,config={“exclusive_类”:True})
nlp.添加_管道(类别)
类别。添加_标签(“信任”)
类别。添加_标签(“恐惧”)
类别。添加_标签(“厌恶”)
类别。添加标签(“惊喜”)
类别。添加标签(“预期”)
类别。添加_标签(“愤怒”)
类别。添加_标签(“joy”)
训练
#获取其他管道的名称,以便在培训期间禁用它们
n_iter=10
管道例外情况=[“文本猫”、“trf\U拼字器”、“trf\U tok2vec”]
其他_管道=[nlp.pipe_名称中管道的管道,如果管道不在管道中_例外]
使用nlp。禁用_管道(*其他_管道):#仅训练文本CAT
optimizer=nlp.begin\u training()
对于tqdm中的i(范围(n_iter)):
损失={}
随机。随机(训练数据)
对于TQM中的批次(小批次(列_数据,大小=50)):
#文本=[nlp(文本)用于文本,批量中的实体]
文本,注释=zip(*批)
#注释=[{“猫”:实体}文本,成批实体]
尝试:
更新(文本、注释、sgd=优化器、损失=损失)
除:
通过
打印('\n{}.loss:{}'。格式(i,loss))

100%|██████████| 10/10[09:26我的猜测是,这是因为数据集不平衡。分类器只是学习预测最频繁的类,然后陷入局部最优。
NVIDIA-SMI 450.57 | Driver Version: 418.67 | CUDA Version: 10.1  
Runtime 27.39 GB of available RAM