Linguistica 5 is a Python library for unsupervised learning of linguistic structure, based on Goldsmith (2001, 2006) and all subsequent developments.
Full documentation: http://linguistica-uchicago.github.io/lxa5/
Apart from being a Python library, Linguistica 5 provides two additional interfaces: (i) graphical user interface; (ii) command line interface.
Work by Jackson Lee and John Goldsmith
Linguistica 5 requires Python 3.4 or above.
Dependencies (see Installing dependencies below for notes):
Currently, Linguistica 5 is hosted on GitHub:
$ git clone https://github.com/linguistica-uchicago/lxa5.git
$ cd lxa5
$ python setup.py install
The command python
is meant to point to your Python 3 interpreter
(the one with NumPy, SciPy, and NetworkX installed).
Administrative privileges (such as sudo
on Unix-like systems)
may be required.
To use Linguistica 5 as a Python library, simply import linguistica
in your Python programs:
import linguistica as lxa
To launch the Linguistica 5 graphical user interface (with SIP and PyQt5 installed):
$ python -m linguistica gui
To launch the Linguistica 5 command line interface:
$ python -m linguistica cli
If you use Linguistica 5, please cite this paper:
@InProceedings{lee-goldsmith:2016:lxa5, author = {Lee, Jackson L. and Goldsmith, John A.}, title = {Linguistica 5: Unsupervised Learning of Linguistic Structure}, booktitle = {Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics}, month = {June}, year = {2016}, address = {San Diego, California}, publisher = {Association for Computational Linguistics}, pages = {22--26}, url = {http://www.aclweb.org/anthology/N16-3005} }
Please open issues for questions and bug reports. Alternatively, please feel free to contact Jackson Lee and John Goldsmith.
NumPy, SciPy, and NetworkX: Naturally, it is possible to install these packages one by one on your own, though the installation process might be convoluted with various potential issues regarding other dependencies, paths etc.
If you do not have any of these packages installed
(and especially if you do not have Python 3, either),
then we recommend using a Python distribution shipped with these required packages.
If you have
Anaconda installed,
then these three packages are already available to you.
Due to the large size of Anaconda
(download > 300 MB; about 1.5 GB after installation),
Miniconda
(with Python and the conda
program only without other packages)
is available.
With Miniconda installed, run conda install numpy scipy networkx
.
More notes regarding specific platforms or packages:
Ubuntu (for Linux users) already has the command python3
pointing
to the Python 3 interpreter shipped with the operating system.
NumPy, SciPy, NetworkX, SIP, and PyQt5 are available through apt-get
:
$ sudo apt-get install python3-numpy python3-scipy python3-networkx python3-sip python3-pyqt5 python3-pyqt5.qtwebkit
SciPy dependencies: If you install the packages separately, SciPy itself depends on NumPy, so it is recommended that NumPy is installed before SciPy. Depending on how you try to install SciPy, the installation may also require other tools (e.g. a Fortran compiler):
- Ubuntu: Run
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
- Mac: (assuming you have installed Homebrew) Run
brew install gcc
- Windows: Consider using the pre-built Windows installer for SciPy by Christoph Gohlke.