Diferență între revizuiri ale paginii „Discuție:Flexiuni LOC”

32 de octeți șterși ,  4 februarie 2014 02:49
Linia 172: Linia 172:
Propun deci să renunţăm la '''transforms''' pentru început şi să stocăm, în '''model_description.md_transf''', direct forma derivată. Ulterior, putem introduce această tabelă cu acelaşi efort pe care l-am depune acum dacă ar fi.
Propun deci să renunţăm la '''transforms''' pentru început şi să stocăm, în '''model_description.md_transf''', direct forma derivată. Ulterior, putem introduce această tabelă cu acelaşi efort pe care l-am depune acum dacă ar fi.


* -- RaduBorza 13 decembrie 2006 09:32 (PST) Cînd spui "introdus" la ce te gîndeşti? Eu nu prea văd ce trebuie introdus. Practic trebuie un parser care să citească fişierul cu descrierea modelelor care există deja asociat LOC-3. De aici se generează lista cu descrierile, care vor fi introduse automat în baza de date. Să zicem că facem un pas intermediar în care vom avea lista desfăşurată, după care eventual facem un generator de regexp-uri din cele cuvîntul de bază şi cel modificat. După aceea, mai trebuie făcute legăturile, fie cu tabela words, fie cu "concepte"-le. De astea ziceam că o mare parte se pot face automat. Vor mai trebui dezambiguizate anumite legături făcute automat şi, sigur, de văzut ce se întîmplă cu cele rămase fără model. Spun asta pentru că mai multe modele se pot mula pe acelaşi cuvînt ca să dea rezultatul respectiv, deci ar trebui ales modelul minimal!
* -- RaduBorza 13 decembrie 2006 09:32 (PST) Cînd spui "introdus" la ce te gîndeşti? Eu nu prea văd ce trebuie introdus. Practic trebuie un parser care să citească fişierul cu descrierea modelelor care există deja asociat LOC-3. De aici se generează lista cu descrierile, care vor fi introduse automat în baza de date. Să zicem că facem un pas intermediar în care vom avea lista desfăşurată, după care eventual facem un generator de regexp-uri din cele cuvîntul de bază şi cel modificat. După aceea, mai trebuie făcute legăturile, fie cu tabela words, fie cu "concepte"-le. De astea ziceam că o mare parte se pot face automat. Vor mai trebui dezambiguizate anumite legături făcute automat şi, sigur, de văzut ce se întîmplă cu cele rămase fără model. Spun asta pentru că mai multe modele se pot mula pe acelaşi cuvînt ca să dea rezultatul respectiv, deci ar trebui ales modelul minimal!
* -- CătălinFrâncu Aş prefera pasul intermediar, pentru că e mai puţin cod de scris dintr-o dată (întotdeauna apar probleme când fac un commit prea mare dintr-o dată). Codul care ar extrage regexp-ul va exista deja, pentru că trebuie să aplic acelaşi regexp pentru a eticheta cuvintele care se flexionază ca modelul dat. Dar aş prefera să nu stocăm acest regexp pentru început.
* -- CătălinFrâncu Aş prefera pasul intermediar, pentru că e mai puţin cod de scris dintr-o dată (întotdeauna apar probleme când fac un commit prea mare dintr-o dată). Codul care ar extrage regexp-ul va exista deja, pentru că trebuie să aplic acelaşi regexp pentru a eticheta cuvintele care se flexionază ca modelul dat. Dar aş prefera să nu stocăm acest regexp pentru început.
* -- RaduBorza 14 decembrie 2006 10:41 (PST) Deci hai să stabilim paşii. În primul rînd e nevoie de un script care să desfăşoare fişierul cu modele. Cred că sîntem ambii de acord cu asta, nu? Practic, dacă am transforma lista de exemple la forma: "model_id,formă,analiză[,nr_ordine]" ar fi OK? Promit să mă ocup eu cu treaba asta, avînd în vedere că zici că ai făcut tu extractorul de regexpuri. Încep cu cel de substantive/adjective şi îmi dau termen pentru un beta cel tîrziu duminică seară. E ok? Dacă totul merge coerent, stabilim şi nişte specificaţii :P
* -- RaduBorza 14 decembrie 2006 10:41 (PST) Deci hai să stabilim paşii. În primul rînd e nevoie de un script care să desfăşoare fişierul cu modele. Cred că sîntem ambii de acord cu asta, nu? Practic, dacă am transforma lista de exemple la forma: "model_id,formă,analiză[,nr_ordine]" ar fi OK? Promit să mă ocup eu cu treaba asta, avînd în vedere că zici că ai făcut tu extractorul de regexpuri. Încep cu cel de substantive/adjective şi îmi dau termen pentru un beta cel tîrziu duminică seară. E ok? Dacă totul merge coerent, stabilim şi nişte specificaţii :P
* CătălinFrâncu 14 decembrie 2006 11:11 (PST) Ar fi superb :) Dar să ştii că eu nu am făcut extractorul de regexp-uri. O să-l fac când o să scriu scriptul care să desfăşoare lista de cuvinte (probabil va fi pe încercate). Dacă tu scrii scriptul ăla, eu îmi scot pălăria, că fişierul pare imposibil de parsat (cel puţin doc-ul). Eu am început, fără prea mult elan, să implementez schema şi să o elimin pe cea veche.
* CătălinFrâncu 14 decembrie 2006 11:11 (PST) Ar fi superb :) Dar să ştii că eu nu am făcut extractorul de regexp-uri. O să-l fac când o să scriu scriptul care să desfăşoare lista de cuvinte (probabil va fi pe încercate). Dacă tu scrii scriptul ăla, eu îmi scot pălăria, că fişierul pare imposibil de parsat (cel puţin doc-ul). Eu am început, fără prea mult elan, să implementez schema şi să o elimin pe cea veche.
* -- RaduBorza 18 decembrie 2006 01:54 (PST) Hai că am făcut practic motoraşul care preia din exemple şi re-creează tabela. Două întrebări:
* -- RaduBorza 18 decembrie 2006 01:54 (PST) Hai că am făcut practic motoraşul care preia din exemple şi re-creează tabela. Două întrebări:
  * Care să fie formatul? Mă gîndeam la două fişiere csv/tabele, unul cu analizele (tip, id_analiză, analiză, forma_baza) şi altul cu desfăşurătorul propriu zis (tip, subtip, formă, id_analiză). Exemplu: (M, 1, 'substantiv masculin N/Ac singular nearticulat', 'da') şamd şi respectiv (M, 1, 'lup', 1) şamd. E ok aşa? Sau preferi un format de tip xml? NB forma_baza e necesar pentru a sti care e forma la care ma refer cind voi "calcula" regexpurile (practic e cel mai mic id din grup, dar nu-mi plac hack-urile de genul ăsta).
** Care să fie formatul? Mă gîndeam la două fişiere csv/tabele, unul cu analizele (tip, id_analiză, analiză, forma_baza) şi altul cu desfăşurătorul propriu zis (tip, subtip, formă, id_analiză). Exemplu: (M, 1, 'substantiv masculin N/Ac singular nearticulat', 'da') şamd şi respectiv (M, 1, 'lup', 1) şamd. E ok aşa? Sau preferi un format de tip xml? NB forma_baza e necesar pentru a sti care e forma la care ma refer cind voi "calcula" regexpurile (practic e cel mai mic id din grup, dar nu-mi plac hack-urile de genul ăsta).
  * Unde le salvez? Nu există o bază de date accesibilă din exterior? De asemenea, mă gîndeam că astea ar trebui să apară şi pe dexonline.ro, ca o pagină separată (sau mai multe).
** Unde le salvez? Nu există o bază de date accesibilă din exterior? De asemenea, mă gîndeam că astea ar trebui să apară şi pe dexonline.ro, ca o pagină separată (sau mai multe).
* CătălinFrâncu 20 decembrie 2006 13:59 (PST) Formatul propus de tine e perfect. CSV e mai simplu de parsat, ca să nu caut un XML parser pentru PHP. Le putem publica ulterior şi pe DEX online, dar aş prefera să le generăm dinamic din baza de date (nu neapărat în timp real, putem regenera pagina o dată pe zi). Baza de date, din păcate, nu e accesibilă din exterior, că am zis să nu deschid încă un port în plus (mai ales că două din mirror-uri sunt găzduite de alţii).
* CătălinFrâncu 20 decembrie 2006 13:59 (PST) Formatul propus de tine e perfect. CSV e mai simplu de parsat, ca să nu caut un XML parser pentru PHP. Le putem publica ulterior şi pe DEX online, dar aş prefera să le generăm dinamic din baza de date (nu neapărat în timp real, putem regenera pagina o dată pe zi). Baza de date, din păcate, nu e accesibilă din exterior, că am zis să nu deschid încă un port în plus (mai ales că două din mirror-uri sunt găzduite de alţii).


Şi nişte întrebări:
Şi nişte întrebări:


* ce conţine '''infl_descr'''? De exemplu, dacă '''mt_descr''' conţine ''substantiv masculin'', atunci în '''infl_descr''' punem numai ''singular nominativ-acuzativ nearticulat'', sau complet ''substantiv masculin singular nominativ-acuzativ nearticulat''?
* ce conţine '''infl_descr'''? De exemplu, dacă '''mt_descr''' conţine ''substantiv masculin'', atunci în '''infl_descr''' punem numai ''singular nominativ-acuzativ nearticulat'', sau complet ''substantiv masculin singular nominativ-acuzativ nearticulat''?
  * -- RaduBorza 13 decembrie 2006 09:18 (PST) infl_desc ar trebui să conţină datele complete, într-adevăr: pv, gen, număr, caz, articulare pentru substantiv şi adjectiv; pv, mod, timp, persoană, număr etc pentru verb;
** -- RaduBorza 13 decembrie 2006 09:18 (PST) infl_desc ar trebui să conţină datele complete, într-adevăr: pv, gen, număr, caz, articulare pentru substantiv şi adjectiv; pv, mod, timp, persoană, număr etc pentru verb;
* cred că un câmp '''md_order''' în '''model_description''' ar fi bun, pentru a ordona în mod consecvent formele acolo unde există mai multe. De exemplu, dacă la mai mult ca perfect, persoana I plural avem ''ştiusem'' şi ''ştiuserăm'' în această ordine, e bine ca şi la persoana a II-a să avem ''ştiuseţi'' şi ''ştiuserăţi'' în aceeaşi ordine.
* cred că un câmp '''md_order''' în '''model_description''' ar fi bun, pentru a ordona în mod consecvent formele acolo unde există mai multe. De exemplu, dacă la mai mult ca perfect, persoana I plural avem ''ştiusem'' şi ''ştiuserăm'' în această ordine, e bine ca şi la persoana a II-a să avem ''ştiuseţi'' şi ''ştiuserăţi'' în aceeaşi ordine.
  * -- RaduBorza 13 decembrie 2006 09:18 (PST) da, e ok (cu menţiunea că o singură formă este totuşi cea corectă, cealaltă fiind doar o variantă )
** -- RaduBorza 13 decembrie 2006 09:18 (PST) da, e ok (cu menţiunea că o singură formă este totuşi cea corectă, cealaltă fiind doar o variantă )
* cred că putem folosi ADODB, deşi nu sunt foarte sigur. Teoretic, există deja fişierul modelObjects.php, care este singurul care discută cu baza de date (am creat câte o clasă PHP pentru fiecare tabelă MySQL).
* cred că putem folosi ADODB, deşi nu sunt foarte sigur. Teoretic, există deja fişierul modelObjects.php, care este singurul care discută cu baza de date (am creat câte o clasă PHP pentru fiecare tabelă MySQL).
  * -- RaduBorza 13 decembrie 2006 09:18 (PST) ziceam de ADO numai dacă faci o structură separată pentru analizorul ăsta (adică dacă separi total dexonline-ul de flexonline). Si normal, dacă tu vrei să îl foloseşti (e bine să începi să-l foloseşti cu un proiect de la zero). Dar  
** -- RaduBorza 13 decembrie 2006 09:18 (PST) ziceam de ADO numai dacă faci o structură separată pentru analizorul ăsta (adică dacă separi total dexonline-ul de flexonline). Si normal, dacă tu vrei să îl foloseşti (e bine să începi să-l foloseşti cu un proiect de la zero). Dar  
  * CătălinFrâncu 13 decembrie 2006 11:55 (PST) Nu ştiu dacă putem separa cele două module. Adică putem, evident, dar în DEX/phplib/ există o grămadă de cod utilitar la care n-aş vrea să renunţ.
** CătălinFrâncu 13 decembrie 2006 11:55 (PST) Nu ştiu dacă putem separa cele două module. Adică putem, evident, dar în DEX/phplib/ există o grămadă de cod utilitar la care n-aş vrea să renunţ.
  * -- RaduBorza 14 decembrie 2006 10:41 (PST) Păi de ce nu faci un director pentru utilitare, common, care sa fie accesibil tuturor "sit"-urilor? Acolo ar trebui să îşi aibă locul şi aplicaţiile gen ADODB, pentur că ar fi potenţial ''folosibil'' din mai multe părţi.
** -- RaduBorza 14 decembrie 2006 10:41 (PST) Păi de ce nu faci un director pentru utilitare, common, care sa fie accesibil tuturor "sit"-urilor? Acolo ar trebui să îşi aibă locul şi aplicaţiile gen ADODB, pentur că ar fi potenţial ''folosibil'' din mai multe părţi.
  * CătălinFrâncu 14 decembrie 2006 11:11 (PST) Dacă la asta te referi când spui separare, atunci cam la aşa ceva mă gândeam şi eu (phplib/ e directorul cu biblioteci, wwwbase/flex e cel pentru php-uri şi templates/flex e cel pentru template-uri HTML).
** CătălinFrâncu 14 decembrie 2006 11:11 (PST) Dacă la asta te referi când spui separare, atunci cam la aşa ceva mă gândeam şi eu (phplib/ e directorul cu biblioteci, wwwbase/flex e cel pentru php-uri şi templates/flex e cel pentru template-uri HTML).
  * -- RaduBorza 18 decembrie 2006 02:04 (PST) Oarecum la asta, numai că gîndeam un grad mai mare de separare, deci să îl pui un nivel mai sus (mă gîndesc că cele două entităţi fiind distincte, vei face separarea inclusiv la directoare virtuale în apache, că nu ar fi rău să ai logurile separate). Dar dacă stau să mă gîndesc, într-adevăr poţi lăsa dexwww pentru dexonline faci flexwww pentru ăsta laşi phplib pentru cele comune şi poţi face un third party dir pentru scule gen ADODB. Dar dacă ai biblioteci de funcţii specializate pe dex sau pe flex unde le pui? Faci subdirectoarele dex şi flex în phplib? :-/
** -- RaduBorza 18 decembrie 2006 02:04 (PST) Oarecum la asta, numai că gîndeam un grad mai mare de separare, deci să îl pui un nivel mai sus (mă gîndesc că cele două entităţi fiind distincte, vei face separarea inclusiv la directoare virtuale în apache, că nu ar fi rău să ai logurile separate). Dar dacă stau să mă gîndesc, într-adevăr poţi lăsa dexwww pentru dexonline faci flexwww pentru ăsta laşi phplib pentru cele comune şi poţi face un third party dir pentru scule gen ADODB. Dar dacă ai biblioteci de funcţii specializate pe dex sau pe flex unde le pui? Faci subdirectoarele dex şi flex în phplib? :-/
  * CătălinFrâncu 20 decembrie 2006 13:59 (PST) Ce să zic, n-ar fi rău, dar sincer nu mi-aş bate capul cu asta acum. Cele două module sunt interdependente (de exemplu, flex/ depinde de restul DEXului pentru că formele flexionare se ataşează de cuvinte din tabela Word).
** CătălinFrâncu 20 decembrie 2006 13:59 (PST) Ce să zic, n-ar fi rău, dar sincer nu mi-aş bate capul cu asta acum. Cele două module sunt interdependente (de exemplu, flex/ depinde de restul DEXului pentru că formele flexionare se ataşează de cuvinte din tabela Word).
* trebuie să vorbim şi despre integrarea cu tabelele deja existente. De exemplu, '''lexems''' pare să se refere la tabela (prost-numită) '''Concept'''. Nu ar fi mai bine să ne legăm cumva de tabela '''Word'''? Diferenţa este că pot exista mai multe cuvinte pentru un concept.
* trebuie să vorbim şi despre integrarea cu tabelele deja existente. De exemplu, '''lexems''' pare să se refere la tabela (prost-numită) '''Concept'''. Nu ar fi mai bine să ne legăm cumva de tabela '''Word'''? Diferenţa este că pot exista mai multe cuvinte pentru un concept.
  * -- RaduBorza 13 decembrie 2006 09:18 (PST) dacă facem cele două entităţi independente, se pot lega oricum, cel puţin aşa mi se pare.
** -- RaduBorza 13 decembrie 2006 09:18 (PST) dacă facem cele două entităţi independente, se pot lega oricum, cel puţin aşa mi se pare.