NLP 第 4 / 12 篇

NLP的应用

自然语言处理的应用

词向量是用来描述词与词之间的关系或者说一个文本他的意思是什么

辅助医疗咨询

分析病理文本,文本结构化,文本标注,优秀的医生就是经验和专业知识的累加,AI都可以学习这两方面的知识

教育

自适应学习(Adaptive Learning),因材施教

阅读平台Newsela

自适应平台Newton  K12领域高等教育领域

英语流利说

媒体

在内容生产上,AI可以参与筛选,校对和编辑等基础的工作,比较有代表性的国外写稿机器人Heliograf,今日头条的定稿机器人xiaomingbot,第一财经的DT稿王,腾讯财经的Dreamwriter,新华社的快笔小新。它的优势就是效率高,及时,更新快。

除了智能写稿还可以用于智能推荐,比如纽约时报的机器人编辑Blossomblot,经过统计这个机器人推荐的文章比人们筛选出来的文章阅读量高了40倍

金融

金融领域应用非常广泛,因为本身金融领域沉淀了大量的数据,他的信息化程度本来就是很高的,通过适当的大数据处理技术就能转化为大量的结构化数据

  1. 智慧型银行:AI + 业务—>智能客服,银行和客户的通话数据
  2. 智能理财顾问:通过分析客户的喜好推荐合适的产品
  3. 智能投研:对数据进行处理分析,生成投资决策,专业知识,调研报告,知识图谱

法律

也有大量的文本数据,起诉书,判决书,案件记录,中国律师比较少,费用高

可以给律师作相思案件的推荐,也可以实现自动判案

对于法院来说可以做一些文书处理流程的工作

自然语言处理的常见任务

Mostly Solved 基本解决的任务

  1. 垃圾邮件的识别Spam Detection
  2. 分词 Word Segmentation
  3. Part Of Speech (POS)Tagging 词性任务
  4. Named Entity Recognition(NER) 实体识别

Making good Progress 取得了很大进步的任务

  1. sentiment Analysis 情感分析
  2. Coreference Resolution 指代,比如Manning is a great NLP professor,he worked in academia for over 24 years. 这其中的he 就是指代
  3. Word Sense Disambiguation(WSD) 消除歧义,比如I went to the bank to get some money,here bank means a financial institution, not the land beside a river.
  4. Machine translation

still a bit hard 仍然有一些难度的任务

  1. Dialogue agents and chat-bots 对话代理和聊天机器人,这里分几类:1 闲聊 2 任务型,要完成某个任务,比如订机票,但是如果有多人对话,就会涉及到上下文的理解,就会比较难,要求具有记忆能力,3 知识问答型 可以查询一些基本的常识
  2. Summarization 文本摘要,这里一般有两种思路:1 抽取式,抽取其中的一些句子,相对来说比较简单,2 生成式,从中选取一些重点的词,这个难度相对比较大一些
  3. NLP for low resource languages 对于某些特定的任务语料比较少,这样处理任务也比较难,因为我们很多任务都是用深度学习来做,所以如果语料不足,会对具体的任务造成非常大的影响

自然语言处理的挑战

  1. 词义消歧:同一个词在不同的语境下,可能会产生语义的扩张,比如:库里扑过来,观众可能会说大家可别让他伤了,如果是奥尼尔扑过来,观众可能也会说大家可别让他伤了,再如,口味清淡和生意清淡,瓦岗首领李密和陈情表作者李密,你是个好人?和你是个好人!
    举一个实际的应用场景,小明去买一个苹果手机,小明喜欢吃苹果,这两个句子是已知的,让机器去理解下面这个句子,苹果有个缺点是容易碎瓶,需要一个手机套
  2. 指代消解 指代是一个比较高级的语言认知活动,在儿童读物中,指代一般用的比较少,重复多,而在成人的读物中,指代会出现的比较多,这对于机器来说也是非常难的任务
  3. 上下文理解 这里我们用三句话来举例说明 1 我有一个苹果,还有一个三星2 你饿不饿,我有一个苹果 3 我有一个苹果
  4. 语用学 这里涉及到语义和语用的区别,今天天气真热和请开空调,这两句话语义是不一样的,但是语用都是一样的,都是希望机器人开空调,这对于人类可能也是一个比较难的地方,对于机器人来说也是挑战

现在的chat-bot问题在于没有记忆能力和说话模式单一,这也就使得机器人看起来像机器人

自然语言处理的工具:基础任务包

这些工具是作为一个NLP工程师需要着重掌握的一些工具

  1. NLTK(Natural language toolkit)这是针对外文的包,分词,pos targeting 和NER都可以做
  2. HaNLP FNLP jieba 这些都是中文比较好的工具

科学计算与机器学习基本框架

numpy pandas scipy scikit-learn

深度学习框架

Pytorch(最主要) Tensorflow Keras(这个简单,易上手)