Mentre in generale sono d'accordo con Nikita sul fatto che qualsiasi set di strumenti CRF specifico non è la fonte della bassa precisione e che si tratta di un problema di approccio alle soluzioni. Non sono sicuro che l'approccio a due fasi, mentre molto accurato ed efficace quando completo, dimostrato da Park, et al. è un approccio pratico al tuo problema.
Per uno, i "due stadi" a cui si fa riferimento nella carta sono un SVM/CRF accoppiato che non è così facile da configurare al volo se questa non è la principale area di studio. Ognuno comporta l'addestramento su dati etichettati e un certo grado di ottimizzazione.
Due, è improbabile che il set di dati effettivo (in base alla descrizione sopra riportata) sia strutturato in modo differenziato in quanto questa particolare soluzione è stata progettata per far fronte mantenendo ancora un'elevata precisione. In tal caso questo livello di apprendimento supervisionato non è necessario.
Se posso proporre una soluzione specifica per il dominio con molte delle stesse funzionalità che dovrebbero essere molto più facili da implementare in qualunque strumento tu stia utilizzando, vorrei provare un approccio semantico (limitato), che è semi-supervisionato, specificatamente eccezione (errore) consigliato.
Invece di una frase inglese come la tua molecola di dati, hai una voce bibliografica. Le parti di questa molecola che devono essere presenti sono la parte dell'autore, la parte del titolo, la parte della data e la parte dell'editore, ma potrebbero esserci anche altre parti di dati (numero di pagina, ID del volume, ecc.).
Poiché alcune di queste parti possono essere annidate (ad esempio pagina # nella parte dell'editore) l'una dentro l'altra o in un ordine di arrangiamento vario, ma comunque valide dal punto di vista operativo, è un buon indicatore per l'uso di alberi semantici.
Inoltre, il fatto che ogni area, sebbene variabile, ha caratteristiche uniche: parte dell'autore (i nomi personali sono formati per esempio Blow, J. O James, e così via, ecc.); la parte del titolo (citata o in corsivo ha una struttura di frasi standard); data parte (formati data, racchiusa tra(), ecc.), significa che è necessaria una formazione generale inferiore rispetto all'analisi tokenizzata e non strutturata. Alla fine questo meno apprendimento per il tuo programma.
Inoltre ci sono relazioni strutturali che possono essere apprese per migliorare la precisione per esempio: parte di data (spesso alla fine o sezioni chiave di separazione), parte dell'autore (spesso all'inizio, o dopo il titolo), ecc. è inoltre supportato dal fatto che molte associazioni ed editori hanno il loro modo di formattare tali riferimenti, questi possono essere appresi facilmente per relazione senza molti dati di addestramento.
Quindi, per riassumere segmentando le parti e facendo apprendimento strutturato, si riduce il pattern matching in ogni sotto-parte e l'apprendimento è relegato a pattern relazionali, che sono più affidabili, poiché è così che costruiamo tali voci come gli esseri umani.
Inoltre c'è un sacco di strumenti per questo tipo di dominio specifico di apprendimento semantico
http://www.semantic-measures-library.org/ http://wiki.opensemanticframework.org/index.php/Ontology_Tools
Speranza che aiuta :)
potrebbe essere necessario dare una serie completa di esempi di stringhe per mostrare la varietà di modi in cui le voci della bibliografia sono formattate.Un esempio va bene se ogni voce ha esattamente lo stesso formato, ma ho il sospetto che stiate vedendo una pletora di strutture diverse in queste voci bibliografiche, quindi una serie più completa di esempi aiuterà le persone a suggerire modi per estrarre i dati desiderati. – Bobulous