2011-09-11 3 views
8

Attualmente sta progettando un CMS da utilizzare sul mio sito web. Mi chiedo se fossero disponibili librerie libere per creare tag in base al contenuto.Che cos'è una libreria efficace per suggerire parole chiave per i contenuti?

Esempio

Mi piacciono gli alberi. Gli alberi sono piante che hanno foglie. Foglie sull'albero possono essere multicolore.

produrrebbero i tag alberi e foglie.

La libreria deve essere PHP o JS.

EDIT 1:

ho trovato una semplice libreria per la metà il mio compito - http://www.cafewebmaster.com/get-top-100-words-keywords-text-php

Ho modificato ciò che le specifiche della biblioteca dovrebbero essere (grazie a una guida da @NullUserException) -

  • Contare tutte le parole (ignorando caso e inflessioni), eliminare le parole di arresto e selezionare quelle con la frequenza più alta

  • Modificare il testo per rendere le parole che sono più specifiche del genere (potrebbe avere una frequenza più bassa), essere di valore superiore. Ad esempio nell'esempio - "multicolore" dovrebbe diventare un valore superiore perché è più specifico per l'oggetto. Tuttavia dovrebbe includere un prefisso che indica che si riferisce al soggetto (diventerebbe foglie multicolore).

EDIT 2:

algoritmo dovrebbe rimuovere parole che hanno meno di 3 caratteri a meno sono in capitali o formattati altrimenti

+2

Soluzione semplice: conta tutte le parole (ignorando caso e inflessioni), elimina [stop words] (http://en.wikipedia.org/wiki/Stop_words) e scegli quelle con il conteggio più alto. – NullUserException

+0

Questa è metà di quello che mi serve, l'altra metà sta usando quelle parole e trovo versioni più specifiche. Ad esempio, l'uso di "multi-colore" nel mio esempio dovrebbe avere una maggiore pertinenza delle parole chiave rispetto alle piante perché è più specifico. Come lo farei? – liamzebedee

risposta

1

sono i tag sul tuo CMS già definiti? In caso affermativo, è possibile indicizzare il testo in memoria e cercare utilizzando tutti i tag noti rispetto al testo. Scegli i tag con il punteggio più alto e presenti all'utente.

indicizzazione e la ricerca potrebbe essere fatto con http://lucene.apache.org/solr/

Edit: Si noti che io suggerisco che i tag/parole chiave sono definite e gestibile da un pannello di amministrazione (come per esempio in wordpress). Altrimenti finirai con migliaia di parole chiave generate dai tuoi articoli che non aiuterebbero mai l'utente finale.