首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自然语言词(短语)

自然语言词(短语)
EN

Stack Overflow用户
提问于 2017-02-07 00:38:30
回答 2查看 181关注 0票数 0

我正在从事自然语言生成任务,需要检索与Cyc术语相当的自然语言单词或短语。例如#$$EatingEvent“-> "eat”eat“或”#$coyote-动物“-> "coyote”。

如何通过Java或SubL函数实现这一点?

我正在使用Research 4.0qKB和Core套件v1.0.0-rc4。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-07 19:22:33

至少有三种不同的方法可以做到这一点:

  1. 使用Cyc查询。下面是运行查询的SubL表单,但是可以通过Java或通过Cyc浏览器轻松地使用该查询: (new-cyc-query '(#$termPhrases #$Coyote-动物#$CharacterString ?X) #$InferencePSC‘(:最大值- 1))

这将返回:

代码语言:javascript
复制
(((?X . "prairie wolf")))

如果你不问一个答案,你就能得到很多答案:

代码语言:javascript
复制
(new-cyc-query '(#$termPhrases #$Coyote-Animal #$CharacterString ?X) #$InferencePSC )

这将返回:

代码语言:javascript
复制
(((?X . "Canis latrans")) 
 ((?X . "coyote (C. latrans)")) 
 ((?X . "C. latrans")) 
 ((?X . "prairie wolves")) 
 ((?X . "coyotes")) 
 ((?X . "coyote")) 
 ((?X . "prairie wolf")))
  1. 使用SubL生成表单: (生成短语#$Coyote-动物)

这将返回:

代码语言:javascript
复制
"prairie wolf"
#$singular
  1. 使用Java: 释义词termParaphraser = getTermParaphraser();KbObject coyote =KbCollectionFactory.get(“Coyote-动物”);String nl =getTermParaphraser()

在这个代码的末尾,nl应该设置为字符串“草原狼”。

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

票数 0
EN

Stack Overflow用户

发布于 2017-02-11 00:11:38

值得注意的是,您还可以在OpenCyc中获得与Cyc术语相当的NL,而不仅仅是ResearchCyc。

例如,如果您调用以下SubL..。

(生成短语#$Dog)

...in,例如,作为输出,您将获得以下内容:

“狗”prettyString-标准零(#( 0))

请注意,在#$prettyString和#$prettyString(我的OpenCyc版本)中有很多断言。正如DaveS所建议的,您应该能够使用新的-cyc-查询来查询这些内容。

ResearchCyc似乎没有#$prettyString或#$prettyString-规范,但似乎使用了更微妙的本体(一组谓词)来生成NL。我怀疑NL基因知识在RCyc中的覆盖面和灵活性优于OCyc。

我得到了这些结果

CycL修订级别: 10.140388当前KB: 5022

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42079796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档