2 个版本
0.2.1 | 2021年4月11日 |
---|---|
0.2.0 | 2020年9月29日 |
#967 in 科学
150KB
664 行

DeepFrog - NLP 套件
简介
DeepFrog 旨在成为荷兰 NLP 套件 Frog 的(部分)继任者。Frog 中的各种 NLP 模块建立在 k-NN 分类器之上,而 DeepFrog 则建立在深度学习技术之上,可以使用各种神经网络转换器。
我们的成果是多方面的
- 针对荷兰 NLP 的微调神经网络 模型,可以与 Frog 进行比较,并且可以直接与 Huggingface's Transformers 库(或 rust-bert)一起使用。
- 训练管道 用于上述模型(见
training
)。 - 软件工具 集成了多个模型(不仅限于荷兰语)并为最终用户提供了单一的管道解决方案。
- 支持 FoLiA XML 输入/输出。
- 使用不仅限于我们提供的模型
安装
DeepFrog 和所有其依赖项都包含在 LaMachine 中,这是安装它的最简单方法。在 lamachine 中,执行
lamachine-添加 deepfrog&&lamachine-更新
否则,只需使用 Rust 的包管理器安装 DeepFrog
cargo install deepfrog
系统上还没有 cargo/rust?在 Debian/ubuntu 系统上,使用 sudo apt install cargo
,在 macOS 上使用 brew install rust
,或使用 rustup。
为了运行 DeepFrog 命令行工具,您需要安装 C++ 库 libtorch。从 https://pytorch.ac.cn/ 下载它;确保在那里选择 package: libtorch!您不需要 PyTorch 的其他部分。
要使用 Python 的 Huggingface's Transformers 库直接使用我们的模型,您只需要该库,模型将在调用时自动下载和安装。DeepFrog 命令行工具不用于此工作流程。
模型
我们旨在提供各种荷兰自然语言处理(NLP)模型。
RobBERT v1 荷兰词性标注(CGN 标签集)
模型页面和说明:https://hugging-face.cn/proycon/robbert-pos-cased-deepfrog-nld
使用预训练模型 RobBERT(一个Roberta模型),在词性标注上进行了微调,使用的数据集与Frog使用的数据集相同。使用荷兰口语语料库(CGN)的标签集,这个语料库构成了训练数据的一个子集。
测试评估
f1 = 0.9708171206225681
loss = 0.07882563415198372
precision = 0.9708171206225681
recall = 0.9708171206225681
RobBERT v2 荷兰词性标注(CGN 标签集)
模型页面和说明:https://hugging-face.cn/proycon/robbert2-pos-cased-deepfrog-nld
使用预训练模型 RobBERT v2(一个Roberta模型),在词性标注上进行了微调,使用的数据集与Frog使用的数据集相同。使用荷兰口语语料库(CGN)的标签集,这个语料库构成了训练数据的一个子集。
f1 = 0.9664560038891591
loss = 0.09085878504153627
precision = 0.9659863945578231
recall = 0.9669260700389105
BERT 荷兰词性标注(CGN 标签集)
模型页面和说明:https://hugging-face.cn/proycon/bert-pos-cased-deepfrog-nld
使用预训练模型 BERTje(一个BERT模型),在词性标注上进行了微调,使用的数据集与Frog使用的数据集相同。使用荷兰口语语料库(CGN)的标签集,这个语料库构成了训练数据的一个子集。
测试评估
f1 = 0.9737354085603113
loss = 0.0647074995296342
precision = 0.9737354085603113
recall = 0.9737354085603113
RobBERT SoNaR1 荷兰命名实体
模型页面和说明:https://hugging-face.cn/proycon/robbert-ner-cased-sonar1-nld
使用预训练模型 RobBERT(一个Roberta模型),在SoNaR1语料库的命名实体上进行了微调(与Frog使用的数据集相同)。提供基本的PER、LOC、ORG、PRO、EVE、MISC标签。
测试评估(注意:这是一个基于标记的简单评估,而不是基于实体的评估!)
f1 = 0.9170731707317074
loss = 0.023864904676364467
precision = 0.9306930693069307
recall = 0.9038461538461539
注意:该模型的标记化使用的是英语而不是荷兰语
RobBERT v2 SoNaR1 荷兰命名实体
模型页面和说明:https://hugging-face.cn/proycon/robbert2-ner-cased-sonar1-nld
使用预训练模型 RobBERT v2(一个Roberta模型),在SoNaR1语料库的命名实体上进行了微调(与Frog使用的数据集相同)。提供基本的PER、LOC、ORG、PRO、EVE、MISC标签。
f1 = 0.8878048780487806
loss = 0.03555946223787032
precision = 0.900990099009901
recall = 0.875
BERT SoNaR1 荷兰命名实体
模型页面和说明:https://hugging-face.cn/proycon/bert-ner-cased-sonar1-nld
使用预训练模型 BERTje(一个BERT模型),在SoNaR1语料库的命名实体上进行了微调(与Frog使用的数据集相同)。提供基本的PER、LOC、ORG、PRO、EVE、MISC标签。
测试评估(注意:这是一个基于标记的简单评估,而不是基于实体的评估!)
f1 = 0.9519230769230769
loss = 0.02323892477299803
precision = 0.9519230769230769
recall = 0.9519230769230769
依赖关系
~37MB
~712K SLoC