zoukankan      html  css  js  c++  java
  • 【语言处理与Python】8.1一些语法困境

    前面章节的简单总结

    前面的学习中,主要焦点在与 词汇。

    如何识别,分析词汇的结构、分配词汇类别、以及获得词汇的含义。

    还有如何识别词汇序列或者n-gram的模式。

    8.1一些语法困境

    语言数据和无限可能性

    每天都在增加电子语言,数据量是非常大的;

    句子的组合具有无线的可能性;

    普遍存在的歧义

    让我们仔细看看短语I shot an elephant in mypajamas中的歧义。

    这里有一个文法:

    >>>groucho_grammar= nltk.parse_cfg("""
    ... S -> NPVP
    ... PP-> PNP
    ... NP-> DetN| DetNPP| 'I'
    ... VP-> VNP| VPPP
    ... Det-> 'an' | 'my'
    ... N-> 'elephant' | 'pajamas'
    ... V-> 'shot'
    ... P -> 'in'
    ... """)

    经过这个文法分析,是有歧义的:

    >>>sent = ['I', 'shot', 'an', 'elephant', 'in', 'my', 'pajamas']
    >>>parser = nltk.ChartParser(groucho_grammar)
    >>>trees = parser.nbest_parse(sent)
    >>>for tree in trees:
    ... print tree
    (S
    (NP I)
    (VP
    (V shot)
    (NP (Det an) (N elephant) (PP (P in) (NP (Det my)(N pajamas))))))
    (S
    (NP I)
    (VP
    (VP (V shot) (NP (Det an) (N elephant)))
    (PP (P in) (NP (Det my)(N pajamas)))))

    有两种分析方式,可以用树来表示:

    image

  • 相关阅读:
    数据挖掘常用算法
    helloworld
    sqlserver 变量级基本语法
    存储过程
    动态代理jdk 和cglib
    创建表添加约束
    sqlserver 子查询
    创建数据库
    javaScript实现同意等待——心得
    JavaScript关于不要复制黏贴代码的心得
  • 原文地址:https://www.cnblogs.com/createMoMo/p/3109485.html
Copyright © 2011-2022 走看看