From 0964cc5aebcb29fede569fee6cac50adfeabc93b Mon Sep 17 00:00:00 2001 From: Matthieu Pignolet Date: Mon, 19 May 2025 12:40:12 +0400 Subject: feat: populate readme.md --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 13fe831..869ea08 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,42 @@ -# Aline-rs + +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::>() + ] +); +``` + +## References + +\[1\] G. Kondrak. Algorithms for Language Reconstruction. PhD dissertation, +University of Toronto. \ No newline at end of file -- cgit v1.2.3