Modelo de tren usando entidad nombrada
Estoy buscando en el standford corenlp usando el Reconocidor de Entidad Nombrada. Tengo diferentes tipos de texto de entrada y necesito etiquetarlo en mi propia Entidad. Así que comencé a entrenar mi propio modelo y parece que no funciona.
Por ejemplo: mi cadena de texto de entrada es "Libro de 49 artículos de revista sobre Toyota Land Cruiser 1956-1987 Gold Portfoliohttp://t.co/EqxmY1VmLg http://t.co/F0Vefuoj9Q"
Reviso los ejemplos para entrenar a mis propios modelos y busco solo algunas palabras que me interesen.
Mi jane-austen-emma-ch1.tsv se ve así
Toyota PERS
Land Cruiser PERS
Del texto de entrada anterior solo estoy interesado en esas dos palabras. Uno es Toyota y la otra palabra es Land Cruiser.
El austin.prop se ve así
trainFile = jane-austen-emma-ch1.tsv
serializeTo = ner-model.ser.gz
map = word=0,answer=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
useDisjunctive=true
maxNGramLeng=6
usePrev=true
useNext=true
useSequences=true
usePrevSequences=true
maxLeft=1
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
Ejecute el siguiente comando para generar el archivo ner-model.ser.gz
java -cp stanford-corenlp-3.4.1.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop
public static void main(String[] args) {
String serializedClassifier = "edu/stanford/nlp/models/ner/english.muc.7class.distsim.crf.ser.gz";
String serializedClassifier2 = "C:/standford-ner/ner-model.ser.gz";
try {
NERClassifierCombiner classifier = new NERClassifierCombiner(false, false,
serializedClassifier2,serializedClassifier);
String ss = "Book of 49 Magazine Articles on Toyota Land Cruiser 1956-1987 Gold Portfolio http://t.co/EqxmY1VmLg http://t.co/F0Vefuoj9Q";
System.out.println("---");
List<List<CoreLabel>> out = classifier.classify(ss);
for (List<CoreLabel> sentence : out) {
for (CoreLabel word : sentence) {
System.out.print(word.word() + '/' + word.get(AnswerAnnotation.class) + ' ');
}
System.out.println();
}
} catch (ClassCastException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Aquí está la salida que estoy obteniendo
Book/PERS of/PERS 49/O Magazine/PERS Articles/PERS on/O Toyota/PERS Land/PERS Cruiser/PERS 1956-1987/PERS Gold/O Portfolio/PERS http://t.co/EqxmY1VmLg/PERS http://t.co/F0Vefuoj9Q/PERS
lo que creo que está mal. Estoy buscando Toyota / PERS y Land Cruiser / PERS (que es una versión de varios valores.
Gracias por la ayuda. Cualquier ayuda es realmente apreciada.