tisdag, mars 08, 2005

"Clever rhymes, see you later"

Sedan den senaste updateringen har diktprogrammet begåvats med ytterligare två egenskaper. Det kan nu uppskatta antalet stavelser i ord genom att räkna antalet sjok av vokaler (förutom om det är e i slutet av ett ord, exempelvis som i little). Några körexempel kan ses nedan.

> (num-of-syllables 'little)
1
> (num-of-syllables 'profoundly)
3
> (num-of-syllables 'supercalifragilisticexpialidocious)
13
>

Det verkar funka ganska hyfsat. Tanken är att jag ska kunna åstakomma lite rytm i dikterna genom att använda denna funktionen. Ännu används den inte, men funktionen finns och väntar bara på att avändas i diktgenereringen.

Vidare kan man nu filtrera ord-listan på ord som rimmar på ett specifikt ord. Här följer några exempel:

> (get-rhyming 'international *adj-db*)
(((chanceful) (mo 3 vi 6 si 4 co 4 hu 5 fu 6 te 6))
((glacial glacial) (fr -3 mo -3 vi -4 si 3 cr 2 co 4 hu 2 fu -3 te -7))
...
> (get-rhyming 'women *adj-db*)
(((barren) (fr -3 mo -4 vi -7 si 3 cr 5 co 4 hu 2 fu -5 te 3 ki -3))
((frozen) (fr -3 mo -3 vi -4 si 3 cr 2 co 4 hu 2 fu -3 te -7))
...
> (get-rhyming 'day *adj-db*)
(((chancy dicey dicey dodgy) (mo 3 vi 6 si 4 co 4 hu 5 fu 6 te 6))
((concisely briefly shortly) (fr -3 vi -3 si -5 cr -3 co 4 hu 2 fu -4 te -3 ki -5))
...
>

Som man kan se så fungerar funktionen hyfsat, men inte tipp-top. Men det beror på att mina rim-regler är ganska (läs: mycket) enkla. Jag tror dock inte att kan kommer göra rim-reglerna speciellt avancerade eftersom det blir troligvis för jobbigt. Men visst, jag kan göra dem bättre än vad de för tillfället är.

Etiketter: