欢迎来到HanLP在线交互环境,这是一个Jupyter记事本,可以输入任意Python代码并在线执行。请点击左上角【Run】来运行这篇NLP教程。
!pip install hanlp_restful
Requirement already satisfied: hanlp_restful in /usr/local/lib/python3.7/dist-packages (0.0.7) Requirement already satisfied: hanlp-common in /usr/local/lib/python3.7/dist-packages (from hanlp_restful) (0.0.9) Requirement already satisfied: phrasetree in /usr/local/lib/python3.7/dist-packages (from hanlp-common->hanlp_restful) (0.0.8)
创建客户端,填入服务器地址:
from hanlp_restful import HanLPClient
HanLP = HanLPClient('https://www.hanlp.com/api', auth=None, language='zh') # auth不填则匿名,zh中文,mul多语种
调用parse
接口,传入一篇文章,得到HanLP精准的分析结果。
doc = HanLP.parse("2021年HanLPv2.1为生产环境带来次世代最先进的多语种NLP技术。阿婆主来到北京立方庭参观自然语义科技公司。")
print(doc)
{ "tok/fine": [ ["2021年", "HanLPv2.1", "为", "生产", "环境", "带来", "次", "世代", "最", "先进", "的", "多", "语种", "NLP", "技术", "。"], ["阿婆主", "来到", "北京", "立方庭", "参观", "自然", "语义", "科技", "公司", "。"] ], "tok/coarse": [ ["2021年", "HanLPv2.1", "为", "生产环境", "带来", "次世代", "最", "先进", "的", "多语种", "NLP", "技术", "。"], ["阿婆主", "来到", "北京立方庭", "参观", "自然语义科技公司", "。"] ], "pos/ctb": [ ["NT", "NR", "P", "NN", "NN", "VV", "JJ", "NN", "AD", "JJ", "DEG", "CD", "NN", "NR", "NN", "PU"], ["NN", "VV", "NR", "NR", "VV", "NN", "NN", "NN", "NN", "PU"] ], "pos/pku": [ ["t", "nx", "p", "vn", "n", "v", "b", "n", "d", "a", "u", "a", "n", "nx", "n", "w"], ["n", "v", "ns", "ns", "v", "n", "n", "n", "n", "w"] ], "pos/863": [ ["nt", "w", "p", "v", "n", "v", "a", "nt", "d", "a", "u", "a", "n", "ws", "n", "w"], ["n", "v", "ns", "n", "v", "n", "n", "n", "n", "w"] ], "ner/msra": [ [["2021年", "DATE", 0, 1], ["HanLPv2.1", "ORGANIZATION", 1, 2]], [["北京立方庭", "LOCATION", 2, 4], ["自然语义科技公司", "ORGANIZATION", 5, 9]] ], "ner/pku": [ [], [["北京立方庭", "ns", 2, 4], ["自然语义科技公司", "nt", 5, 9]] ], "ner/ontonotes": [ [["2021年", "DATE", 0, 1], ["HanLPv2.1", "ORG", 1, 2]], [["北京立方庭", "FAC", 2, 4], ["自然语义科技公司", "ORG", 5, 9]] ], "srl": [ [[["2021年", "ARGM-TMP", 0, 1], ["HanLPv2.1", "ARG0", 1, 2], ["为生产环境", "ARG2", 2, 5], ["带来", "PRED", 5, 6], ["次世代最先进的多语种NLP技术", "ARG1", 6, 15]], [["最", "ARGM-ADV", 8, 9], ["先进", "PRED", 9, 10], ["技术", "ARG0", 14, 15]]], [[["阿婆主", "ARG0", 0, 1], ["来到", "PRED", 1, 2], ["北京立方庭", "ARG1", 2, 4]], [["阿婆主", "ARG0", 0, 1], ["参观", "PRED", 4, 5], ["自然语义科技公司", "ARG1", 5, 9]]] ], "dep": [ [[6, "tmod"], [6, "nsubj"], [6, "prep"], [5, "nn"], [3, "pobj"], [0, "root"], [8, "amod"], [15, "nn"], [10, "advmod"], [15, "rcmod"], [10, "assm"], [13, "nummod"], [15, "nn"], [15, "nn"], [6, "dobj"], [6, "punct"]], [[2, "nsubj"], [0, "root"], [4, "nn"], [2, "dobj"], [2, "conj"], [9, "nn"], [9, "nn"], [9, "nn"], [5, "dobj"], [2, "punct"]] ], "sdp": [ [[[6, "Time"]], [[6, "Exp"]], [[5, "mPrep"]], [[5, "Desc"]], [[6, "Datv"]], [[13, "dDesc"]], [[0, "Root"], [8, "Desc"], [13, "Desc"]], [[15, "Time"]], [[10, "mDegr"]], [[15, "Desc"]], [[10, "mAux"]], [[8, "Quan"], [13, "Quan"]], [[15, "Desc"]], [[15, "Nmod"]], [[6, "Pat"]], [[6, "mPunc"]]], [[[2, "Agt"], [5, "Agt"]], [[0, "Root"]], [[4, "Loc"]], [[2, "Lfin"]], [[2, "ePurp"]], [[8, "Nmod"]], [[9, "Nmod"]], [[9, "Nmod"]], [[5, "Datv"]], [[5, "mPunc"]]] ], "con": [ ["TOP", [["IP", [["NP", [["NT", ["2021年"]]]], ["NP", [["NR", ["HanLPv2.1"]]]], ["VP", [["PP", [["P", ["为"]], ["NP", [["NN", ["生产"]], ["NN", ["环境"]]]]]], ["VP", [["VV", ["带来"]], ["NP", [["ADJP", [["NP", [["ADJP", [["JJ", ["次"]]]], ["NP", [["NN", ["世代"]]]]]], ["ADVP", [["AD", ["最"]]]], ["VP", [["JJ", ["先进"]]]]]], ["DEG", ["的"]], ["NP", [["QP", [["CD", ["多"]]]], ["NP", [["NN", ["语种"]]]]]], ["NP", [["NR", ["NLP"]], ["NN", ["技术"]]]]]]]]]], ["PU", ["。"]]]]]], ["TOP", [["IP", [["NP", [["NN", ["阿婆主"]]]], ["VP", [["VP", [["VV", ["来到"]], ["NP", [["NR", ["北京"]], ["NR", ["立方庭"]]]]]], ["VP", [["VV", ["参观"]], ["NP", [["NN", ["自然"]], ["NN", ["语义"]], ["NN", ["科技"]], ["NN", ["公司"]]]]]]]], ["PU", ["。"]]]]]] ] }
doc.pretty_print()
Dep Tree
────────────
┌─────────►
│┌────────►
││┌─►┌─────
│││ │ ┌─►
│││ └─►└──
┌┼┴┴────────
││ ┌─►
││ ┌───►└──
││ │ ┌─►
││ │┌──►├──
││ ││ └─►
││ ││ ┌─►
││ ││┌─►└──
││ │││ ┌─►
│└─►└┴┴──┴──
└──────────►
Token
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
Relati
──────
tmod
nsubj
prep
nn
pobj
root
amod
nn
advmod
rcmod
assm
nummod
nn
nn
dobj
punct
PoS
───
NT
NR
P
NN
NN
VV
JJ
NN
AD
JJ
DEG
CD
NN
NR
NN
PU
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
NER Type
────────────────
───►DATE
───►ORGANIZATION
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
SRL PA1
────────────
───►ARGM-TMP
───►ARG0
◄─┐
├►ARG2
◄─┘
╟──►PRED
◄─┐
│
│
│
├►ARG1
│
│
│
◄─┘
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
SRL PA2
────────────
───►ARGM-ADV
╟──►PRED
───►ARG0
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
PoS 3 4 5 6 7 8 9
─────────────────────────────────────────────────────────
NT ───────────────────────────────────────────►NP ───┐
NR ───────────────────────────────────────────►NP────┤
P ───────────┐ │
NN ──┐ ├────────────────────────►PP ───┐ │
NN ──┴►NP ───┘ │ │
VV ──────────────────────────────────┐ │ │
JJ ───►ADJP──┐ │ ├►VP────┤
NN ───►NP ───┴►NP ───┐ │ │ │
AD ───────────►ADVP──┼►ADJP──┐ ├►VP ───┘ ├►IP
JJ ───────────►VP ───┘ │ │ │
DEG──────────────────────────┤ │ │
CD ───►QP ───┐ ├►NP ───┘ │
NN ───►NP ───┴────────►NP────┤ │
NR ──┐ │ │
NN ──┴────────────────►NP ───┘ │
PU ──────────────────────────────────────────────────┘
Dep Tree
────────────
┌─►
┌┬────┬──┴──
││ │ ┌─►
││ └─►└──
│└─►┌───────
│ │ ┌───►
│ │ │┌──►
│ │ ││┌─►
│ └─►└┴┴──
└──────────►
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Relat
─────
nsubj
root
nn
dobj
conj
nn
nn
nn
dobj
punct
Po
──
NN
VV
NR
NR
VV
NN
NN
NN
NN
PU
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
NER Type
────────────────
◄─┐
◄─┴►LOCATION
◄─┐
│
├►ORGANIZATION
◄─┘
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
SRL PA1
────────
───►ARG0
╟──►PRED
◄─┐
◄─┴►ARG1
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
SRL PA2
────────
───►ARG0
╟──►PRED
◄─┐
│
├►ARG1
◄─┘
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Po 3 4 5 6
────────────────────────────────
NN───────────────────►NP ───┐
VV──────────┐ │
NR──┐ ├►VP ───┐ │
NR──┴►NP ───┘ │ │
VV──────────┐ ├►VP────┤
NN──┐ │ │ ├►IP
NN │ ├►VP ───┘ │
NN ├►NP ───┘ │
NN──┘ │
PU──────────────────────────┘
由于服务器算力有限,匿名用户每分钟限2次调用。如果你需要更多调用次数,建议申请免费公益API秘钥auth。
依赖PyTorch、TensorFlow等深度学习技术,适合专业NLP工程师、研究者以及本地海量数据场景。要求Python 3.6以上,支持Windows,推荐*nix。可以在CPU上运行,推荐GPU/TPU。
无论是Windows、Linux还是macOS,HanLP的安装只需一句话搞定。
!pip install hanlp -U
Requirement already satisfied: hanlp in /usr/local/lib/python3.7/dist-packages (2.1.0a54) Requirement already satisfied: sentencepiece>=0.1.91torch>=1.6.0 in /usr/local/lib/python3.7/dist-packages (from hanlp) (0.1.96) Requirement already satisfied: toposort==1.5 in /usr/local/lib/python3.7/dist-packages (from hanlp) (1.5) Requirement already satisfied: alnlp in /usr/local/lib/python3.7/dist-packages (from hanlp) (1.0.0rc27) Requirement already satisfied: hanlp-common>=0.0.9 in /usr/local/lib/python3.7/dist-packages (from hanlp) (0.0.9) Requirement already satisfied: hanlp-downloader in /usr/local/lib/python3.7/dist-packages (from hanlp) (0.0.23) Requirement already satisfied: hanlp-trie>=0.0.2 in /usr/local/lib/python3.7/dist-packages (from hanlp) (0.0.2) Requirement already satisfied: transformers>=4.1.1 in /usr/local/lib/python3.7/dist-packages (from hanlp) (4.9.1) Requirement already satisfied: termcolor in /usr/local/lib/python3.7/dist-packages (from hanlp) (1.1.0) Requirement already satisfied: pynvml in /usr/local/lib/python3.7/dist-packages (from hanlp) (11.0.0) Requirement already satisfied: phrasetree in /usr/local/lib/python3.7/dist-packages (from hanlp-common>=0.0.9->hanlp) (0.0.8) Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (3.0.12) Requirement already satisfied: sacremoses in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (0.0.45) Requirement already satisfied: tokenizers<0.11,>=0.10.1 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (0.10.3) Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (21.0) Requirement already satisfied: huggingface-hub==0.0.12 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (0.0.12) Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (5.4.1) Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (2019.12.20) Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (4.41.1) Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (2.23.0) Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (4.6.1) Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.7/dist-packages (from transformers>=4.1.1->hanlp) (1.19.5) Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from huggingface-hub==0.0.12->transformers>=4.1.1->hanlp) (3.7.4.3) Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->transformers>=4.1.1->hanlp) (2.4.7) Requirement already satisfied: torch in /usr/local/lib/python3.7/dist-packages (from alnlp->hanlp) (1.9.0+cu102) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->transformers>=4.1.1->hanlp) (3.5.0) Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->transformers>=4.1.1->hanlp) (1.24.3) Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->transformers>=4.1.1->hanlp) (3.0.4) Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->transformers>=4.1.1->hanlp) (2.10) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->transformers>=4.1.1->hanlp) (2021.5.30) Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers>=4.1.1->hanlp) (1.0.1) Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers>=4.1.1->hanlp) (7.1.2) Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers>=4.1.1->hanlp) (1.15.0)
HanLP的工作流程是先加载模型,模型的标示符存储在hanlp.pretrained
这个包中,按照NLP任务归类。
import hanlp
hanlp.pretrained.mtl.ALL # MTL多任务,具体任务见模型名称,语种见名称最后一个字段或相应语料库
{'CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_BASE_ZH': 'https://file.hankcs.com/hanlp/mtl/close_tok_pos_ner_srl_dep_sdp_con_electra_base_20210111_124519.zip', 'CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH': 'https://file.hankcs.com/hanlp/mtl/close_tok_pos_ner_srl_dep_sdp_con_electra_small_20210111_124159.zip', 'NPCMJ_UD_KYOTO_TOK_POS_CON_BERT_BASE_CHAR_JA': 'https://file.hankcs.com/hanlp/mtl/npcmj_ud_kyoto_tok_pos_ner_dep_con_srl_bert_base_char_ja_20210517_225654.zip', 'OPEN_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_BASE_ZH': 'https://file.hankcs.com/hanlp/mtl/open_tok_pos_ner_srl_dep_sdp_con_electra_base_20201223_201906.zip', 'OPEN_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH': 'https://file.hankcs.com/hanlp/mtl/open_tok_pos_ner_srl_dep_sdp_con_electra_small_20201223_035557.zip', 'UD_ONTONOTES_TOK_POS_LEM_FEA_NER_SRL_DEP_SDP_CON_MT5_SMALL': 'https://file.hankcs.com/hanlp/mtl/ud_ontonotes_tok_pos_lem_fea_ner_srl_dep_sdp_con_mt5_small_20210228_123458.zip', 'UD_ONTONOTES_TOK_POS_LEM_FEA_NER_SRL_DEP_SDP_CON_XLMR_BASE': 'https://file.hankcs.com/hanlp/mtl/ud_ontonotes_tok_pos_lem_fea_ner_srl_dep_sdp_con_xlm_base_20210602_211620.zip'}
调用hanlp.load
进行加载,模型会自动下载到本地缓存。自然语言处理分为许多任务,分词只是最初级的一个。与其每个任务单独创建一个模型,不如利用HanLP的联合模型一次性完成多个任务:
HanLP = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_BASE_ZH)
客户端创建完毕,或者模型加载完毕后,就可以传入一个或多个句子进行分析了:
doc = HanLP(['2021年HanLPv2.1为生产环境带来次世代最先进的多语种NLP技术。', '阿婆主来到北京立方庭参观自然语义科技公司。'])
print(doc)
{ "tok/fine": [ ["2021年", "HanLPv2.1", "为", "生产", "环境", "带来", "次", "世代", "最", "先进", "的", "多", "语种", "NLP", "技术", "。"], ["阿婆主", "来到", "北京", "立方庭", "参观", "自然", "语义", "科技", "公司", "。"] ], "tok/coarse": [ ["2021年", "HanLPv2.1", "为", "生产", "环境", "带来", "次世代", "最", "先进", "的", "多语种", "NLP", "技术", "。"], ["阿婆主", "来到", "北京立方庭", "参观", "自然语义科技公司", "。"] ], "pos/ctb": [ ["NT", "NR", "P", "NN", "NN", "VV", "JJ", "NN", "AD", "JJ", "DEG", "CD", "NN", "NR", "NN", "PU"], ["NN", "VV", "NR", "NR", "VV", "NN", "NN", "NN", "NN", "PU"] ], "pos/pku": [ ["t", "nx", "p", "vn", "n", "v", "b", "n", "d", "a", "u", "a", "n", "nx", "n", "w"], ["n", "v", "ns", "ns", "v", "n", "n", "n", "n", "w"] ], "pos/863": [ ["nt", "w", "p", "v", "n", "v", "a", "nt", "d", "a", "u", "a", "n", "ws", "n", "w"], ["n", "v", "ns", "n", "v", "n", "n", "n", "n", "w"] ], "ner/msra": [ [["2021年", "DATE", 0, 1], ["HanLPv2.1", "WWW", 1, 2]], [["北京", "LOCATION", 2, 3], ["立方庭", "LOCATION", 3, 4], ["自然语义科技公司", "ORGANIZATION", 5, 9]] ], "ner/pku": [ [], [["北京立方庭", "ns", 2, 4], ["自然语义科技公司", "nt", 5, 9]] ], "ner/ontonotes": [ [["2021年", "DATE", 0, 1], ["HanLPv2.1", "ORG", 1, 2]], [["北京立方庭", "FAC", 2, 4], ["自然语义科技公司", "ORG", 5, 9]] ], "srl": [ [[["2021年", "ARGM-TMP", 0, 1], ["HanLPv2.1", "ARG0", 1, 2], ["为生产环境", "ARG2", 2, 5], ["带来", "PRED", 5, 6], ["次世代最先进的多语种NLP技术", "ARG1", 6, 15]], [["最", "ARGM-ADV", 8, 9], ["先进", "PRED", 9, 10], ["技术", "ARG0", 14, 15]]], [[["阿婆主", "ARG0", 0, 1], ["来到", "PRED", 1, 2], ["北京立方庭", "ARG1", 2, 4]], [["阿婆主", "ARG0", 0, 1], ["参观", "PRED", 4, 5], ["自然语义科技公司", "ARG1", 5, 9]]] ], "dep": [ [[6, "tmod"], [6, "nsubj"], [6, "prep"], [5, "nn"], [3, "pobj"], [0, "root"], [8, "amod"], [15, "nn"], [10, "advmod"], [15, "rcmod"], [10, "assm"], [13, "nummod"], [15, "nn"], [15, "nn"], [6, "dobj"], [6, "punct"]], [[2, "nsubj"], [0, "root"], [4, "nn"], [2, "dobj"], [2, "conj"], [9, "nn"], [9, "nn"], [9, "nn"], [5, "dobj"], [2, "punct"]] ], "sdp": [ [[[6, "Time"]], [[6, "Exp"]], [[5, "mPrep"]], [[5, "Desc"]], [[6, "Datv"]], [[13, "dDesc"]], [[0, "Root"], [8, "Desc"], [13, "Desc"]], [[15, "Time"]], [[10, "mDegr"]], [[15, "Desc"]], [[10, "mAux"]], [[8, "Quan"], [13, "Quan"]], [[15, "Desc"]], [[15, "Nmod"]], [[6, "Pat"]], [[6, "mPunc"]]], [[[2, "Agt"], [5, "Agt"]], [[0, "Root"]], [[4, "Loc"]], [[2, "Lfin"]], [[2, "ePurp"]], [[8, "Nmod"]], [[9, "Nmod"]], [[9, "Nmod"]], [[5, "Datv"]], [[5, "mPunc"]]] ], "con": [ ["TOP", [["IP", [["NP", [["NT", ["2021年"]]]], ["NP", [["NR", ["HanLPv2.1"]]]], ["VP", [["PP", [["P", ["为"]], ["NP", [["NN", ["生产"]], ["NN", ["环境"]]]]]], ["VP", [["VV", ["带来"]], ["NP", [["ADJP", [["NP", [["ADJP", [["JJ", ["次"]]]], ["NP", [["NN", ["世代"]]]]]], ["ADVP", [["AD", ["最"]]]], ["VP", [["JJ", ["先进"]]]]]], ["DEG", ["的"]], ["NP", [["QP", [["CD", ["多"]]]], ["NP", [["NN", ["语种"]]]]]], ["NP", [["NR", ["NLP"]], ["NN", ["技术"]]]]]]]]]], ["PU", ["。"]]]]]], ["TOP", [["IP", [["NP", [["NN", ["阿婆主"]]]], ["VP", [["VP", [["VV", ["来到"]], ["NP", [["NR", ["北京"]], ["NR", ["立方庭"]]]]]], ["VP", [["VV", ["参观"]], ["NP", [["NN", ["自然"]], ["NN", ["语义"]], ["NN", ["科技"]], ["NN", ["公司"]]]]]]]], ["PU", ["。"]]]]]] ] }
doc.pretty_print()
Dep Tree
────────────
┌─────────►
│┌────────►
││┌─►┌─────
│││ │ ┌─►
│││ └─►└──
┌┼┴┴────────
││ ┌─►
││ ┌───►└──
││ │ ┌─►
││ │┌──►├──
││ ││ └─►
││ ││ ┌─►
││ ││┌─►└──
││ │││ ┌─►
│└─►└┴┴──┴──
└──────────►
Token
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
Relati
──────
tmod
nsubj
prep
nn
pobj
root
amod
nn
advmod
rcmod
assm
nummod
nn
nn
dobj
punct
PoS
───
NT
NR
P
NN
NN
VV
JJ
NN
AD
JJ
DEG
CD
NN
NR
NN
PU
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
NER Type
────────
───►DATE
───►WWW
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
SRL PA1
────────────
───►ARGM-TMP
───►ARG0
◄─┐
├►ARG2
◄─┘
╟──►PRED
◄─┐
│
│
│
├►ARG1
│
│
│
◄─┘
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
SRL PA2
────────────
───►ARGM-ADV
╟──►PRED
───►ARG0
Tok
─────────
2021年
HanLPv2.1
为
生产
环境
带来
次
世代
最
先进
的
多
语种
NLP
技术
。
PoS 3 4 5 6 7 8 9
─────────────────────────────────────────────────────────
NT ───────────────────────────────────────────►NP ───┐
NR ───────────────────────────────────────────►NP────┤
P ───────────┐ │
NN ──┐ ├────────────────────────►PP ───┐ │
NN ──┴►NP ───┘ │ │
VV ──────────────────────────────────┐ │ │
JJ ───►ADJP──┐ │ ├►VP────┤
NN ───►NP ───┴►NP ───┐ │ │ │
AD ───────────►ADVP──┼►ADJP──┐ ├►VP ───┘ ├►IP
JJ ───────────►VP ───┘ │ │ │
DEG──────────────────────────┤ │ │
CD ───►QP ───┐ ├►NP ───┘ │
NN ───►NP ───┴────────►NP────┤ │
NR ──┐ │ │
NN ──┴────────────────►NP ───┘ │
PU ──────────────────────────────────────────────────┘
Dep Tree
────────────
┌─►
┌┬────┬──┴──
││ │ ┌─►
││ └─►└──
│└─►┌───────
│ │ ┌───►
│ │ │┌──►
│ │ ││┌─►
│ └─►└┴┴──
└──────────►
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Relat
─────
nsubj
root
nn
dobj
conj
nn
nn
nn
dobj
punct
Po
──
NN
VV
NR
NR
VV
NN
NN
NN
NN
PU
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
NER Type
────────────────
───►LOCATION
───►LOCATION
◄─┐
│
├►ORGANIZATION
◄─┘
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
SRL PA1
────────
───►ARG0
╟──►PRED
◄─┐
◄─┴►ARG1
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
SRL PA2
────────
───►ARG0
╟──►PRED
◄─┐
│
├►ARG1
◄─┘
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Po 3 4 5 6
────────────────────────────────
NN───────────────────►NP ───┐
VV──────────┐ │
NR──┐ ├►VP ───┐ │
NR──┴►NP ───┘ │ │
VV──────────┐ ├►VP────┤
NN──┐ │ │ ├►IP
NN │ ├►VP ───┘ │
NN ├►NP ───┘ │
NN──┘ │
PU──────────────────────────┘
简洁的接口也支持灵活的参数,任务越少,速度越快。如指定仅执行分词:
HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks='tok').pretty_print()
阿婆主 来到 北京 立方庭 参观 自然 语义 科技 公司 。
HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks='tok/coarse').pretty_print()
阿婆主 来到 北京立方庭 参观 自然语义科技公司 。
HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks='pos/pku').pretty_print()
阿婆主/n 来到/v 北京/ns 立方庭/ns 参观/v 自然/n 语义/n 科技/n 公司/n 。/w
HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks=['tok/coarse', 'pos/pku'], skip_tasks='tok/fine').pretty_print()
阿婆主/n 来到/v 北京立方庭/ns 参观/v 自然语义科技公司/n 。/w
HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks='ner/msra').pretty_print()
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
NER Type
────────────────
───►LOCATION
───►LOCATION
◄─┐
│
├►ORGANIZATION
◄─┘
doc = HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks=['pos', 'dep'])
doc.pretty_print()
Dep Tree
────────────
┌─►
┌┬────┬──┴──
││ │ ┌─►
││ └─►└──
│└─►┌───────
│ │ ┌───►
│ │ │┌──►
│ │ ││┌─►
│ └─►└┴┴──
└──────────►
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Relat
─────
nsubj
root
nn
dobj
conj
nn
nn
nn
dobj
punct
Po
──
NN
VV
NR
NR
VV
NN
NN
NN
NN
PU
转换为CoNLL格式:
print(doc.to_conll())
1 阿婆主 _ NN _ _ 2 nsubj _ _ 2 来到 _ VV _ _ 0 root _ _ 3 北京 _ NR _ _ 4 nn _ _ 4 立方庭 _ NR _ _ 2 dobj _ _ 5 参观 _ VV _ _ 2 conj _ _ 6 自然 _ NN _ _ 9 nn _ _ 7 语义 _ NN _ _ 9 nn _ _ 8 科技 _ NN _ _ 9 nn _ _ 9 公司 _ NN _ _ 5 dobj _ _ 10 。 _ PU _ _ 2 punct _ _
doc = HanLP('阿婆主来到北京立方庭参观自然语义科技公司。', tasks=['pos', 'con'])
doc.pretty_print()
Tok
───
阿婆主
来到
北京
立方庭
参观
自然
语义
科技
公司
。
Po 3 4 5 6
────────────────────────────────
NN───────────────────►NP ───┐
VV──────────┐ │
NR──┐ ├►VP ───┐ │
NR──┴►NP ───┘ │ │
VV──────────┐ ├►VP────┤
NN──┐ │ │ ├►IP
NN │ ├►VP ───┘ │
NN ├►NP ───┘ │
NN──┘ │
PU──────────────────────────┘
print(doc['con']) # str(doc['con'])会将短语结构列表转换为括号形式
(TOP (IP (NP (NN 阿婆主)) (VP (VP (VV 来到) (NP (NR 北京) (NR 立方庭))) (VP (VV 参观) (NP (NN 自然) (NN 语义) (NN 科技) (NN 公司)))) (PU 。)))
ja = hanlp.load(hanlp.pretrained.mtl.NPCMJ_UD_KYOTO_TOK_POS_CON_BERT_BASE_CHAR_JA)
ja(['2021年、HanLPv2.1は次世代の最先端多言語NLP技術を本番環境に導入します。',
'奈須きのこは1973年11月28日に千葉県円空山で生まれ、ゲーム制作会社「ノーツ」の設立者だ。',]).pretty_print()
Dep Tree
──────────────
┌─►
┌─────────►├──
│ └─►
│ ┌────────►
│ │┌───────►
│ ││ ┌─►
│ ││┌───►├──
│ │││ └─►
│ │││┌─────►
│ ││││┌────►
│ │││││┌───►
│ ││││││┌──►
│ │││││││┌─►
│┌─►└┴┴┴┴┴┴┼──
││ └─►
││ ┌─►
││ ┌─►├──
││ │ └─►
└┴──────┴┬┬┬──
││└─►
│└──►
└───►
Token
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
Relation
────────
nummod
obl
punct
compound
case
compound
nmod
case
compound
compound
compound
compound
compound
obj
case
compound
obl
case
root
aux
aux
punct
PoS
───
NUM
CL
PU
NPR
P
N
N
P
N
N
NUM
N
N
N
P
N
N
P
VB
VB0
AX
PU
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
NER Type
────────────
◄─┐
◄─┴►DATE
───►ARTIFACT
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
SRL PA1
────────
───►修飾
╟──►PRED
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
SRL PA3
────────
◄─┐
◄─┴►修飾
╟──►PRED
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
SRL PA4
────────
◄─┐
│
│
├►修飾
│
◄─┘
◄─┐
◄─┴►ノ
╟──►PRED
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
SRL PA5
────────
───►修飾
╟──►PRED
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
SRL PA6
────────
◄─┐
├►時間
◄─┘
◄─┐
◄─┴►ガ
◄─┐
│
│
│
│
├►ヲ
│
│
│
◄─┘
◄─┐
├►ニ
◄─┘
╟──►PRED
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
し
ます
。
PoS 3 4 5 6 7 8
────────────────────────────────────────────────────
NUM──┐
CL ──┴►NUMCLP──────── ───────────────────►NP ───┐
PU ──────── ───────── ──────────────────────────┤
NPR───►NP ─────┐ │
P ───────── ───┴►──── ───────────────────►PP────┤
N ───┐ │
N ───┴►NP ─────┐ │
P ───────── ───┴►PP ────┐ │
N ───────── ───────── │ │
N ────►NP ──────►CONJP──┤ │
NUM──────── ───────── ├►NML ──┐ │
N ───────── ───────── │ │ ├►IP
N ───────── ───────── ──┘ ├►NP ───┐ │
N ───────── ───────── ──────────┘ ├►PP────┤
P ───────── ───────── ──────────────────┘ │
N ───┐ │
N ───┴►NP ─────┐ │
P ───────── ───┴►──── ───────────────────►PP────┤
VB ──────── ───────── ──────────────────────────┤
VB0──────── ───────── ──────────────────────────┤
AX ──────── ───────── ──────────────────────────┤
PU ──────── ───────── ──────────────────────────┘
Dep Tree
──────────────
┌─►
┌─────────►├──
│ └─►
│ ┌─────►
│ │┌────►
│ ││┌───►
│ │││┌──►
│ ││││┌─►
│ ┌─►└┴┴┴┼──
│ │ └─►
│ │ ┌─►
│ │ ┌─►└──
│ │ │ ┌─►
│ │┌─►└──┼──
│ ││ └─►
│┌─►└┴─────┬──
││ └─►
││ ┌──►
││ │┌─►
││ ┌─►┌┬┼┼──
││ │ │││└─►
││ │ ││└──►
││ │ │└───►
││ │ └────►
││ │ ┌─►
└┴───┴────┬┼──
│└─►
└──►
Toke
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
Relation
────────
compound
nsubj
case
compound
compound
compound
compound
nummod
obl
case
compound
nmod
compound
obl
case
acl
punct
compound
compound
nmod
punct
compound
punct
case
compound
root
cop
punct
PoS
───
NPR
NPR
P
NUM
CL
NUM
CL
NUM
CL
P
NPR
NPR
NPR
NPR
P
VB
PU
N
N
N
PUL
NPR
PUR
P
N
N
AX
PU
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
NER Type
────────────────
◄─┐
◄─┴►PERSON
◄─┐
│
│
├►DATE
│
◄─┘
◄─┐
│
├►LOCATION
◄─┘
───►ORGANIZATION
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
SRL PA1
────────
◄─┐
◄─┴►ノ?
╟──►PRED
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
SRL PA2
────────
◄─┐
├►ガ
◄─┘
◄─┐
│
│
├►時間
│
│
◄─┘
◄─┐
│
├►デ
│
◄─┘
╟──►PRED
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
SRL PA3
────────
◄─┐
◄─┴►ノ
╟──►PRED
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
SRL PA4
────────
◄─┐
├►ガ
◄─┘
◄─┐
│
│
├►ヲ
│
│
◄─┘
╟──►PRED
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
SRL PA5
────────
◄─┐
├►ガ
◄─┘
╟──►PRED
Tok
────
奈須
きのこ
は
1973
年
11
月
28
日
に
千葉
県
円空
山
で
生まれ
、
ゲーム
制作
会社
「
ノーツ
」
の
設立
者
だ
。
PoS 3 4 5 6 7 8 9 10 11
───────────────────────────────────────────────────────────────────────────
NPR──┐
NPR──┴►NP ─────┐
P ───────── ───┴────────────────────────────────────────────────►PP ───┐
NUM──┐ │
CL ──┴►NUMCLP──┐ │
NUM──┐ │ │
CL ──┴►NUMCLP──┼►NP ───┐ │
NUM──┐ │ │ │
CL ──┴►NUMCLP──┘ ├►PP ───┐ │
P ───────── ───────────┘ │ │
NPR──┐ │ │
NPR──┴►PP ─────┐ │ │
NPR──────── ├►NP ───┐ ├────────────────────────────────►IP────┤
NPR──────── ───┘ ├►PP────┤ │
P ───────── ───────────┘ │ │
VB ──────── ───────────────────┘ ├►IP
PU ──────── ───────────────────────────────────────────────────────────┤
N ───┐ │
N ───┴►NP ──────►PRN ──┐ │
N ───────── ───────────┴►NP ────►PRN ──┐ │
PUL──────── ───────────────────────────┤ │
NPR──────── ───────────────────────────┼►NP ───┐ │
PUR──────── ───────────────────────────┘ ├►PP ───┐ │
P ───────── ───────────────────────────────────┘ ├►IP ───┐ │
N ───────── ───────────────────────────────────────────┘ ├►NP────┤
N ───────── ───────────────────────────────────────────────────┘ │
AX ──────── ───────────────────────────────────────────────────────────┤
PU ──────── ───────────────────────────────────────────────────────────┘
以及支持130种语言的多语种联合模型:
from hanlp.utils.torch_util import gpus_available
if gpus_available(): # 建议在GPU上运行XLMR_BASE,否则运行mini模型
mul = hanlp.load(hanlp.pretrained.mtl.UD_ONTONOTES_TOK_POS_LEM_FEA_NER_SRL_DEP_SDP_CON_XLMR_BASE)
else:
if 'ja' in globals(): # Binder内存只有2G,释放已加载的模型
del ja
mul = hanlp.load(hanlp.pretrained.mtl.UD_ONTONOTES_TOK_POS_LEM_FEA_NER_SRL_DEP_SDP_CON_MMINILMV2L6)
mul(['In 2021, HanLPv2.1 delivers state-of-the-art multilingual NLP techniques to production environments.',
'2021年、HanLPv2.1は次世代の最先端多言語NLP技術を本番環境に導入します。',
'2021年 HanLPv2.1为生产环境带来次世代最先进的多语种NLP技术。']).pretty_print()
Dep Tree
──────────
┌─►
┌─►├──
│ └─►
│ ┌─►
┌┬┬─┴──┴──
│││ ┌───►
│││ │┌──►
│││ ││┌─►
││└─►└┴┴──
││ ┌──►
││ │┌─►
│└───►└┴──
└────────►
Token
────────────────
In
2021
,
HanLPv2.1
delivers
state-of-the-art
multilingual
NLP
techniques
to
production
environments
.
Relation
────────
case
obl
punct
nsubj
root
amod
amod
compound
obj
case
compound
obl
punct
Lemma
────────────────
in
2021
,
HANlpv2.1
deliver
state-of-the-art
multilingual
NLP
technique
to
production
environment
.
PoS
─────
ADP
NUM
PUNCT
PROPN
VERB
ADJ
ADJ
PROPN
NOUN
ADP
NOUN
NOUN
PUNCT
Tok
────────────────
In
2021
,
HanLPv2.1
delivers
state-of-the-art
multilingual
NLP
techniques
to
production
environments
.
NER Type
───────────────
───►DATE
───►WORK_OF_ART
Tok
────────────────
In
2021
,
HanLPv2.1
delivers
state-of-the-art
multilingual
NLP
techniques
to
production
environments
.
SRL PA1
────────────
◄─┐
◄─┴►ARGM-TMP
───►ARG0
╟──►PRED
◄─┐
├►ARG2
◄─┘
Tok
────────────────
In
2021
,
HanLPv2.1
delivers
state-of-the-art
multilingual
NLP
techniques
to
production
environments
.
PoS 3 4 5 6
──────────────────────────────────
ADP ───────────┐
NUM ────►NP ───┴────────►PP ───┐
PUNCT──────────────────────────┤
PROPN───────────────────►NP────┤
VERB ──────────────────┐ │
ADJ ───┐ │ │
ADJ │ │ │
PROPN ├────────►NP────┼►VP────┼►S
NOUN ──┘ │ │
ADP ───────────┐ │ │
NOUN ──┐ ├►PP ───┘ │
NOUN ──┴►NP ───┘ │
PUNCT──────────────────────────┘
Dep Tree
─────────────
┌─►
┌────────►├──
│ └─►
│┌───────►┌──
││ └─►
││ ┌─►
││ ┌───►├──
││ │ └─►
││ │┌─────►
││ ││┌────►
││ │││┌───►
││ ││││┌──►
││ │││││┌─►
││┌─►└┴┴┴┴┼──
│││ └─►
│││ ┌─►
│││ ┌─►├──
│││ │ └─►
└┴┴────┴─┬┬──
│└─►
└──►
Token
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
します
。
Relation
────────
nummod
obl
punct
nsubj
case
compound
nmod
case
compound
compound
compound
compound
compound
obj
case
compound
obl
case
root
aux
punct
Lemma
─────────
2021
年
、
HANLPV2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
します
。
PoS
─────
NUM
NOUN
PUNCT
NOUN
ADP
NOUN
NOUN
ADP
NOUN
NOUN
NOUN
NOUN
NOUN
NOUN
ADP
NOUN
NOUN
ADP
VERB
AUX
PUNCT
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
します
。
NER Type
────────
◄─┐
◄─┴►DATE
Tok
─────────
2021
年
、
HanLPv2.1
は
次
世代
の
最
先端
多
言語
NLP
技術
を
本番
環境
に
導入
します
。
PoS 3 4 5 6 7 8 9
───────────────────────────────────────────────────────────
NUM ───────────────────────────────────────────────────┐
NOUN ──────────────────────────────────────────────────┤
PUNCT──────────────────────────────────────────────────┤
NOUN ──────────────────────────────────────────────────┤
ADP ───────────────────────────┐ │
NOUN ──────────────────────────┤ │
NOUN ──────────────────────────┤ │
ADP ───────────────────────────┼►VP ────►VP ────►IP────┤
NOUN ───►ADJP──┐ │ │
NOUN ───►ADJP──┴►ADJP──┐ │ │
NOUN ───────────►ADJP──┴►ADJP──┘ ├►IP
NOUN ──┐ │
NOUN ├►NP ───┐ │
NOUN ──┘ ├►NP ───┐ │
ADP ───────────┘ │ │
NOUN ──────────────────┼►NP ───┐ │
NOUN ──────────────────┘ ├►NP ───┐ │
ADP ────────────────────►PP ───┘ │ │
VERB ──┐ ├────────►NP────┤
AUX ───┴────────────────────────►VP ───┘ │
PUNCT──────────────────────────────────────────────────┘
Dep Tree
────────────
┌─►
┌────►└──
│┌──────►
││ ┌──►
││ │┌─►
││┌─►└┴──
┌┬─┴┴┴──────
││ ┌──────►
││ │ ┌─►
││ │┌──►└──
││ ││ ┌─►
││ ││┌─►└──
││ │││ ┌─►
│└─►└┴┴──┴──
└──────────►
Token
─────────
2021
年
HanLPv2.1
为
生产
环境
带来
次世代
最
先进的
多
语种
NLP
技术
。
Relation
─────────
nummod
nmod:tmod
nsubj
case
nmod
obl
root
nmod
advmod
amod
nummod
nmod
nmod
obj
punct
Lemma
─────────
2021
年
HANlpv2.1
为
生产
环境
带来
次世代
最
先进的
多
语种
NLP
技术
。
PoS
─────
NUM
NOUN
X
ADP
NOUN
NOUN
VERB
NOUN
ADV
ADJ
NUM
NOUN
X
NOUN
PUNCT
Tok
─────────
2021
年
HanLPv2.1
为
生产
环境
带来
次世代
最
先进的
多
语种
NLP
技术
。
NER Type
──────────
◄─┐
◄─┴►DATE
───►PERSON
Tok
─────────
2021
年
HanLPv2.1
为
生产
环境
带来
次世代
最
先进的
多
语种
NLP
技术
。
SRL PA1
────────────
◄─┐
◄─┴►ARGM-TMP
╟──►PRED
Tok
─────────
2021
年
HanLPv2.1
为
生产
环境
带来
次世代
最
先进的
多
语种
NLP
技术
。
PoS 3 4 5 6 7 8
───────────────────────────────────────────────────
NUM ───┐
NOUN ──┴────────────────────────────────►NP ───┐
X ──────────────────────────────────────►NP────┤
ADP ───────────┐ │
NOUN ──┐ ├────────────────►PP ───┐ │
NOUN ──┴►NP ───┘ │ │
VERB ──────────────────────────┐ ├►VP────┤
NOUN ───────────►ADJP──┐ │ │ │
ADV ────►ADVP──┐ │ ├►VP ───┘ ├►IP
ADJ ────►ADJP──┴►ADJP──┤ │ │
NUM ────►QP ───┐ ├►NP ───┘ │
NOUN ───►NP ───┴►NP────┤ │
X ─────┐ │ │
NOUN ──┴────────►NP ───┘ │
PUNCT──────────────────────────────────────────┘
你可以在下面输入你想执行的代码~