Trình mã thông báo mặc định của NLTK, nltk.word_tokenizer, chuỗi hai mã thông báo, một trình thông báo câu và sau đó một trình mã thông báo từ hoạt động trên các câu. Nó làm một công việc khá tốt ngoài hộp.Làm cách nào để sử dụng trình mã thông báo mặc định của NLTK để có được các nhịp thay vì chuỗi?
>>> nltk.word_tokenize("(Dr. Edwards is my friend.)")
['(', 'Dr.', 'Edwards', 'is', 'my', 'friend', '.', ')']
Tôi muốn sử dụng cùng một thuật toán này ngoại trừ việc giải thuật này trả về số lượng bù trừ vào chuỗi gốc thay vì mã thông báo chuỗi.
Bằng cách bù đắp, tôi có nghĩa là 2-ples có thể đóng vai trò như chỉ mục trong chuỗi gốc. Ví dụ ở đây tôi muốn có
>>> s = "(Dr. Edwards is my friend.)"
>>> s.token_spans()
[(0,1), (1,4), (5,12), (13,15), (16,18), (19,25), (25,26), (26,27)]
vì s [0: 1] là "(", s [1: 4] là "Tiến sĩ" và vân vân
Có NLTK duy nhất. gọi đó là thực hiện điều này, hay tôi phải viết bù đắp số học của riêng tôi?
Ý của bạn là "bù đắp". Có thể chỉ số chuỗi trên danh sách? ví dụ: 'Dr.' là chỉ số 1 .. – felipsmartins
Được chỉnh sửa để làm rõ ý tôi là bằng cách bù đắp. –