将mmax格式的数据转换为conll格式的脚本

mmax2conll的Python项目详细描述


mmax2conll

用于将mmax格式的coreference数据转换为CoNLL格式或原始文本文件的脚本。

有关conll和mmax格式的详细说明,请参见CoNLL-specification.mdMMAX-specification.md

用法

mmax2conll.py

因为corea语料库将句子信息保存在*_words.xml文件中 但是SoNaR-1语料库将其分别保存在*_sentence_level.xml文件中, 指定句子文件是可选的。

要自动查找包含直接子文件夹BasedataMarkables的所有(子)文件夹并转换这些文件夹中的所有数据,请运行:

python -m mmax2conll path/to/config.yml path/to/output_dir -d path/to/some/folder [-d path/to/another/folder ...]

要仅转换一对(或三倍)文件,请运行:

python -m mmax2conll path/to/config.yml path/to/output.conll path/to/some_words.xml path/to/a_coref_level.xml [path/to/a_sentence_level.xml]

mmax2raw.py

要自动查找包含直接子文件夹BasedataMarkables的所有(子)文件夹并转换这些文件夹中的所有数据,请运行:

mmax2raw.py path/to/output_dir -d path/to/some/folder [-d path/to/another/folder ...]

要只转换一个文件,请运行:

mmax2raw.py path/to/output.txt path/to/some_words.xml

conll输出列

这些脚本首先用于将数据从COREA(ch.7p.115--128)数据集转换为conll和 COREA不包含以下信息:

  • POS标签
  • 选区树
  • 谓词
  • 演讲者/作者信息
  • 命名实体

因此这些脚本严格不以conll格式输出数据。 使用以下值和占位符。

ColumnDescriptionValueConform CoNLL specification?
1Document IDfile path without extensionYes
2Part number^{} or as extracted from ^{} from MMAX ^{} files [1]Yes
3Word number^{} or ^{} from MMAX ^{} filesYes
4Word itselfcontent of ^{} tags from MMAX ^{} filesYes
5POS^{}No
6Parse bit^{}No
7Predicate lemma^{}Yes
8Predicate Frameset ID^{}Yes
9Word sense^{}Yes
10Speaker/Author^{}???
11Named Entities^{}Yes
-Predicate ArgumentsNone: column(s) left out entirelyYes, conform example in CoNLL 2012
12Coreferenceextracted from MMAX ^{} files (ISSUE! [2])Yes

[1]: dcoi的零件号从1开始,其中conll文件中的零件号从0开始。 为了保持数据来源清晰,此基于1的零件号未更改, 但是将空的部分0添加到这些文件中。

[2]: 如果引用跨距以同一个单词结尾,则它们不会以正确的顺序闭合。以下是mmax2conll的输出示例:

          (10
            -
      (52|(55
          52)
            -
10)|55)|(133)

学究式的正确答案是:

          (10
            -
      (55|(52
          52)
            -
(133)|55)|10)

问题

  • []跳过整个文件一任何错误都太浪费了
  • []“on_missing”配置键在使用前未验证
  • []basedata_dirmarkables_dir不应该是配置键
  • []在main.py中有太多的方法标记为类方法

参考资料

克里斯托夫穆勒和迈克尔斯特鲁比。
mmax中的多级注释
第四届西格迪亚尔研讨会论文集。2003年。
网址http://www.speech.cs.cmu.edu/sigdial2003/proceedings/07_LONG_strube_paper.pdf

艾里斯·亨德里克斯、戈斯·布玛、沃尔特·代尔曼和维罗尼克·霍斯特。
corea:coreference resolution,用于提取荷兰语的答案
荷兰语基本语音和语言技术,第7章,第115-128页。2013年。
编辑:Peter Spyns,Jan Odijk
https://link.springer.com/book/10.1007/978-3-642-30910-6
10.1007/978-3-642-30910-6

声纳:https://ivdnt.org/downloads/taalmaterialen/tstc-sonar-corpus

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中使用BufferedReader类读取文本文件的子字符串   java如何在JSP页面上包含来自另一台服务器的动态JSP   使用单表策略的java持久化Hibernate继承映射   java报告状态失败达600秒。谋杀!报告hadoop的进展   java将字符串解析为形状   使用JTable的java ClassCastException?   java在Spring引导中关闭数据库   java Android Studio调试错误(Ubuntu)   java如何区分apache beam中KV实例中的两个键?   java将RealmObjectChangeListener添加到异步下载的RealmObject   java匹配模式之前的所有内容,包括新行和/或回车   java使用JAXB在XML中动态更改元素序列   java如何在MACOS中找到动态库(.dylib文件)的版本   Android中的java Nanohttpd服务器   java libGDX:3d动画不工作