词干提取的逆过程

2023-12-21

我使用 lucene 雪球分析器来执行词干提取。结果是没有意义的话。我提到了这个question https://stackoverflow.com/questions/190775/stemming-algorithm-that-produces-real-words/190885#190885 .

解决方案之一是使用一个数据库,其中包含单词的词干版本与单词的一个稳定版本之间的映射。 (从社区到社区的示例,无论社区的基础是什么(社区/或其他词))

我想知道是否有一个数据库可以执行这样的功能。


理论上不可能从词干中恢复特定的单词,因为一个词干可以是许多单词所共有的。根据您的应用程序,一种可能性是构建一个词干数据库,每个词干映射到多个单词的数组。但是,您需要预测这些单词中哪一个适合给定要重新转换的词干。

作为这个问题的一个非常简单的解决方案,如果你知道单词标签,你可以尝试在数据库中存储带有标签的单词:

run:
   NN:  runner
   VBG: running
   VBZ: runs

然后,给定词干“run”和标签“NN”,您可以确定“runner”是该上下文中最可能的单词。当然,这个解决方案远非完美。值得注意的是,您需要处理这样一个事实:相同的单词形式在不同的上下文中可能有不同的标记。但请记住,解决这个问题的任何尝试充其量都只是一个近似值。

编辑:从下面的评论来看,您可能想使用词形还原而不是词干提取。以下是如何使用以下方法获取单词的引理斯坦福核心 NLP 工具 http://nlp.stanford.edu/software/corenlp.shtml:

import java.util.*;

import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.ling.CoreAnnotations.*;

Properties props = new Properties();

props.put("annotators", "tokenize, ssplit, pos, lemma");
pipeline = new StanfordCoreNLP(props, false);
String text = "Hello, world!";
Annotation document = pipeline.process(text);

for(CoreMap sentence: document.get(SentencesAnnotation.class)) {
    for(CoreLabel token: sentence.get(TokensAnnotation.class)) {
        String word = token.get(TextAnnotation.class);
        String lemma = token.get(LemmaAnnotation.class);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

词干提取的逆过程 的相关文章

  • 如何在日期选择器中设置不在当前月份的单元格的样式

    我目前正在为我的 JavaFX 应用程序制作注册表 问题是 当日期选择器中的单元格不在页面的月份上时 我想让该单元格变灰 让我们看看我当前的日期选择器 我的日期选择器 正如您所看到的 我希望下个月的日期 27 日 28 日 30 日以及 1
  • 在Windows上安装Java 11 OpenJDK(系统路径问题)

    Java 11 最近发布了 众所周知 这个版本没有安装文件 当然 要在没有安装程序的情况下安装 Java 我将系统设置 PATH 和 JAVA HOME 设置为解压缩 Java 11 的文件夹的地址 根据对类似问题的已接受回复建议 唯一的事
  • 如何测试 JUnit 测试的 Comparator?

    我需要测试 Compare 方法 但我对如何测试感到困惑 我可以看看该怎么做吗 public class MemberComparator implements Comparator
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • 无法理解 Java 地图条目集

    我正在看一个 java 刽子手游戏 https github com leleah EvilHangman blob master EvilHangman java https github com leleah EvilHangman b
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • 使用 AWS Java SDK 为现有 S3 对象设置 Expires 标头

    我正在更新 Amazon S3 存储桶中的现有对象以设置一些元数据 我想设置 HTTPExpires每个对象的标头以更好地处理 HTTP 1 0 客户端 我们正在使用AWS Java SDK http aws amazon com sdkf
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • 如何在 Maven 中显示消息

    如何在 Maven 中显示消息 在ant中 我们确实有 echo 来显示消息 但是在maven中 我该怎么做呢 您可以使用 antrun 插件
  • 当单元格内的 JComboBox 中有 ItemEvent 时,如何获取 CellRow

    我有一个 JTable 其中有一列包含 JComboBox 我有一个附加到 JComboBox 的 ItemListener 它会根据任何更改进行操作 但是 ItemListener 没有获取更改的 ComboBox 所在行的方法 当组合框
  • 如何配置eclipse以保持这种代码格式?

    以下代码来自 playframework 2 0 的示例 Display the dashboard public static Result index return ok dashboard render Project findInv
  • Springs 元素“beans”不能具有字符 [children],因为该类型的内容类型是仅元素

    我在 stackoverflow 中搜索了一些页面来解决这个问题 确实遵循了一些正确的答案 但不起作用 我是春天的新人 对不起 这是我的调度程序 servlet
  • KeyPressed 和 KeyTyped 混淆[重复]

    这个问题在这里已经有答案了 我搜索过之间的区别KeyPressedand KeyTyped事件 但我仍然不清楚 我发现的一件事是 Keypressed 比 KeyTyped 首先被触发 请澄清一下这些事件何时被准确触发 哪个适合用于哪个目的
  • Swagger/Openapi-Annotations:如何使用 $ref 生成 allOf?

    我正在生成 Rest 端点 包括添加OpenAPI Swagger对生成的代码进行注释 虽然它对于基本类型运行得很好 但我在自定义类方面遇到了一些问题 现在我有很多自定义类的重复架构条目 使用 Schema 实现 MyClass class

随机推荐

  • 从 Xcode 5 导入 SVN 中的项目

    在 xcode 4 管理器中有一个 导入 按钮 在 xcode5 中如何导入 svn 存储库中的项目 thanks 这个问题有点令人困惑 所以如果这不完全是您所需要的 请告知 否则 请随意接受答案 令人困惑的是 您描述的 Xcode 4 工
  • 哪个版本的 Maven 与 Java 6 兼容?

    我必须在一个需要 java 6 才能运行的旧项目中工作 因为其中引用了已在未来版本中删除的已折旧的 sun 类 作为该过程的一部分 我将系统路径中的 jdk 从 8 更改为指向 java 6 jdk 这样做之后我得到 Exception i
  • EaselJS - 拖动缩放父级的子级

    注意 此问题现已解决 请参阅下面我的回答中的 修复 如果您认为合适 请随意注入任何进一步的知识 首先 我一直在研究和谷歌搜索 localToGlobal localToLocal 和 globalToLocal 但我对这些方法的理解还不足以
  • 无法将地图放入接收器上下文中

    我正在尝试查看在接收器上下文中抛出地图的方法 在这段代码中 class Sunk has titanic method sink say Sinking titanic Sunk new titanic for 1 3 1 3 map Su
  • 返回时未调用 ngOnInit

    我注意到ngOnInit 当我返回到已经实例化的页面时 方法不会被调用 我必须使用其他方法吗 我需要一个每次访问特定页面时都会调用的方法 EDIT已经测试过onPageWillEnter 但它在 Ionic 2 中没有被触发 Check 生
  • PHP中的短语分割算法

    不知道如何解释 让我们举个例子 说我想拆分句子 今天是个好日子 into today today is today is a today is a great today is a great day is is a is a great
  • 如何将图像调色板缩小为特定颜色?

    我正在使用 Python 程序来创建十字绣方案 并且需要将图像中的颜色减少为特定的牙线颜色像这样 http www dmc usa com Products Needlework Threads Embroidery Threads med
  • javascript方法链中的输入参数是如何填充的?

    我正在尝试真正了解 javascript 工作原理的细节 在方法链接期间 有时一个方法会返回到另一个具有命名输入参数的方法 例如 在 D3 中 模式如下所示 d3 select body selectAll p data dataset e
  • 使用 Backbone.js 的 JS 模板系统

    我正在寻找一些好的模板系统 可以与 Backbone js 等 MVC 框架一起使用 我知道这样一个系统 jQuery 模板 然而 由于某些原因 它已经停止 因此我正在寻找其他一些不错的选择 请建议从视图角度足够灵活的东西 例如 基于某些逻
  • Spring Boot属性在初始化时加载,并尊重所有属性并根据属性文件中的值控制@Aspect

    我们正在使用从外部文件加载属性 PropertySources 现在我想启用 禁用 Aspect基于属性 我尝试使用 ConditionalOnExpression这不起作用 我通过创建一个 bean 进行了同样的尝试propertypla
  • “您可能需要一个额外的加载器来处理这些加载器的结果。”

    我目前正在尝试为 ReactJs 构建一个状态管理库 但是一旦我将它实现到我的 React 项目中 使用create react app 它开始丢弃此错误 Failed to compile path to agile dist runti
  • QProcess 在未 waitForFinished() 时不发出信号

    下面的代码中省略了waitForFinished 使 QProcess 停止发出信号 这到底是怎么回事 这是 Qt 的错误吗 5 7 请注意 此代码与 QtConcurrent 并行运行 但这不应该改变任何事情 不是吗 Afaik 在其他线
  • [decl.constexpr].5 到底是什么意思?

    该标准关于常量表达式函数 decl constexpr 第 5 点规定 对于非模板 非默认 constexpr 函数或非模板 非默认 非继承 constexpr 构造函数 如果不存在参数值 则函数或构造函数的调用可以是核心常量的计算子表达式
  • 导出到 Excel 不适用于 SSL (https) 下的 IE

    我一直在尝试修复安全网站 https 上的某些内容 该网站是一个生成 CSV 文件的 导出到 Excel 按钮 它适用于 Firefox Chrome 等 但不适用于 Internet Explorer 我已经更改了标头 消除了无缓存 还编
  • 自移动批处理文件

    我正在寻找一种方法让批处理文件在执行后将其自身移动到已知位置 自动移动 似乎是最恰当的名字 但我确信它有一个技术术语 我想移动批处理文件after所有其他代码都已运行 move C temp move me bat D temp move
  • 溢出的签名/未签名作业及其结果

    我正在阅读 Stroustrup 的书 C 编程语言第 4 版 并且有三个关于溢出赋值的问题 特别是对有符号 无符号字符 如书中所示 首先 根据标准5 4段 如果在计算表达式时 结果不是 数学定义或不在可表示值的范围内 它的类型 行为未定义
  • HTML5 svg 不工作

    我使用的是 Chrome 版本 5 0 375 55 和 Firefox 版本 3 5 9 但我无法获取下面的 HTML5 代码来显示一个框
  • VBA/VB6 集合到底是什么?

    对于整数键 索引速度为O N 所以看起来它是一个列表 但显然 wqw 的评论无法在 VB6 For Each 循环中正确循环键和值 https stackoverflow com q 57066954 1261153 字符串键的访问时间是O
  • subversion authz 路径包含空格

    如何为包含空格的路径设置 authz 文件 我尝试了各种方法来逃离这个空间 但都不起作用 some path some 20path some path some path 我刚刚检查了 svn 源代码和文件解析器 在 libsvn sub
  • 词干提取的逆过程

    我使用 lucene 雪球分析器来执行词干提取 结果是没有意义的话 我提到了这个question https stackoverflow com questions 190775 stemming algorithm that produc