我们先定一个小目标,以下是我想要的第一批基础需求,大家仔细阅读一下功能,然后第一轮我们尽量满足这些需求,大家也尽力想一下还有什么可以加上的有趣的功能
小甲醛可以识别人的语音,不需要要求很高,只需要识别少量已知关键词,比如识别 “小甲醛”、“知乎”、数字等有限的关键词语,不需要准确识别一句话。
小甲醛可以代替人爬取常用网站(大家可以想一下有什么网站),以知乎为例,可以爬取热搜、问题、回答,然后读出这些内容。并且我们需要建立自己的数学模型,对爬取的数据进行评价处理,比如对知乎的回答进行打分,最简单来说就是字数少、点赞多的神评论分数高。
小甲醛可以将文字变成语音读出,这个要求比较高,个人感觉也最好玩。我希望可以diy一个人的声音,读句子至少要做到停顿准确,至于语气感觉比较难,先不做。
希望可以根据歌名自动搜索并播放歌曲,根据需求下载。(这里似乎就需要识别未知短语了)
最基础的天气预报功能,不过最好可以搞点花样,比如最近天气预报的准确率。
最好可以切换声音,有一些最简单的互动。
本项目内容相对比较综合,所以各个模块区别分明,我分了一下,就以下的方向:
基本的通用知识包括:Python 链接 mongoDB 数据库、Python 异常处理、Python 包和模块的设计、git 团队合作
满足需求:上网爬取相应的网页,抓取有用的信息,通过数据库操作保存到数据库中。基本就是涉及到模拟人上网的部分就需要。这个需求是最基础的,没有爬取功能,小甲醛完全不能工作。
学习的知识:HTML 能看懂(这个非常简单,不需要写,只需要了解结构)、对用的爬虫模块,包含 urllib、request 两个直接获取数据的库,如果涉及含有 js 或者难以直接获取的页面,可以用 Selenium 模拟浏览器爬取。
满足需求:数据建模主要就是根据数据库中已经有的数据,建立数学模型。比如根据爬取的知乎回答数据,对回答进行评分,好让程序可以根据建立的模型筛选答案运作。再比如我们可以嵌入对用户的学习机制,比如对每次用户感兴趣的知乎问题进行分析,学习用户喜欢哪一类问题。这些问题都比较简单,属于传统的简单的数学模型。但是小甲醛的智障程度与之关系巨大,很多地方都需要用到优秀的数学模型。
学习的知识:最好是18级同学,接触过数学建模,对算法要求应该比较低,主要就是设计相关机制。需要用到的知识除了数学建模外,就是 Python 简单的数据科学。比如回归、分类之类的传统数据科学。需要学习 numpy、matplotlib、sklearn 等库。
满足需求:能识别简单的语音,能读出文字。现在又成熟的 API 接口,比如百度等都有,但是有免费次数限制。我们尽量能训练自己的模型。当务之急是能够识别已知的短语、能将文字优美地读出来。接下来可以尝试完整的语音识别、切换声音等操作。
学习知识:这个就很难了,应该是需要神经网络的人工智能学习(当然调用API就不需要了)。需要上网学习相关的内容,了解相关机制,我也基本不怎么了解,所以这里我们不能确定能做到什么程度的模块。
本文章使用limfx的vsocde插件快速发布