中国邮箱网讯 10月7日消息,作为AI产品的产品经理,该怎么写好一个产品需求文档( PRD )?
对于大多数人来说可能还没有清晰的概念。到底该咋办呢?
莫慌!既然你已经点进来了,不会让你空手而归。
最近,谷歌机器学习X 和TensorFlow X团队的产品领导者Clemens Mewald在Medium上发表了一篇文章,详细介绍在开发涉及到机器学习的产品时,产品经理写PRD怎么处理数据相关的问题。
干货满满,请收下慢慢消化~
在开始之前,先看看Clemens Mewald给出的一个声明:
机器学习不是必需的。我看到,有的产品经理在PRD中将“使用强化学习来优化对用户的奖励”作为一项需求。这通常是一个危险信号。在大多数情况下,机器学习是满足用户需求的一种方式,而不是需求本身。
为什么产品经理需要考虑数据问题
你可能会问,为什么我写个PRD,还需要写一堆关于数据的要求?
答案很简单,如何收集和使用数据将会对产品产生重大影响,更何况这还是一个与人工智能有关的产品。
首先,你必须搞清楚你要预测什么,也就是你机器学习模型的输出,以及是否有与输出相关的必要反馈机制。
假设你的目标是向用户提供与他/她最相关的通知。你如何知道通知是相关的呢?
你可以提供一种机制,允许用户“滑掉”通知。
但是,这种反馈是否能告诉你,他们是因为通知很烦而关掉它,还是说这个通知是有用的,他们只是“完成”了它呢?
在确定如何定义这种反馈之前,你可能需要做一些用户体验研究。
其次,你必须要想清楚,把哪些关于通知的数据输入到机器学习模型中,来帮助训练模型。
哪些特征可能有用?可以考虑下通知的性质,是提供信息,还是敦促用户采取行动?或者是通知送达的时间。
这不过是抛砖引玉罢了,我相信有了一些相关的知识之后,你可以想出更多。
此外,要想成为一名有远见的AI产品经理,不仅需要仔细琢磨一下机器学习模型需要输入和输出什么数据,还要确定这些数据是能够使用的。
数据使机器学习成为可能
找出产品或特定功能所需要的数据是确定数据需求的第一步,也是最重要的一步。
说起来也很简单,机器学习模型只不过是一个数学函数,输入一些带有特征的数据,输出预测结果。然后再进行学习,把预测结果与从训练数据中观察到的模式匹配起来。
这样说可能有点难以理解,是时候再举个例子了。下面这张图,是湾区正在出售的5套住房的实际情况。
为了避免混淆,我们把房屋的已知属性称为特征,将要预测的值称为标签。
值得注意的是,你可以选择各种值来当做标签,比如说房子的大小、卧室、浴室和房价等等,甚至是邮编。
借助这个例子,给大家第一个重要提醒:你需要找到有标签的数据,用于监督式的机器学习。
假设有一套房子,我们知道它的特征和标签,这意味着你已经给数据贴了标签。
另外有一栋我们不知道价格的房子。给定已知的特征,我们可以使用我们训练的机器学习模型来预测这个值。
在开头那个关于通知的例子中,标签是用户在拒绝通知时提供的反馈。如果他们表示通知是有用的,那就是肯定的标签。
在许多产品用例中,都有一个有标签数据的来源:日志。
在我之前的博客文章中,我介绍了一个来自Google Forms的例子,它主要是基于问题的提示,自动为问题选择类型。
之前,用户会提供问题提示,然后手动选择合适的问题类型。问题提示就是特征,手动选择的问题类型就是标签。
数据采集需要一种策略
你需要什么样的数据或者特征?
在某些情况下,产品经理或开发人员的想象力都会被数据限制住。
通常情况下,你可以使用其他数据源的特征来丰富这些数据。不管可行性或成本如何,可以先进行头脑风暴,列出可能对自己的机器学习任务有帮助的潜在特征。
假设你试图预测房价,但你只有大小、卧室、浴室和邮政编码等特征。你能想出其他的特征吗?条件是,对这个任务有帮助,而且你也能拿得到。
举两个例子:
房子的年龄?这可以从公共记录中获得。
离最近的杂货店的距离?可以使用公共地图数据计算。
一旦你能够找到其他的特征,你可以按可用性、有无困难和成本来排定优先级。与此对应的问题是:这些数据存在吗?有授权吗?收集这些数据的成本有多高?
你需要多少数据?
“需要多少数据”,这个问题的答案可以写成一本教科书。但与开发团队进行对接的时候,产品经理需要把握一些重点:
1、在大多数情况下,数据越多越好。
2、如果数据很少或没有数据可用,迁移学习可能会有所帮助,从一项任务中获取数据或者模型,并将它们应用到其他的任务中,比如将一个给狗分类的模型用到给汽车分类上。
3、在获取标记数据需要花费金钱和时间的情况下,需要在模型的质量和性能方面定一个目标,并对花费的钱和时间有清晰的预算。
4、在某些情况下,更多的数据不会有帮助。
这部分表述可能不太清晰。为了让大家更好地理解,可以看看下面这张图。直观地展示了获取更多数据可能有用也可能没用的情况。
大多数机器学习问题都在曲线的上方,即获取更多数据将会带来更好的性能。
然而,在一些情况下,大量标注的训练数据已经存在,回报可能会减少。也就是说,更多的数据并不能提高模型质量。
你的数据质量是否足够好?
数据在特征和标签的质量上,也可能会有很大差异。
如果你正在通过整理日志获取数据,很可能你会获得一些异常的训练数据。
这可能本身没有问题,比如说在Google Forms的例子中,用户对一些问题归到一个类型中有不同的看法。
在其他的一些情况下,可能是因为不同格式的特征值或语义。比如说一些房价以千美元计,另一些以百万美元计。
就算你可以访问这些数据,并且可以通过抽查来发现有问题的案例。但在写PRD的时候,你对此也无能为力。
但不管怎样,要告诉开发团队应该关注什么,这样他们就可以集中精力调查数据质量。
此外,如果你对数据的质量有所担心,你应该在PRD中提出警告,表示这可能会降低机器学习模型的质量。
关于隐私和安全
如何存储和处理这些数据也非常重要。在开始收集数据之前,最好咨询隐私和安全方面的专家,弄清楚你能做什么和不能做什么。
就算有了这些限制,也要从用户的角度来考虑,什么是应该做的,什么是不应该做的。
此外,还要花时间考虑一下,你的用户从中获得了什么好处,确定这需要用到的数据。当然,也要让用户认可这些好处,不能只是你自己的想法。
数据需求清单
下面是一些具体问题清单。不管你是在构思一个新产品,还是向既有的产品中添加新的功能,都可以作为参考:
数据要求
需要什么数据?
哪些特征是已知的,将是有用的?等等。
这些特征可用吗?如果不可用,获取成本是多少?
数据采集策略
上述数据来自哪里?
现有数据是否存在质量问题?
你认为需要多少数据?
隐私与安全
数据存储和处理的方式是否安全?
你有收集/使用数据的权限吗?
从用户的角度来看,新功能或产品的好处是否能超过他们在提供数据时的担忧?
文章来源:腾讯科技