我需要对 Spacy NER 进行文本清理吗?

2024-03-06

我是新来的NER and Spacy。尝试找出需要进行哪些文本清理(如果有)。看起来像我发现的一些例子修剪了前导和尾随空格,然后用开始/停止索引进行处理。我看到一个例子,那个人做了一堆清理工作,但他的准确性非常差,因为所有索引都搞乱了。

澄清一下,数据集是用 DataTurks 注释的,所以你会得到如下的 json:

        "Content": <original text>
        "label": [
            "Skills"
        ],
        "points": [
            {
                "start": 1295,
                "end": 1621,
                "text": "\n• Programming language...

因此,通过“破坏索引”,我的意思是,如果你去掉前导\n,您需要更新起始索引,以便它仍然正确对齐。

所以这确实是个问题,如果我开始从开头、结尾或中间删除字符,我需要将规则应用于内容属性并调整开始/结束索引以匹配,不是吗?我猜显然是“是”:),所以我想知道需要进行多少清洁工作。

所以你会删除\ns、项目符号、前导/尾随空格,但保留标准标点符号,如逗号、句号等?

小写、停用词、词形还原等内容又如何呢?

我在看过的一些示例中看到的一个问题是,开始/停止索引确实会因清理而丢失,因为在删除字符以保持同步时,您需要更新每个注释。

I.e.

A 0 -> 100
B 101 -> 150

如果我删除一个char at position 50,那么我需要调整B to 100 -> 149.


首先,spaCy 不对输入进行任何转换 - 它按字面意思接受并保留格式。因此,当您向 spaCy 提供文本时,您不会丢失任何信息。

也就是说,如果输入是自然句子,没有奇怪的标点符号(例如报纸文章),则使用预训练管道输入 spaCy 效果最好,因为这就是 spaCy 的训练数据的样子。

为此,您应该删除无意义的空格(例如换行符、前导空格和尾随空格)或格式化字符(可能是一行----?),但这就是您必须做的所有清理工作。 spaCy 训练数据不会有项目符号,因此它们可能会得到一些奇怪的结果,但我会先将它们保留下来。 (此外,项目符号显然是可打印字符 - 也许您的意思是非 ASCII?)

我不知道你所说的“索引混乱”是什么意思,但对于一些较旧的 NLP 方法来说,通常会进行更广泛的预处理,例如删除停用词和小写所有内容。这样做会使 spaCy 的情况变得更糟,因为它使用您正在删除的信息作为线索,就像人类读者一样。

请注意,您可以训练自己的模型,在这种情况下,他们将了解您向他们展示的文本类型。在这种情况下,您可以完全摆脱预处理,但对于实际上毫无意义的东西,例如换行符/前导和后续空格,您也可以删除它们。


简要介绍您的新信息...

是的,如果进行预处理,则必须更新 NER 标签的字符索引。如果不更新它们就无法使用。

看起来您正试图从简历中提取“技能”。其中有很多要点列表。 spaCy 训练数据是报纸文章,不包含任何此类列表,因此很难说正确的做法是什么。我认为子弹并不重要,但你可以尝试删除或不删除它们。

小写、停用词、词形还原等内容又如何呢?

我已经解决了这个问题,但是不要这样做。这在历史上是 NLP 模型的常见做法,但对于包括 spaCy 在内的现代神经模型来说,这毫无帮助。

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

我需要对 Spacy NER 进行文本清理吗? 的相关文章

随机推荐

  • 使用 SimpleAdapter 过滤 listView 数据

    我需要帮助才能使过滤发挥作用 ListView 显示正确 但是当我在搜索字段中输入字母时出现错误 java lang NullPointerException 并且应用程序关闭 这是我的活动中的代码片段 我认为我必须修复它 但不知道如何修复
  • Android 计费 v3 - 无签名

    我想要的是 检索所有购买的商品后 我需要在服务器上验证购买情况 我想使用从应用内付款收到的签名和签名数据来完成此操作 首先 我使用了应用内计费 v2 每次使用我的开发者帐户都会获得静态测试 sku 的正确签名和签名数据android tes
  • 如何在 Katalon Studio 中读取 Excel 工作表中的数据

    我可以知道如何从 Katalon Studio 中的 Excel 工作表中读取数据 以便从文件中读取 API 端点以检查其输出吗 如何在 java 中编写代码以使 URL 运行并验证来自 API 端点的响应 我已经创建了一个示例项目 htt
  • 是否可以使用 SSE 对此嵌套进行矢量化?

    我从来没有为 SSE 优化编写过汇编代码 如果这是一个菜鸟问题 我很抱歉 在this https felix abecassis me 2012 08 sse vectorizing conditional code 文章解释了如何向量化f
  • VBScript 函数中的变量范围

    我有一个关于 VBScript 中变量范围的问题 我知道有以下关键字 来自autoitscript com http www autoitscript com autoit3 docs keywords Dim htm Dim 本地范围 如
  • XRX 是唯一完全符合 W3C 的全栈 Web 应用程序“框架”吗?

    XRX 是指前端完全用 XML 方言编写 后端完全用 XML 方言编写的应用程序 并且数据在它们之间以 XML over REST 的形式传递 这是唯一完全由 W3C 维护的技术组成的 Web 应用程序堆栈 对吗 我认为回答这个问题的最佳方
  • UIScrollView 在 Swift 中不滚动

    我的 UIScrollView 不会向下滚动 我不知道为什么 我已经关注了有关此问题的 Apple 文档 IBOutlet weak var scroller UIScrollView override func viewDidLoad s
  • 限制样式表对父窗口小部件的影响?

    我正在设置 a 的背景颜色QWidget子类 当我使用样式表执行此操作时 其他组件的样式QWidget更改 例如 按钮的颜色及其外观发生变化 如何确保只有容器小部件的背景颜色发生变化 其余子组件保持不变 一种方法是指定 ID 选择器 确保设
  • 在 Android 应用程序中播放 Youtube 视频,无需使用 Android Youtube API

    有没有另一种方法可以在 Android 应用程序中播放 Youtube 视频而不使用 Android Youtube API 我们已经使用上述 API 实现了一个解决方案 但在某些设备上需要降级 Youtube 应用程序版本才能播放视频 我
  • 当我们运行任何rails命令时,可以采取什么措施来修复以下错误:“`require_relative':无法加载此类文件”

    任何 Rails 命令对我都不起作用 我通过rvm安装了几个版本的ruby 我尝试安装所有版本的 Rails 它们确实安装成功 但对于所有版本 每当我运行时 我都会遇到以下错误any我的项目目录中的rails命令 rails new blo
  • NSMutableSet 包含重复项

    我有一个名为的自定义类card我需要从随机大小的卡片数组中创建一组 10 张独特的卡片 另外 我需要首先包含所有列入白名单的卡 以确保它们始终包含在内 我的问题是白名单中的卡片 并且只有白名单 可能会在集合中重复 随机添加的卡片永远不会重复
  • 在哪里可以找到 4.0 的 TPL 数据流版本?

    我正在寻找 NET 4 0 版本的 TPL 数据流库 Nuget 包有一个 4 0 版本的库 但它似乎针对 NET 4 5 我发现了对 4 0 版本的各种引用 例如在这个论坛中 http social msdn microsoft com
  • 将鼠标事件从 iframe 传播到托管文档

    我有一个覆盖整个 HTML 文档的 iframe 我想将点击和悬停事件传播回托管文档 我有什么选择 几周前 我被要求针对一个项目对此进行研究 这是可以做到的 这里有一个实际的例子 http www esqsoft com javascrip
  • 授权导入范围后是否可以浏览电子表格?

    我在谷歌驱动器上创建了几个电子表格 所以我是所有这些的所有者 我有一个电子表格 主 它作为主文件将数据导出到我与顾问团队共享的其他电子表格 活动报告 中 导出的数据使他们能够使用列表作为数据验证等 这有助于主文件分析他们的活动 无需清理数据
  • java中的数字格式

    如何在java中获取这些格式 Input 1223893 180703 80967 1461 700 Output 1 223 893 180 703 80 967 1 461 700 我总是会一一转换数字 这只是为了获得更多示例 你可以阅
  • 将 Dash 与 Websocket 结合使用

    使用 Dash 和 Websockets 构建实时仪表板的最佳方式是什么 我想在每次收到消息时更新图表 但我发现的唯一的事情是每 x 秒调用一次回调 如下例所示 import dash import dash core components
  • 下载 Google 网络历史记录的脚本

    如何编写脚本来下载 Google 网络历史记录 我知道关于 https www google com history https www google com history 供稿 https www google com history
  • Façade 是否利用了开闭原则?

    The 维基百科页面 http en wikipedia org wiki Open closed principle 截至今天2013 02 27 开闭原则说它是通过继承实现的 开闭原理这个名称有两种用途 这两种方法都使用继承来解决明显的
  • 创建iOS框架时未定义符号OBJC_CLASS_$

    我正在尝试构建一个 iOS 框架 为此 我使用了一些依赖项 并且单独构建框架项目时没有出现错误 当我在演示应用程序中使用 CocoaPods 安装时 出现以下错误Undefined symbol OBJC CLASS DFPRequest
  • 我需要对 Spacy NER 进行文本清理吗?

    我是新来的NER and Spacy 尝试找出需要进行哪些文本清理 如果有 看起来像我发现的一些例子修剪了前导和尾随空格 然后用开始 停止索引进行处理 我看到一个例子 那个人做了一堆清理工作 但他的准确性非常差 因为所有索引都搞乱了 澄清一