大佬教程收集整理的这篇文章主要介绍了Python NLTK ResolutionProver 找到了一个解决方案,而实际上没有,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的格式规则“if A&B then C”:如果b is_man和s issister_of b,然后 b 是 s 的兄弟
我添加了一个事实,即 is_man(luC) 并且我请求 brother_of(b,leia)
是否有任何“b”我希望答案是否定的,因为并没有说 leia 是 luc 的妹妹,所以在我的规则中“如果 A&B 则 C” B 部分不正确,但 ResolutionProver 出人意料地回答'卢克' ??!?
import nltk.inference
rexp = nltk.sem.Expression.fromString
p1 = rexp('is_man(luC)')
p2 = rexp('(is_man(b) & sister_of(s,b)) -> brother_of(b,s)')
answer = rexp('brother_of(b,leia) -> ANSWER(b)')
tp = nltk.ResolutionProverCommand(None,[p1,p2,answer])
if List(tp.find_answers()):
for ans in List(tp.find_answers()): print(ans,end=' ')
else: print('No answer')
它不应该回答 Luc 而是 false,我怎样才能得到 false ?并且只有在我另外声明sister_of(leia,luC) 时才得到'luc'。谢谢!
PS:有关信息,这里是证据:
[1] {is_man(luC)} A (that is p1)
[2] {-is_man(z368),-sister_of(z369,z368),brother_of(z368,z369)} A (that is p2)
[3] {-brother_of(z370,leia),ANSWER(z370)} A (that is answer)
[4] {-sister_of(z369,luC),brother_of(luc,z369)} (1,2) (combination of 1 & 2)
[5] {ANSWER(z370),-is_man(z370),-sister_of(leia,z370)} (2,3)
[6] {-sister_of(leia,ANSWER(luC)} (1,5)
[7] {-sister_of(leia,ANSWER(luC)} (3,4)
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Python NLTK ResolutionProver 找到了一个解决方案,而实际上没有全部内容,希望文章能够帮你解决Python NLTK ResolutionProver 找到了一个解决方案,而实际上没有所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。