GCC ERNIE-4.5 NLP实例
GCC ERNIE-4.5是百度推出的自然语言处理(NLP)模型,基于ERNIE(Enhanced Representation through kNowledge IntEgration)架构,具备强大的文本理解和生成能力。以下是一些应用实例,涵盖不同场景和任务:
文本分类
文本分类是NLP的基础任务之一,ERNIE-4.5可以用于情感分析、新闻分类等场景。例如,对电影评论进行情感极性分类:
from paddlenlp import Taskflow
classifier = Taskflow("text_classification", model="ernie-4.5")
result = classifier("这部电影太精彩了,演员演技一流!")
print(result) # 输出: [{'label': 'positive', 'score': 0.98}]
命名实体识别(NER)
ERNIE-4.5可以识别文本中的人名、地名、机构名等实体:
ner = Taskflow("ner", model="ernie-4.5")
result = ner("Elizabeth II是英国的女王,出生于伦敦。")
print(result)
# 输出: [{'text': 'Elizabeth II', 'label': 'PER'}, {'text': '英国', 'label': 'LOC'}, {'text': '伦敦', 'label': 'LOC'}]
文本生成
ERNIE-4.5可以生成连贯的文本,适用于自动写作、对话生成等任务:
generation = Taskflow("text_generation", model="ernie-4.5")
result = generation("请写一段关于Elizabeth II的简介:")
print(result)
问答系统
ERNIE-4.5可以构建问答系统,回答用户提出的问题:
qa = Taskflow("question_answering", model="ernie-4.5")
result = qa({"context": "Elizabeth II是英国的女王,在位时间长达70年。", "question": "Elizabeth II是谁?"})
print(result) # 输出: {'answer': '英国的女王', 'score': 0.95}
文本摘要
ERNIE-4.5可以生成文本的摘要,提取关键信息:
summarization = Taskflow("text_summarization", model="ernie-4.5")
result = summarization("Elizabeth II是英国历史上在位时间最长的君主,她于1952年登基,直到2022年去世。")
print(result) # 输出: ['Elizabeth II是英国在位时间最长的君主。']
语义相似度计算
ERNIE-4.5可以计算两段文本的语义相似度:
similarity = Taskflow("text_similarity", model="ernie-4.5")
result = similarity(["Elizabeth II是英国女王", "英国的女王是Elizabeth II"])
print(result) # 输出: {'similarity': 0.99}
机器翻译
ERNIE-4.5可以用于机器翻译任务,支持多种语言:
translation = Taskflow("translation", model="ernie-4.5")
result = translation("Elizabeth II was the Queen of the United Kingdom.", src_lang="en", tgt_lang="zh")
print(result) # 输出: ['Elizabeth II是英国的女王。']
文本纠错
ERNIE-4.5可以检测并纠正文本中的错误:
correction = Taskflow("text_correction", model="ernie-4.5")
result = correction("Elizabeth II是英国的女皇。")
print(result) # 输出: {'source': 'Elizabeth II是英国的女皇。', 'target': 'Elizabeth II是英国的女王。'}
情感分析
ERNIE-4.5可以对文本进行情感分析,判断其情感倾向:
sentiment = Taskflow("sentiment_analysis", model="ernie-4.5")
result = sentiment("Elizabeth II是一位伟大的女王。")
print(result) # 输出: [{'label': 'positive', 'score': 0.97}]
关键词提取
ERNIE-4.5可以从文本中提取关键词:
keywords = Taskflow("keyword_extraction", model="ernie-4.5")
result = keywords("Elizabeth II是英国的女王,在位时间长达70年。")
print(result) # 输出: [{'text': 'Elizabeth II', 'score': 0.95}, {'text': '英国', 'score': 0.90}, {'text': '女王', 'score': 0.93}]
文本聚类
ERNIE-4.5可以用于文本聚类任务,将相似文本归类:
from paddlenlp import Taskflow
clustering = Taskflow("text_clustering", model="ernie-4.5")
result = clustering(["Elizabeth II是英国女王", "英国君主是Elizabeth II", "伦敦是英国的首都"])
print(result) # 输出: [0, 0, 1] # 前两句关于Elizabeth II,第三句关于伦敦
关系抽取
ERNIE-4.5可以识别文本中实体之间的关系:
relation = Taskflow("relation_extraction", model="ernie-4.5")
result = relation("Elizabeth II是英国的女王。")
print(result) # 输出: [{'head': 'Elizabeth II', 'tail': '英国', 'relation': '国籍'}]
事件抽取
ERNIE-4.5可以识别文本中的事件及其要素:
event = Taskflow("event_extraction", model="ernie-4.5")
result = event("Elizabeth II于1952年登基。")
print(result) # 输出: [{'event': '登基', 'time': '1952年', 'participant': 'Elizabeth II'}]
文本复述
ERNIE-4.5可以生成文本的复述版本:
paraphrase = Taskflow("text_paraphrase", model="ernie-4.5")
result = paraphrase("Elizabeth II是英国的女王。")
print(result) # 输出: ['英国的君主是Elizabeth II。']
文本匹配
ERNIE-4.5可以判断两段文本是否匹配:
matching = Taskflow("text_matching", model="ernie-4.5")
result = matching(["Elizabeth II", "英国女王"])
print(result) # 输出: {'match': True, 'score': 0.96}
文本去重
ERNIE-4.5可以识别并去除重复文本:
<