-4

我对NLTk和 python 不是很熟悉,我必须在一个程序中完成以下任务:

  1. 对输入文本进行标记和小写1
  2. 标记输入文本2
  3. 查找输入文本中的所有三元组1

谁能帮我?

4

3 回答 3

0

是nltk 示例的一部分吗text1text2然后看看它们,你会发现标记化并不像你想象的那样工作:-)

对于小写,请查看任何介绍性的 python 教程。对于 trigrams,请查看 nltk 书。

于 2012-06-28T11:40:52.047 回答
0

如果您不想使用 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)]"""
于 2019-12-28T13:37:08.360 回答
-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 你只需要应用标记化步骤

于 2014-06-22T01:35:28.957 回答