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

  • 相关阅读:
    纯CSS实现气泡聊天框的方法
    css实现箭头矩形流程效果
    上传文件控件的样式美化
    Input placeholder 字体颜色更改
    如何为全局所有input组件添加边框发光效果
    JavaWeb:Filter(二)
    JavaWeb:Filter
    JavaWeb:EL & JSTL
    JavaWeb:标签(二)
    JavaWeb:简单的标签
  • 原文地址:https://www.cnblogs.com/createMoMo/p/3109485.html
Copyright © 2011-2022 走看看