的documentation提供了pprint()
方法,以展樹成一行。
解析這句話:
string = "My name is Ross and I am cool. What's going on world? I'm looking for friends."
,然後調用pprint()
產生如下:
u"(NP+SBAR+S\n (S\n (NP (PRP$ my) (NN name))\n (VP\n (VBZ is)\n (NP (NNP Ross) (CC and) (PRP I) (JJ am) (NN cool.))\n (SBAR\n (WHNP (WP What))\n (S+VP (VBZ 's) (VBG going) (NP (IN on) (NN world)))))\n (. ?))\n (S\n (NP (PRP I))\n (VP (VBP 'm) (VBG looking) (PP (IN for) (NP (NNS friends))))\n (. .)))"
從這一點來說,如果你想刪除的標籤和換行,你可以使用下面的split
和join
(see here):
splitted = tree.pprint().split()
flat_tree = ' '.join(splitted)
執行該得到這對我來說:
u"(NP+SBAR+S (S (NP (PRP$ my) (NN name)) (VP (VBZ is) (NP (NNP Ross) (CC and) (PRP I) (JJ am) (NN cool.)) (SBAR (WHNP (WP What)) (S+VP (VBZ 's) (VBG going) (NP (IN on) (NN world))))) (. ?)) (S (NP (PRP I)) (VP (VBP 'm) (VBG looking) (PP (IN for) (NP (NNS friends)))) (. .)))"
爲什麼你想這樣做?這只是使它很難處理。樹木很容易,並提供很多結構,你可以從文本中重新發明。 – 2015-03-15 09:29:57