2013-04-07 14 views
16

Il mio lavoro prevede di utilizzare un cluster UIMA per eseguire documenti attraverso per estrarre le entità denominate e quali no. A quanto ho capito, UIMA ha pochissime componenti della PNL confezionate con essa. Ho provato GATE per un po 'di tempo e ne sono abbastanza tranquillo. Funziona bene con il testo normale, ma quando lo eseguiamo attraverso alcuni dati di test rappresentativi, la precisione diminuisce. I dati di testo che abbiamo internamente a volte sono tutti maiuscoli, a volte tutti minuscoli o un mix dei due nello stesso documento. Anche usando le regole di tutte le maiuscole di ANNIE, la precisione lascia ancora molto a desiderare. Di recente ho sentito parlare di Stanford NLP e OpenNLP, ma non ho avuto il tempo di allenarmi e testarli in modo estensivo. Come si confrontano questi due in termini di accuratezza con ANNIE? Funzionano con UIMA come fa GATE?Precisione: ANNIE vs Stanford NLP vs OpenNLP con UIMA

Grazie in anticipo.

+1

ANNIE è basato su regole. La mia ipotesi è che Stanford NLP e OpenNLP dovrebbero funzionare meglio dal momento che sono basati su ML. –

risposta

18

Non è possibile/ragionevole fornire una stima generale delle prestazioni di questi sistemi. Come hai detto, sui dati di test la precisione diminuisce. Questo è per diversi motivi, uno è le caratteristiche linguistiche dei tuoi documenti, un altro è le caratteristiche delle annotazioni che ti aspetti di vedere. Per ogni attività NER ci sono linee guida per le annotazioni simili ma ancora diverse.

Dopo aver detto questo, le vostre domande:

ANNIE è l'unico sistema NER libero e open source basato su regole in Java sono riuscito a trovare. È scritto per articoli di notizie e immagino sia sintonizzato per l'attività MUC 6. È buono per la dimostrazione dei concetti, ma diventa un po 'obsoleto. Il vantaggio principale è che puoi iniziare a migliorarlo senza alcuna conoscenza in machine learning, nlp, beh forse un po 'di java. Basta studiare JAPE e dargli un colpo.

OpenNLP, Stanford NLP, ecc. Vengono di default con modelli per articoli di notizie ed eseguono (guardando solo i risultati, mai testati su un grande corpus) meglio di ANNIE. Mi è piaciuto il parser di Stanford meglio di OpenNLP, di nuovo guardando solo i documenti, soprattutto articoli di notizie.

Senza sapere come sono i tuoi documenti, non posso dire molto altro. Dovresti decidere se i tuoi dati sono adatti per le regole o se usi il metodo di apprendimento automatico e usa il parser OpenNLP o Stanford o Illinois tagger o altro. Il parser di Stanford sembra più appropriato per il semplice versamento dei dati, la formazione e la produzione di risultati, mentre OpenNLP sembra più appropriato per provare algoritmi diversi, giocare con parametri, ecc.

Per la tua controversia su GATE over UIMA, ho provato entrambi e ho trovato più community virale e documentazione migliore per GATE. Ci scusiamo per aver espresso opinioni personali :)

5

Solo per il record che risponde all'angolo UIMA: per Stanford NLP e OpenNLP, c'è un packaging eccellente come i motori di analisi UIMA disponibili tramite lo DKPro Core project.

3

Vorrei aggiungere un'altra nota. UIMA e GATE sono due framework per la creazione di applicazioni di Natural Language Processing (NLP). Tuttavia, Name Entity Recognition (NER) è un componente NLP di base e puoi trovare un'implementazione di NER, indipendentemente da UIMA e GATE. La buona notizia è che di solito puoi trovare un wrapper per un NER decente in UIMA e GATE.Per far capire Vediamo questo esempio:

E 'lo stesso per la componente di Stanford NER.

Tornando alla tua domanda, questo sito elenca lo stato dei Ners arte: http://www.aclweb.org/aclwiki/index.php?title=Named_Entity_Recognition_(State_of_the_art)

Ad esempio, nel concorso MUC-7, miglior partecipante di nome LTG ha ottenuto il risultato con la precisione del 93.39%.

http://www.aclweb.org/aclwiki/index.php?title=MUC-7_(State_of_the_art)

Si noti che se si desidera utilizzare un tale stato di realizzazione sono, si può avere qualche problema con il loro licenza.

Problemi correlati