公众号/AI前线
嘉宾 | 高扬
策划 | QCon 广州站项目组
编辑 | Vincent
AI 前线导读:文本资料作为企业重要的数据资产,我们都渴望从中分析出一些有价值的结论,并驱使商业应用利用其进一步发展。自然语言处理(NLP)技术已经有了产品落地和商业化的一些经验,比较成熟的商业化包括搜索引擎、个性化推荐、广告、细分领域的知识问答 / 智能问答等,也有很多企业声称在自己的产品中采用了这些技术,但真正能产生多少价值还值得进一步探讨。因此,NLP 技术离完美解决问题、满足复杂的业务场景需求还有一定的距离。
QCon 全球软件开发大会(广州站)本次采访到了 「深度培训」 讲师高扬,跟大家分享下 NLP 技术在行业内的发展现状,聊一聊解决 NLP 技术关键难题的突破口在哪里?有哪些必须学习的关键技术以及适配哪些场景?
更多优质内容请关注微信公众号“AI 前线”(ID:ai-front)
「嘉宾简介」高扬,珠海金山办公软件 AI 工程组架构师。曾在金山软件西山居游戏工作室、欢聚时代等公司任架构师、技术专家职务,负责人工智能、大数据等领域的技术方案及落地研究工作。著有《白话大数据与机器学习》《白话深度学习与 TensorFlow》《白话强化学习与 Pytorch》《数据科学家养成手册》等多本技术畅销书。目前主要负责主要落实人工智能落地的相关工作,包括算法层面的和工程层面的。
InfoQ:高扬老师,你怎么看待 NLP 技术在行业内的发展现状?其商用进展是否缓慢?造成这样的原因是什么?
高扬: 我认为 NLP 技术的发展现状仍然处在相对初级的阶段。之所以这样说,是因为结合目前各厂商的产品发布来看,其实落地的点仍然比较有限。而且场景非常聚焦,很难出现像人脸识别这样比较广谱的现象级服务产品。造成这样的原因其实比较简单,第一、高质量语料的获取成本很高;第二、真正懂 NLP 技术的人还是比较少,门槛比较高。 这样整个行业的研发的气氛其实仍然是比较低迷的,尽管很多大厂确实在努力地进行着产品研发工作。
InfoQ:NLP 技术的应用有哪些关键难题?解决这些难题的突破口在哪里?
高扬: 在深度学习逐渐成熟之后,NLP 技术的研发确实比在以前传统机器学习环境下有个更多的选择。就目前而言,所有落地的产品都面临很多模型“无法学会”的东西。说它“无法学会”主要是很多语言语义上的内容的先验知识和上下文学习困难。因为人在说话的过程中有完整的场景、完整的话题背景,还有人自己完整的知识体系,这些在 NLP 领域的构造量化还是没有有效的突破性技术。或者说以目前的学术技术水平要想达到那样的要求需要比现在高出几个数量级的存储和运算能力——这不是一个务实的研究方法。
因此在目前的企业中,本着做产品的态度来做事情的话,仍然是倾向于 以规则方法和深度学习模型有机结合的方式 来进行处理。性价比往往要比单纯依赖深度学习模型高很多。如果非要说突破口的话,我觉得仍然是 理解业务场景,和高质量语料的获取 问题。
InfoQ:NLP 技术值得学习的关键技术有哪些?其重要应用场景有哪些?
高扬:NLP 值得学习的关键技术还是非常多的。NLP 领域中主要的任务有:分类任务、生成任务、抽取任务 等几个方向。
分类任务 是所有任务中最普遍也是最成熟的一种,比如“垃圾邮件分类”“垃圾短信分类”“新闻类别分类”等。这里需要学习的有 分词技术、TF-IDF、朴素贝叶斯算法、Word Embedding、LDA、TextCNN 等。学会了这些就可以上手,能帮企业解决不少的相关问题。
生成任务 也比较多,比如“在线机器人客服”“自动写作”等。这类任务主要需要学习的就是深度学习中的 Encoder、Decoder、RNN 技术等。
抽取任务 现在是越来越多了,毕竟我们经常需要从文档中做摘要信息,或者是抽取其中我们感兴趣的信息。例如,我们可能需要从一篇简历中找出这个人的姓名和联系电话,评估出这个人的工作年限、毕业院校,甚至毕业的院校是否是 211/985 等。这通常要用到 NER 技术(命名实体识别),根据标准样本中对于对象的标注信息学到一个模型——这个模型具备识别一些词汇属性的能力:哪些是人名、地名,哪些是组织机构名等。
当然还有很多衍生出来的模型,不一定都能落地,但是足够有趣,也值得大家不断关注。
InfoQ:聊一聊 NLP 技术的未来趋势?
高扬: 从最前沿科技发展的角度来说,应该会有一批人研究 纯粹的无监督学习 的新方法,毕竟这个是非常理想的 NLP 进化方向。不论是分类模型、生成模型还是其他任何 NLP 相关的模型都会是向这个趋势发展。这个趋势应该是没问题的,从中长期来看即便不火热也会一直有人去研究。这类方法的话可能要基于目前所成熟的知识图谱技术或者其他辅助的降维手段。这类技术可以关注,但是落地的话不能寄期望于它,因为技术成熟是有一个周期的。
作为企业来说,我认为还是应该做窄而深的积累,也就是应用自己积累的优势来做产品。所以从产品落地的角度来说,还是 要看自己目前手里的样本都有什么,成本够不够有优势。因为从务实的角度来说,企业是不可能在 NLP 方面做无谓的没有预期的投入,因此,紧扣自己业务产品的各种技术的细化落地会是比较靠谱的方向。
基于 Tensorflow、Pytorch 的,以 CNN、RNN、BiRNN、CRF 为实现基础的分类、提取、生成技术肯定是要在未来几年逐步普及的。这个我相信在绝大多数企业中都会有比较真实的应用场景。
InfoQ:听说你要在 QCon 广州站做一场 NLP 技术相关的深度培训,主要内容是什么?希望听众能从中学到什么?
高扬: 这次面向的听众其实还是比较开放的,既要兼顾技术人士,也同时要兼顾管理决策层人士和产品、运营等公司一线的相关人员。所以内容主要涉及的还是切中 应用的场景、技术原理,以及实现难度的客观评估。脉络上还是以当前比较成熟和流行的技术为主要脉络,兼顾一些前沿技术的展望。应该是会让不同岗位的听众都能从中获取对自己工作有帮助的信息。