NLP Levels
这幅图是人们对于语言层次的认知等级。
- 输入可以是语音,然后大脑进行语音音位分析;输入也可以是文本,通过图像识别或者分词解析。
- 接着我们会得到复杂的词汇含义比如incomprehensible,含有前缀in- 和后缀-able,这就是第二层的单词结构分析
- 第三层就是对句子结构,句法分析。找出句子里的动词,主语等结构
- 第四层,我们做语义理解,得出句子的含义
- 对于一个句子的理解还需要上下文的背景知识,这就是最后一层语篇处理
nlp的应用
- 拼写检查,自动补全 (初级语义理解任务)
- 搜索引擎的联想功能 (初级语义理解任务)
- 关键信息提取 比如价格,地点,爱好(中级语义理解任务)
- 情感分析(中级语义理解任务)
- 机器翻译(高级语义理解任务)
- 对话系统(高级语义理解任务)
人类语言一般是某个人想要传递某个信息给别人,具有目的性,同时即使小孩也能熟练的掌握这种复杂的系统。 特点:离散的,可以符号化,分类的信号系统
nlp难的原因
- 表达形式复杂,比起编程语言更加灵活
- 人类语言经常有歧义
- 人类语言依赖于真实世界,常识。人类语言也会省略很多不必要的话,所以更有效率
词向量
神经网络进行nlp的基础是,单词向量。将单词投影至高维的空间,我们会发现一些有趣的性质:含义相同的单词向量在空间上比较接近、向量空间里的方向会透露出成分和意义的信息。
每一个单词可以进行解析,分成词干、前缀、后缀等更小的单元,由此构造神经网络
为了进一步了解句子结构,找出句法停顿处,句法依存分析,我们同样可以构造神经网络如下:
接着为了理解句子含义,我们仍然可以构造神经网络: