This interface reads in a text file containing a set of Penn Treebank-style parses. It then displays the parses in tree form. Users can edit the parse with by dragging and dropping nodes in the tree. Edited trees can then be converted into Penn Treebank-style bracketed forms.
General procedure
Get a tree: Enter the index (the serial number, so to speak) of the tree in the Index box. Click the "Get tree" button.
Input tree: Enter Penn Treebank-style trees (round brackets/parentheses, not square brackets) in the Input box.
Display tree: Click the "Display" button.
Edit tree: see below.
View edited tree: To view the revised bracketed version of the tree, click on "Bracketed form" tab, and then click "Generate".
Save a tree: Click the "Log" button. The current version of the tree will be added to the textbox in "All edited trees". Copy and paste from this textbox to a text file. (Much manual intervention needed. See wishlist below.)
Be careful:
If you click on the "Log" button for the same tree multiple times, multiple copies of the tree will be added.
If you accidentally close the window or hit the Refresh button, all edits will be lost!
Keyboard shortcuts
Log tree: shift-s (*s*ave)
Delete: F6
Add terminal nodes
Add pro: shift-0 (zero)
Add argument trace: shift-g
Add adjunct trace: shift-j
Add null complementizer: shift-c
Modify nonterminal nodes
Edit (change) label: shift-e OR ` (the key on the left of "1", "unshifted" tilde)
Add flag to label: shift-f
Add a PRN/Parenthetical nonterminal node: shift-p
Add a INTJ/Interjection nonterminal node: shift-i
Add a EDITED/restarts nonterminal node: shift-r
How to edit a tree
To re-attach a node: click on it and then drag and drop it to the desired parent node.
To re-order nodes within a tree:
Click on a node that is not on the right edge.
Drag and drop it to its parent, as if re-attaching it. This moves the node to the right edge.
Repeat as necessary.
To change a non-terminal node label:
Click on the node (the node should be highlighted in yellow).
Type in the corrected label in the top box of "New node" (feel free to leave the bottom box blank).
Select "Edit label".
Click "Update" button.
To add a child or sibling to a node:
Click on the node.
Type in the label and string in the top box of "New node". Feel free to leave the bottom box blank if it's a non-terminal node. Otherwise, type in the word.
Select "Add as child" or "Add as sibling".
Click "Update" button. The new node will appear on the right edge.
Wishlist, in descending order of priority
How to write trees directly to a database -- but solving this problem could lead to overwriting trees by mistake!
How to right click on a node and make edits directly on the node.
Phrase Structure Tree Editor (beta version)
Based on OrgChart by dabeng, originally released under the MIT License.
Modified work (c) 2020-present z-n-huang. All substantial changes can be identified by "z-n-huang" in comments in the source code.