我正在使用python sdk使用Microsoft认知服务[我正在识别文件夹]中进行说话人识别;当我运行CreateProfile.py文件时,我正在尝试为配置文件提供用户名。因此,例如,我将运行我的main.py文件,然后我会尝试传递语言环境和名称。
import sys
sys.path.append('./Identification')
from CreateProfile import create_profile
name="Jane Doe"
subscriptionKey = "<my subscription key>"
locale = "en-us"
create_profile(name, subscriptionKey, locale)
一旦我运行了get配置文件GetProfile.py,我希望它输出所有用户的信息,包括他们的用户名。但是我在终端回来了。
Profile Name = None
Profile ID = 93affed1-ceb2-4538-9e6b-f0bd22d123b0
Locale = en-us
Enrollments Speech Time = 0.0
Remaining Enrollment Time = 30.0
Created = 2017-10-07T02:03:51.956Z
Last Action = 2017-10-07T02:03:51.956Z
Enrollment Status = Enrolling
我已经尝试通过在类中添加_PROFILE_NAME = 'identificationProfileName'
之类的东西来编辑IdentificationProfile.py,我在很多地方添加了与此相关的更改,但我仍然看不到返回的名称我运行GetProfile.py
这是我的IdentificationProfile.py
import IdentificationServiceHttpClientHelper
import sys
def get_profile(subscription_key, profile_id):
"""Get a speaker's profile with given profile ID
Arguments:
subscription_key -- the subscription key string
profile_id -- the profile ID of the profile to resets
"""
helper = IdentificationServiceHttpClientHelper.IdentificationServiceHttpClientHelper(
subscription_key)
profile = helper.get_profile(profile_id)
print('Profile Name = {0}\n Profile ID = {1}\nLocale = {2}\nEnrollments Speech Time = {3}\nRemaining Enrollment Time = {4}\nCreated = {5}\nLast Action = {6}\nEnrollment Status = {7}\nName\n'.format(
profile._profile_name,
profile._profile_id,
profile._locale,
profile._name,
profile._enrollment_speech_time,
profile._remaining_enrollment_time,
profile._created_date_time,
profile._last_action_date_time,
profile._enrollment_status))
if __name__ == "__main__":
if len(sys.argv) < 3:
print('Usage: python DeleteProfile.py <subscription_key> <profile_id> ')
print('\t<subscription_key> is the subscription key for the service')
print('\t<profile_id> the ID for a profile to delete from the sevice')
sys.exit('Error: Incorrect usage.')
get_profile(sys.argv[1], sys.argv[2])
答案 0 :(得分:1)
您无法为身份资料提供姓名。 python SDK使用的HTTP endpoint不接受除语音语言环境之外的任何参数。
您必须自己将用户名映射到标识配置文件ID。您可以使用数据库,可能是Azure MySQL db。或者,如果您只是测试一下,请使用内存中的地图(也就是字典)。