用户:
好奇的铁奥UsFM查看:0 回复:0 评论:0 创建时间:2021-02-04T15:20:26
【作品展示】

【作品介绍】
大家来猜诗
【作品源代码】
import jieba
from nltk.classify import NaiveBayesClassifier
#收集证据
#读取苏轼的诗
with open('sushi.txt','r',encoding='UTF-8-sig') as txt:
text1=txt.read()
list1=jieba.lcut(text1)
result1=' '.join(list1)
# print(list1)
# print(result1)
#读取陆游的诗
with open('luyou.txt','r',encoding='UTF-8-sig') as txt:
text2=txt.read()
list2=jieba.lcut(text2)
result2=' '.join(list2)
# print(list2)
# print(result2)
#词语特征函数
def word_feats(words):
return dict([(word,True)for word in words])
#给故事词语贴标签
ss_features=[(word_feats(ss),'ss') for ss in result1]
ly_features=[(word_feats(ly),'ly') for ly in result2]
train_set=ss_features+ly_features
classifier=NaiveBayesClassifier.train(train_set)
print(classifier.classify({'竹':True}))
print('少年,诗落谁家,敢挑战吗?!')
print('我们的游戏规则是:你只需输入苏轼/陆游的诗句,程序就能猜出作者呦!')
print('-----------------------------------------------------------------')
sentence=input('请在这里输入想到的一句苏轼或陆游的诗句:')
words=jieba.lcut(sentence)
print(words)
ss=0
ly=0
for word in words:
print(word)
classResult=classifier.classify(word_feats(word))
if classResult=='ss':
ss+=1
if classResult=='ly':
ly+=1
su=ss/len(words)
lu=ly/len(words)
print('苏轼的可能性:',su)
print('陆游的可能性:',lu)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn