繁体   English   中英

使用 BERT 和 Tensorflow 的多标签文本分类 2

[英]Multilabel text classification using BERT and Tensorflow 2

我正在尝试使用 BERT 构建一个简单的多标签文本分类管道; 目标是对社交媒体帖子的内容进行分类,任何帖子都可以有多个 label(即,帖子可以标记为“药物”和“身心健康”)。 我对 BERT 非常陌生,并试图按照我发现的这个示例进行操作: https://towardsdatascience.com/building-a-multi-label-text-classifier-using-bert-and-tensorflow-f188e0ecdc5d我有一些问题如何为此任务进行设置。 在我的 Anaconda 系统中,我之前安装了 Tensorflow 2.0 版。 我已经运行了命令“pip install bert-tensorflow”,然后运行了以下命令:

import tensorflow as tf
import tensorflow_hub as hub
import bert
from bert import run_classifier
from bert import optimization
from bert import tokenization
from bert import modeling

并在“from bert import run_classifier”步骤出现此错误:

ModuleNotFoundError: No module named 'tensorflow.contrib'

我做了一些研究,发现 Tensorflow 2.0 确实没有 contrib 模块,但早期版本有。 我只是想知道如何解决这个问题? 我不想降级我的 Tensorflow 版本。 而且,如果有人可以请我指出多标签文本分类和 BERT 的其他示例,我将不胜感激(到目前为止,我所看到的还不是很容易理解)。

谢谢

您可以通过在代码之前选择Tensorflow 版本 1.x来避免此错误:

%tensorflow_version 1.x

import tensorflow as tf
tf.__version__   # to check the tensorflow version

Output:

TensorFlow 1.x selected.
'1.15.2' 

此代码行将为您的 kernel 运行时将 Tensorflow 版本转换为 1.15,现在您可以导入库并运行代码而不会出错:

import tensorflow as tf
import tensorflow_hub as hub
import bert
from bert import run_classifier
from bert import optimization
from bert import tokenization
from bert import modeling

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM