Cyc术语的自然语言词(短语)

我正在进行自然语言生成任务,需要检索Cyc术语对应的自然语言词或短语。例如,”#$EatingEvent” -> “eat” 或 “#$Coyote-Animal” -> “coyote”。

如何通过Java API或SubL函数实现这一目标?

我使用的是Research Cyc 4.0q KB和Cyc Core API Suite v1.0.0-rc4。


回答:

至少有三种不同的方法可以实现这一目标:

  1. 使用Cyc查询。以下是运行查询的SubL形式,但该查询可以轻松地与Java API或通过Cyc浏览器一起使用:

    (new-cyc-query ‘(#$termPhrases #$Coyote-Animal #$CharacterString ?X) #$InferencePSC ‘(:max-number 1))

这将返回:

(((?X . "prairie wolf")))

如果您不只请求一个答案,可以得到很多答案:

(new-cyc-query '(#$termPhrases #$Coyote-Animal #$CharacterString ?X) #$InferencePSC )

这将返回:

(((?X . "Canis latrans"))  ((?X . "coyote (C. latrans)"))  ((?X . "C. latrans"))  ((?X . "prairie wolves"))  ((?X . "coyotes"))  ((?X . "coyote"))  ((?X . "prairie wolf")))
  1. 使用SubL生成形式:

    (generate-phrase #$Coyote-Animal)

这将返回:

"prairie wolf"#$singular
  1. 使用Java API:

    Paraphraser termParaphraser = getTermParaphraser();KbObject coyote = KbCollectionFactory.get("Coyote-Animal");String nl = termParaphraser.paraphrase(coyote).getString());

在代码结束时,nl应设置为字符串”prairie wolf”。

我不确定这个释义器代码是否是API的1.0.0-rc4版本,但它肯定在1.0.0-rc5中,这是目前可以从dev.cyc.com下载的版本。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注