DaCy icon indicating copy to clipboard operation
DaCy copied to clipboard

DaCy: The State of the Art Danish NLP pipeline using SpaCy

DaCy: An efficient NLP Pipeline for Danish

PyPI version pip downloads python version Code style: black license github actions pytest github actions docs

CodeFactor Demo

DaCy is a Danish natural language preprocessing framework made with SpaCy. Its largest pipeline has achieved State-of-the-Art performance on Named entity recognition, part-of-speech tagging and dependency parsing for Danish. Feel free to try out the demo. This repository contains material for using DaCy, reproducing the results and guides on usage of the package. Furthermore, it also contains behavioural tests for biases and robustness of Danish NLP pipelines.

🔧 Installation

To get started using DaCy simply install it using pip by running the following line in your terminal:

pip install dacy

👩‍💻 Usage

To use the model you first have to download either the small, medium, or large model. To see a list of all available models:

import dacy
for model in dacy.models():
    print(model)
# ...
# da_dacy_small_trf-0.1.0
# da_dacy_medium_trf-0.1.0
# da_dacy_large_trf-0.1.0

To download and load a model simply execute:

nlp = dacy.load("da_dacy_medium_tfrf-0.1.0")
# or equivalently
nlp = dacy.load("medium")

Which will download the model to the .dacy directory in your home directory.

To download the model to a specific directory:

dacy.download_model("da_dacy_medium_trf-0.1.0", your_save_path)
nlp = dacy.load_model("da_dacy_medium_trf-0.1.0", your_save_path)

📖 Documentation

DaCy includes detailed documentation as well as a series of Jupyter notebook tutorials. If you do not have Jupyter Notebook installed, instructions for installing and running it can be found here. All the tutorials are located in the tutorials folder.

Documentation
📚 Getting started Guides and instructions on how to use DaCy and its features.
🦾 Performance A detailed description of the performance of DaCy and comparison with similar Danish models
😎 Demo A simple Streamlit demo to try out the augmenters.
📰 News and changelog New additions, changes and version history.
🎛 API References The detailed reference for augmenty's API. Including function documentation
🙋 FAQ Frequently asked questions

Training and reproduction

the folder training contains a SpaCy project which will allow for reproduction of the results. This folder also includes the evaluation metrics on DaNE and scripts for downloading the required data. For more information, please see the training readme.

Want to learn more about how DaCy initially came to be, check out this blog post.


💬 Where to ask questions

To ask report issues or request features, please use the GitHub Issue Tracker. Questions related to SpaCy are kindly referred to the SpaCy GitHub or forum. Otherwise, please use the discussion Forums.

Type
🚨 Bug Reports GitHub Issue Tracker
🎁 Feature Requests & Ideas GitHub Issue Tracker
👩‍💻 Usage Questions GitHub Discussions
🗯 General Discussion GitHub Discussions

Acknowledgements

DaCy is a result of great open-source software and contributors. It wouldn't have been possible without the work by the SpaCy team which developed and integrated the software. Huggingface for developing Transformers and making model sharing convenient. Multiple parties including Certainly.io and Malte Hojmark-Bertelsen for making their models publicly available. Alexandra Institute for developing and maintaining DaNLP which has made it easy to get access to Danish resources and even supplied some of the tagged data themselves.