Safe Haskell | None |
---|
NLP.HistPL.Lexicon
Contents
Description
The module provides functions for working with the binary representation of the historical dictionary of Polish.
It is intended to be imported qualified, to avoid name clashes with Prelude functions, e.g.
import qualified NLP.HistPL.Lexicon as H
Use save
and load
functions to save/load
the entire dictionary in/from a given directory. They are
particularly useful when you want to convert the LMF
dictionary
to a binary format (see NLP.HistPL.LMF module).
To search the dictionary, open the binary directory with an
open
function. For example, during a GHCi
session:
>>>
hpl <- H.open "srpsdp.bin"
Set the OverloadedStrings extension for convenience:
>>>
:set -XOverloadedStrings
To search the dictionary use the lookup
function, e.g.
>>>
entries <- H.lookup hpl "dufliwego"
You can use functions defined in the NLP.HistPL.Types module to query the entries for a particular feature, e.g.
>>>
map (H.text . H.lemma) entries
[["dufliwy"]]
- data HistPL
- data Code
- type Key = Key UID
- type UID = Int
- tryOpen :: FilePath -> IO (Maybe HistPL)
- open :: FilePath -> IO HistPL
- lookup :: HistPL -> Text -> IO [(LexEntry, Code)]
- lookupMany :: HistPL -> [Text] -> IO [(LexEntry, Code)]
- getIndex :: HistPL -> IO [Key]
- tryWithKey :: HistPL -> Key -> IO (Maybe LexEntry)
- withKey :: HistPL -> Key -> IO LexEntry
- save :: FilePath -> [(LexEntry, Set Text)] -> IO HistPL
- load :: HistPL -> IO [(Key, LexEntry)]
- module NLP.HistPL.Types
Dictionary
A binary dictionary holds additional info of type a
for every entry and additional info of type b
for every
word form.
Code of word form origin.
Key
Open
tryOpen :: FilePath -> IO (Maybe HistPL)Source
Open the binary dictionary residing in the given directory. Return Nothing if the directory doesn't exist or if it doesn't constitute a dictionary.
open :: FilePath -> IO HistPLSource
Open the binary dictionary residing in the given directory. Raise an error if the directory doesn't exist or if it doesn't constitute a dictionary.
Query
lookupMany :: HistPL -> [Text] -> IO [(LexEntry, Code)]Source
Lookup a set of forms in the dictionary.
tryWithKey :: HistPL -> Key -> IO (Maybe LexEntry)Source
Extract lexical entry with a given key. Return Nothing
if there
is no entry with such a key.
withKey :: HistPL -> Key -> IO LexEntrySource
Extract lexical entry with a given key. Raise error if there is no entry with such a key.
Conversion
Save
save :: FilePath -> [(LexEntry, Set Text)] -> IO HistPLSource
Construct dictionary from a list of lexical entries and save it in the given directory. To each entry an additional set of forms can be assigned.
Load
Modules
NLP.HistPL.Types module exports hierarchy of data types stored in the binary dictionary.
module NLP.HistPL.Types