Strumenti Utente

Strumenti Sito


esplorare_un_documento_xml_con_le_espressioni_regolari

Esplorare un documento xml con le espressioni regolari

Creazione della lista "dati"

xml_re.py
import re
file = open('testi/ldt-1.5.xml', 'r')
dati = file.read()
dati= re.findall(r'word id=\".*?\" form=\"(.*?)\" lemma=\"(.*?)\" postag=\"(.)(.)(.)(.)(.)(.)(.)(.)(.)', dati)
print(dati[18])
print(dati[18][0])
parola_esempio=dati[18]
print(parola_esempio[0])
print(parola_esempio[1])
print(parola_esempio[2])
print(parola_esempio[6])

Struttura dei dati

L'oggetto “dati” creato con le espressioni regolari (r. 4) è una lista di oggetti (per la precisione di tuple python), ciascuno dei quali corrisponde a una parola del corpus. Ad es. il diciannovesimo elemento contenuto in “dati”, visualizzabile con l'istruzione print dati[18], apparirà come ('adspirate', 'adspiro', 'v', '2', 'p', 'p', 'm', 'a', '-', '-', '-'), cioè adspirate, forma flessa appartenente al lemma adspiro, parte del discorso = verbo, persona = seconda, numero = plurale, tempo = presente, modo = imperativo, diatesi = attiva, genere = -, caso = -, grado = -. L'elemento xml corrispondente ha la forma seguente:

<word id="11" form="adspirate" lemma="adspiro" postag="v2ppma---" head="13" relation="PRED_CO" />

Dato che l'espressione regolare che abbiamo utilizzato non registra né il campo id né le annotazioni sintattiche head e relation, i campi degli oggetti-parola creati risultano organizzati secondo il seguente prospetto (i simboli dipendono dal sistema di annotazione del corpus LDT):

  • 0: forma
  • 1: lemma (identificazione del lessema)
  • 2: parte del discorso {n nome, v verbo, t participio, a aggettivo, d avverbio, c congiunzione, r preposizione, p pronome, m numerale, i interiezione, e esclamazione, u interpunto}
  • 3: persona {1 prima, 2 seconda, 3 terza}
  • 4: numero {s singolare, p plurale}
  • 5: tempo {p presente, i imperfetto, r perfetto, l piuccheperfetto, t futuro perfetto, f futuro}
  • 6: modo {i indicativo, s congiuntivo, n infinito, m imperativo, p participio, d gerundio, g gerundivo, s supino}
  • 7: diatesi {a attiva, p passiva}
  • 8: genere {m maschile, f femminile, n neutro}
  • 9: caso {n nominativo, g genitivo, d dativo, a accusativo, b ablativo, v vocativo, l locativo}
  • 10: grado {c comparativo, s superlativo}

Per conoscere quindi il valore della categoria grammaticale di modo di una parola occorre quindi visualizzare il campo 6 (parola_esempio[6], cf. r.11); il valore restituito, ossia 'm', indica il modo imperativo.

esplorare_un_documento_xml_con_le_espressioni_regolari.txt · Ultima modifica: 2021/06/03 07:51 da 31.156.199.251