使用e2e对荷兰语进行指代消解
项目描述
e2e-Dutch
荷兰语e2e核心指模型代码。代码基于原始的英语e2e模型,并修改以适用于荷兰语。如果您使用此代码,请引用它,并引用原始的e2e论文。
此代码可用于使用SoNaR-1数据集训练的荷兰语预训练模型。模型文件和文档可在10.5281/zenodo.5153574找到
安装
要求
- Python 3.6或3.7
- pip
- tensorflow v2.0.0或更高版本
在此存储库中运行
pip install -r requirements.txt
pip install .
或者,您可以直接从Pypi安装
pip install tensorflow
pip install e2e-Dutch
快速入门 - Stanza
e2edutch可以作为Stanza管道的一部分使用。
指代与Stanza实体类似添加
- 一个文档有一个属性clusters,它是一个指代簇列表;
- 一个指代簇是一个Stanza Spans列表。
import stanza
import e2edutch.stanza
nlp = stanza.Pipeline(lang='nl', processors='tokenize,coref')
doc = nlp('Dit is een test document. Dit document bevat coreferenties.')
print ([[span.text for span in cluster] for cluster in doc.clusters])
请注意,您首先需要使用stanza.download('nl')
下载stanza模型。在加载管道时,e2e-Dutch模型文件将自动下载到stanza资源目录。
快速开始
有预训练模型可供下载
python -m e2edutch.download [-d DATAPATH]
这将下载模型文件,默认位置是python包位置内的data
目录。也可以使用DATAPATH
参数手动设置,或者通过指定环境变量E2E_HOME
。
预训练模型可用于预测conll 2012文件、jsonlines文件、NAF文件或纯文本文件(在后一种情况下,stanza包将用于分词)。
python -m e2edutch.predict.py [-h] [-o OUTPUT_FILE] [-f {conll,jsonlines,naf}] [-m MODEL] [-c WORD_COL] [--cfg_file CFG_FILE] [--model_cfg_file MODEL_CFG_FILE] [-v] input_filename
positional arguments:
input_filename
optional arguments:
-h, --help show this help message and exit
-o OUTPUT_FILE, --output_file OUTPUT_FILE
-f {conll,jsonlines,naf}, --format_out {conll,jsonlines,naf}
-m MODEL, --model MODEL
model name
-c WORD_COL, --word_col WORD_COL
--cfg_file CFG_FILE config file
--model_cfg_file MODEL_CFG_FILE
model config file
-v, --verbose
用户特定的配置(如数据目录、数据文件等)可以提供在单独的配置文件中,默认值在cfg/defaults.conf
中指定。当您想使用用户指定的模型而不是预训练模型进行预测时,model_cfg_file
和model
选项是相关的(有关如何训练模型的说明,请参阅下文)。
训练自己的模型
要训练新模型
- 确保模型配置文件(默认:
e2edutch/cfg/models.conf
)描述了您要训练的模型 - 确保您的配置文件(默认:
e2edutch/cfg/defaults.conf
)包含了您想要用于训练的数据文件 - 运行
scripts/setup_train.sh e2edutch/cfg/defaults.conf
。此脚本将conll2012数据转换为jsonlines文件,并缓存单词和上下文嵌入。 - 如果您想启用GPU的使用,请设置环境变量
export GPU=0
- 运行训练脚本
python -m e2edutch.train <model-name>
引用此代码
如果您在研究中使用此代码,请按以下方式引用
@misc{YourReferenceHere,
author = {
Dafne van Kuppevelt and
Jisk Attema
},
title = {e2e-Dutch},
doi = {10.5281/zenodo.4146960},
url = {https://github.com/Filter-Bubble/e2e-Dutch}
}
由于代码主要基于原始的英文e2e模型,请确保也引用原始e2e论文。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
e2e-Dutch-0.4.1.tar.gz (33.4 kB 查看哈希值)
构建分布
e2e_Dutch-0.4.1-py3.7.egg (102.5 kB 查看哈希值)
e2e_Dutch-0.4.1-py3-none-any.whl (59.3 kB 查看哈希值)
关闭
e2e-Dutch-0.4.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 971fee482579edd9a18c612f479d8353b74d3cd5bf3046e80f948372deb99849 |
|
MD5 | 5068d195984fae26630b6f6df0bfa3bc |
|
BLAKE2b-256 | 62b31a645d46ac22f2b2c247325f66ce77f9c1accd8a824bb6253821e6856af2 |
关闭
e2e_Dutch-0.4.1-py3.7.egg的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb8b0e656e45c0ff99cc8bf4f15302192b67a14fd884896c1a8f66330ab66acb |
|
MD5 | 86a32f2b595bfa8e13450c0a9d98afb1 |
|
BLAKE2b-256 | 8f199ecbd977348499cdaf24aec5383339e636e2f569e93f3c05d4c5d2d7698f |