早期工作 ======== 我做写匠,和之前做计算机视觉领域的产品还不太一样,写匠主要用的技术是自然语言处理(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:《认知与设计》、《破茧成蝶》、《设计心理学》、… - 工作方法要高级批量化,提升认知水平,帮助自己理性思维的认知科学理论,应用到自己的学习中…(推荐老板的公众号:【开智学堂】、【心智工具箱】) 困难 ---- 上述工作中,最开始对我来说最难的地方是:拆解需求,如何根据目标,提取出抽象规则,制定算法能力的评价标准,…比如:怎么把这些文学底层理论知识变成算法硬性的指标,如果底层的问题没想清楚或者是解决不了,即使把代码写好了,模型训练好了,最后用户也会觉得怎么那么硬邦邦的,很奇怪,就觉得这产品很不实用。而即使有了思路和方法, 在执行过程也发现很大阻力,比如数据各种问题。后来就给自己挖到坑里面了,浪费了很多时间,虽然在这个坑里自己也蛮大收获的。