[英]Print sentence tree without using nltk.tree
我有一個像這樣的句子樹:
[{'ROOT': ['S']}, {'S': ['VPS']}, {'VPS': ['N', 'VP']}, {'N': ['#']}, {'VP': ['PP', 'MV']}, {'PP': ['PREP_EZ', 'N']}, {'PREP_EZ': ['#']}, {'N': ['#']}, {'MV': ['N', 'V']}, {'N': ['#']}, {'V': ['#']}]
如何在不使用 nltk.tree 的情況下打印其對應的樹? (由於某些原因,我不能使用 nltk 庫)
我期待這樣的事情:所需的 output
好的,讓我們看看這是否可以幫助您:
class Node:
def __init__(self, value, children=[]):
self.value = value
self.children = children
def __str__(self, level=0):
str = " " * level + " |--" + self.value + "\n"
for child in self.children:
str += child.__str__(level + 1)
return str
tree = Node('ROOT', children=[
Node('S', children=[
Node('VPS', children=[
Node('N'),
Node('VP', children=[
Node('PP', children=[
Node('PREP_EZ')
]),
Node('MV', children=[
Node('N'),
Node('V')
])
])
])
])
])
>>> print(tree)
|--'ROOT'
|--'S'
|--'VPS'
|--'N'
|--'VP'
|--'PP'
|--'PREP_EZ'
|--'MV'
|--'N'
|--'V'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.