Skip to main content

A QNLP toolkit

Project description

λambeq

Build status License PyPI version PyPI downloads arXiv

About

lambeq is a toolkit for quantum natural language processing (QNLP).

Getting started

Prerequisites

  • Python 3.10+

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 install lambeq with optional dependencies for experimental features, run:

pip install lambeq[experimental]

To enable DepCCG support, you will need to install the external parser separately.


Note: The DepCCG-related functionality is no longer actively supported in lambeq, and may not work as expected. We strongly recommend using the default Bobcat parser which comes as part of lambeq.


If you still want to use DepCCG, for example because you plan to apply lambeq on Japanese, you can install DepCCG separately following the instructions on the DepCCG homepage. 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 in lambeq's documentation repository contains notebooks demonstrating usage of the various tools in lambeq.

Example - parsing a sentence into a diagram (see docs/examples/parser.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 lambeq in a virtual environment, remember to install pytest in the same environment using pip.

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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lambeq-0.5.0.tar.gz (300.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lambeq-0.5.0-py3-none-any.whl (269.6 kB view details)

Uploaded Python 3

File details

Details for the file lambeq-0.5.0.tar.gz.

File metadata

  • Download URL: lambeq-0.5.0.tar.gz
  • Upload date:
  • Size: 300.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for lambeq-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e65f4aba57a4ad7c12374ecb06628427f0278fa67abe090308f844774bdf3eab
MD5 74401d78807e0d892d526ecb675f229d
BLAKE2b-256 631ad7cde8ac86c8a03e42f62ea7181a2aaff27e26fbc2f3cec4360ca83c4e5c

See more details on using hashes here.

File details

Details for the file lambeq-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: lambeq-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 269.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for lambeq-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4801306b3e76d5e75a22af26194173ad2e61f04db2fedbc5423e71ab856b17aa
MD5 903f7f6442d3856969be2a7f3c1eb1a8
BLAKE2b-256 2120f29ae24f89792c9029a259c2e087507a6918484b5d217e309b7122a66e50

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page