2015-01-07 24 views
5

Ho una raccolta di fatture e fatture, quindi non c'è un contesto nel testo (cioè non raccontano una storia). Voglio estrarre nomi di persone da quelle fatture. Ho provato OpenNLP ma la qualità del modello addestrato non è buona perché non ho contesto. quindi la prima domanda è: posso addestrare il modello contiene solo nomi di persone senza contesto? e se possibile, puoi darmi un buon articolo per come costruisco quel nuovo modello (la maggior parte dell'articolo che ho letto non ha spiegato i passi che avrei dovuto fare per costruire un nuovo modello).Estrai nome persona dal testo di struttura

Ho il nome del database con più di 100.000 persone nome (nome, cognome), quindi se i sistemi NER non funzionano nel mio caso (perché non c'è contesto), qual è il modo migliore per cercare quei candidati (intendo cercare ogni nome con tutti gli altri cognomi?)

grazie.

risposta

2

Per quanto riguarda il "contesto", suppongo che intendi che non hai frasi intere, cioè nessun token precedente/successivo, e in questo caso devi affrontare un NER non standard. Non sono a conoscenza del software disponibile o dei dati di addestramento per questo particolare problema, se non ne trovi nessuno dovrai costruire il tuo corpus per scopi di formazione e/o valutazione.

Il database di nomi sarà probabilmente di grande aiuto, a seconda di quale proporzione dei nomi di fatture sono effettivamente presenti nel database. Probabilmente dovrai anche fare affidamento sulla morfologia a livello di carattere dei nomi, come pattern (vedi ad esempio i pattern in [1]). Una volta che hai un set di formazione con caratteristiche (presenza nel database, morfologia, altre informazioni della bolletta) e soluzioni (nomi effettivi di fatture annotate), l'utilizzo dell'apprendimento automatico standard come SVM sarà abbastanza semplice (se non hai familiarità con questo, Chiedi solamente).

Alcuni altri suggerimenti:

  • Si può probabilmente anche usare altre informazioni di Bill: nome della società, le posizioni, fiscale menziona, ecc
  • Si può anche procedere in aa maniera selettiva - se tutte le fatture devono menzionare (esattamente?) il nome di una persona, è possibile escludere tutti gli altri testi (es. importi, nomi fiscali, posizioni ecc.) o assumere in un modello dedicato che tra tutti i testi in una fattura, solo uno dovrebbe essere indovinato come nome.

[1] algoritmi di ranking per nome-entità di estrazione: rafforzare e il perceptron votato (Michael Collins, 2002)

2

mi piacerebbe iniziare con alcune espressioni regolari, poi eventualmente aumentare che con un base di dizionario- approccio (cioè, una grande lista di nomi).

Non importa quello che fai, non sarà perfetto, quindi assicurati di tenerlo a mente.