检测ai生成文本还是人类文本系统简单实现代码
时间: 2024-01-26 08:01:03 浏览: 129
基于RoBERTa模型实现AI生成文本检测
要判断一段文本是由AI生成还是人类写的,可以通过比较文本的语言风格、逻辑结构和中文表达方式等特征来进行分析。
以下是一个简单的实现代码示例:
```python
import jieba
from gensim import models
def check_text(text):
# 加载已经训练好的word2vec模型
model = models.Word2Vec.load("word2vec.model")
# 分词处理
words = jieba.lcut(text)
# 特征提取
features = []
for word in words:
if word in model.wv:
features.append(model.wv[word])
# 判断文本的相似度
similarity = 0
if len(features) > 0:
similarity = sum(features) / len(features)
# 设置阈值,判断是人类文本还是AI生成文本
threshold = 0.5
if similarity > threshold:
return "人类文本"
else:
return "AI生成文本"
# 测试
text1 = "这是一段AI生成的文本。"
text2 = "这是一段人类写的文本。"
print(check_text(text1))
print(check_text(text2))
```
以上代码使用了中文分词工具jieba和词向量模型word2vec,将文本转换为词向量特征,并计算文本的相似度。如果相似度大于设定的阈值,就判断为人类文本;反之,判断为AI生成文本。
需要注意的是,由于AI技术的不断发展和进步,这样简单的判断方法并不总能准确判断出AI生成文本,会存在一定的误差。因此,在实际应用中可能需要更复杂的算法和多个特征进行综合分析,以提高判断的准确性。
阅读全文