Installation
Install the latest release from PyPI:
pip install opusfilter
Include optional Python libraries:
pip install opusfilter[all]
Install from source:
pip install .
orpython setup.py install
Note that all required libraries are not available to install via PyPI on Windows OS. On Linux and MacOS, it should work directly for Python versions from 3.8 to 3.12.
Required libraries
beautifulsoup4
opus-fast-mosestokenizer
graphviz
py3langid
matplotlib
morfessor
OpusTools
pandas
rapidfuzz
ruamel.yaml
regex
requests
sentence-splitter
scikit-learn
subword_nmt
tqdm
xxhash
lingua-language-detector
See setup.py
for possible version requirements.
Optional libraries and tools
FastText and PyCLD2 language identification
The language identification libraries currently supported out-of-the-box are py3langid and lingua. The support for for PyCLD2 and FastText models have been changed to optional due to the lack of support especially for newer Python versions.
The PyCLD2 support can be installed automatically with pip by
including the extras [pycld2]
or [all]
(e.g.
pip install opusfilter[pycld2]
).
The support for FastText models can be installed automatically with
pip by including the extras [fasttext]
or [all]
(e.g.
pip install opusfilter[fasttext]
).
Jieba and MeCab word segmentation
For Chinese tokenization (word segmentation), you can use the
jieba library. It can be installed
automatically with pip by including the extras [jieba]
or [all]
(e.g. pip install opusfilter[jieba]
).
For Japanese tokenization (word segmentation), you can use the
MeCab library. It can be installed
automatically with pip by including the extras [mecab]
or [all]
(e.g. pip install opusfilter[mecab]
).
LASER sentence embeddings
For using sentence embeddings filters, you need to install
laserembeddings
(https://github.com/yannvgn/laserembeddings). It can
be installed automatically with pip by including the extras [laser]
or [all]
(e.g. pip install opusfilter[laser]
). The package will also
require a number of additional libraries, including PyTorch, jieba,
and MeCab. Note that you need also to download the prebuild models
with python -m laserembeddings download-models
.
VariKN n-gram models
For using n-gram language model filters, you need to install the
Python wrapper for VariKN (https://github.com/vsiivola/variKN). It can
be installed automatically with pip by including the extras [varikn]
or [all]
(e.g. pip install opusfilter[varikn]
).
Eflomal word alignment
For using word alignment filters, you need to install elfomal
(https://github.com/robertostling/eflomal). It can be installed
automatically with pip by including the extras [eflomal]
or [all]
(e.g. pip install opusfilter[eflomal]
). Note that you will need Cython
for the installation.