# api课程 **Repository Path**: Mutis/api-course ## Basic Information - **Project Name**: api课程 - **Description**: api课程 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-28 - **Last Updated**: 2022-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HELP_learn产品需求文档 | | | |---|---| |文档名称 | HELP_learn产品需求文档 | | 产品名称 |HELP_learn | | 产品版本 | 2.0 | | 文档拥有者 | 穆甜爽2010130128 | # 价值宣言 HELP_LEARN是一款可以快速查找及翻译的小程序,通过拍照及上传本地或者网络进行在线查找翻译,在这里可以通过快速打开进入登录页面,转换不同的身份就会有不同的功能需求,可以与老师进行在线的沟通及答疑,提高学习效率,激发学习欲望。该文档描述了Help_learn小程序的功能和性能的需求,作为对该项目在概要设计阶段的设计输入。目前写了图片识别和图片翻译接口,以及文字识别接口、手写文字接口,小程序目前由于技术问题实现不了,暂时为接口测试阶段。 # 需求概述及需求列表 ### 价值画布 buctu ## 项目背景 在当今世界,英语仍然是被广泛使用的。目前,市场上的大部分词典软件所提供的拍照功能,同样是用了图片处理识别技术,但是市场上的大部分APP提供的仅是单句翻译或者全文翻译,这一点实际上并不利于英语学习者,因为这些APP所提供的翻译功能翻译出的结果比较模糊,若是优秀一些的翻译功能,智能识别出的翻译相对原意进行了一定的美化,这种功能并不利于英语学习者具体了解每一个单词的意思。英语学习者想要学习英语,更需要的是记住单词的意思,单词是句子的基础,句子才能够构建出文章,由此可知记单词的重要性。同时,这些APP也不会根据用户的使用情况进行分析,从而得到一些可用的数据。 ## 产品定位 本小程序研究的目的主要是让用户在面对一篇文章的多个生词时,能够更快速的查询到每一个生词的释义,并通过软件的大数据分析,了解自己的不足之处。 * #### 本项目的主要研究内容有: * 1、通过图像识别技术识别出文章中的每一个单词,在用户点击生词时,能够出现该生词的释义及例句,并导出该生词在哪张试卷(历年中高考英语试卷/四、六级真题、考研英语)出现,并导出包含该生词的题目; * 2、通过编程让小程序实现自动分析并识别出用户高频率查询的生词并存入自动生成的生词本中; * 3、开发教师端及学生端,将两个端口联系在一起,教师端可以查询到学生端查询频率最高的单词及每个学生学习的情况。 ## 产品介绍 HELP_LEARN是一个便于学习的小程序,这个小程序将通过提供工具来协助用户学习英语,面对长篇大论的英文时,只需拍照识别即可查取生词,从而最大限度地提高学习英语的效率,避免手动查询带来的效率低下。结合题库和生词本收录,增强学习性。 * ### 竞品分析 本项目与目前市场上APP不同的有以下几点: * 1.可以智能识别出一个句子或一篇文章中的单个单词,用户只需要点击自己想要了解的生词,软件会给出该单词的释义及相关利句,包括含有该单词的题目; * 2.根据用户对于所查询单词的点击频率生成一份数据报告,并将点击频率较高的单词自动生成一个生词本,提供看词选意,选词填空,拼写单词三种记忆方式; * 3.小程序提供学生用户及教师用户,将两个平台搭建在一起,教师可以管理班级学生信息,系统会对班级内所有学生的数据进行分析,由此教师可以了解到学生使用该软件点击频率最高的生词,及这些生词衍生出的易错题。 ## 需求分析 划分为单词识别查词、题库、单词分析三个部分。学生通过单词识别查词,即可显示出这个单词的释义、例句以及包含有该单词的题目,单词分析形成生词本以供复习。普通用户使用单词识别查词功能。 ## 用户分析 * #### 学生 学生可以通过软件拍照识别一整篇文章中的每一个单词,只需要动手点击一下自己不认识的单词,即可显示出这个单词的释义、例句以及包含有该单词的题目(拟计划建立一个高考、四级、六级真题及考研英语题库),若需要做含有该单词的题目增强记忆,只需点击“相关题目”即可以进入做题界面,系统会自带判断正误以及计时的功能,在答题后对用户的答题情况进行评估; 对于用户近期频繁点击的单词,可以根据用户自身选择的频率(例如:点击过一次或点击过三次)生成一个“生词本”,以供用户进行单词的复习,用户也可以在查询单词的下方点击“收录进生词本”。针对这些生词本,系统还可以生成单词记忆闯关的功能,记忆闯关的功能包括看词选意,选词填空,拼写单词三种记忆方式。 * #### 普通用户 普通用户不需要加入班级,直接登入并使用拍照识别单词,生词本等功能,与学生的区别仅在于是否加入了班级。 * #### 教师 教师可以在小程序教师端口生成自己的班级,学生通过小程序学生端口加入该班级,教师端可以对学生近期的学习情况进行查看,同时系统会自动对学生查词频率最高的单词及易错题目进行数据分析,并反馈到教师端口供教师查阅和参考。 * #### 系统管理员 系统管理员主要进行软件日常维护,更新数据库。 ## 用户痛点 | 用户痛点 | API价值 | |------|-------| | 只能进行全篇翻译 | 百度云文字翻译 | | 手写文字识别不出 | 百度云API手写文字识别 | ## 用户画像及使用场景 buchong buc ## 需求列表 ### API产品分析 [百度智能云](https://console.bce.baidu.com) | API平台 | 产品名 | 价格 | 请求参数 | 支持语言 | |---|---|---|---|---|---| | 百度智能云 | 文本翻译 | 365天内免费 | access_token Content-Type | PHP Python curl JAVA Cpp C# | ![由于md语法不运行](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20220703142439.png) # 产品原型表述 ## 界面流程及交互 ![](%E6%96%87%E5%AD%97%E6%96%87%E7%A8%BF1_01.png) ## 界面三性分析 tu ## 数据流程及关键api使用 ### 产品功能结构 #### 产品功能结构图 ![产品结构图](1.jpg)软件系统有三种用户参与者(教师、学生和普通用户),划分为单词识别查词、题库、单词分析三个部分。学生通过单词识别查词,即可显示出这个单词的释义、例句以及包含有该单词的题目,单词分析形成生词本以供复习。系统会自动对学生查词频率最高的单词及易错题目进行数据分析,并反馈到教师端口供教师查阅和参考。两种用户皆通过互联网访问软件,通过软件系统建立联系。普通用户则可仅使用单词识别查词功能。 ### 功能分析 项目的整体功能结构如图所示,该软件中主要角色是教师和学生,他们可以完成的功能如注册登录、拍照识别单词、等,系统维护的系统管理员也是一个必要的角色,系统中也存在普通用户的角色,他具有拍照识别单词功能。![](2.jpg) #### 产品模块结构 系统由注册、登录、班级、单词识别、生词本、题库子系统组成。参与人员有教师、学生和普通用户,系统间不耦合,各自处理相应事务。 ![](3.jpg) * #### 子系统模块 子系统由普通用户、学生和教师执行相关操作,普通用户不需要加入班级,直接登入并使用拍照识别单词,生词本等功能,与学生的区别仅在于是否加入了班级。 学生可拍照识别单词,查看单词释义、例句、题库,答题,使用生词本收录,单词记忆闯关,加入班级。 教师除普通用户功能外,还可以生成班级,查看学生查词单词频率反馈、学生易错题目反馈。 * #### 注册系统模块 角色:教师,学生,普通用户 目的:用户注册 用例描述: (1)用户进入系统首页。 (2)系统显示注册界面,用户输入相关的身份信息,单击确定。 (3)用户名长度不足10位时,提示"用户名应为10位数字”,密码不足6位 或超过16位时,提示“密码必须为6位以上,16位以下”。 (4)系统经过后台确认数据合法后提示注册成功。 * #### 登录系统模块 角色:教师,学生,普通用户,管理员 目的:用户登录系统。 前置条件:用户身份为教师、学生、管理员、普通用户。 用例描述: (1)用户进入系统首页。 (2)系统显示登录界面, 用户输入用户名和密码,单击确定。 (3)系统检查是否有此用户信息,若存在此用户,用户进入系统:若不存在 此用户,本页面显示相应的错误信息。 (4)不同身份登录详细说明: 游客:不出现人员管理功能栏,不出现班级功能。 学生:不出现人员管理功能栏,不出现班级管理功能栏。 教师:不出现人员管理功能栏。 管理员:不出现班级管理等相关功能栏。 * #### 班级系统模块 班级系统主要为了便于教师管理学生,查看学生学习情况反馈。学生仅可加入班级,教师可生成班级以及对班级成员进行管理。 ![](4.jpg) 角色:学生,教师 目的:便于教师管理学生,查看学生学习情况反馈 用例描述: (1)教师生成班级,产生班级邀请码。 (2)学生输入班级邀请码申请加入班级,教师核对学生身份后同意进入,之后可查看系统对学生学习数据的反馈。 (3)班级内部有交流板块,用于师生提问答疑,教师有删除发言的权限。 * #### 单词识别查询模块 单词识别查询是软件的主要功能,所有用户都可使用,同时向教师端提供数据反馈。 ![](5.jpg) 角色:学生,教师,普通用户 目的:拍照选取单词,查词 用例描述: (1)用户通过客户端使用相机拍摄想要查词的英语文段,软件会自动提取每个单词。 (2)每遇到用户想查询的单词,直接点击即可进入单词查询页面。该页面包括单词释义、例句、以及包含有该单词的题目。 (3)系统会自动对学生查词频率进行数据分析,并反馈查询频率较高的单词到教师端口供教师查阅和参考。 * #### 生词库系统模块 生词库系统同样提供所有用户使用,是查词的辅助功能,包括加入生词库及单词记忆两个板块。 ![](%E5%9B%BE%E7%89%875.png) 角色:学生,教师,普通用户 目的:辅助单词记忆 用例描述: (1)对于用户近期频繁点击的单词,可以根据用户自身选择的频率(例如:点击过一次或点击过三次)生成一个“生词本”,以供用户进行单词的复习,用户也可以在查询单词的下方点击“收录进生词本”。 (2)针对这些生词本,系统还可以生成单词记忆闯关的功能,记忆闯关的功能包括看词选意,选词填空,拼写单词三种记忆方式。 * #### 题库系统模块 题库系统提供学生和普通用户进行答题,同时向教师反馈本班级学生的答题情况。 ![](%E5%9B%BE%E7%89%876.png) 角色:学生,教师,普通用户 目的:辅助单词学习 用例描述: (1)在单词查询页面,若用户需要做含有该单词的题目增强记忆,只需点击“相关题目”即可以进入做题界面,系统会自带判断正误以及计时的功能,在答题后对用户的答题情况进行评估。 (2)系统自动对班级学生错题进行数据分析,向教师反馈易错题目。 ### api接口的调用 #### 调用文字识别接口 ``` # encoding:utf-8 import requests import base64 ''' 通用文字识别(高精度版) ''' request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic" # 二进制方式打开图片文件 f = open('wenben.jpg', 'rb') img = base64.b64encode(f.read()) params = {"image":img} access_token = '[24.5b8d76ff1b0f0f5a0f8d17aa67567f11.2592000.1659268994.282335-26602011]' request_url = request_url + "?access_token=24.5b8d76ff1b0f0f5a0f8d17aa67567f11.2592000.1659268994.282335-26602011" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print (response.json()) ``` #### 调用网络图片文字识别接口 ``` # encoding:utf-8 import requests import base64 ''' 网络图片文字识别 ''' request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage" # 二进制方式打开图片文件 f = open('wenben.jpg', 'rb') img = base64.b64encode(f.read()) params = {"image":img} access_token = '[24.5b8d76ff1b0f0f5a0f8d17aa67567f11.2592000.1659268994.282335-26602011]' request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print (response.json()) ``` #### 调用手写文字识别接口 ``` # encoding:utf-8 import requests import base64 ''' 手写文字识别 ''' request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting" # 二进制方式打开图片文件 f = open('shouxie.jpg', 'rb') img = base64.b64encode(f.read()) params = {"image":img} access_token = '[24.5b8d76ff1b0f0f5a0f8d17aa67567f11.2592000.1659268994.282335-26602011]' request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print (response.json()) ``` #### 调用文本翻译接口 ``` # -*- coding: utf-8 -*- # This code shows an example of text translation from English to Simplified-Chinese. # This code runs on Python 2.7.x and Python 3.x. # You may install `requests` to run this code: pip install requests # Please refer to `https://api.fanyi.baidu.com/doc/21` for complete api document import requests import random import json token = '24.20e20294b4e2370010ef72504afed6e1.2592000.1659283865.282335-26603252' url = 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=' + token q = 'hell'; # example: hello # For list of language codes, please refer to `https://ai.baidu.com/ai-doc/MT/4kqryjku9#语种列表` from_lang = 'en'; # example: en to_lang = 'zh'; # example: zh term_ids = ''; #术语库id,多个逗号隔开 # Build request headers = {'Content-Type': 'application/json'} payload = {'q': q, 'from': from_lang, 'to': to_lang, 'termIds' : term_ids} # Send request r = requests.post(url, params=payload, headers=headers) result = r.json() # Show response print(json.dumps(result, indent=4, ensure_ascii=False)) ``` #### 返回参数 ![](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20220703135932.png) ### 产品可行性分析 * 1、随着我国走上世界的舞台,人类渴求知识的欲望更加强烈,人们需要专业性更强、功能性“专一的”的产品,HELP_learn是一款让用户在面对一篇文章的多个生词时,能够更快速的查询到每一个生词的释义,并通过软件的大数据分析,了解自己的不足之处。 * 2、市场上的软件只能选择全篇翻译或者单个词语的翻译,这样的效率太低下,当我们大致了解到文章的内容,想要快速了解到多个词语的意思及扩展时,是无法得到回应的,而HELP_learn则是针对这一点进行设计,我们可以在“班级”的功能中进行答疑,在“生词库”中进行不断的记忆,加强我们对单词的影响,提高背单词的效率。 * 3、同时市面上的背单词软件只能进行背单词,不能进行词语的查找及翻译,这样当我们学习的过程中,就要下载两个软件辅助学习,那么既为手机增加了负担,也让我们消耗了一些时间与经历 ## 产品未来规划 ### 发展理念 HELP_learn就像它的名字一样,可以帮助到人们的学习,他将市面上的软件进行融合,以快捷的小程序的方式进行运作,这样可以让人们不耗内存,随时可以用的学习小程序,后期还是会以小程序的方式上线,我们会将小程序的功能进行改善及添加,添加语音识别等功能,为用户打造一个多功能的学习软件。 ### 盈利模式 * #### 广告 我们在首页将为商家添加广告轮播位,为商家的广告进行轮播的推荐 * #### 流量变现 流量变现,就是以免费的产品和服务作为媒介,靠优质的产品体验来吸引用户,前期圈用户,为变现做基础,在后期积累大量级的用户后实现赚钱的目的。 * #### 付费人工翻译 大多数的软件都是机翻,这样对有语法需求及需要专业指导的用户会有些不好的体验高,所以我们会后续开通付费人工翻译,用户将自己的需求上传到平台,平台将选取专业人士为其解答,从而实现盈利。 #### 营销策略 * 我们前期主要通过优质的产品服务实现引流,主要就是前期圈客户。 * 后期当用户达到一定基础时,我们会开发新的模块,增加用户粘性,同时开发出小额付费活动及功能,增加用户体验高, # 实践心得及感谢 #### 通过学习api课程,让我了解人工智能在现实中的广泛应用,以及api人工智能是如何便利我们的生活,在实践过程中,我在[百度智能云](https://console.bce.baidu.com/ai/?_=1656823635379#/ai/ocr/overview/index)中的技术文档中学习到如何运用api接口,在[bilibili](https://www.bilibili.com/video/BV1wS4y1m7pB/?spm_id_from=333.788.recommend_more_video.2&vd_source=59089dd63e8b443ae3064620d033f91a)中学习如何在小程序上应用,虽然最终没有实现小程序,但是学习的过程然我收益良多。同时感谢提供微信小程序模板的同学,让我有了做拍照识别小程序的思路。API人工智能的强大让我惊叹,在课上老师不止运用到百度云等API——ai接口,同时还有[高德地图api](https://lbs.amap.com/),虽然我没有将它运用到项目中,但老师的细心教导让我收益良多。在api学习的过程中,我了解到人工智能(ArtificialIntelligence),英文缩写为AI。是计算机科学的一个分支。人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。人工智能实际应用:机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,专家系统,自动规划,智能搜索,定理证明,博弈,自动程序设计,智能控制,机器人学,语言和图像理解,遗传编程等,而这些实际的应用大大便利了人们生活,例如人脸识别,我们的手机、还有校园进出的门锁等产品都运用到了人脸识别,人工智能的强大是我们人类值得不断去探索和学习的,以及去不断的实现。 #### 在这次文档编写的过程中,我遇到了很多问题,但是在蔡洪嘉学长的帮助下,都逐一解决了,在这里我要特别感谢蔡洪嘉学长的帮助以及老师的悉心指导,蔡洪嘉学长很耐心的教我怎么实现api接口,文档的从无到有,思路从模糊到清晰,都是蔡洪嘉学长在帮我,我真的很感谢学长!!!同时在查阅api相关知识是[博客](https://blog.csdn.net/loutai1/article/details/103261705)和[简书](https://www.jianshu.com/)让我想做拍照翻译识别,这些免费的接口便利我们这些不是长期接触到前段的人,在撰写原型文档时[人人都是产品经理](http://www.woshipm.com/)赵曼老师和超哥都为我们推荐了这个网站,这个网站上有很多专业人士分享的产品文档,让我们更加了解到成为一个产品经理所需要的技能以及所要注意的地方 #### 在最后很感谢许老师细心指导与栽培,在课堂上让我们学习到很多API课程的专业知识与技能,很遗憾没能将所学的技能实现在小程序当中,愧对老师的教导,虽然没有将app实践做出来,但是我会慢慢努力实现,希望可以在以后的学习中不断弥补。最后感谢《API,机器学习与人工智能》这堂专业课程,让我的专业技能得以丰富。 ##### [百度智能云](https://console.bce.baidu.com/ai/?_=1656823635379#/ai/ocr/overview/index) ##### [bilibili](https://www.bilibili.com/video/BV1wS4y1m7pB/?spm_id_from=333.788.recommend_more_video.2&vd_source=59089dd63e8b443ae3064620d033f91a) ##### [高德地图api](https://lbs.amap.com/) ##### [博客](https://blog.csdn.net/loutai1/article/details/103261705) ##### [简书](https://www.jianshu.com/) ##### [人人都是产品经理](http://www.woshipm.com/)