自然语言处理 自然语言处理任务的涂鸦总结 在这一部分,我们将专注于使用神经网络来处理与自然语言处理(NLP)相关的任务。有许多NLP问题是我们希望计算机能够解决的: 文本分类是一种典型的文本序列分类问题。例如,将电子邮件消息分类为垃圾邮件或非垃圾邮件,或将文章分类为体育、商业、政治等。此外,在开发聊天机器人时,我们经常需要理解用户想要表达的内容——在这种情况下,我们处理的是意图分类。通常,在意图分类中我们需要处理多个类别。 情感分析是一种典型的回归问题,我们需要赋予一个数字(情感)来表示句子的正面或负面含义。情感分析的一个更高级版本是基于方面的情感分析(ABSA),在这种分析中,我们不是将情感归因于整个句子,而是将其归因于句子的不同部分(方面),例如:在这间餐厅里,我喜欢菜肴,但气氛很糟糕。

在这一部分,我们将专注于使用神经网络来处理与**自然语言处理(NLP)**相关的任务。有许多NLP问题是我们希望计算机能够解决的:
最初,大多数NLP任务是通过传统方法如语法来解决的。例如,在机器翻译中,解析器被用来将初始句子转换成句法树,然后提取高层的语义结构以表示句子的意义,最后根据这种意义和目标语言的语法生成结果。如今,许多NLP任务使用神经网络能更有效地解决。
许多经典的NLP方法在Natural Language Processing Toolkit (NLTK) Python库中实现。有一本很棒的NLTK书在网上可以找到,涵盖了如何使用NLTK解决不同的NLP任务。
在我们的课程中,我们将主要关注使用神经网络进行NLP,并在必要时使用NLTK。
我们已经学习了如何使用神经网络处理表格数据和图像数据。这些数据类型与文本的主要区别在于文本是长度可变的序列,而图像的数据输入大小是预先已知的。虽然卷积网络可以从输入数据中提取模式,但文本中的模式更为复杂。例如,我们可以有否定与主语分离的情况,对于许多词来说,这应该仍然被视为一种模式,比如 我不喜欢橙子 与 我不喜欢那些大而多彩美味的橙子。
因此,为了处理语言,我们需要引入新的神经网络类型,如循环网络和变换器。
如果你使用本地Python安装来运行本课程,你可能需要使用以下命令安装所有所需的NLP库:
对于PyTorch
pip install -r requirements-torch.txt
对于TensorFlow
pip install -r requirements-tf.txt
你可以尝试在Microsoft Learn上使用TensorFlow进行NLP
在本节中,我们在一些示例中将训练相当大的模型。
physical_devices = tf.config.list_physical_devices('GPU') if len(physical_devices)>0: tf.config.experimental.set_memory_growth(physical_devices[0], True)
如果你想从经典机器学习的角度了解NLP,访问这套课程
在本节中,我们将学习:
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。