如何向 wit.ai 中的 'wit$location' 等内置实体添加值

How to add values to built in entities like 'wit$location' in 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 实体添加值。

据我所知,您不能 edit/add 到内置实体。原因是也许你想添加星球大战中的所有城市,或者在你不知名的地区,但其他人不希望它们弹出。

我的解决方法是添加一个名为 "my_city" 的实体,并将您特别想要识别的城市添加到该实体。在您的代码中,您只需在检查位置时检查两个实体之一...

希望这对您有所帮助,祝您好运!