2011-11-20 13 views
6

Le espressioni regolari del parser di chunk di NLTK possono corrispondere ai tag POS, ma possono anche corrispondere a parole specifiche?
Quindi, supponiamo di voler bloccare qualsiasi struttura con un nome seguito dal verbo "sinistra" (chiama questo modello L). Ad esempio, la frase "the \ DT dog \ NN left \ VB" deve essere suddivisa in
(S (DT the) (L (NN dog) (VB sinistra))), ma la frase "the \ DT dog \ NN ha dormito \ VB "non sarebbe stato affatto suddiviso.Parole corrispondenti con l'analizzatore chunk di NLTK

Non sono stato in grado di trovare alcuna documentazione sulla sintassi regex dei chunking e tutti gli esempi che ho visto corrispondono solo ai tag POS.

risposta

1

Ho avuto un problema simile e dopo aver realizzato che il modello di espressione regolare esaminerà solamente i tag, ho cambiato il tag sul pezzo che mi interessava.

Per esempio, stavo cercando di abbinare il nome del prodotto e la versione e l'utilizzo di una regola chunk come \ NNP + \ CD ha funzionato per "Internet Explorer 8.0" ma non è riuscito su "Internet Explorer 8.0 SP2" dove ha contrassegnato SP2 come NNP.

Forse avrei potuto addestrare un tagger POS, ma ho deciso invece di cambiare il tag in SP e quindi una regola chunk come \ NNP + \ CD \ SP * corrisponderà ad entrambi gli esempi.

+0

Potete fornire un esempio lungo le linee di: chunkGram = r "" "Chunk: {? * * + }" "" – ProfVersaggi

Problemi correlati