nltk.tokenize.word_tokenize(text)
basitçe görünüşte bir cümle ayrıştırmak için basit normal ifade kullanan bir TreebankWordTokenizer sınıfının bir örneğinin tokenize
yöntemini çağıran ince wrapper function olduğunu.
Bu tokenizer metin zaten cümle içine segmentli varsayar:
o sınıf için dokümantasyon belirtiyor. Herhangi bir periyot - bir dizginin sonundakiler hariç - , eklendikleri kelimenin bir parçası olarak kabul edilir (örneğin kısaltmaları, vb.) Ve ayrı olarak belirtilmemişlerdir.
:
yatan tokenize
yöntem çok basittir: bu dizgenin sonunda düşer, temel olarak
def tokenize(self, text):
for regexp in self.CONTRACTIONS2:
text = regexp.sub(r'\1 \2', text)
for regexp in self.CONTRACTIONS3:
text = regexp.sub(r'\1 \2 \3', text)
# Separate most punctuation
text = re.sub(r"([^\w\.\'\-\/,&])", r' \1 ', text)
# Separate commas if they're followed by space.
# (E.g., don't separate 2,500)
text = re.sub(r"(,\s)", r' \1', text)
# Separate single quotes if they're followed by a space.
text = re.sub(r"('\s)", r' \1', text)
# Separate periods that come before newline or end of string.
text = re.sub('\. *(\n|$)', ' . ', text)
return text.split()
, hangi yöntem normalde ayrı bir belirteci olarak dönem tokenize olduğu
Dizenin içine düşen tüm dönemler, kelimenin kısaltması olduğu varsayılarak şu şekilde kısaltılır:
>>> nltk.tokenize.word_tokenize("Hello, world. How are you?")
['Hello', ',', 'world.', 'How', 'are', 'you', '?']
Bu davranış kabul edilebilir olduğu sürece, iyi olmalısınız.
'nltk.word_tokenize()' şimdi metin üzerinde çalışır Birden çok cümle içerir. – nedned