Changelog¶
From the newest to the oldest version.
1.0.0¶
Relicense Deepparse from the LGPLv3 to the MIT license, with the agreement of its contributors (
LICENSE,setup.pymetadata and classifier, README, documentation and contributing guide). The pretrained models on the Hugging Face Hub are also under the MIT license.Say in the README and the Results page that the per-country FastText and BPEmb results come from the 2020 dataset of the
deepparse-address-datarepository, whose archive is no longer available for download, and that the currentworldwide-addressesdataset has noOrientationnorGeneralDeliverytags.Stop the unit tests from downloading the pre-trained models: instantiating an
AddressParserreached the HuggingFace Hub, so concurrent CI jobs hit the anonymous rate limit (HTTP 429) and 21 tests failed for reasons unrelated to the code. The model factory is now mocked inAddressParserTest.setUp.Restrict the tests workflow
pushtrigger tomain,devandstable, so a branch with an open pull request no longer runs the whole matrix twice.Cache the downloaded models between CI runs and pass an optional
HF_TOKENto the test steps.Add a “Client Libraries” section to the README and the Sphinx API documentation pointing to the community Go HTTP client (
adamdecaf/deepparse-go) for the out-of-the-box FastAPI parser.Fix the examples (#328): they called
download_from_public_repository, removed in 0.9.14, to download sample data from the formergraal.ift.ulaval.caserver, which is down. Adddownload_worldwide_addresses_sampleto download a small sample of one country from thedeepparse/worldwide-addressesHuggingFace dataset, mapped to the deepparse tags (SuburbandDistrictbecomeMunicipality, theCountyandCountrywords are removed). The examples, their documentation pages and the dataset links in the README and the documentation now use it.pyarrowis added to theallextra.Add
FastTextBinReader, a pure numpy reader of the Facebook fastText.binformat (memory-mapped input matrix, word vectors computed like fastTextgetWordVector), as a first step to dropgensimandfasttext-wheeland support Python 3.14 (#255). It is not used byFastTextEmbeddingsModelyet. The tests now build their fake.binfiles with a minimal writer instead of gensim, and an equivalence test compares the reader with gensim and fastText.Fix
models_evaluation/evaluate_model.py: it passedlogging_pathandcheckpointtoAddressParser.test, which no longer accepts them, and loaded the tagged test data as a prediction container. The model to evaluate is now loaded withpath_to_retrained_model. Addmodels_evaluation/evaluate_model_on_test_set.pyto evaluate a pretrained or retrained model on one or more test pickles, such as thetest.pbuilt from thedeepparse/worldwide-addressesdataset, without the former per-country test directories.Fix the attention decoder with a hidden size other than 1024: the attention layers were always built with a hidden size of 1024, so retraining or training an attention model with
seq2seq_paramschanging the decoder hidden size crashed with a shape mismatch. The published attention models (1024) are not affected.Drop the
gensim,fasttext-wheelandbpembdependencies and support Python 3.14 (#255).gensimis in maintenance mode and has no Python 3.14 wheel.FastTextEmbeddingsModelnow reads the.binembeddings withFastTextBinReaderon every OS and Python version (same vectors as fastText, memory-mapped instead of ~8-10 GB of RAM). The BPEmb embeddings are loaded with a minimal reimplementation usingsentencepiece(same vectors as thebpembpackage, same cache layout, so existing caches are reused). Backward compatibility: the pretrained and retrained models give the same predictions, thefasttextextra is kept (empty),FASTTEXT_AVAILABLEis kept,load_fasttext_embeddingsis deprecated and returns aFastTextBinReader(samemodel[word],get_word_vectorandget_dimensioninterface), andBPEmbBaseURLWrapperBugFixkeeps thebpembdefaults and itsembed,encode,encode_ids,vectorsanddimAPI (not the gensimembattribute).Add three Model2Vec models (#328):
model2vec-8m,model2vec-32mandmodel2vec-multilingual, based on theminishlab/potion-*static embeddings, plus thetinyalias formodel2vec-8m. Their embeddings take 59 MB, 249 MB and 1 GB on disk, compared to 6.8 GB for fastText, and the parser takes ~1.0 GB, ~1.2 GB and ~2.8 GB of RAM at peak (CPU, whole process). Install them withpip install deepparse[model2vec]. They were trained on thedeepparse/worldwide-addressesHF dataset (20 countries, 100,000 clean and 50,000 incomplete addresses per country), whereSuburbandDistrictare mapped toMunicipalityandCountyandCountrywords are removed. Since the source data has noOrientationnorGeneralDeliverytags, these models never predict them, and South Korea has almost only incomplete addresses. Each released model is the best of a grid of four hidden sizes (128, 256, 512 and 1024) and five seeds, selected on the validation loss relative to the seed (the seed also draws the validation split), never on the test split. The Results page gives their test accuracy and the whole grid, and each Hugging Face repository has a model card.Add
models_evaluation/select_best_model.py, which selects the released configuration and seed of each model from a grid of retraining runs and generates the Results tables, andmodels_evaluation/export_model_to_hub.py, which exports the selected checkpoints to the Hugging Face Hub format (config.json,model.safetensorsand a model card), checks that they reload with the same weights and only pushes them with--push.Save the architecture (hidden sizes and number of layers) of a retrained model whose pretrained architecture is not the default one, even without
seq2seq_params: retraining a pretrained Model2Vec model with a hidden size other than 1,024 (e.g. 512) and reloading it failed with a size mismatch, since the model was rebuilt with the default size.Add
models_evaluation/check_exported_models.py, which checks the exported models end to end without network (load from a Hugging Face cache layout, same predictions as the retrained checkpoints, retrain and reload), andmodels_evaluation/release_model2vec.sh, which chains the selection, the export, this check and the documentation tables in one command, without pushing (and the speed test withSPEED_TEST=1).The speed test (
models_evaluation/speed_test_evaluation.py) takes a--cache_dirand--offline, to measure models from a given cache (e.g. before they are pushed), and reports the GPU memory peak.Add
models_evaluation/retrain_grid_model.py, the resumable training script of one run of the grid (hidden sizes, attention and seeds) behind the released Model2Vec models, with--print_gridto list its 200 runs.Only download the files Model2Vec loads, skipping the ONNX export.
A model type without published weights is now randomly initialized with a warning instead of failing, so it can be retrained from scratch.
Allow data loading workers (
num_workers> 0) with the FastText models on Windows and MacOS: the FastText embeddings reader is picklable, so it works with thespawnstart method. The restriction (error on Windows,forkstart method on MacOS) is kept for the FastText Light (Magnitude) model only.Documentation: add the API pages of the embeddings models (
embeddings_models, includingFastTextBinReader), the models download functions (download_tools, which now hostsdownload_worldwide_addresses_sample) and the errors (errors), and a “Choose a Model” page comparing the pretrained models (disk size, RAM, speed, multilingual coverage) with the figures already in the documentation. The per-country results tables move from the landing page to a “Pretrained Models Results” page, and the landing page gets a quick example. Fix the docstrings that broke the rendering (BPEmbEmbeddingsModel,MagnitudeEmbeddingsModel,EmbeddingsModelFactory.create,load_fasttext_embeddings).Modernize the documentation: the
furotheme (light and dark modes) replacessphinx_rtd_theme, a copy button is added to the code blocks (sphinx-copybutton, prompts excluded), and a Changelog page renders this file (myst-parser). Theallextra anddocs/requirements.txtare updated accordingly. Clean the Sphinx configuration (unused LaTeX, Texinfo, man and HTML Help settings and extensions removed, intersphinx URLs updated).The documentation CI now builds once (Python 3.13) with warnings and broken references as errors (
-W -n), and a weekly workflow checks the documentation links. Fix the docstring warnings and the redirected links.Document the memory and loading time gains of the gensim removal (#335), measured on CPU: the FastText parser takes ~1.3 GB of RAM at peak and loads in ~4 s, compared to ~8.4 GB (13.2 GB at peak) and ~42 s with gensim; the BPEmb embeddings load in ~0.2 s instead of ~0.9 s and take ~0.14 GB instead of ~0.26 GB.
Publish versioned documentation: the stable release stays at https://deepparse.org/ and the
devbranch is published at https://deepparse.org/dev/ on every push todev(newdeploy-dev.ymlworkflow). The dev pages show a “development version” banner with the dev version number and a link to the stable docs (set with theDEEPPARSE_DOCS_VERSION=devenvironment variable), and the stable home page links to the dev docs. The stable deployment now keeps thedev/folder ofgh-pages, and both deployments share a concurrency group.Delimit the public API before 1.0.0, without breaking change. The
deepparsetop-level package and itsbpemb_url_bug_fix,download_tools,validationsandweights_toolsmodules now have an explicit__all__, sofrom deepparse import *only imports the public API. The deepparse helpers reachable asdeepparse.<name>in 0.11.0 are still reachable (e.g.deepparse.weights_init), even if they are not in__all__. A unit test freezes the public API. The standard library and third-party modules that 0.11.0 re-exported by accident (e.g.deepparse.os,deepparse.torch) are no longer reachable fromdeepparse, andfrom deepparse import *only imports__all__.Rename
BPEmbBaseURLWrapperBugFix(deepparse/bpemb_url_bug_fix.py) toBPEmbLoader(deepparse/bpemb_loader.py), since it is no longer a URL bug-fix wrapper but a gensim-free BPEmb loader.BPEmbBaseURLWrapperBugFixis kept as a deprecated subclass ofBPEmbLoader, importable fromdeepparseanddeepparse.bpemb_url_bug_fix, that emits aDeprecationWarningand will be removed in 1.0.0.load_fasttext_embeddingsandFASTTEXT_AVAILABLEare deprecated and will be removed in 1.0.0; theload_fasttext_embeddingswarning now says so and points todeepparse.embeddings_models.FastTextBinReader.Use GB instead of GO in the documentation, docstrings and log messages.
Document the versioning and deprecation policy (semantic versioning, deprecated APIs kept at least until the next major version) and the APIs slated for removal in 1.0.0.
Speed up the BPEmb models on GPU: the
EmbeddingNetworknow runs the sub-word LSTM on all the words of a batch in a single call instead of one call per word position with a Python loop over the batch. A training step of the embedding network goes from ~3.9 s to ~0.05 s (batch of 2,048 addresses, RTX 6000 Ada), which made BPEmb training CPU-bound (~1-3 h per epoch on 2.9 M addresses). The outputs and gradients are the same (tested against the former loop), and the pretrained BPEmb models give the same predictions. GPU inference by batches is about twice as fast (3,000 addresses in ~1.0-1.3 s instead of ~2.4-2.6 s, batches of 256), and the CPU inference time is unchanged; the Parser and Choose a Model pages say so.Report the measured GPU memory and time per address of the released Model2Vec models in the model guide, and fix the speed test, which reset the CUDA peak memory statistics before the CUDA context existed.
Remove the APIs deprecated before 1.0.0:
BPEmbBaseURLWrapperBugFixand thedeepparse.bpemb_url_bug_fixmodule (usedeepparse.BPEmbLoader),load_fasttext_embeddings(usedeepparse.embeddings_models.FastTextBinReader) andFASTTEXT_AVAILABLE, and the internal helpers and constants reachable asdeepparse.<name>but not indeepparse.__all__(e.g.deepparse.weights_init,deepparse.MODEL_REPO_IDS): import them from their own module (e.g.deepparse.weights_tools,deepparse.download_tools).
0.11.0¶
Replace
print()calls withloggingacross the codebase for proper log-level control.Replace
Union[X, None]type hints with PEP 604X | Nonepipe syntax (Python 3.10+).Fix CLI
retraincommand silently ignoring the--prediction_tagsargument.Remove dead code in CLI
retrain(parser_args.updateon unused dict) and simplifyhandle_prediction_tags().Fix training dataset validation not flagging a partially empty tag set:
_empty_tagsusedallinstead ofany, so a single empty tag list (e.g.("an address", [])) was masked and reported through the generic length-mismatch error instead of the clearer “Some tags data points are empty.” error.Fix
extract_package_versionreadingpackage.version.__version__, which no longer exists in Poutyne >= 1.18 and brokeretrainwith anAttributeError. It now reads the standardpackage.__version__.Fix the fine-tuned weights loader (
ModelLoader.load_weights) always returningNoneas the model version: the version was read from the inner state dict instead of the checkpoint metadata.Fix
retrainsilently swallowing a genuine trainingRuntimeError(it inspected the current working directory instead of the logging path); the error is now re-raised when there is no checkpoint collision.Fix the parser mutating a caller-provided
pre_processorslist, which accumulated duplicate pre-processors when the same list was reused across calls.Fix CLI export-format detection matching the extension as a substring anywhere in the file name (e.g.
report.pdftreated as pickle); it now checks the real file extension.Fix CLI attention-model handling using
str.strip("attention")(a character set) to drop the-attentionsuffix; it now usesremovesuffix("-attention").Remove a no-op
self.model.state_dict()call insave_address_parser_weights.Fix the REST API returning HTTP 500 instead of the documented 422 for an empty address list or an unknown parsing model:
format_parsed_addresses(used as a FastAPI dependency) raisedValueErrorinstead ofHTTPException.Fix
DataPadder.pad_subword_embeddings_sequencesmutating the caller’s decomposition-length lists in place.Replace a
except BaseException(which also swallowedKeyboardInterrupt/SystemExit) withexcept Exceptionwhen closing HTTP adapters in the BPEmb embeddings model.Fix a missing space in the
DataProcessorFactory“unsupported vectorizer” error message.Breaking change (REST API): the
parseendpoint now returnsparsed_addressesas a list of{raw: parsed}objects instead of a single object keyed on the raw address. The previous format silently collapsed duplicate input addresses (and lost their order); the list preserves every input.Fix the attention decoder building its length mask on CPU, which raised a device-mismatch error when running an attention model on GPU. The mask now follows the model’s device.
Security: load model checkpoints with
torch.load(..., weights_only=True)so a maliciously crafted checkpoint (e.g. an untrustedpath_to_retrained_model) cannot execute arbitrary code during unpickling.Security: download the BPEmb embeddings with SSL verification enabled by default. Verification is now only disabled as a failsafe (with a warning) if an SSL error occurs, instead of unconditionally. The previous behaviour exposed the download to man-in-the-middle tampering.
Security: document that
PickleDatasetContainermust only be used with trusted pickle files, since unpickling executes arbitrary code.Security (REST API): reject requests with more than
MAX_ADDRESSES_PER_REQUESTaddresses (default 1024, env-overridable) with HTTP 413, to prevent resource-exhaustion denial of service.Security (Sentry): default
traces/profilessample rates to 0.1 (env-overridable viaSENTRY_TRACES_SAMPLE_RATE/SENTRY_PROFILES_SAMPLE_RATE), never capture request bodies, and disable PII sending, since parsed addresses are personal data.Security (Docker): run the app image as a non-root user and pin the base images by digest.
Add an architecture test suite (ArchUnitPython) under
tests/architecture/that freezes the package layering and forbids import cycles between packages.Add a
pip-auditCI workflow to scan dependencies for known vulnerabilities, running on bothmainanddev.Fix the CI test suite failing because
transformerslazily importstorchvision.Fix the greetings workflow failing on every PR.
Fix the broken Zenodo DOI badge URL in the README.
Bump
fastapifrom 0.134.0 to 0.141.1.Bump
docker/build-push-actionfrom 6.19.2 to 7.3.0.Bump
docker/metadata-actionfrom 5.10.0 to 6.2.0.Bump
docker/login-actionfrom 2.1.0 to 4.6.0.Bump
actions/checkoutfrom 4 to 7.Bump
actions/setup-pythonfrom 6 to 7.Bump
actions/stalefrom 7 to 11.Bump
github/codeql-actionfrom 4 to 4.37.9.Update
sentry-sdkrequirement from >=2.0.0 to >=2.68.1.Update
gensimrequirement from >=4.3.3 to >=4.4.0.Update
sphinxrequirement from >=7.4.0 to >=8.1.3.Update
sphinx-rtd-themerequirement from >=3.0.0 to >=3.1.0.Update
coloramarequirement from >=0.4.3 to >=0.4.6.
0.10.0¶
Breaking change: Drop Python 3.8 and 3.9 support. Minimum required version is now Python 3.10.
Add Python 3.12 support.
Add compatibility with Intel GPUs and other Torch acceleration devices.
Remove
numpy<2.0.0version cap to support NumPy 2.x.Bump pinned dependency versions for Python 3.12+ compatibility (unpin
uvicorn,python-decouple,pylint-django,pre-commit,pycountry).Update CI/CD workflows, documentation, and package setup for Python 3.12.
Fix outdated model download URLs from
graal.ift.ulaval.cato HuggingFace Hub.Remove unused
BASE_URLconstant.Add missing parameterized type hints across the codebase (
List[str],Dict[str, int],List[Callable], etc.).Add missing return type annotations to multiple functions and methods.
Add Python 3.13 support.
Make
fasttext-wheelan optional dependency. On Python 3.13+ (or whenfasttextis not installed), Deepparse automatically falls back to Gensim’sload_facebook_vectorsto load FastText embeddings. Install withpip install deepparse[fasttext]for native FastText support on Python 3.10–3.12.Fix
FastTextEmbeddingsModel.dimproperty to usevector_sizewhen using the Gensim fallback.Fix Python version in
deploy.ymlandpython-publish.ymlworkflows (was set to non-existent 3.14).Update GitHub Actions to latest major versions (
checkout@v4,setup-python@v5,codeql-action@v3,gh-pages@v4).Fix Dependabot target branch from non-existent
developtodev.Remove dead code: unused
attention_outputtensor allocation inSeq2SeqModel._decoder_step.Fix
download_fasttext_magnitude_embeddingsalways re-downloading even when cached.Replace
assertstatements withHTTPExceptionin FastAPI app for proper error handling.Change default logging level from
DEBUGtoWARNINGin app module.Remove unnecessary
pybind11from build-system requirements.Remove obsolete “temporary fix for torch 1.6” comments in encoder, decoder and embedding network.
Remove deprecated
versionkey fromdocker-compose.yml.Fix mixed f-string/
%-formatting in download progress bar.Update Dockerfile base images to PyTorch 2.5.1 / CUDA 12.4 and Python 3.13.
Migrate PyPI publish workflow from deprecated
setup.py sdist bdist_wheeltopython -m build.Add
MANIFEST.into ensureversion.txtandREADME.mdare included in source distributions.Restrict docs workflow to only build on
main,dev, andstablebranches.Bump
actions/setup-pythonfrom v5 to v6.Bump
docker/metadata-actionfrom 4.3.0 to 5.10.0.Bump
docker/build-push-actionfrom 4.0.0 to 6.19.2.Bump
github/codeql-actionfrom v3 to v4.Bump
actions/first-interactionfrom v1 to v3.Bump
fastapi[all]from 0.109.1 to 0.134.0.
0.9.14¶
Switch model weights hosting to hugging face
0.9.13¶
Update Gensim version in setup to allow for the installation of recent Scipy versions.
0.9.12¶
Bug-fix the call to the BPEmb class instead of the BPEmbBaseURLWrapperBugFix to fix the download URL in
download_models.
0.9.11¶
Fix Sentry version error in Docker Image.
0.9.10¶
Fix and improve documentation.
Remove fixed dependencies version.
Fix app errors.
Add data validation for 1) multiple consecutive whitespace and 2) newline.
Fixes some errors in tests.
Add an argument to the
DatasetContainerinterface to use a pre-processing data cleaning function before validation.Hot-fix the issue with the BPEmb base URL download problem. See issue 221.
Fix the NumPy version due to a major release with breaking changes.
Fix the SciPy version due to breaking change with Gensim.
Fix circular import in the API app.
Fix deprecated
max_request_body_sizein Sentry.
0.9.9¶
Add version to Seq2Seq and AddressParser.
Add a Deepparse as an API using FastAPI.
Add a Dockerfile and a
docker-compose.ymlto build a Docker container for the API.Bug-fix the default pre-processors that did not all apply but only the last one.
0.9.8¶
Hot-fix wheel install (See issue 196).
Starting now, we also include model weights release in the GitHub release.
0.9.7¶
New models release with more meta-data.
Add a feature to use an AddressParser from a URI.
Add a feature to upload the trained model to a URI.
Add an example of how to use URI for parsing from and uploading to.
Improve error handling of
path_to_retrain_model.Bug-fix pre-processor error.
Add verbose override and improve verbosity handling in retraining.
Bug-fix the broken FastText installation using
fasttext-wheelinstead offasttext( see here and here).
0.9.6¶
Add Python 3.11.
Add pre-processor when parsing addresses.
Add
pin_memory=Truewhen using a CUDA device to increase performance as suggested by Torch documentation.Add
torch.no_grad()context manager in__call__()to increase performance.Reduce memory swap between CPU and GPU by instantiating Tensor directly on the GPU device.
Improve some warnings’ clarity (i.e., category and message).
Bug-fix MacOS multiprocessing. It was impossible to use in multiprocess since we were not testing whether Torch multiprocess was set properly. Now, we set it properly and raise a warning instead of an error.
Drop Python 3.7 support since newer Python versions are faster and Torch 2.0 does not support Python 3.7.
Improve error handling with wrong checkpoint loading in AddressParser retrain_path use.
Add
torch.compileintegration to improve performance (Torch 1.x still supported) withmode="reduce-overhead"as suggested in the documentation. It increases the performance by about 1/100.
0.9.5¶
Fixed tags converter bug with the data processor.
0.9.4¶
Improve codebase.
0.9.3¶
Improve error handling.
Bug-fix FastText error is not handled in the test API.
Add a feature to allow new_prediction_tags to retrain CLI.
0.9.2¶
Improve Deepparse server error handling and error output.
Remove deprecated argument
saving_dirindownload_fasttext_magnitude_embeddingsanddownload_fasttext_embeddingsfunctions.Add offline argument to remove verification of the latest version.
Bug-fix cache handling in the download model.
Add the
download_modelsCLI function.
0.9.1¶
Hot-fix cli.download_model attention model bug
0.9¶
Add
save_model_weightsmethod toAddressParserto save model weights (PyTorch state dictionary)Improve CI
Added verbose flag for the test to activate or deactivate the test verbosity (it overrides the AddressParser verbosity)
Add Docker image
Add
val_datasetto retrain API to allow the use of a specific val dataset for trainingRemove the deprecated
download_from_urlfunctionRemove the deprecated
dataset_containerargumentFixed errors and docs
Added the UK retrain example
0.8.3¶
Add Zenodo DOI
0.8.2¶
Bug-fix retrain attention model naming parsing
Improve error handling when not a DatasetContainer is used in retraining and testing API
0.8.1¶
Refactored function
download_from_urltodownload_from_public_repository.Add error management when retraining a FastText-like model on Windows with several workers (
num_workers) greater than 0.Improve dev tooling
Improve CI
Improve code coverage and pylint
Add Codacy
0.8¶
Improve SEO
Add cache_dir arg in all CLI functions
Improve handling of HTTP errors in models version verification
Improve doc
Add a note for parsing data cleaning (i.e. lowercase, commas removal, and hyphen replacing).
Add hyphen parsing cleaning step (with a bool flag to activate or not) to improve some country address parsing ( see issue 137).
Add ListDatasetContainer for the Python list dataset.
0.7.6¶
Re-release version 0.7.5 into 0.7.6 due to manipulation error and change in PyPi (now delete does not delete release).
0.7.5¶
Bug-fix Poutyne version handling that causes a print error when a version is 1.11 when retraining
Add the option to create a named retrain the parsing model using, by default, the architecture setting or using the user-given name
Hot-fix missing raise for DataError validation of address to parse when address is tuple
Bug-fix handling of string column name for CSVDatasetContainer that raised ValueError
Improve parse CLI documentation and fix errors in documentation stating JSON format is supported as input data
Add batch_size to parse CLI
Add minimum version to Gensim 4.0.0.
Add a new CLI function, retrain, to retrain from the command line
Improve doc
Add
cache_dirto the BPEmb embedding model and toAddressParserto change the embeddings cache directory and models weights cache directoryChange the
saving_dirargument ofdownload_fastext_embeddingsanddownload_fasttext_magnitude_embeddingsfunction tocache_dir.saving_diris now deprecated and will be removed in version 0.8.Add a new CLI function, test, to test from the command line
0.7.4¶
Improve parsed address print
Bug-fix #124: comma-separated list without whitespace in CSVDatasetContainer
Add a report when addresses to parse and tags list len differ
Add an example of how to fine-tune using our CSVDatasetContainer
Improve data validation for data to parse
0.7.3¶
Add freeze layer parameters to freeze layers during retraining
0.7.2¶
Added JSON output support
Add logging output of parse CLI function
Hot-fix Poutyne version handling
0.7.1¶
Hot-fix for missing dependency
Fixed bug with poutyne version handling
0.7¶
Improved CLI
Fixed bug in CLI export dataset
Improved the documentation of the CLI
0.6.7¶
Fixed errors in data validation
Improved documentation over data validation
Bug-fix data slicing error with data containers
Add an example of how to use a retrained model
0.6.6¶
Fixed errors in code examples
Improved documentation of download_from_url
Improve error management of retraining and test
0.6.5¶
Improve error handling of empty data and whitespace-only data.
Parsing now includes two validations on the data quality (not empty and not whitespace only)
DataContainer now includes data quality test (not empty, not whitespace only, tags not empty, tags the same length as an address and data is a list of tuples)
New CSVDatasetContainer
DataContainer can now be used to predict using a flag.
Add a CLI to parse addresses from the command line.
0.6.4¶
Bug-fix reloading of retraining attention model (PR #110)
Improve error handling
Improve doc
0.6.3¶
Fixed the printing capture to raise the error with Poutyne as of version 1.8. We keep the previous approach for compatibility with the previous Poutyne version.
Added a flag to disable or not use Tensorboard during retraining.
0.6.2¶
Improved (slightly) data padding method code speed as per PyTorch list or array to the Tensor recommendation.
Improved documentation for RuntimeError due to retraining FastText and BPEmb model in the same directory.
Added error handling RuntimeError when retraining.
0.6.1¶
Completed EOS bug fix
0.6¶
Added Attention mechanism models
Fixed EOS bug
0.5.1¶
Fixed address_comparer hint typing error
Fixed some docs errors
Retrain and test now have more default parameters
Various small code and test improvements
0.5¶
Added Python 3.9
Added feature to allow a more flexible way to retrain
Added a feature to allow retraining of a new seq2seq architecture
Fixed prediction tags bug when parsing with new tags after retraining
0.4.4¶
Fixed import error.
0.4.3¶
Fixed typos in one of the file names.
Added tools to compare addresses (tagged or not).
Fixed some test errors.
0.4.2¶
Added
__eq__method toFormattedParsedAddress.Improved device management.
Improved testing.
0.4.1¶
Added method to specify the format of address components of a
FormattedParsedAddress.Formatting can specify the field separator, the field to be capitalized, and the field to be upper case.
0.4¶
Added a verbose flag to the training and a test based on the init of the address parser.
Added a feature to retrain our models with a prediction tags dictionary that is different from the default one.
Added in-documentation code examples.
Added code examples.
Small improvement of model implementation.
0.3.6¶
Added a method for dictionary conversion of parsed addresses for simpler
Pandasintegration.Added examples for parsing addresses and how to convert them into a DataFrame.
Fixed error with the download module.
0.3.5¶
Added a verbose flag to the training and test based on the init of the address parser.
Breaking change Since SciPy 1.6 is released on Python
3.7+, we don’t support Python3.6.Added management for Windows where the FastText model cannot be pickled. We use the Gensim fasttext model on Windows, which takes more RAM.
0.3.4¶
Fixed a bug when using a batched address. Since we were sorting the address during the forward pass, the output prediction tags were not aligned with the supposed parsed address. We have removed the sorting, and now the results are more aligned with our research.
0.3.3¶
We have improved the loading of data during prediction. We now use a data loader.
Updated the performance table of models with the data loader approach.
Fixed missing import in the parser module.
Bug fix of the
max_lenfor the predictions
0.3¶
Added Libpostal time in the doc
Documentation improvement
Added new model evaluation to doc
Release new models
0.2.3¶
Improved documentation
0.2.2¶
Fixed error with experiment and verbosity as logging trigger on or off
0.2.1¶
Fixed README
0.2¶
Added FastText light model using pymagnitude-light
Added fine-tuning API to allow fine-tuning of our models (retrain)
Added a method to test models (test)
Added metric, loss and dataset container to facilitate fine-tuning training
Added an example of fine-tuning
Added way to load retrain model when instantiation of AddressParser
0.1.3.1¶
Added a verbose flag to trigger more messages during embedding loading
Added a verbose flag in model/embeddings download
0.1.3¶
Added “contributing to”
Added fix for comma problem (#56)
Added content in Address Parser documentation for tags definition
Fixed Pylint bug with PyTorch 1.6
Fixed
pack_paddedCPU error with PyTorch’s new release
0.1.2¶
Modification of assets URL
Bug-fix dictionary use
Fixed logo
Fixed typo deepParse -> deepparse
Fixed authors in the setup
Beta (0.1)¶
Initial release of the pretrained models
Beta version of the API