.本节书摘来自华章出版社《机器学习系统设计:Python语言实现》一书中的第1章,第1.1节,作者 [美] 戴维·朱利安(David Julian),更多章节内容可以访问云栖社区“华章计算机”公众号查看
1.1 人机界面
如果你有幸用过微软Office套件的早期版本,你大概还能记得Mr Clippy办公助手。这一功能出现在Office 97中,每当你在文档开头输入“亲爱的”,它就会不请自来,从电脑屏幕的右下角蹦出来,询问“你好像在写信,需要帮助吗?”
在Office的早期版本中,Mr Clippy是默认开启的,几乎被所有软件用户嘲笑过,这可以作为机器学习的第一次大败笔而载入史册。
那么,为什么这个欢乐的Mr Clippy会如此遭人痛恨呢?在日常办公任务中使用自动化助手不一定是个坏主意。实际上,自动化助手的后期版本,至少是最好的那几个,可以在后台无缝运行,并能明显提高工作效率。文本预测有很多例子,有些很搞笑,大错特错,但大多数并没有失败,它们悄无声息,已经成为我们正常工作流的一部分。
在这一点上,我们需要区分错误和失败的不同。Mr Clippy的失败是因为它的突兀和差劲的设计,而它的预测并不一定是错误的;也就是说,它可能给出了正确的建议,但那时你已经知道你正在写一封信件。文本预测的错误率很高,经常会得出错误的预测,但这并没有失败,主要是因为它的失败方式被设计为悄无声息的。
设计任何与人机界面紧耦合(系统工程的说法)的系统都很困难。与一般的自然界事物一样,我们并非总能预测人类行为。表情识别系统、自然语言处理和手势识别技术等,开启了人机交互的新途径,对机器学习专家而言,所有这些都具有重要的应用。
每当设计需要人机输入的系统时,我们应当预见所有可能的人机交互方式,而不仅仅是我们所期望的那些方式。在本质上,我们对这些系统试图要做的是,培养它们对人类经验全景的一些理解。
在Web的早期,搜索引擎使用的是一种简单的系统,以文章中出现搜索条件的次数为基础。很快,Web开发者就通过增加关键词与搜索引擎展开了博弈。显然,这将导致一场围绕关键词的竞赛,Web将变得极为烦人。随后,为了提供更为准确的搜索结果,人们又设计了度量优质引用链接的页面排名系统。而今,现代搜索引擎都使用了更为复杂和秘密的算法。
对机器学习设计师同样重要的是,人机交互中所产生的数据量一直在增长。这会带来诸多挑战,尤其是数据的庞大浩瀚。然而,算法的力量正是在于从海量数据中提取知识和洞察力,这对于较小规模的数据集几乎是不可能的。因此,如今大量的人机交互被数字化,而我们才刚刚开始理解和探索其中的数据能够被利用的众多途径。
有项研究的题目为《20世纪书籍中的情绪表现》(The expression of emotion in 20th century books, Acerbi等人,2013),这是一个有趣的例子。尽管严格地说,该研究属于数据分析而非机器学习,但就一些理由而言,它还是具有说明性的。该研究的目的是,从20世纪的书籍中抽取情绪内容文本,以情绪分值的形式进行图表化。通过访问Gutenberg数字图书馆、WordNet(http://wordnet.princeton.edu/wordnet/)和Google的Ngram数据库(books.google.com/ngrams)中的大量数字化书籍,该研究的作者能够绘制出20世纪文学作品中所反映出的文化变迁。他们通过绘制情绪词语使用的趋势来实现其研究目的。
在该研究中,作者对每个词语进行标记(1-gram分词算法),并与情绪分值和出版年份进行关联。诸如快乐、悲伤、恐惧等情绪词语,可以依据其表达的正面或负面情绪进行评分。情绪分值可以从WordNet(wordnet.princeton.edu)获得。WordNet给每个情绪词语都赋予了情绪反应分值。最后,作者对每一情绪词语的出现次数进行了计数:
在此式中,ci表示特定情绪词语的计数,n表示情绪词语的总数(不是所有词语,仅包括具有情绪分值的词语),Cthe表示文本中the的计数。在归一化总和时,考虑到一些年份出版或数字化的书籍数量更多,同时晚期的书籍趋向于包含更多的技术语言,因此使用了词语the而不是所有词语的计数。对于在相当长的一段时期内的散文文本中的情绪,这种表示更为精确。最后,通过正态分布对分值进行归一化,即Mz,减去均值后除以标准差。
上图摘自《20世纪书籍中的情绪表现》(The expression of emotion in 20th century books, Alberto Acerbi, Vasileios Lampos, Phillip Garnett, R. Alexander Bentley)美国科学公共图书馆。
这里,我们可以看到该项研究所生成的一张图表。该图显示了这一时期所著书籍的快乐-悲伤分值,从中可以明显看出二战时期的负面倾向。
这项研究之所以有趣,有如下一些原因。首先,它是一项数据驱动的科学研究,而在过去,类似的研究内容被认为是诸如社会学和人类学的软科学,但在该研究中,给出了坚实的实验基础。此外,尽管其研究结论令人印象深刻,但其实现过程相对容易。这主要得益于WordNet和Google已经完成的那些卓越努力。其亮点在于,如何使用互联网上免费的数据资源和软件工具,例如Python的数据和机器学习包等,任何具备数据技能和动机的人都能够从事这方面的研究。