通过截取手机上面的题目,利用百度文字识别识别问题和答案。
- 首先还是要下载adb工具,下文有介绍
- 下载夜神模拟器并安装
- 安装完成后,打开 cmd, 检查是否有模拟器设备
adb devices
- 在模拟器中安装答题应用
- 运行
python main.py
notice: 百度的注册开发者后,创建应用就可以看见自己的 key 和 secret 。
- 从python官网安装python3.6环境
- pip install -r requirements.txt
- 创建默认的临时文件夹mkdir -p screenshots
- 修改默认的配置文件
config.yaml
,配置文件夹中可以配置临时数据目录和appcode
以 linux 为例:
- 下载 android-platform-tools,访问google下载,默认 mac,windows, linux 均支持
- 配置环境变量,进入 platform 目录下面
export PATH=$(pwd):PATH
配置 adb 工具到系统的 path 下面 - 手机打开开发者模式
- 使用usb连接手机后信任,
adb devices
来检查是否有自己的设备,确认已经连接 - 接下来就进入百万英雄,等待有题目的时候就运行
python main.py
即可
- 2018/1/22: 增加数据同步设置
- 2018/1/21: 增加问题备份,增加搜狗,增加图片放缩,加速,游戏切换,自适应
- 2018/1/18: 增加uc辅助,另外修复统计bug
- 2018/1/15: 增加芝士大会的支持,另外增加特别关键字
- 2018/1/14: 新增知识库功能, 内置adb,小白版一键运行
- 2018/1/13: 增加浏览器支持,修复部分bug
- 2018/1/12: 更改搜索策略,自动决策,减少python依赖
- 2018/1/11: 结巴分词预编译和多核分词优化
- 2018/1/10: 增加ios分支,修复master文本摘要bug
- 2018/1/9: 修复答案获取bug,增加长文本信息摘要算法,增加百度OCR
- 2018/1/9: 使用相似度猜测答案,请切换分支使用
- master: 主要是 Android 手机使用,支持汉王 / 百度识别 / ocrspace
- knearby: 根据文本关联度思想,答案更加清晰,目前只支持百度识别
对于答题这样的项目,首先一个问题,然后有三个答案可以选择,能不能通过分别统计问题与三个答案的关联度来选择出正确的答案,由于数据采集是来自百度的,可能会受到部分广告数据的影响,但是在集合相当大的情况下,关联度还是会呈现正相关。
假设题目是:
中国历史上著名的科举制度开始于那个朝代?
- 汉朝
- 唐朝
- 隋朝
我们先用百度分别搜索汉朝
,唐朝
,隋朝
,得到如下数据:
朝代 | 搜索出的数量(来自百度为您找到相关结果约) |
---|---|
汉朝 | 17900000 |
唐朝 | 30500000 |
隋朝 | 16600000 |
然后我们在用题目
+ 答案的方式,搜索示例:
中国历史上著名的科举制度开始于那个朝代? 汉朝
得到三次的搜索结果:
关键字 | 搜索出的数量(来自百度为您找到相关结果约) |
---|---|
Q + 汉朝 | 602000 |
Q + 唐朝 | 837000 |
Q + 隋朝 | 658000 |
关联度计算方式:
K = count(Q&A) / (count(Q) * count(A))
关联度如下:
答案 | 关联度 |
---|---|
汉朝 | 0.0336 |
唐朝 | 0.0274 |
隋朝 | 0.0396 |