French rhyme dictionary with web and CLI interface
git clone https://a3nm.net/git/drime/
Log | Files | Refs | README

commit 10f39e742c9e591b16af00279a300e272f1f4da2
parent 660b4fdc63ad5d7e23d66abd1fec05d943177f1e
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Tue, 27 Dec 2011 01:03:29 +0100

interface, about

templates/about.html | 43+++++++++++++++++++++++++++++++++----------
templates/page.html | 2+-
2 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/templates/about.html b/templates/about.html @@ -5,8 +5,11 @@ <h2 id="info">Wait, what is this?</h2> <p>This is <a href="http://a3nm.net">a3nm</a>'s attempt to build a better French rhyme dictionary. It uses the <a href="http://www.lexique.org/">Lexique</a> -database with some customisations, and is powered by Python, Sqlite and Flask. -You can get the code. TODO links.</p> +database with some customisations, and is powered by <a + href="http://python.org">Python</a>, <a href="http://mysql.com">MySQL</a> and +<a href="http://flask.pocoo.org">Flask</a>. You can get the code on the <a + href="http://gitorious.org/drime">drime gitorious repository</a> to run it +locally.</p> <h2 id="help">How do I use it?</h2> <p>In the <strong>word</strong> field, enter the word you want to get rhymes for. Inferring pronunciation of unknown words isn't supported (yet), so don't @@ -16,23 +19,43 @@ disambiguate if multiple pronunciations are possible. Example: <a href="/query?query=fils%20[fis]">fils [fis]</a>.</p> <p>In the <strong>n_syllables</strong> field, you can specify a number of syllables to limit on. You can either specify an exact number or a range (eg. -"1-3"). You can suffix a "+" to indicate that you can accept one syllable more if -the word could cause an elision in the previous word. TODO ref. The syllable -counts for words are approximate: the system will always overapproximate your -query.</p> -<p>The checkbox limits to rhymes that respect rhyme gender. If you're unsure -about what this is, see <a +"1-3"). You can suffix a "+" to indicate that you can accept one syllable more +if the word starts with a vowel or non-aspirated 'h', ie. the previous word ends +with an elidable 'e'. The syllable counts for words are approximate: the +estimation is always done to overapproximate the results of a given query.</p> +<p>The <strong>gender</strong> checkbox limits to rhymes that respect rhyme +gender. If you're unsure about what this is, see <a href="https://fr.wikipedia.org/wiki/Rime#Genre_des_rimes_:_rimes_f.C3.A9minines_et_masculines">the relevant Wikipedia page (in French)</a>.</p> <p>The system will ask you to select the exact word and pronunciation in case of doubt. Results will then be provided.</p> +<h2>Which results are missing? (false negatives)</h2> +<ul> +<li>The system will only provide words from its dictionary. No proper nouns, for +instance.</li> +<li>The system will only provide words which either rhyme (ie. all sounds up to +the last vowel match exactly) or which share the last three characters (for +visual rhymes).</li> +<li>The system might be fooled because its pronunciation for a word is mistaken +or does not include all variants. Besides, the system is picky about phonemic +distinctions (notably "brun/brin", ie. "9~/E~").</li> +<li>The system will eliminate results that it considers redundant, ie. results +derived from a previous result.</li> +</ul> + +<h2>Which results are unnecessary? (false positives)</h2> +<ul> +<li>The system will provide words which are too similar to the query word to +make a decent rhyme with it.</li> +<li>The system will provide results with a wrong syllable count.</li> +<li>The system will provide abusive visual rhymes.</li> +</ul> + <h2>How are results sorted?</h2> <p>Results favor, in this order, the number of common phonemes, the number of common letters, and the frequency of the word.</p> -TODO more info about missing/redundant results - <h2 id="pron">How is pronunciation written?</h2> <p>It is <a href="http://en.wikipedia.org/wiki/X-SAMPA">X-SAMPA</a>. Information about French pronunciation can be found on the <a diff --git a/templates/page.html b/templates/page.html @@ -24,7 +24,7 @@ checked="{{ gender }}" {% endif %} /> - Respect gender?</label> + gender?</label> <input type="submit" value="Search" /> </form> </header>