自然语言处理介绍

1,279 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

What is NLP?

NLP = NLU + NLG

  • NLU:语音/文本 ->意思(meaning)
  • NLG:意思 -> 文本/语音

自然语言处理的挑战

Multiple Ways to Express (多种表达⽅式)

Ambiguity(⼀词多义)

自然语言处理主要应用场景

Question Answering(问答系统)

image.png

Sentiment Analysis(情感分析)

image.png

Machine Translation(机器翻译)

image.png

Text Summarization(自动摘要)

image.png

Chatbot (聊天机器⼈)

image.png

Information Extraction(信息抽取)

image.png

主要关键技术

⾃然语⾔处理技术四个维度

  • Morphology(单词)
  • Syntax(句⼦结构)
  • Semantic(语义)
  • ⾃然语⾔处理技术四个维度 Phonetics(声⾳)

Word Segmentation(分词)

Part-of-Speech (词性)

Named Entity Recognition(命名实体识别)

Parsing (句法分析)

Dependency Parsing (依存分析)

Relation Extraction(关系抽取)

分词技术

前向最大匹配

首先定义MAX_LENGTH的大小(一般为词典中最长的单词的长度),之后将待分词子串从前往后扫描取出MAX_LENGTH的长度,然后在词典中进行匹配,尽可能地选择与词典中最长单词匹配的词作为目标分词,然后进行下一次匹配。

后向最大匹配

首先定义MAX_LENGTH的大小(一般为词典中最长的单词的长度),之后将待分词子串从后往前扫描取出MAX_LENGTH的长度,然后在词典中进行匹配,尽可能地选择与词典中最长单词匹配的词作为目标分词,然后进行下一次匹配。

基于图的Viterbi算法

维特比算法就是求所有观测序列中的最优。

分词工具