大数据关键技术:自然语言处理入门篇
作者:互联网
自然语言处理简介
自然语言处理概况
什么是自然语言处理?
自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。
自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别、中文OCR等方面。
(1) 计算机将自然语言作为输入或输出:
- 输入对应的是自然语言理解;
- 输出对应的是自然语言生成;
(2) 关于NLP的多种观点:
- A、人类语言处理的计算模型:
- ——程序内部按人类行为方式操作
- B、 人类交流的计算模型:
- ——程序像人类一样交互
- C、有效处理文本和语音的计算系统
(3) NLP的应用:
A、机器翻译(Machine Translation)…….
B、MIT翻译系统(MIT Translation System)……
C、文本摘要(Text Summarization)……
D、对话系统(Dialogue Systems)……
E、其他应用(Other NLP Applications):
——语法检查(Grammar Checking)
——情绪分类(Sentiment Classification)
——ETS作文评分(ETS Essay Scoring)
自然语言处理相关问题
为什么自然语言处理比较难?
(1) 歧义
“At last, a computer that understands you like your mother”
对于这句话的理解:
A、 它理解你就像你的母亲理解你一样;
B、 它理解你喜欢你的母亲;
C、 它理解你就像理解你的母亲一样
D、 我们来看看Google的翻译:终于有了一台像妈妈一样懂你的电脑(看上去Google的理解更像选项A)。
A到C这三种理解好还是不好呢?
(2) 不同层次的歧义
A、 声音层次的歧义——语音识别:
——“ ... a computer that understands you like your mother”
——“ ... a computer that understands you lie cured mother”
B、语义(意义)层次的歧义:
Two definitions of “mother”:
——a woman who has given birth to a child
——a stringy slimy substance consisting of yeast cells and bacteria; is added to cider or wine to produce vinegar
C、话语(多语)层次的歧义、句法层次的歧义:
NLP的知识瓶颈
我们需要:
——有关语言的知识;
——有关世界的知识;
可能的解决方案:
——符号方法 or 象征手法:将所有需要的信息在计算机里编码;
——统计方法:从语言样本中推断语言特性;
(1)例子研究:限定词位置
任务:在文本中自动地放置限定词
样本:Scientists in United States have found way of turning lazy monkeys into workaholics using gene therapy. Usually monkeys work hard only when they know reward is coming, but animals given this treatment did their best all time. Researchers at National Institute of Mental Health near Washington DC, led by Dr Barry Richmond, have now developed genetic treatment which changes their work ethic markedly. ”Monkeys under influence of treatment don’t procrastinate,” Dr Richmond says. Treatment consists of anti-sense DNA - mirror image of piece of one of our genes - and basically prevents that gene from working. But for rest of us, day when such treatments fall into hands of our bosses may be one we would prefer to put off.
(2)相关语法规则
a) 限定词位置很大程度上由以下几项决定:
i. 名词类型-可数,不可数;
ii. 照应-特指,类指;
iii. 信息价值-已有,新知
iv. 数词-单数,复数
b) 然而,许多例外和特殊情况也扮演着一定的角色,如:
i. 定冠词用在报纸名称的前面,但是零冠词用在杂志和期刊名称前面
(3) 符号方法方案
a) 我们需要哪些类别的知识:
i. 语言知识:
-静态知识:数词,可数性,…
-上下文相关知识:共指关系
ii. 世界知识:
- 引用的唯一性(美国现任总统),名词的类型(报纸与杂志),名词之间的情境关联性(足球比赛的得分),......
iii. 这些信息很难人工编码!
(4)统计方法方案
a) 朴素方法:
i. 收集和你的领域相关的大量的文本
ii. 对于其中的每个名词,计算它和特定的限定词一起出现的概率
iii. 对于一个新名词,依据训练语料库中最高似然估计选择一个限定词
b) 实现:
i. 语料:训练——华尔街日报(WSJ)前21节语料,测试——第23节
ii. 预测准确率:71.5%
c) 结论:
i. 结果并不是很好,但是对于这样简单的方法结果还是令人吃惊
ii. 这个语料库中的很大一部分名词总是和同样的限定词一起出现,如:
-“the FBI”,“the defendant”, ...
(5)作为分类问题的限定词位置
a) 预测:
b) 代表性的问题:
i. 复数?(是,否)
ii. 第一次在文本中出现?
iii. 名词(词汇集的成员)
c) 图表例子略
d) 目标:学习分类函数以预测未知例子
(6)分类方法
a) 学习X->Y的映射函数
b) 假设已存在一些分布D(X,Y)
c) 尝试建立分布D(X,Y)和D(X|Y)的模型
(7)分类之外
a) 许多NLP应用领域可以被看作是从一个复杂的集合到另一个集合的映射:
i. 句法分析: 串到树
ii. 机器翻译: 串到串
iii. 自然语言生成:数据词条到串
b) 注意,分类框架并不适合这些情况!
自然语言处理:单词计数
语料库及其性质
(1) 什么是语料库(Corpora)
i. 一个语料库就是一份自然发生的语言文本的载体,以机器可读形式存储;
(2) 单词计数(Word Counts)
i. 在文本中最常见的单词是哪些?
ii. 在文本中有多少个单词?
iii. 在大规模语料库中单词分布的特点是什么?
(3) 我们以马克吐温的《汤姆索耶历险记》为例:
单词(word) 频率(Freq) 用法(Use)
the 3332 determiner (article)
and 2972 conjunction
a 1775 determiner
to 1725 preposition, inf. marker
of 1440 preposition
was 1161 auxiliary verb
it 1027 pronoun
in 906 preposition
that 877 complementizer
Tom 678 proper name
虚词占了大多数
(4) 这个例句里有多少个单词:
They picnicked by the pool, then lay back on the grass and looked at the stars.
i. “型”(Type) ——语料库中不同单词的数目,词典容量
ii. “例”(Token) — 语料中总的单词数目
iii. 注:以上定义参考自《自然语言处理综论》
iv. 汤姆索耶历险记(Tom Sawyer)中有:
1. 词型— 8, 018
2. 词例— 71, 370
3. 平均频率— 9(注:词例/词型)
(5) 词频的频率:
大多数词在语料库中仅出现一次!
自然语言处理的一般步骤
(1) 文本预处理(分词、去除停用词、词干化)
(2) 统计词频
(3) 文本向量化
分词相关知识
(1) Tokenization
i. 目标:将文本切分成单词序列
ii. 单词指的是一串连续的字母数字并且其两端有空格;可能包含连字符和撇号但是没有其它标点符号