属性 | 内容 |
---|---|
Target release | 2018/12/29 |
Epic | 建立一个吸纳学习者的一个社区空间 |
Document status | 进行中 |
Document owner | 陈荣城 |
Designer | 陈荣城 |
Developer | 陈荣城 |
QA | 陈荣城 |
Edition | 1.2 |
- 通过多个API交互使用,降低用户使用成本,提高用户效率。
- 通过软件方便用户进行外语学习,使用户能够更加系统的学习英语,理解句子结构。赏析优秀的句子并仿写以提高自身能力水平。
- 建立一个用户交流的社区化软件。
- (1.1新增)通过分析用户的使用历史、查询内容,给用户推荐更加合适的优质内容。
- (1.1新增)利用现有的API接口,实现合并使用,将多个功能集成,减少用户一两秒的冗余操作。(如文本识别与文本翻译)
- 市面上使用最多的英语翻译工具功能繁琐,页面复杂,面对于多元化的用户,自定义设置的项目过少,只能通过开放数据下载包为不同客户制定单一的学习内容。
- 而且,对于工具的位置定位,随着时代的快节奏。首先安装包过于庞大,多数用户在没有形成产品依赖和品牌信任之前,容易提高入门门槛,不利于用户接触产品,产生产品体验。
- (1.1新增)市面上的翻译软件没有提供一个社区空间给用户进行交流,使得用户更像是独自学习。
- (1.1新增)市场上的翻译软件功能单一,并以推荐课程,让学生报名加入等方式,对于用户缺少更加智能化的优化体验。同时也在增加用户的学习成本。
- 在本产品里,初期只提供基本的单词、句子翻译功能以收藏复习功能,致力于对内容的优化,界面以及操作逻辑的跟进,先从高质量的实用工具角度进入市场。
- 中期开放扩展工具栏,开发多元化的模块以满足不同用户的需求,同时满足用户个性化定制的心理。除了开放官方模块,同时允许开发者自行开发模块,就像风靡至今的浏览器插件一般。
- (等时机)在前期中期时段,关注用户动态,开放社区系统,促进用户交流,增加用户粘性。1.(视情况)开放模块交流专区,利于官方对模块进行优化。同时给第三方开发者一个反馈的平台。2.增加读书交流专区,每日给出一段文章,就像看网络小说一样,有意识的培养用户每日登陆软件打卡的看书习惯。
- 使用该产品的多为学生群体,主打年轻像,后期吸引大咖分享读书感言。
- 使用工具多为移动设备,但仍会有少量平板使用的可能。
- 使用场景多为对外语文本语义的查询,尤其是将要备战四六级考试的学生。
- 前期主打工具定位,即用时能快速切入,随后又能自动退出后台。操作逻辑简洁清晰,尽量去除干扰项。
- 后期主打用户粘性,以优秀的内容,生动有趣的社区空间留住用户。
- 对于整个产品,采取模块化建设,以小软件为基础,低入门门槛吸引用户,用用户所喜欢的模块留住用户。
N | Title | User story | Importance | Notes |
---|---|---|---|---|
1 | 跨软件使用 | A用户正在阅读一本外国名著,遇到了不认识的句子,于是复制该句子,然后软件检测到剪切板有新内容增加,直接进行翻译,在顶部弹出长方形框,内容为翻译内容,翻译内容下面用着小一号的浅灰色字体显示翻译的原句 | 必须有 | 在弹出长方形框后,用户可以通过长按进入设置,设置为是否实时常驻后台,是否有进行翻译的需要 |
2 | 文本识别 | B用户正在浏览杂志,发现配图下有着一句话,于是下拉通知栏,点击驻留在通知栏的软件快速查询按钮中的文字识别按钮,将内容置于扫描框内,若扫描框不够大,可以在右上角选择适合大小的扫描框,识别后回到软件结果显示结果。 | 必须有 | 后台常驻是否能得到用户的许可,是否需要添加收藏功能以便用户日后复习查看结果 |
3 | 单词、句子和文章收藏 | 用户在翻阅时遇到心仪的句子和文章时选择收藏,弹出账号登陆注册页,登陆后选择收藏目录,该目录可以自定义。 | 必须有 | 产品初期使用允许不进行账号登陆使用,此时只开放基础功能。登陆后可以享受模块下载记录,方便日后或者更换设备以便快速使用自己调配的功能。享受文章云收藏,社区评论等。 |
(1.1新增)4 | 智能学习内容推荐系统 | 用户在自己平常的学习时间段内,想看一些外语名著或比较著名的书籍时,打开软件进入书籍推荐区,软件通过用户过去所查询过的单词,句子,句型结构,句子内容。通过分析词汇量,过去查询的句子内容类型,以及结合网络上对于书籍的热度,普及度还有评语分析,确认是否推荐书籍,用户接收到了推荐的书籍的书单,自行进行二次挑选,选择自己喜欢的书籍进行阅读。 | 必须有 | 经过系统推荐的书籍能根据用户的词汇量和外语水平,让用户能够在能力范围之内锻炼自己的外语能力。 |
(1.1新增)5 | 外语热点新闻 | 用户在空闲时刻,碎片的休息时间内,进入新闻板块,系统抓取热点的外国新闻,系统根据新闻的内容确定类型打上标签。根据报道的覆盖范围,浏览人数还有评语,确认该新闻是否具有推荐价值。最后将内容输出到新闻版面供用户选择浏览。用户能够浏览到有价值的,感兴趣的,同时又是具有普及度的新闻。 | 重要性一般 | 新闻的浏览能够让用户了解外国实时,更加贴近的从生活文化上去学习。介于有些用户对于新闻推荐有抵触情感,同时这个功能也不是刚需,所以这个版面可以做成一个可供用户选择安装的模块。交换选择权。 |
https://i.loli.net/2018/12/01/5c016907ba517.png
主界面:https://i.loli.net/2018/12/01/5c01784803cf8.png
翻译页:https://i.loli.net/2018/12/01/5c01784800b82.png
报错页:https://i.loli.net/2019/01/01/5c2b2b2b310e5.png
- 由于百度API易于获取,成本相对较低,且入门的门槛很低。很适合本产品使用
- 同时对于百度在国内的知名度,相信这样的企业的产品是足以让人信服使用的。
- 同时百度API在使用时可从控制台进行数据查看,有调用量及失败率监控,方便进行进一步优化。
- 同时对于百度API自身产品的竞争性来讲,只有“高效率,高精准度”的API才是市场所需要的API,而百度有着庞大的数据量,相信能够训练出高效率、高精准度的API产品出来。
- 注意使用自身申请的appid和密钥,以下为本人个人key,仅供试用。
- 在q='输入内容'修改输入项即可得出结果
#/usr/bin/env python
#coding=utf8
import http.client
import hashlib
import json
import urllib
import random
appid = '###' #你的appid
secretKey = '###' #你的密钥
httpClient = None
myurl = '/api/trans/vip/translate'
q = '输入内容'
fromLang = 'auto' #源语言设置,可为auto。
toLang = 'en' #输出语言设置
salt = random.randint(32768, 65536)
sign = appid+q+str(salt)+secretKey
sign = hashlib.md5(sign.encode()).hexdigest()
myurl = myurl+'?appid='+appid+'&q='+urllib.parse.quote(q)+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)+'&sign='+sign
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
#response是HTTPResponse对象
response = httpClient.getresponse()
print (response.read())
except Exception as e:
print (e)
finally:
if httpClient:
httpClient.close()
- 注意,使用时请自行申请access_token,一下为本人key,仅供试用。
- 修改‘##图片地址##’即可查看图片所含文字
import urllib3,base64
from urllib.parse import urlencode
access_token='###' #该处请自行申请并填入
http=urllib3.PoolManager()
url='https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token='+access_token
f = open('##图片地址##','rb')
#参数image:图像base64编码
img = base64.b64encode(f.read())
params={'image':img}
#对base64数据进行urlencode处理
params=urlencode(params)
request=http.request('POST',
url,
body=params,
headers={'Content-Type':'application/x-www-form-urlencoded'})
#对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换
result = str(request.data,'utf-8')
print(result)
- 通用翻译API的使用价格详细:若当月翻译字符数≤2百万,当月免费;若超过2百万字符,按照49元/百万字符支付当月全部翻译字符数费用。
- 文字识别价格详情:50000次/天免费
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|
前期如何使软件在用户不使用时自动退出,以节省用户运行内存及电量,提高用户好感度 | 用户自定义设置,是否开启后台纯净模式。或者软件后台自动检测,未运行时间达到一个阈值时自动关闭,或者检测用户使用习惯,自动学习,在不同软件决定是否结束后台。 |
如何将软件尽可能的缩小体积,作为一款随用随开的便携工具。 | 后期软件设计师解决,同时对功能进行细致化的整理。以及考虑模块化功能的实现,将选择权交还给用户。 |
对于权限的获取时机提出 | 以用户使用到该功能时弹出获取权限框,同时,当用户拒绝权限给予时,只会影响到权限相关的功能,其他功能不受影响。 |
- 不插入不相关类型的广告
- 不自动勾选软件更新,初次有软件更新时提醒。
- 通过百度API实现文字识别以及文本翻译,减轻用户操作步骤
- 通过推荐系统给予用户最合适的阅读内容,提高用户学习效率。
- 再利用机器学习用户使用历史,不断为用户优化,直至打造出完美契合用户使用习惯的APP及功能。
- 核心价值在前期定位是功能性翻译工具,在后期则是主打社区化的交流平台,前期的机器学习和人工智能都是为了优化最小可行性产品,即“翻译”功能,而随着不断的机器学习,为后期的社区化储备足够详细的用户数据是必要的。
- 用户痛点有:1.过于没必要的操作逻辑.2.过于孤独的学习方式.
随着软件机器学习的深化,可以打造一个让用户如臂使指的软件。同时社区可以提供有着相同目标兴趣的好友,共同学习。
- 百度API的开放足以说明百度对于自身API的使用精准度有着足够的信心。
- 百度作为一个国内使用量居于超前地位的企业,数据库中有着绝对足够的数据去训练自身产品的API精准度。
- 而软件内的推荐系统推荐内容会随着用户的不断使用而优化,就算推送了一些“错误”“异常”的内容,对于用户来说就只是跳过,再次进行筛选推荐,并不会对用户造成一些不可估量的损失。
- 使用人工智能的加值已反映在需求列表,且PRD列出明显有可行及可用的API
- 文档内有基本原型展示,展示有拍照翻译以及语音翻译。
- 在PRD文件中是有说明且原型是有做到,且产品的核心有使用了人工智能的加值。
- 无可下载使用的原型
- 个人将产品基本信息全面地讲解过。
- 文档内有2个API使用展示。且项目实际API使用数大于2个。
- 有阐述为何选择百度的产品,但是并未罗列相关数据证据证明。
- 文档内有进行详细说明。
- 且百度作为拥有着庞大适用人群以及数据,有着充足的材料去训练提高API的能力。
- 且软件的推荐系统是根据用户自身的使用历史进行训练。
- 有使用多个API交互输出输入。
- 登陆注册流程图:https://i.loli.net/2018/12/01/5c016907ba517.png
- 原型主界面:https://i.loli.net/2018/12/01/5c01784803cf8.png
- 原型翻译页:https://i.loli.net/2018/12/01/5c01784800b82.png
- 百度通用API代码:https://github.com/Axiannu/API_ML_AI/blob/master/Code%20file/%E7%99%BE%E5%BA%A6%E9%80%9A%E7%94%A8API%E4%BD%BF%E7%94%A8.py
- 百度通用文字识别:https://github.com/Axiannu/API_ML_AI/blob/master/Code%20file/%E7%99%BE%E5%BA%A6%E9%80%9A%E7%94%A8%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB.py