数据柔术(2)

译者按:

战术和战略从来是两码事,然而混淆是常见的。一个中医可能精于某几个经方,病人来了闭上眼睛就往上面套。一个棋手可能善于某种手筋,遇到战斗就往那上面去想。数据科学家如果精于某几类算法,也可能想也不想就拿来试。数据柔术的其中一个思想是告诉我们,在使用这些手段之前,我们得先问问为什么。我们想干什么,我们又需要什么。只有站在这个位置考虑问题,我们才会是数据的主人。

我对全局思想的最早接触,应该是来自聂卫平的围棋节目。然而我一直不明白为什么要从全局思考。我知道它重要,有用,也是王道,但我不明白为什么。在数据柔术的触类旁通,加上假期买了一个吸尘机器人这个背景,我忽然找到了一个满意的解释:其实所谓全局思想,无非是站在更高的维度思考问题。好比吸尘机器人,生活在2维的世界,要遍历整个房间需要复杂的算法,还常常低效。生活在3维的我们,却一眼就看到哪里没吸干净。这就是维度的优势。同样地,当你对战术运用得相当娴熟,如果可以跳出来,问问“为什么要用这招”之类的问题,这样你也上升了一个维度。许多低维的障碍在高维不再是障碍,这是维度优势的本质。

以下是译文的继续:

采用产品设计

处理数据的一个难题,是将数据变成可用的形式。开发产品时,清洗数据时容易忽略的一步。不将数据变成可用形式摆在第一位,你将会失败。比如,你想在一个文本框内搜集用户“上一个雇主”的信息。假设某用户上一任雇主是IBM,请问他填写的内容有多少种可能性?几打?事实上,上千。可以使“IBM”,或者“I.B.M." 以至于”T.J.Watson Labs" 或者"Netezza". 如果要建立一个数据库,我们要将这些可能性归于同一个ID之下。一种方法是建立一个相对复杂的AI工程,当然,会极为耗时。另一个方法是用下拉式选择,但用户体验会很糟糕,因为选项很长,而且不灵活。

数据柔术怎么解决这个问题?有没有简单有效的方法?有的,但不是AI。建一个用户界面,帮助用户给出干净的答案,并不困难。例如你可以:

  1. 支持自动填充;
  2. 问用户:你想写的是不是***?
  3. 要求用户提供公司的股票代号,或者主页网址。

关键是,用对话代替表格。让用户帮你,而不是纯靠自己分析。你不但让用户参与更多(这本身是件好事情),还得到干净的数据,大大简化后端的工作。根据我的经验,能够在前段解决的问题如果放在后端,代价将是100-1000倍。

有问题,找人类

科技工作者默认的习惯,是寻找可以规模化的方案。我们常常直接跳到方案如何实现的技术层面,而不是先考虑方案是否有用。换个思路,你可以将困难切碎成小任务,然后用人手去做。然后再看看这个过程能否规模化。Amazon的Mechanical Turk是一个系统,让你在网上提出小型问题,然后用人手去解决(通常几分钱一个问题)。对于一些企业,这个功能是一个救星。它们无须再花几个月去寻找一般化的方案,就可以让产品尽快落地。

举一个例子。一个摄像头公司要测试一个产品(根据上文下理,是测试这个产品如果做出来是否有市场)功能是告诉餐厅老板一天内任何一段时间,餐厅满座率是多少。如果你将这个问题看成计算机问题,它相当复杂。解法是有的,但需要若干博士,大量时间,大量计算。但有一个简单的解法。人类看看图片就知道一张桌子有没有人。所以,摄像头公司每隔一段时间拍一个照片,然后让人类数有人的桌子数。这帮它测试自己的意念是否有效,是否值得进一步投资去解决这个难题。而且还让他们知道餐厅老板的真实需求:是要知道上座率?还是每个桌子平均有多少客人?还是客人停留的时间?有了这些认识,在他们开发真正的产品,用电脑代替人类数客人时,他们知道真正需要突破的问题。

人类还有一个强项:分辨输入是否有效。想象开发一个系统,从网上烹调书收集菜谱。显然会有不少无关信息。怎么从中找出有用的来?如果用AI,不费上一大笔投资是很难做到的。但对于人类这就是简单的问题了。开始时,我们将每一页通过Mechanical Turk发给3个人。如果一致同意页面有效,则视为有效。如果一致认为无效,则视为无效。如果意见有分歧,我们可以加入更详细信息,并发给另外的三个人。重点在于,发现人类作此类决定的根据。如果找到这类根据,我们就知道怎么建立复杂的自动系统了。一开始用人手来解决问题,我们可以用极低的代价学到很多。

Aardvark是一个有希望的新公司,被google收购。它们用过类似的招数。他们要建立一个问答系统,将用户的问题转给有“内部消息”的人来回答。例如,有人问在Palo Alto第一次约会应该去什么餐厅。Aardvark会将问题发给在那里住的人,然后收集他们的回答。他们一开始开发的工具,是允许雇员人手转介问题。他们也知道这个办法不能规模化,但从中可以学到转介问题的技巧,然后才开发复杂的自动系统。人手解法不但让他们知道需要解决的是什么,还证实了产品的价值,并且还赢得时间让他们去开发。

在以上例子中我们得到这个结论:解决一个问题,短期来讲人手效率高,长期则是机器更高。但一开始时,你不管长期不长期。你要能生存下来才能谈长期,还要证明你的产品有价值。短期而言人手成本低很多,等到需要规模化时再考虑吧。

 

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: