#wiktionary #格式 #数据 #语言 #解析 #版本 #结构化

parse_wiktionary_de

将德语维基词典的词典页面解析为结构化数据

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年11月2日

#2928解析器实现

自定义许可证

110KB
2.5K SLoC

解析 de.wiktionary.org 的 Wiktionary

将德语维基词典的词典页面解析为结构化数据。

Parse Wiki Text

以下信息适用于所有语言版本的 Parse Wiktionary。有关每个语言版本的具体信息,请参阅其文档。

简介

维基词典是一个包含数百万个条目,包含许多语言中词汇和短语的各种数据的词典。词典数据根据免费许可证分发,允许在其他应用程序中重用。不幸的是,它是以一种格式编写的,阻止它在其他应用程序中使用。该格式仅设计为转换为维基词典本身显示的确切 HTML 格式,而不是解析为具有其他用途或以其他格式显示的语义上有意义的数据。

然而,该格式包含足够结构化的有意义数据,可以以极大的困难将其解析为结构化数据。Parse Wiktionary 执行将维基词典条目解析为结构化格式的挑战性任务,该格式可以轻松用于查询条目的详细信息,并用于不同目的,并以不同格式显示。由于维基词典的每个语言版本都完全不同,因此对于维基词典的每个版本都有一个不同的 Parse Wiktionary 版本,并且它们都有不同的输出格式。目前 Parse Wiktionary 存在于维基词典的英文(en.wiktionary.org)、德文(de.wiktionary.org)和捷克文(cs.wiktionary.org)版本。

限制

维基词典中信息的不同部分以不同的格式编写,这些格式在规律性和复杂性方面有所不同。

  • 一些部分具有高度规律的格式。这些部分直接解析为表示条目中声明的事实的事实语义数据,而不是声明的格式。
  • 一些部分具有可管理的复杂性但并不完全一致。这些部分不解析为语义数据,而是解析为自由形式的文档。这些文档是一系列元素,其中可以出现任何支持的元素,并且可以以任何顺序出现。还有一个代表无法解析的 wiki 文本的元素。该文档可以通过按顺序显示所有元素来显示,或者在这些情况下,如果文档符合足够规律的格式,可以进一步解析为语义数据。
  • 一些部分没有一致的格式,或者格式过于复杂且动态,随着时间的推移,随着模板的添加或编辑而改变。这些部分完全不解析。但是,Parse Wiktionary 可能会在输出中放置表示此类部分存在的标志。

在所有版本的维基词典中,标题都遵循一种固定格式。因此,标题是按语义进行解析的。然而,各部分的内容可能不是固定的格式,这取决于各个部分。因此,许多部分被解析为自由形式的文档。然而,这种自由形式的文档被存储在具有语义意义的字段中。这意味着,尽管文档的内容不是语义的,但它们是以语义方式进行组织的,这使得应用程序可以选择哪些部分以及如何处理每个部分。

长期目标是消除所有这些限制,并将维基词典中的所有信息解析为结构化语义数据。这需要维基词典编辑者的合作。可以为每个部分创建一个标准格式,并鼓励作者遵循标准格式。解析维基词典可以集成到维基词典中,并在编辑时验证条目,显示不符合标准格式的警告。还可以将更多数据传输到维基数据,因为维基数据从一开始就是为了存储语义数据而设计的。

依赖项

~0.6–1.2MB
~29K SLoC