如何使用 nltk.Regexp.parser() 解析自定义标签

2023-12-05

我的问题与这个未回答的问题类似:使用自定义 POS 标签进行 NLTK 分块?,但我得到的错误是不同的。我正在尝试解析一个我添加了自己的域特定标签的句子。

例如:

(u'greatest', 'P'), (u'internet', 'NN'), (u'ever', 'A'), 
(u',', ','), (u'and', 'CC'), (u'its', 'PRP$'), (u'being', 'VBG'), 
(u'slow', 'N'), (u'as', 'IN'), (u'hell', 'NN')`

where (u'slow', 'N')是一个自定义标签'N'.

我正在尝试使用以下内容来解析它:

grammar=r"""
Chunk:`{<A>?*<P>+}`
"""
parser=nltk.RegexpParser(grammar)

但我收到以下错误:

ValueError: Illegal chunk pattern: `{<A>?*<P>+}`

Does nltk.RegexpParser处理自定义标签?有没有其他基于 nltk 或 python 的解析器可以做到这一点?


nltk.RegexpParsercan处理自定义标签。

以下是修改代码以使其工作的方法:

# Import the RegexpParser
from nltk.chunk import RegexpParser

# Define your custom tagged data. 
tags = [(u'greatest', 'P'), (u'internet', 'NN'), (u'ever', 'A'), 
(u',', ','), (u'and', 'CC'), (u'its', 'PRP$'), (u'being', 'VBG'), 
(u'slow', 'N'), (u'as', 'IN'), (u'hell', 'NN')]

# Define your custom grammar (modified to be a valid regex).
grammar = """ CHUNK: {<A>*<P>+} """

# Create an instance of your custom parser.
custom_tag_parser = RegexpParser(grammar)

# Parse!
custom_tag_parser.parse(tags)

这是您的测试数据得到的结果:

Tree('S', [Tree('CHUNK', [(u'greatest', 'P')]), (u'internet', 'NN'), (u'ever', 'A'), (u',', ','), (u'and', 'CC'), (u'its', 'PRP$'), (u'being', 'VBG'), (u'slow', 'N'), (u'as', 'IN'), (u'hell', 'NN')])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 nltk.Regexp.parser() 解析自定义标签 的相关文章

  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • 更好地相当于这个疯狂的嵌套 python for 循环

    for a in map for b in map a for c in map b for d in map c for e in map d print a b c d e 上面的代码用于创建图中一定长度的所有路径 map a 表示从
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 与有效正则表达式匹配的正则表达式

    是否存在与有效正则表达式匹配的正则表达式 我知道正则表达式有多种风格 其中一种就可以了 是否存在与有效正则表达式匹配的正则表达式 根据定义 它非常简单 No 所有正则表达式的语言是no regular语言 只需查看嵌套括号 因此不可能有re
  • 如何使用 Python 3 检查目录是否包含文件

    我到处寻找这个答案但找不到 我正在尝试编写一个脚本来搜索特定的子文件夹 然后检查它是否包含任何文件 如果包含 则写出该文件夹的路径 我已经弄清楚了子文件夹搜索部分 但检查文件却难倒了我 我发现了有关如何检查文件夹是否为空的多个建议 并且我尝
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何使用 Boto3 启动具有 IAM 角色的 EC2 实例?

    我无法弄清楚如何使用指定的 IAM 角色在 Boto3 中启动 EC2 实例 以下是迄今为止我如何成功创建实例的一些示例代码 import boto3 ec2 boto3 resource ec2 region name us west 2
  • 在virtualenv中下载sqlite3

    我正在尝试使用命令创建应用程序python3 manage py startapp webapp但我收到一条错误消息 django core exceptions ImproperlyConfigured 加载时出错 pysqlite2 或
  • 根据 Pandas 中的列表选择数据框行的子集

    我有一个数据框df1并列出x In 22 import pandas as pd In 23 df1 pd DataFrame C range 5 B range 10 20 2 A list abcde In 24 df1 Out 24
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • 在 ssrs 2008 中部署报告时如何停止询问凭据

    部署报告时 我收到登录提示 要求输入用户名和密码 我已尝试提供所有可能的 ID 和密码 但没有用 我可以访问报表管理器 url 和报表服务器 url 但如果我开始通过 SQL Server 商业智能开发工作室部署报表 我会收到上述提示 请让
  • 从 Python 调用时 SQL 存储过程未完成

    我试图从 python 脚本调用 MSSQL 数据库中的存储过程 但通过 python 调用时它无法完全运行 此过程将交易数据合并到单个表中的小时 每日块中 稍后由 python 脚本获取 如果我在 SQL studio 中运行该过程 它就
  • Docker 容器上的应用程序之间的 Curl 连接被拒绝

    我有一个网站 ZF1 和一个 API Laravel 在同一个 Docker Laradock 容器上运行 我可以通过浏览器单独访问每个内容 但是当我从网站向应用程序发出 cURL 请求时 我得到一个 null 响应 并且标头返回 0 如果
  • 如何解析服务器上 .html 文件中的 PHP 语法?

    这感觉像是一个非常n00b的问题 但这里是 我有一系列 HTML 文件 每个文件中都包含少量 HTML 内容 从实时系统导出 更改文件扩展名是不可行的 因为当我移交项目时 我不会是执行此 导出 刻录到 CD 过程的人 这是一个示例页面 它非
  • 使用 Selenium 进行边缘上传文件控制

    我正在尝试在 Edge 浏览器上使用 Selenium Webdriver 上传文件 是的 我已经下载了 EdgeDriver 并安装了用于测试 Edge 的 MSI 从 Edge 浏览器中单击屏幕上的元素效果很好 问题出在上传文件控制上
  • 如何更改 Google Analytics 中的数据

    我有一个大问题 找不到解决方案 在处理一个项目时 我发现一些用户凭据作为 URL 中的 GET 参数 一些外部程序员很马虎 这应该被删除 显然 但我无法找到更改 删除 旧数据的方法 如果有一个解决方案可以从包含 符号的字符串中删除所有 GE
  • jQuery:在 jqGrid 中是否可以重新排序工具栏按钮

    在 jqGrid 中 是否可以对页脚工具栏中的默认按钮重新排序 我试图让 搜索 按钮显示在 删除 按钮之前 我已阅读文档 但找不到任何提及 但认为可能有一个简单的技巧 没有标准选项允许对按钮中的按钮进行重新排序航海家工具栏 另一方面 jqG
  • 从 Windows 8.1 专业版升级到 Windows 10 后,我无法创建通用 10 项目

    Problem 我已经升级了我的windows 8 1 pro 64 bits to windows 10 64 bits开发通用应用程序windows 10 但我注意到 当我使用以下命令创建新的 universal 10 项目时 有很多错
  • 帮助计算分层数据集中的复数总和

    我有一个有趣的 SQL 问题 我有一个用于制作物料清单的零件分层表 与此类似 ASSEMBLY parent part id part id quantity 我通过如下查询获取此结构的层次结构 SELECT level part id q
  • 组合unicode字符串

    我正在尝试创建一个像这样的字符串const str u33d rotation Where u33是 3 的代码 这只是一个简单的测试用例 然而这给了我 SyntaxError 格式错误的 Unicode 字符转义序列 有没有办法将 uni
  • 如何更改 ListView 项目的字体? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个问题 我想为我的列表视图创建自定义设计 但我不知道该怎么做 我使用列表视图中的 sql 数据库 哈哈 对不起 我不知道该怎么说 因为我是德国人 所以顺便说一句 对不起我的英语
  • Dart 将 IEEE-11073 32 位 FLOAT 转换为简单双精度

    I don t have much experience working with these low level bytes and numbers so I ve come here for help I m connecting to
  • 有没有办法在 Windows 8 Metro 应用程序中获得推送滚动功能?

    在 Windows 8 Consumer Preview 中 将鼠标向开始屏幕的左边缘或右边缘移动会导致内容滚动 标准控件 以及当前发布的预览应用程序 似乎不支持这一点 有办法让这项工作发挥作用吗 我在今年的北美 TechEd 会议上提出了
  • 使用 AVFoundation 叠加两个视频

    我试图叠加两个视频 前景视频有些 Alpha 透明 我一直在关注苹果文档也本教程 每当我尝试播放两个相同的视频时my code它不会崩溃 但是 当我尝试向其提供两个不同的视频时 我收到此错误 VideoMaskingUtils export
  • 使用 OpenXML 将数据表插入 Excel

    我有一个数据表 根据用户的选择 将生成具有任意数量的行和列的动态数据表 我目前正在使用 OpenXml 来操作所述电子表格 我将如何插入数据表 Thanks Stu 我找到了一些代码 我可以对其进行修改以满足我的需要 希望有人觉得这很有用
  • 使用 Z3 命令行工具和超时查找次优解决方案(迄今为止最佳解决方案)

    I saw a post其中谈到了如何使用 Z3 的 python API 来获得最小化问题的次优解决方案 我有一个 MAXSMT 问题 我想知道如何使用 Z3 命令行工具在指定超时时找到次优解决方案 正在使用 t timeout单独的选项
  • 为什么 Airflow 更改 start_date 而不重命名 dag?

    我是一名数据工程师 经常使用气流 使用新的开始日期重新部署 dags 时 最佳实践如下所示here 不要更改 start date 间隔 当 DAG 运行时 调度程序数据库包含该 DAG 运行的实例 如果更改 start date 或间隔并
  • 如何模拟 moment.utc() 进行单元测试?

    我刚刚开始使用 Node 现在正在编写一些单元测试 对于前几个函数 我可以正常工作 但现在我发现了一个函数 其中包括moment utc 在里面 我的函数的简化版本如下所示 function calculate x positions ri
  • Android 应用内商品未出现在 Play 商店或应用中

    我创建了一个包含应用内产品的应用程序 我已在我的应用程序中添加了许可密钥和计费权限 并在开发者控制台中创建了应用程序内产品 这些产品处于活动状态 我已经构建了一个已发布的 alpha 版本 现在我可以使用其中一个测试帐户在 Google P
  • 如何使用 nltk.Regexp.parser() 解析自定义标签

    我的问题与这个未回答的问题类似 使用自定义 POS 标签进行 NLTK 分块 但我得到的错误是不同的 我正在尝试解析一个我添加了自己的域特定标签的句子 例如 u greatest P u internet NN u ever A u u a