PaddleHub色情检测模型
porn_detection_lstm
色情检测模型可自动判别文本是否涉黄并给出相应的置信度,对文本中的色情描述、低俗交友、污秽文爱进行识别。porn_detection_lstm采用LSTM网络结构并按字粒度进行切词,具有较高的分类精度。该模型最大句子长度为256字,仅支持预测。
NOTE: 如果您在本地运行该项目示例,需要首先安装PaddleHub。如果您在线运行,需要首先fork该项目示例。之后按照该示例操作
porn_detection_lstm模型链接:https://www.paddlepaddle.org.cn/hubdetail?name=porn_detection_lstm&en_category=TextCensorship
环境:PaddlePaddle2.0.0rc PaddleHub2.0.0b1 porn_detection_lstm 1.1.0(最新版)
一、安装新版Hub
!pip install paddlehub==2.0.0b1 -i https://pypi.tuna.tsinghua.edu.cn/simple
二、定义待预测文本
这里以"黄片下载、打击黄牛党"为例。
实现效果
[{'text': '黄片下载', 'porn_detection_label': 1, 'porn_detection_key': 'porn', 'porn_probs': 0.9879, 'not_porn_probs': 0.0121}, {'text': '打击黄牛党', 'porn_detection_label': 0, 'porn_detection_key': 'not_porn', 'porn_probs': 0.0004, 'not_porn_probs': 0.9996}]
test_text = ["黄片下载", "打击黄牛党"]
三、API预测
PornDetectionLSTM API说明
detection(texts=[], data={}, use_gpu=False, batch_size=1)
porn_detection_cnn预测接口,鉴定输入句子是否为黄文
参数
- texts(list): 待预测数据,如果使用texts参数,则不用传入data参数,二选一即可
- data(dict): 预测数据,key必须为text,value是带预测数据。如果使用data参数,则不用传入texts参数,二选一即可。建议使用texts参数,data参数后续会废弃。
- use_gpu(bool): 是否使用GPU预测
- batch_size(int): 批处理大小
返回
- results(list): 鉴定结果
大家按自己的需求选择需要的模型
如果想尝试其他模型,只需要更换Module中的name
参数即可.
模型名 | PaddleHub Module |
---|---|
LSTM | hub.Module(name='porn_detection_lstm') |
GRU | hub.Module(name='porn_detection_gru') |
CNN | hub.Module(name='porn_detection_cnn') |
四、加载预训练模型并预测
import json
import six
import paddlehub as hub
# Load porn_detection_lstm module
porn_detection_lstm = hub.Module(name="porn_detection_lstm")
input_dict = {"text": test_text}
results = porn_detection_lstm.detection(data=input_dict,use_gpu=True, batch_size=1)
for index, text in enumerate(test_text):
results[index]["text"] = text
for index, result in enumerate(results):
if six.PY2:
print(
json.dumps(results[index], encoding="utf8", ensure_ascii=False))
else:
print(results[index])
五、命令行预测
test.txt的格式为:
黄片下载
打击黄牛党
!hub run porn_detection_lstm --input_text "黄片下载"
!hub run porn_detection_lstm --input_file test.txt