ChatGPT生成文本检测器-task8

#### 任务八:使用Word2Vec词向量,搭建BILSTM模型进行训练和预测

  • 说明:在这个任务中,你将使用Word2Vec词向量,搭建BILSTM模型进行文本分类的训练和预测,通过双向长短期记忆网络来进行文本分类。
  • 实践步骤:
    1. 准备Word2Vec词向量模型和相应的训练数据集。
    2. 构建BILSTM模型,包括嵌入层、BILSTM层、全连接层等。
    3. 将Word2Vec词向量应用到模型中,作为词特征的输入。
    4. 使用训练数据集对BILSTM模型进行训练。
    5. 使用训练好的BILSTM模型对测试数据集进行预测。

from gensim.models.word2vec import Word2Vec

import pandas as pd

import numpy as np

from collections import defaultdict

from gensim import corpora

import tensorflow as tf

import tensorflow as tf

from tensorflow import keras

from tensorflow.python.keras import layers, optimizers

from keras.preprocessing.sequence import pad_sequences

# reference: https://www.kaggle.com/code/stoicstatic/twitter-sentiment-analysis-using-word2vec-bilstm

train_data = pd.read_csv('./ChatGPT生成文本检测器公开数据-更新/train.csv')

test_data = pd.read_csv('./ChatGPT生成文本检测器公开数据-更新/test.csv')

# 对输入的内容进行处理

train_labels = train_data['label']

train_data['content'] = train_data['content'].apply(lambda x: x[1:-1].strip().replace('\n', ' \n '))

test_data['content'] = test_data['content'].apply(lambda x: x[1:-1].strip().replace('\n', ' \n '))

train_data['content'] = train_data['content'].apply(lambda x: x.split(' '))

test_data['content'] = test_data['content'].apply(lambda x: x.split(' '))

train_data['content'] = train_data['content'].apply(lambda x: [i for i in x if i != '' and i != '\n'])

test_data['content'] = test_data['content'].apply(lambda x: [i for i in x if i != '' and i != '\n'])

train_data = train_data['content']

test_data = test_data['content']

# 加载Word2Vec词向量模型

word2vec_model = Word2Vec.load("word2vec.model")

# 获取Word2Vec词向量的维度

embedding_dim = word2vec_model.vector_size

print('embedding_dim', embedding_dim)

# 词典大小

vocab = word2vec_model.wv.key_to_index

vocab_length = len(vocab)

# Defining the model input length.

input_length = 200

X_train = pad_sequences(train_data, maxlen=input_length)

X_test = pad_sequences(test_data, maxlen=input_length)

print("X_train.shape:", X_train.shape)

embedding_matrix = np.zeros((vocab_length, embedding_dim))

for word, i in vocab.items():

try:

embedding_vector = word2vec_model.wv[str(word)]

embedding_matrix[i] = embedding_vector

except KeyError:

continue

print("Embedding Matrix Shape:", embedding_matrix.shape)

def getModel():

embedding_layer = layers.Embedding(input_dim = vocab_length,

output_dim = embedding_dim,

weights=[embedding_matrix],

input_length=input_length,

trainable=False)

model = tf.keras.Sequential([

embedding_layer,

layers.Bidirectional(layers.LSTM(100, dropout=0.3, return_sequences=True)),

layers.Bidirectional(layers.LSTM(100, dropout=0.3, return_sequences=True)),

layers.Conv1D(100, 5, activation='relu'),

layers.GlobalMaxPool1D(),

layers.Dense(16, activation='relu'),

layers.Dense(2, activation='softmax'),

],

name="Sentiment_Model")

return model

training_model = getModel()

print(training_model.summary())

training_model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# from keras.callbacks import ReduceLROnPlateau, EarlyStopping

# callbacks = [ReduceLROnPlateau(monitor='val_loss', patience=5, cooldown=0),

# EarlyStopping(monitor='val_accuracy', min_delta=1e-4, patience=5)]

# 转换训练数据集的标签为one-hot编码

train_labels = tf.keras.utils.to_categorical(train_labels)

history = training_model.fit(

X_train, train_labels,

batch_size=1024,

epochs=10,

validation_split=0.1,

# callbacks=callbacks,

verbose=1,

)

#模型的保存

training_model.save('BiLSTM-model-epoch10.h5')

# 预测测试数据集的分类结果

predictions = training_model.predict(X_test)

predicted_labels = predictions.argmax(axis=1)

# 读取提交样例文件

submit = pd.read_csv('./sample_submit.csv')

submit = submit.sort_values(by='name')

# 将预测结果赋值给提交文件的label列

submit['label'] = predicted_labels

# 保存提交文件

submit.to_csv('./bilstm.csv', index=None)

效果一般

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53037.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT生成文本检测器-task1

### 背景介绍 近年来人工智能在自然语言处理领域取得了巨大的进展。其中一项引人注目的技术是生成模型,如OpenAI的GPT-3.5。这类模型通过学习大量的文本数据,具备了生成高质量文本的能力,从而引发了一系列关于文本生成真实性的讨论。 正因为…

Mac GoLand打不开(闪退)也不报错

Mac用过GoLand,电脑应用初始化后就打不开了,下其他版本也不行 原因就是之前的配置文件还在需要清理: /Users/你的文件/Library/Preferences/ 配置文件在这个文件下

MAC 有些网址可以 ping 通,但是浏览器打不开

MAC 访问外网网址打不开,因为平时开着 VPN,故开始逐步排查问题: 重启电脑ping ip切换网络改 DNS 方法都试过了在公司还是不行,但是在家里能连上 最后解决办法是点击网络,新建位置就一切正常了。

Mac有些网址打不开问题解决办法

搜这个问题的兄嘚是不是遇到了这样的问题,大多数网页可以打开,但是某些网页确死活打不开,将连接发给朋友,人家秒开,很气,辣鸡Mac ,,,困扰了我这么久,&#xf…

Mac上Chrome登录了LT网页打不开

Mac上首先登陆了LT成功的时候上面的菜单栏会显示点亮状态的LT 可是过了一段时间,发现菜单栏上的LT不见了,此时发现浏览器打开其他的网页的时候打不开 经过排查发现原因如下 需要退出这个LT进程 解决办法: 进入活动监视器,找到…

解决Mac能上微信聊QQ但是打不开网页的问题

解决Mac能上微信聊QQ但是打不开网页的问题 1.在访达中,前往文件夹 2.操作截图 复制代码 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist3.在SystemConfiguration文件夹里面 4.只要留下com.apple.Boot.plist文件,其他全部删掉&#xf…

Mac 电脑能联网但打不开网页

Mac 电脑能联网但打不开网页 现象描述现象分析解决方法网络高级配置DNS 现象描述 今天电脑出现一个奇怪的现象,可以连接上网络,钉钉和微信可以正常收发信息,但是浏览器却怎么也访问不了网页,断网重新连接依然没作用,这…

mac和window电脑 解决github打不开问题

一.mac电脑(mac电脑亲测有效) 1.新建一个访达窗口,同时按住shift command G三个键,进入前往文件夹页面 2.在输入框内输入/etc/hosts 3.找到hosts文件夹 4.由于hosts文件夹不可编辑,所以复制一份hosts文件先保存到本地桌…

mac升级Monterey12.3 AccessClient打不开

搜了一圈发现是由于新系统将python2运行库移除了。 解决方案:进入application之后找到accessclient 进入Contents/Resources/Scripts,进入main.scpt文件中的python修改成python3。 修改完之后进入bastion,点击堡垒机跳转发现还是闪退,不成功…

未来Mac下载站怎么打不开了

重要公告: 未来软件园因业务需要现更换域名 原域名:Mac.orsoon.com 更为新域名:未来mac下载-Mac软件-mac软件下载-mac软件大全 程序已全面转移,请访问新域名

解决GitHub打不开(FastGithub,支持MAC)

前言 最近在想在github上查阅框架源码,发现所有github相关网址都打不开,其实之前也有过,但是直接将https更换为www就能解决,这次抽风实在厉害,更改也无用(之前就是我懒的去找方法,得过且过,哈哈…

【mac】MAC下phpstorm重装后打不开、闪退

原先装的是phpstorm2019.1破解版的。后面mac升级到mac12的版本, phpstorm就时不时的意外退出,特别是开启2个项目就挂了, 无奈只能把破解版的phpstorm2019.3删除了,然后从phpstormhttps://www.jetbrains.com.cn/phpstorm/promo/?audience2113…

【Mac解决方案】打不开“XXX“,因为它不是从AppStore下载

从亨亨猫官网下载亨亨猫去水印苹果Mac版本软件后,安装的时候提示: 解决方案 下拉 Apple 菜单并选择“系统偏好设置”,选择“安全性与隐私”,选择“通用”选项卡。单击左下角的锁定图标,解锁。在“允许从以下位置下载…

MAC突然打不开Notion,你遇到过这个问题吗?

目录 解决办法 为什么Notion会突然打不开呢? Notion是一款适合记录/规划的应用,而且页面简洁,模板强大,深得大家喜爱。我也经常在Notion上制定计划、记录学习笔记等。不过,今天突然打不开了,网页版、本地…

macOS 提示“***.app打不开”解决办法

检查 SIP 状态 csrutil statusenabled为开启状态,disabled为关闭状态 使其关闭: csrutil disable使其开启: csrutil enable查看包内容 在application文件夹中找到你打不开的应用程序>右键显示包内容>MacOS文件夹>找到你打不开的a…

Mac 活动监视器打不开,一打开闪退

相信很多同胞都遇到这个问题,Mac本发热十分厉害,严重影响续航能力,又不知道是怎么回事,想打开活动监视器却打不开。 花了很长时间终于在某个网站上我找到解决的方法。 切换系统语言。 添加English 切换地区即可 之后重启。你会…

MacBook Pro连接个人热点,能登录微信,却打不开网页问题

一、问题描述 今天我去现场办公,拿着自己的MacBook Pro到那之后,发现自己没有带转换头,无法使用现场指定的网线进行连接上网。所以,无奈之举只能使用个人热点。但是发现Mac连接热点后,只能登录微信,网页打…

MacPro微信可以使用,其他应用均不能联网,浏览器网页也打不开

MacPro微信可以使用,其他应用均不能联网,浏览器网页也打不开 问题描述解决办法 问题描述 1.MacPro已连接WiFi,WiFi可用; 2.微信可正常使用,其他应用如Safari、芒果TV/腾讯视频等均无法联网; 3.重启两次以上…

关于macbook只能登陆微信但无法打开网络的问题解决

遇到的问题: macbook在连接网络之后,只能登陆微信和邮箱等第三方应用软件,但是无法在浏览器中打开任何网页。尝试过:重启、更换网络连接方式、浏览器类型之后仍然无法解决。 网上找到的方法: 修改DNS(http…

不用RLHF,匹敌GPT-4!Meta重磅发布LIMA 65B,1000个样本性能飞升,LeCun转赞

来源 | 新智元 ID | AI-era 人人都知,让ChatGPT称霸天下的秘密武器,就是人类反馈强化学习(RLHF)。 而现在,Meta AI等机构的爆火研究LIMA直接打破这一规则,直言RLHF并没有那么重要! 论文一出…