NLP 笔记(一):介绍 NLP

从语言到信息

从语言中提取信息

含义

从以下内容自动提取句意和结构:

  • 人类语言文本和演讲(新闻、社交媒体等)
  • 社交网络
  • 基因组序列

应用实例

  • 信息检索:每天6,586,013,574次网络搜索(估算),基于文本的信息检索很可能成为当今软件中最常用的功能 ;
  • 文本分类:对短信、新闻进行分类;
  • 提取情绪和社会语义:很多的意思都隐藏在内涵中(内涵:除单词的字面意思或主要意义之外,由其引发的想法或感觉。),通常称提取内涵为情感分析。如对餐厅评价进行情感分析,判断差评 or 好评;
  • 计算生物学:比较基因序列;(序列比较的关键之处:寻找基因、决定功能、揭示进化进程。这也是拼写检查的工作方式。Hint:编辑距离算法)
  • 社交网络:由您的亲朋好友组成的网络离线或在线关系。可以计算这些网络的属性,从中提取信息。(社交关系的结构:人作为节点,链接代表关系的建立)

通过语言与人类交互

  • 对话系统/聊天机器人:Siri,Google assistant,Facebook M,Cortana等
  • 推荐系统:网易云音乐推荐,豆瓣电影、图书推荐等
  • 问答系统

NLP 概述

背景

为什么语言解释难以实现?

  1. 语言有歧义
  2. 存在非标准语言
  3. 会不断产生新词

如何在这些问题上取得进展?

  • 需要什么工具?
    • 关于语言和世界的知识
    • 一种结合各种知识体系的方法
  • 怎么做?
    • 从语言数据建立概率模型
  • 模型与算法
    • 正则表达式 (Regular Expressions)
    • 编辑距离与对齐方式
    • 词嵌入(针对词义的向量/神经网络模型)
    • 机器学习分类器(朴素贝叶斯/线性回归/神经网络)
    • 推荐算法(协同过滤)
    • 网络算法 (PageRank)
    • 语言学工具(情绪词典 – Sentiment lexicons)

什么是 NLP?

**自然语言处理(NLP)**是计算机科学、 人工智能、 语言学的交集领域。

NLP 的目标是让计算机处理或者“理解”自然语言,从而执行譬如预约、买东西、问题回答等有用的任务。但是充分理解和表达语言的含义(甚至定义语言)是件有难度的事情。达到完美的语言理解被称为 AI-complete[1]问题。

NLP 层级

NLP层级

NLP应用

从简单到复杂

  • 拼写检查、关键字搜索、同义词查找
  • 从网站提取信息,如产品价格、日期、地点、人员或公司名称
  • 分类:阅读教材,判断长文本的积极/消极的情绪
  • 机器翻译
  • 口语对话系统
  • 复杂的问答系统

NLP在工业上的应用越发广泛

  • 搜索(书面或口头上)
  • 在线广告匹配
  • 自动/辅助翻译
  • 市场或财务/交易的情绪分析
  • 语音识别
  • 聊天机器人/对话代理:自动化客户支持、控制设备、订购货物

为什么NLP是一门困难的学科?

  • 表现、学习和使用语言/情景/世界/视觉知识的复杂性
  • 人类语言具有不明确性(与编程和其他正式语言不同)
  • 人类语言的解释取决于现实世界、常识和语境知识

深度学习在NLP中的应用

深度 NLP = 深度学习 + NLP

即结合自然语言处理的思想和目标,采用表示学习和深度学习的方法来解决这些问题 。

深度 NLP 在各个层级上的表示方式都为向量。


  1. 在人工智能领域,最困难的问题被非正式地称为 AI-complete 或 AI-hard。——维基百科

0%