Git Product home page Git Product logo

api_ml_ai's Introduction

表格

属性 内容
Target release 2018/12/29
Epic 建立一个吸纳学习者的一个社区空间
Document status 进行中
Document owner 陈荣城
Designer 陈荣城
Developer 陈荣城
QA 陈荣城
Edition 1.2

Goals

  • 通过多个API交互使用,降低用户使用成本,提高用户效率。
  • 通过软件方便用户进行外语学习,使用户能够更加系统的学习英语,理解句子结构。赏析优秀的句子并仿写以提高自身能力水平。
  • 建立一个用户交流的社区化软件。
  • (1.1新增)通过分析用户的使用历史、查询内容,给用户推荐更加合适的优质内容。
  • (1.1新增)利用现有的API接口,实现合并使用,将多个功能集成,减少用户一两秒的冗余操作。(如文本识别与文本翻译)

Background and strategic fit

  • 市面上使用最多的英语翻译工具功能繁琐,页面复杂,面对于多元化的用户,自定义设置的项目过少,只能通过开放数据下载包为不同客户制定单一的学习内容。
  • 而且,对于工具的位置定位,随着时代的快节奏。首先安装包过于庞大,多数用户在没有形成产品依赖和品牌信任之前,容易提高入门门槛,不利于用户接触产品,产生产品体验。
  • (1.1新增)市面上的翻译软件没有提供一个社区空间给用户进行交流,使得用户更像是独自学习。
  • (1.1新增)市场上的翻译软件功能单一,并以推荐课程,让学生报名加入等方式,对于用户缺少更加智能化的优化体验。同时也在增加用户的学习成本。
  • 在本产品里,初期只提供基本的单词、句子翻译功能以收藏复习功能,致力于对内容的优化,界面以及操作逻辑的跟进,先从高质量的实用工具角度进入市场。
  • 中期开放扩展工具栏,开发多元化的模块以满足不同用户的需求,同时满足用户个性化定制的心理。除了开放官方模块,同时允许开发者自行开发模块,就像风靡至今的浏览器插件一般。
  • (等时机)在前期中期时段,关注用户动态,开放社区系统,促进用户交流,增加用户粘性。1.(视情况)开放模块交流专区,利于官方对模块进行优化。同时给第三方开发者一个反馈的平台。2.增加读书交流专区,每日给出一段文章,就像看网络小说一样,有意识的培养用户每日登陆软件打卡的看书习惯。

Assumptions

  • 使用该产品的多为学生群体,主打年轻像,后期吸引大咖分享读书感言。
  • 使用工具多为移动设备,但仍会有少量平板使用的可能。
  • 使用场景多为对外语文本语义的查询,尤其是将要备战四六级考试的学生。
  • 前期主打工具定位,即用时能快速切入,随后又能自动退出后台。操作逻辑简洁清晰,尽量去除干扰项。
  • 后期主打用户粘性,以优秀的内容,生动有趣的社区空间留住用户。
  • 对于整个产品,采取模块化建设,以小软件为基础,低入门门槛吸引用户,用用户所喜欢的模块留住用户。

Requirements

N Title User story Importance Notes
1 跨软件使用 A用户正在阅读一本外国名著,遇到了不认识的句子,于是复制该句子,然后软件检测到剪切板有新内容增加,直接进行翻译,在顶部弹出长方形框,内容为翻译内容,翻译内容下面用着小一号的浅灰色字体显示翻译的原句 必须有 在弹出长方形框后,用户可以通过长按进入设置,设置为是否实时常驻后台,是否有进行翻译的需要
2 文本识别 B用户正在浏览杂志,发现配图下有着一句话,于是下拉通知栏,点击驻留在通知栏的软件快速查询按钮中的文字识别按钮,将内容置于扫描框内,若扫描框不够大,可以在右上角选择适合大小的扫描框,识别后回到软件结果显示结果。 必须有 后台常驻是否能得到用户的许可,是否需要添加收藏功能以便用户日后复习查看结果
3 单词、句子和文章收藏 用户在翻阅时遇到心仪的句子和文章时选择收藏,弹出账号登陆注册页,登陆后选择收藏目录,该目录可以自定义。 必须有 产品初期使用允许不进行账号登陆使用,此时只开放基础功能。登陆后可以享受模块下载记录,方便日后或者更换设备以便快速使用自己调配的功能。享受文章云收藏,社区评论等。
(1.1新增)4 智能学习内容推荐系统 用户在自己平常的学习时间段内,想看一些外语名著或比较著名的书籍时,打开软件进入书籍推荐区,软件通过用户过去所查询过的单词,句子,句型结构,句子内容。通过分析词汇量,过去查询的句子内容类型,以及结合网络上对于书籍的热度,普及度还有评语分析,确认是否推荐书籍,用户接收到了推荐的书籍的书单,自行进行二次挑选,选择自己喜欢的书籍进行阅读。 必须有 经过系统推荐的书籍能根据用户的词汇量和外语水平,让用户能够在能力范围之内锻炼自己的外语能力。
(1.1新增)5 外语热点新闻 用户在空闲时刻,碎片的休息时间内,进入新闻板块,系统抓取热点的外国新闻,系统根据新闻的内容确定类型打上标签。根据报道的覆盖范围,浏览人数还有评语,确认该新闻是否具有推荐价值。最后将内容输出到新闻版面供用户选择浏览。用户能够浏览到有价值的,感兴趣的,同时又是具有普及度的新闻。 重要性一般 新闻的浏览能够让用户了解外国实时,更加贴近的从生活文化上去学习。介于有些用户对于新闻推荐有抵触情感,同时这个功能也不是刚需,所以这个版面可以做成一个可供用户选择安装的模块。交换选择权。

User interaction and design

用户使用流程

登录注册流程图.PNG
https://i.loli.net/2018/12/01/5c016907ba517.png

产品原型界面

主界面.PNG
主界面:https://i.loli.net/2018/12/01/5c01784803cf8.png

翻译页.PNG
翻译页:https://i.loli.net/2018/12/01/5c01784800b82.png

报错页.PNG
报错页:https://i.loli.net/2019/01/01/5c2b2b2b310e5.png

API展示区

使用理由

  • 由于百度API易于获取,成本相对较低,且入门的门槛很低。很适合本产品使用
  • 同时对于百度在国内的知名度,相信这样的企业的产品是足以让人信服使用的。
  • 同时百度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代码下载地址:

API产品的分析

  • 通用翻译API的使用价格详细:若当月翻译字符数≤2百万,当月免费;若超过2百万字符,按照49元/百万字符支付当月全部翻译字符数费用。
  • 文字识别价格详情:50000次/天免费

Questions

Below is a list of questions to be addressed as a result of this requirements document:

Question Outcome
前期如何使软件在用户不使用时自动退出,以节省用户运行内存及电量,提高用户好感度 用户自定义设置,是否开启后台纯净模式。或者软件后台自动检测,未运行时间达到一个阈值时自动关闭,或者检测用户使用习惯,自动学习,在不同软件决定是否结束后台。
如何将软件尽可能的缩小体积,作为一款随用随开的便携工具。 后期软件设计师解决,同时对功能进行细致化的整理。以及考虑模块化功能的实现,将选择权交还给用户。
对于权限的获取时机提出 以用户使用到该功能时弹出获取权限框,同时,当用户拒绝权限给予时,只会影响到权限相关的功能,其他功能不受影响。

Not doing

  • 不插入不相关类型的广告
  • 不自动勾选软件更新,初次有软件更新时提醒。

PRD1.加值宣言

  • 通过百度API实现文字识别以及文本翻译,减轻用户操作步骤
  • 通过推荐系统给予用户最合适的阅读内容,提高用户学习效率。
  • 再利用机器学习用户使用历史,不断为用户优化,直至打造出完美契合用户使用习惯的APP及功能。

PRD2.核心价值

  • 核心价值在前期定位是功能性翻译工具,在后期则是主打社区化的交流平台,前期的机器学习和人工智能都是为了优化最小可行性产品,即“翻译”功能,而随着不断的机器学习,为后期的社区化储备足够详细的用户数据是必要的。

PRD3.核心价值与用户痛点

  • 用户痛点有:1.过于没必要的操作逻辑.2.过于孤独的学习方式.
    随着软件机器学习的深化,可以打造一个让用户如臂使指的软件。同时社区可以提供有着相同目标兴趣的好友,共同学习。

PRD4.人工智能概率性与用户痛点

  • 百度API的开放足以说明百度对于自身API的使用精准度有着足够的信心。
  • 百度作为一个国内使用量居于超前地位的企业,数据库中有着绝对足够的数据去训练自身产品的API精准度。
  • 而软件内的推荐系统推荐内容会随着用户的不断使用而优化,就算推送了一些“错误”“异常”的内容,对于用户来说就只是跳过,再次进行筛选推荐,并不会对用户造成一些不可估量的损失。

PRD5.需求列表与人工智能API加值

  • 使用人工智能的加值已反映在需求列表,且PRD列出明显有可行及可用的API

原型1.交互及界面设计

  • 文档内有基本原型展示,展示有拍照翻译以及语音翻译。

原型2.信息设计

  • 在PRD文件中是有说明且原型是有做到,且产品的核心有使用了人工智能的加值。

原型3.原型文档

  • 无可下载使用的原型

原型4.口头操作说明

  • 个人将产品基本信息全面地讲解过。

API1.使用水平

  • 文档内有2个API使用展示。且项目实际API使用数大于2个。

API2.使用比较分析

  • 有阐述为何选择百度的产品,但是并未罗列相关数据证据证明。

API3.使用后风险报告

  • 文档内有进行详细说明。
  • 且百度作为拥有着庞大适用人群以及数据,有着充足的材料去训练提高API的能力。
  • 且软件的推荐系统是根据用户自身的使用历史进行训练。

API4.加分项

  • 有使用多个API交互输出输入。

附件清单

api_ml_ai's People

Contributors

axiannu avatar

Watchers

James Cloos avatar

Forkers

lamjs

api_ml_ai's Issues

对于产品的思考1

本产品是将一个以翻译软件为MVP的产品转型加入一个社区平台。
关于翻译功能的思考,能否脱离一个**固区,即以API所提供的功能,而去制造这个功能。我更多的是想思考一个功能,从而去寻找能够实现这个功能的API。
在另一方面,现有的API所提供的功能都很全,很强大。能否利用多个API,即把API功能复合化,我想这并不是单纯的1+1的强化。同时,复合API能够将用户的操作简单化,便捷化。我想这是对产品的逻辑设定是很有帮助的。同时也是提高市场竞争的有利改善。
下次思考推荐系统在本产品中的利用。如何用好推荐系统,进行加值。推荐系统的指标又要用哪些更加合理。
2018-12-25的思考。

代码提供

要求增加API使用代码文件,方便来访者直接通过代码进行尝试查看执行结果。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.