当前位置: 首页 > 面试题库 >

您如何获得动词的过去式?

百里俭
2023-03-14
问题内容

最好在不使用占用大量内存的NLP框架的情况下,获取动词过去式的最有效方法是什么?

例如

  • 住:住
  • 尝试:尝试
  • 轻按至:轻按
  • 煮到煮
  • 卖给:卖给
我自己写了一些快速的东西(堆栈溢出不会让我自己回答),这似乎适用于常规动词(例如该列表的前4个),但不适用于不规则动词: http
//pastebin.com/Txh76Dnb

编辑:感谢所有的答复,由于动词不规则,似乎没有字典就无法正确完成。


问题答案:

虽然我想通过算法来执行此操作而不使用字典,但我不得不诉诸于使用字典。

我发现最高效的库是SimpleNLG。

由于他们的文档与当前API不同步,因此以下是实现此目的的方法:

XMLLexicon lexicon = new XMLLexicon("path\\to\\default-lexicon.xml");
WordElement word = lexicon.getWord("live", LexicalCategory.VERB);
InflectedWordElement infl = new InflectedWordElement(word);
infl.setFeature(Feature.TENSE, Tense.PAST);
Realiser realiser = new Realiser(lexicon);
String past = realiser.realise(infl).getRealisation();
System.out.println(past);


 类似资料:
  • 问题内容: 使用NLTK和WordNet,如何将简单的时态动词转换为现在,过去或过去分词形式? 例如: 我想编写一个函数,该函数以预期的形式给我动词,如下所示。 问题答案: 我认为您正在寻找的是NodeBox :: Linguistics 库。它确实做到了:

  • 问题内容: 从Java,是否可以获取包含启动应用程序的所有参数的完整命令行? 并且似乎不包含这些值。 问题答案: 其中一些可从RuntimeMXBean获得,方法是通过调用 然后,您可以例如致电 的Javadocs说: 返回传递给Java虚拟机的输入参数,该参数不包含main方法的参数。如果Java虚拟机没有输入参数,则此方法返回一个空列表。 一些Java虚拟机实现可能会从多个不同的来源获取输入参

  • 问题内容: 我正在尝试在Pymongo中订购字典。我读过可以用bson.son.Son完成。文件在这里 但是,我似乎无法使其工作。谷歌上没有太多关于它的信息。关于首先配置pymongo以便告诉它使用SON对象有一些讨论,但没有示例。一位朋友建议您在查找时传递一个参数。他不记得了。 我可以创建SON对象。但是,当它们插入数据库然后又出来时,它们只是简单的命令。 我不确定要给您什么代码示例,因为我真的

  • 我正在尝试编写我的第一个Elasticsearch分析插件,我从github中找到了一个可扩展的标准Analyzer插件项目:Elasticsearch分析standardext,在该项目中它提供了以下代码: 这里是链接 我想知道如何获得这些单词边界的字符类。 我问有问题的作者:如何获得单词边界“字符类”?#2,但是作者似乎不会回答我的问题。 我尝试阅读Unicode文本分段文档:https://

  • 问题内容: 我正在玩弄节点,并将其安装在我的机器上。现在,我想获取机器上正在运行的进程的列表,以便查看Apache是​​否正在运行,MySQL是否已启动等?我怎样才能做到这一点?我的js文件中只有非常基本的代码。我什至不知道从哪里开始。 这是我的代码: 问题答案: 据我所知,还没有一个模块可以做这个跨平台。您可以使用子流程API来启动提供所需数据的工具。对于Windows,只需启动内置任务列表过程

  • 问题内容: 我创建了一个过滤器来监视请求的长度。 我现在如何获得毫秒数? 问题答案: 1微秒= 1000纳秒 1毫秒= 1000微秒 请注意,结果会四舍五入,但是无论如何您通常都无法获得真正的纳秒精度(准确性取决于操作系统)。从Javadoc开始: 此方法提供纳秒精度,但不一定提供纳秒精度。