CFG 在 NLTK 中使用 POS 标签 [关闭]

2024-01-25

我想检查给定的句子是否是语法的使用NLTK。

Ex:

OK:鲸鱼舔掉悲伤

不好:我吃过的最好的

我知道我可以做 POS 标记,然后使用 CFG 解析器并以这种方式进行检查,但我还没有找到一个使用 POS 标记而不是实际单词作为终端分支的 CFG。

有没有人可以推荐一个CFG?我认为自己制作是愚蠢的,因为我不是语言学家,可能会遗漏重要的结构。

另外,我的应用程序是这样的:理想情况下,系统会拒绝许多句子,只批准它非常确定的句子。

感谢:D


CFG的终端节点可以是任何东西,甚至是POS标签。只要您的短语规则识别 POS 而不是单词作为输入,使用 POS 声明语法就不会有问题。

import nltk
# Define the cfg grammar.
grammar = nltk.parse_cfg("""
S -> NP VP
NP -> 'DT' 'NN'
VP -> 'VB'
VP -> 'VB' 'NN'
""")


# Make your POS sentence into a list of tokens.
sentence = "DT NN VB NN".split(" ")

# Load the grammar into the ChartParser.
cp = nltk.ChartParser(grammar)

# Generate and print the nbest_parse from the grammar given the sentence tokens.
for tree in cp.nbest_parse(sentence):
    print tree
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CFG 在 NLTK 中使用 POS 标签 [关闭] 的相关文章

随机推荐

  • 选择与 data.table 的正确连接

    后续行动来自这个问题 https stackoverflow com q 51087287 2204410 我有三个数据表 实际的input一个更大并且性能很重要 所以我必须使用数据表 questions tagged data table
  • JavaFx 端口 TextField 问题 - Android 键盘无法运行

    我开发了一个简单的 javafx 应用程序以移植到 Android 环境中 但是我无法在 TextField 中键入任何字符 我猜这是一个错误 如何解决这个问题 Galaxy S5 android 5 0 1 上不存在此问题 但在 Gala
  • ASP.NET MVC 5 表单验证和错误处理

    尝试在简单的联系表单上实现数据验证和错误处理 当我添加支票时ModelState IsValid我现在处于先有鸡还是先有蛋的境地 我看过其他类似的问题 但我只是不明白 从 Web 表单迁移到 MVC 并陷入困境 尝试根据发生的情况 成功 错
  • brew cask 安装 kdiff3 失败

    brew cask install kdiff3 Error Cask kdiff3 is unavailable No Cask with this name exists brew install kdiff3 Error No ava
  • 作为 HttpSession 属性值存储的 Hibernate 实体

    我正在处理一个遗留的 Java 应用程序 它有一个庞大且相当混乱的代码库 有一个相当标准的 用户 对象 在请求之间存储在 HttpSession 中 因此 servlet 在顶部执行类似的操作 HttpSession session req
  • 对于哪些 3xx HTTP 代码,Location 标头是必需的?

    RFC 2616 http www w3 org Protocols rfc2616 rfc2616 sec14 html sec14 30定义了Location标题为 Location 响应头字段用于将接收者重定向到 Request UR
  • 使用MVC 5的身份,登录后无法立即获取用户名

    我正在尝试使用 MVC 5 的身份解决方案 但陷入了一些应该非常简单的事情 我希望 AccountController 上的登录方法在验证模型后立即获取登录用户的名称 并且我不想从模型中使用它 这是我的一段代码 var result awa
  • “/usr/lib/libstdc .so.6:版本‘GLIBCXX_3.4.15’未找到”是什么意思,如何修复它?

    我是编译库的新手 so在Ubuntu下 我有源码 cpp文件 我很好地安装了 build essentials 包 并且使用 Anjuta IDE 来编译源代码 我有 Makefile 一切都很好 现在 虽然它编译没有错误 但当我加载它时
  • PHP 中的动态比较运算符

    是否可以以任何方式将比较运算符作为变量传递给函数 例如 我正在考虑生成一些方便的函数 我知道这行不通 function isAnd var value operator if isset var var operator value ret
  • Hive 无法手动设置减速器数量

    我有以下配置单元查询 select count distinct id as total from mytable 它会自动生成 1408 制图员1 减速机 我需要手动设置减速器的数量 我尝试了以下方法 set mapred reduce
  • 具有不透明度的重叠元素并处理这些元素上的“悬停”

    这是一个关于如何使用 JS 解决方案处理重叠元素的不透明度并使其在悬停时保持一致的问答 要求 要求是开发两个元素 透明且重叠 如下图两个红框 这些需要是透明的 以便背景内容可见 现在 当鼠标悬停在任何这些元素上时 特定元素应该变得不透明 如
  • 如何解析某些标签中带有冒号的 XML?

    我一直在阅读一些教程XmlPullParser在Android中如何解析XML数据 更具体地说 我使用的 XMLhttps gdata youtube com feeds api standardfeeds top rated 在这里 我简
  • 跳过 JavaScript 数组的 take 方法

    是否有方法可以跳过特定数量的对象并从 JavaScript 数组中获取一定数量的对象 基本上我正在寻找的模式是这样的 假设我有一个包含 8 个对象的数组 第一个循环 从数组中返回索引 0 到 3 处的对象 第二个循环 从数组中返回索引 4
  • 为什么golang RGBA.RGBA()方法使用|和<<?

    在golang color包中 有一个方法可以从an中获取r g b a值RGBA object func c RGBA RGBA r g b a uint32 r uint32 c R r r lt lt 8 g uint32 c G g
  • Apache CXF 和 servlet 映射

    我正在尝试学习 Apache CXF 的一些基础知识以及有关 servlet 映射的一般知识 我在这里修改了代码 https subversion assembla com svn pablo examples spring cxf exa
  • 使用 lodash 的 isEqual() 在比较中排除一些属性

    我在用 是平等的 https lodash com docs isEqual它比较 2 个对象数组 例如 每个对象 10 个属性 并且工作正常 现在有 2 个属性 创建和删除 我不需要成为比较的一部分 Example var obj1 na
  • 如何将第一个孩子移到最后?

    我在 div 容器中有一些 div 项目 我想连续地为它们设置动画 我知道如何在无限循环中运行我的函数 但是选择第一个 div 对其进行动画处理并在完成动画后将其移动到末尾存在问题 我的函数如下所示 function MoveItems c
  • 将 XAML 行为附加到相同类型的所有控件

    我有一个InvokeCommandAction我所拥有的附加到GotFocus的事件TextBox像这样
  • Laravel 将文件上传到项目目录之外的不同存储

    我正在创建一个 CMS 其中我可以使用 Laravel 的文件上传来上传文件 照片 pdf 等 我所做的不同之处在于 我想将文件存储在 CMS 项目目录之外 比如说我网站的存储文件夹 顺便说一句 我正在创建两个不同的项目 Laravel 文
  • CFG 在 NLTK 中使用 POS 标签 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi