2010-02-15 18 views
13

Supponiamo che dovresti monitorare il marchio "ONE" online. Quali algoritmi possono essere utilizzati per separare le pagine relative al marchio ONE dalle pagine contenenti la parola comune ONE?Monitorare marchi con parole comuni

Sto pensando che forse Bayes potrebbe funzionare, ma ci sono altri modi per farlo?

risposta

5

Se non si tratta di una parola davvero unica, suggerirei il prossimo approccio.

Immaginiamo che la nostra parola chiave sia Java. Poi ci sono almeno 2 categorie: sulla programmazione e sul turismo in Indonesia. Siamo interessati al primo.

Consente di prendere un piccolo testo su Java (forse da libri o da Wikipedia). Quindi, assumiamo alcune soglie (ad esempio, 0,7). Quindi confrontiamo il nostro testo con pagine diverse (uno dei modi più veloci è usare l'algoritmo Classic Vector Space Model, puoi implementarlo tu stesso o trovarne l'implementazione in google). Quindi confronta i risultati con la soglia e filtra i risultati deboli.


Chi utilizza l'algoritmo di Bayes: non è male approccio imo. Ma dovresti "insegnare" il tuo algoritmo con molta attenzione perché diversi input negativi possono guastare l'intero lavoro.

Lasciatemi spiegare. L'input per l'algoritmo di Bayes è testo con la tua parola di marca. L'output è probabilità [0 .. 1] che il tuo testo riguarda il tuo marchio ma non di qualcos'altro. In pratica questo algoritmo ti dà molto spesso risultati vicini a 0 o vicino a 1 e rari valori di ritorno tra 0,2 e 0,8. Significa che l'algoritmo è molto sensibile alle piccole variazioni e 1 o 2 parole nel testo di 100 parole possono influire seriamente sul risultato.

+0

Ancora non vedo come VSM sia meglio di Bayes. Convinci, per favore? –

+1

In realtà, è un buon motivo per alcuni esperimenti. Ho già implementato entrambi gli algoritmi e non è affatto difficile (puoi anche scaricare alcune implementazioni esistenti). Preparare i dati di input di test (ma non dovrebbe essere piccolo) e verificare quale algoritmo soddisfa meglio le vostre esigenze. – Roman

4

È possibile associare il marchio ONE ai propri prodotti, ai suoi funzionari esecutivi o ai propri sfidanti nel monitoraggio.

+0

Sì, parole chiave aggiuntive sono una buona idea. Grazie! –

1

Ho affrontato le cose vedendo Wikipedia come un'ontologia gigante (dove ogni collegamento ipertestuale è una relazione tra il nodo di origine e il nodo finale).

EDIT: Un'algo molto ruvida, con l'esempio "Java":

  • query "Java" in Wikipedia. Tra gli altri , questo dovrebbe dare (almeno a ) l'isola e la lingua di programmazione .
  • Ottenere i nodi di entrata/uscita di queste pagine di base (dai collegamenti ipertestuali delle pagine di base).
  • Ora hai piccoli set di parole correlate.
  • Calcola una "distanza" di ciascun set sulla pagina e trova il minimo di queste distanze.

La distanza che si utilizza è molto soggettiva e deve essere ottimizzata un po 'in base alle proprie esigenze. Potresti avere problemi anche a ottenere il "nucleo" di ogni pagina, poiché l'analisi dell'HTML sarà un grosso problema.

+0

Potresti espanderti un po '? Non capisco cosa intendi che dovrei fare. –

2

Il termine che stai cercando è concetto di apprendimento o Concetto di estrazione. La parola One appare in molte pagine, ma più spesso si riferisce al concetto di uno come una quantità. Solo raramente si riferisce al concetto di ONE il marchio. (Un altro esempio frequentemente usato è SUN come nel sole oggetto astrale, o la società chiamata Sun).

Lo so Ari Rappoport ha molte ricerche su questo argomento. In pratica, questo si riduce a qualcosa come mouviciel's answer, ma la ricerca di Ari riguarda anche come è possibile inferire automaticamente le parole correlate che è necessario cercare per distinguere il numero uno da quello della marca.

1

vorrei suggerire un approccio senza sorveglianza al problema:

  1. ottenere il maggior numero di documenti possibili che descrivono la "ONE" nel contesto corretto e creare un corpus.

  2. Trova frasi statisticamente improbabili in quel corpo contro un corpus inglese standard.

questo sito dà un buon esempio
http://sip.s-anand.net/?url=http://en.wikipedia.org/wiki/Apple_Inc.

Come si può vedere i termini specifici del marchio come ipod, powerpc ecc sono facilmente filtrati.

Dopo aver estratto quelli che si possono creare un avviso di Google o equivalente simile (se Google Alert sono troppo semplicistico) con le query come "SIP" e "uno" di monitorare nuovi articoli.

Naturalmente dato che questo approccio non è sorvegliato potrebbe non essere molto efficiente ma dovrebbe fare il lavoro.

+0

puoi trovare il codice per SIP utilizzando google app engine qui: http://code.google.com/p/statistically-improbable-phrases/source/browse/#svn/trunk –

0

Un approccio diverso potrebbe essere quello di esaminare la pagina in Google Directory, che ha "il Web organizzato per argomento in categorie". Potresti potenzialmente utilizzare le informazioni sulla categoria per ciascuna pagina per decidere di cosa si tratta.

Problemi correlati