Lookup FOMA FSTs
Project description
FST Lookup
Implements lookup for FOMA format finite state transducers.
Supports Python 3.5 and up.
Usage
Import the library, and load an FST from a file:
>>> from fst_lookup import FST
>>> fst = FST.from_file('eat.fomabin')
Analysis
To analyze a form (take a word form, and get its linguistic analyzes)
call the analyze()
function:
def analyze(self, surface_form: str) -> Iterator[Analysis]
This will yield all possible linguistic analyses produced by the FST.
An analysis is a tuple of strings. The strings are either linguistic tags, or the lemma (base form of the word).
FST.analyze()
is a generator, so you must call list()
to get a list.
>>> list(sorted(fst.analyze('eats')))
[('eat', '+N', '+Mass'),
('eat', '+V', '+3P', '+Sg')]
Generate
To generate a form (take a linguistic analysis, and get its concrete
word forms), call the generate()
function:
def generate(self, analysis: str) -> Iterator[str]
FST.generate()
is a Python generator, so you must call list()
to get
a list.
>>> list(fst.generate('eat+V+Past')))
['ate']
License
Copyright © 2019 Eddie Antonio Santos. Released under the terms of the
Apache license. See LICENSE
for more info.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fst_lookup-2019.1.30a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 069f74e558b01c942a17e510fe2d910c99e6687d1e8076afd73ae4f7a05e5c7e |
|
MD5 | 21ec550dfdaa89ca6c5e0aaf5c4a0609 |
|
BLAKE2b-256 | 64e96a0c3434a522a6cf7f3adfebbbee66e4133f02faf5c5cfbe358784767d95 |