amr
amr¶
AMR captures “who is doing what to whom” in a sentence. Each sentence is represented as a rooted, directed, acyclic graph with labels on edges (relations) and leaves (concepts).
Before loading an AMR model, make sure to install HanLP with the amr dependencies:
pip install hanlp[amr] -U
To parse a raw sentence into AMR:
import hanlp
amr_parser = hanlp.load(hanlp.pretrained.amr.AMR3_SEQ2SEQ_BART_LARGE)
amr = amr_parser('The boy wants the girl to believe him.')
print(amr)
(z1 / want-01
    :ARG0 (z2 / boy)
    :ARG1 (z3 / believe-01
              :ARG0 (z4 / girl)
              :ARG1 z2))
All the pre-trained parsers and their scores are listed below.
- hanlp.pretrained.amr.AMR3_GRAPH_PRETRAIN_PARSER = 'https://file.hankcs.com/hanlp/amr/amr3_graph_pretrain_parser_20221207_153759.zip'¶
- A seq2seq (Bevilacqua et al. 2021) BART (Lewis et al. 2020) large parser trained on Abstract Meaning Representation 3.0 (Knight et al. 2014) with graph pre-training (Bai et al. 2022). Its performance is - 84.3according to their official repository. Using- amr-evaluation-enhanced, the performance is slightly lower:- Metric - P - R - F1 - Smatch - 84.4 - 83.6 - 84.0 - Unlabeled - 86.7 - 85.8 - 86.2 - No WSD - 84.9 - 84.1 - 84.5 - Non_sense_frames - 91.8 - 91.6 - 91.7 - Wikification - 83.6 - 81.7 - 82.6 - Named Ent. - 89.3 - 87.4 - 88.4 - Negations - 71.6 - 72.2 - 71.9 - IgnoreVars - 74.6 - 74.2 - 74.4 - Concepts - 90.7 - 90.0 - 90.3 - Frames - 88.8 - 88.5 - 88.7 - Reentrancies - 72.1 - 72.9 - 72.5 - SRL - 80.1 - 80.7 - 80.4 - Note this parser does NOT perform wikification. 
- hanlp.pretrained.amr.AMR3_SEQ2SEQ_BART_LARGE = 'https://file.hankcs.com/hanlp/amr/amr3_seq2seq_bart_large_83.30_20220125_114450.zip'¶
- A seq2seq (Bevilacqua et al. 2021) BART (Lewis et al. 2020) large parser trained on Abstract Meaning Representation 3.0 (Knight et al. 2014). Its performance is - Metric - P - R - F1 - Smatch - 84.00 - 82.60 - 83.30 - Unlabeled - 86.40 - 84.90 - 85.70 - No WSD - 84.50 - 83.10 - 83.80 - Non_sense_frames - 91.90 - 91.30 - 91.60 - Wikification - 81.70 - 80.80 - 81.20 - Named Ent. - 89.20 - 87.00 - 88.10 - Negations - 71.70 - 70.90 - 71.30 - IgnoreVars - 73.80 - 73.10 - 73.50 - Concepts - 90.70 - 89.60 - 90.10 - Frames - 88.50 - 87.90 - 88.20 - Reentrancies - 70.40 - 71.80 - 71.10 - SRL - 79.00 - 79.60 - 79.30 - Note this parser does NOT perform wikification. 
- hanlp.pretrained.amr.MRP2020_AMR_ENG_ZHO_XLM_BASE = 'http://download.hanlp.com/amr/extra/amr-eng-zho-xlm-roberta-base_20220412_223756.zip'¶
- A wrapper for the Permutation-invariant Semantic Parser (Samuel & Straka 2020) trained on MRP2020 English and Chinese AMR corpus. It was ranked the top in the MRP2020 competition, while this release is a base version. See the original paper for the detailed performance. Note this model requires tokens and lemmas (for English) to be provided as inputs. 
- hanlp.pretrained.amr.MRP2020_AMR_ZHO_MENGZI_BASE = 'http://download.hanlp.com/amr/extra/amr-zho-mengzi-base_20220415_101941.zip'¶
- A Chinese Permutation-invariant Semantic Parser (Samuel & Straka 2020) trained on MRP2020 Chinese AMR corpus using Mengzi BERT base (Zhang et al. 2021). Its performance on dev set is - {amr-zho [tops F1: 85.43%][anchors F1: 93.41%][labels F1: 87.68%][properties F1: 82.02%][edges F1: 73.17%] [attributes F1: 0.00%][all F1: 84.11%]}. Test set performance is unknown since the test set is not released to the public.
