我对NLTk和 python 不是很熟悉,我必须在一个程序中完成以下任务:
- 对输入文本进行标记和小写1
- 标记输入文本2
- 查找输入文本中的所有三元组1
谁能帮我?
是nltk 示例的一部分吗text1
?text2
然后看看它们,你会发现标记化并不像你想象的那样工作:-)
对于小写,请查看任何介绍性的 python 教程。对于 trigrams,请查看 nltk 书。
如果您不想使用 nltk ngrams:
"""import nltk
from nltk import word_tokenize
text1 = "I really like python"
text2 = " Python is a snake"
token=nltk.word_tokenize(text1)
token=nltk.word_tokenize(text2)
low_text1=nltk.word_tokenize(text1.lower())
N = 3
grams = [low_text1[i:i+N] for i in xrange(len(low_text1)-N+1)]"""
如果您没有找到所有三元组的示例,则应首先对其进行标记
>>> import nltk
>>> from nltk import word_tokenize
>>> from nltk.util import ngrams
>>> text1 = "Hi How are you? i am fine and you"
>>> token=nltk.word_tokenize(text1) #tokenize your text
>>> tttt=nltk.word_tokenize(text.lower()) #tokenize your text and make it lowercase in onestep
>>> tttt
['hi', 'how', 'are', 'you', '?', 'i', 'am', 'fine', 'and', 'you']
>>> trigrams=ngrams(token,3) # find all the trigram in text1
>>> trigrams
[('Hi', 'How', 'are'), ('How', 'are', 'you'), ('are', 'you', '?'), ('you', '?', 'i'), ('?', 'i', 'am'), ('i', 'am', 'fine'), ('am', 'fine', 'and'), ('fine', 'and', 'you')]
关于制作你的 text2 你只需要应用标记化步骤