4.1. 早期工作

我做写匠,和之前做计算机视觉领域的产品还不太一样,写匠主要用的技术是自然语言处理(NLP)和机器学习(ML)。1 NLP 是一个交叉学科,难度很大,有些问题从语言学角度都没有解决,导致技术受限,产品本身要分解到底层又牵扯到语言学领域的问题,对 PM 初学者来说水很深,不太建议一转行就进来踩坑到底层,看多了资料真的会盲目,十分受挫。

而我在接触 NLP 产品的早期(入职0–6个月)会有这些工作:

(1)理解用户场景和需求背景:

  • 理解产品本身的需求场景、做同类竞品分析和测试…

  • 进行一些用户调研、访谈、…

  • 思考写匠产品本身核心竞争力是什么,核心功能和辅助功能分配?

  • 产品结构,整体规划…

(2)拆解需求,哪些和 AI 相关:

  • 核心功能:要反馈给用户哪些写作建议,如:基于认知科学的xx原理、涉及到的某些文学属性和评价指标、语言风格、…

  • 如何拆解这些需求?基于规则还是基于统计?比如:提取并抽象出各种语言规则…

  • 算法研发过程中有哪些问题?评价指标有哪些?怎么算好指标?如:

好指标:

  • Actionable,可以指导具体行为。

  • Accessible,简单,容易理解。

  • Auditable,可以进行验证。

  1. FPR&TNR、TPR

  2. 精确率Precision(全文找到错别字是不是有误报的情况)、召回率Recall(全文找到的错别字的数量是不是漏了)、F1值

  3. 综合评价指标F-measure

  4. ROC曲线和AUC

  5. 容量和速度(一次可以容纳多少字数、速度如何,会不会卡)

  6. 损失函数(MAE:目标值和预测值之差的绝对值之和)

  • 如何提升这些指标?比如:提高数据量…

  • 如何扩大语料库规模和训练数据?

  • 比如:从网上获取语料库,建立通用语料库,专用语料库、各行业的词表…然后处理数据集,数据整理,…

  • 根据需求拆解,算法的输入和输出是什么?数据如何显示?哪些是用户需要,哪些是后台需要?…

  • 新旧版本的算法评测如何对比?比如:

  • 制定算法评测指标,进行评测集标注,做算法评测,分析结果…

(3)产品终于从 0 ~ 1 进入到工程开发阶段:

  • 产品逻辑、原型设计、交互设计…

  • 算法、前端、后端的业务逻辑拆分…

  • 团队写作、项目管理、各种开会…

  • 测试用例,功能测试、性能测试、…

  • 版本管理,后续迭代哪些功能…

  • 偶尔申请一些第三方服务…

  • 偶尔组织聚餐和团建… … 这就需要我额外学习:

  • AI 在 自然语言处理中的应用有哪些,如问答系统、文本摘要、情感分析、…

  • 自然语言处理本身的基础能力,如分词、词性标注、句法分析、…

  • 读一些和 NLP、ML、PM 工作直接或间接相关的书,如:

  • AI+NLP:《NLP汉语自然语言处理原理与实践》、《机器学习》、《认知语言学》、《面向- 机器学习的自然语言处理标注》、…

  • PM:《认知与设计》、《破茧成蝶》、《设计心理学》、…

  • 工作方法要高级批量化,提升认知水平,帮助自己理性思维的认知科学理论,应用到自己的学习中…(推荐老板的公众号:【开智学堂】、【心智工具箱】)

4.1.1. 困难

上述工作中,最开始对我来说最难的地方是:拆解需求,如何根据目标,提取出抽象规则,制定算法能力的评价标准,…比如:怎么把这些文学底层理论知识变成算法硬性的指标,如果底层的问题没想清楚或者是解决不了,即使把代码写好了,模型训练好了,最后用户也会觉得怎么那么硬邦邦的,很奇怪,就觉得这产品很不实用。而即使有了思路和方法, 在执行过程也发现很大阻力,比如数据各种问题。后来就给自己挖到坑里面了,浪费了很多时间,虽然在这个坑里自己也蛮大收获的。