[Dizionario] Re: [Dizionaridizionario] necesse XML

Andrea Sivieri andrea.sivieri a libero.it
Sab 28 Set 2002 06:04:12 CEST


> Sono d'accordo che disaggregare sia molto piu`
> difficile di aggregare, soprattutto se nel
> disaggregare non si vuole perdere l'aggregazione
> originale :)
> 
> Ciao, provo a darti le mie impressioni sui punti 
> che mi sono saltati all'occhio.

Grazie  :-)

> >         <word>frutto</word>
> > 
> >         <!--    Lista dei sinonimi -->
> >                 
> >         <syn>prodotto della terra, prodotto</syn>
> 
> questo in xml si scrive 
> <syn>prodotto della terra</syn>
> <syn>prodotto</syn>
> altrimenti introduci una notazione nuova (la virgola) e non e` piu`
> xml, ma un ibrido.

Obiezione accolta.

Stiamo parlando di un formato molto aderente agli
standard, mica di un formato con scorciatoie...

inoltre questo permetterebbe piu` facilmente di
fare delle SELECT che estraggono il meaning
contraddistinto da una particolare word e da
un certo sinonimo.
 
> >         <def src="Melchi">Tutto ci %/1iso8859-15ò che la terra 
produce</def>
> >         <def src="Test1">Prova</def>        
> >         
> >         <def src="Test2">Prova</def>                
> > 
> >         <!--    Ogni definizione viene da una qualche 
> >                 fonte a cui e` associato un identificatore (esempio: 
Melchi).
> >                 Possono esserci anche decine di definizioni-->
> 
> Questa andra` estesa... def/src non credo basti.

Sono partito con l'essenziale, di sicuro ho perso qualcosa,
visto anche la casistica minima che ho considerato.

> >         <!--    Considerazioni simili valgono per la lista di esempi -->
> >         
> >         <example src="Bibbia">Per sei anni seminerai la tua terra e 
> > raccoglierai i suoi frutti. [Esodo 23,10]</example>
> 
> Se le citazioni dalla bibbia fossero molte potrebbe convenire mettere il
> firerimento in 3 attributi separati.

Non oserei per ora andare oltre a questo:

<example src="Bibbia" pos="Esodo 23,10">Per sei anni seminerai la tua terra e 
raccoglierai i suoi frutti.</example>

perche` i tipi di fonti sono tanti...

> >     </meaning>
> > 
> >...
> >     <meaning>
> >         <word>pèsca</word>         <!-- Notare l'accento -->
> 
> Se mettiamo l'accento pero` credo che mettiamo in difficolta` anche il
> correttore ortografico (correntemente scriviamo pesca, a meno che non ci
> siano dei dubbi di interpretazione). Come lo risolviamo questo problema?

Bella domanda...

La gestione degli accenti interni, oltre alla sillabazione e alle
altre cose che riguardano la forma andrebbe spostata nella
parte della gerarchia XML dedicata appunto alla forma.

In caso di omografia si potrebbe usare invece un sinonimo 
per disambigurare:

<word syn="frutto">pesca</word>

> >         <syn>frutto</syn>    
> >         <def src="Melchi">Frutto del pesco</def>
> >         
> >         <!--    Segue la traduzione verso un meaning inglese 
(identificato da
> >                 "word|primo_sinonimo"). -->
> >                         
> >         <trans lang="en">peach|fruit</trans>
> 
> Anche in questo caso introdurre il "pipe" per dividere le parole non
> e` XML e alla lunga genera problemi ed e` difficile da processare con un
> XSL.

Soluzione come per le omografe:
"peach" vuol dire tante cose diverse che si scrivono nello stesso modo.

Per disambiguare:
<trans lang="en" syn="fruit">peach</trans>

> >         <!--    Sarebbe secondo me di scarsa utilita` tradurre 
> >                 un po' come viene parole italiane in parole varie di altre
> >                 lingue. La cosa piu` efficiente mi sembra tradurre tutti
> >                 i meaning italiani o di altre lingue in meaning inglesi.
> >                 Se si fa questo per M lingue, si hanno automaticamente M*M
> >                 dizionari multilingue pronti, avendo fatto un lavoro 
> >                 proporzionale a M, invece che M*M.
> >                 Senza contare il fatto che si avrebbe la corrispondenza
> >                 con i sinonomi giusti nelle altre lingue: e` questo quello
> >                 che un traduttore vorrebbe. :-) -->                       
> 
> Rimango dell'idea che la mia proposta di <accezione lang=""> sia la più
> flessibile. una semplice corrispondenza (anche molti a molti) lemma
> italiano <-> lemma inglese non contiene abbastanza informazioni per
> formare un dizionario bilingue.
>
> Mentre la forma che proponevo puo` essere usata per inglobare questa
> (credo sia piu` generale).

Hai ragione che qualcosa non viene coperto:
devo pensarci un attimo...

... voglio anche capire un po' meglio il comportamento
in un contesto multilingue delle accezioni come le
intendi tu. Riporto il tuo esempio e domani lo riguardo:

<dict>
   <voce>
      <lemma>casa</lemma>
      <sillabazione>ca-sa</sillabazione>
      <pronuncia>...</pronuncia>
      <classificazione tipo="sostantivo" genere="" numero .../>
      <significato>
        <accezione tipo="comune">
          <significato>edificio suddiviso in vani e 
          adibito ad abitazione</significato>
          <esempio>vivere in una bella casa</esempio>
          <sinonimo>abitazione</sinonimo>
        </accezione>
        <accezione tipo="fig">
           <esempio>portare a casa la pelle</esempio>
           <significato>uscire felicemente da 
             una situazione pericolosa  </significato>
          <sinonimo>salvarsi</sinonimo>
        </accezione>
        <accezione senso="abitazione" xml:lang="en">
          <significato>house</significato>
	</accezione>
        <accezione senso="residenza abituale" xml:lang="en">
          <significato>home</significato>
	</accezione>
      </significato>
   </voce>  
</dict>

>>... 
>> <!--    Sia le forme regolari che quelle irregolari dovranno essere
>>         collegate alle forme base, che poi fanno da ponte verso i 
significati
>>         (meanings). E` indicata la classe in modo da permettere
>>         la declinazione o coniugazione a partire dalla forma base
>>         (a riguardo ci sono cose da perfezionare) -->
>> 
>> <base_forms>
>>     <base_form>
>>         <word>pèsca</word>
>>         <comment>il frutto</comment>
>>         <class>noun:f-ca-che</class>
>>     </base_form>
>
>Perche' in una sezione a parte e non nel file precedente?

Intendi come mai non nella sezione precendente, quella dei meaning...

Per due ragioni:
1. per una base_form ci possono essere tanti meaning
2. se ci sono delle cose da dire sulla forma, tipo accenti, sillabazione, ecc.
   le si dicono dentro a <base_form></base_form>, cosi` dentro ai meaning
   basta metto l'identificatore della base_form, non altro. Il proposito e`
   quello di avere disaccoppiamento tra significati e forma.

Nella tua impostazione il lemma aggrega tutto il resto,
per cui metti le informazioni sulla forma del lemma direttamente
dov'e` il lemma, senza ridondanze. Ma non mi convince quello
che succede dei significati, devo ripensarci...

>Anche in questo caso poi e` presente una notazione estranea
>all'XML
>io avrei scritto 
>
><noun>-ca</noun>
><noun>-che</noun>
>
>o una qualsiasi variante in cui l'informazione non vada parsata da
>nessuno se non dal parser xml.

"noun:f-ca-che" e` solo un nome per una classe di forme derivate
che il computer deve prendere come un tutt'uno, senza interpretarlo.

Verrebbe usato per tutte le base_form per le quali vale ad esempio
la seguente regola:

    <form prec="1"> 
        <class>noun:f-ca-che</class>
        <rule><base>[1]ca</base><self>[1]che</self></rule>
        <attrib>gender=f,num=p</attrib>
    </form>

Quindi il contenuto di <class> non e` un ibrido, ma solo un'etichetta
che deve essere facile da ricordare e veloce da scrivere, qualsiasi
altro modo per creare etichette che non collidano e ben accetto.
Queste etichette sono identificatori che fanno da ponte tra le
base_form e le forme derivate a loro collegate.

Vediamo poi degli "ibridi" nella riga:
<rule><base>[1]ca</base><self>[1]che</self></rule>

Il fatto e` che il parser XML non farebbe niente di utile 
a spezzare il contenuto di <base> o <self> in parti piu`
piccole, anzi poi bisognerebbe _sempre_ rimetterle insieme.

Invece:
<attrib>gender=f,num=p</attrib>

potrebbe diventare:
<attrib gender="f" num="p" />

per evitare l'ibrido. Lo stesso vale per gli altri attrib.

Vediamo cosa succede se incontro la parola "pesche" in un testo:

1. la regola <rule><base>[1]ca</base><self>[1]che</self></rule>
aggancia, perche` self="pesche" => [1]="pes" => base="pesca",
inoltre "pesca" e` una forma base esistente (se non lo fosse la
regola sarebbe da considerare fallita).

Ad esempio: "aribarche" verrebbe portato da questa regola
ad "aribarca", ma questa non e` una forma base conosciuta.
Non solo la forma base deve esistere, ma deve naturalmente
anche appartenere alla stessa classe che e` stata ipotizzata
dalla regola, altrimenti fallimento.

Torniamo invece a "pesche". Visto che la parola e` stata
agganciata dalla regola e che esiste una forma base di
uguale classe, abbiamo risolto il problema di risalire alla
forma base. Inoltre leggendo gli attrib associati alla regola
che e` stata attivata sapremo anche tutto il resto sulla
classificazione di questa forma derivata.

>Scusa se ho tagliato il resto, non ho avuto il tempo di leggerlo. Mi
>riprometto di farlo domani

Grazie invece...
Tu poi usi XSL dove io uso script Python, per cui 
vediamo aspetti diversi e questo e` un bonus.   :-)

Anche il sistema di regole che propongo e` solo un primo tentativo...

Ciao,
          Andrea




Maggiori informazioni sulla lista Dizionario