如何从文本中提取关键字(标签)

2023-11-25

我目前正在尝试用 Java 实现一个标记引擎,并搜索从文本(文章)中提取关键字/标签的解决方案。我在 stackoverflow 上找到了一些建议使用逐点互信息的解决方案。

解决方案1

解决方案2

我不能使用 python 和 nltk 所以我必须自己实现它。但我不知道如何计算概率。 等式如下所示:

PMI(term, doc) = log [ P(term, doc) / (P(term)*P(doc)) ]

我想知道的是如何计算 P(term, doc)

我已经有一个兰格文本语料库和一个文章集。这些文章不是语料库的一部分。语料库使用 lucene 进行索引。

请帮帮我。 此致。


有很多算法可以做到这一点:

开源工具:

kea(http://www.nzdl.org/Kea/)监督方法使用训练数据和受控词汇

毛伊岛索引器(http://code.google.com/p/maui-indexer/)它基本上是 kea 的扩展,它提供了使用百科全书进行关键短语提取的设施。

carrot2(http://project.carrot2.org/)用于关键短语提取的无监督方法。它支持多种输入、输出格式和关键短语提取参数。

mallet主题建模模块(http://mallet.cs.umass.edu/topics.php)

斯坦福主题建模工具(http://nlp.stanford.edu/software/tmt/tmt-0.3/)

Mahout 聚类算法(http://mahout.apache.org/)

商业API:

泽曼塔 API(http://www.zemanta.com/developer/)

雅虎术语提取API(http://developer.yahoo.com/contentanalysis/)

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

如何从文本中提取关键字(标签) 的相关文章

  • BERT - 池化输出与序列输出的第一个向量不同

    我在 Tensorflow 中使用 BERT 有一个细节我不太明白 根据文档 https tfhub dev google bert uncased L 12 H 768 A 12 1 https tfhub dev google bert
  • 使用我自己的训练示例训练 spaCy 现有的 POS 标记器

    我正在尝试在我自己的词典上训练现有的词性标注器 而不是从头开始 我不想创建一个 空模型 在spaCy的文档中 它说 加载您想要统计的模型 下一步是 使用add label方法将标签映射添加到标记器 但是 当我尝试加载英文小模型并添加标签图时
  • 生成易于记忆的随机标识符

    与所有开发人员一样 我们在日常工作中不断处理某种标识符 大多数时候 它与错误或支持票有关 我们的软件在检测到错误后 会创建一个包 该包的名称由时间戳和版本号格式化 这是创建合理唯一标识符以避免混淆包的一种廉价方法 例子 错误报告 20101
  • jquery 改变标签

    我的代码不起作用 你能帮我吗 我希望将 class s7 的标签名称 p 更改为 h1 问题是您将所有元素与类相匹配s7 但是您需要对它们进行一一处理 以便将其内容复制到新元素中 在您当前的代码中 this总是document 不是当前元素
  • 用于估计(一元)困惑度的 NLTK 包

    我正在尝试计算我所拥有的数据的困惑度 我正在使用的代码是 import sys sys path append usr local anaconda lib python2 7 site packages nltk from nltk co
  • SpaCy 模型“en_core_web_sm”的词汇量大小

    我尝试在 SpaCy 小模型中查看词汇量 model name en core web sm nlpp spacy load model name len list nlpp vocab strings 只给了我 1185 个单词 我也在同
  • ANEW 字典可以用于 Quanteda 中的情感分析吗?

    我正在尝试找到一种方法来实施英语单词情感规范 荷兰语 以便使用 Quanteda 进行纵向情感分析 我最终想要的是每年的 平均情绪 以显示任何纵向趋势 在数据集中 所有单词均由 64 名编码员按照 7 分李克特量表在四个类别上进行评分 这提
  • 如何对德语文本进行词形还原?

    我有一篇德语文本 我想对其应用词形还原 如果不可能进行词形还原 那么我也可以接受词干提取 Data 这是我的德语文本 mails Hallo Ich spielte am fr hen Morgen und ging dann zu ein
  • 计算标签云中标签字体大小的公式是什么?

    我有一个标签云 我需要知道如何更改最常用标签的字体大小 我需要设置最小字体大小和最大字体大小 您可以使用线性或对数评估与某个标签相对于最大标签关联的项目数量 将其乘以最小和最大字体大小之间的差值 然后将其添加到最小字体大小 例如 伪代码中的
  • 获取所有按钮标签类型

    有没有办法使用 javascript 获取特定页面上的所有按钮标签及其类型 将此代码放在文档的加载事件中或 HTML 的底部 var buttons document getElementsByTagName button for let
  • 使用正则表达式标记化进行 NLP 词干提取和词形还原

    定义一个函数 名为performStemAndLemma 它需要一个参数 第一个参数 textcontent 是一个字符串 编辑器中给出了函数定义代码存根 执行以下指定任务 1 对给出的所有单词进行分词textcontent 该单词应包含字
  • 阻止斯坦福核心 NLP 服务器输出它收到的文本

    我正在运行一个斯坦福核心自然语言处理 http stanfordnlp github io CoreNLP server java mx4g cp edu stanford nlp pipeline StanfordCoreNLPServe
  • 获取签出修订版的 git 标签?

    我正在做 git tag current tag example to test task git checkout tag example to test task HEAD is now at 75fdde3 commit commen
  • 如何在Python中使用多处理来加速循环执行

    我有两个清单 列表 A 包含 500 个单词 列表 B 包含 10000 个单词 我正在尝试为列表 A 找到与 B 相关的相似单词 我正在使用 Spacy 的相似函数 我面临的问题是计算需要很长时间 我是多处理使用的新手 因此请求帮助 如何
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • TextBoxFor @Value(大写)而不是@value

    这只是出于好奇 为什么这段代码有效 Html TextBoxFor x gt x Age new Value 0 这不是 Html TextBoxFor x gt x Age new value 0 请注意其中的大写 V Value I k
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 如何提取句子中的主语及其各自的从属短语?

    我正在尝试在句子中进行主题提取 以便我能够根据主题获得情感 我在用nltk在 python2 7 中用于此目的 以下面的句子为例 Donald Trump is the worst president of USA but Hillary
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • 使用 NLP 进行地址分割

    我目前正在开发一个项目 该项目应识别地址的每个部分 例如来自 str Jack London 121 Corvallis ARAD ap 1603 973130 输出应如下所示 street name Jack London no 121

随机推荐

  • 按下按钮时播放声音 - android

    我有这个代码 package com tct soundTouch import android app Activity import android media MediaPlayer import android os Bundle
  • 在 openSUSE 上安装最新的 Python

    我使用 Zypper 包管理器在 openSUSE 系统 参见下面的版本 上安装了 Python 这为我提供了 Python 3 2 但某些包需要 Python 3 3 更新为zypper update python3保留在 Python
  • Loaddata 未正确处理时间戳和时区

    我正在使用 django 1 4 1 并启用了 mysql 和时区 我将数据转储到 yaml 修改了一些字段以创建一些测试数据 并尝试将其重新加载 但是 即使指定了 tz Django 仍不断抱怨天真的日期时间 具体来说 我的负载数据有 f
  • 按频率对 SQL 查询记录进行排序

    有什么方法可以根据某个值在列中出现的频率来对从 SQL 查询中选择的记录进行排序吗 例如 如果有 5 个列 value1 的记录 3 个列 value2 的记录 以及 2 个列 value3 的记录 有没有办法让结果先显示 value1 然
  • mysql 仅替换某些字段

    我有一个 mysql 表 CREATE TABLE gfs localidad varchar 20 fecha datetime pp float 8 4 NOT NULL default 0 0000 temp float 8 4 NO
  • 获取特定区域的节点列表?

    我正在开发一款横向游戏 我需要知道某个区域中有哪些节点来实现 视线 之类的功能 现在我正在尝试使用 enumerateBodyiesInRect 但它检测到的主体距离评估的矩形 20px 或更多 我无法弄清楚为什么它如此不精确 这就是我现在
  • 如何在 php 中获取远程域的 HTTP 状态代码?

    我想创建一个批处理脚本 遍历数据库中的 20 000 个链接 并清除所有 404 等 如何获取远程 URL 的 HTTP 状态代码 最好不要使用curl 因为我没有安装它 CURL 会是完美的 但由于你没有它 你将不得不开始使用套接字 该技
  • R 中复杂的非等值合并

    我正在尝试在两个表之间进行复杂的非等值连接 我受到了上次 userR 2016 中的演示的启发 https channel9 msdn com events useR international R User conference useR
  • JavaScript 循环性能 - 为什么将迭代器递减到 0 比递增迭代器更快

    在他的书中更快的网站Steve Sounders 写道 提高循环性能的一个简单方法是将迭代器向 0 递减 而不是向总长度递增 实际上这一章是由 Nicholas C Zakas 撰写的 此更改可以使原始执行时间节省高达 50 具体取决于每次
  • git 不添加现有文件夹

    最近开始做一个项目 然后决定把它推到github上 所以我做了以下事情 cd
  • Angular 6 中的倒计时器

    您好 我正在尝试获取一个倒计时器的示例 我在堆栈上搜索时找到了这里 角度 2 倒计时 这是我的代码 import Component ElementRef OnInit OnDestroy from angular core import
  • XSLT:转换为非 xml 内容?

    是否可以使用 XSLT 将 XML 转换为 XML 以外的内容 例如我想要决赛non xml内容
  • 为什么 Visual Studio 在自分配时不发出警告 (int foo = foo;)

    我正在重构一个出现了无数次的术语 不小心产生了如下代码所示的情况 include stdafx h include
  • 以编程方式切换 Bootstrap 3 导航栏

    我在 Bootstrap 3 导航栏中使用了一些项目 如下所示
  • Autofac复合图案

    我注意到我经常需要实现复合模式 例如 interface IService class Service1 IService class Service2 IService class CompositeService IService pu
  • python - 使用 Django 将 Unicode 字符存储到 MySQL 时出现问题

    我有字符串 u Played Mirror s Edge u2122 应显示为 Played Mirror s Edge 但这是另一个问题 我手头的问题是我将其放入模型中 然后尝试将其保存到数据库中 又名 a models Achievem
  • 如何使用依赖 jar 创建可执行 jar

    我创建了一个依赖于一些外部 jar 的 java 应用程序 现在我想为我的项目创建一个可执行的 jar 这意味着如果我双击该项目 那么它应该执行 您可以使用 Ant 轻松做到这一点
  • Android PhotoView 在方向改变后保持缩放

    我正在利用照片查看器Chris Banes 的课程能够放大图像并查看它 但我想这样做 以便当我更改方向时 照片在更改后仍会放大 我了解如何执行此操作的基础知识 即当检测到方向更改时 将调用 onSaveInstanceState 因此我尝试
  • 破坏 RichTextBox 中的编码

    我在 winform 应用程序中使用 richtextbox 当我粘贴 高棉 文本时一切正常 但是 当我粘贴 阿拉伯语 文本时 会出现一些问题 在第一个插入中存在编码问题 我在 richtextbox 中没有找到任何编码属性 如何解决编码问
  • 如何从文本中提取关键字(标签)

    我目前正在尝试用 Java 实现一个标记引擎 并搜索从文本 文章 中提取关键字 标签的解决方案 我在 stackoverflow 上找到了一些建议使用逐点互信息的解决方案 解决方案1 解决方案2 我不能使用 python 和 nltk 所以