All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Add two Spanish verbs and English translations
- add (reload) convenience functions for Spanish and English
- Add support for showing conjugations for all tenses in Spanish
- Fix typo in reflexive pronoun: "vos" should be "os"
- Restrict meaning of "querer": should not be "love" or "like"
- Restrict subject of "comer" to human only
- Add missing annotation :masculine to "you" (sense 2)
- Add missing :sense to all "you" senses
- Add "Pedro y tú/usted" variants
- Add gender and notes for "they" to distinguish ellas/ellos
- Support :note-on-first-word to add emojis after the first word to indicate gender or formality
- Add annotations to distinguish "nosotras" and "nosotras"
- Add [:canonical]=[:root] equivalence for all three languages
- Fix reflexive agreement (e.g. prevent "he sees itself")
- Add missing :extensions for one sense of put (en)
- :prepositional-verb? true => :reflexive false (en)
- Fix 2nd person informal pronoun in Spanish
- Performance optimizations
- Add first Spanish support
- Improve diagnostics and
developer-mode
support in generation, parsing and lexicon compilation - New emoji icons to distinguish formal and informal second person pronouns.
- Improve word-grouping algorithm and move to new namespace: 'menard.parse.word'.
- Replace dynamic variables with function parameters.
- Fixes for Dutch noun pluralization morphology.
- Move English tenses to their own namespace: 'menard.english.tenses'.
- Add three keys to every model: :lexicon-fn, :morph-fn, :syntax-tree-fn to simplify calling of these functions with the correct model.
- Use known-working version of GraalVM's native-image in Dockerfile for creating AWS Lambda native image.
- Improvements for woordenlijst models.
- handlers.clj: most generation and parse functions require a 'model' param.
- server/ definition updates to support 'model' param.
- AWS Lambda definition updates to support 'model' param.
- Logging improvements.
- Remove previously-deprecated AWS deflambda Generate
- Remove previously-deprecated server.clj's route /generate.
- Add some woordenlijst-related unit tests.
- Multi-word tokenization integrated with menard.parse/parse-start.
- Whitespace code formatting cleanup.
- Support multi-word tokenization in menard.parse/parse
- Introduce new model .edn format with :name, :language, :morphology, :grammar :lexicon and models in this format for nl and en.
- Update a few dependencies.
- Remove use of cljslog; use new built-in menard.log instead
- Add new woordenlijst language model and lexicon in nl and en and intermediate source files.
- Move tenses from menard.nederlands to their own namespace menard.nederlands.tenses.
- Update a few dependencies.
- Improve startup script: add MENARD_DIR where needed and add comments.
- Fix/refactor reflexive pronouns.
- Allow for reloading of models based on polling filesystem changes using babashka/fs.
- Incremental parsing so that partial parses can be shared between clients and servers.
- All keys taking only true/false are suffixed with '?'
- Move all linguistic structures (e.g. ug, subcat) to .edn files in resources.
- Fix typo
- More work on simple past verbs
- Refactor server-side support to support both ring and AWS Lambda
- Rewrite support for simple past verbs in Dutch.
- Rewrite lexical rules to unify all rules into a single file per language.
- Add lambda directory for deploying API to Amazon Lambda.
- Improve support for reflexive pronouns.
- Add more vocabulary.
- Move linguistic resources out of
src/
and intoresources/
.
- Move all linguistic resources to resources/, to better emphasize that they are data, not executable code.
- Fix synchronization of model-loading, so a model is only added once rather than once per-thread, if the menard libary is used in a multi-threaded application or service.
- Upgrade to latest dag_unify release.
- Fix and refactor Dutch adjective morphology.
- Upgrade to latest dag_unify release.
- Add morphology for
dik
<->dikke
.
- Improve loading and reloading language models
- block on model-creation if it doesn't exist yet.
- only load model once unless doing reloading.
- Apostrophe-s pluralization applies to all Dutch nouns that end in 'y' or vowels (not just 'y'), but 'vowels' doesn't include 'e' for the purpose of this rule.
- Release tag and commit for this release missed somehow.
- Fix bugs in Dutch morphology of adjectives and nouns
- Add new lexemes
- Separate intensifiers and exclamations into their own files for readability
- Improve code readability with variable name changes and value usages in menard/generate
- Improve readability of noun lexemes in Dutch by defaulting gender to :common if not specified
- Fix bugs related to dynamic model-loading
- Turn down logging
- Add new dynamic model-loading, so that a java process can update its linguistic state from the filesystem, without restarting the whole JVM to get an updated linguistic model.
- Fix noun pluralization errors in Dutch (e.g "been", "fiets", "plaats").
- Prevent overmatching on default pluralization parsing rule in Dutch.
- Reduce redunancy in lexical source code files
- Add more lexical entries
- Dutch adjective morphology fixes:
- eenzaam -> eenzame
- constrain m -> mm (e.g. 'stom' -> 'stomme') : 'm' must be preceded by 't'
- ~analyze: create lower,upper, and capitalized variants of all inputs
- ~parse: use (newly-modified) analyze for parsing's lookup function
- fix for one sense of irregular plural nouns: :quant should be :some, not :unspec
- all possessive pronouns need to have both :sing and :plur senses
- cleanup whitespace
- move demo output to separate file
- Rename from 'babylon' to 'menard'
- Update README.md with information about new name
- Add some new lexemes.
- Add :example key to nederlands/expressions.edn where appropriate.
- Upgrade to latest dag_unify version available.
- Add CHANGELOG.md
First release.