#wordnet #nlp #dictionary

wordnet

Read a wordnet dictionary in Rust

3 releases

Uses old Rust 2015

0.1.2 Oct 22, 2017
0.1.1 Oct 18, 2017
0.1.0 Oct 18, 2017

#24 in #dictionary

BSD-2-Clause

18KB
638 lines

GitHub license Crates.io Documentation

[dependencies]
wordnet = "0.1"

Introduction

This is a parser for Wordnet dictionaries, written in 100% Rust.

Completeness

The library poorly tested and incomplete.

Here are the unimplemented features:

  • lexicographical file numbers
  • handling of word numbers in the synset
  • verb exceptions
  • verb sentences
  • many more things
  • There may be some Send and Sync traits that could be applied.
  • Source-breaking changes will follow semantic versioning.

Example

let senses = wn.senses("horse");
senses[0]
	.pointers.iter()
	.filter(|p| p.relationship == wordnet::Relationship::Hypernym)
	.map(|p| p.read())
	.for_each( |e| println!("a horse is an {}", e.synonyms[0].word));

Output: A horse is an equine

Robustness

If the database is corrupt then the library may panic. I'm not clear on if there's a cause to use Result.

It is possible that there are bugs that may cause the library to enter an infinite loop while parsing the database.

Compatibility

The library is known to work on Linux and Windows.

See Also

No runtime deps