0.写在前面
最近在研究人工智能以及机器学习的相关。写篇文字,记录一下自己的理解,有不对之处大家多多批评指正。
记得上大学的时候,有一天,校园广播站里放了一首曲子,旋律特别优美,听了之后可以瞬间让人安静下来。问了好几个同学,都说听过,但是不知道叫什么名字。我当时就在想,如果我能写出一个程序,让用户能哼一哼大概的旋律,就能知道歌曲的名字该多好。后来才知道,那首曲子的名字叫《Kiss the rain》。
不知道现在有没有公司开发出“哼歌识曲”的功能,但是我知道,听歌识曲的功能早就开发出来了,就是你听到喜欢的歌曲,打开手机,按一下听歌识曲的功能,手机上就能识别出它听到的曲子是什么名字,并且同步给出当前正在播放位子的歌词。
人类想了解未知事物,或者深入了解感兴趣的事物,是人的本能,从产品需求角度说,应该是刚需。记得小时候有本书特别流行,叫《十万个为什么》,发现问题一般都去那里找答案,找不到就去问题爸妈,问老师。后来有了百度,Google,有问题就开始问题他们,极大的提高了我们学习知识的效率。但是百度,谷歌也有他们解决不了的问题,比如我刚提到的哼歌识曲的问题,这时候,有种技术应运而生,就是AI(Artificial Intelligence),人工只能。
1.认识AI
相信很多做开发的朋友都想学习AI,但是稍做了解之后,最终大部分都放弃了,原因就是因为门槛太高。
得有大量的数据:
比如我上文提到的“哼歌识曲”功能,想让计算机听出来你哼的歌,首先它自己得“听歌”所有的歌,才能告诉你你哼的是哪一首吧。其实这一点相对来说还算好办一点,弄到所有歌的版权,将所有歌存到自己的服务器,涉及到的技术是写爬虫程序去爬取所有音乐网站的歌曲,去重,就好了。商业用就让公司来搞定版权的问题就好了,(能用钱来解决的问题都不是问题)。
得有数学功底:
机器学习入门推荐给大家,讲的是我所参考的资料里,最通俗易懂的了。但是还是需要我们有一定的数学功底。
映射关系我们想要用AI来帮我们解决问题,首先要描述清除我们的任务,然后定义好X和Y,也就是传入的数据和我们想要的答案。
接下来最关键,也是最复杂的就是定义模型。比如最后一个房价问题,我们想知道房屋面积和房价的关系,除了最直接的面积之外,还有很多其他的因数影响这房价,比如城市规模,城市安全性,小区环境,物业水平,楼层高低,户型等等等等。我们需要猜想假设函数:
假设函数好像也不是特别复制,哈哈,大家一定要对自己的数学有自信!
问题建模得有算法功底:
假设函数想好之后,还要有一套损失函数和一套优化算法,这都需要我们针对具体问题和实际的数据验证结果进行不断的完善。发现的几篇好的优化算法的帖子,记录下来。
经典例子:国王 - 男人 + 女人 = 王后
语料库,词频表,语序列频度表
经典例子:通过行为猜测天气
2.我要解决的AI问题
公司产品是一套智慧办公系统,有聊天,任务,文件,日程等模块,需求是,聊天的时候,如果判断出语意能触发系统里的功能,就在聊天界面聊天内容的下方在额外推送一条相关信息。
比如聊天时,领导说“明天上午9点所有员工在会议室开会”,系统就会启动任务唤醒状态,如果有员工回复“好的”,“OK”,“收到”等积极状态的词,就为该员工创建一条开会的日程。
看别人讲的例子感觉还很好理解,可是到了自己的问题就没那么容易了。现在只想出了大概的思路,但是一直没有想出可行的解决方案。
首先得收集一定的语句库,然后调用百度AI的分词接口,定义一些维度,比如时间相关性,地点相关性,命令语气,办公相关性等等,把分的词按照这些维度描述一遍,应该跟词向量相似。最终把一个句子转换成一个和相同相关性的系数,如果系数大于某值,提示用户是否创建日程等信息,如果小于,直接过滤掉,认为是和系统无关的消息。
还有一种方案是用正则表达式来解决,也是整理好一些词库,写好一些认为是能出发任务,日程的句式,满足正则则推消息。
如果有朋友做个类似的项目,欢迎给我留言,大家一起讨论。
3.总结一下
AI是未来10年到20年的发展趋势,想要入门就必须有恒心,做好克服困难的准备。
收集数据,分析数据,建模,优化。无非也就这些,哈哈。想入门AI的朋友们,共勉!
网友评论