Flair:一个非常简单的pytorch框架,用于最先进的NLP

Song1593 次浏览0个评论2018年08月21日

一个非常简单的框架,用于最先进的NLP。由Zalando Research开发。

Flair是什么:

  • 强大的语法 - 语义标记器/分类器。 Flair允许您应用我们最先进的模型进行命名实体识别(NER),词性标注(PoS),帧感消歧,分块和分类到您的文本。
  • 文本嵌入库。 Flair具有简单的界面,允许您使用和组合不同的单词和文档嵌入。特别是,您可以尝试我们提出的上下文字符串嵌入来构建您自己最先进的NLP方法。
  • Pytorch NLP框架。 我们的框架直接在Pytorch上构建,使您可以轻松地训练自己的模型,并使用Flair嵌入和类来尝试新方法。

现在版本0.2.0

与现有技术的比较

Flair优于以前在一系列NLP任务上的最佳方法:

任务 数据集 我们的结果 以前最好的
命名实体识别(英文)Conll-0393.09(F1)92.22 (Peters等,2018)
命名实体识别(英文)Ontonotes89.71(F1)86.28 (Chiu等,2016)
Emerging实体检测(英文)WNUT-1750.20(F1)45.55 (Aguilar等,2018)
命名实体识别(德语)Conll-0388.32(F1)78.76 (Lample等,2016)
命名实体识别(德语)Germeval84.65(F1)79.08 ( Hänig 等,2014)
词性标注WSJ97.8597.64 (崔,2016)
ChunkingConll-200096.72(F1)96.36 (Peters等,2017)

以下是使用Flair复制这些数字的方法。您还可以在我们的论文中找到详细的评估和讨论:

Contextual String Embeddings for Sequence Labeling。Alan Akbik,Duncan Blythe和Roland Vollgraf。第27届计算语言学国际会议,COLING 2018。

快速开始

1、环境需求和安装

该项目基于PyTorch 0.4+Python 3.6+,因为签名方法和类型提示很漂亮。如果您没有Python 3.6,需要提前安装。这是Ubuntu 16.04安装python 3.6的方法。然后,在您最喜欢的虚拟环境中使用pip安装即可:

pip install flair

2、示例用法

让我们对一个例句运行命名实体识别(NER)。您需要做的就是创建一个Sentence,加载预先训练的模型并使用它来预测句子的标签:

from flair.data import Sentence
from flair.models import SequenceTagger

# make a sentence
sentence = Sentence('I love Berlin .')

# load the NER tagger
tagger = SequenceTagger.load('ner')

# run NER over sentence
tagger.predict(sentence)

完成!在Sentence目前拥有实体的注解。打印sentence可以看到标记器找到的内容。

print(sentence)
print('The following NER tags are found:')
print(sentence.to_tagged_string())

应该会输出:

Sentence: "I love Berlin ." - 4 Tokens

The following NER tags are found: 

I love Berlin <S-LOC> .

教程

我们提供了一套快速教程来帮助您开始使用该库:

项目地址:zalandoresearch/flair

本文转账至:Flair:一个非常简单的pytorch框架,用于最先进的NLP

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...