2013-02-24 19 views
25

Tôi đang sử dụng nltk, vì vậy tôi muốn tạo các văn bản tùy chỉnh của riêng mình giống như các văn bản mặc định trên nltk.books. Tuy nhiên, tôi vừa đứng dậy để phương pháp này nhưLàm cách nào để mã hóa một câu chuỗi trong NLTK?

my_text = ['This', 'is', 'my', 'text'] 

Tôi muốn khám phá cách nào để đầu vào của tôi "văn bản" như:

my_text = "This is my text, this is a nice way to input text." 

Những phương pháp, python hoặc từ NLTK phép tôi làm điều này. Và quan trọng hơn, làm thế nào tôi có thể đánh giá thấp các ký hiệu chấm câu?

+0

Ông có thể làm rõ, điều gì làm bạn có ý nghĩa bởi 'đánh giá thấp punctation symbols'? – quetzalcoatl

+1

tôi nghĩ rằng anh ta có nghĩa là để tokenize câu đầu vào – alvas

+1

Vâng, ví dụ nếu tôi đã làm: sentente = "Đây là câu của tôi, một câu là một biểu thức ngắn" Vì vậy, 'câu' và 'câu' sẽ hai yếu tố khác nhau ... – diegoaguilar

Trả lời

95

Đây là thực sự trên main page of nltk.org:

>>> import nltk 
>>> sentence = """At eight o'clock on Thursday morning 
... Arthur didn't feel very good.""" 
>>> tokens = nltk.word_tokenize(sentence) 
>>> tokens 
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning', 
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.'] 
+2

vấn đề là nó không phân chia /. Nếu bạn có "ngày hôm nay và/hoặc ngày mai là những ngày tốt", nó sẽ cho "và/hoặc" dưới dạng một mã thông báo theo mặc định. – thang

+1

làm cách nào để chuyển đổi "n't" thành "not"? Câu trả lời của – Omayr

-9

Như @PavelAnossov trả lời, câu trả lời kinh điển, sử dụng các chức năng trong word_tokenize NLTK:

from nltk import word_tokenize 
sent = "This is my text, this is a nice way to input text." 
word_tokenize(sent) 

Nếu câu của bạn thực sự là đơn giản đủ:

Sử dụng các thiết lập string.punctuation, loại bỏ dấu chấm câu sau đó tách bằng cách sử dụng dấu phân cách khoảng trắng:

import string 
x = "This is my text, this is a nice way to input text." 
y = "".join([i for i in x if not in string.punctuation]).split(" ") 
print y 
+2

@ pavel sẽ giải quyết các vấn đề như 'không' ->' did' + 'n't' – alvas

Các vấn đề liên quan