Project Icon

ua-gec

乌克兰语语法纠错与流畅性语料库

UA-GEC是一个经专业注释的乌克兰语语法错误纠正和流畅性编辑语料库。该语料库提供GEC+Fluency和GEC-only两个版本,适用于不同研究场景。语料库包含33,735个句子,涵盖从日常聊天到正式写作的多个领域。专业校对人员对语料进行了全面注释,包括流畅性、语法、标点和拼写等方面的错误。UA-GEC可用于乌克兰语GEC系统的开发和评估,同时也支持多语言和低资源NLP、形态丰富语言、文档级GEC以及流畅性纠正等研究领域。

乌克兰语版

UA-GEC: 乌克兰语语法错误纠正和流畅性语料库

该存储库包含UA-GEC数据和相应的Python库。

最新动态

  • 2023年5月: 发布了乌克兰语GEC共享任务的结果。
  • 2022年11月: 发布2.0版本,包含更多数据和详细注释。
  • 2021年1月: 首次发布。

详细更新请查看CHANGELOG.md

数据

所有语料库数据和元数据都在./data目录下。它有两个子文件夹,分别对应GEC-流畅性和仅GEC语料库版本

两个语料库版本都包含两个子文件夹训练和测试集,有不同的数据表示方式:

./data/{gec-fluency,gec-only}/{train,test}/annotated存储注释格式的文档。

./data/{gec-fluency,gec-only}/{train,test}/source./data/{gec-fluency,gec-only}/{train,test}/target存储文档的原始版本和纠正版本。这些目录中的文本文件是纯文本,没有注释标记。这些文件是从注释数据生成的,在某种程度上是冗余的。我们保留它们是因为这种格式在某些用例中很方便。

./data/{gec-fluency,gec-only}/test/*.m2包含M2文件。

元数据

./data/metadata.csv存储每个文档的元数据。它是一个CSV文件,包含以下字段:

  • id(字符串):文档标识符;
  • author_id(字符串):文档作者标识符;
  • is_native(整数):如果作者是母语使用者则为1,否则为0;
  • region(字符串):作者的出生地区。特殊值"Інше"用于出生在乌克兰以外的作者和不愿指定地区的作者;
  • gender(字符串):可以是"Жіноча"(女性)、"Чоловіча"(男性)或"Інша"(其他);
  • occupation(字符串):为"Технічна"、"Гуманітарна"、"Природнича"或"Інша"之一;
  • submission_type(字符串):为"essay"、"translation"或"text_donation"之一;
  • source_language(字符串):对于"translation"类型的提交,此字段表示翻译文本的源语言。可能的值为"de"、"en"、"fr"、"ru"和"pl";
  • annotator_id(整数):纠正文档的注释者ID;
  • partition(字符串):为"test"或"train"之一;
  • is_sensitive(整数):如果文档包含亵渎或冒犯性语言,则为1。

注释格式

注释文件是使用以下内联注释格式的文本文件: {error=>edit:::error_type=Tag},其中erroredit分别代表纠正前后的文本项,Tag表示错误类别,如果是语法和流畅性相关错误,还包括错误子类别。

注释句子示例:

    I {likes=>like:::error_type=G/Number} turtles.

以下是语料库中出现的错误类型列表:

  • Spelling:拼写错误;
  • Punctuation:标点错误。

语法相关错误:

  • G/Case:任何实词词类的格使用不正确;
  • G/Gender:任何实词词类的性使用不正确;
  • G/Number:任何实词词类的数使用不正确;
  • G/Aspect:动词体使用不正确;
  • G/Tense:动词时态使用不正确;
  • G/VerbVoice:动词语态使用不正确;
  • G/PartVoice:分词语态使用不正确;
  • G/VerbAForm:分析性动词形式使用不正确;
  • G/Prep:介词使用不正确;
  • G/Participle:分词使用不正确;
  • G/UngrammaticalStructure:违反句法规范;
  • G/Comparison:形容词和副词比较级形式不正确;
  • G/Conjunction:连词使用不正确;
  • G/Other:其他语法错误。

流畅性相关错误:

  • F/Style:风格错误;
  • F/Calque:其他语言的直译;
  • F/Collocation:不自然的搭配;
  • F/PoorFlow:句子流畅度不自然;
  • F/Repetition:单词重复;
  • F/Other:其他流畅性错误。

随附的Python包ua_gec提供了许多处理注释文本的工具。详情请参见其文档。

训练-测试集划分

我们希望语料库用户仅在__训练__集上训练和调整他们的模型。可以自由地将其进一步划分为训练-开发集(或使用交叉验证)。

请仅使用__测试__集报告最终模型的分数。特别是,切勿在测试集上进行优化。不要在其上调整超参数。不要以任何方式将其用于模型选择。

下一节列出了每个集合的统计数据。

统计数据

UA-GEC包含:

GEC+流畅性

集合文档数句子数词元数作者数错误数
训练集1,70631,038457,01775238,213
测试集1662,69743,601767,858
总计1,87233,735500,61882846,071

详细统计信息请参见stats.gec-fluency.txt

仅GEC

集合文档数句子数词元数作者数错误数
训练集1,70631,046457,00475230,049
测试集1662,70443,605766,169
总计1,87233,750500,60982836,218

详细统计信息请参见stats.gec-only.txt

Python库

除了直接操作数据文件外,您还可以使用名为ua_gec的Python包。该包包含数据,并提供了用于遍历文档、读取元数据、处理注释等的类。

入门

可以通过pip轻松安装该包:

    $ pip install ua_gec

或者,您可以从源代码安装:

    $ cd python
    $ python setup.py develop

遍历语料库

安装完成后,您可以从Python代码中获取注释文档:


>>> from ua_gec import Corpus
>>> corpus = Corpus(partition="train", annotation_layer="gec-only")
>>> for doc in corpus:
...     print(doc.source)         # "I likes it."
...     print(doc.target)         # "I like it."
...     print(doc.annotated)      # <AnnotatedText("I {likes=>like} it.")
...     print(doc.meta.region)    # "基辅"

请注意,doc.annotated属性的类型是AnnotatedText。这个类在下一节中有描述。

处理注释

ua_gec.AnnotatedText是一个提供处理带注释文本工具的类。它可以遍历注释、获取注释错误类型、删除某些注释等。

下面是一个入门示例。它将从文本中删除所有F/Style注释:

>>> from ua_gec import AnnotatedText
>>> text = AnnotatedText("I {likes=>like:::error_type=G/Number} it.")
>>> for ann in text.iter_annotations():
...     print(ann.source_text)       # likes
...     print(ann.top_suggestion)    # like
...     print(ann.meta)              # {'error_type': 'Grammar'}
...     if ann.meta["error_type"] == "F/Style":
...         text.remove(ann)         # 或 `text.apply_correction(ann)`

多个注释者

某些文档由多个注释者注释。这些文档共享相同的doc_id,但在doc.meta.annotator_id上有所不同。

目前,gec-fluency和gec-only的测试集由两名注释者注释。训练集包含45个双重注释的文档。

贡献

  • 欢迎对数据和代码进行改进。请提交拉取请求。

引用

随附论文如下:

@inproceedings{syvokon-etal-2023-ua,
    title = "{UA}-{GEC}: 乌克兰语的语法错误纠正和流畅性语料库",
    author = "Syvokon, Oleksiy  and
      Nahorna, Olena  and
      Kuchmiichuk, Pavlo  and
      Osidach, Nastasiia",
    booktitle = "第二届乌克兰自然语言处理研讨会(UNLP)论文集",
    month = may,
    year = "2023",
    address = "杜布罗夫尼克,克罗地亚",
    publisher = "计算语言学协会",
    url = "https://aclanthology.org/2023.unlp-1.12",
    pages = "96--102",
    abstract = "我们提供了一个专业注释的乌克兰语语法错误纠正(GEC)和流畅性编辑语料库。我们构建了该语料库的两个版本--GEC+流畅性和仅GEC--以区分语料库的应用。据我们所知,这是第一个乌克兰语GEC语料库。我们从包括母语和非母语使用者在内的多样化贡献者群体中收集了含有错误的文本(33,735个句子)。这些数据涵盖了从文本聊天和文章到正式写作的广泛写作领域。专业校对人员对语料库中与流畅性、语法、标点和拼写相关的错误进行了纠正和注释。该语料库可用于开发和评估乌克兰语的GEC系统。更广泛地说,它可用于研究多语言和低资源自然语言处理、形态丰富的语言、文档级GEC和流畅性纠正。该语料库可在https://github.com/grammarly/ua-gec公开获取",
}

联系方式

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号