依赖解析网页上的树可视化

icy*_*ndy 5 html5 dependencies parsing visualization

下面是依赖解析树的示例.

依赖解析树

我想在html网页上将其可视化,任何人都可以向我展示一些示例或方向吗?我熟悉C/C++,Python,但不熟悉html/javascript.

非常感谢!

Ami*_*pta 4

将输出转换为 json 并将其传递给一些 js 图形库,如 d3、raphael 等。

演示和参考

例如解析树

“我将在奥斯汀的 SXSW 上举办一场 NLP 研讨会。”

将会

(ROOT
  (S
    (NP (PRP I))
    (VP (VBP am)
      (VP (VBG going)
        (S
          (VP (TO to)
            (VP (VB do)
              (NP
                (NP (DT a) (NN seminar))
                (PP (IN on)
                  (NP (NNP NLP))))
              (PP (IN at)
                (NP (NNP SXSW)))
              (PP (IN in)
                (NP (NNP Austin))))))))
    (. .)))
Run Code Online (Sandbox Code Playgroud)

可以转化为

[{
    "data": {
        "type": "ROOT"
    },
    "children": [{
        "data": {
            "type": "S"
        },
        "children": [{
            "data": {
                "type": "NP"
            },
            "children": [{
                "data": {
                    "type": "PRP"
                },
                "children": [{
                    "data": {
                        "ne": "O",
                        "word": "I",
                        "type": "TK",
                        "pos": "PRP"
                    },
                    "children": []
                }]
            }]
        }, {
            "data": {
                "type": "VP"
            },
            "children": [{
                "data": {
                    "type": "VBP"
                },
                "children": [{
                    "data": {
                        "ne": "O",
                        "word": "am",
                        "type": "TK",
                        "pos": "VBP"
                    },
                    "children": []
                }]
            }, {
                "data": {
                    "type": "VP"
                },
                "children": [{
                    "data": {
                        "type": "VBG"
                    },
                    "children": [{
                        "data": {
                            "ne": "O",
                            "word": "going",
                            "type": "TK",
                            "pos": "VBG"
                        },
                        "children": []
                    }]
                }, {
                    "data": {
                        "type": "S"
                    },
                    "children": [{
                        "data": {
                            "type": "VP"
                        },
                        "children": [{
                            "data": {
                                "type": "TO"
                            },
                            "children": [{
                                "data": {
                                    "ne": "O",
                                    "word": "to",
                                    "type": "TK",
                                    "pos": "TO"
                                },
                                "children": []
                            }]
                        }, {
                            "data": {
                                "type": "VP"
                            },
                            "children": [{
                                "data": {
                                    "type": "VB"
                                },
                                "children": [{
                                    "data": {
                                        "ne": "O",
                                        "word": "do",
                                        "type": "TK",
                                        "pos": "VB"
                                    },
                                    "children": []
                                }]
                            }, {
                                "data": {
                                    "type": "NP"
                                },
                                "children": [{
                                    "data": {
                                        "type": "NP"
                                    },
                                    "children": [{
                                        "data": {
                                            "type": "DT"
                                        },
                                        "children": [{
                                            "data": {
                                                "ne": "O",
                                                "word": "a",
                                                "type": "TK",
                                                "pos": "DT"
                                            },
                                            "children": []
                                        }]
                                    }, {
                                        "data": {
                                            "type": "NN"
                                        },
                                        "children": [{
                                            "data": {
                                                "ne": "O",
                                                "word": "seminar",
                                                "type": "TK",
                                                "pos": "NN"
                                            },
                                            "children": []
                                        }]
                                    }]
                                }, {
                                    "data": {
                                        "type": "PP"
                                    },
                                    "children": [{
                                        "data": {
                                            "type": "IN"
                                        },
                                        "children": [{
                                            "data": {
                                                "ne": "O",
                                                "word": "on",
                                                "type": "TK",
                                                "pos": "IN"
                                            },
                                            "children": []
                                        }]
                                    }, {
                                        "data": {
                                            "type": "NP"
                                        },
                                        "children": [{
                                            "data": {
                                                "type": "NN"
                                            },
                                            "children": [{
                                                "data": {
                                                    "ne": "ORGANIZATION",
                                                    "word": "NLP",
                                                    "type": "TK",
                                                    "pos": "NN"
                                                },
                                                "children": []
                                            }]
                                        }]
                                    }]
                                }]
                            }, {
                                "data": {
                                    "type": "PP"
                                },
                                "children": [{
                                    "data": {
                                        "type": "IN"
                                    },
                                    "children": [{
                                        "data": {
                                            "ne": "O",
                                            "word": "at",
                                            "type": "TK",
                                            "pos": "IN"
                                        },
                                        "children": []
                                    }]
                                }, {
                                    "data": {
                                        "type": "NP"
                                    },
                                    "children": [{
                                        "data": {
                                            "type": "NNP"
                                        },
                                        "children": [{
                                            "data": {
                                                "ne": "ORGANIZATION",
                                                "word": "SXSW",
                                                "type": "TK",
                                                "pos": "NNP"
                                            },
                                            "children": []
                                        }]
                                    }]
                                }]
                            }, {
                                "data": {
                                    "type": "PP"
                                },
                                "children": [{
                                    "data": {
                                        "type": "IN"
                                    },
                                    "children": [{
                                        "data": {
                                            "ne": "O",
                                            "word": "in",
                                            "type": "TK",
                                            "pos": "IN"
                                        },
                                        "children": []
                                    }]
                                }, {
                                    "data": {
                                        "type": "NP"
                                    },
                                    "children": [{
                                        "data": {
                                            "type": "NNP"
                                        },
                                        "children": [{
                                            "data": {
                                                "ne": "LOCATION",
                                                "word": "Austin",
                                                "type": "TK",
                                                "pos": "NNP"
                                            },
                                            "children": []
                                        }]
                                    }]
                                }]
                            }]
                        }]
                    }]
                }]
            }]
        }, {
            "data": {
                "type": "."
            },
            "children": [{
                "data": {
                    "ne": "O",
                    "word": ".",
                    "type": "TK",
                    "pos": "."
                },
                "children": []
            }]
        }]
    }]
}]
Run Code Online (Sandbox Code Playgroud)

可以使用 d3 进行绘制