如何使用 python nltk 加速 stanford NER 的 NE 识别

2023-11-21

首先,我将文件内容标记为句子,然后对每个句子调用斯坦福 NER。但这个过程确实很慢。我知道如果我在整个文件内容上调用它会更快,但是我在每个句子上调用它,因为我想在 NE 识别之前和之后索引每个句子。

st = NERTagger('stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz', 'stanford-ner/stanford-ner.jar')
for filename in filelist:
    sentences = sent_tokenize(filecontent) #break file content into sentences
    for j,sent in enumerate(sentences): 
        words = word_tokenize(sent) #tokenize sentences into words
        ne_tags = st.tag(words) #get tagged NEs from Stanford NER

这可能是由于调用st.tag()对于每个句子,但是有什么办法让它运行得更快吗?

EDIT

我想单独标记句子的原因是我想将句子写入文件(如句子索引),以便在稍后阶段给出新标记的句子,我可以获得未处理的句子(我也在此处进行词形还原) )

文件格式:

(已发送号码、原始句子、NE_and_lemmatized_sentence)


你可以使用 stanford ner 服务器。 速度会快很多。

安装sner

pip install sner

运行服务器

cd your_stanford_ner_dir
java -Djava.ext.dirs=./lib -cp stanford-ner.jar edu.stanford.nlp.ie.NERServer -port 9199 -loadClassifier ./classifiers/english.all.3class.distsim.crf.ser.gz

from sner import Ner

test_string = "Alice went to the Museum of Natural History."
tagger = Ner(host='localhost',port=9199)
print(tagger.get_entities(test_string))

这段代码的结果是

[('Alice', 'PERSON'),
 ('went', 'O'),
 ('to', 'O'),
 ('the', 'O'),
 ('Museum', 'ORGANIZATION'),
 ('of', 'ORGANIZATION'),
 ('Natural', 'ORGANIZATION'),
 ('History', 'ORGANIZATION'),
 ('.', 'O')]

更多细节查看https://github.com/caihaoyu/sner

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

如何使用 python nltk 加速 stanford NER 的 NE 识别 的相关文章

  • Psycopg / Postgres:连接随机挂出

    我正在使用 psycopg2 作为我当前正在开发的cherrypy 应用程序 并使用 cli 和 phpgadmin 来手动处理一些操作 这是Python代码 One connection per thread cherrypy threa
  • Python的unpack中的逗号是什么意思?

    我们可以简单地使用 crc struct unpack gt i data 为什么人们这样写 crc struct unpack gt i data 逗号是什么意思 第一个变体返回一个单元素元组 In 13 crc struct unpac
  • 我应该如何在 python 中使用 lxml 处理 XLink 引用?

    我被要求编写一些读取 XML 配置文件的脚本 这些文件充分利用 XLink 来包含存储在多个文件中的 XML 例如
  • Ajax 调用后使用 Django 模板呈现 JSON 对象

    我一直在尝试了解什么是最佳方法Ajax http en wikipedia org wiki Ajax 28programming 29 in Django http en wikipedia org wiki Django 28web f
  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • 计算温度的偏导数(温度的水平平流)

    我想知道哪种方法计算x和y方向温度的偏导数 温度的水平平流 最正确 第二个代码使用温度 纬向风和经向风的数据矩阵 提取温度 T 纬向风分量 u 和经向风分量 v 的数据 import matplotlib pyplot as plt imp
  • Python中使用cv2获取当前视频播放位置

    我正在尝试使用 CV2 和 Python 从播放视频中获取当前播放时间位置 如果可能 以毫秒为单位 目前我正在使用此示例代码来播放视频文件 import cv2 import numpy as np file name 2 mp4 wind
  • Python 按文件夹模块导入

    我有一个目录结构 example py templates init py a py b py a py and b py只有一个类 名称与文件相同 因为它们是猎豹模板 纯粹出于风格原因 我希望能够在中导入和使用这些类example py像
  • Python 可以使用单独的媒体播放器打开 mp3 文件吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以开一个mp3Python 中的文件 可以使用Popen 我并不是要在程序中运行它 我的意思是作为媒体播放器中的一个单独窗口或其
  • SMTPAuthenticationError: (535, b'5.7.8 用户名和密码在 Django 生产中不被接受?

    我在 Heroku 上部署了一个 Django 应用程序 在其中一节中 我使用 SMTP Gmail 设置向用户发送电子邮件 当我在本地运行项目时 电子邮件发送成功 但在 Heroku 上部署的项目上却发送失败 我在 Stackoverfl
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • ValueError:在 R 中使用 keras 模型时在用户代码中

    我正在尝试使用 R 在 R 中运行一维 CNNkeras包裹 我正在使用以下代码 library MASS library keras Create some data data Boston data lt Boston create a
  • Python 函数可能会引发哪些异常? [复制]

    这个问题在这里已经有答案了 Python 中有什么方法可以确定 内置 函数可能引发哪些异常 例如 文档 http docs python org lib built in funcs html http docs python org li
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • 使用 Pandas 和 Group By 绘制堆叠直方图

    我正在使用如下所示的数据集 Gender Height Width Male 23 4 4 4 Female 45 4 4 5 我想可视化高度和宽度的堆叠直方图 我希望每个图有两个堆叠的直方图 每个性别一个 这是文档中的堆叠直方图 如果存在
  • 在 python 中使用递归替代 len()

    作为 CS1301 问题的一部分 我正在尝试使用递归编写一个函数 该函数将执行与 len 完全相同的操作 但是 我有两个问题 我正在使用全局变量 但我在课程中还没有学到这一点 cs1301 自动评分器告诉我 我的函数返回 26 而不是 13
  • Tensorflow ctc_loss_calculator:找不到有效路径

    当运行我的神经网络 双向 LSTM 进行音频识别时 我使用连接主义时间分类 CTC 但在某些时候 训练网络时我几乎每批都会收到来自 Tensorflow 的警告 W tensorflow core util ctc ctc loss cal

随机推荐

  • 可在 iOS 7 和 iOS 8 上运行的警报

    我收到 dyld 未找到符号 OBJC CLASS UIAlertAction 当我试图让这个怪物逃跑时 我如何弱链接 8 0 的东西 var device UIDevice UIDevice currentDevice var syste
  • 版本号无效:版本号可能为负数或大于 255

    当我尝试访问应用程序中的页面时 出现以下错误 SEVERE Servlet service for servlet jsp threw exception java lang IllegalArgumentException Invalid
  • UrlFetchApp 未定义

    我正在调用 UrlFetchApp fetch www google com 从我的 chrome javascript 代码中我得到 未捕获的引用错误 UrlFetchApp 未定义 有人知道为什么没有定义吗 我还以为是内置的 网址获取服
  • R中的关联规则 - 删除冗余规则(arules)

    假设我们有 3 条规则 1 A B D gt C 2 A B gt C 3 Whatever it is Rule 2 是规则的子集 1 因为规则 1 包含规则中的所有项目 2 所以规则 1 应该被消除 因为规则 1 过于具体 其信息已包含
  • 将行从一个数据帧添加到另一个数据帧

    我正在尝试从一个数据帧插入或添加到另一个数据帧 我正在浏览原始数据框 在一列中寻找某些单词 当我找到这些术语之一时 我想将该行添加到新的数据框中 我通过使用得到了行 entry df loc df A item 但是 当尝试使用 add i
  • Rails 如何在 gem 中创建初始化程序

    我正在尝试在 Rails 3 中构建一个 gem 并在其中尝试传递一个初始化程序 Credentials configure do config file File read Rails root config twitter yaml f
  • Java(正则表达式?)在数字/字母组合之间分割字符串

    我一直在浏览谷歌结果的一页又一页 但没有发现任何可以帮助我的东西 我想做的就是分割一个字符串 比如Bananas22Apples496Pears3 并将其分解为某种可读的格式 自从String split 无法做到这一点 我想知道是否有人可
  • 如何在敏捷类型中对 IDublinCore 的行为进行排序?

    我正在使用 Python Dexterity Type 编写一个产品 并且我有Title and Description 这个字段来自一个行为plone app dexterity behaviors metadata IDublinCor
  • JComponent 未显示图片背景?

    我的组件没有显示 我该如何解决 Code import java awt import java awt event ActionEvent import java awt event ActionListener import java
  • ActionBar 上没有应用程序图标

    这里有很多关于向 ActionBar 添加图标的查询 但没有一个解决我的问题 如果您知道此问题的重复项 请随时发表评论或关闭此问题 我将我的项目迁移到 IntelliJ 并且在我以前的 IDE Eclipse 中没有遇到这个问题 问题 应用
  • Hyperledger:运行“./byfn -m up”时获取“/bin/bash: ./scripts/script.sh: No such file or directory”

    我是超级账本的新手 只是按照以下教程来学习它http hyperledger fabric readthedocs io 我正在尝试使用结构样本中的 first network 构建第一个网络 这 byfn m generate没问题 但打
  • Angular 4.3:使用新的 HttpClient 获取数组缓冲区

    我想更改为新的 HttpClient 到目前为止 我处理文件下载如下 getXlsx Observable
  • 如何以文化感知方式格式化 TimeSpan 的 HH:mm:ss 分隔符?

    我正在开发一款可以在世界许多国家 地区看到的应用程序 没有多少国家 地区会使用 以外的其他内容作为分隔符来显示小时 分钟和秒 但有一些国家 地区 我想确保其所在地区的时间格式正确 DateTime 在这方面很擅长 但 TimeSpan 则不
  • 无需拖放即可快速创建用户界面的最佳语言? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我是一名盲人大学生 正在参加专注于用户界面设计的编程入门课程 该类正在使用Processing 这是完全无法访问的 我正在寻找一种语言 它允许我无需拖放即可创建 GUI 并希望足够智能来完
  • GWT 将 ClickHandler 添加到 DOM 元素

    可以说我有一个带有 ClickHandler 的自定义小部件 这是例子 public class TestWidget extends Composite private static TestWidgetUiBinder uiBinder
  • jinja2.exceptions.TemplateNotFound:bootstrap/base.html

    我在继承引导程序 base html在安装 Bootstrap Flask 扩展后的 Flask 应用程序中 但出现以下错误 jinja2 exceptions TemplateNotFound bootstrap base html 您需
  • MP4 正在下载而不是播放

    MP4 文件有时会被下载 有时会在浏览器中播放 这两个链接有什么区别 1 如果您在 Chrome 中打开此 URL 将下载视频 http video video mall com video mall 400241188377 video
  • Angular 2 获取div的宽度

    我看过很多帖子 但没有一个完全符合我的要求 我有一个超出页面宽度的表格 由于各种原因我需要获取它的宽度 I used ViewChild tableToMeasure elementView ElementRef 然后将 tableToMe
  • 如何化简分数?

    如何在 C 中化简分数 例如 给定1 11 6 我需要它简化为2 5 6 如果你想要的只是将你的分数变成一个带分数 其小数部分是像前面假设的答案一样的真分数 你只需要添加numerator denominator到数字的整个部分并将分子设置
  • 如何使用 python nltk 加速 stanford NER 的 NE 识别

    首先 我将文件内容标记为句子 然后对每个句子调用斯坦福 NER 但这个过程确实很慢 我知道如果我在整个文件内容上调用它会更快 但是我在每个句子上调用它 因为我想在 NE 识别之前和之后索引每个句子 st NERTagger stanford