drime

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

commit 160ed739006ce8f2eac1ef9cce887f0ccd2f5e67
parent 772fae10bb9ee944b12a524a3bc8e8064b51109e
Author: Antoine Amarilli <a3nm@a3nm.net>
Date:   Tue, 27 Sep 2011 21:57:34 +0200

continuing

Diffstat:
README | 26++++++++++++++++++++++++++
additions | 25+++++++++++++++++++++++++
lexique_fix.sh | 8++++++++
lexique_retrieve.sh | 12++++++++++++
make_db.py | 4+++-
make_db.sh | 7+++++++
prepare.sh | 6------
7 files changed, 81 insertions(+), 7 deletions(-)

diff --git a/README b/README @@ -0,0 +1,26 @@ +WARNING -- this code does *not* work yet! + +drime - by Antoine Amarilli +A French rhyme dictionary +Licence: GPL version 3 + + +== 1. Features == + +drime is a French rhyme dictionary engine with advanced features, most +notably rime selection based on phonetic or visual similarity, +frequency, syllable count, and rhyme genre. + +== 2. Generating the DB == + +The program database isn't shipped, but scripts are provided to build it +from the Lexique3 database <http://lexique.org/>: + +- lexique_retrieve.sh retrieves a version of Lexique applies a few + tweaks, and outputs it to stdout. + +- make_db.sh takes the tweaked version of Lexique on stdin and produces + the sqlite database on stdout. + + + diff --git a/additions b/additions @@ -0,0 +1,25 @@ +peur p9R peur NOM f s 557.21 311.69 551.83 307.23 1 1 1 4 3 CVVC CVC 8 8 4 3 p9R 1 CVC ruep R2p peur NOM 100 28 1.4 1.5 peur 1 +dompta d§ta dompter VER 2.14 3.24 0 0.2 "ind:pas:3s;" 1 1 0 6 5 CVCCCV CVCCV 3 2 0 0 d§ta 1 C atpmod atp§d domp-ta VER 100 17 1.8 1.8 dompter 1 +domptage d§taZ domptage NOM m s 0 0.14 0 0.14 1 1 1 8 6 CVCCCVCV CVCCVC 1 0 6 5 d§taZ 1 C egatpmod Zatp§d domp-ta-ge NOM 100 21 2.5 2.25 dompter-age 2 +domptai d§tE dompter VER 2.14 3.24 0 0.07 "ind:pas:1s;" 1 2 0 7 5 CVCCCVV CVCCV 1 2 0 0 d§tE 1 C iatpmod Etp§d domp-tai VER 100 17 1.9 1.8 dompter 1 +domptait d§tE dompter VER 2.14 3.24 0 0.07 "ind:imp:3s;" 1 2 0 8 5 CVCCCVVC CVCCV 1 2 0 0 d§tE 1 C tiatpmod Etp§d domp-tait VER 100 17 1.9 1.8 dompter 1 +dompte d§t dompter VER 2.14 3.24 0.26 0.34 "imp:pre:2s;ind:pre:1s;ind:pre:3s;" 1 2 0 6 4 CVCCCV CVCC 3 0 0 0 d§t 1 C etpmod tp§d domp-te VER 100 17 1.7 1.85 dompter 1 +domptent d§t dompter VER 2.14 3.24 0 0.07 "ind:pre:3p;" 1 2 0 8 4 CVCCCVCC CVCC 1 0 0 0 d§t 1 C tnetpmod tp§d domp-tent VER 100 17 2.25 1.85 dompter 1 +dompter d§te dompter VER 2.14 3.24 1 1.69 "inf;" 1 9 1 7 5 CVCCCVC CVCCV 2 2 7 5 d§te 1 C retpmod etp§d domp-ter VER 100 17 1.8 1.85 dompter 1 +dompterai d§tRE dompter VER 2.14 3.24 0 0.07 "ind:fut:1s;" 1 2 0 9 6 CVCCCVCVV CVCCCV 1 0 0 0 d§tRE 1 C iaretpmod ERtp§d domp-te-rai VER 100 17 2.35 1.95 dompter 1 +dompterait d§tRE dompter VER 2.14 3.24 0 0.07 "cnd:pre:3s;" 1 2 0 10 6 CVCCCVCVVC CVCCCV 1 0 0 0 d§tRE 1 C tiaretpmod ERtp§d domp-te-rait VER 100 17 2.45 1.95 dompter 1 +dompteur d§t9R dompteur NOM m s 2.18 2.57 1.11 1.89 1 2 1 8 6 CVCCCVVC CVCCVC 1 0 7 5 d§t9R 1 C ruetpmod R9tp§d domp-teur NOM 100 16 2.15 2 dompter-eur 2 +dompteurs d§t9R dompteur NOM m p 2.18 2.57 0.16 0.14 1 2 0 9 6 CVCCCVVCC CVCCVC 1 0 0 5 d§t9R 1 C sruetpmod R9tp§d domp-teurs NOM 100 16 2.35 2 dompter-eur 2 +dompteuse d§t2z dompteur NOM f s 2.18 2.57 0.92 0.41 1 2 0 9 6 CVCCCVVCV CVCCVC 0 0 0 0 d§t2z 1 C esuetpmod z2tp§d domp-teu-se NOM 100 16 2.6 2.3 dompter-eur 2 +dompteuses d§t2z dompteur NOM f p 2.18 2.57 0 0.14 1 2 0 10 6 CVCCCVVCVC CVCCVC 0 0 0 0 d§t2z 1 C sesuetpmod z2tp§d domp-teu-ses NOM 100 16 2.7 2.3 dompter-eur 2 +domptez d§te dompter VER 2.14 3.24 0.04 0.07 "imp:pre:2p;" 1 9 0 7 5 CVCCCVC CVCCV 2 2 0 5 d§te 1 C zetpmod etp§d domp-tez VER 100 17 1.85 1.85 dompter 1 +dompté d§te dompter VER m s 2.14 3.24 0.64 0.34 "par:pas;" 2 9 0 6 5 CVCCCV CVCCV 3 2 6 5 d§te 1 C étpmod etp§d domp-té VER,ADJ 100 17 1.75 1.85 dompter 1 +dompté d§te dompté ADJ m s 0.15 0.2 0.03 0.07 2 9 1 6 5 CVCCCV CVCCV 3 2 6 5 d§te 1 C étpmod etp§d domp-té VER,ADJ 92 25 1.75 1.85 dompté 1 +domptée d§te dompter VER f s 2.14 3.24 0.19 0.2 "par:pas;" 2 9 0 7 5 CVCCCVV CVCCV 2 2 0 5 d§te 1 C eétpmod etp§d domp-tée VER,ADJ 100 17 1.75 1.85 dompter 1 +domptée d§te dompté ADJ f s 0.15 0.2 0.1 0 2 9 0 7 5 CVCCCVV CVCCV 2 2 0 5 d§te 1 C eétpmod etp§d domp-tée VER,ADJ 92 25 1.75 1.85 dompté 1 +domptées d§te dompté ADJ f p 0.15 0.2 0 0.14 1 9 0 8 5 CVCCCVVC CVCCV 1 2 0 5 d§te 1 C seétpmod etp§d domp-tées ADJ 92 25 2.2 1.85 dompté 1 +domptés d§te dompter VER m p 2.14 3.24 0.01 0.07 "par:pas;" 2 9 0 7 5 CVCCCVC CVCCV 2 2 0 5 d§te 1 C sétpmod etp§d domp-tés VER,ADJ 100 17 1.8 1.85 dompter 1 +domptés d§te dompté ADJ m p 0.15 0.2 0.02 0 2 9 0 7 5 CVCCCVC CVCCV 2 2 0 5 d§te 1 C sétpmod etp§d domp-tés VER,ADJ 92 25 1.8 1.85 dompté 1 +punk p9k punk NOM s 6.39 4.12 5.45 2.5 1 2 1 4 3 CVCC CVC 4 6 4 2 p1k 1 CVC knup k1p punk NOM 92 28 1.75 1.7 punk 1 +parqueteuse paRk2t2z parqueteur NOM f s 0 0.14 0 0.07 1 1 0 11 8 CVCCVVCVVCV CVCCVCVC 0 0 0 0 paR-k2-t2s 3 CVC-CV-CVC esueteuqrap s2t2kRap NOM 57 19 3.35 3.75 parquet-eur 2 +nèfle nEfl nèfle NOM f p 0.17 0.54 0.17 0.54 1 1 0 6 4 CVCCVC CVCC 0 0 0 0 nEfl 1 CVCC selfèn lfEn nè-fles NOM 70 20 2.25 1.95 nèfle 1 diff --git a/lexique_fix.sh b/lexique_fix.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# General fixes for lexique + +cd "$( dirname "$0" )" + +iconv -f latin1 -t utf8 | sed 1d | ./subst.pl + diff --git a/lexique_retrieve.sh b/lexique_retrieve.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +ZIP="Lexique371b.zip" +URL="http://www.lexique.org/public/$ZIP" +FILE="Lexique371/Bases+Scripts/Lexique3.txt" + +cd "$( dirname "$0" )" + +wget $URL +unzip -qq $ZIP $FILE +cat $FILE | ./lexique_fix.sh + diff --git a/make_db.py b/make_db.py @@ -1,7 +1,9 @@ #!/usr/bin/python3 -O +"""Prepare the rhyme database""" + # TODO frequencies are off -# TODO bibliographe number of syllables?! +# TODO "bibliographe" number of syllables?! import haspirater import metric diff --git a/make_db.sh b/make_db.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +cd "$( dirname "$0" )" + +cat - additions | cut -f 1,2,3,4,7,8,9,10,24,28,29 | + sort -k1,1 | + ./make_db.py diff --git a/prepare.sh b/prepare.sh @@ -1,6 +0,0 @@ -#!/bin/bash - -cat Lexique3.txt additions | cut -f 1,2,3,4,7,8,9,10,24,28,29 | - ~/DOCUMENTS/poetlint/rhyme/lexique/lexique_fix.sh | - sort -k1,1 | - ./manage.py