Skip to content

Phonological rule learning using program synthesis

Notifications You must be signed in to change notification settings

Angela-inca/Phonosynthesis

 
 

Repository files navigation

PhonoSynthesis infers phonological rules given a set of input output transformations. Phonological rules are general principles that apply to all words of a natural class that is defined in terms of phonological properties. The features of phonetic sounds are encoded as constraint variables in a SAT formula. PhonoSynthesis solves for a satisfying assignment which is equivalent to inferring the phonological rule.

Installation

We recommend installing all dependencies (including z3) in a Python virtual environment.

This project requires Python 3.6 or later.

Install z3

$ git clone https://github.com/Z3Prover/z3.git
$ cd z3
$ python scripts/mk_make.py --python
$ cd build
$ make
$ make install

Clone the repo and install Python dependencies

$ git clone https://github.com/shraddhabarke/Phonosynthesis.git
$ cd Phonosynthesis
$ pip install -e .

Usage

Start the development server (in the project root).

$ flask run

The web interface is then available at http://localhost:5000.

About

Phonological rule learning using program synthesis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • HTML 1.8%
  • JavaScript 1.2%
  • CSS 0.3%