1. 什么是自然语言处理(NLP)?
自然语言处理(Natural Language Processing, NLP)是人工智能(AI)的一个分支,旨在让计算机能够理解、生成和处理人类自然语言(如文本或语音)。NLP结合了语言学、计算机科学和统计学,广泛应用于文本分析、语言翻译、语音识别等领域,其目标是实现人与机器之间的自然语言交互。
2. NLP 的核心任务
2.1 基础任务
-
分词(Tokenization):
- 将文本分解为单词、短语或句子。
- 示例:
"我爱自然语言处理"
→["我", "爱", "自然语言处理"]
-
词性标注(POS Tagging):
- 标注每个单词的词性(如名词、动词、形容词等)。
- 示例:
"我爱自然语言处理"
→["我/代词", "爱/动词", "自然语言处理/名词"]
-
句法分析(Syntax Parsing):
- 分析句子的语法结构(如依存关系树或短语结构树)。
- 示例:
"我爱自然语言处理"
→ 主语:我,谓语:爱,宾语:自然语言处理。
-
命名实体识别(NER, Named Entity Recognition):
- 抽取文本中的实体(如人名、地名、时间等)。
- 示例:
"2024年,OpenAI推出了新模型"
→ 时间:2024年,组织:OpenAI。
-
语言模型(Language Modeling):
- 预测句子中下一个单词或生成连贯的文本。
- 示例:
"我喜欢吃"
→ 预测可能的下文:"苹果"
、"蛋糕"
、"米饭"
。
2.2 高级任务
-
文本分类(Text Classification):
- 将文本分为不同类别(如情感分析、垃圾邮件检测)。
- 示例:
"这部电影真好看"
→ 分类为“正面情感”。
-
情感分析(Sentiment Analysis):
- 判断文本的情感倾向(如正面、负面、中性)。
- 示例:
"这款产品太差了"
→ 负面情感。
-
机器翻译(Machine Translation):
- 自动将文本从一种语言翻译为另一种语言。
- 示例:
"Hello, world!"
→"你好,世界!"
-
问答系统(Question Answering, QA):
- 从文本中提取问题的答案。
- 示例:问题:
"爱因斯坦的出生年份?"
→ 答案:"1879年"
-
摘要生成(Text Summarization):
- 自动生成较短的文本来概括长文。
- 示例:输入一篇新闻文章,输出其核心摘要。
-
文本生成(Text Generation):
- 根据输入自动生成连贯的文本。
- 示例:输入提示:
"讲一个关于友情的故事"
→ 输出一个完整的故事。
-
信息抽取(Information Extraction):
- 从非结构化文本中提取结构化信息(如事件、关系)。
- 示例:
"苹果公司在2024年发布了新产品"
→ 事件:发布,时间:2024年,主体:苹果公司。
-
对话系统(Dialogue Systems/Chatbots):
- 实现人与机器的自然语言对话。
- 示例:客服机器人、智能助手(如 Siri、Alexa)。
3. NLP 的关键技术
3.1 预处理技术
-
文本清洗:
- 移除噪声(如标点符号、HTML标签等)。
- 示例:
"Hello, <b>world</b>!"
→"Hello world"
-
词干提取与词形还原(Stemming & Lemmatization):
- 将单词还原为其基础形式。
- 示例:
"running", "ran", "runs"
→ 词干:"run"
-
向量化表示(Text Vectorization):
- 将文本转换为数值形式,便于计算机处理。
- 技术包括:词袋模型(Bag of Words, BoW)、TF-IDF、词嵌入(Word Embedding)。
3.2 表示学习
-
词嵌入(Word Embedding):
- 将单词表示为低维向量,捕捉语义关系。
- 常用方法:
- Word2Vec
- GloVe
- FastText
- 示例:
"国王" - "男人" + "女人" ≈ "女王"
-
上下文嵌入(Contextual Embedding):
- 根据上下文动态生成单词表示。
- 模型包括:
- ELMo
- BERT
- GPT