Skip to main content

YAWLib - Yet another WordNet library for Python

Project description

YAWlib - Yet Another WordNet library for Python

A Python library for accessing major WordNet releases using relational databases for high performance batch processing.

Supporting Wordnets:

  • Princeton Wordnet 3.0
  • NTU Open Multilingual WordNet
  • Gloss WordNet

Installation

Yawlib is available on PyPI

pip install yawlib

Download prebuilt database files are available on the author's Open Science Framework project page: https://osf.io/9udjk/ and extract them to your home folder at ~/wordnet/. On Linux it should look something like

/home/username/wordnet/
    - glosstag.db
    - sqlite-30.db
    - wn-ntumc.db

# or on Mac OS
/Users/username/wordnet/
    - glosstag.db
    - sqlite-30.db
    - wn-ntumc.db

On Windows

C:\Users\<username>\wordnet\
    - glosstag.db
    - sqlite-30.db
    - wn-ntumc.db

To verify that yawlib is working properly, you can use the info command.

# Show yawlib information
python3 -m yawlib info

Command-line tools

yawlib includes a command-line tool for querying wordnets directly from terminal.

For example, to search synsets by the lemma research one may use python3 -m yawlib lemma research

python3 -m yawlib lemma research

Looking for synsets by term (Provided: research | pos = None)

〔Synset〕00636921-n 〔Lemmas〕research 〔Keys〕research%1:04:00::
------------------------------------------------------------
(def) “systematic investigation to establish facts;”


〔Synset〕05797597-n 〔Lemmas〕inquiry; enquiry; research 〔Keys〕inquiry%1:09:01:: enquiry%1:09:00:: research%1:09:00::
------------------------------------------------------------
(def) “a search for knowledge;”
(ex) their pottery deserves more research than it has received;


〔Synset〕00648224-v 〔Lemmas〕research; search; explore 〔Keys〕research%2:31:00:: search%2:31:00:: explore%2:31:00::
------------------------------------------------------------
(def) “inquire into;”
(ex) the students had to research the history of the Second World War for their history project;
(ex) He searched for information on his relatives on the web;
(ex) Scientists are exploring the nature of consciousness;


〔Synset〕00877327-v 〔Lemmas〕research 〔Keys〕research%2:32:00::
------------------------------------------------------------
(def) “attempt to find out in a systematically and scientific manner;”
(ex) The student researched the history of that word;

Found 4 synset(s)

Development

Go to yawlib folder, execute the config script and then run wntk.sh to generate the glosstab DB file.

git clone https://github.com/letuananh/yawlib
cd yawlib

# create virtual environment
python3 -m venv yawlib_py3
. yawlib_py3/bin/activate

# install required packages
pip install -r requirements.txt
pip install -r requirements-optional.txt

# to show information
python -m yawlib info

Compiling glosstag.db from source

Make sure that glosstag source folder and sqlite-30.db are available in ~/wordnet. The directory should look like this:

/home/user/wordnet
├── glosstag
│   ├── dtd
│   │   └── glosstag.dtd
│   ├── LICENSE.txt
│   ├── merged
│   │   ├── adj.xml
│   │   ├── adv.xml
│   │   ├── noun.xml
│   │   └── verb.xml
│   ├── README.txt
│   ├── standoff
│   │   ├── 00
│   │   ├── 01
│   │   ├── 02
│   │   ├── ....
│   │   ├── index.byid.tab
│   │   ├── index.bylem.adj.tab
│   │   ├── index.bylem.adv.tab
│   │   ├── index.bylem.noun.tab
│   │   ├── index.bylem.tab
│   │   ├── index.bylem.verb.tab
│   │   └── index.bysk.tab
│   └── statistics.tab
├── glosstag.db
├── sqlite-30.db
├── wn-ntumc.db

The run the create command to generate the database

python -m yawlib create

Original sources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yawlib-0.1a3.tar.gz (38.4 kB view details)

Uploaded Source

File details

Details for the file yawlib-0.1a3.tar.gz.

File metadata

  • Download URL: yawlib-0.1a3.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.9

File hashes

Hashes for yawlib-0.1a3.tar.gz
Algorithm Hash digest
SHA256 120ff92d5d77649934fc0f7d79fe46b6b3fc9ee645d761f0dd707d723f0fadbb
MD5 db42c6caa91bc1d8c8d40da17d96f306
BLAKE2b-256 5d55e461b1d4a0baaf3324bdf402767f339a17805e9bd450e260256d2eb67b96

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page