工具篇Flair之使用预训练模型教程
更多实时更新的个人学习笔记分享,请关注:
知乎:https://www.zhihu.com/people/yuquanle/columns
微信订阅号:AI小白入门
ID: StudyForAI
Flair工具使用教程
- 教程二: 如何使用预先训练的模型标记您的文本。
- 教程地址:https://github.com/zalandoresearch/flair/blob/master/resources/docs/TUTORIAL_2_TAGGING.md
使用预训练模型进行标记
让我们使用预先训练的模型进行命名实体识别(NER)。 该模型通过英语CoNLL-03任务进行训练,可识别4种不同的实体类型。
使用tagger的predict()方法。 这会将预测标签添加到句子中的标记中。
from flair.models import SequenceTaggertagger = SequenceTagger.load('ner')sentence = Sentence('George Washington went to Washington .')# predict NER tagstagger.predict(sentence)# print sentence with predicted tagsprint(sentence.to_tagged_string())George <B-PER> Washington <E-PER> went to Washington <S-LOC> .
- 许多序列标记方法注释由多个单词组成,例如我们的例句中的“George Washington”。 您可以直接获得这样的跨度标记句子,如下所示:
for entity in sentence.get_spans('ner'):print(entity)PER-span [1,2]: "George Washington"
LOC-span [5]: "Washington"
这表明“乔治华盛顿”是一个人(PER),“华盛顿”是一个位置(LOC)。
目前提供以下预训练模型:
- 您可以通过SequenceTagger类的load()方法来选择加载的预训练模型。
语义框架检测
对于英语,现在还提供一个预训练模型,用于检测文本中的语义框架,使用Propbank 3.0框架进行训练。
这为框架提供了一种词义消歧方法
例子:
# load model
tagger = SequenceTagger.load('frame')# make German sentence
sentence_1 = Sentence('George returned to Berlin to return his hat .')
sentence_2 = Sentence('He had a look at different hats .')# predict NER tags
tagger.predict(sentence_1)
tagger.predict(sentence_2)# print sentence with predicted tags
print(sentence_1.to_tagged_string())
print(sentence_2.to_tagged_string())George returned <return.01> to Berlin to return <return.02> his hat .
He had <have.LV> a look <look.01> at different hats .
正如我们所看到的,框架检测器在句子1中区分单词“return”的两个不同含义。 'return.01’表示返回某个位置,而’return.02’表示返回某个位置。
类似地,在句子2中,框架检测器找到一个轻音动词结构,其中’have’是轻动词。
标记句子列表
通常,您可能希望标记整个文本语料库。 在这种情况下,您需要将语料库拆分为句子并将Sentence对象列表传递给.predict()方法。
例如,您可以使用segtok的句子拆分器来拆分文本:
使用.predict()方法的mini_batch_size参数,可以设置传递给标记器的批次的大小。
# your text of many sentences
text = "This is a sentence. This is another sentence. I love Berlin."# use a library to split into sentences
from segtok.segmenter import split_single
sentences = [Sentence(sent, use_tokenizer=True) for sent in split_single(text)]# predict tags for list of sentences
tagger: SequenceTagger = SequenceTagger.load('ner')
tagger.predict(sentences)
工具篇Flair之使用预训练模型教程相关推荐
- 工具篇Flair之文档嵌入教程
Flair文档嵌入教程 文档嵌入与单词嵌入不同之处在于它们为您提供了一个嵌入整个文本的内容,而文字嵌入则为您提供了嵌入单个单词的内容. 所有文档嵌入类都继承自DocumentEmbeddings类,并 ...
- 工具篇Flair之训练模型教程
Flair工具使用教程之如何训练自己的模型 教程地址:https://github.com/zalandoresearch/flair/blob/master/resources/docs/TUTOR ...
- 工具篇Flair之使用加载语料库教程
Flair工具使用教程之如何加载自己的语料库 本教程的展示了如何加载自己的语料库,以便训练自己的模型. 教程地址:https://github.com/zalandoresearch/flair/bl ...
- 工具篇Flair之训练自己的Flair Embeddings
Flair工具使用教程之如何训练自己的Flair Embeddings 教程地址:https://github.com/zalandoresearch/flair/blob/master/resour ...
- 【工具篇】接口测试神器 -- Postman 入门教程
一.Postman概述 (1)工具介绍 Postman是一个接口测试工具,一款非常流行的API调试工具.在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求 ...
- 从多篇2021年顶会论文看多模态预训练模型最新研究进展
©PaperWeekly 原创 · 作者 | 小马 单位 | FightingCV公众号运营者 研究方向 | 计算机视觉 背景 1.1.什么是预训练 目前随着数据量爆炸式的增长,靠人工去标注更多数据是 ...
- 一文看懂预训练模型最新进展
每天给你送来NLP技术干货! 来自:澜舟科技 本文根据澜舟科技创始人兼 CEO 周明.澜舟大模型技术负责人王宇龙在「澜舟NLP分享会」演讲整理,带领大家回顾过去 12 个月以来,国内外大模型的发展趋势 ...
- 2022 年中回顾|一文看懂预训练模型最新进展
本文回顾了过去 12 个月以来,国内外大模型的发展趋势,包括百花齐放的国产大模型.新秀不断涌现的多模态模型.萌芽中的通用能力模型等等,并对大模型新应用.预训练框架等方面的进展进行了总结. 根据澜舟科技 ...
- 智能化软件开发微访谈·第二十二期 代码预训练模型
CodeWisdom 代码预训练模型微访谈 · 活动预告 背景介绍 随着代码数据的增长以及人工智能技术的发展,基于深度学习的代码推荐和生成已经成为软件智能化开发领域的热点研究问题.近几年,基于Tran ...
最新文章
- 40年诞生7位诺奖得主,美国贝尔实验室做对了什么?
- Ajax同步和异步的区别
- redis数据库入门
- iOS 够逼格的注释总结
- 前端学习(1841):前端面试题之redux管理状态机制
- 我写了10年博客,却被人说“不火”?我是这样怼回去的?
- 如果你的Spring水平就这?求求就不要去面试官那里送人头了
- 暑期训练日志----2018.8.17
- python json.dumps() 中文乱码问题
- NDK开发(一)————如何在Android Studio下进行NDK开发
- python问卷星微信登录_Python填写问卷星
- Ansible自动运维工具
- UVM-入门实验2_uvm代码实现
- iOS开发之自定义键盘(数字,字母类型等随意切换)
- 使用comm在java程序中管理本地端口[回钦波:高级软件工程师]
- ios开发开发之:关于时间戳转化成时间
- [Tomcat]配置默认访问端口及Tomcat默认访问项目
- 【转载】【原帖名】如何通过紧急刷机模式dump几乎任何高通机型的存储设备
- 计算机和路由器的网络号应如何设置,新的路由器该怎么设置上网? 路由器的设置方法...
- QQ支付下单思路和代码