如何在wit.ai中为内置实体添加值,例如'wit $ location'

时间:2017-07-15 07:32:16

标签: python-2.7 python-requests wit.ai

我尝试过使用API​​服务:

response = requests.post('https://api.wit.ai/entities/wit$location/values?v=20160526', 
                         headers={'Authorization':'Bearer xxx'}, 
                         data=json.dumps({ "value":"London", 
                                           "expressions":["London"], 
                                           "metadata":"CITY_1234"}))

但我得到的回应是:

{'code': 'not-found',
 'error': "Entity '535a80ff-6399-4653-8b2a-c770dd014965' not found"}

我很确定名为wit$location的实体存在。

response = requests.get('https://api.wit.ai/entities/wit$location?v=20160526', 
                         headers={'Authorization':'Bearer xxx'})

响应是:

{'builtin': True,
 'doc': '{"spanless":false,"short_desc":"specific position or '
        'address","long_desc":"Capture free text that\'s a typical location, '
        'place or address like `350 Cambridge Ave Palo Alto`, `925 Alma '
        'Street`, `SFO`, and `Sausalito, CA`.\\nUse wit/local_search_query for '
        'local place like `my flower shopt` and '
        '`Peet\'s`","examples":[{"expression":["meet me at","350 Cambridge Ave '
        'Palo Alto","at noon"],"response":"\\"entities\\" : {\\n      '
        '\\"location\\" : [ {\\n        \\"value\\" : \\"350 Cambridge Ave '
        'Palo Alto\\"\\n      } ]\\n    '
        '}","$$hashKey":"070"},{"expression":["go to","925 Alma '
        'street",""],"response":"\\"entities\\" : {\\n      \\"location\\" : [ '
        '{\\n        \\"value\\" : \\"925 Alma street\\"\\n      } ]\\n    '
        '}","$$hashKey":"07Z"},{"expression":["i need a ride to","Sausalito, '
        'CA",""],"response":"\\"entities\\" : {\\n      \\"location\\" : [ '
        '{\\n        \\"value\\" : \\"Sausalito, CA\\"\\n      } ]\\n    '
        '}","$$hashKey":"081"},{"expression":["I came '
        'from","SFO","?"],"response":"\\"entities\\" : {\\n      '
        '\\"location\\" : [ {\\n        \\"value\\" : \\"SFO\\"\\n      } '
        ']\\n    '
        '}","$$hashKey":"083"}],"similar_wisps":[{"name":"wit/local_search_query","$$hashKey":"072"}]}',
 'exotic': False,
 'id': '535a80ff-6399-4653-8b2a-c770dd014965',
 'lang': 'en',
 'lookups': ['free-text'],
 'name': 'location',
 'values': []}

我希望能够将值添加到wit$location实体。

1 个答案:

答案 0 :(得分:0)

据我所知,您无法编辑/添加内置实体。原因是,您可能希望在星球大战中或在您不起眼的区域添加所有城市,但其他人不希望让它们弹出。

我的工作是添加一个名为“my_city”的实体,并将您特别想要识别的城市添加到该实体。在您的代码中,您只需在检查位置时检查两个实体中的一个......

希望这有帮助,祝你好运!