自然语言处理
在本节中,我们将重点使用神经网络处理与<strong>自然语言处理(NLP)</strong>相关的任务。我们希望计算机能够解决许多NLP问题:
课程内容
自然语言处理

在本节中,我们将重点使用神经网络处理与自然语言处理(NLP)相关的任务。我们希望计算机能够解决许多NLP问题:
- 文本分类是一个典型的关于文本序列的分类问题。例子包括将电子邮件消息分类为垃圾邮件或非垃圾邮件,或将文章分类为体育、商业、政治等。同时,在开发聊天机器人时,我们常常需要理解用户的意图——这时我们处理的是意图分类。意图分类中通常需要处理很多类别。 情感分析是一个典型的回归问题,我们需要给句子含义的正负程度赋予一个数值(情绪值)。情感分析的更高级版本是基于方面的情感分析(ABSA),我们不是对整个句子赋予情感,而是对句子的不同部分(方面)赋予情感,例如 这家餐厅,我喜欢它的菜肴,但氛围很糟糕*。 命名实体识别(NER)指的是从文本中提取特定实体的问题。例如,我们需要理解短语 我明天需要飞往巴黎 中,明天 指的是日期,巴黎* 是位置。
- 关键词提取与NER类似,但我们需要自动提取对句子意义重要的词汇,而无需针对特定实体类型进行预训练。
- 文本聚类在我们希望将相似句子归为一组时非常有用,例如,在技术支持对话中相似的请求。
- 问答系统指模型回答具体问题的能力。模型输入一段文本和一个问题,需要在文本中找出包含问题答案的位置(或者有时直接生成答案文本)。 文本生成是模型生成新文本的能力。它可以被视为一个基于某个文本提示*预测下一个字母或单词的分类任务。先进的文本生成模型,如GPT-3,能够使用称为提示编程或提示工程的技术解决其他NLP任务如分类。
- 文本摘要是一种技术,我们希望计算机“阅读”长文本并将其总结成几句话。
- 机器翻译可以视为一种在一种语言上理解文本,在另一种语言上生成文本的结合。
最初,大多数NLP任务是用传统方法如文法来解决的。例如,在机器翻译中,解析器用于将初始句子转换为语法树,然后提取更高层次的语义结构来表示句子的含义,基于这个含义和目标语言的文法生成结果。如今,许多NLP任务更有效的解决方法是使用神经网络。
许多经典的NLP方法在自然语言处理工具包(NLTK) Python库中实现。网上有一本很棒的,介绍了如何使用NLTK解决不同的NLP任务。