diff options
| author | Matthieu Pignolet <matthieu@puffer.fish> | 2025-05-19 12:40:12 +0400 |
|---|---|---|
| committer | Matthieu Pignolet <matthieu@puffer.fish> | 2025-05-19 12:40:12 +0400 |
| commit | 0964cc5aebcb29fede569fee6cac50adfeabc93b (patch) | |
| tree | 9b51acfe8be1638402ffe4d22af091e60bfa708e | |
| parent | 78db603625e1ef0900249bc42413955458a520cc (diff) | |
feat: populate readme.md
| -rw-r--r-- | README.md | 42 |
1 files changed, 40 insertions, 2 deletions
@@ -1,4 +1,42 @@ -# Aline-rs +<https://webdocs.cs.ualberta.ca/~kondrak/> +Copyright 2002 by Grzegorz Kondrak. -This is a Aline implementation based on the python nltk implementation. +ALINE is an algorithm for aligning phonetic sequences, described in \[1\]. +This module is a port of Kondrak's (2002) ALINE. It provides functions for +phonetic sequence alignment and similarity analysis. These are useful in +historical linguistics, sociolinguistics and synchronic phonology. +ALINE has parameters that can be tuned for desired output. These parameters are: +- C_skip, C_sub, C_exp, C_vwl +- Salience weights +- Segmental features + +In this implementation, some parameters have been changed from their default +values as described in \[1\], in order to replicate published results. All changes +are noted in comments. + +## Get optimal alignment of two phonetic sequences + +``` +use aline::align; + +let alignment = align("θin", "tenwis", 0.0); + +assert_eq!( + alignment, + vec![ + vec![ + ("θ", "t"), + ("i", "e"), + ("n", "n") + ].iter() + .map(|(a, b)| (a.to_string(), b.to_string())) + .collect::<Vec<(String, String)>>() + ] +); +``` + +## References + +\[1\] G. Kondrak. Algorithms for Language Reconstruction. PhD dissertation, +University of Toronto.
\ No newline at end of file |
