la .slokrebaf. .e le ci cribe: Difference between revisions

From Lojban
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
Line 1: Line 1:


http://nuzban.wiw.org/rand/
== ::'''la .slokrebaf. .e le ci cribe''':: ==


Makes 100 random sentences at a time. They're generated from '''sentence_11''' (in the YACC grammar description), so you'll never see ''fa'o'', for instance.
=== ::sei la .rabert.sautis. cu finti:: ===


* He means statement_11.  -RobinLeePowell
::{img attId="888" heigth="392" width="514"}::


Source code is:
ni'o puzuvuku cu zasti fa ci cribe goi ko'a zi'e noi xabju lo zdani bu'u le cicricfoi .:i cmima fa lo banli je barda ke patfu cribe goi ko'e .e lo norbra ke mamta cribe goi ko'i .e lo cmatce ke cifnu cribe goi ko'o


http://nuzban.wiw.org/rand/generator.pl
ni'o ca lo cerni le ko'a mavystasu pu glare dukse fi lonu citka .:iseki'ubo ko'a jdice lonu litru le cicricfoi .:i ca lonu ko'a na zvati kei lo citno nixli goi ko'u zi'e noi se cmene zo .slokrebaf. pagre lei tricu gi'e zvafa'i le ko'a zdani .:i ko'u snada'i le vrogai gi'e ki'u lodu'u noda spuda cu catke kargau fo ri gi'e nerkla


Needs the [[jbocre: Perl|Perl]] module '''Memoize'''.
ni'o ca'u ko'u zvati fa lo jubme ku jo'u ci stizu no'u pa barda stizu ku ce pa norbra stizu ku ce pa cmalu stizu .:i ga'ure'o le jubme cu zvati ci ctikabri be lo mavystasu be'o no'u pa barda ctikabri ku ce pa norbra ctikabri ku ce pa cmalu ctikabri ge'u jo'u ci smuci


Uses [http://www.cosc.canterbury.ac.nz/research/reports/TechReps/1997/tr_9710.pdf n algorithm] devised by [[Bruce McKenzie|Bruce McKenzie]] to ensure that all strings of length ''n'' have the same chance of being generated.
ni'o la .slokrebaf. pu xagji .:ijebo le mavystasu cu simlu loka kukte .:iseki'ubo ko'u cu zutse le banli barda stizu gi'e lafti le barda smuci gi'e troci tu'a piso'o le mavystasu pe le barda ctikabri .:iku'i le stizu cu barda mutce gi'e jdari mutce .:ijebo le smuci cu tilju .:ijebo le mavystasu cu glare dukse


Currently not all sentences are valid (a few percent). Its because I don't fully reverse all of the lexer preprocessing done, yet.
ni'o la .slokrebaf. pu plipe cliva co sutra gi'e jbikla le norbra stizu .:iku'i le ca stizu cu ranti ke dukse mutce .:ijebo ca lonu ko'u troci tu'a le mavystasu pe le norbra ctikabri kei my cu lenku dukse .:iseki'ubo ko'u jbikla le cmalu stizu gi'e lafti le cmarai smuci gi'e troci tu'a le mavystasu pe le cmatce ctikabri


Notably, [[jbocre: jbofi'e|jbofi'e]] parses all the validish sentences. The ones it fails on are visibly malformed. (My generator produces output using the LLG's official [[jbocre: YACC|YACC]] grammar, whereas [[jbocre: jbofi'e|jbofi'e]]'s grammar is based off of the [[jbocre: EBNF|EBNF]] grammar. So if [[jbocre: jbofi'e|jbofi'e]] can parse everything produced by my generator, then that means that [[jbocre: jbofi'e|jbofi'e]] is correct.)
ni'o caku my pu na glare dukse gi'e na lenku dukse .:i my cu sa'u mapti gi'e tai kukte ja'e lonu ko'u cu mulno citka


As far as tuning the output:
my .:iku'i ko'u cu tilju dukse fi le cmalu stizu .:ije ri cu porpi ri'a lo junta be ko'u


The only feasible method is to adjust the grammar used to produce sentences by removing rules which produce things you don't want, and duplicating rules for things which you want to have a higher likely hood. If anyone would like to take a copy of grammar.300 from the Lojban site and adjust it like that, I'd love to see the result.
ni'o baku la .slokrebaf. pu gapkla fo lo serti gi'e zvafa'i ci ckana .:i zasti fa lo banli barda ckana .e lo norbra ckana .e lo cmatce cmalu ckana .:i ri'a ro le pu co'e ko'u cu manri tatpi .:iseki'ubo ko'u cpare nerkla le barda ckana gi'e vreta .:i le barda ckana cu jdari mutce gi'e barda ke dukse mutce .:ibabo ko'u troci tu'a le norbra ckana .:iku'i ri ranti ke dukse mutce .:iseki'ubo ko'u cpare nerkla le cmalu ckana .:i ri na jdari dukse gi'e na ranti dukse .:i sa'e ri gasmlu loka sa'u mapti gi'e se kufra gi'e glare .:ijebo bazi sai ku la .slokrebaf. co'a sipna mulno


----------
ni'o baziku le ci cribe pu xrukla fi le cicricfoi .:i ko'a zi visysanji lonu da ba'o catke kargau fo le vrogai be fu le zdani be ko'a .:ijebo la patfu cribe cu vabycta gi'ebabo laucmo vecu'u lo fe'ucmo voksa


Very cool. However, I think there still needs to be some sort of weighting - the vast majority of Lojban sentences of length ''n'' are ugly things only a computer could love. I don't think I saw the word ''le'' anywhere on the page I got. --[[jbocre: rab.spir|rab.spir]]
ni'o la mamta cribe pu cusku fo lo smaji je toljursa voksa fe "lu da ba'o zutse lo mi stizu li'u".:ibabo la cmlau cribe cu cusku fo lo cmalu je torbrato'a ke cifnu voksa fe "lu da ba'o zutse lo mi stizu gi'e ba'o popygau ri li'u"


----
ni'o baku la patfu cribe pu catlu lo ko'e ctikabri be lo mavystasu gi'e viska le smuci noi nenri cy gi'e cusku fo lo ko'e banli barda ke fe'ucmo voksa fe "lu da ba'o citka lo mi mavystasu li'u" .:ibabo la mamta cribe cu viska lonu lo ko'i ctikabri cu vasru lo smuci kei gi'e cusku fo lo ko'i smaji voksa fe "lu da ba'o citka lo mi mavystasu li'u" .:i la cmalu cribe cu catlu lo ko'o mavystasu ctikabri gi'e cusku fo lo ko'o cmalu je torbrato'a ke cifnu voksa fe "lu da ba'o citka lo mi mavystasu gi'e ba'o mo'u citka li'u"


Wonderful! But it looks like it needs some tuning: it gave me '''jai jai jai na'e jai je'a klesi jai cupra'''.
ni'o baku le ci cribe pu gapkla fo lo serti .:ijebo la patfu cribe zi viska lonu lo ko'e ckana cu kalsa gi'e cusku fo lo ko'e banli barda ke fe'ucmo voksa fe "lu da ba'o sipna bu'u lo mi ckana li'u" .:i la mamta cribe cu viska lonu lo ko'i ckana cu si'a vasru lo kalri ckagai gi'e cusku fo lo ko'i smaji je toljursa voksa fe "lu da ba'o sipna bu'u lo mi ckana li'u" .:ibabo la cmalu cribe cu catlu lo ko'o ckana gi'e cusku fo lo ko'o cmalu je torbrato'a ke cifnu voksa fe "lu da ca'o sipna bu'u lo mi ckana li'u"


What? Thats a valid sentence. Merely completely nonsensical... I have noticed that it '''really''' likes jai, though. --jay
ni'o ko'o pu se torbrato'a co tai cladu ja'e lonu la .slokrebaf. co'a cikna co selspaji .:i ko'u plipe co cliva le ckana gi'e bajra cliva nitkla fo le serti fa'a le cicricfoi .:ije baku le ci cribe ze'e na'e viska ko'u
 
''Maybe it's trying to produce the name of its creator? --pne''
 
-----
 
I took a copy of grammar.300, as you suggested, and modified it. Basically, I took options which went directly to another rule without extra stuff, and repeated those 3 times. I also repeated things I thought were important, such as sumti, 5 times.
 
The result: nearly every sentence consisted of 8 anaphora filling the places of one bridi. Sometimes there would be a ''nai'' instead of one anaphora, or a two-word tanru for the bridi, but always generally the same thing.
 
And now I see why. This algorithm gives every 9-word sentence an equal chance of being produced. ''(right, that was the whole point. :) sadly it didn't turn out quite so well. --jay)'' And there are LOTS of 9-word sentences with 8 anaphora and a bridi, especially as my weighting steered the sentences away from strange grammatical structures which there could also be lots of.
 
In contrast, since this generator seems to never drop KU, every sentence which has a LE in it has to also have a KU in it. There are not lots of these sentences. Very few of them, in fact. No amount of weighting would fix the fact that 1 word is easier to fit in a random sentence than 3, so it was always anaphora everywhere.
 
So I deleted the anaphora rule. Now it generates boring sentences which at least have LE in them, like ''la pilji ku ralju gigdo le'i co'e melbi ku''.
 
So from what I've seen, we don't want every sentence to have an equal chance. In fact, I'd say we want some sentences like ''tu de'u kerfa di ko'a do de ko ti'' to [[jbocre: dies in the arse ie in the arse|dies in the arse ie in the arse]].
 
So I think the purely weighted approach, as used in the original [[jbocre: random sentence generator|random sentence generator]], is the only way to get random sentences meant for humans. Jay, could I have a copy of your original attempt which generated huge stuff, so I can try it with my weighted version of the grammar? ''sent''
 
--[[jbocre: rab.spir|rab.spir]]

Revision as of 16:56, 4 November 2013

::la .slokrebaf. .e le ci cribe::

::sei la .rabert.sautis. cu finti::

{img attId="888" heigth="392" width="514"}::

ni'o puzuvuku cu zasti fa ci cribe goi ko'a zi'e noi xabju lo zdani bu'u le cicricfoi .:i cmima fa lo banli je barda ke patfu cribe goi ko'e .e lo norbra ke mamta cribe goi ko'i .e lo cmatce ke cifnu cribe goi ko'o

ni'o ca lo cerni le ko'a mavystasu pu glare dukse fi lonu citka .:iseki'ubo ko'a jdice lonu litru le cicricfoi .:i ca lonu ko'a na zvati kei lo citno nixli goi ko'u zi'e noi se cmene zo .slokrebaf. pagre lei tricu gi'e zvafa'i le ko'a zdani .:i ko'u snada'i le vrogai gi'e ki'u lodu'u noda spuda cu catke kargau fo ri gi'e nerkla

ni'o ca'u ko'u zvati fa lo jubme ku jo'u ci stizu no'u pa barda stizu ku ce pa norbra stizu ku ce pa cmalu stizu .:i ga'ure'o le jubme cu zvati ci ctikabri be lo mavystasu be'o no'u pa barda ctikabri ku ce pa norbra ctikabri ku ce pa cmalu ctikabri ge'u jo'u ci smuci

ni'o la .slokrebaf. pu xagji .:ijebo le mavystasu cu simlu loka kukte .:iseki'ubo ko'u cu zutse le banli barda stizu gi'e lafti le barda smuci gi'e troci tu'a piso'o le mavystasu pe le barda ctikabri .:iku'i le stizu cu barda mutce gi'e jdari mutce .:ijebo le smuci cu tilju .:ijebo le mavystasu cu glare dukse

ni'o la .slokrebaf. pu plipe cliva co sutra gi'e jbikla le norbra stizu .:iku'i le ca stizu cu ranti ke dukse mutce .:ijebo ca lonu ko'u troci tu'a le mavystasu pe le norbra ctikabri kei my cu lenku dukse .:iseki'ubo ko'u jbikla le cmalu stizu gi'e lafti le cmarai smuci gi'e troci tu'a le mavystasu pe le cmatce ctikabri

ni'o caku my pu na glare dukse gi'e na lenku dukse .:i my cu sa'u mapti gi'e tai kukte ja'e lonu ko'u cu mulno citka

my .:iku'i ko'u cu tilju dukse fi le cmalu stizu .:ije ri cu porpi ri'a lo junta be ko'u

ni'o baku la .slokrebaf. pu gapkla fo lo serti gi'e zvafa'i ci ckana .:i zasti fa lo banli barda ckana .e lo norbra ckana .e lo cmatce cmalu ckana .:i ri'a ro le pu co'e ko'u cu manri tatpi .:iseki'ubo ko'u cpare nerkla le barda ckana gi'e vreta .:i le barda ckana cu jdari mutce gi'e barda ke dukse mutce .:ibabo ko'u troci tu'a le norbra ckana .:iku'i ri ranti ke dukse mutce .:iseki'ubo ko'u cpare nerkla le cmalu ckana .:i ri na jdari dukse gi'e na ranti dukse .:i sa'e ri gasmlu loka sa'u mapti gi'e se kufra gi'e glare .:ijebo bazi sai ku la .slokrebaf. co'a sipna mulno

ni'o baziku le ci cribe pu xrukla fi le cicricfoi .:i ko'a zi visysanji lonu da ba'o catke kargau fo le vrogai be fu le zdani be ko'a .:ijebo la patfu cribe cu vabycta gi'ebabo laucmo vecu'u lo fe'ucmo voksa

ni'o la mamta cribe pu cusku fo lo smaji je toljursa voksa fe "lu da ba'o zutse lo mi stizu li'u".:ibabo la cmlau cribe cu cusku fo lo cmalu je torbrato'a ke cifnu voksa fe "lu da ba'o zutse lo mi stizu gi'e ba'o popygau ri li'u"

ni'o baku la patfu cribe pu catlu lo ko'e ctikabri be lo mavystasu gi'e viska le smuci noi nenri cy gi'e cusku fo lo ko'e banli barda ke fe'ucmo voksa fe "lu da ba'o citka lo mi mavystasu li'u" .:ibabo la mamta cribe cu viska lonu lo ko'i ctikabri cu vasru lo smuci kei gi'e cusku fo lo ko'i smaji voksa fe "lu da ba'o citka lo mi mavystasu li'u" .:i la cmalu cribe cu catlu lo ko'o mavystasu ctikabri gi'e cusku fo lo ko'o cmalu je torbrato'a ke cifnu voksa fe "lu da ba'o citka lo mi mavystasu gi'e ba'o mo'u citka li'u"

ni'o baku le ci cribe pu gapkla fo lo serti .:ijebo la patfu cribe zi viska lonu lo ko'e ckana cu kalsa gi'e cusku fo lo ko'e banli barda ke fe'ucmo voksa fe "lu da ba'o sipna bu'u lo mi ckana li'u" .:i la mamta cribe cu viska lonu lo ko'i ckana cu si'a vasru lo kalri ckagai gi'e cusku fo lo ko'i smaji je toljursa voksa fe "lu da ba'o sipna bu'u lo mi ckana li'u" .:ibabo la cmalu cribe cu catlu lo ko'o ckana gi'e cusku fo lo ko'o cmalu je torbrato'a ke cifnu voksa fe "lu da ca'o sipna bu'u lo mi ckana li'u"

ni'o ko'o pu se torbrato'a co tai cladu ja'e lonu la .slokrebaf. co'a cikna co selspaji .:i ko'u plipe co cliva le ckana gi'e bajra cliva nitkla fo le serti fa'a le cicricfoi .:ije baku le ci cribe ze'e na'e viska ko'u