NLP 是机器学习在语言学领域的研究,专注于理解与人类语言相关的一切。NLP 的目标不仅是要理解每个单独的单词,而且能理解这些单词与之相关联的上下文之间的意思。
常见的NLP 任务列表:
NLP 并不局限于书面文本,它也能解决语音识别、计算机视觉方方面的问题,如生成音频样本的转录、图像的描述等;
Hugging Face Hub 社区是最大的Transformer开发者的交流地,里面分享了数千个预训练模型,任何人都可以下载和使用。而Transformers 库提供了创建和使用这些共享模型的功能。
# # 安装
pip install transformers
# # 导入
import transformers
Transformers 库最基本的对象是pipeline()管道函数,它将必要的预处理和后处理连接起来,使我们能直接输入文本并获取对应需求的答案。将文本传递到管道时主要涉及三个步骤:
情感分析
from transformers import pipeline
classifier = pipeline("sentiment-analysis")
classifier("I've been waiting for a HuggingFace course my whole life.")
# # [{'label': 'POSITIVE', 'score': 0.9598047137260437}]
classifier(["I've been waiting for a HuggingFace course my whole life.", "I hate this so much!"])
## [{'label': 'POSITIVE', 'score': 0.9598047137260437},
## {'label': 'NEGATIVE', 'score': 0.9994558095932007}]
零样本分类
from transformers import pipeline
classifier = pipeline("zero-shot-classification")
classifier("This is a course about the Transformers library",
candidate_labels=["education", "politics", "business"])