Autore Topic: Analisi (e interpretazione) testuale?  (Letto 9779 volte)

Offline rebraist

  • Nerd
  • *****
  • Post: 946
  • Karma: +13/-1
    • Mostra profilo
Analisi (e interpretazione) testuale?
« il: 19 Marzo 2013, 22:25:21 »
Algoritmi? Libri? Idee?
Io per ora ciò che vedo all'orizzonte sono immense catene di strutture condizionali...
Amigaos spacca.
Aros rulla.
Morphos corre di brutto.
Sinceramente, non vorrei che mio figlio facesse amicizia con uno di questi tre tipacci.
Dottore:lei é uno di quelli che si potrebbero definire nerd...
Io: dottò, lo so di mio. Sono pure iscritto a 'n'forum...
Dottore: su internet?
Io: no a rete 4

Offline fulvio

  • Tech
  • *****
  • Post: 68
  • Karma: +0/-0
    • Mostra profilo
Re:Analisi (e interpretazione) testuale?
« Risposta #1 il: 19 Marzo 2013, 22:27:31 »
non sono molto ferrato nel campo, ma cerca qualcosa riguardo text mining e ontologie

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #2 il: 19 Marzo 2013, 23:10:57 »
C'era un bel thread prima del crash su questa roba, mannaggia, si parlava anche di prolog e IA... io a tempo perso sto creando un mostro meccanico con LUA, è una cosa molto sperimentale e ancora ad uno stato embrionale, ho raccolto un po di materiale sul web che tratta questo argomento vastissimo, appena posso linko un po' di roba qua, se poi sei interessato a quello che sto facendo magari riesumo i vecchi appunti e ne possiamo parlare :)

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Analisi (e interpretazione) testuale?
« Risposta #3 il: 20 Marzo 2013, 08:44:23 »
Natural Language Toolkit

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Analisi (e interpretazione) testuale?
« Risposta #4 il: 23 Marzo 2013, 21:06:02 »
Già. Abbiamo perso i tuoi bellissimi thread e post. :'(

AmigaCori

  • Visitatore
Re:Analisi (e interpretazione) testuale?
« Risposta #5 il: 03 Aprile 2013, 15:47:18 »
Natural Language Toolkit

Lo sai che recentemente stavo leggendo un articolo su una pubblicazione di Robotica ed ho trovato: http://ltlmop.github.com/ "...an open source, modular, Python-based toolkit..." e ricordavo che "da qualche parte" avevo letto di questa cosa :D ...ora ho ritrovato questo tuo messaggio!

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Analisi (e interpretazione) testuale?
« Risposta #6 il: 03 Aprile 2013, 15:51:44 »
Conquisteremo il mondo. 8)

Using Python to Code by Voice

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #7 il: 05 Agosto 2013, 17:40:37 »
Eccomi qua a scrivere nuovamente su questa roba :)

Sto leggendo con molta attenzione il libro riguardante il NLTK creato per python, come segnalato da Cesare (grazie!), poi mi sono scaricato il NLTK con le dipendenze trovando grosse difficoltà a configurare il tutto con la versione 3 del pitone... e infatti, per adesso, ho abbandonato.
Però il libro è preziosissimo e mi sta aiutando molto a chiarire alcuni dubbi ed a continuare con il lavoro che avevo iniziato :)

Dico subito che il primo tentativo (che poi sarebbe il secondo) è stato abbandonato ed ho iniziato un nuovo progetto ma sempre basato sulla medesima idea di rete di informazioni. Sono inoltre passato ad una programmazione completamente ad oggetti per poter ampliare/modificare/gestire meglio questo mostro meccanico che sto tirando su...

Le volte precedenti avevo trascurato (per semplicità) un elemento fondamentale di tutto questo carrozzone, ossia l'ambiguità di determinate parole (e frasi) e la relativa disambiguazione che spero di risolvere in questa nuova versione combinando due sistemi.
Il primo, più esplicito, prevede la definizione di uno o più contesti per una determinata parola, mentre il secondo prevede la determinazione del contesto in base ad uno o più pattern di utilizzo all'interno delle frasi.
Il contesto potrà essere quindi definito analizzando la frase in cui la parola appare (estraendo un pattern di utilizzo e memorizzandolo) e/o incrociandolo con i contesti definiti esplicitamente (o ricavati da altre analisi del testo).

Sono ancora in fase di progettazione delle struture che dovranno smazzarsi tutta questa bella roba e volevo esporre quello che ho fatto per poterne discutere :P mi piacerebbe che oltre che essere utilizzabile sia anche semplice da gestire,

Tutto si basa su una classe che ho chiamato knowledge_base che per adesso presenta i seguenti metodi:

Codice: [Seleziona]
DICHIARAZIONE DI UNA NUOVA KNOLEDGE_BASE
local kb = knowledge_base()

SALVATAGGIO DELLA KNOLEDGE_BASE
kb:save(filename)

CARICAMENTO DI UNA KNOLEDGE_BASE SALVATA
kb:load(filename)

Internamente una knowledge_base non è altro che una tabella con la seguente struttura:
Codice: [Seleziona]
kb =
{
   db =
   {
      words = { }
   }
}

Tutte le parole, indistintamente, saranno memorizzate nella sottotabella words indicizzata a più livelli con il seguente schema:
Codice: [Seleziona]
-- scorciatoia alla tabella words
local words = knowledge_base.db.words

words[iParola][iContesto][iTipo] = RecordDettagli

Dove:
  • iParola -> Indice stringa che rappresenta la parola da memorizzare (per avere un accesso diretto durante le ricerche)
  • iContesto -> Indice stringa che rappresenta il contesto in cui la parola è utilizzata
  • iTipo -> Indice stringa che rappresenta il tipo di parola in oggetto (verbo, nome, aggettivo, pronome, ecc...)

RecordDettaglio è un oggetto che descrive l'informazione della parola e varia a seconda del tipo di parola, per adesso sto lavorando ai nomi e questo è una bozza dell'oggetto <noun> che andrò ad implementare:

Codice: [Seleziona]
-- DETTAGLIO PER I NOMI
RecordDettaglio =
{
    sex =
   {  -- definizione del 'sesso' della parola, <true> è impostato in corrispondenza della forma
      -- corrente della parola, <false> viene usato se una forma non esiste, <noun> è una
      -- stringa che rimanda al nome nella forma corrispondente.
      smale = true | false | noun,
      sfemale = true | false | noun,
      pmale = true | false | noun,
      pfemale = true | false | noun
   },

   -- tabella contenente una serie di oggetti synonym (sinonimi)
   synonyms = {}, 

   -- tabella di oggetti opposite (contrari)
   opposites = {},

   -- tabella dei proprietari (non saprei come definirlo, sono ignurante :) ), partOf
   -- ossia di tutti i nomi di cui fa parte (es.: ruota -> partOf -> automobile, camion, motorino, ...)
   partOf = {},

   -- tabella delle parti (owners), ossia contiene tutte le parti che lo compongono
   -- (es.: automobile -> owns -> ruota, sedile, volante, ...), terrà conto anche della quantità compresi
   -- valori indefiniti (molto, poco, alcuni, ecc...)
   owners = {},

   -- tabella dei gruppi (memberOf), contiene i gruppi di cui fa parte la parola
   -- (es.: gatto -> memberOf -> mammiferi, felini, ... )
   membersOf = {},

   -- tabella dei membri di un gruppo rappresentato dalla parola
   -- (es.: mammifero -> groups -> gatto, delfino, cane, ...)
   groups = {},

   -- tabella delle proprietà (aggettivi) tipiche di questo nome
   -- (es.: cane -> properties -> peloso, domestico, ecc...)
   properties = {},

   -- tabella degli stati tipici di questo nome
   -- (** da sviluppare **)
   states = {},

   -- tabella delle locazioni tipici per questo nome
   -- (es.: sardina -> locations -> mare, oceano, ...), saranno previste modalità per memorizzare
   -- luoghi indefiniti.
   locations = {},

   -- tabella dei tempi associabili a questo nome
   -- (** da sviluppare **)
   timings = {},

   -- tabella delle azioni tipiche associabili al nome
   -- sono distinte in azioni passive e attive.
   -- (es.: Il pesce nuota = pesce -> active-action -> nuotare,
   -- (Il pesce viene pescato = pesce -> passive-action -> pescare)
   actions =
   {
      active = {},
      passive = {}
   },

   -- patterns di frasi tipiche utilizzate con il nome in oggetto.
   -- Esisteranno dei pattern generici per i nomi, ma questi qua
   -- dovrebbero servire ad aiutare con utilizzi figurati e frasi tipo:
   -- parola = fiasco -> Ho fatto fiasco -> pattern = [SUBJECT][VERB]fiasco
   -- che in realtà significa 'ho fallito'.
   -- ** per ora è solo un'idea da sviluppare **
   patterns = {}
}

Un nome si aggiunge alla knowledge_base con:
Codice: [Seleziona]
kb:noun(name, context, data)

Rimane in atto il meccanismo della forza dei link delle relazioni, e dell'indebolimento automatico delle relazioni inverse. In questo modo, dopo aver inserito una certa quantità di informazioni, dovrei avere un buon grado di verità anche in presenza di informazioni singole errate.

Per ora stop. Ditemi pure che sono pazzo :P

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Analisi (e interpretazione) testuale?
« Risposta #8 il: 05 Agosto 2013, 17:44:37 »
Dovresti provare con Python 2.7. Io il 3 per adesso non lo uso, proprio perché ci sono problemi di compatibilità con vecchi package/moduli.

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #9 il: 05 Agosto 2013, 19:12:29 »
Sicuramente ci proverò per approfondire l'argomento :)

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #10 il: 27 Ottobre 2015, 17:56:13 »
Riesumo questo thread perchè ho rimesso mano a questo progetto, chissà se riuscirò a fare esplodere la CPU a forza di strutture ricorsive :P
Comunque sono riuscito a generalizzare ancora di più quella specie di rete che vorrei creare tra parole/parole parole/azioni (passive/attive), appena rimetto in piedi il baraccone posto qualche pezzo di codice :P

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #11 il: 27 Ottobre 2015, 18:43:59 »
Ad essere sincero non ho mai indagato l'implementazione di Eliza perchè ho la strana sensazione di sbirciargli tra le mutande di nascosto (Otaku-like), mi sono sempre divertito a mettere in difficoltà l'algoritmo che comunque, per quanto limitato, lascia sempre un po' perplessi :)

Chatbot list -> http://nlp-addiction.com/chatbot/

Ho provato Chato, l'ultimo della lista, sembra interessante :)

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #12 il: 29 Ottobre 2015, 21:31:38 »
Ho ripreso in mano quell'idea della rete di parole che avevo abbozzato tempo fa, il tempo ha portato nuovi consigli ed ho ottimizzato le strutture (ma non il codice  ::))

Per adesso gestisco la rete di sinonimi e contrari e le varie relazioni che esistono tra loro.
Un breve test che ho fatto (in numerelli fra parentesi rappresentano la verità della relazione 0=neutro, <1=falso, >1=vero):
- Creazione delle parole : veloce, rapido, agile, scattante
- Creazione delle seguenti relazioni :
-- veloce sinonimo di rapido
-- rapido sinonimo di agile
-- scattante sinonimo di veloce
Risultato: tutte e 4 le parole sono risultate sinonimi delle altre 3

Passo successivo:
- Creazione delle parole : lento, pigro, calmo, svogliato
- Creazione delle seguenti relazioni :
-- lento sinonimo di pigro
-- lento sinonimo di calmo
-- lento sinonimo di svogliato
Risultato: tutte e 4 le parole sono risultate sinonimi delle altre 3 (come sopra logicamente)

- Creazione della relazione :
-- lento è contrario di veloce
Risultato : tutte le relazioni interdipendenti aggiornate (sinonimi e contrari)

- Creazione della parola svelto
- Creazione della relazione :
-- svelto è sinonimo di rapido
Risultato : tutte le relazioni interdipendenti aggiornate (sinonimi e contrari)

Ho trovato un megascoglio quando ho dovuto cercare ricorsivamente i contrari dei contrari... dopo due ore ho capito che dovevo prenderne uno si e uno no perchè il contrario del contrario è un sinonimo  ::)

Log del test:
Codice: [Seleziona]
************************
*** TEST: Word Class ***
************************
PARTE 1 : Creazione delle seguenti parole:
- veloce, rapido, agile, scattante
------------------------
000088 +-+-[WORD]:New()
000090   | Word correctly created : veloce
000092 +-+-[WORD]:New()
000096   | Word correctly created : rapido
000097 +-+-[WORD]:New()
000099   | Word correctly created : agile
000100 +-+-[WORD]:New()
000102   | Word correctly created : scattante

PARTE 2 : Creazione relazioni tra sinonimi:

Creazione relazioni tra sinonimi...
- veloce sinonimo di rapido
- rapido sinonimo di agile
- scattante sinonimo di veloce
000105 +-+-[WORD]:Synonym() -> 'rapido' synonym of 'veloce'
000107   | :: PROPAGATION ::
000108   | (1) ENTITY is synonym of all SYNONYM synonyms
000109   | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000110   | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000111   | (4) ENTITY's synonyms are synonym of SYNONYM
000112   | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000114   | (6) ENTITY is opposite of all SYNONYM's opposites
000115   | (7) ENTITY's opposites are opposite of SYNONYM
000115   | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000117   | Propagated to 0 entities.
000117   | :: STRAIGHT RELATION ::
000118   | Synonym link between 'veloce' and 'rapido' created.
000119   | :: INVERSE RELATION ::
000120   +-+-[WORD]:Synonym() -> 'veloce' synonym of 'rapido'
000122      | :: PROPAGATION ::
000123      | (1) ENTITY is synonym of all SYNONYM synonyms
000124      +-+-[WORD]:Synonym() -> 'rapido' synonym of 'rapido'
000126         | WARNING [WORD] Cannot link a word with itself.
000129      | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000130      | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000131      | (4) ENTITY's synonyms are synonym of SYNONYM
000132      | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000132      | (6) ENTITY is opposite of all SYNONYM's opposites
000133      | (7) ENTITY's opposites are opposite of SYNONYM
000134      | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000135      | Propagated to 0 entities.
000136      | :: STRAIGHT RELATION ::
000137      | Synonym link between 'rapido' and 'veloce' created.
000139 +-+-[WORD]:Synonym() -> 'agile' synonym of 'rapido'
000141   | :: PROPAGATION ::
000142   | (1) ENTITY is synonym of all SYNONYM synonyms
000148   | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000149   | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000151   | (4) ENTITY's synonyms are synonym of SYNONYM
000152   +-+-[WORD]:Synonym() -> 'agile' synonym of 'veloce'
000154      | :: STRAIGHT RELATION ::
000155      | Synonym link between 'veloce' and 'agile' created.
000157      | :: INVERSE RELATION ::
000158      +-+-[WORD]:Synonym() -> 'veloce' synonym of 'agile'
000160         | :: STRAIGHT RELATION ::
000162         | Synonym link between 'agile' and 'veloce' created.
000164   | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000165   | (6) ENTITY is opposite of all SYNONYM's opposites
000166   | (7) ENTITY's opposites are opposite of SYNONYM
000168   | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000171   | Propagated to 1 entities.
000172   | :: STRAIGHT RELATION ::
000174   | Synonym link between 'rapido' and 'agile' created.
000175   | :: INVERSE RELATION ::
000176   +-+-[WORD]:Synonym() -> 'rapido' synonym of 'agile'
000178      | :: PROPAGATION ::
000180      | (1) ENTITY is synonym of all SYNONYM synonyms
000181      +-+-[WORD]:Synonym() -> 'agile' synonym of 'agile'
000184         | WARNING [WORD] Cannot link a word with itself.
000188      +-+-[WORD]:Synonym() -> 'veloce' synonym of 'agile'
000190         | :: STRAIGHT RELATION ::
000191         | Synonym 'veloce' already linked, No Strenght change.
000192      | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000194      +-+-[WORD]:Synonym() -> 'agile' synonym of 'veloce'
000196         | :: STRAIGHT RELATION ::
000197         | Synonym 'agile' already linked, No Strenght change.
000199      +-+-[WORD]:Synonym() -> 'veloce' synonym of 'veloce'
000201         | WARNING [WORD] Cannot link a word with itself.
000205      +-+-[WORD]:Synonym() -> 'agile' synonym of 'rapido'
000207         | :: STRAIGHT RELATION ::
000208         | Synonym 'agile' already linked, No Strenght change.
000210      +-+-[WORD]:Synonym() -> 'veloce' synonym of 'rapido'
000212         | :: STRAIGHT RELATION ::
000213         | Synonym 'veloce' already linked, No Strenght change.
000214      | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000216      | (4) ENTITY's synonyms are synonym of SYNONYM
000217      +-+-[WORD]:Synonym() -> 'rapido' synonym of 'veloce'
000221         | :: STRAIGHT RELATION ::
000222         | Synonym 'rapido' already linked, No Strenght change.
000223      +-+-[WORD]:Synonym() -> 'rapido' synonym of 'rapido'
000225         | WARNING [WORD] Cannot link a word with itself.
000229      | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000231      | (6) ENTITY is opposite of all SYNONYM's opposites
000232      | (7) ENTITY's opposites are opposite of SYNONYM
000233      | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000234      | Propagated to 5 entities.
000236      | :: STRAIGHT RELATION ::
000238      | Synonym link between 'agile' and 'rapido' created.
000239 +-+-[WORD]:Synonym() -> 'veloce' synonym of 'scattante'
000241   | :: PROPAGATION ::
000242   | (1) ENTITY is synonym of all SYNONYM synonyms

---8<-------------------
cutted
---8<-------------------

VERIFICA PARTE 2
Recupero dei sinonimi delle parole create
RELATION 'synonyms' OF veloce
 agile (1)
 scattante (1)
 rapido (1)
RELATION 'synonyms' OF rapido
 agile (1)
 scattante (1)
 veloce (1)
RELATION 'synonyms' OF agile
 rapido (1)
 scattante (1)
 veloce (1)
RELATION 'synonyms' OF scattante
 agile (1)
 veloce (1)
 rapido (1)

PARTE 3 : Creazione delle seguenti parole:
- lento, pigro, calmo, svogliato
000515 +-+-[WORD]:New()
000517   | Word correctly created : lento
000519 +-+-[WORD]:New()
000521   | Word correctly created : pigro
000522 +-+-[WORD]:New()
000524   | Word correctly created : calmo
000525 +-+-[WORD]:New()
000528   | Word correctly created : svogliato

Creazione relazioni tra sinonimi...
- lento sinonimo di pigro
- lento sinonimo di calmo
- lento sinonimo di svogliato
000535 +-+-[WORD]:Synonym() -> 'pigro' synonym of 'lento'
000537   | :: PROPAGATION ::
000538   | (1) ENTITY is synonym of all SYNONYM synonyms
000539   | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000541   | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000542   | (4) ENTITY's synonyms are synonym of SYNONYM
000543   | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000544   | (6) ENTITY is opposite of all SYNONYM's opposites
000546   | (7) ENTITY's opposites are opposite of SYNONYM
000547   | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000548   | Propagated to 0 entities.
000549   | :: STRAIGHT RELATION ::
000550   | Synonym link between 'lento' and 'pigro' created.
000551   | :: INVERSE RELATION ::
000553   +-+-[WORD]:Synonym() -> 'lento' synonym of 'pigro'
000555      | :: PROPAGATION ::
000556      | (1) ENTITY is synonym of all SYNONYM synonyms
000557      +-+-[WORD]:Synonym() -> 'pigro' synonym of 'pigro'
000560         | WARNING [WORD] Cannot link a word with itself.
000565      | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
000566      | (3) ENTITY's opposites are opposites of all SYNONYM's synonyms
000567      | (4) ENTITY's synonyms are synonym of SYNONYM
000568      | (5) ENTITY's synonyms are opposites of all SYNONYM's opposites
000569      | (6) ENTITY is opposite of all SYNONYM's opposites
000570      | (7) ENTITY's opposites are opposite of SYNONYM
000572      | (8) ENTITY's opposites are synonyms of SYNONYM's opposites
000573      | Propagated to 0 entities.
000574      | :: STRAIGHT RELATION ::
000576      | Synonym link between 'pigro' and 'lento' created.
000577 +-+-[WORD]:Synonym() -> 'calmo' synonym of 'lento'
000579   | :: PROPAGATION ::
000580   | (1) ENTITY is synonym of all SYNONYM synonyms

---8<-----------
cutted
---8<-----------

Recupero dei sinonimi delle parole create
RELATION 'synonyms' OF lento
 calmo (1)
 svogliato (1)
 pigro (1)
RELATION 'synonyms' OF pigro
 calmo (1)
 svogliato (1)
 lento (1)
RELATION 'synonyms' OF calmo
 lento (1)
 svogliato (1)
 pigro (1)
RELATION 'synonyms' OF svogliato
 pigro (1)
 lento (1)
 calmo (1)

Creazione relazioni tra contrari...
lento contrario di veloce
000892 +-+-[WORD]:Opposite() -> 'veloce' opposite of 'lento'
000896   | :: PROPAGATION ::
000897   | (1) ENTITY is opposite of all OPPOSITE's synonyms
000898   +-+-[WORD]:Opposite() -> 'scattante' opposite of 'lento'
000900      | :: STRAIGHT RELATION ::
000902      | WARNING [WORD] Opposite link between 'lento' and 'scattante' created.
000907      | :: REVERSE RELATION ::
000908      +-+-[WORD]:Opposite() -> 'lento' opposite of 'scattante'
000912         | :: STRAIGHT RELATION ::
000914         | WARNING [WORD] Opposite link between 'scattante' and 'lento' created.
000921   +-+-[WORD]:Opposite() -> 'agile' opposite of 'lento'
000924      | :: STRAIGHT RELATION ::
000925      | WARNING [WORD] Opposite link between 'lento' and 'agile' created.
000932      | :: REVERSE RELATION ::
000933      +-+-[WORD]:Opposite() -> 'lento' opposite of 'agile'
000936         | :: STRAIGHT RELATION ::
000937         | WARNING [WORD] Opposite link between 'agile' and 'lento' created.
000942   +-+-[WORD]:Opposite() -> 'rapido' opposite of 'lento'
000946      | :: STRAIGHT RELATION ::
000948      | WARNING [WORD] Opposite link between 'lento' and 'rapido' created.
000954      | :: REVERSE RELATION ::
000955      +-+-[WORD]:Opposite() -> 'lento' opposite of 'rapido'
000957         | :: STRAIGHT RELATION ::
000959         | WARNING [WORD] Opposite link between 'rapido' and 'lento' created.
000965   | (2) ENTITY's synonyms are opposite of OPPOSITE's synonyms
000967   +-+-[WORD]:Opposite() -> 'scattante' opposite of 'svogliato'
000970      | :: STRAIGHT RELATION ::
000971      | WARNING [WORD] Opposite link between 'svogliato' and 'scattante' created.
000976      | :: REVERSE RELATION ::
000977      +-+-[WORD]:Opposite() -> 'svogliato' opposite of 'scattante'
000980         | :: STRAIGHT RELATION ::
000981         | WARNING [WORD] Opposite link between 'scattante' and 'svogliato' created.
000989   +-+-[WORD]:Opposite() -> 'agile' opposite of 'svogliato'
000993      | :: STRAIGHT RELATION ::
000995      | WARNING [WORD] Opposite link between 'svogliato' and 'agile' created.
000999      | :: REVERSE RELATION ::
001000      +-+-[WORD]:Opposite() -> 'svogliato' opposite of 'agile'
001003         | :: STRAIGHT RELATION ::
001004         | WARNING [WORD] Opposite link between 'agile' and 'svogliato' created.
001010   +-+-[WORD]:Opposite() -> 'rapido' opposite of 'svogliato'
001012      | :: STRAIGHT RELATION ::
001014      | WARNING [WORD] Opposite link between 'svogliato' and 'rapido' created.
001019      | :: REVERSE RELATION ::
001020      +-+-[WORD]:Opposite() -> 'svogliato' opposite of 'rapido'
001023         | :: STRAIGHT RELATION ::
001024         | WARNING [WORD] Opposite link between 'rapido' and 'svogliato' created.
001030   +-+-[WORD]:Opposite() -> 'scattante' opposite of 'calmo'
001032      | :: STRAIGHT RELATION ::
001034      | WARNING [WORD] Opposite link between 'calmo' and 'scattante' created.
001039      | :: REVERSE RELATION ::
001040      +-+-[WORD]:Opposite() -> 'calmo' opposite of 'scattante'
001042         | :: STRAIGHT RELATION ::
001044         | WARNING [WORD] Opposite link between 'scattante' and 'calmo' created.
001049   +-+-[WORD]:Opposite() -> 'agile' opposite of 'calmo'
001051      | :: STRAIGHT RELATION ::
001052      | WARNING [WORD] Opposite link between 'calmo' and 'agile' created.
001057      | :: REVERSE RELATION ::
001058      +-+-[WORD]:Opposite() -> 'calmo' opposite of 'agile'
001061         | :: STRAIGHT RELATION ::
001062         | WARNING [WORD] Opposite link between 'agile' and 'calmo' created.
001068   +-+-[WORD]:Opposite() -> 'rapido' opposite of 'calmo'
001070      | :: STRAIGHT RELATION ::
001071      | WARNING [WORD] Opposite link between 'calmo' and 'rapido' created.
001077      | :: REVERSE RELATION ::
001078      +-+-[WORD]:Opposite() -> 'calmo' opposite of 'rapido'
001080         | :: STRAIGHT RELATION ::
001082         | WARNING [WORD] Opposite link between 'rapido' and 'calmo' created.
001088   +-+-[WORD]:Opposite() -> 'scattante' opposite of 'pigro'
001090      | :: STRAIGHT RELATION ::
001091      | WARNING [WORD] Opposite link between 'pigro' and 'scattante' created.
001096      | :: REVERSE RELATION ::
001098      +-+-[WORD]:Opposite() -> 'pigro' opposite of 'scattante'
001100         | :: STRAIGHT RELATION ::
001102         | WARNING [WORD] Opposite link between 'scattante' and 'pigro' created.
001108   +-+-[WORD]:Opposite() -> 'agile' opposite of 'pigro'
001110      | :: STRAIGHT RELATION ::
001111      | WARNING [WORD] Opposite link between 'pigro' and 'agile' created.
001116      | :: REVERSE RELATION ::
001117      +-+-[WORD]:Opposite() -> 'pigro' opposite of 'agile'
001119         | :: STRAIGHT RELATION ::
001121         | WARNING [WORD] Opposite link between 'agile' and 'pigro' created.
001126   +-+-[WORD]:Opposite() -> 'rapido' opposite of 'pigro'
001129      | :: STRAIGHT RELATION ::
001130      | WARNING [WORD] Opposite link between 'pigro' and 'rapido' created.
001135      | :: REVERSE RELATION ::
001136      +-+-[WORD]:Opposite() -> 'pigro' opposite of 'rapido'
001139         | :: STRAIGHT RELATION ::
001140         | WARNING [WORD] Opposite link between 'rapido' and 'pigro' created.
001146   | (3) ENTITY's opposites are synonyms of OPPOSITE's synonyms
001148   +-+-[WORD]:Synonym() -> 'scattante' synonym of 'scattante'
001150      | WARNING [WORD] Cannot link a word with itself.
001153   +-+-[WORD]:Synonym() -> 'agile' synonym of 'scattante'
001155      | :: STRAIGHT RELATION ::

---8<-------------
cutted
---8<-------------

Recupero dei contrari delle parole create
RELATION 'opposites' OF lento
 agile (1)
 rapido (1)
 veloce (1)
 scattante (1)
RELATION 'opposites' OF pigro
 agile (1)
 rapido (1)
 veloce (1)
 scattante (1)
RELATION 'opposites' OF calmo
 agile (1)
 rapido (1)
 veloce (1)
 scattante (1)
RELATION 'opposites' OF svogliato
 agile (1)
 rapido (1)
 veloce (1)
 scattante (1)
RELATION 'opposites' OF veloce
 calmo (1)
 pigro (1)
 lento (1)
 svogliato (1)
RELATION 'opposites' OF rapido
 svogliato (1)
 calmo (1)
 pigro (1)
 lento (1)
RELATION 'opposites' OF agile
 svogliato (1)
 calmo (1)
 pigro (1)
 lento (1)
RELATION 'opposites' OF scattante
 svogliato (1)
 calmo (1)
 pigro (1)
 lento (1)

Creo la parola 'svelto'
002131 +-+-[WORD]:New()
002133   | Word correctly created : svelto

'svelto' sinonimo di 'rapido'
002136 +-+-[WORD]:Synonym() -> 'rapido' synonym of 'svelto'
002139   | :: PROPAGATION ::
002140   | (1) ENTITY is synonym of all SYNONYM synonyms
002141   +-+-[WORD]:Synonym() -> 'scattante' synonym of 'svelto'
002144      | :: STRAIGHT RELATION ::
002145      | Synonym link between 'svelto' and 'scattante' created.
002146      | :: INVERSE RELATION ::
002148      +-+-[WORD]:Synonym() -> 'svelto' synonym of 'scattante'
002150         | :: STRAIGHT RELATION ::
002151         | Synonym link between 'scattante' and 'svelto' created.
002153   +-+-[WORD]:Synonym() -> 'agile' synonym of 'svelto'
002155      | :: STRAIGHT RELATION ::
002156      | Synonym link between 'svelto' and 'agile' created.
002157      | :: INVERSE RELATION ::
002158      +-+-[WORD]:Synonym() -> 'svelto' synonym of 'agile'
002161         | :: STRAIGHT RELATION ::
002162         | Synonym link between 'agile' and 'svelto' created.
002164   +-+-[WORD]:Synonym() -> 'veloce' synonym of 'svelto'
002167      | :: STRAIGHT RELATION ::
002168      | Synonym link between 'svelto' and 'veloce' created.
002169      | :: INVERSE RELATION ::
002170      +-+-[WORD]:Synonym() -> 'svelto' synonym of 'veloce'
002172         | :: STRAIGHT RELATION ::
002174         | Synonym link between 'veloce' and 'svelto' created.
002175   | (2) ENTITY's synonyms are synonyms of all SYNONYM's synonyms
002177   +-+-[WORD]:Synonym() -> 'scattante' synonym of 'scattante'
002179      | WARNING [WORD] Cannot link a word with itself.
002184   +-+-[WORD]:Synonym() -> 'agile' synonym of 'scattante'
002186      | :: STRAIGHT RELATION ::
002187      | Synonym 'agile' already linked, No Strenght change.
002188      | :: INVERSE RELATION ::

---8<---------
cutted
---8<---------

VERIFICA
RELATION 'synonyms' OF svelto
 agile (1)
 veloce (1)
 rapido (1)
 scattante (1)
RELATION 'opposites' OF svelto
 calmo (1)
 pigro (1)
 svogliato (1)
 lento (1)

Waiting...

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Analisi (e interpretazione) testuale?
« Risposta #13 il: 30 Ottobre 2015, 07:54:08 »
Le relazioni che o preso in considerazione e che vengono sviluppate oltre a quella diretta "A sinonimo di B" e "A è contrario di B" sono:

SINONIMI (A è sinonimo di B)
1 : A è sinonimo di tutti i sinonimi di B
2 : I sinonimi di A sono sinonimi di tutti i sinonimi di B
3 : I contrari di A sono contrari di tutti i sinonimi di B
4 : I sinonimi di A sono sinonimi di B
5 : I sinonimi di A sono contrari dei contrari di B
6 : A è contrario dei contrari di B
7 : I contrari di A sono contrari di B
8 : I contrari di A sono sinonimi dei contrari di B

CONTRARI (A è contrario di B)
1 : A è contrario di tutti i sinonimi di B
2 : I sinonimi di A sono contrari di tutti i sinonimi di B
3 : I contrari di A sono sinonimi dei sinonimi di B
4 : I sinonimi di A sono contrari di B
5 : I sinonimi di A sono sinonimi dei contrari di B
6 : A è sinonimo dei contrari di B
7 : I contrari di A sono sinonimi di B
8 : I contrari di A sono contrari dei contrari di B

Tutti i sinonimi e contrari di A e B sono individuati attraverso una ricerca ricorsiva che analizza tutte le relazioni in essere in quel momento.
Anche le relazioni vengono prese in considerazione e sviluppate.

Prossimo step
Sviluppare le relazioni "è membro di" e "contiene" inteso come raggruppamento teorico, ad esempio:
Codice: [Seleziona]
- delfino [è membro di] mammifero   -> mammifero [contiene] delfino
- mammifero [è membro di] animale   -> animale [contiene] delfino
Questo tipo di relazione genera una struttura ad albero che sarà molto divertente da implementare/analizzare/recuperare :)


Tags: