lambeq
About
lambeq is a toolkit for quantum natural language processing (QNLP).
- Documentation: https://cqcl.github.io/lambeq/
- User support: [email protected]
- Contributions: Please read our guide.
- If you want to subscribe to lambeq's mailing list, let us know by sending an email to [email protected].
Note: Please do not try to read the documentation directly from the preview provided in the repository, since some of the pages will not be rendered properly.
Getting started
Prerequisites
- Python 3.8+
Installation
lambeq can be installed with the command:
pip install lambeq
The default installation of lambeq includes Bobcat parser, a state-of-the-art statistical parser (see related paper) fully integrated with the toolkit.
To install lambeq with optional dependencies for extra features, run:
pip install lambeq[extras]
To enable depccg support, you will need to install depccg separately. More information can be found
on the depccg homepage.
Currently, only version 2.0.3.2 of depccg is supported. After installing depccg, you can download its model by using the script provided in the contrib
folder of this repository:
python contrib/download_depccg_model.py
Usage
The docs/examples directory contains notebooks demonstrating usage of the various tools in lambeq.
Example - parsing a sentence into a diagram (see docs/examples/ccg2discocat.ipynb):
from lambeq import BobcatParser
parser = BobcatParser()
diagram = parser.sentence2diagram('This is a test sentence')
diagram.draw()
Testing
Run all tests with the command:
pytest
Note: if you have installed in a virtual environment, remember to install pytest in the same environment using pip.
Building documentation
To build the documentation, first install the required dependencies:
pip install -r docs/requirements.txt
then run the commands:
cd docs
make clean
make html
the docs will be under docs/_build
.
License
Distributed under the Apache 2.0 license. See LICENSE
for
more details.
Citation
If you wish to attribute our work, please cite the accompanying paper:
@article{kartsaklis2021lambeq,
title={lambeq: {A}n {E}fficient {H}igh-{L}evel {P}ython {L}ibrary for {Q}uantum {NLP}},
author={Dimitri Kartsaklis and Ian Fan and Richie Yeung and Anna Pearson and Robin Lorenz and Alexis Toumi and Giovanni de Felice and Konstantinos Meichanetzidis and Stephen Clark and Bob Coecke},
year={2021},
journal={arXiv preprint arXiv:2110.04236},
}