思维之海

——在云端,寻找我的星匙。

NLP基础入门(智源&学堂班)

自然语言处理是人工智能皇冠上的明珠。

学堂在线组织的自然语言处理入门班。

References

学堂在线 - 理论和实践:自然语言处理

课表:

NLP基本问题和研究范式

孙茂松

自然语言范畴

什么是自然语言?人类语言。

什么是自然语言处理?让计算机能够处理并理解自然语言。

语言和人类智能:

  • 感知:人类感官模态系统(五官)
  • 认知:语言、逻辑、推理、思维、学习、决策……

自然语言处理的经典应用:

  • 信息检索、抽取、过滤、分类及摘要,搜索引擎,数字图书馆,电子商务等

例:

  • 和服 | | 于三日后裁制完毕。
  • 这个酒店的设施 | | 服务 | 是一流的。

搜索引擎,机器翻译,跨语言信息检索,问答系统,面向语音识别的语言模型,用于OCR的语言模型,用于TTS(text2speech)的语言模型,语法改错,简繁汉字转换……


NLP顶会:ACL,EMNLP,北美ACL

层次模型

  • 语音层和音位层(Phonetic and phonological level)
  • 词法层(Morphological level)

    • 语素
      • 自由语素:可以理解为一个词汇
      • 约束语素(就是词缀)
        • 例:
          • improperly -> im+proper+ly
          • unrelatedness -> un+relat+ed+ness
    • 构词法:加缀(派生、曲折);复合
  • 句法层(Syntactic level)

    • 利用句法树来表示句子的结构
  • 语义层(Semantic level)
    • 揭示句法树中元素的语义角色
    • 引入谓词逻辑
    • 语义层相对其他层具有稳定性
  • 话语层(Discourse level)‘
    • 多个句子的场景
  • 语用层(Pragmatic level)
  • 语言知识、世界知识(+常识知识)

分层之后,可以在不同层次来衡量语言理解的程度。比如,如果画对了句法树,则可以认为在句法层理解了一个句子;给出了正确的一阶谓词逻辑,则可以认为在语义层理解了一个句子。这样有利于定量地开展研究。

自然语言的特点

  • 结构性
  • 无限性(递归性)
  • 歧义性(ambiguity)
    • 词汇歧义
    • 结构歧义
      • 句法结构歧义
        • 亚洲语言学会
      • 语义结构歧义
        • 他借我一本书。
  • 统计性(Markov链)
    • 我在吃……?
    • 我在吃北京……?烤鸭!
  • 模糊性
    • 下半旗
  • 文化差异性
    • “in bed” 与 “在床上”
      • 英文中的bed包含床上用品如被子
  • 持续演化性
    • 不断地演变;网络语言
  • 语言表达的非规范性

下一步该怎么走

知识和语言的理解仍然需要加强……

第一讲:课后思考题

【切分】请尝试将如下英文句子切分为语素序列:Morphemes are the smallest meaningful units of language

Morpheme/s/ are/ the/ small/est/ mean/ing/ful/ unit/s/ of/ language

【探讨】自然语言中存在词汇歧义(lexical ambiguity)和结构歧义(structural ambiguity)两种基本的歧义类型。请各给出5个汉语(也可以是你熟悉的任何语言)中的歧义例子,通过搜索引擎考察其具体用法,并给出必要的分析。

词汇歧义(lexical ambiguity):

  • bank(银行、岸边)
  • 小米(一种粮食,某个公司)
  • 水(物理意义的饮品,指某件事没有技术含量)
  • 笔记本(纸质笔记本,便携式电脑)
  • 药丸(胶囊状的医学药物,表示“要完”的谐音)

结构歧义(structural ambiguity):

  • 南京市长/江大桥;南京市/长江大桥
  • 在上海/餐厅/吃饭;在/上海餐厅/吃饭
  • 两个/火箭班的老师;两个火箭班/的老师
  • 年轻的孩子/的爸;年轻的/孩子的爸
  • 吃/好饭;吃好/饭

【评估】根据个人兴趣,在网上寻找一个任意类型的、与自然语言处理有关的任意可运行系统,进行小规模、具有一定典型性的测试,对结果给出某种形式的定量评估,并按照你自己的理解做相应分析。(针对text或借助于text的image、video、audio智能处理等均可;商用系统及尚处于研究中的demo系统也都可以)

AMiner:https://www.aminer.cn/

  • 目的:学术社交网络和知识图谱
  • 功能测试
    • 学者主页示例

AMiner提供了对科研人员的科研方向、近期动态、学术成果的全面的定量、可视化的展示。


九歌:http://jiuge.thunlp.org/

  • 人工智能作诗系统
  • 以下作诗测试
  • 纯数字:12345
  • 主题词:星匙
  • 英文:fire
    • 服务器出错

评价:九歌系统鲁棒性一般,但是对于非法词汇的处理能力还是存在的。九歌似乎不支持多语种作诗,仅限对中文主题的创作。当然,这个从目的上来说是自然合理的。

词法及语言模型

刘知远

词表示

词表示(Word Representation):一个将符号处理为计算机能理解的语义表示的过程。

词表示的用途

  • 计算词的相似度
    • WR(Star) = WR(Sun)
    • WR(Motel) = WR(Hotel)
  • 推断词的关系
    • WR(China) - WR(Beijing) = WR(Japan) - WR(Tokyo)
    • WR(Man) = WR(King) − WR(Queen) + WR(Woman)
    • WR(Swimming) = WR(Walking) − WR(Walk) + WR(Swim)

同义词和上位词

早期表示一个词的方式,是通过它的同义词和上位词来表示的。(WordNet词典)

同义词(Synonym):相同或相似语义的词。

上位词(Hypernym):隶属于某个词的内涵。比如:NLP隶属于Science。

缺点

  • Missing nuance
    • (“proficient”, “good”) are synonyms only in some contexts
  • Missing new meanings of words
    • Apple (fruit → IT company)
    • Amazon ( jungle → IT company)
  • Subjective
  • Data sparsity
  • Requires human labor to create and adapt

独热编码 One-hot

缺点

  • 词和词之间相似度为0
    • All the vectors are orthogonal. No natural notion of similarity for one-hot vectors.

上下文计数 Co-Occurrence Count

Core idea: A word’s meaning is given by the words that frequently appear close-by.

用上下文来表示词的含义。

Term-Term Matrix

有点像N-GRAM。

词向量 Word2vec

第二讲:课后思考题

“star” 与 “sun” 两个单词的one-hot词向量的夹角余弦值是多少?

记”star”和”sun”的one-hot词向量分别为 $A$ 和 $B$。根据独热编码,则有

即夹角余弦值为0

基于词表大小为N的文本语料库,采用长度为3的窗口计算Term-Term矩阵,得到的矩阵维度是?

简要总结CBOW与Skip-Gram的不同点?

为什么Negative sampling与Hierarchical softmax可以提升Word2Vec的计算效率?

GloVe在Word2Vec基础上进行了哪些改进?

实践项目一 word2vec实现

句法分析

第三讲:课后思考题

语义分析

第四讲:课后思考题

篇章分析

第五讲:课后思考题

第五讲:课后讨论题

信息抽取

第六讲:课后思考题

第六讲:课后讨论题

主题分析与文本分类

第七讲:课后思考题

第七讲:课后讨论题

实践项目二 文本分类

机器翻译

第八讲:课后思考题

第八讲:课后讨论题

预训练模型

第九讲:课后思考题

第九讲:课后讨论题

情感分析

第十讲:课后思考题

第十讲:课后讨论题

智能问答与阅读理解

严睿