Python人工智能识别陆游和苏轼的古诗


用简洁的代码实现人工智能识别古诗的效果

第一步:导库

import pandas as pd
import numpy as np
import jieba
from sklearn.naive_bayes import *
from sklearn.model_selection import *
from sklearn.feature_extraction.text import *

sklearn库是人工智能的常用库。另外三个是数据预处理的常用库。

第二步:数据预处理

with open("sushi.txt", "r", encoding='utf-8') as txt:
    text1 = txt.read()
    list1 = jieba.lcut(text1)#jieba把句子断成词语

with open("luyou.txt", "r", encoding='utf-8') as txt:
    text2 = txt.read()
    list2 = jieba.lcut(text2)#jieba把句子断成词语

#给古诗词语贴标签
ss_features = []
for ss in list1:
    ss_features.append((ss,"苏轼"))
    
ly_features = []
for ly in list2:
    ly_features.append((ly,"陆游"))

这样,就完成了给古诗词语贴标签的步骤。
然后把这些词语分成训练组和测试组:

words = ss_features + ly_features
df = pd.DataFrame(words) 

split_data = train_test_split(df[0], df[1], random_state = 3)
x_train = split_data[0]
x_test = split_data[1]
y_train = split_data[2]
y_test = split_data[3]
tv = TfidfVectorizer()
x_train = tv.fit_transform(x_train)
x_test = tv.transform(x_test)


第三步:人工智能大展身手

clt = MultinomialNB()#编码器

clt.fit(x_train, y_train)#训练模型
print(clt.score(x_test, y_test))#打分

不要看就这么三行,但功能极强

第四步:实现功能

poem = input("请输入苏轼或陆游的诗句:")
poem_features = jieba.lcut(poem)

print(poem_features)
df2 = pd.DataFrame(poem_features) 
t_word = tv.transform(df2[0])
res = clt.predict(t_word)
print(res)
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

prince_zxill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值