2009-06-15 9 views
6

Sto cercando di applicare punteggi (positivi, negativi o neutri) a brevi frasi di testo. A parte scappare le emoticon e fare supposizioni basate sul loro uso, non sono sicuro di cos'altro provare. Qualcuno può fornire esempi, documenti di ricerca, articoli, ecc. Che portano un'analisi più lessicale a questo problema.Determinazione di "umore" di frasi testuali tramite analisi lessicale

Penso che cose come l'uso di avverbio, l'uso improprio/ripetizione della punteggiatura, errori di ortografia/grammatica possano essere tutti indicatori decenti dell'umore dell'autore in un senso quasi binario (buono o cattivo).

+0

C'è una domanda simile: http://stackoverflow.com/questions/933212/is-it-possible-to-guess-a-users-mood-based-on-the-structure-of-text – Helen

+0

Even humans avere problemi a determinare umore/tono nelle conversazioni in stile email/sms. A meno che tu non stia parlando dell'analisi della finzione in cui vengono utilizzate le parole chiave (esempi: "urlato" e "infuriato") Allora hai il tuo lavoro da ritagliare per te. – Alex

risposta

3

Questo sembra un compito di classificazione binaria piuttosto chiaro, in cui è possibile semplificare il problema su positivo o negativo e quindi prendere le decisioni più entropiche o quelle che non hanno raggiunto una soglia di certezza per mezzo della massa di probabilità impostata su neutro.

Il tuo ostacolo più grande sarà ottenere dati di addestramento per un metodo di apprendimento automatico stocastico. Si potrebbe facilmente farlo con un modello di entropia massimo facilmente disponibile come lo Toolkit for Advanced Discriminative Modeling o Mallet. Le funzioni che hai descritto dovrebbero solo essere formattate per gli input utilizzati da questi modelli.

Per ottenere dati sull'allenamento, è possibile effettuare una sorta di crowdsourcing a pagamento come Amazon's Mechanical Turk o semplicemente farlo da soli, magari con l'aiuto di un amico. È necessario un lotto di di dati per questo. Puoi migliorare la forza predittiva del tuo modello alla luce di una carenza di dati con approcci come l'apprendimento attivo, l'ensemble o l'aumento, ma è importante testarli con dati reali nel miglior modo possibile e scegliere ciò che funziona meglio in un applicazione pratica.

Se stai cercando documenti per questo, ti consigliamo di guardare il termine "analisi dei sentimenti" in Google Scholar. The Association for Computational Linguistics ha un sacco di articoli gratuiti e utili da conferenze e riviste che affrontano il problema da un punto di vista linguistico e algoritmico. Esplorerei anche i loro archivi. In bocca al lupo!

0

Sembra un'idea davvero interessante - sarei interessato a vedere cosa ne deriva.

direi che la punteggiatura è un indicatore che si potrebbe usare ...

  • ? - Una domanda
  • !?!? (o qualche variante) Incredulità
  • ! con frasi come stupido, idiota, ecc ... - Rabbia
  • ... - esitazione, il sarcasmo

Si potrebbe anche provare a salire su acronimi comuni come ...

  • LOL - Ridere (positivo)
  • WTF, OMG - Incredulità, Shock
  • IMO - Pensare, spiegando

Questa è chiaramente una cosa abbastanza complessa che stai cercando di fare, ma sembra molto interessante.

2

Bene, latent semantic analysis (avere uno paper) sembra il campo di indagine più vicino e consolidato a quello di cui stai parlando. È meno "orientato al valore" e più focalizzato su documenti più grandi, ma potrebbe avere qualche rilevanza per il tuo problema.

Problemi correlati