2011-11-28 16 views
8

sto usando il nucleo NLP Stanford e utilizzare questa linea per caricare alcuni moduli per elaborare il mio testo:Chunking un testo con la Stanford-PNL

props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref"); 

È ther un modulo che posso caricare spezzato il testo?

O qualche suggerimento con un modo alterante di usare il nucleo di Stanford per tagliare del testo?

Grazie

+0

Con "chunking" stai che significa individuando le cose come base di pezzi NP e gruppi verbali? O intendi la divisione di un testo di grandi dimensioni in segmenti, come i raggruppamenti di testo correlati come i singoli commenti del blog? –

+1

Sto facendo la stessa identica domanda; nel mio caso intendo l'estrazione di frasi di nome per esempio – humanzz

risposta

5

penso che l'uscita parser può essere utilizzato per ottenere pezzi NP. Dai un'occhiata alla rappresentazione senza contesto sullo Stanford Parser website che fornisce un esempio di output.

5

Per utilizzare la suddivisione in blocchi con la Stanford PNL è possibile utilizzare i seguenti pacchetti:

  • Yamcha: SVM-based NP-chunker, utilizzabile anche per il POS tagging, NER, ecc C/C++ open source. Ha vinto l'attività condivisa di CoNLL 2000. (Meno automatico di un tagger POS specializzato per un utente finale.)
  • Chunker di frase di Mark Greenwood: reimplementazione di Java di Ramshaw e Marcus (1995).
  • fnTBL: un'implementazione rapida e flessibile dell'apprendimento basato sulla trasformazione in C++. Include un tagger POS, ma anche chunking NP e modelli di chunking generici.

Fonte: http://www-nlp.stanford.edu/links/statnlp.html#NPchunk

+2

Questi sono solo pacchetti per fare chunking NP. Ad esempio: Noun Phrase Chunker di Mark Greenwood, fornisce un wrapper GATE, ma non alcun wrapper per l'uso di un albero di analisi StanfordNLP, ecc. Penso che si possa fare un chunking basato su espressioni regolari, ci può essere un annotatore personalizzato che si aggiunge alla pipeline. Dì un commentatore personalizzato utilizzando TokenRegex su POS, messo dopo "parse" nella pipeline. In modo che l'albero di analisi possa avere un altro nodo "NNP" sotto il quale sono presenti i token Chunked. Spero che qualcuno lo abbia fatto da qualche parte per coreNLP. – aditrip