- Home
- Categorie
- La Community Connect.gt
- Intelligenza Artificiale
- L'intelligenza Artificiale come potrebbe migliorare i motori di ricerca?
-
@agoago said:
Sistemi come Clusterizer o Kea...
Ciao Ago ,
puoi fornirci maggiori info su Kea?[edit]
..ops, eccolo (non lo conoscevo). Thanks
[/edit]
-
Kea e' un progetto pubblico e libero (come i sorgenti) dell'universita' di Waikato. Kea e Weka sono opera del dott. F. Eibe con l'aiuto per la parte di indicizzazione delle keyphrase di una sua studentessa che ha ricevuto la borsa di studio da... Google
Ho integrato Kea in un mio progetto piu' ampio (del quale parlero' in modo approfondito questa estate), ho creato un mio modello basato sull'analisi dei testi di tutta Wikipedia, e lo uso per decidere con che keylink lincare le pagine interne.
Ho anche ampliato l'elenco delle stopkey originarie di Kea, ma premetto che su windows ho seri problemi di memoria in quanto java non mi vede-usa oltre 1,5 giga di ram.
Purtroppo il problema dei limiti "hardware", il problema dei tempi di lettura ed analisi dei testi, sono il vero dramma in questo genere di studi-lavori.
Faccio un esempio banale.
Se per analizzare-valutare 1 mega di testo ci si impiegasse 1 secondo, per un testo da 10 mega ci potrebbe volere 1 minuto, 100 mega un ora... immaginiamo processare un tera di materiale!Per capirci, si pensi solo alle catene di Marcov.
Un conto se devo scegliere per procedere tra 5 parole, un conto tra 60.000 potabili.
Prendo a caso o analizzo quale siano le migliori tra quelle 60.000?
Ma le migliori sono quelle che hanno maggior frequenza (rispetto al testo precedente) o quelle che hanno un senso logico rispetto al pezzo di testo?Se avessi:
casa rossa
potrei scegliere poi:
bandiera
questo se mi basassi solo su rossa come parola da analizzare per decidere come proseguire, ma se lavorassi su "casa rossa" invece che solo su "rossa" non sceglierei bandiera.
Ma anche 2 parole possono non bastare, allora diciamo che lavoriamo su 4.
Ecco che allora prendo:la bella casa rossa
e vedo cosa c'e' normalmente dopo, potrei dover scegliere tra:
affittasi
,
e
nel
bruciata
etcma siamo da capo.
Anche se nel 90% dei casi "affittasi" seguisse "la bella casa rossa" non avrebbe senso privilegiarla, perche' se la frase fosse lunga potrei preferire la "," se la frase parla di pompieri allora seglierei "bruciata" e via discorrendo.
Per capire di cosa parla la frase dovro' tenere conto del significato di ogni parola, dei sinonimi, dovro' contare aggettivi, congiunzioni, nomi (e quanto altro) per sapere se dopo "la bella casa rossa" sia meglio mettere un aggettivo, un verbo, un articolo o magari chiudere la frase con un punto.
Se un verbo prima era al passato dovro' privilegiare quel tempo...Diventa dura frase per frase, immaginiamoci per un documento nel suo complesso.
Per questi motivi purtoppo, anche i migliori programmi disponibili sul web, spesso (praticamente sempre) possono essere utilizzati o a fini di studio o per analisi magari profondissime ma su piccole porzioni di testo.
In caso di grossi volumi ecco che bisogna spezzare i corpus, dividerli in 100 modi, per grammatica, per alfabeto, per peso, per logica, per tema, per sinonimi, per lunghezza frasi, per numero parole, per lingue, per unicode, per anzianita', (che me ne faccio a fini pratici di un corpus basato sulla Bibbia?) etc etc.
E cosi' i giga diventono tera...
Poi riprovi il tutto nuovamente ma ottieni le solite risposte: out of memory, out of patience, out of your time life limit... da piangere.
-
@agoago said:
In caso di grossi volumi ecco che bisogna spezzare i corpus, dividerli in 100 modi, per grammatica, per alfabeto, per peso, per logica, per tema, per sinonimi, per lunghezza frasi, per numero parole, per lingue, per unicode, per anzianita', (che me ne faccio a fini pratici di un corpus basato sulla Bibbia?) etc etc.
E cosi' i giga diventono tera...
Poi riprovi il tutto nuovamente ma ottieni le solite risposte: out of memory, out of patience, out of your time life limit... da piangere.
E già ... questo è un tipico problema in cui si dovrebbero utilizzare applicazioni distribuite in ambito parallelo o "parallel computing"
-
@paocavo said:
L?IA è una disciplina che studia i fondamenti teorici, le metodologie e le tecniche che permettono di concepire, progettare, realizzare, sperimentare ed utilizzare sistemi artificiali sia simulati via software che implementati in hardware con gli obiettivi di ottenere prestazioni ritenute caratteristiche dell?intelligenza e di fornire modelli computazionali di processi cognitivi.
Fonte: http://ia.di.uniba.it/***Applicazioni principali
*Attualmente questi sono i principali algoritmi dell'intelligenza artificiale:
*Rappresentazione della conoscenza
Apprendimento automatico (Machine Learning)
Apprendimento non supervisionato
Clustering
Regole di associazione
Apprendimento supervisionato
Albero di decisione
Regole di decisione
Sistemi Esperti
Apprendimento per rinforzo
Reti neurali
Algoritmi genetici o evolutivi
Sistemi a classificatori
Programmazione Logica Induttiva (ILP)
Visual retrieval
Visione artificiale
Problema di soddisfacimento di vincoli *
Fonte: http://it.wikipedia.org/wiki/Intelligenza_artificiale#Applicazioni_principaliLa popolarità di un sito è solo uno di tanti e tanti fattori considerati dai MDR.
Anche se è uno di quelli preponderanti (perche un sito autorevole dovrebbe linkare un sito "fasullo"?)Bella domanda!
Per rispondere si potrebbe scrivere un libro (e forse tu lo stai già facendo... no? tesi? )
Adesso vado a cenare, a presto...Ciao Paolo, scusa il ritardo ma non avevo visto la tua risposta...
Non sto scrivendo una tesi perche sono iscritto a Fisica (anche se fuori corso:D) comunque è un argomento di grande interesse e sto creando una piccola azienda che vorrebbe creare un suo "motore personale" rivolto sopratutto alle aziende. Ho lavorato nel campo del web marketing per 1 anno e ho verificato che l'unica cosa che funziona bene come ritorno degli investimenti è proprio la pubblicità sui motori di ricerca, sia come vendite che come immagine del marchio. Quindi ho pensato di creare un motore personale che includa algoritmi di AI per fare meglio il proprio lavoro. L'AI(forse per i Film) è vista come qualcosa di irraggiungibile...però il tuo algoritmo è già una prova che qualcosa si può fare (e non è poco). Comunque sono solo in fase di partenza e la strada sarà molto lunga e difficile e non è detto che il risultato finale sia accettabile, però fino a quando uno non prova non si puo dire:D.
Devo dire che la comunità di Giorgio Tave è davvero eccezionale, non vi conoscevo prima di trovarvi tramite internet, e non pensavo che in Italia ci fosse un livello di competenza cosi buono...complimenti a tutti;)
-
Paocavo scrive:
"E già ... questo è un tipico problema in cui si dovrebbero utilizzare applicazioni
distribuite in ambito parallelo o "parallel computing""Ho seguito il link e letto un po' la documentazione.
L'unica parola (di tutto) che ho capito' e' "parallelo".
Credo sinceramente che sia oltre le mie capacita'.Ma almeno adesso so perche' riscontro questi limiti!
-
[LEFT]agoago[/LEFT]
il problema delle tue risorse lo risolvi appena ( spero che il suo avvento non tardi ) il sistema globus farà il suo ingresso sulla rete.La potenza di calcolo che questo sistema offre è illimitata.
In parole povere hai presente come funziona il p2p?
Bene, li si sharano file ( di tutti i tipi mp3 avi rar ecc. ) con globus si sharano le risorse di sistema.
Siamo ancora agli albori, e ti posso dire che questo tipo di ricerca va lenta non tanto per la mancanza di menti geniali che la sviluppino, ma per i troppi interessi ( questo è un altro capitolo ).
Dobbiamo pazientare, con un amico abbiamo sviluppato un software molto simile al tuo ma con scopo differente, ci limita proprio la potenza di calcolo che abbiamo a disposizione.
Poi a lavoro ho incontrato un ingegnere 24 enne che stava preparando la sua tesi su [LEFT]globus e da li l' illuminazione, tutto il mio entusiasmo fu frenato quando mi disse che per ora
globus funge solo in lan e malamente, e che le ricerche vanno a rilento.E che lui insoddisfatto dal sistema ( no globus, ma dalla gente che lo circondava ) aveva lasciato il progetto che non li dava più stimoli.
[/LEFT]
-
Ago prima di pensare ai cluster proverei a riscrivere tutto il software in qualche linguaggio tipo c e strutturarlo per utilizzare basi di dati studiate ad-hoc (discorso già fatto 1000 volte)..
Spero che non ti basi su MySql per gestire tutti quei dati
-
uMoR il mio software scritto in c# ha piegato già 4 pc
-
Eh ma almeno il software sfrutta appieno la potenza di calcolo, se scrivi un programma in visual basic hai voglia..
-
siamo un tantino OT...
-
A proposito dell'interessante argomento di discussione, segnalo a tutti questo simpatico seminario in cui mi sono imbattuto...
http://video.google.com/videoplay?docid=-7704388615049492068
carino, vero?
-
@rocco_bruno said:
A proposito dell'interessante argomento di discussione, segnalo a tutti questo simpatico seminario in cui mi sono imbattuto...
http://video.google.com/videoplay?docid=-7704388615049492068
carino, vero?
Grazie Rocco Bruno, e' la cosa piu' interessante intelligente ed utile che, per merito della tua segnalazione, ho avuto la fortuna di leggere-vedere.
Purtroppo la qualita' del video in alcuni casi non mi permette di leggere bene i diagrammi mostrati nella conferenza, se qualcuno dei colleghi trovasse lo stesso video in qualita' migliore per favore lo segnali.
Comunque da vedere assolutamente, soprattutto per chi frequenta abitualmente questa sezione del forum, si parla di linguaggio naturale, di ontologia formale... etc fantastico!
-
Molto, molto interessante!!
Grazie rocco_bruno!!
-
Ho installato il programma che e' alla base del video in discussione:
Funziona bene, peccato ci siano poche relazioni "preimpostate", ma del resto il programma deve servire nell'intento per essere adattato alle necessita' personali dei vari utilizzatori, e non per fornire un prodotto pronto all'uso per tutti.
Di certo sara' un bel salto di qualita', una grande rivoluzione.
In poche parole oggi se cerco:
Cosa contiene la scatola
mi vengono presentate le pagine con dentro le parole scatola, cosa, contiene o contenere ecc ecc
In futuro invece potrei avere come risultati delle pagine che parlano di regali, di prodotti e cosi' via, pagine magari che non contengono (o sono lincate) con le parole scatola, cosa, contiene o contenere etc.
Se questo nuovo sistema fosse implementato in modo "pesante" di fatto stravolgerebbe molte serp, premiando probabilmente pagine ricche di contenuti, di "risposte", piuttosto che quelle pagine che ora sono premiate perche' propongono al loro interno prevalentemente i termini delle query, anzi a volte solo quelle...
Di certo, se e quando avverra' questa innovazione, potrebbe rivelarsi un problema per alcuni seo.
Oggi molti seo lavorano per societa' di posizionamento o per clienti che in genere chiedono-pretendono di vedere migliorare le proprie posizioni per un target di key ben precise.
Se il cliente chiede: cane pazzo, il seo inizia a controllare se e come e' scritto "cane pazzo" all'interno delle pagine del cliente.
E' un lavoro per alcuni versi complicato, ma per altri semplice.
Se un domani i seo scoprissero che per spingere cani pazzi doveno-dovrebbero scrivere contenuti su cosa mangiano i cani (impazziscono per il cibo?) sui metodi di allevamento (impazziscono perche' trattati male?) o sui comportamenti strani dei principali animali domestici ecco che il mestiere seo potrebbe diventare molto ma molto pesante.
Il grosso del compito, a quel punto, passarebbe in mano al wm, a chi crea il contenuto e non a chi lo ottimizza.
Da una parte corrisponderebbe anche alla fine di un certo vecchio stile di far spam, sarebbe un bel ripulisti, da un'altra non da meno penalizzerebbe fortemente chi ancora lavora con passione sulla lunghezza dei titoli, sugli h1 e cose del genere.
-
@agoago said:
Ho installato il programma che e' alla base del video in discussione:
Funziona bene, peccato ci siano poche relazioni "preimpostate", ma del resto il programma deve servire nell'intento per essere adattato alle necessita' personali dei vari utilizzatori, e non per fornire un prodotto pronto all'uso per tutti.
Ciao Ago!
hai già provato WordNet?
Inoltre OpenCyc, se non erro, si può interfacciare ed arricchire (semanticamente) con WordNet
-
"Se questo nuovo sistema fosse implementato in modo "pesante" di fatto stravolgerebbe molte serp, premiando probabilmente pagine ricche di contenuti, di "risposte", piuttosto che quelle pagine che ora sono premiate perche' propongono al loro interno prevalentemente i termini delle query, anzi a volte solo quelle..."
E' già cosi da tempo per quanto mi risulta.. Solo che nessun SEO l'ha capito ma i più si fossilizzano sulle chiave, in quanto nel mercato Italiano spesso si vende quello.
-
@uMoR said:
"Se questo nuovo sistema fosse implementato in modo "pesante" di fatto stravolgerebbe molte serp, premiando probabilmente pagine ricche di contenuti, di "risposte", piuttosto che quelle pagine che ora sono premiate perche' propongono al loro interno prevalentemente i termini delle query, anzi a volte solo quelle..."
E' già cosi da tempo per quanto mi risulta.. **Solo che nessun SEO **l'ha capito ma i più si fossilizzano sulle chiave, in quanto nel mercato Italiano spesso si vende quello.
Premesso che il SEO non è una cosa certa, tutto quello che si sa è che sicuramente Google premia pagine di risposta, quasi quasi Landing Page.
Ad esempio, leggesi thread sui Quality Rater, figura esistente in Italia dal 2004.
Mi risulta che ci siano parecchi SEO in Italia che creano siti proprio per quel motivo
Ai motori interessa che gli utenti trovino le risposte e con le landing si danno delle risposte. Tipo la storia del super trust di Wikipedia.
-
Paocavo scrive:
"hai già provato WordNet? "
L'ho scaricato l'anno scorso perche' ha gli archivi leggibili e mi sono serviti come base di lavoro. A parte questo non sono stato capace di sfruttarlo probabilmente come andrebbe fatto.
E' una fortuna ma soprattutto un segno di civilta' esemplare che moltissimo materiale sul web sia di libero e gratuito accesso, se nella vita reale fosse anche solo un pochino cosi' vivremmo tutti piu' felici e meno ignoranti.uMoR scrive:
"E' già cosi da tempo per quanto mi risulta.. Solo che nessun SEO l'ha capito ma i più si fossilizzano sulle chiave, in quanto nel mercato Italiano spesso si vende quello."
Giorgiotave aggiunge:
"Ai motori interessa che gli utenti trovino le risposte e con le landing si danno delle risposte."
uMoR ha il dono della sintesi, e in 2 righe riesce a comprimere 3 pagine di concetti. Sapendo cosa intendeva dire (per esteso) me ne faccio portavoce nonche' divulgatore.
Oggi (e da qualche tempo a questa parte) i motori tendono a calcolare-valutare sempre di piu' il "peso" di un sito piuttosto che il peso delle singole pagine che lo formano.
Pertanto non e' tanto importante che una pagina punti a dare risposta ad una data query ma che sia parte di un sito che tratti ampiamente dell'argomento richiamato dalla query stessa query.E' lo stesso concetto che c'e' alla base della teoria che gli accessi siano distribuiti pagina per pagina in base al valore globale del sito (suddiviso tra le varie pagine) e non in base al valore di ogni pagina a se stante.
Ammesso (ma ad oggi e' tutto da dimostrare che questa teoria sia valida) ed ipotizzato cio', non solo la landing page perde molto del suo classico valore se non inserita in un insieme di landing page che trattano in modo ampio ed approfondito un argomento, ma non bastesse, in base ai futuri intenti proposti nel video, non sara' cosi' facile approfondire un argomento semplicemente riportando nei testi le key principali (e parenti prossimi delle stesse) con contenuti "vicini".
Per capirci, per ridurre tutto con un discorso piu' semplicistico che semplice, se io volevo vendere "scarpe rosse con tacco spillo" prima potevo cimentarmi con una pagina che trattava ampiamente di scarpe rosse con tacco a spillo.
Poi (oggi) dovrei anche inserire quella pagina in un sito tipo scarpe.com che tratta ampiamente di scarpe ed eccessori, sito che dovrebbe contenere e valorizzare anche la mia landing page per "scarpe rosse con tacco spillo".
Ma con la futura introduzione del linguaggio naturale questo non bastera' piu'.
Il sito contenente la nostra landing page dovra' anche parlare del mal di schiena tipico di chi indossa le scarpe con i tacchi le prime volte, degli aspetti psicologici di chi si ritrova 10 cm piu' alto del solito, e via dicendo...
Argomenti che potrebbero non nominare-contenere le parole tacchi o scarpe, ma che sono naturalmente associati dalla mente umana al concetto di scarpe con i tacchi.
Pertanto, per un wm che conosce profondamente l'argomento del proprio sito nessun problema, dovra' ampliarlo un bel po' e question finita.
Ma per quei seo che sono abituati ad ottimizzare siti o a creare landing page usando le key principali e le loro derivate estrapolandole dai vari db di adwords, overture etc etc, ecco la vero ardua.
E' ardua ma non impossibile, perche' si sa l'inteligenza artificiale non la usano solo i motori (purtroppo per loro).
Ricapitoliamo, il problema e'-era scovare automaticamente "mal di schiena" partendo dalla key "scarpe con tacco".
O "mamma con bambino" partendo dalla key "persone felici".
Tramite i classici db non e' possibile, neanche scendendo in profondita' per ogni sotto key e relative associate. Tra mal di schiena e tacchi non c'e' nessuna relazione nei db delle key.
E' questo che mi ha bloccato mesi fa, ma poi la soluzione si e' palesata proprio grazie all'uso di programmi come quello di Paolo di clustering K-means, e disponendo di un archivio "mostruoso", archivio che si ottinene dalla catalogazione di milioni di pagine presenti sul web.
In questa maniera il programma identifichera' come parole vicine-importanti per chi tratta di mal di schiena anche la key scarpe con tacco, e poi il gioco e' fatto.
A volte bisogna fare dei passaggi intermedi, ma il principio e' lo stesso, si usano gli insiemi, il risultato non e' meraviglioso ma almeno e' un primo passo.
Conoscendolo, credo fosse questo che intendeva uMoR.
-
Si era quello che intendevo ago, grazie.
"Premesso che il SEO non è una cosa certa, tutto quello che si sa è che sicuramente Google premia pagine di risposta, quasi quasi Landing Page."
Non sono assolutamente d'accordo. Spesso si associa al motore di ricerca il cappello magico come se facesse cose stravaganti, algoritmi mai discussi, tecniche mai studiate.. In realtà i motori non fanno altro che prendere gli studi delle varie università e metterli insieme!
E' vero che nessuno conosce gli algoritmi di ranking dei motori, ma avere solide basi consente di capire le problematiche che devono affrontare gli stessi e soprattutto di capire le cose dal loro punto di vista. Si può stare a parlare per ore ed ore di quality rater, tag title, h1 e così via ma quanti hanno mai provato a spiderizzare il web e rendersi conto di come stanno veramente le cose?
Dopo aver studiato lo studiabile su:
information retrieval, natural language processing, clustering, metodi di compressione (indici documenti immagini mp3 video), crawling, text mining (unstructured data), calcolo distribuito, calcolo parallelo........E dopo aver applicato questi concetti ogni giorno assicuro a chiunque che ci si rende conto di come le cose di cui discutiamo ogni giorno abbiano un senso molto profondo.
Tutto questo per dire che in realtà dei motori di ricerca si sa molto più di quanto si possa immaginare, basta studiare.
-
@agoago said:
Ricapitoliamo, il problema e'-era scovare automaticamente "mal di schiena" partendo dalla key "scarpe con tacco".
O "mamma con bambino" partendo dalla key "persone felici".
Tramite i classici db non e' possibile, neanche scendendo in profondita' per ogni sotto key e relative associate. Tra mal di schiena e tacchi non c'e' nessuna relazione nei db delle key.
E' questo che mi ha bloccato mesi fa, ma poi la soluzione si e' palesata proprio grazie all'uso di programmi come quello di Paolo di clustering K-means, e disponendo di un archivio "mostruoso", archivio che si ottinene dalla catalogazione di milioni di pagine presenti sul web.
In questa maniera il programma identifichera' come parole vicine-importanti per chi tratta di mal di schiena anche la key scarpe con tacco, e poi il gioco e' fatto.
Anche di piu'... il MDR , identificherà come keyphrase "valida" "mal di schiena" proprio anche grazie allle eventuali numerose co-occorrenze con "scarpe con tacco" ...;)
e le keyphrases "valide", si sa, sono una manna oggi come oggi
Del resto i MDR dispongono di archivi sterminati su cui applicare i propri software di "text mining" , un vantaggio non indifferente quando dici
E' ardua ma non impossibile, perche' si sa l'inteligenza artificiale non la usano solo i motori (purtroppo per loro).
Fattostà , secondo me, la possibile individuazione del numero maggiore possibile di "keyprhases" valide di un cluster di interesse è determinante per la "costruzione" anche di singoli documenti web (non solo di siti) ... per non parlare poi di saper "capire" la keyphrase buona dentro le query di interesse...
Averne di Cavoni e Agoaghi in giro ...;)
Nicola