2012-10-25 148 views
1

這裏只是一個快速的初學者問題與NLTK。 我想標記並從一個語料庫生成bigrams,trigrams和quadgram。NLTK標記問題

我需要將<s>添加到我的列表開頭,</s>到最後代替一個句點。

該列表取自nltk中的棕色語料庫。 (在那個特定的部分)

所以..我有

from nltk.corpus import brown 
news = brown.sents(categories = 'editorial') 

我是不是使這個太難了? 非常感謝。

回答

3
import nltk.corpus as corpus 

def mark_sentence(row): 
    if row[-1] == '.': 
     row[-1] = '</s>' 
    else: 
     row.append('</s>') 
    return ['<s>'] + row 

news = corpus.brown.sents(categories = 'editorial') 
for row in news[:5]: 
    print(mark_sentence(row)) 

產量

['<s>', 'Assembly', 'session', 'brought', 'much', 'good', '</s>'] 
['<s>', 'The', 'General', 'Assembly', ',', 'which', 'adjourns', 'today', ',', 'has', 'performed', 'in', 'an', 'atmosphere', 'of', 'crisis', 'and', 'struggle', 'from', 'the', 'day', 'it', 'convened', '</s>'] 
['<s>', 'It', 'was', 'faced', 'immediately', 'with', 'a', 'showdown', 'on', 'the', 'schools', ',', 'an', 'issue', 'which', 'was', 'met', 'squarely', 'in', 'conjunction', 'with', 'the', 'governor', 'with', 'a', 'decision', 'not', 'to', 'risk', 'abandoning', 'public', 'education', '</s>'] 
['<s>', 'There', 'followed', 'the', 'historic', 'appropriations', 'and', 'budget', 'fight', ',', 'in', 'which', 'the', 'General', 'Assembly', 'decided', 'to', 'tackle', 'executive', 'powers', '</s>'] 
['<s>', 'The', 'final', 'decision', 'went', 'to', 'the', 'executive', 'but', 'a', 'way', 'has', 'been', 'opened', 'for', 'strengthening', 'budgeting', 'procedures', 'and', 'to', 'provide', 'legislators', 'information', 'they', 'need', '</s>'] 
+0

哦!謝謝你的理解,我坐在這裏搔着我的頭。我想現在我只需要弄清楚如何將bigrams,tri等列出來並計算概率。 – user1378618

+0

nltk的書告訴你如何製作ngrams,並且還指出nltk自己的bigram,trigram和ngram [functions。](http://nltk.googlecode.com/svn/trunk/doc/api/nltk。 UTIL-module.html) – alexis