个性化识别适用于语音听写。支持上传联系人和上传词表功能,上传联系人可以增加通讯录联系人的识别率,上传词表可以增加词表的识别率。

1.1. 上传联系人

上传联系人,可以提升联系人的识别率。目前IFlyContact类已从SDK中开源到demo->tools->contact中,具体使用示例如下所示:

1. //创建上传对象
2. _uploader = [[IFlyDataUploader alloc] init];
3. //创建联系人对象
4. IFlyContact *iFlyContact = [[IFlyContact alloc] init];
5. NSString *contactList = [iFlyContact contact]; //获取联系人列表
6. //设置上传参数
7. [_uploader setParameter:@"uup" forKey:@"sub"];
8. [_uploader setParameter:@"contact" forKey:@"dtt"];
9. //启动上传
10. [_uploader uploadDataWithCompletionHandler:^(NSString *grammerID, IFlySpeechError *error){
11. //
12. } name:@"contact" data: contactList];

1.2. 上传用户词表

上传的用户词表在语音听写中优先识别。使用示例如下所示:

1. //创建上传对象
2. _uploader = [[IFlyDataUploader alloc] init];
3. //用户词表
4. #define USERWORDS   @"{\"userword\":[{\"name\":\"iflytek\",\"words\":[\"德国盐猪手\",\"1912酒吧街\",\"清蒸鲈鱼\",\"挪威三文鱼\",\"黄埔军校\",\"横沙牌坊\",\"科大讯飞\"]}]}"
5. IFlyUserWords *iFlyUserWords = [[IFlyUserWords alloc] initWithJson:USERWORDS ];
6. //设置上传参数
7. [_uploader setParameter:@"uup" forKey:@"sub"];
8. [_uploader setParameter:@"userword" forKey:@"dtt"];
9. //启动上传(请注意name参数的不同)
10. [_uploader uploadDataWithCompletionHandler:^(NSString * grammerID, IFlySpeechError *error){
11. //
12. }name: @"userwords" data:[iFlyUserWords toString]];