• Moderatore

    @agoago said:

    Probabilmente e' questa cosa che ci "frega" veramente, non eventuali errori nelle formule con varianze, centroidi o banali frequenze.

    Ovviamente lo scambio di idee non può che essere costruttivo (il solo fatto che esiste qualcun altro che si pone domande ed obiettivi simili alle proprie non può che far piacere e ci fa sentire meno "folli"...)

    L'unione (o l'"intersezione" 😄 ) di idee e soluzioni è sicuramente una strada da percorrere senza però dimenticare gli obiettivi iniziali che ci si era preposti: nel mio caso si tratta di categorie di Keyphrases inserite nella textbox di Google, nel tuo caso categorie di contenuti testuali presenti nelle pagine web. Immagino che gli algoritmi da utilizzare siano differenti data la diversità nelle complessità: grammaticale, spaziale e computazionale...


  • Moderatore

    Googlando ho trovato questi [url=http://robert.boeck-horn.de/]tool
    li conoscete gia? che ne pensate?


  • Moderatore

    Premesso che l'obiettivo era raggruppare le keyprases inserite nei motori di ricerca per giungere al nostro sito (per meri motivi statistici) gli ultimi sviluppi sull'algoritmo proposto ed i risultati della sua implementazione
    sono disponibili nel link indicato nel primo post di questo 3D.

    Magia delle magie...alla fine della fiera è risultato che le "Top Keyphrases" sono, in pratica, i nomi delle pagine web del sito! :fumato:


  • Moderatore

    😄 reply by error :bho:


  • User Attivo

    Paocavo scrive:

    "PS: Magia delle magie...alla fine della fiera è risultato che le "Top Keyphrases" sono, in pratica, i nomi delle pagine web del sito! "

    Studio tutto il tuo sistema con attenzione perche' sembra molto interessante, lo testo e poi riportero' (anche io) cosa mi avra' restituito come risultati.

    Certo che se anche i miei risultati concordassero con i tuoi (e non mi stupirei... "i nomi delle pagine web del sito") sarebbe tutta da studiare, da discutere.

    La discussione sarebbe se i i motori si "basano" sul lavoro dei wm o viceversa, o magari con reciprocita'.

    Di certo molto interessante.


  • User Attivo

    Paocavo scrive:

    "PS: Magia delle magie...alla fine della fiera è risultato che le "Top Keyphrases" sono, in pratica, i nomi delle pagine web del sito! "

    Studio tutto il tuo sistema con attenzione perche' sembra molto interessante, lo testo e poi riportero' (anche io) cosa mi avra' restituito come risultati.

    Certo che se anche i miei risultati concordassero con i tuoi (e non mi stupirei... "i nomi delle pagine web del sito") sarebbe tutta da studiare, da discutere.

    La discussione sarebbe se i i motori si "basano" sul lavoro dei wm o viceversa, o magari con reciprocita'.

    Di certo molto interessante.


  • Moderatore

    @agoago said:

    La discussione sarebbe se i i motori si "basano" sul lavoro dei wm o viceversa, o magari con reciprocita'. 😮

    Di certo molto interessante.

    Attendo i tuoi risultati! 😎


  • Moderatore

    @agoago said:

    La discussione sarebbe se i i motori si "basano" sul lavoro dei wm o viceversa, o magari con reciprocita'. 😮

    Di certo molto interessante.

    Attendo i tuoi risultati! 😎


  • Moderatore

    Come determinare le sotto-categorie (?):

    • Si ordinano le categorie per Ki decrescente e si evidenziano i relativi MUKP ("Top Keyphrase")
    • Si definiscono sottocategorie (di livello k) le categorie che compaiono nei MUKP "precedenti" nell'elenco ordinato precedente (di livello k-1).
      La procedura per il calcolo delle categorie è, evidentemente, ricorsiva.

    Sulla base dell'interessante articolo di Andrea_TSW sulle [url=http://blog.tsw.it/generale/il-reperimento-delle-informazioni-sul-web-dalle-keyword-alle-reti-semantiche]reti semantiche potremmo dire che quelli che definisco "keyphrases sets" non sono altro che mini domini di conoscenza e la procedura per il calcolo delle sotto-categorie un possibile algoritmo per la determinazione di una Rete Semantica. Arduo?


  • User Newbie

    Mi sposto in questo forum dove possiamo parlare più per esteso.
    I tuoi domini di conoscenza non sono reti semantiche perchè le reti semantiche hanno la proprietà di avere i nodi collegati fra loro.

    Le reti di cui parlavo nell'articolo sono reti di apprendimento in quanto riescono ad aggiungere nuovi nodi ed archi modificando i pesi di questi relazioni. Un esempio di di sistemi di questo tipo sono le reti neurali.

    Mi sono letto i post precedenti e ho testato il tuo esempio che trovo molto interessante.
    Se volessi applicare una rete semantica al tuo programma punterei su una "definitional network", una rete che considera le relazioni IS-A; tanto per capirci "configurare server dhcp" e "configuare server linux" sono entrambi figli di "configurazione server".

    Parlando del tuo sistema in particolare ho notato una cosa forse marginale ma che ho trovato interessante: tutti i sistemi che conosco implementano il concetto di "stop words", cioè si da per scontato che articoli, preposizioni etc. non diano significato aggiunto al testo e quindi vengono eliminati. Tu invece li mantieni anche se con peso marginale; in effetti penso che sia una scelta giusta, perchè a google fa differenza se li scrivi o no in una ricerca.

    Buon esempio del fatto che a volte è utile provare a fare una cosa senza voler a tutti i costi seguire la strada già asfaltata.


  • Moderatore

    @an said:

    I tuoi domini di conoscenza non sono reti semantiche perchè le reti semantiche hanno la proprietà di avere i nodi collegati fra loro.

    Le reti di cui parlavo nell'articolo sono reti di apprendimento in quanto riescono ad aggiungere nuovi nodi ed archi modificando i pesi di questi relazioni. Un esempio di di sistemi di questo tipo sono le reti neurali.

    Probabilmente non sono stato chiaro nel post precedente, per rete semantica non intendo i domini di conoscenza ma la procedura (ricorsiva) descritta per la determinazione delle "categorie" e sotto-categorie genera, credo, una rete semantica. Ad esempio:
    Cat 1 livello: Linux
    Cat 2 livello: Wireless Linux
    Cat 3 livello: configurare Scheda Wireless Linux
    Cat 3 livello: Scheda Wireless D-Link Linux

    Mi sono letto i post precedenti e ho testato il tuo esempio che trovo molto interessante.
    Se volessi applicare una rete semantica al tuo programma punterei su una "definitional network", ...

    ...
    Buon esempio del fatto che a volte è utile provare a fare una cosa senza voler a tutti i costi seguire la strada già asfaltata.

    Infatti lo sforzo iniziale è stato proprio quello di pensare in prima persona senza googlare sull'argomento, dopodichè mi sto mettedo a studiare che cosa dicono i grandi pensatori dell'intelligenza artificiale o ... come diceva Alan M. Turing: "Intelligenza Meccanica"


  • Moderatore

    @paocavo said:

    -Data la totalità, ad una certo istante di tempo, delle keyphrases (KP) ricevute:
    ...

    • si determina l'insieme "related" di KP che contengono la KW
    • All'interno di ciascun insieme related le KP sono caratterizzate anche dalla loro molteplicità KPM (numero di volte che si è ricevuta la medesima Keyphrase)
    • Per ogni insieme Related esiste la KP con molteplicità massima (la definiamo MUKP=Most Used Keyprase)
      ...

    Scusate se mi quoto da solo ma ritengo che gli insiemi "related" ottenuti (o, come li dice P. Norvig, "bags of words" ...col senno di poi), una volta ordinati per KPM decrescente, possono essere delle ottime fonti di keyword da utilizzare per i propri annunci ADWords.
    L'utilità di tali keyword è dimostrata dal fatto che sono quelle effettivamente utilizzate dagli stessi utenti del sito e non quelle "pensate" dal webmaster o da altri sistemi (es. https://adwords.google.com/select/KeywordToolExternal).
    E' vero che se il webmaster è anche un buon SEO allora le cose dovrebbero coincidere ma...spesso si riscontrano delle sorprese e si scopre che siamo indicizzati bene anche per altre keyword a cui non avevamo posto attenzione o per una semplice combinazione di fattori..arcani!


  • Moderatore

    ...lo studio continua...
    memorizzando tutti i risultati in un database si ottengono report molto interessanti come quello che si evince dalla seguente query:

    
    SELECT keyword, keyphrase, hits, first_time, last_time
    FROM category INNER JOIN BagOfWords ON category.id_category = BagOfWords.id_category
    ORDER BY hits DESC;
    
    

    dove la tabella delle categorie, ovviamente, è ottenuta automaticamente
    sulla base della analisi suddetta... :yuppi:


  • User Attivo

    Scusate, mi intrometto un secondo per esprimere un mio dubbio sull'argomento (che mi interessa particolarmente, anche se sicuramente non sono cosi' esperto come voi e molto probabilmente sto' per dire un mucchio di fesserie)...

    Il mio dubbio, ma magari dico un'idiozia, è dovuto al fatto che nella nostra lingua abbiamo parole con significato differente a seconda del contesto, e quindi o a priori si conosce il contesto in cui analizzare i termini, o altrimenti come si può generalizzare l'analisi?
    Negli esempi che avete riportato, i test sono fatti nel contesto dell'informatica (o chiamiamolo anche macro-contesto) e questo risolve già l'incognita... ma immaginate l'analisi della frase:

    "installare una rete"

    Senza conoscerne il contesto potrebbe essere sia in ambito informatico, che nel'ambito fai-da-te (esempio idiota, ma era per farmi capire)...

    Quindi come si puo' analizzare questa soluzione senza saperne il contesto?

    Ok, ho delirato a sufficienza... scusatemi e perdonate l'intrusione.....


  • Moderatore

    @CZero said:

    Negli esempi che avete riportato, i test sono fatti nel contesto dell'informatica (o chiamiamolo anche macro-contesto) e questo risolve già l'incognita... ma immaginate l'analisi della frase:

    "installare una rete"
    Senza conoscerne il contesto potrebbe essere sia in ambito informatico, che nel'ambito fai-da-te (esempio idiota, ma era per farmi capire)...
    Quindi come si puo' analizzare questa soluzione senza saperne il contesto?

    Ciao CZero!
    concordo con quanto hai detto ma se rileggi il primo post di questo 3D l'obiettivo principale di studio è l'analisi delle keyword per giungere ad un (determinato) sito web quindi è implicita la restrizione ad un determinato "macro-contesto". Ad ogni modo l'algoritmo proposto può essere esteso (come è stato accennato per il discorso sulle sotto-categorie) per la determinazione di reti semantiche.
    Probabilmente il fatto che una determinata frase può significare differenti cose vorrà dire che siamo davanti ad un nodo di una struttura ad albero 🙂


  • Moderatore

    @CZero said:

    Scusate, mi intrometto un secondo per esprimere un mio dubbio sull'argomento (che mi interessa particolarmente, anche se sicuramente non sono cosi' esperto come voi e molto probabilmente sto' per dire un mucchio di fesserie)...

    Ma non sei l'autore del sito dedicato agli [url=http://www.relwords.com]strumenti semantici per WebMasters? Complimenti per la modestia!! 😎


  • User Attivo

    ...ecco vedi, che mi ero perso per strada un pezzo 😄

    Il sitoche dici è il mio, un progetto nato un po' di mesi fa sul quale sto' lavorando (a rilento perche' ho poco tempo)... pero' il mio approccio è stato quello di partire da una base dati e analizzare dei dati che ricevo... il probema grosso di questi dati è individuare gli errori (parole scritte male e simili)... e cmq, per ora ho deciso di crearmi dei dizionari da cui partire, per poi passare alle categorie/contesti e quindi all'analisi...

    Sono giunto alla concllusione che senza un bel dizionario non si va da nessuna parte! 😞


  • User Attivo

    E' esattamente come dite.

    Il primo passo e' di raggruppare in sottocategorie un insieme ben determinanto.

    Il secondo sarebbe quello di raggruppare in sottocategorie insieni generici, ed in questo caso entrano in gioco sinonimi, contrari, semantica e via dicendo.

    Diciamo che siamo nella prima fase, che di suo e' gia' abbastanza complicata, appena superato questo primo difficile lavoro dovremo affrontare il secondo aspetto, che si preannuncia ben peggiore!


  • User Attivo

    ci sarebbe anche una cosa che non va trascurata troppo... e cioe' il db, perche', per esperienza, ti ritrovi a manipolare in un attimo centinaia di migliaia di record... e questo nn è bello per le prestazioni...
    Uno sbaglio che feci all'inizio fu di sottovalutare questo aspetto e cambiare poi in corsa la struttura è stato un bel casino :S


  • Moderatore

    @CZero said:

    ci sarebbe anche una cosa che non va trascurata troppo... e cioe' il db, perche', per esperienza, ti ritrovi a manipolare in un attimo centinaia di migliaia di record... e questo nn è bello per le prestazioni...
    Uno sbaglio che feci all'inizio fu di sottovalutare questo aspetto e cambiare poi in corsa la struttura è stato un bel casino :S

    Infatti...è fondamentale una progettazione ad hoc del modello relazionale che sta alla base del DB. Per far ciò è però necessario aver fatto prima per bene l'analisi funzionale (la sequenza delle "operazioni") del problema...spesso facciamo il contrario .. 😄