你可以在python中繁殖单词吗?

时间:2014-06-06 23:49:59

标签: python string nlp

我在Coursera上经历了旧的哥伦比亚NLP课程,而且我目前正在尝试做第一次任务。该类使用Python,但由于我对Java / Groovy更加熟悉,因此我决定重写Groovy中第一个赋值中给出的所有帮助程序。

我注意到原作者做了一些看起来像乘法的东西。我正在谈论的具体功能如下:

def get_ngrams(sent_iterator, n):
"""
Get a generator that returns n-grams over the entire corpus,
respecting sentence boundaries and inserting boundary tokens.
Sent_iterator is a generator object whose elements are lists
of tokens.
"""
for sent in sent_iterator:
     #Add boundary symbols to the sentence
     w_boundary = (n-1) * [(None, "*")]
     w_boundary.extend(sent)
     w_boundary.append((None, "STOP"))
     #Then extract n-grams
     ngrams = (tuple(w_boundary[i:i+n]) for i in xrange(len(w_boundary)-n+1))
     for n_gram in ngrams: #Return one n-gram at a time
        yield n_gram 

具体来说,我不明白这一行

         w_boundary = (n-1) * [(None, "*")]

我看到n在函数定义中声明,但我不知道它是什么。正在搜索"字符串乘法python"并没有给我任何帮助。有人可以解释这个python功能还是让我更好地了解我至少应该尝试搜索什么?

1 个答案:

答案 0 :(得分:1)

>>> n = 3
>>> w = n * [(None, "*")]
>>> print w
[(None, '*'), (None, '*'), (None, '*')]