1 个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年11月2日 |
---|
#3 在 #wiktionary
63KB
1.5K SLoC
解析维基词典的en.wiktionary.org版本
将维基词典的英语版本词条页面解析为结构化数据。
以下信息适用于所有维基词典的语言版本。有关特定语言版本的信息,请参阅其文档。
简介
维基词典是一个包含数百万个条目的词典,包含许多语言中单词和短语的广泛数据。词典数据在免费许可下分发,允许它在其他应用程序中使用。不幸的是,它是以一种格式编写的,防止它在其他应用程序中使用。该格式仅设计为转换为维基词典本身显示的精确HTML格式,而不是解析为具有其他用途或以其他格式显示的语义上有意义的数据。
然而,该格式包含足够结构上具有意义的数据,可以以极大的困难将其解析为结构化数据。Parse Wiktionary执行从维基词典中解析条目到结构化格式的挑战性任务,该格式可以轻松地用于查询条目的详细信息,并用于不同的目的,并以不同的格式显示。由于维基词典的每个语言版本都完全不同,因此对于维基词典的每个版本都有一个Parse Wiktionary版本,它们都有不同的输出格式。目前Parse Wiktionary存在适用于维基词典的英语(en.wiktionary.org)、德语(de.wiktionary.org)和捷克语(cs.wiktionary.org)版本。
局限性
维基词典中的信息的不同部分以不同的格式编写,这些格式的规律性和复杂性各不相同。
- 一些部分具有高度规律的格式。这些部分直接解析为表示条目中声明的事实的事实语义数据,而不是声明的格式。
- 一些部分具有可管理的复杂性但并不完全一致。这些部分不解析为语义数据,而是解析为自由形式的文档。这些文档是元素的序列,其中任何支持元素都可以出现,并且可以以任何顺序出现。还有一种表示无法解析的wiki文本的元素。该文档可以通过按顺序显示所有元素来显示,或者在这种情况下进一步解析为语义数据。
- 一些部分没有一致的格式或具有过于复杂和动态的格式,该格式随着时间的推移而变化,因为模板被添加或编辑。这些部分根本不解析。但是,Parse Wiktionary可能在输出中放置指示此类部分存在的标志。
在所有版本的维基词典中,标题都遵循一种标准格式。因此,标题被语义解析。然而,各个部分的内容格式可能或可能不是标准的,这取决于具体部分。因此,许多部分被解析为自由形式的文档。然而,这种自由形式的文档被存储在一个具有语义意义的字段中。这意味着尽管文档内容本身不具备语义,但它们以语义方式组织,使应用程序可以选择哪些部分以及如何处理每个部分。
长期目标是消除所有这些限制,并将维基词典中的所有信息解析为结构化语义数据。这需要维基词典编辑者的合作。可以为每个部分创建一个标准格式,并鼓励作者遵循标准格式。可以将解析维基词典集成到维基词典中,并在编辑过程中验证条目,显示关于任何不符合标准格式的警告。还可以将更多数据传输到维基数据,因为它从一开始就是为了存储语义数据而设计的。
依赖项
~0.6–1.2MB
~28K SLoC