Mark Chang's Blog

Machine Learning, Deep Learning and Python

NLTK Tree

今天我們來看看nltk.Tree要怎麼用

先載入模組

1
>>> from nltk import Tree

1.build syntax tree

舉個例子

Gary plays baseball

此句子的剖析樹(syntax tree)是這樣:

nltk1.png

用nltk.Tree來建構tree:

1
2
3
4
5
>>> tree=Tree('S',[Tree('NP',['Gary']),
...           Tree('VP',[Tree('VT',['plays']),
...                     Tree('NP',['baseball'])])])

>>> tree.draw()

即可將剖析樹畫出來

若沒安裝 python-tk,你也可以這樣把tree印出

1
2
>>> tree.pprint()
'(S (NP Gary) (VP (VT plays) (NP baseball)))'

Python List Comprehension

List comprehension(列表示推導)是一種可以讓程式碼更簡潔,增加可讀性與執行效率的方法。

可以將很多行的for迴圈縮在短短一行之內,很方便!

1.

假如我們現在有一個list–l1

1
l1=[2,5,3,8,4,9]

若我們想要建立一個新表單l2,是把l1中的每一個元素加上二,最先想到的寫法是:

1
2
3
l2=[]
for l in l1:
   l2.append(l+2)

知道怎麼用List comprehension的話,我們可以用列表示:

1
l2=[l+2 for l in l1]

這樣看起來就簡潔多了!