zoukankan      html  css  js  c++  java
  • 指代消解

    一、概念

     指代作为一种常见的语言现象,广泛存在于自然语言的各种表达中(下面的他指的是张三还是小明呢?)

     我们人眼一下子就能分辨出上面的他指代张三,但是计算机程序如何识别呢?-指代消解就是来做这个事情

     中文的指代主要有以下三种典型的形式:

     1.人称代词(Pronoun)

      【李明】怕高妈妈一人呆在家里寂寞,【他】便将家里的电视搬了过来。

     2.指示代词(Demonstrative)

      【很多人都想创造一个美好的世界留给孩子】,【这】可以理解,但不完全正确

     3.有定描述(Definite Description)

      【贸易制裁】似乎成了【美国政府在对华关系中惯用的大棒】。然而,这【大棒】果真如美国政府所希望的那样灵验吗?

     

     指代消解得类型又可分为下面三种:

     1.显性代词消解

      所谓显性代词消解,就是指:确定显性代词指向哪个名词短语的问题,代词称为指示语或照应语(Anaphor),其所指向的名词短语一般被称为先行语(Antecedent)

      根据二者之间的先后位置,可分为回指(Anaphora)与预指(Cataphora),其中:如果先行语出现在指示语之前,则称为回指,反之则称为预指。

      如下图中所示的闲聊型对话机器人,这里有“him”和”he”指向“John”,以及”she”指向”My sister”等,这种指代一般都有显式的代词;

     2.零代词消解

      与显性代词消解相对,零指代消解,就是没有明确的代词,这部分代词通常来说是省略的

     3.共指消解

      而共指消解,主要是两个或多个指代词指向同一个实体

    二、stanford nlp安装(windows下)

     1)需要安装java8:安装Java并设置java的环境变量

     2)pip install stanfordcorenlp

     3)下载Stanford CoreNLP,并解压

     4)由于Stanford NLP是由java开发的,所以如果要使用的话,需要引入相应的jar包,我们想使用中文,找到对应的中文jar包下载即可

      注意:一定将下载的中文jar包放到3)中解压的文件夹里

     5)运行:若运行下述两行命令没有异常则表明coreNLP安装成功了。

    from stanfordcorenlp import StanfordCoreNLP
    nlp = StanfordCoreNLP(r'D:workstanford-corenlp-4.0.0',lang='zh')
    # 这里需要自己指定自己的解压目录
    

    三、使用

     1) 对一段句子进行分词(word_tokenize)、词性标注(pos_tag)、命名实体识别(ner)、句法依存分析(dependency_parse)、句法解析(parse)

    sentence = "清华大学位于北京市海淀区中关村北大街"
    print(nlp.word_tokenize(sentence))
    # ['清华', '大学', '位于', '北京市', '海淀区', '中关村', '北大街']
    
    print(nlp.pos_tag(sentence))
    #[('清华', 'NR'), ('大学', 'NN'), ('位于', 'VV'), ('北京市', 'NR'), ('海淀区', 'NR'), ('中关村', 'NR'), ('北大街', 'NR')]
    
    print(nlp.ner(sentence))
    # [('清华', 'ORGANIZATION'), ('大学', 'ORGANIZATION'), ('位于', 'O'), ('北京市', 'GPE'), ('海淀区', 'GPE'), ('中关村', 'FACILITY'), ('北大街', 'FACILITY')]
    
    print(nlp.dependency_parse(sentence))
    # [('ROOT', 0, 3), ('compound:nn', 2, 1), ('nsubj', 3, 2), ('dep', 7, 4), ('dep', 7, 5), ('dep', 7, 6), ('dobj', 3, 7)]
    
    print(nlp.parse(sentence))

     2)参考:https://blog.csdn.net/lizzy05/article/details/87483539

  • 相关阅读:
    安装 windows 2008 解决 gpt 分区问题
    you have not created a boot efi partition
    echarts gauge 仪表盘去除外发光效果
    上国际网络——通过配置host
    juery 选择器 选择多个元素
    html5 <input> placeholder 属性
    PHP——字符串统一转码为GBK,自动判断是否UTF8并转码
    sublime text2 解决中文乱码
    PHP超级全局变量——Session 变量
    js为元素添加onclick事件
  • 原文地址:https://www.cnblogs.com/always-fight/p/12842539.html
Copyright © 2011-2022 走看看