在日常生活中,我们经常会看见一些被恶意遭到篡改的文章、书籍,这种篡改可能是出于自私自利的原因或者是其他什么不太能说的原因。这种篡改包括:段落删改、文章词汇替换等(咳咳,你懂的,再说就要被封号了)。比如一个英文文献的中文翻译版本可能被改的千疮百孔,或者是翻译质量太差(也许是故意的)
这种删改是无意义的,这分明是一种特权——英语好的人可以更方便地接触原版信息,英语差的人只能看被篡改的信息,而且还心惊胆战。这难道不是一种对于出版社的不信任吗?
基于这点考量,我打算使用人工智能技术来防篡改。具体来说,我要微调xlm-roberta大语言模型。我所用的篡改数据是这样收集的:
首先,我获得了2017年中英翻译的数据集,有足足一千万条,每一行都对应了英文原文和它的翻译。
我对50%的英文原文,随机抽取一部分实词,把他修改成其反义词/近义词或直接删掉。
然后再对那些被模拟篡改的内容打上“0”这个标签,没被篡改的内容打上“1”标签。然后开始训练,模型的输入是两个中英文段落,输出是两个段落是否遭到篡改。
这种训练可以使得模型领悟到篡改的的一般模式,我的下一步计划是再微调我的这个模型,使得它可以在某些特定任务上(比如对一些敏感词的篡改)表现良好,起到防止篡改的作用。
我现在急需一些文本删改的数据集,希望广大真正的爱国人士、支持我国走向更加开放的人士、有意愿为人民服务的人士可以帮助我。如果有些翻译的特别垃圾的文段也可以给我。你可以把你整理好的删改数据集发到我的邮箱里,作为回报,每发1条(且被我确认的确是篡改的)可以获得1元钱。我的邮箱:megagimen@gmail.com
谢谢大家!
btw顺便开源一下我的基础模型训练代码:
import os
import torch
from torch.utils.data import DataLoader, Dataset
from transformers import XLMRobertaTokenizer, XLMRobertaForSequenceClassification
from transformers import AdamW, get_scheduler
import torch.nn as nn
import pandas as pd
from sklearn.model_selection import train_test_split
from tqdm import tqdm # 引入 tqdm 进度条库
# 启用 Tensor Cores 优化
torch.set_float32_matmul_precision("high")
# 自定义数据集
class SimilarityDataset(Dataset):
def __init__(self, texts_a, texts_b, labels, tokenizer, max_len):
self.texts_a = texts_a
self.texts_b = texts_b
self.labels = labels
self.tokenizer = tokenizer
self.max_len = max_len
def __len__(self):
return len(self.labels)
def __getitem__(self, index):
text_a = str(self.texts_a[index])
text_b = str(self.texts_b[index])
label = self.labels[index]
if not text_a or not text_b:
raise ValueError(f"Empty input at index {
index}: text_a={
text_a}, text_b={
text_b}")
encodings = self.tokenizer(
text_a,
text_b,
max_length=self.max_len,
padding="max_length",
truncation=True,
return_tensors="pt",
)
input_ids = encodings[