Sto cercando di trovare le collocazioni con NLTK in un testo utilizzando il metodo incorporato.Python nltk: Trova collocazioni senza parole separate da punti
Ora sto avendo il seguente esempio di testo (prova e foo si susseguono, ma c'è un confine frase in mezzo):
content_part = """test. foo 0 test. foo 1 test.
foo 2 test. foo 3 test. foo 4 test. foo 5"""
Risultato da tokenizzazione e collocations()
è la seguente:
print nltk.word_tokenize(content_part)
# ['test.', 'foo', 'my', 'test.', 'foo', '1', 'test.',
# 'foo', '2', 'test.', 'foo', '3', 'test.', 'foo', '4', 'test.', 'foo', '5']
print nltk.Text(nltk.word_tokenize(content_part)).collocations()
# test. foo
Come può Impedisco NLTK da:
- Compreso il punto nella mia tokenizzazione
- non trovano collocazioni() oltre i confini di frase?
Quindi in questo esempio non dovrebbe stampare alcuna collocazione, ma immagino che si possano immaginare testi più complicati in cui ci sono anche collocazioni all'interno di frasi.
Posso immaginare che ho bisogno di usare il Punkt frase segmenter, ma poi non so come metterli di nuovo insieme per trovare collocazioni con NLTK (collocation()
sembra essere più potente di roba solo contando me stesso).