I tag come strumento per trovare correlazioni

Monday, 16 April 07
nuvola di tag Come qualcuno forse ricorda, il blog engine che uso e' stato sviluppato da me stesso, perche' non ero molto felice di quello che c'era in giro (non perche' non offriva abbastanza, ma perche' offriva troppo e in maniera non congrua con il mio modo di scrivere i post e usare i servizi web in generale).

Compreso il codice html non riesce ancora a superare le 2000 righe di codice, e alcune parti sono librerie non utilizzate, insomma e' piccolo e posso modificare tutto come voglio con pochi sforzi... ma si sa, una cosa parte facile e tende a complicarsi sempre di piu' man mano che le necessita' crescono.

In particolare da quando posto piu' regolarmente e' nata l'esigenza di poter disporre della funzione che visualizza gli articoli correlati alla fine di ogni post. Sembra una buona idea permettere al lettore di poter continuare la lettura con altro materiale di potenziale interesse.


Bisognava trovare un modo per implementare la cosa che fosse abbastanza semplice da gestire nella pratica. La prima idea che ho avuto e' stata sicuramente la peggiore, ho pensato di poter settare in ogni post una lista di articoli correlati. In pratica per ogni post scritto bisogna andare a scorrere potenzialmente centinaia di post (se si posta una volta al giorno in un anno sono 360 post circa e non e' strano che ci sia un articolo correlato scritto un anno prima) e marcare quelli che hanno abbastanza affinita' come correlati: un incubo.



Siccome sono tra le persone piu' pigre del pianeta (almeno quando si tratta di fare cose che non sono esattamente in focus, alias scrivere post mi piace, marcare articoli correlati un po' meno) ho scartato l'idea originale cercando di partorirne una migliore.


L'idea successiva e' stata quella di fare una analisi sul testo e calcolare la keyword density per cercare di trovare correlazioni tramite parole chiave, e come evoluzione di questa e' arrivata l'idea che ho deciso di adottare.

Tag

oltre la moda c'e' lo strumento



Ci sono casi in cui i tag sono usati in maniera magistrale: certamente del.icio.us e' un esempio dirompente di cosa si puo' fare con i tag, ma in molti contesti web 2.0 ho visto una esplosione di tag che difficilmente aumentano la fruibilita' e l'utilita' del servizio offerto in maniera considerevole.

Quando una cosa non e' abbastanza utile diventa dannosa perche' aumenta il rUm_o_Re


Il fatto che a volte siano usati male non toglie nulla ai tag, rimangono uno strumento eccezionale. Inoltre, come dimostrano i social bookmark che rimangono utili anche se analizzati senza considerare l'aspetto social di somma dei dati degli utenti si vede chiaramente che I tag sono molto utili anche quando usati in maniera individuale.

Un'altra idea diffusa e' che l'utilita' dei tag e' quasi unicamente legata alla possibilita' di organizzare e permettere in un secondo tempo la ricerca da parte nostra o di terzi delle risorse taggate. In realta' i tag, aggiungendo delle etichette alle risorse si prestano non solo alla loro organizzazione e alla ricerca di queste, ma anche alla ricerca di similitudini e rapporti tra le diverse risorse taggate.

Nel caso degli articoli correlati e' chiaro il modo in cui i tag possono essere usati (molti lettori avranno indovinato dalle prime righe di questo post)

Aggiungendo ad un blog la possibilita' di poter taggare i diversi articoli, operazione che fara' lo stesso blogger per ogni articolo dopo averlo scritto, il sistema' sara' in grado di trovare automaticamente i post correlati cercando tra tutti i post quelli che hanno uno o piu' tag in comune. Si puo' assumere che piu' sono numerosi i tag in comune e piu' due risorse sono correlate.


Per finire, siccome sembra interessante dare piu' peso alle risorse piu' recenti, ad ogni risorsa correlata sara' associato un rank proporzionale al numero di tag in comune, ma inversamente proporzionale alla sua eta' cosi' da poter ordinare le risorse correlate in relazione al rank e mostrarle listate in un ordine che e' un compromesso tra novita' e affinita'.

Non mi resta che trovare il tempo per implementarlo, e in questo caso i tag free e time non mi saranno troppo di aiuto.

Per approfondire

14540 views*
Posted at 00:09:18 | permalink | 25 comments | print
Do you like this article?
Subscribe to the RSS feed of this blog or use the newsletter service in order to receive a notification every time there is something of new to read here.

Note: you'll not see this box again if you are a usual reader.

Comments

Doxaliber writes:
16 Apr 07, 08:13:44
Rilascerai mai il codice sorgente del tuo miniblog? ;-)
antirez writes:
16 Apr 07, 08:26:59
Ciao Doxaliber! ancora non so... abbiamo altri progetti tra le mani e non ho scartato l'idea di proporre a Fabio di fare di questo blog, se si evolve abbastanza, un servizio web concorrente ai vari altri blog engine mirato ad un tipo di utenti che apprezzano le cose essenziali. Se questa idea non va in porto credo che finiro' per rilasciare il tutto sotto una licenza libera anche se alla fine questo e' di supporto ad una piccola parte di utenti che hanno il loro spazio e i loro mezzi ma non aiuta le (spero) decine di migliaia di italiani che apriranno un blog nel prossimo futuro.
timendum writes:
16 Apr 07, 10:11:40
IMHO affinché la piattaforma sia accettabile, deve supportare ancora trackback e url nei commenti.

Poi devo ancora capire sta cosa del limone...
antirez writes:
16 Apr 07, 10:54:06
@timendum: concordo sul trackback. Le url nei commenti puoi gia' metterle ma credo che finiro' per permettere nei commenti le stesse regole di formattazione dei post dunque di poter fare piu' o meno tutto.

Per quanto riguarda limone, non ho mai cancellato un commento di spam da quando questo blog esiste, think about it...
Nicola D'Agostino writes:
16 Apr 07, 11:09:02
I tag sono un'arma a doppio taglio: come la grafica danno potere a chi non ce l'aveva. Poi però bisogna saperlo usare, possibilmente senza farsi prendere la mano (leggi; tag cloud sui blog).

nda
neon writes:
16 Apr 07, 11:45:39
Il metodo del limone mi ricorda molto la parola "orange" di condinghorror :)

Anche lui dice di non aver cancellato nessun commento di spam.

Per quanto riguarda le altre scelte che hai fatto mi interesserebbe sapere come mai hai deciso di scrivere in html piuttosto che in xhtml. Ci sono dei vantaggi?
antirez writes:
16 Apr 07, 12:33:07
@neon: si... sono passato da codinghorror (via programming.reddit.com) qualche giorno fa e ho visto che adotta lo stesso sistema! Ho visto almeno un'altra variante della stessa idea - anche se mi piace di meno - che consiste nel nascondere tramite CSS un campo che se compilato determina la non accettazione del commento. I bot ci cascano e compilano il campo, mentre gli umani non lo vedono e non lo compilano.

Per quanto riguarda HTML vs XHTML, questo blog e' XHTML valido come puoi vedere dal footer, o forse ho capito male?
neon writes:
16 Apr 07, 12:58:48
Scusami, ho scritto una vaccata.

Mi sa che ho incasinato i tab ed ho letto il codice di un'altra pagina ;)
Fra_T writes:
16 Apr 07, 13:27:09
Ah... simpatica l'idea del campo nascosto via CSS :)

@Nicola, secondo me invece i tag sono da inserire in abbondanza (chiaramente se centrano), altrimenti sono un'altra cosa :D
antirez writes:
16 Apr 07, 14:09:47
@neon: anche io ne scrivo tante ;) capita.

@nicola: in realta' nel caso proposto dall'articolo i tag potrebbero essere anche non visibili da parte dell'utente, solo interni al sistema, ma una volta che ci sono tali informazioni attaccate al post credo proprio che le mostrero' in qualche modo. Possono fare abbastanza bene da categorie, magari non in forma di cloud ma listando i 10 tag piu' importanti uno sotto l'altro come se fossero categorie che "auto emergono".
Urban writes:
16 Apr 07, 14:26:31
Posso darti un feedback: in akregator l'articolo viene caricato diverse volte in quanto per ogni commento cambia il contenuto del feed stesso e non c'è un identificatore univoco (il tag guid, che potresti usare con la sintassi <guid isPermaLink="false" >[url del post che è unica]</guid>)
antirez writes:
16 Apr 07, 14:35:54
@Urban, grazie del consiglio! ho provato ad implementarlo, ora dovrebbe essere ok se ho capito bene. Thx ancora :)
Urban writes:
16 Apr 07, 14:39:51
Commento di prova :D

se non aggiorna il feed vuol dire che funziona! :D

UPDATE: Funziona, adesso si aggiorna il testo di quello stesso articolo nel feed :D
antirez writes:
16 Apr 07, 14:41:38
@Urban: ti aiuto anche io con questo...
antirez writes:
16 Apr 07, 14:53:38
Ho solo un piccolo dubbio, leggendo la specifica a me pare che potrei mettere isPermaLink="true" perche' di fatto non uso una stringa ma una URL che coincide con il link permanente. Anche se immagino che essendoci anche il tag <link> non dovrebbero esserci problemi.
davidonzo writes:
16 Apr 07, 15:03:37
L'importante è che il guid sia univoco.
Se è un link, in quanto univoco è un permalink, per cui il parametro isPermaLink andrebbe messo in true.

E' usato dagli aggregatori per stabilire se un elemento è nuovo oppure no.

In quanto tale non dovrebbe darti errori di valutazione il setting in false. Però potrebbero esserci aggregatori che usano l'istruzione guid come preminente su link e quindi sarebbe più giusto il setting in true (sto sparando eh... non so se ne esistano davvero...).

Insomma, alla fine non da problemi, non è nemmeno sbagliato (perchè una stringa può essere un link, ma un link è sempre una stringa). Ma non si sa mai...
antirez writes:
16 Apr 07, 15:07:16
@davidonzo: si infatti... il mio ragionamento era il seguente: se metto la URL metto true, almeno non rischio che aggregatori poco conformi che diano troppa importanza al guid creino problemi. Se invece metto false come isPermaLink mi conviene molto mettere una stringa che DAVVERO difficilmente cambiera' in futuro anche se modifico la struttura delle URL, tipo ad esempio "uniqueid66" nel caso di questo post.

Dunque o metto true o cambio la stringa per essere piu' duratura nel lungo termine :)

Grazie per l'aiuto.
Fra_T writes:
16 Apr 07, 15:27:11
Se ti interessa wordpress mette l'URL con isPermaLink="false", se cambi la struttura del permalink, allora il permalink cambia, ma il guid no.
antirez writes:
16 Apr 07, 15:57:17
Fra_T: grazie della info :) In effetti credo che lascero' cosi', mi sembra abbastanza conservativa come scelta dopo tutto.
Urban writes:
16 Apr 07, 17:32:18
Guarda questo link: http://feedvalidator.org/docs/error/InvalidPermali...

in pratica consigliano di non mettere proprio l'attributo se è un permalink. Il fatto di non mettere il guid come permalink è che un domani potresti cambiare la struttura dei permalink e dunque ripubblichi tutti gli articoli nel momento che cambi il guid, invece indicando che non è permalink, non ripubblichi nulla e lasci la struttura dei guid come prima e cambi solo il link...
antirez writes:
16 Apr 07, 17:43:16
@Urban: ok lascio tutto cosi', mi sembra la migliore soluzione quella da te proposta in origine alla luce di tutte le info. Razionale:

1) Il guid deve essere sempre fisso per cui e' meglio non dichiararlo come link permanente.
2) Ma... alcuni RSS reader poco ortodossi se ne fregano (possibilmente) dell'attributo isPermaLink, dunque e' meglio che sia *comunque* una url valida.

Le due cose mi portano a pensare che la soluzione da te proposta (che ho gia' implementato) e' la migliore.

invece stavo leggendo come funziona il protocollo del trackback. Mi piace pochissimo e mi sembra un buon modo di recuperare tutto lo spam che ho evitato grazie al simpatico limone.

Sto pensando di permettere l'inserimento manuale delle "Blog Reaction" da parte di chiunque, a patto che scrivano limone, arancia, o qualunque cosa che un bot non riesca a scrivere :)

Mi piacerebbe molto sentire l'opinione di blogger meno in erba di me.
neon writes:
16 Apr 07, 18:04:06
Non conosco la specifica dei pingback ma credo siano meno soggetti allo spam.

La maggior parte dei trackback di spam non contengono effettivamente un link al tuo post, puoi andare a controllare sul sito che effettua il track che il link sia realmente presente prima di accettarlo.
antirez writes:
16 Apr 07, 18:12:56
@neon: si... avevo pensato di usare questo come sistema anti-spam, ma non e' troppo facile da evitare? Basta dinamicamente, per qualche ora, mettere un link da qualche parte nella pagina di spam, e poi toglierlo per cui la pagina di spam non necessita neppure di avere una lista di link lunghissima. Il tutto con display:none ... ed e' fatta.

Il pingback mi sa che non consente di creare la catena di "blog reactions" ma solo di notificare qualcuno che hai postato.
davidonzo writes:
16 Apr 07, 18:15:59
Il trackback è grandissimo portatore di spam. Da quando l'ho implementato in dblog ne ricevo un centinaio al giorno di TB spam. Li modero in default.

L'inserimento manuale potrebbe essere un'alternativa, ma sorgerebbe il problema "noia".
WordPress, ad esempio, permette di inviare i trackback mentre si posta (field in basso con tanti indirizzi separati da , ).

In dblog nel pannello ho inserito un link ad un popup per ogni articolo. Basta inserire il link per il trackback (tutti gli altri campi necessari sono in hidden) ed invia al blog destinatario. E già questo a molti è sembrato un lavorone :-/

Per come lo intendi tu non sarebbe un TB, ma poco male. Ma rischierebbe di essere utilizzato solo da blogger di buona volontà.
antirez writes:
16 Apr 07, 18:25:57
@davidonzo: il fattore noia e' sicuramente un problema. Condivido la tua analisi... ci penso un po' su, ma forse se l'interfaccia per inserire il trackback e' semplice e basta scrivere la url, il titolo, e la solita scritta limone, potrebbe essere abbastanza semplice da renderlo usabile.

Grazie per i contributi.
comments closed