在学习的道路无法自拔(python之ocr文字识别+tkinter)完成文字识别桌面应用 一、前言

在学习的道路无法自拔(python之ocr文字识别+tkinter)完成文字识别桌面应用 一、前言

	前沿:最近在看论文或者是写论文得过程中总是需要去查阅资料,但是无奈
很多资料只能看不能复制(看得到摸不到,哎)。个人从网上找到了几个ocr文
字识别软件,仿佛春天来了,需要的文字有了,妈妈再也不用担心我打字慢了。
but,作为一个在学习道路无法自拔得菜鸟程序员,抱着对任何新鲜事物(我没做
过的)东西都着一股好奇心的我。怎么能不自己尝试一下。所以,我又要给自己
记录下学习编写这个工具得学习历程(辛酸史啊,自己的好奇心,只能自己担着
了)
	作为一个资深菜鸟,我不想去研究什么心灵鸡汤,不想去想什么震撼得
话题,类似于(震惊!某某某因为什么怎么样了),一个技术论坛还是需要分享
一些技术问题,这样在我学习得时候就不会找到一堆乱七八糟得博客了,大数据
的时代,数据已经如此臃肿,还有人往里面添加乱七八糟得东西,真的令人。。
嗯~
开始

首先,分析一下我们需要什么东西

  • 总得会链接一个API或者python自带的ocr文字识别库吧
    • 这里我选择得是百度得api库(pip install baidu-aip)
    • 具体如何注册百度开发者账号我会在后文说明
  • 进行识别总得需要一个图片吧
    • 学习文件得读取操作
    • 使用python调用截图
  • 做一个桌面应用
    • 我选择的是比较基础的tkinter(慢慢来,我怕自己走不动)
  • 打包
    • 打包成一个.exe可执行文件

有人是这么说的

懒是科技发展的第一动力,

确实,我本来也是想在网上找一个ocr随便用用,可是奈何大佬们不愿意分享源码(或者是我没有找到,实名尴尬),找到了一个可以用的,一天20次免费(what?)没办法,鉴于学生党经济实力属实不堪入目,又碰上疫情(虽然没有疫情我也没有钱),那我又不想每次都自己手打,也没钱,只能自己动手了(无奈)

*下一步计划(2020.5.11)
继续学习爬虫,争取本月结束博客学习笔记撰写,完成所有目标案例
制作该小应用,并学习相关知识(给自己)
*

我希望有兴趣学习得可以给我评论,一起探讨问题,OK,知识学习记录以及代码在以后小节中放上去。如果有人看到了我得学习笔记,觉得有问题得请留言对我这个小菜鸟进行指导,谢谢大佬

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现真假新闻识别的流程可以分为三个步骤: 1. 数据预处理: 从数据源中获取真假新闻数据,对数据进行清洗、去重、分词等处理。分词后的数据可以用来训练朴素贝叶斯模型。 2. 朴素贝叶斯模型训练: 使用分词后的数据训练朴素贝叶斯模型,得到模型参数。 3. 界面实现: 使用tkinter库实现界面,用户可以输入新闻内容,程序会自动识别出输入的新闻是真是假。 下面是具体实现步骤: 1. 数据预处理: 从数据源中获取真假新闻数据,对数据进行清洗、去重、分词等处理。可以使用Python中的pandas和jieba库来实现。 ```python import pandas as pd import jieba # 加载数据 data = pd.read_csv('news.csv') # 去重 data = data.drop_duplicates() # 分词 data['content'] = data['content'].apply(lambda x: ' '.join(jieba.cut(x))) # 保存数据 data.to_csv('news_processed.csv', index=False) ``` 2. 朴素贝叶斯模型训练: 使用分词后的数据训练朴素贝叶斯模型,得到模型参数。可以使用Python中的sklearn库来实现。 ```python from sklearn.naive_bayes import MultinomialNB from sklearn.feature_extraction.text import CountVectorizer import pandas as pd # 加载数据 data = pd.read_csv('news_processed.csv') # 分割数据集 train_data = data.sample(frac=0.8, random_state=0) test_data = data.drop(train_data.index) # 特征提取 vectorizer = CountVectorizer() X_train = vectorizer.fit_transform(train_data['content']) X_test = vectorizer.transform(test_data['content']) # 标签 y_train = train_data['label'] y_test = test_data['label'] # 训练模型 clf = MultinomialNB() clf.fit(X_train, y_train) # 测试模型 accuracy = clf.score(X_test, y_test) print('准确率:', accuracy) ``` 3. 界面实现: 使用tkinter库实现界面,用户可以输入新闻内容,程序会自动识别出输入的新闻是真是假。 ```python import tkinter as tk from sklearn.naive_bayes import MultinomialNB from sklearn.feature_extraction.text import CountVectorizer import jieba # 加载模型和词向量 clf = MultinomialNB() clf.load('model.pkl') vectorizer = CountVectorizer() vectorizer.load('vectorizer.pkl') # 预处理函数 def preprocess(text): return ' '.join(jieba.cut(text)) # 预测函数 def predict(): # 获取用户输入 text = entry.get() # 预处理 text = preprocess(text) # 特征提取 X = vectorizer.transform([text]) # 预测 y = clf.predict(X)[0] # 显示结果 if y == 0: result.configure(text='真新闻') else: result.configure(text='假新闻') # 创建窗口 window = tk.Tk() window.title('新闻识别') window.geometry('400x300') # 添加控件 label = tk.Label(window, text='请输入新闻内容:') label.pack() entry = tk.Entry(window, width=50) entry.pack() button = tk.Button(window, text='识别', command=predict) button.pack() result = tk.Label(window, text='') result.pack() # 运行窗口 window.mainloop() ``` 注意:在预测函数中,需要先对用户输入的新闻内容进行预处理和特征提取,才能送入模型进行预测。另外,需要把训练好的模型和词向量保存下来,以便在界面中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值