我正在努力更好地理解IBM Bluemix自然语言理解的工作原理。 docs
我找到了以下示例。
import sys
import os
sys.path.append(os.path.join(os.getcwd(),'..'))
import watson_developer_cloud
import watson_developer_cloud.natural_language_understanding.features.v1 as features
nlu = watson_developer_cloud.NaturalLanguageUnderstandingV1(version='2017-02-27',
username='some_username',
password='some_password')
nlu.analyze(text='this is my experimental text. Bruce Banner is the Hulk and Bruce Wayne is BATMAN! Superman fears not Banner, but Wayne.',
features=[features.Entities(), features.Keywords()])
它会生成以下输出:
{'entities': [{'count': 3,
'relevance': 0.915411,
'text': 'Bruce Banner',
'type': 'Person'},
{'count': 1, 'relevance': 0.296395, 'text': 'Wayne', 'type': 'Person'}],
'keywords': [{'relevance': 0.984789, 'text': 'Bruce Banner'},
{'relevance': 0.958833, 'text': 'Bruce Wayne'},
{'relevance': 0.853322, 'text': 'experimental text'},
{'relevance': 0.627454, 'text': 'Hulk'},
{'relevance': 0.619956, 'text': 'Superman'},
{'relevance': 0.583188, 'text': 'BATMAN'}],
'language': 'en'}
此输出中的relevance
是什么?怎么计算?我不需要详细的计算,因为它可能是专有的,但我希望有基本的理解。我也想知道keywords
如何识别?是否有特定的语料库用于关键字识别?
IBM网站上的文档有限。
答案 0 :(得分:2)
您可以随时查看我们非官方Watson Landing Page中的部分链接。它有上面提到的Rebook的链接,以及指向使用NLU的好chatbot implementation的链接。
答案 1 :(得分:1)
相关性:实体相关性得分在0-1范围内。得分为0表示不相关; 1表示它具有高度相关性。
IBM红皮书https://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/sg248398.html?Open
中的更多详细信息