WO2021238371A1 - 生成虚拟角色的方法及装置 - Google Patents

生成虚拟角色的方法及装置 Download PDF

Info

Publication number
WO2021238371A1
WO2021238371A1 PCT/CN2021/082911 CN2021082911W WO2021238371A1 WO 2021238371 A1 WO2021238371 A1 WO 2021238371A1 CN 2021082911 W CN2021082911 W CN 2021082911W WO 2021238371 A1 WO2021238371 A1 WO 2021238371A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual character
semantic
data
information
voice
Prior art date
Application number
PCT/CN2021/082911
Other languages
English (en)
French (fr)
Inventor
潘邵武
卢惠莉
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2021238371A1 publication Critical patent/WO2021238371A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种生成虚拟角色的方法及装置,涉及AI技术领域,其中,该方法包括获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据,基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据,基于所述第二语音语义标注数据,训练得到所述第一虚拟角色,其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据,第二语音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据。能够降低生成虚拟角色的周期和成本,提高处理AI业务的敏捷性和可拓展性,便于实现AI业务的个性化处理。

Description

生成虚拟角色的方法及装置
本申请要求于2020年5月28日提交国家知识产权局、申请号为202010466955.1、申请名称为“生成虚拟角色的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种生成虚拟角色的方法及装置。
背景技术
随着AI技术的不断发展,语音助手、字幕生成、语音输入、聊天机器人、客户机器人和口语评测等AI业务的应用也越来越广泛。这些AI业务可以基于语音语义识别算法,接收并识别用户发出的语音指令,从而向用户提供交互对话、信息查询和设备控制等多种服务。
现有技术中,可以针对所要处理的AI业务所归属的功能领域,采集大量的语音数据,并对该语音数据进行标注,得到语音语义标注数据,然后通过该语音语义标注数据,训练得到针对该AI业务的虚拟角色。
但由于对于每个虚拟角色,都需要采集大量的语音数据并进行标注,然后再训练得到该虚拟角色,从而导致生成虚拟角色的周期较长,成本较高,业务的敏捷性和可扩展性较差,不利于实现AI业务的个性化处理。
发明内容
有鉴于此,本申请提供一种生成虚拟角色的方法及装置,以降低生成虚拟角色的周期和成本,提高处理AI业务的敏捷性和可扩展性,便于实现AI业务的个性化处理。
为了实现上述目的,第一方面,本申请实施例提供一种生成虚拟角色的方法,包括:
获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据;
基于所述第二语音语义标注数据,训练得到所述第一虚拟角色;
其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第二语音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;所述第二音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
语义数据可以指示语音指令的语义,包括该语音指令所指示AI业务的垂域信息、意图信息和词槽信息。其中,垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,该词槽信息用于指示该语音指令的操作参数。
需要说明的是,第一垂域信息、第一意图信息和第一词槽信息,可以分别与第二垂域信息、第二意图信息和第二词槽信息不同或部分相同。
还需要说明的是,第一语音指令、第二语音指令、第一语义数据和第二语义数据的数量可以是多个,且第二语音指令的数量可以多于第一语音指令的数量,第一语义数据的数量可以多于第二语义数据的数量。
在获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据的步骤中,当采用端侧部署时,终端在获取第一虚拟角色的第一语义数据和第一语音语义标注数据时,可以接收用户提交的第一语义数据和第一语音语义标注数据;或者,可以从终端的存储介质中获取已存储的第一语义数据和第一语音语义标注数据。当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以从云端服务器或至少一个其他终端获取第一语义数据和第一语音语义标注数据。当然,在实际应用中,还可以通过其他方式来获取第一虚拟角色的第一语义数据和第一语音语义标注数据,本申请实施例对此获取第一虚拟角色的第一语义数据和第一语音语义标注数据的方式不做具体限定。
在基于第一语音语义标注数据,生成第一语义数据对应的第二语音指令,得到第二语音语义标注数据的步骤,即基于第一语音语义标注数据和第一语义数据,生成第二语音语义标注数据的步骤中,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一语音语义标注数据和第一语义数据发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的与第一语义数据对应的第二语音指令,当然也可以接收第二语音语义标注数据,从而通过云端服务器或另一终端来生成第二语音语义标注数据。
在基于第二语音语义标注数据,训练得到第一虚拟角色的步骤中,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第二语音语义标注数据发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的第一虚拟角色,从而通过云端服务器或另一终端训练生成第一虚拟角色。
在本申请实施例中,可以获取第一虚拟角色的第一语义数据和第一语音语义标注数据,其中,第一语音语义标注数据包括第一语音指令和用于对第一语音指令进行标注的第二语义数据,第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息,所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息,由于垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,该词槽信息用于指示该语音指令的操作参数。因而可以基于第一语音语义标注数据,生成第一语义数据对应的第二语音指令,得到第二语音语义标注数据,第二语音语义标注数据包括第二语音指令和用于对第二语音指令进行标注的第一语义数据。基于第二语音语义标注数据便可以训练得到第一虚拟角色。由于能够基于第一语音语义标注数据和第一语义数据,生成第二语音语义数据,因此当生成新的虚拟角色时,可以仅采集少量的第一语音语义标注数据,然后再基于第一语音语义标注数据和第一语义数据生成大量的第二语音语义数据,从而能够大幅度减少为生成虚拟角色而事先采集并标注的语音指令或第一语音语义标注数据的数量,确保了能够快速高效地扩展生成新的虚拟角色,降低了生成虚拟角色的周期和成本,也便于用户及时根据需求定制个性化的虚拟角色,提高了AI业务的敏捷性和扩展性。
其次,由于可以更容易地针对不同的AI业务,对应扩展生成新的虚拟角色,因此可以对于不同领域不同功能的AI业务,都可以生成相应的虚拟角色,该虚拟角色即能够准确可靠地处理该AI业务,也就能够缓解虚拟角色功能广度与应答准确率之间的矛盾。
可选地,所述基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,包括:
基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
若未查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令。
在基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色的步骤中,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一语义数据发送给云端服务器或另一终端,并接收来自云端服务器或另一终端的判断结果,从而通过云端服务器或另一终端,来基于第一语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色。
可选地,所述基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,包括:
基于所述第一语音语义标注数据,对预设生成式对抗网络(generative adversarial networks,GAN)进行调优训练;
基于调优训练后的所述预设GAN,生成与所述第一语义数据对应的第二语音指令。
由于GAN可以包括生成网络和判别网络,其中生成网络可以用于生成“假数据”,判别网络可以用于判别所输入的数据为生成网络生成的“假数据”还是自然的“真数据”,通过这两个网络便可以使生成网络所生成的“假数据”尽可能接近“真数据”,那么在本申请实施例中,在生成第二语音语义标注数据时,即可以通过GAN,按照少量真实的语音语义标注数据(即第一语音语义标注数据),生成与第一语义数据对应的第二语音指令,从而得到大量的语音语义标注数据(即第二语音语义标注数据),进而训练生成第一虚拟角色,从而大幅度降低生成新的虚拟角色所需事先采集的语音语义标注数据的数据量、降低采集成本。
可选地,在所述基于所述第一语音语义标注数据,对预设GAN进行调优训练之前,还包括:
获取第三语音语义标注数据,所述第三语音语义标注数据包括第三语音指令、用于对所述第三语音指令进行标注的第三语义数据、第四语义数据以及用于对所述第四语义数据进行标注的第四语音指令;
基于所述第三语音语义标注数据,训练得到所述预设GAN。
其中,第三语义数据可以包括第三垂域信息、第三意图信息和第三词槽信息,第四语义数据包括第四垂域信息、第四意图信息和第四词槽信息。
通过预先训练预设GAN,可以预设GAN具有较强的语义泛化能力,也确保可以通过该预设GAN,基于少量的第一语音语义标注数据,生成与第一语义数据对应的第二语音指令。
可选地,所述基于所述第二语音语义标注数据,训练得到所述第一虚拟角色,包括:
基于所述第二语音语义标注数据,训练得到所述第一虚拟角色的自然语言理解(natural language understanding,NLU)模型。
可选地,所述NLU模型包括长短期记忆网络(long short term memory,LSTM)。
由于在AI平台所包括的自然语言识别(automatic speech recognition,ASR)、NLU、对话管理(dialog management,DM)、自然语言生成(natural language generation,NLG)和文本转语音(text to speech,TTS)等模型中,NLU用于对经ASR处理后的文字进行分词、词性标注、关键词提取等处理,从而得到机器可理解的、结构化的语义表示数据,即NLU的处理过程与语音指令所指示的具体内容密切相关,直接影响到终端对语音指令的响应准确程度,而其他算法模型对语音指令所指示的具体内容并不敏感,即对于不同的虚拟角色,除NLU之外的其他算法模型可以通用。因此,在生成第一虚拟角色时,可以对第一虚拟角色的NLU模型进行训练,从而快速获取 得到新的虚拟角色。
可选地,还包括:
当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,所述至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载所述第三虚拟角色的角色资源;
基于所述第三虚拟角色,处理人工智能AI业务。
第二方面,本申请实施例提供一种生成虚拟角色的方法,包括:
获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色;
其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
在基于第一语音语义标注数据,对第二虚拟角色进行迁移学习训练,得到第一虚拟角色的步骤中,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一语音语义标注数据(和第二虚拟角色)发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的第一虚拟角色,从而通过云端服务器或另一终端来对第二虚拟角色进行迁移学习。
在本申请实施例中,可以获取第一虚拟角色的第一语义数据和第一语音语义标注数据,其中,第一语音语义标注数据包括第一语音指令和用于对第一语音指令进行标注的第二语义数据,第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息,所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息,由于垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,该词槽信息用于指示该语音指令的操作参数。因而可以先查找与第一虚拟角色关联的第二虚拟角色,如果查找到,则基于第一语音语义标注数据,对第二虚拟角色进行迁移学习训练,得到第一虚拟角色。因此能够大幅度减少为生成虚拟角色而事先采集并标注的语音指令或第一语音语义标注数据的数量,确保了能够快速高效地扩展生成新的虚拟角色,降低了生成虚拟角色的周期和成本,也便于用户及时根据需求定制个性化的虚拟角色,提高了AI业务的敏捷性和扩展性。
可选地,所述第一虚拟角色的NLU模型包括基础语言特征提取层和语义数据提取层,所述基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色,包括:
获取所述第二虚拟角色的NLU模型;
将所述第二虚拟角色的NLU模型中所述基础语言特征提取层的网络参数设置为常量;
基于所述第一语音语义标注数据,对所述第二虚拟角色的NLU模型中所述语义数据提取层中的网络参数进行训练,得到所述第一虚拟角色的NLU模型。
其中,第一虚拟角色的NLU模型包括基础语言特征提取层和训练后的所述语义数据提取层。
由于NLU模型的基础语言特征提取层可以用于提取文字信息中的基本特征,比如每个字与前 后文之间的关联等,对于不同虚拟角色的NLU模型,其基础语言特征提取层可以相同;语义数据提取层可以用于在已提取的文字信息的基本特征的基础上,进一步提取得到垂域信息、意图信息和词槽信息。因此,可以通过少量的语音语义标注数据,对该NLU模型中的语义数据提取层进行训练,从而能够在仅需要少量语音语义标注数据的基础上,快速实现新虚拟角色的扩展。
可选地,还包括:
将所述第一虚拟角色的NLU模型和所述第一语义数据,存储至角色资源库。
将新生成的虚拟角色进行存储,从而便于后续被唤醒并处理相应的AI业务。其中,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一虚拟角色发送至云端服务器或另一终端,从而第一虚拟角色导入至位于云端服务器或另一终端的角色资源库。
可选地,所述基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色,包括:
获取已有的至少一个虚拟角色的第五语义数据;
基于所述第一语义数据和所述第五语义数据,确定所述至少一个虚拟角色分别与所述第一虚拟角色之间的角色相似度;
根据所述至少一个虚拟角色与所述第一虚拟角色之间的角色相似度,查找与所述第一虚拟角色关联的第二虚拟角色。
其中,第二虚拟角色与第一虚拟角色之间的角色相似度可以大于预设相似度阈值。
需要说明的是,第五语义数据包括第五垂域信息、第五意图信息和第五词槽信息。
由于当第一虚拟角色和第二虚拟角色相似(相邻或相近)时,用户分别向第一虚拟角色和第二虚拟角色所发出的语音指令之间,在功能上和语法上也会相似,比如“播放音乐”与“播放视频”、“查找百科”与“查找资讯”,动词都是播放或查找,对应的垂域信息都是设备控制或信息查询,区别仅在于播放的对象或查找的对象不同。因此通过相似度,来准确地查找与第一虚拟角色关联的第二虚拟角色。
可选地,还包括:
当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载所述第三虚拟角色的角色资源;
基于所述第三虚拟角色,处理AI业务。
其中,所述预设维度包括功能领域、职业、身份、称呼、年龄、内容提供方、服务平台或角色属性。当然,在实际应用中,预设维度还可以包括其他更多或更少的维度,本申请实施例对此预设维度不做具体限定。
由于终端中可以包括多个虚拟角色,且该多个虚拟角色可以按照功能领域、职业、身份、称呼、年龄、内容提供方、服务平台或角色属性等一种或多种预设维度进行划分,从而确保能够处理多个方面的AI业务,显著提高虚拟角色功能广度。当接收到角色唤醒指令时,可以获取角色指示信息,从而根据该角色指示信息,在当前包括的多个虚拟角色中确定匹配的第三虚拟角色,那么加载第三虚拟角色的角色资源,并基于第三虚拟角色处理AI业务,该第三虚拟角色便难以对语音指令产生歧义,也就能够准确处理该AI业务,从而显著提高了对语音指令进行应答的准确率。
可选地,所述基于所述第三虚拟角色,处理AI业务,包括:
接收第四语音指令;
基于所述角色资源,生成与所述第四语音指令对应的应答控制信息;
基于所述应答控制信息,执行应答任务。
第三方面,本申请实施例提供了一种生成虚拟角色的方法,包括:
获取第一虚拟角色的第一语音语义标注数据,其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;
基于所述第二语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色。
可选地,还包括:
若未查找到所述第二虚拟角色,则获取所述第一虚拟角色的第一语义数据;
基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据,其中,所述第二音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;
基于所述第二语音语义标注数据,训练得到所述第一虚拟角色。
其中,所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
在本申请实施例中,可以先不获取第一虚拟角色的第一语义数据,而是利用第一语音语义标注数据中的第二语义数据,来判断是否存在与第一虚拟角色关联的第二虚拟角色,那么如果当前存在第二虚拟角色,则不需要获取第一语义数据,也能够生成第一虚拟角色,可以进一步减少生成新的虚拟角色所需的数据,降低采集数据的成本。
第四方面,本申请实施例提供一种处理AI业务的方法,包括:
当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载所述第三虚拟角色的角色资源;
基于所述第三虚拟角色,处理AI业务。
在本申请实施例中,终端中可以包括多个虚拟角色,且该多个虚拟角色可以按照至少一种预设维度进行划分,从而确保能够处理多个方面的AI业务,显著提高虚拟角色功能广度。当接收到角色唤醒指令时,可以获取角色指示信息,从而根据该角色指示信息,在当前包括的多个虚拟角色中确定匹配的第三虚拟角色,那么加载第三虚拟角色的角色资源,并基于第三虚拟角色处理AI业务,该第三虚拟角色便难以对语音指令产生歧义,也就能够准确处理该AI业务,从而显著提高了对语音指令进行应答的准确率。
可选地,所述基于所述第三虚拟角色,处理AI业务,包括:
接收第四语音指令;
基于所述角色资源,生成与所述第四语音指令对应的应答控制信息;
基于所述应答控制信息,执行应答任务。
第五方面,本申请实施例提供一种生成虚拟角色的装置,包括:
获取模块,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
生成模块,用于基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据;
训练模块,用于基于所述第二语音语义标注数据,训练得到所述第一虚拟角色;
其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第二语音语义标注数据包括第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
可选地,所述生成模块还用于:
基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
若未查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令。
可选地,所述生成模块,还用于基于所述第一语音语义标注数据,对预设GAN进行调优训练;基于调优训练后的所述预设GAN,生成与所述第一语义数据对应的第二语音指令。
可选地,所述获取模块,还用于获取第三语音语义标注数据,所述第三语音语义标注数据包括第三语音指令、用于对所述第三语音指令进行标注的第三语义数据、第四语义数据以及用于对所述第四语义数据进行标注的第四语音指令;
所述训练模块,还用于基于所述第三语音语义标注数据,训练得到所述预设GAN。
可选地,所述获取模块,还用于当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
还包括:
确定模块,用于在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载模块,用于加载所述第三虚拟角色的角色资源;
处理模块,用于基于所述第三虚拟角色,处理AI业务。
第六方面,本申请实施例提供一种生成虚拟角色的装置,包括:
获取模块,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
查找模块,用于基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
训练模块,用于若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色;
其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
可选地,所述第一虚拟角色的NLU模型包括基础语言特征提取层和语义数据提取层,所述训练模块还用于:
获取所述第二虚拟角色的NLU模型;
将所述第二虚拟角色的NLU模型中所述基础语言特征提取层的网络参数设置为常量;
基于所述第一语音语义标注数据,对所述第二虚拟角色的NLU模型中所述语义数据提取层中的网络参数进行训练,得到所述第一虚拟角色的NLU模型。
可选地,还包括:
存储模块,用于将所述第一虚拟角色的NLU模型和所述第一语义数据,存储至角色资源库。
可选地,所述查找模块还用于:
获取已有的至少一个虚拟角色的第五语义数据;
基于所述第一语义数据和所述第五语义数据,确定所述至少一个虚拟角色分别与所述第一虚拟角色之间的角色相似度;
根据所述至少一个虚拟角色与所述第一虚拟角色之间的角色相似度,查找与所述第一虚拟角色关联的第二虚拟角色。
可选地,所述获取模块,还用于当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
还包括:
确定模块,用于在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载模块,用于加载所述第三虚拟角色的角色资源;
处理模块,用于基于所述第三虚拟角色,处理AI业务。
可选地,所述处理模块还用于:
接收第四语音指令;
基于所述角色资源,生成与所述第四语音指令对应的应答控制信息;
基于所述应答控制信息,执行应答任务。
第七方面,本申请实施例提供了一种生成虚拟角色的装置,包括:
获取模块,用于获取待生成的第一虚拟角色的第一语音语义标注数据,其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;
查找模块,用于基于所述第二语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
训练模块,用于若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色。
可选地,所述获取模块,还用于若未查找到所述第二虚拟角色,则获取所述第一虚拟角色的第一语义数据;
所述训练模块,还用于基于所述第二语音语义标注数据,训练得到所述第一虚拟角色;
还包括:
生成模块,用于基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据,其中,所述第二音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据。
第八方面,本申请实施例提供一种处理AI业务的装置,包括:
获取模块,用于当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
确定模块,用于在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载模块,用于加载所述第三虚拟角色的角色资源;
处理模块,用于基于所述第三虚拟角色,处理人工智能AI业务。
可选地,所述处理模块还用于:
接收第四语音指令;
基于所述角色资源,生成与所述第四语音指令对应的应答控制信息;
基于所述应答控制信息,执行应答任务。
第九方面,本申请实施例提供一种终端,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面至第四方面任一所述的方法。
第十方面,本申请实施例提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面至第四方面的任一所述的方法。
其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
第十一方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面至第四方面的任一所述的方法。
第十二方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行上述第一方面至第四方面的任一所述的方法。
可以理解的是,上述第五方面至第十二方面的有益效果可以参见上述第一方面至第四方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种虚拟角色系统的结构框图;
图2为本申请实施例提供的一种语音助手交互会话原理示意图;
图3为本申请实施例提供的另一种虚拟角色系统的结构框图;
图4为本申请实施例提供的另一种虚拟角色系统的结构框图;
图5为本申请实施例提供的另一种虚拟角色系统的结构框图;
图6为本申请实施例提供的另一种虚拟角色系统的结构框图;
图7为本申请实施例所提供的一种生成虚拟角色的方法的流程图;
图8为本申请实施例所提供的一种角色迁移学习的原理示意图;
图9为本申请实施例所提供的一种NLU模型的结构示意图;
图10为本申请实施例所提供的一种生成语音语义标注数据的原理示意图;
图11为本申请实施例所提供的另一种生成虚拟角色的方法的流程图;
图12为本申请实施例所提供的一种处理AI业务的方法的流程图;
图13为本申请实施例所提供的一种UI界面的示意图;
图14为本申请实施例所提供的另一种UI界面的示意图;
图15为本申请实施例所提供的另一种UI界面的示意图;
图16为本申请实施例所提供的另一种UI界面的示意图;
图17为本申请实施例所提供的另一种UI界面的示意图;
图18为本申请实施例所提供的另一种UI界面的示意图;
图19为本申请实施例所提供的另一种UI界面的示意图;
图20为本申请实施例提供的一种生成虚拟角色的装置的结构示意图;
图21为本申请实施例提供的一种生成虚拟角色的装置的结构示意图;
图22为本申请实施例提供的一种生成虚拟角色的装置的结构示意图;
图23为本申请实施例提供的一种处理AI业务的装置的结构示意图;
图24为本申请实施例所提供的一种终端的结构示意图;
图25为本申请实施例所提供的另一种终端的结构示意图;
图26为本申请实施例所提供一种终端的软件结构框图。
具体实施方式
为了便于理解本申请施例中的技术方案,下面首先对本申请实施例的应用场景予以介绍。
为了便于理解本申请施例中的技术方案,下面首先对本申请实施例中所涉及的部分术语进行解释:
虚拟角色可以为用于处理至少一项AI业务的程序的集合。在实际应用中,可以按照至少一种预设维度,划分生成不同的虚拟角色,比如可以按照功能领域、职业、身份、称呼、年龄、内容提供方、服务平台或角色属性等至少一种预设维度进行划分。当然,在实际应用中,预设维度还可以包括其他更多或更少的维度,比如还可以包括虚拟角色的厂商,本申请实施例对此预设维度不做具体限定。
需要说明的是,AI业务可以包括语音助手、字幕生成、语音输入、聊天机器人、客户机器人或口语评测,当然,在实际应用中,还可以包括其他的AI业务,本申请实施例对此AI业务的类型不做具体限定。
其中,语音助手是一种基于AI构建的应用程序,借助语音语义识别算法,通过与用户进行即时问答式的语音交互,帮助用户完成信息查询、设备控制、文本输入等操作。
例如,虚拟角色按照功能领域可以划分为医药卫生、教育辅导、运动健康、新闻资讯、旅游出行和智能家居;按照职业或身份可以划分为医生、教师、教练、秘书、管家和警察;按照位置可以划分为厨房、浴室、客厅、卧室、阳台和门禁;按照设备功能可以划分为电饭煲、换气设备、电视、窗帘、洗衣机和门锁;按照身份/称呼可以划分为叔叔、阿姨、哥哥、姐姐、爷爷或奶奶;按照角色属性可以划分为文艺少女、时尚女性、博学老人、持家主妇、科技发烧友和游戏达人。
需要说明的是,不同虚拟角色所对应的维度可以重叠或重复,比如,可以同时存在教师和小学教师这两个虚拟角色。
还需要说明的是,为便于与用户进行交互,该虚拟角色还可以具有能够在显示屏幕显示或者通过投影显示的角色形象,且该角色形象可以与该虚拟角色在现实中的相同。比如,安装在智能手表中的某个面向青少年的虚拟角色,其称呼为“蜗牛蜗牛”,当检测用户发出“蜗牛蜗牛”的语音时,该虚拟角色可以被唤醒,且当被唤醒时,该虚拟角色可以以一个真实的蜗牛形象展示在智能手表的显示屏幕中。
现有技术中,在生成虚拟角色时,可以针对每个所要生成的虚拟角色,事先采集大量的语音指令,并对该语音指令进行标注,得到语音语义标注数据,然后通过大量的语音语义数据,训练得到该虚拟角色的NLU算法模型,从而生成该虚拟角色。但由于在生成每个虚拟角色时,都要采集大量的语音指令并进行标记,从而导致生成虚拟角色的周期较长,成本较高,处理AI业务的敏捷性和扩展性较差,不利于实现AI业务的个性化处理。
为解决上述技术问题,本申请提供了一种生成虚拟角色的方法,可以获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据,其中,第一语音语义标注数据包括第一语音指令和用于对第一语音指令进行标注的第二语义数据,第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息,所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息,由于 垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,该词槽信息用于指示该语音指令的操作参数。因而可以基于第一语音语义标注数据,生成第一语义数据对应的第二语音指令,得到第二语音语义标注数据,从而基于第二语音语义标注数据,训练得到第一虚拟角色。由于能够基于第一语音语义标注数据和第一语义数据,生成第二语音语义数据,因此当生成新的虚拟角色时,可以仅采集少量的第一语音语义标注数据,然后再基于第一语音语义标注数据和第一语义数据生成大量的第二语音语义数据,从而能够大幅度减少为生成虚拟角色而事先采集并标注的语音指令或第一语音语义标注数据的数量,确保了能够快速高效地扩展生成新的虚拟角色,降低了生成虚拟角色的周期和成本,也便于用户及时根据需求定制个性化的虚拟角色,提高了AI业务的敏捷性和扩展性。
另外,在现有技术中,随着AI技术的不断发展,用户对语音助手等虚拟角色的要求也越来越高,一方面,希望虚拟角色能够支持尽可能广泛的问题、技能和场景,即“无所不能”,另一方面,希望虚拟角色对语音指令的响应尽可能地准确,即“有求必应”。但这两方面的需求可能是矛盾的,如果一个虚拟角色所支持的问题、技能和场景越多,即所处理的AI业务的功能领域越繁杂,会导致该虚拟角色越难以准确理解用户的语音指令。例如,以语音助手为例,用户提问“什么是巧克力囊肿”,语音助手的应答结果可能是“巧克力”而非“巧克力囊肿”的查询结果;又如,用户的语音指令为“打开电饭煲”,语音助手的应答结果可能是打开电饭煲的购物链接,而非通过物联网服务(internet of things,IoT)控制厨房电饭煲操作;又如,用户提问“美洲虎最高速度”,语音助手可能无法识别“美洲虎”是指动物还是车辆,从而应答错误。更甚者,部分终端可能会面向不同年龄、学历、语言和内容偏好的用户,这些差异还会进一步增大语音助手对语音指令的语义产生混淆的可能。
对于这一技术问题,一方面,本申请提供所提供的生成虚拟角色的方法,由于可以更容易地针对不同的AI业务,对应扩展生成新的虚拟角色,因此可以对于不同领域不同功能的AI业务,都可以生成相应的虚拟角色,该虚拟角色即能够准确可靠地处理该AI业务,也就能够缓解虚拟角色功能广度与应答准确率之间的矛盾。另一方面,本申请还提供了一种处理AI业务的方法,终端中可以包括多个虚拟角色,且该多个虚拟角色可以按照至少一个维度(比如功能领域、职业、身份、称呼、年龄、内容提供方、服务平台或角色属性中的至少一个)进行划分,确保能够处理多个方面的AI业务,显著提高虚拟角色功能广度。当接收到角色唤醒指令时,可以获取角色指示信息,从而根据该角色指示信息,在当前包括的多个虚拟角色中确定匹配的第三虚拟角色,那么获取并加载第三虚拟角色的角色资源,并基于第三虚拟角色处理AI业务,该第三虚拟角色便难以对语音指令产生歧义,也就能够准确处理该AI业务,从而显著提高了对语音指令进行应答的准确率。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
请参照图1,为本申请所提供的一种虚拟角色系统100的结构框图。该系统包括设备输入模块110、基础资源库120、AI平台130、角色选择模块140、角色资源库150、角色构建模块160、设备输出模块170、任务管理和业务逻辑模块180。
设备输入模块110,可以用于采集用户输入的语音指令、操作指令、上下文交互信息和情景信息等信息,控制麦克风、惯性传感器、触控显示屏、按键、键盘、鼠标和摄像头等终端设备输入或传感外设,以及用户界面(User Interface,UI)、用户画像、日程表、通信记录、日程表、短信内容、邮件内容、情景模式和设备操作历史等终端设备软件模块或数据信息。
基础资源库120,可以包括支撑虚拟角色系统完成语音唤醒、系统设置等基本服务功能所需的语音语义算法、用户体验(User Experience,UX)、服务接入等通用资源。
AI平台130,可以集成语音唤醒、ASR、NLU、DM、NLG和TTS等算法,控制各虚拟角色执行级联处理流程。同时集成用于用户状态和情景模式感知的内容感知(content awareness,CA)算法,以及上述算法运行所依赖的软件库和AI运行框架(如caffe、tensorflow、pytorch等)。
语音唤醒,可以指终端在锁屏或虚拟角色在休眠状态下,接收并检测特定的用户语音指令(如唤醒词),激活虚拟角色使其进入等待语音指令输入状态。
需要说明的是,对于接收到的语音信息,可以通过硬件或软件手段,采用混响消除、回声消除、盲源分离、波束成型等音频信号处理算法,对该语音信息进行预处理。
ASR可以将语音信息转化为对应的文字信息,并对口语化的文字信息进行归一、纠错和书面化处理。
NLU可以对经ASR处理后的文字信息进行分词、词性标注、关键词提取等处理,从而得到机器可理解的、结构化的语义表示数据。语音助手中的NLU,可以用于识别语音指令的意图类型,并抽取语音指令的关键词信息。例如,用户语音输入“订一张明天去北京的机票”,那么意图分类结果为“预订机票”,槽位提取结果为“time:明天,destination:北京”。由于自然语言的多样性和灵活性,在不同上下文的情况下,可能具有完全不同的语义,因此,NLU是虚拟角色中的重要组成部分,NLU对意图分类和词槽提取的准确程度,直接关系到虚拟角色是否能够准确对用户的语音指令进行响应。
DM可以根据NLU所输出的语义表示数据的对话状态,判断应当接入何种服务/平台、采取何种反馈操作或回复何种应答信息。
NLG可以将根据DM判断生成的系统应答动作,转换生成人类可理解的自然语言文本。
TTS可以将NLG所生成的自然语言文本转换为可播放的应答语音进行输出。
需要说明的是,对于不同的AI业务,虚拟角色的AI平台130可以包括ASR、NLU、DM、NLG和TTS中的至少一种算法。例如,当AI业务为语音助手时,请参照图2,对应虚拟角色的AI平台130可以包括依次级联的ASR模块220、NLU模块230、DM模块240、NLG模块250和TTS模块260;当AI业务为字幕生成或语音输入法时,对应虚拟角色的AI平台130可以包括ASR模块220;当AI业务为聊天机器人或客服机器人时,对应虚拟角色的AI平台130可以包括NLU模块230、DM模块240和NLG模块250;当AI业务为口语测评时,对应虚拟角色的AI平台130可以包括ASR模块220和NLU模块230。当然,在实际应用中,基于不同AI业务,对应虚拟角色的AI平台130还可以包括更多或更少的算法。
请参照图2,为本申请实施例所提供的一种语音助手交互会话原理示意图。以天气查询为例,用户210发出语音指令“请告诉我明天的A市的天气”;ASR模块220将语音指令转换为文字信息;NLU模块230对该文字信息进行识别,意图分类结果为“查询天气”,槽位提取结果为“time:明天,Area:A市”;DM模块240根据意图类型和关键词信息,确定所接入的服务平台为天气查询平台,并查询得到A市的天气为“晴天,32摄氏度”;NLG模块250根据查询结果,生成应答的文字信息为“明天A市的天气为晴天,平均气温32摄氏度”;TTS模块260将文字信息“明天A市的天气为晴天,平均气温32摄氏度”转换为语音信息,之后,便可以通过调用扬声器播放该语音信息以作为对该语音指令的应答。
还需要说明的是,上述ASR、NLU、DM、NLG和TTS等模型,可以通过循环神经网络(recurrent  neural network,RNN)、LSTM或transformer等机器学习模型来实现。
角色选择模块140,可以检测设备输入模块110采集的用户指令,根据角色指示信息,选择最合适的虚拟角色,检测分析过程可通过处理识别唤醒词、语音指令、UI操作、用户状态和情景模式等一种或多种来实现。
其中,角色指示信息可以用于指示所唤醒的虚拟角色,可以包括唤醒词、身份称呼、用户身份等信息中的至少一种。
角色资源库150,可以包括支撑运行任一虚拟角色和执行对应垂域的AI业务所需的语音语义算法、UX、服务接入等资源,其包含一个或多个虚拟角色的角色资源。
角色构建模块160,可以提供虚拟角色的用户定制接口,根据用户输入的训练NLU所需的相关数据(比如语音语义标注数据),训练生成用户所定制的虚拟角色的NLU模型。
设备输出模块170,可以根据应答控制信息,调用喇叭/扬声器、触摸显示屏、振动马达等终端外设,对外执行语音播报、文本响应、信息刷新、设备控制等反馈应答操作。
任务管理和业务逻辑模块180,可以根据虚拟角色决策输出的应答控制信息,进行任务编排和任务管理。
虚拟角色系统100可以通过上述至少一个功能模块与用户进行交互,从而实现不同的功能。比如可以通过设备输入模块110和角色构建模块160,与用户进行交互,从而扩展构建新的虚拟角色。
需要说明的是,在实际应用中,如图1所示的虚拟角色系统100可以包括更多或更少的功能模块,且该虚拟角色系统100可以采用端侧部署、云测部署、云端协同部署和终端分布式部署等多种部署方式,以下将对这些部署方式分别进行说明。
方式一,端侧部署
请参照图3,为本申请实施例所提供的一种虚拟角色系统100的结构框图。在图1的基础上,该虚拟角色系统100还包括应用管理框架190、系统服务/信息平台191以及智慧大脑192;AI平台130包括唤醒模块270、ASR模块220、NLU模块230、DM模块240、NLG模块250、TTS模块260和CA模块280;角色资源库150还包括触发条件库151、语音语义算法库152、服务资源库1532和UX资源库154;角色构建模块160还包括词槽信息库161、意图信息库162、数据生成模块163和角色迁移模块164;基础资源库120还包括词槽信息库161和基础角色模型121。
应用管理框架190,可以用于全部或部分调用虚拟角色周边系统或设备,包括设输出模块170,比如控制喇叭/音箱、触摸显示屏、震动马达等终端外设。
系统服务/信息平台191,可以包括终端所搭载的模拟点击、统一资源定位符(uniform resource locator,URL)连接访问、系统应用程序接口(application programming interface API)、IoT控制等系统服务,以及第三方语音服务、第三方内容提供方(content provider,CP)百科查询或原子化服务、IoT控制等信息平台。
智慧大脑192,或称资源管理器,可以用于根据用户需求或习惯,选择相应的终端外设、服务和终端中的至少一个。
触发条件库151,可以包括用于虚拟角色检测识别和决策选择的软件库、模型、算法和策略中的至少一个,比如唤醒词检测算法、声纹识别算法和角色决策算法等。
语音语义算法库152,可以包括虚拟角色各功能领域的语音语义处理资源,包括ASR、NLU、DM、NLG、TTS等端到端算法或部分处理环节,这些语音语义处理资源可采用模型文件、参数表、 配置文件、软件库、服务接口等形式进行封装。
服务资源库153,可以包括虚拟角色各功能领域的服务应答资源,比如设备功能库和IoT设备功能库中的至少一个。
UX资源库154,可以包括与虚拟角色对应的UX资源和虚拟形象中的至少一个。
词槽信息库161,可以包括与虚拟角色的各垂域信息对应的词槽信息。
意图信息库162,可以包括与虚拟角色的各垂域信息对应的意图信息。
数据生成模块163和角色迁移模块164,分别可以用于根据获取到的少量语音语义标注数据以及语义数据,生成大量的语音语义标注数据,和实现虚拟角色的迁移学习。
其中,语音语义标注数据和语义数据,可以与第一虚拟角色所将要处理的AI业务对应;语义数据可以指示语音指令的语义,包括该语音指令所指示AI业务的垂域信息、意图信息和词槽信息。其中,垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,词槽信息用于指示该语音指令的操作参数。
例如,某语音指令内容为“请播放张三的歌曲”,那么对应的垂域信息可以为设备控制,意图信息可以为播放音乐,词槽信息为张三。
方式二,云侧部署
请参照图4,为本申请实施例所提供的另一种虚拟角色系统100的结构框图。与端侧部署相比,虚拟角色系统100包括端侧子系统300和云侧子系统400,端侧子系统300和云侧子系统400之间交互协同,完成与端侧部署相同的功能。
端侧子系统300包括设备输入模块110、AI平台130、角色选择模块140、基础资源库120、设备输出模块170、应用管理框架190和智慧大脑192。其中,AI平台130包括唤醒模块270、CA模块280和云端接入模块310。
云端接入模块310,可以用于实现端侧子系统300向云侧子系统400提交处理AI业务所需的各项云服务请求,并读取云侧子系统400针对该云服务请求的处理结果。
云侧子系统400包括AI平台130、角色资源库150、角色构建模块160、任务管理和业务逻辑模块180、应用管理框架190、终端接入模块410和服务接入选择模块420。其中,AI平台130包括ASR模块220、NLU模块230、DM模块240、NLG模块250、TTS模块260、唤醒模块270和CA模块280;角色资源库150包括触发条件库151、语音语义算法库152、服务资源库153和UX资源库154。
终端接入模块410,可以监听解析各终端提交的各项云服务请求。
接入服务选择模块420,可以根据经由终端接入模块410接入的各项云服务请求,从AI平台130中调用对应的服务功能。
与端侧部署的方式相比,云侧部署可以将AI平台130、角色资源库150和角色构建模块160等虚拟角色系统的主体迁移至服务器,以云服务的形式供多个端侧子系统300调用,从而执行本申请实施例所提供的生成虚拟角色的方法和/或处理AI业务的方法,既能够充分利用云端服务器强大的数据处理能力,提高处理AI业务的可靠性,也便于对虚拟角色系统的管控和维护。
方式三,端云协同部署
请参照图5,为本申请实施例所提供的另一种虚拟角色系统100的结构框图。虚拟角色系统100包括端侧子系统300、云侧子系统400和第三方服务系统500。
端侧子系统300包括设备输入模块110、基础资源库120、AI平台130、角色选择模块140、 角色资源库150、设备输出模块170、任务管理和业务逻辑模块180、应用管理框架190、智慧大脑192。
其中,端侧子系统300的AI平台130包括ASR模块220、NLU模块230、DM模块240、NLG模块250、TTS模块260、唤醒模块270和CA模块280;角色资源库150包括触发条件库151、语音语义算法库152、服务资源库153和UX资源库154。
云侧子系统400包括AI平台130、角色资源库150、角色构建模块160、任务管理和业务逻辑模块180、应用管理框架190、终端接入模块410和服务接入选择模块420。
其中,云侧子系统400的AI平台130包括ASR模块220、NLU模块230、DM模块240、NLG模块250和TTS模块260;角色资源库150包括触发条件库151、语音语义算法库152、服务资源库153和UX资源库154。
第三方服务系统500包括语音语义服务510、百科/搜索服务520、原子化服务530、IOT/厂商平台540和个性化AI服务550。当然,在实际应用中,第三方服务系统500也可以包括更多或更少的服务。
其中,云侧子系统400中的DM模块,可以在基于用户的语音指令,确定需要调用第三方服务时,与第三方服务系统500进行交互,从而获取第三方服务的处理结果,比如,用户的语音指令为查询天气,那么DM模块可以确定需要从第三方的天气平台来查询天气情况。
与方式二中的端侧部署相比,在端云协同部署中,端侧子系统300和云侧子系统400都包括一套相对完整的组件/模块,从而可以分别独立完成本申请实施例所提供的生成虚拟角色的方法和/或处理AI业务的方法。但由于云端服务器可以比终端包括更多的运算资源和存储资源,因此,云侧子系统400的AI平台130和角色资源库150,可以比端侧子系统300的AI平台130和角色资源库150包括更多的数据和/或更精确的算法,从而能够支持更广阔的会话场景和服务技能,处理AI业务的可靠性也更高。在实际应用中,在处理各AI业务时,端侧子系统300可以在本端进行处理,若某个步骤难以有效处理(比如该步骤执行失败)时,可以通过云侧子系统400来处理该步骤;或者,在另一种可能的方式中,端侧子系统300和云侧子系统400也可以同时处理该AI业务,并将端侧子系统300和云侧子系统400对该AI业务的处理结果进行比较,选择较为可靠和/或返回速度较快的处理结果反馈给用户。由此可以看出,端云协同部署中,可以同时利用云端服务器丰富的信息资源和终端闲置的运算资源,具有极高的灵活性,能够保证处理AI业务的可靠性。
方式四,终端分布式部署
请参照图6,为本申请实施例所提供的另一种虚拟角色系统100的结构框图。各终端中的端侧子系统300可以包括设备输入模块110、基础资源库120、AI平台130、角色选择模块140、角色资源库150、设备输出模块170、任务管理和业务逻辑模块180、应用管理框架190、智慧大脑192。其中,AI平台130包括ASR模块220、NLU模块230、DM模块240、NLG模块250、TTS模块260、唤醒模块270和CA模块280;角色资源库150在包括触发条件库151、语音语义算法库152、服务资源库153和UX资源库154的基础上,还包括角色资源发现/接入模块193,该角色资源发现/接入模块193,可以用于发现、调用和复制其他终端中的角色资源。
各终端可以通过Wi-Fi(基于IEEE 802.11标准的无线局域网)等无线或有线网络进行连接,且各终端可以包括不同的虚拟角色,其端侧子系统300可以分别包括不同虚拟角色的角色资源,也可以包括同一虚拟角色的部分角色资源,例如,终端A的端侧子系统300可以包括“医生”的角色资源,终端B的端侧子系统300可以包括“教师”的角色子系统;或者,终端A的端侧子系统300 包括“医生”的ASR模型,终端B的端侧子系统300可以包括“医生”的NLU模型。多个终端可以协同进执行本申请实施例所提供的生成虚拟角色的方法和/或处理AI业务的方法,该协同方式可以包括分别执行至少一个步骤,也可以是协同执行某一个步骤,本申请实施例对此协同方式不做具体限定。可以看出,通过终端分布式部署,可以将多个终端中的资源进行共享,实现跨设备的资源互补,具有极高的灵活性,能够保证处理AI业务的可靠性。
请参照图7,为本申请实施例所提供的一种生成虚拟角色的方法的流程图。需要说明的是,该方法可以应用于终端、终端与云端服务器或终端与终端之间的交互中,下述方法中的至少一个步骤,可以由终端独立完成,或者由云端服务器或另一终端完成,或者由终端与云端服务器或另一终端协同完成,该方法并不以图7以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S701,获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据。
为了训练生成新的虚拟角色(即第一虚拟角色),可以获取第一虚拟角色的第一语义数据和第一语音语义标注数据。
其中,第一语音语义标注数据可以由终端事先获取多个第一语音指令,并接收用户通过第二语义数据对第一语音指令标注而得到,可以包括第一语音指令和用于对第一语音指令进行标注的第二语义数据;第二语音语义标注数据可以包括第二语音指令和用于对第二语音指令进行标注的第一语义数据;第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
需要说明的是,第一语音指令、第二语音指令、第一语义数据和第二语义数据的数量可以是多个,且第二语音指令的数量可以多于第一语音指令的数量,第一语义数据的数量可以多于第二语义数据的数量。
还需要说明的是,第一语义数据可以与第二语义数据不同或部分相同,即第一垂域信息、第一意图信息和第一词槽信息,可以分别与第二垂域信息、第二意图信息和第二词槽信息不同或部分相同。
可选地,可以在接收到用户的角色扩展指令时,启动角色扩展程序,获取第一虚拟角色的第一语义数据和第一语音语义标注数据。
其中,角色扩展指令可以用于指示扩展生成新的虚拟角色,该角色扩展指令可以由用户执行预设操作触发,该预设操作可以包括语音输入操作、文字输入操作、按键操作或触控操作。比如,用户可以语音输入“进入角色扩展模式”,终端可以在检测到用户语音输出的内容包括“进入角色扩展模式”时,确定该角色扩展指令被触发;或者,用户可以触摸触控屏幕上的角色扩展按钮,终端可以在检测针对该角色扩展按钮的触摸操作时,确定角色扩展指令被触发。
当采用端侧部署时,终端在获取第一虚拟角色的第一语义数据和第一语音语义标注数据时,可以接收用户提交的第一语义数据和第一语音语义标注数据;或者,可以从终端的存储介质中获取已存储的第一语义数据和第一语音语义标注数据。当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以从云端服务器或至少一个其他终端获取第一语义数据和第一语音语义标注数据。当然,在实际应用中,还可以通过其他方式来获取第一虚拟角色的第一语义数据和第一语音语义标注数据,本申请实施例对此获取第一虚拟角色的第一语义数据和第一语音语义标注数据的方式不做具体限定。
需要说明的是,为了提高获取第一语义数据和第一语音语义标注数据的灵活性和可靠性,获取第一语义数据和第一语音语义标注数据的方式可以不同,获取第一语义数据中第一垂域信息、第一意图信息和第一词槽信息的方式也可以不同。
以获取第一语义数据为例。在一种可能的方式中,当获取第一垂域信息时,可以向用户提供多个待选择的垂域信息,然后将用户所选择的垂域信息,确定为第一垂域信息,同时接收用户所提交的第一意图信息和第一词槽信息。在另一种可能的方式中,终端可以获取至少一个垂域信息、至少一个意图信息以及至少一个词槽信息,然后分别从至少一个垂域信息、至少一个意图信息以及至少一个词槽信息中,获取一个垂域信息、一个意图信息以及一个词槽信息,从而得到第一垂域信息、第一意图信息和第一词槽信息。在另一种可选地方式中,终端可以获取至少一个意图信息和至少一个词槽信息,分别从至少一个意图信息和至少一个词槽信息中,获取一个意图信息和一个词槽信息,从而得到第一意图信息和第一词槽信息,然后基于第一意图信息确定第一垂域信息。
其中,终端可以采用随机抽样等方式从预设的意图信息库获取至少一个意图信息,从预设的词槽信息库获取至少一个词槽信息,或者,可以从其他预先构建的数据库获取至少一个意图信息和至少一个词槽信息。
需要说明的是,可以事先针对特定的虚拟角色,设置预设意图信息库和预设词槽信息库,其中,预设意图信息库可以包括至少一个意图信息,预设词槽信息库可以包括至少一个词槽信息。
例如,终端获取到M个意图信息和N个词槽信息,其中每个意图信息可以关联一个垂域信息,那么该终端通过将这些垂域信息、意图信息和词槽信息进行组合,可以得到M*M*N个第一语义数据。
其中,可以从预设的垂域信息与意图信息之间的关联关系中,获取与第一意图信息关联的第一垂域信息。
需要说明的是,可以事先接收用户提交的意图信息以及关联的垂域信息,或者通过机器学习的方式确定意图信息关联的垂域信息,然后将该意图信息和垂域信息存储至垂域信息与意图信息之间的关联关系中。
当然,在实际应用中,也可以通过其他方式来确定意图信息关联的垂域信息,本申请实施例对此确定意图信息关联的垂域信息的方式不做具体限定。
S702,基于第一语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色。如果是则执行S703,否则执行S704。
其中,可以基于第一语义数据,查找与第一虚拟角色关联的第二虚拟角色,如果查找到该第二虚拟角色,则可以确定存在该第二虚拟角色,否则,可以确定不存在该第二虚拟角色。
可选地,由于虚拟角色的语义数据可以说明语音指令的语义,而语音指令可以反映用户所希望该虚拟角色所实现的角色功能(即所处理的AI业务)。当第一虚拟角色和第二虚拟角色相似(相邻或相近)时,用户分别向第一虚拟角色和第二虚拟角色所发出的语音指令之间,在功能上和语法上也会相似,比如“播放音乐”与“播放视频”、“查找百科”与“查找资讯”,动词都是播放或查找,对应的垂域信息都是设备控制或信息查询,区别仅在于播放的对象或查找的对象不同。那么根据第一虚拟角色与各虚拟角色的语义数据,便准确可以判断第一虚拟角色与虚拟角色是否关联。因此,可以获取已有的至少一个虚拟角色的第五语义数据,基于第一语义数据和所述第五语义数据,确定至少一个虚拟角色分别与第一虚拟角色之间的角色相似度,根据至少一个虚拟角色与第一虚 拟角色之间的角色相似度,查找与第一虚拟角色关联的第二虚拟角色,其中,第二虚拟角色与第一虚拟角色之间的角色相似度可以大于预设相似度阈值。
第五语义数据可以包括第五垂域信息、第五意图信息和第五词槽信息。
其中,可以从角色资源库150获取任一虚拟角色的第五语义数据,然后将第一垂域信息、第一意图信息和第一词槽信息中的至少一个,与第五垂域信息、第五意图信息和第五词槽信息中的至少一个进行比较,得到垂域相似度、意图相似度和词槽相似度中的至少一种,基于垂域相似度、意图相似度和词槽相似度中的至少一种,确定第一语义数据和第五语义数据的角色相似度。比如,将预设垂域权重与垂域相似度乘积、预设意图权重与意图相似度的乘积、预设词槽权重与词槽相似度的乘积进行累加,从而得到角色相似度。
需要说明的是,上述角色相似度、垂域相似度、意图相似度和词槽相似度,分别可以用于说明两个虚拟角色的相似程度、两个垂域信息之间的相似程度、两个意图信息之间的相似程度和两个词槽信息之间的相似程度;
还需要说明的是,上述预设相似度阈值、预设垂域权重、预设意图权重和预设词槽权重,可以通过事先设置得到。
可选地,可以通过查表的方式或机器学习的方式来确定垂域相似度、意图相似度或词槽相似度。以垂域相似度为例。若通过查表的方式来确定垂域相似度,可以从预设相似垂域信息表中查询两个垂域信息之间的垂域相似度,其中,该预设相似垂域信息表可以事先确定得到,比如可以通过事先收集多个垂域信息,确定多个垂域信息中两两之间的相似度,并将任意两个垂域信息之间的相似度存储至预设相似垂域信息表中。若通过机器学习的方式来确定垂域相似度,则可以将两个垂域信息输入至预设相似度判别模型中,通过该预设相似度判别模型来确定该两个垂域信息之间的垂域相似度,其中,预设相似度判别模型可以包括机器学习模型,可以事先获取多个第一训练样本,每个第一训练样本包括两个垂域信息并携带标注的垂域相似度,通过该多个第一训练样本,训练得到该预设相似度判别模型。当然,在实际应用中,也可以通过其他方式来确定垂域相似度、意图相似度和词槽相似度,本申请实施例对此确定垂域相似度、意图相似度和词槽相似度的方式不做具体限定。
需要说明的是,在本申请实施例中,通过角色相似度来获取与第一虚拟角色相似的虚拟角色,作为与该第一虚拟角色关联的第二虚拟角色,但可以理解的是,在实际应用中,第二虚拟角色并不局限于是与第一虚拟角色相似的虚拟角色。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一语义数据发送给云端服务器或另一终端,并接收来自云端服务器或另一终端的判断结果,从而通过云端服务器或另一终端,来基于第一语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色。
S703,通过对第二虚拟角色进行迁移学习(transfer learning,TL),生成第一虚拟角色。
迁移学习是机器学习的研究领域之一,可以利用已有问题的解决模型,解决其他与该问题相关联的其他问题,比如使用轿车分类算法,实现或提升卡车分类算法。因此,当存在与第一虚拟角色关联的第二虚拟角色时,可以获取第二虚拟角色,基于第一语音语义标注数据,对第二虚拟角色进行迁移学习训练,得到第一虚拟角色,既能够显著减少所需的语音语义标注数据,又能够显著提高生成第一虚拟角色的效率。
可选地,由前述可知,AI平台所包括的ASR、NLU、DM、NLG和TTS等算法模型中,NLU用于对经ASR处理后的文字进行分词、词性标注、关键词提取等处理,从而得到机器可理解的、 结构化的语义表示数据,即NLU的处理过程与语音指令所指示的具体内容密切相关,直接影响到终端对语音指令的响应准确程度,而其他算法模型对语音指令所指示的具体内容并不敏感,即对于不同的虚拟角色,除NLU之外的其他算法模型可以通用。因此,在生成待生成拟角色时,可以对第一目标角色的NLU模型进行迁移学习,从而得到第一虚拟角色的NLU模型,也就是得到了第一虚拟角色。
可选地,第一虚拟角色的NLU模型可以包括作为网络前级的基础语言特征提取层和作为网络后级的语义数据提取层。其中,基础语言特征提取层可以用于提取文字信息中的基本特征,比如每个字与前后文之间的关联等,对于不同虚拟角色的NLU模型,其基础语言特征提取层可以相同;语义数据提取层可以基于虚拟角色所处理的AI业务,在已提取的文字信息的基本特征的基础上,进一步提取得到垂域信息、意图信息和词槽信息。
请参照图8,为本申请实施例所提供的一种角色迁移学习的原理示意图。当得到第二虚拟角色的NLU模型时,可以基于第一语音语义标注数据,对该NLU模型的语义数据提取层(即网络后级)进行迁移训练,训练生成的NLU模型即为第一虚拟角色的NLU模型,该第一虚拟角色的NLU模型能够从归属于第一虚拟角色所处理AI业务的语音指令中,提取得到相应的垂域信息、意图信息和词槽信息。
请参照图9,为本申请实施例所提供的一种NLU模型的结构示意图。由图9可知,该NLU模型包括8层LSTM网络,其中,前两层LSTM网络为基础语言特征提取层,后六层LSTM网络为语义数据提取层,且第三层和第四层为垂域网络层,第五层和第六层为意图网络层,第七层和第八层为词槽网络层。垂域网络层和意图网络层可以基于预设意图信息库中包括的意图信息,从输入的文字信息中提取得到垂域信息和意图信息,其中一种可能的方式可以是从该文字信息中查找预设意图信息库中所包括的意图信息,并根据预设的垂域信息与意图信息之间的关联关系,确定该意图信息所关联的垂域信息。词槽网络层可以按照与提取意图信息相似的方式,基于预设词槽信息库所包括的词槽信息,从输入的文字信息中提取词槽信息。
请继续参照图9,输入NLU模型的文字信息为“播放张三的歌”,前两层LSTM层对该文字信息进行基于语言特征提取。在前两层的基础上,垂域网络层提取垂域信息为设备控制,意图网络层提取意图信息为播放音乐,词槽网络层提取词槽信息为张三。
可选地,由于对于不同虚拟角色的NLU模型,其基础语言特征提取层可以相同,因此可以通过少量的语音语义标注数据,对NLU模型中的语义数据提取层进行有监督的训练,包括获取第二虚拟角色的NLU模型,将第二虚拟角色的NLU模型中基础语言特征提取层的网络参数设置为常量,从而将基础语言特征提取层的网络参数冻结,然后基于第一语音语义标注数据,对第二虚拟角色的NLU模型中语义数据提取层中的网络参数进行训练,得到第一虚拟角色的NLU模型,该第一虚拟角色的NLU模型包括基础语言特征提取层和训练后的语义数据提取层,且该基础语言特征提取层与第二虚拟角色的NLU模型中的基础语言特征提取层相同。也即是,能够在仅需要少量语音语义标注数据的基础上,快速实现新虚拟角色的扩展。
例如,第二虚拟角色所处理的AI业务为视频播放,对应的垂域信息包括设备控制,意图信息包括播放和暂停等常用的语义句式和关键词,如果第一虚拟角色所处理的AI业务为音频播放,那么其垂域信息和意图信息可以是相同的,仅需要把词槽信息中针对视频播放的关键词(比如电影名称和导演名称等)替换为音频播放的关键词(比如歌曲名称和歌手名称)即可。
另外,当采用从云侧部署、端云协同部署或终端分布式部署时,终端可以将第一语音语义标 注数据(和第二虚拟角色)发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的第一虚拟角色,从而通过云端服务器或另一终端来对第二虚拟角色进行迁移学习。
S704,基于第一语音语义标注数据和第一语义数据,生成第二语音语义标注数据。
如果当前没有与第一虚拟角色关联的第二虚拟角色,那么也就不容易通过迁移学习的方式来生成该第一虚拟角色,但由于获取到了第一虚拟角色的第一语音语义标注数据以及第一语义数据,而第一语音语义标注数据包括第一语音指令和对第一语音指令进行标注的第二语义数据,因此,可以按照第二语义数据与第一语音指令之间的关系,快速生成大量的第二语音语义标注数据,从而得到充足的用于训练生成第一虚拟角色的语音语义标注数据。
可选地,由于GAN可以包括生成网络和判别网络,其中生成网络可以用于生成“假数据”,判别网络可以用于判别所输入的数据为生成网络生成的“假数据”还是自然的“真数据”,通过这两个网络便可以使生成网络所生成的“假数据”尽可能接近“真数据”,那么在本申请实施例中,在生成第二语音语义标注数据时,即可以通过GAN,按照少量真实的语音语义标注数据(即第一语音语义标注数据),生成与第一语义数据对应的第二语音指令,从而得到大量的第二语音语义标注数据,进而训练生成第一虚拟角色,从而大幅度降低生成新的虚拟角色所需事先采集的语音语义标注数据的数据量、降低采集成本。
其中,可以基于第一语音语义标注数据,对预设GAN进行调优训练,从而使该预设GAN学习得到语音指令与所标注的语义数据之间的关系,然后基于调优训练后的预设GAN,生成与各第一语义数据对应的第二语音指令(即将第一语义数据输入至调优训练后的预设GAN,得到对应的第二语音指令),从而得到第二语音语义标注数据,所生成的第二语音语义标注数据即可以包括第二语音指令和对第二语音指令进行标注的第一语义数据。
请参照图10,为本申请实施例所提供的一种生成语音语义标注数据的原理示意图。生成网络1010根据输入的词槽信息和意图信息(其中,根据该意图信息可以确定关联的垂域信息),生成对应的语音指令,判别网络1020对生成的语音指令进行解析,得到词槽信息、意图信息和垂域信息,将判别网络1020解析输出的词槽信息、意图信息和垂域信息,与输入生成网络1010的词槽信息、意图信息和垂域信息进行比较,从而实现对生成网络1010和判别网络1020的监督训练,使得生成的语音指令尽可能接近于真实场景中用户输入的语音指令。
需要说明的是,预设GAN可以通过基于双向转换表示的编码器(bidirectional encoder representations from transformers,BERT)、生成式预训练(generative pre-training,GPT)、GPT-2等预训练模型构建得到。
可选地,可以事先获取第三语音语义标注数据,基于第三语音语义标注数据训练得到预设GAN,从而使该预设GAN具有较强的语义泛化能力,也确保可以通过该预设GAN,基于少量的第一语音语义标注数据,生成与第一语义数据对应的第二语音指令。
其中,第三语音语义标注数据包括第三语音指令、用于对第三语音指令进行标注的第三语义数据、第四语义数据以及用于对第四语义数据进行标注的第四语音指令;第三语义数据可以包括第三垂域信息、第三意图信息和第三词槽信息,第四语义数据包括第四垂域信息、第四意图信息和第四词槽信息。因此,可以通过第四语义数据以及用于对第四语义数据进行标注的第四语音指令,对GAN中的生成网络进行训练,从而使生成网络可以根据输入的语义数据生成对应的语音指令,通过第三语音指令以及用于对第三语音指令进行标注的第三语义数据,对GAN的判别网络进行训练,从而使判别网络可以从输入的语音指令提取得到对应的语义数据。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一语音语义标注数据和第一语义数据发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的第二语音指令或者第二语音语义标注数据,从而通过云端服务器或另一终端来生成第二语音语义标注数据。
S705,基于第二语音语义标注数据,训练得到第一虚拟角色。
当生成得到大量的第二语音语义标注数据时,即可以基于第二语音语义标注数据训练得到第一虚拟角色。
其中,可以基于第二语音语义标注数据,训练得到第一虚拟角色的NLU模型。
另外,在本申请的另一可选实施例中,也可以基于第一语音语义标注数据和第二语音语义标注数据,训练得到第一虚拟角色,即充分利用所获取到的第一语义数据和第一语音语义标注数据,实现通过更多的语音语义标注数据训练得到第一虚拟角色,进一步提高生成第一虚拟角色的准确性。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第二语音语义标注数据发送给云端服务器或另一终端,还可以接收云端服务器或另一终端发送的第一虚拟角色,从而通过云端服务器或另一终端训练生成第一虚拟角色。
S706,将第一虚拟角色导入至角色资源库。
当生成新的虚拟角色时,可以将该虚拟角色进行存储,便于后续被唤醒并处理相应的AI业务。
其中,可以将第一虚拟角色的NLU模型和第一语义数据,存储至角色资源库。
需要说明的是,当将第一语义数据存储至角色资源库时,可以将词槽信息存储至词槽信息库,将意图信息存储至意图信息库。当然,还可以将垂域信息存储至垂域信息库。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第一虚拟角色发送至云端服务器或另一终端,从而第一虚拟角色导入至位于云端服务器或另一终端的角色资源库。
S707,判断角色扩展是否结束,如果是则结束,否则返回S701。
可以在将第一虚拟角色导入至角色资源库时,确定角色扩展结束。当然,在实际应用中,也可以通过其他方式来判断当前角色扩展是否结束,比如,可以若在将第一虚拟角色导入角色资源库之后的第一预设时长内,没有接收到任何用户操作,则确定角色扩展结束。本申请实施例对此判断角色扩展是否结束的方式不做具体限定。
如果当前角色扩展未结束,也可以继续接收用户提交的其他角色扩展数据和语音语义标注数据,从而继续生成更多的第一虚拟角色。
需要说明的是,S707也可以省略,即当将第一虚拟角色导入至角色资源库时,不再判断角色扩展是否结束。
在本申请实施例中,可以获取第一虚拟角色的第一语义数据和第一语音语义标注数据,其中,第一语音语义标注数据包括第一语音指令和用于对第一语音指令进行标注的第二语义数据,第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息,所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息,由于垂域信息用于指示该语音指令所归属的功能领域,意图信息用于指示该语音指令的操作类型,该词槽信息用于指示该语音指令的操作参数。因而可以基于第一语音语义标注数据,生成第一语义数据对应的第二语音指令,得到第二语音语义标注数据,第二语音语义标注数据包括第二语音指令和用于对第二语音指令进行标注的第一语义数据。基于 第二语音语义标注数据便可以训练得到第一虚拟角色。由于能够基于第一语音语义标注数据和第一语义数据,生成第二语音语义数据,因此当生成新的虚拟角色时,可以仅采集少量的第一语音语义标注数据,然后再基于第一语音语义标注数据和第一语义数据生成大量的第二语音语义数据,从而能够大幅度减少为生成虚拟角色而事先采集的语音指令或第一语音语义标注数据的数据量,确保了能够快速高效地扩展生成新的虚拟角色,降低了生成虚拟角色的周期和成本,也便于用户及时根据需求定制个性化的虚拟角色,提高了AI业务的敏捷性和扩展性。
另外,由于可以更容易地针对不同的AI业务,对应扩展生成新的虚拟角色,因此可以对于不同领域不同功能的AI业务,都可以生成相应的虚拟角色,该虚拟角色即能够准确可靠地处理该AI业务,也就能够缓解虚拟角色功能广度与应答准确率之间的矛盾。
另外,可以理解的是,对于任意的待生成角色,都可以通过S704-S705生成该待生成角色,而对于可以查找到第二虚拟角色的第一虚拟角色,可以通过S703生成该第一虚拟角色来进一步降低生成虚拟角色的周期并提高生成虚拟角色的效率,那么在实际应用中,在生成待生成角色时,也可以不执行S702,即不判断当前是否存在与该待生成角色相关联的第二虚拟角色,而是直接执行S701以及S704-707来生成该第一虚拟角色。
请参照图11,为本申请实施例所提供的一种生成虚拟角色的方法的流程图。需要说明的是,该方法可以应用于终端、终端与云端服务器或终端与终端之间的交互中,下述方法中的至少一个步骤,可以由终端独立完成,或者由云端服务器或另一终端完成,或者由终端与云端服务器或另一终端协同完成,该方法并不以图11以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S1101,获取待生成的第一虚拟角色的第一语音语义标注数据。
其中,第一语音语义标注数据包括第一语音指令和用于对第一语音指令进行标注的第二语义数据。
需要说明的是,S1101中获取第一语音语义标注数据的方式,可以与S301中获取第一语音语义标注数据的方式相同,此处不再一一赘述。
S1102,基于第二语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色。如果是则执行S1103,否则执行S1104。
由于第一语音语义标注数据中也包括第一虚拟角色的语义数据,因此,也可以通过第一语音语义标注数据中所包括的第二语义数据,来查找是否存在与第一虚拟角色关联的第二虚拟角色。
需要说明的是,基于第二语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色的方式,可以与基于第一语义数据,判断是否存在与第一虚拟角色关联的第二虚拟角色的方式相同,此处不再一一赘述。
S1103,通过对第二虚拟角色进行迁移学习,生成第一虚拟角色。
需要说明的是,S1103通过对第二虚拟角色进行迁移学习,生成第一虚拟角色的方式,可以与S703通过对第二虚拟角色进行迁移学习,生成第一虚拟角色的方式相同,此处不再一一赘述。
S1104,获取第一虚拟角色的第一语义数据。
需要说明的是,S1104获取第一虚拟角色的第一语义数据的方式,可以与S701获取第一虚拟角色的第一语义数据的方式相同,此处不再一一赘述。
S1105,基于第一语音语义标注数据和第一语义数据,生成第二语音语义标注数据。
S1106,基于第二语音语义标注数据,训练得到第一虚拟角色。
S1107,将第一虚拟角色导入至角色资源库。
S1108,判断角色扩展是否结束,如果是则结束,否则返回S1101。
需要说明的是,S1105-S1108的执行方式,可以与前述S704-S707的执行方式相同,此处不再一一赘述。
在本申请实施例中,可以先不获取第一虚拟角色的第一语义数据,而是利用第一语音语义标注数据中的第二语义数据,来判断是否存在与第一虚拟角色关联的第二虚拟角色,那么如果当前存在第二虚拟角色,则不需要获取第一语义数据,也能够生成第一虚拟角色。因此在如图7所提供的生成虚拟角色的方法所具有的有益效果的基础上,可以进一步减少生成新的虚拟角色所需的数据,降低采集数据的成本。
其次,由于可以更容易地针对不同的AI业务,对应扩展生成新的虚拟角色,因此可以对于不同领域不同功能的AI业务,都可以生成相应的虚拟角色,该虚拟角色即能够准确可靠地处理该AI业务,也就能够缓解虚拟角色功能广度与应答准确率之间的矛盾。
在上述内容中,已经说明了如何生成虚拟角色,那么接下来,将对如何使用已有的虚拟角色予以说明。
请参照图12,为本申请实施例所提供的一种处理AI业务的方法的流程图。需要说明的是,该方法可以应用于终端、终端与云端服务器或终端与终端之间的交互中,下述方法中的至少一个步骤,可以由终端独立完成,或者由云端服务器或另一终端完成,或者由终端与云端服务器或另一终端协同完成,该方法并不以图12以及以下所述的具体顺序为限制,应当理解,在其它实施例中,该方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该方法包括如下步骤:
S1201,当接收到角色唤醒指令时,获取角色指示信息,该角色指示信息用于指示将唤醒的第三虚拟角色。
为了通过角色处理相应的AI业务,终端可以接收角色唤醒指令,且由于为了通过多个虚拟角色分别处理不同的AI业务,从而确保各虚拟角色都能够只需要在对应AI业务的场景中理解用户的语音指令,减少语义混淆,提高对语音指令进行应答的准确性,该终端可能会包括多个虚拟角色,因此为了便于后续准确确定用户所唤醒的虚拟角色,可以在接收到该操作时,获取角色指示信息。
第三虚拟角色,可以为用户希望唤醒的虚拟角色。
角色唤醒指令,可以用于用户唤醒虚拟角色。该角色唤醒指令可以包括第五语音指令或UI控件操作指令。
其中,可以通过前述虚拟角色系统100中的设备输入模块110来接收角色唤醒指令,通过AI平台130来获取角色指示信息。
S1202,确定与角色指示信息匹配的第三虚拟角色。
其中,可以通过下述至少一种方式来在至少一个已有的虚拟角色中,确定第三虚拟角色,且如果通过两种以上的方式来确定第三虚拟角色时,可以在通过各种方式的判定结果(或多于一半的判定结果)都为同一虚拟角色时,将该虚拟角色确定为第三虚拟角色。
在一种方式中,角色指示信息可以包括唤醒词和称谓称呼中的至少一个,当角色唤醒指令包括第五语音指令时,那么可以提取第五语音指令所对应的文字信息,然后从该文字信息中检测是 否包括与任一虚拟角色对应的唤醒词和称谓称呼中的至少一个,如果是则可以将该虚拟角色确定为第三虚拟角色。在另一种方式中,角色指示信息可以包括用户声纹,当角色唤醒指令包括第五语音指令时,可以提取第五语音指令所对应的用户声纹,然后检测该用户声纹是否与任一虚拟角色关联的用户声纹相同,如果是则可以将该虚拟角色确定为第三虚拟角色。在另一种方式中,角色指示信息可以包括AI业务信息,当角色唤醒指令包括第五语音指令时,可以提取第五语音指令所对应的文字信息,从该文字信息中检测AI业务信息(比如查询天气、播放歌曲等信息),然后获取与该AI业务信息对应的虚拟角色作为第三虚拟角色。在另一种方式中,角色指示信息可以包括UI操作指令的操作参数(比如点击位置),当角色唤醒指令包括UI操作指令时,可以基于该UI操作指令的操作参数,将该UI操作指令所对应的虚拟角色确定为第三虚拟角色。在另一种方式中,角色指示信息可以包括情景模式信息(比如位置信息、天气信息、温度信息和时间信息中的至少一种),可以获取当前的情景模式信息,然后获取与该情景模式信息对应的虚拟角色作为第三虚拟角色。
请参照图13,为本申请实施例所提供的一种UI界面的示意图。在该界面中,用户输入第五语音指令,终端获取第五语音指令中的文字信息为“小艺医生”,并检测该“小艺医生”为虚拟角色“小艺医生”的唤醒词,因此确定小艺医生为第三虚拟角色,因此生成应答的文字信息“小艺医生,正在路上”,并将该应答的文字信息进行语音播报。
请参照图14和图15,为本申请实施例所提供的另一种UI界面的示意图。在图14的界面中,通过文字和语音提示用户“可点击图标,选择小艺专业角色”,并在界面下方显示三个角色按钮,每个角色按钮可以对应一个虚拟角色,还显示有语音按钮,从而便于用户选择角色唤醒指令的方式。当基于“小艺医生”对应的角色按钮接收到用户的点击操作时,确定“小艺医生”为第三虚拟角色,因此生成应答的文字信息“小艺医生为您提供专业健康指导”,如图15所示。
请参照图16和图17,为本申请实施例所提供的另一种UI界面的示意图。在图16所示的界面中,终端检测到用户在搜索框中搜索了“小艺”,搜索并显示“XX小艺”、“小艺厨师”“小艺医生”和“小艺老师”等四个角色对应的角色图标。当基于“小艺老师”对应的角色目标接收到用户的点击操作时,可以将“小艺老师”确定为第三虚拟角色,并生成应答的文字信息“小艺老师,助您成长,已加载最新的学习资源”,如图17所示。
其中,可以通过前述虚拟角色系统100中的角色选择模块140,来确定与角色指示信息匹配的第三虚拟角色。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将获取到的角色指示信息发送给云端服务器或另一终端设备,还可以从该云端服务器或另一终端设备获取所确定的第三虚拟角色。
S1203,加载第三虚拟角色的角色资源。
当确定用户所唤醒的第三虚拟角色时,可以获取并加载第三虚拟角色的角色资源,从而便于后续通过第三虚拟角色向用户提供相应的服务。
需要说明的是,若当前正加载另一虚拟角色的角色资源,即正在通过该虚拟角色来处理AI业务,可以将所加载的该虚拟角色的角色资源,替换为第三虚拟角色的角色资源,从而对当前处理AI业务的虚拟角色进行切换。
其中,可以通过前述虚拟角色系统100中的AI平台130和应用管理框架190,从角色资源库150,获取并加载第三虚拟角色的角色资源。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以从云端服务器或另一终端,获取并加载第三虚拟角色的角色资源。
通过上述S1201-S1203,用户已经唤醒了第三虚拟角色,那么在接下来的步骤中,即可以基于第三虚拟角色,处理相应的AI业务。
S1204,接收第四语音指令。
第四语音指令可以为用户针对所需要获取的服务而发出的语音指令。比如第四语音指令可以为“播放张三的歌曲”、“查询明天天气”和“打开电饭煲”等。
需要说明的是,第五语音指令和第四语音指令可以为同一语音指令,或者,可以同时在S1201获取得到。比如,“小艺厨师,告诉我红烧茄子的菜谱”,其中,“小艺厨师”可以作为指示“小艺厨师”这一虚拟角色的唤醒词,而“告诉我红烧茄子的菜谱”可以作为需要从“小艺厨师”获取的服务。
其中,可以通过前述虚拟角色系统100中的设备输入模块110来接收第四语音指令。
S1205,基于角色资源,生成与第四语音指令对应的应答控制信息。
应答控制信息,可以用于指示针对第四语音指令生成的至少一项任务,比如生成文字/语音信息作为应答、控制所指定的设备以及调用第三方服务进行信息查询等。
其中,可以通过前述虚拟角色系统100中的AI平台130,来生成第四语音指令对应的应答控制信息,包括通过ASR模块220、NLU模块230和DM模块240,对该第四语音指令进行级联处理,从而得到该应答控制信息。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将第四语音指令发送给云端服务器或另一终端,还可以接收另一终端发送的与第四语音指令对应的应答控制信息。
可选地,由于终端可以通过本端、云端服务器或其他终端,来生成与第四语音指令对应的应答控制信息,因此,终端可能会得到多个对应第四语音指令的应答控制信息,在这种情况下,终端可以选择按照预设选择策略,从多个应答控制信息中选择一个并执行后续步骤。
其中,预设选择策略可以通过事先设置得到,比如,可以选择在接收到第四语音指令之后,最先获取到的应答控制信息;或者,可以通过机器挖掘等方式,在多个应答控制信息中选择最合理的一个应答控制信息。
S1206,基于应答控制信息,执行应答任务。
通过执行至少一项的应答任务,可以完成对用户通过第四语音指令所指示的服务。
请参照图18和图19,本申请实施例所提供的另一种UI界面的示意图。在图18中,用户唤醒“小艺医生”这一虚拟角色,并语音输入了一个学术问题“病毒性感冒”,终端通过搜索生成针对该学术问题的相关建议,并生成文字/语音信息“病毒性感冒,建议遵医嘱使用氯化铵和氨溴索类药物,并保证充足睡眠和清淡饮食”反馈给用户。在图19中,用户唤醒“小艺老师”这一虚拟角色,并语音输入了一个学术问题“病毒性感冒”,终端通过搜索生成针对该学术问题的相关知识,生成文字/语音信息“以病毒为致病源的上呼吸道感染疾病,基础知识点:病毒可分为DNA病毒和RNA病毒,是由一个核酸分子与蛋白质构成的非细胞形态”反馈给用户。将图18和图19对比可知,不同的虚拟角色属于不同的领域,可以从不同的专业角度去获取同一语音指令的语义,准确地对各语音指令进行应答,提高所处理AI业务的准确性。且终端所具有的虚拟角色越多,也就越能覆盖更多的技术领域,各虚拟角色所属的功能领域可以更加细分,既能够更好的提高所能处理AI业务的广度(即虚拟角色功能的广度),也能够提高对处理AI业务的准确性。
其中,可以通过前述虚拟角色系统100中的任务管理和业务逻辑模块180,根据应答控制信 息编排和管理任务,并通过应用管理框架190调用设备输出模块170以及智慧大脑192、系统服务/信息平台191等周边系统或设备,来执行各项任务。
另外,当采用从云侧部署、端云系协同部署或终端分布式部署时,终端可以将应答控制信息发送给云端服务器或另一终端,从而由云端服务器或另一终端,来基于该应答通知信息,执行相应的应答任务。
S1207,判断用户交互是否结束,如果是则结束,否则返回S1201。
其中,若在执行应答任务之后的第二预设时长内,没有接收到用户的其他语音指令或操作,则可以确定与用户交互结束。
需要说明的是,可以通过前述虚拟角色系统100中的设备输入模块110,来判断是否在执行应答任务之后的第二预设时长内接收到用户的其他语音指令或操作。
还需要说明的是,第二预设时长可以通过事先设置确定。
在本申请实施例中,终端中可以包括多个虚拟角色,且该多个虚拟角色可以至少一种预设维度进行划分,从而确保能够处理多个方面的AI业务,显著提高虚拟角色功能广度。当接收到角色唤醒指令时,可以获取角色指示信息,从而根据该角色指示信息,在当前包括的多个虚拟角色中确定匹配的第三虚拟角色,那么加载第三虚拟角色的角色资源,并基于第三虚拟角色处理AI业务,该第三虚拟角色便难以对语音指令产生歧义,也就能够准确处理该AI业务,从而显著提高了对语音指令进行应答的准确率。
需要说明的是,扩展生成新的虚拟角色与使用已有的虚拟角色之间,并没有时序上的限制,比如,用户可以在使用已有的虚拟角色的过程中,启动扩展创建新的虚拟角色;或者,也可以先生成所需的各种虚拟角色,然后再使用个虚拟角色处理相关的AI业务。
基于同一发明构思,作为对上述方法的实现,本申请实施例提供了一种生成虚拟角色的装置和处理AI业务的装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
请参照图20,为本申请实施例提供的一种生成虚拟角色的装置2000的结构示意图,如图20所示,本实施例提供的装置包括:
获取模块2010,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
生成模块2020,用于基于该第一语音语义标注数据,生成该第一语义数据对应的第二语音指令,得到第二语音语义标注数据;
训练模块2030,用于基于该第二语音语义标注数据,训练得到该第一虚拟角色;
其中,该第一语音语义标注数据包括第一语音指令和用于对该第一语音指令进行标注的第二语义数据;该第二语音语义标注数据包括第二语音指令和用于对该第二语音指令进行标注的第一语义数据;该第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;该第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
可选地,该生成模块还用于:
基于该第一语义数据,查找与该第一虚拟角色关联的第二虚拟角色;
若未查找到该第二虚拟角色,则基于该第一语音语义标注数据,生成该第一语义数据对应的第二语音指令。
可选地,该生成模块,还用于基于该第一语音语义标注数据,对预设GAN进行调优训练;基 于调优训练后的该预设GAN,生成与该第一语义数据对应的第二语音指令。
可选地,该获取模块,还用于获取第三语音语义标注数据,该第三语音语义标注数据包括第三语音指令、用于对该第三语音指令进行标注的第三语义数据、第四语义数据以及用于对该第四语义数据进行标注的第四语音指令;
该训练模块,还用于基于该第三语音语义标注数据,训练得到该预设GAN。
可选地,该获取模块,还用于当接收到角色唤醒指令时,获取角色指示信息,该角色指示信息用于指示将唤醒的第三虚拟角色;
还包括:
确定模块,用于在已有的至少一个虚拟角色中,确定与该角色指示信息匹配的该第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载模块,用于加载该第三虚拟角色的角色资源;
处理模块,用于基于该第三虚拟角色,处理AI业务。
本实施例提供的生成虚拟角色的装置2100可以执行上述图7所示的方法实施例,其实现原理与技术效果类似,此处不再赘述。
请参照图21,为本申请实施例提供的一种生成虚拟角色的装置2100的结构示意图,如图21所示,本实施例提供的装置包括:
获取模块2110,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
查找模块2120,用于基于该第一语义数据,查找与该第一虚拟角色关联的第二虚拟角色;
训练模块2130,用于若查找到该第二虚拟角色,则基于该第一语音语义标注数据,对该第二虚拟角色进行迁移学习训练,得到该第一虚拟角色;
其中,该第一语音语义标注数据包括第一语音指令和用于对该第一语音指令进行标注的第二语义数据;该第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;该第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
可选地,该第一虚拟角色的NLU模型包括基础语言特征提取层和语义数据提取层,该训练模块还用于:
获取该第二虚拟角色的NLU模型;
将该第二虚拟角色的NLU模型中该基础语言特征提取层的网络参数设置为常量;
基于该第一语音语义标注数据,对该第二虚拟角色的NLU模型中该语义数据提取层中的网络参数进行训练,得到该第一虚拟角色的NLU模型。
可选地,还包括:
存储模块,用于将该第一虚拟角色的NLU模型和该第一语义数据,存储至角色资源库。
可选地,该查找模块还用于:
获取已有的至少一个虚拟角色的第五语义数据;
基于该第一语义数据和该第五语义数据,确定该至少一个虚拟角色分别与该第一虚拟角色之间的角色相似度;
根据该至少一个虚拟角色与该第一虚拟角色之间的角色相似度,查找与该第一虚拟角色关联的第二虚拟角色。
可选地,该获取模块,还用于当接收到角色唤醒指令时,获取角色指示信息,该角色指示信息用于指示将唤醒的第三虚拟角色;
还包括:
确定模块,用于在已有的至少一个虚拟角色中,确定与该角色指示信息匹配的该第三虚拟角色,其中,至少一个虚拟角色为至少一个预设维度划分得到的;
加载模块,用于加载该第三虚拟角色的角色资源;
处理模块,用于基于该第三虚拟角色,处理AI业务。
可选地,该处理模块还用于:
接收第四语音指令;
基于该角色资源,生成与该第四语音指令对应的应答控制信息;
基于该应答控制信息,执行应答任务。
本实施例提供的生成虚拟角色的装置2100可以执行上述图7所示的方法实施例,其实现原理与技术效果类似,此处不再赘述。
请参照图22,为本申请实施例提供的一种生成虚拟角色的装置2200的结构示意图,如图22所示,本实施例提供的装置包括:
获取模块2210,用于获取待生成的第一虚拟角色的第一语音语义标注数据,其中,该第一语音语义标注数据包括第一语音指令和用于对该第一语音指令进行标注的第二语义数据;
查找模块2220,用于基于该第二语义数据,查找与该第一虚拟角色关联的第二虚拟角色;
训练模块2230,用于若查找到该第二虚拟角色,则基于该第一语音语义标注数据,对该第二虚拟角色进行迁移学习训练,得到该第一虚拟角色。
可选地,该获取模块,还用于若未查找到该第二虚拟角色,则获取该第一虚拟角色的第一语义数据;
该训练模块,还用于基于该第二语音语义标注数据,训练得到该第一虚拟角色;
还包括:
生成模块,用于基于该第一语音语义标注数据,生成该第一语义数据对应的第二语音指令,得到第二语音语义标注数据,其中,该第二音语义标注数据包括该第二语音指令和用于对该第二语音指令进行标注的该第一语义数据。
本实施例提供的生成虚拟角色的装置2200可以执行上述图11所示的方法实施例,其实现原理与技术效果类似,此处不再赘述。
请参照图23,为本申请实施例提供的一种处理AI业务的装置2300的结构示意图,如图23所示,本实施例提供的装置包括:
获取模块2310,用于当接收到角色唤醒指令时,获取角色指示信息,该角色指示信息用于指示第三虚拟角色;
确定模块2320,用于在已有的至少一个虚拟角色中,确定与该角色指示信息匹配的该第三虚拟角色,其中,至少一个虚拟角色为按照至少一个预设维度划分得到的;
加载模块2330,用于加载该第三虚拟角色的角色资源;
处理模块2340,用于基于该第三虚拟角色,处理AI业务。
可选地,该处理模块还用于:
接收第四语音指令;
基于该角色资源,生成与该第四语音指令对应的应答控制信息;
基于该应答控制信息,执行应答任务。
本实施例提供的生成虚拟角色的装置2300可以执行上述图12所示的方法实施例,其实现原理与技术效果类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种终端。图24为本申请实施例提供的终端的结构示意图,如图24所示,本实施例提供的终端包括:存储器2410和处理器2420,存储器2410用于存储计算机程序;处理器2420用于在调用计算机程序时执行上述方法实施例所述的方法。
本实施例提供的终端可以执行上述方法实施例,其实现原理与技术效果类似,此处不再赘述。
基于同一发明构思,本申请实施例还提供了一种芯片系统。该所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面或第一方面的任一实施方式所述的方法。
其中,该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的方法。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在中终端上运行时,使得终端执行时实现上述方法实施例所述的方法。
请参照图25,为本申请所提供的一种终端2500的结构示意图。终端2500可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端2500的具体限定。在本申请另一些实施例中,终端2500可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端2500的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。减少了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端2500的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端2500的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端2500的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口, USB Type C接口等。USB接口130可以用于连接充电器为终端2500充电,也可以用于终端2500与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端2500的结构限定。在本申请另一些实施例中,终端2500也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端2500的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端2500的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端2500中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端2500上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端2500上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通 信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端2500的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端2500可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端2500通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,终端2500可以包括1个或N个显示屏194,N为大于1的正整数。
终端2500可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端2500可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端2500在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端2500可以支持一种或多种视频编解码器。 这样,终端2500可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端2500的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端2500的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端2500的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端2500使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端2500可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端2500可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端2500接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端2500可以设置至少一个麦克风170C。在另一些实施例中,终端2500可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端2500还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端2500根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端2500根据压力传感器180A检测所述触摸操作强度。终端2500也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有 触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端2500的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端2500围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端2500抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端2500的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端2500通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端2500可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端2500是翻盖机时,终端2500可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端2500在各个方向上(一般为三轴)加速度的大小。当终端2500静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端2500可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端2500可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端2500通过发光二极管向外发射红外光。终端2500使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端2500附近有物体。当检测到不充分的反射光时,终端2500可以确定终端2500附近没有物体。终端2500可以利用接近光传感器180G检测用户手持终端2500贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端2500可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端2500是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端2500可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端2500利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端2500执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端2500对电池142加热,以减少低温导致终端2500异常关机。在其他一些实施例中,当温度低于又一阈值时,终端2500对电池142的输出电压执行升压,以减少低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可 以设置于终端2500的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端2500可以接收按键输入,产生与终端2500的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端2500的接触和分离。终端2500可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端2500通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端2500采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端2500中,不能和终端2500分离。
终端2500的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明终端2500的软件结构。
图26是本申请实施例的终端2500的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图26所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图26所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视 频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端2500的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:openGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明终端2500软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质至少可以包括:能够将计算机程序代码携带 到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (14)

  1. 一种生成虚拟角色的方法,其特征在于,包括:
    获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
    基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据;
    基于所述第二语音语义标注数据,训练得到所述第一虚拟角色;
    其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第二语音语义标注数据包括所述第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
  2. 根据权利要求1所述的方法,其特征在于,所述基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,包括:
    基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
    若未查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令。
  3. 根据权利要求1或2所述的方法,其特征在于,所述基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,包括:
    基于所述第一语音语义标注数据,对预设生成式对抗网络GAN进行调优训练;
    基于调优训练后的所述预设GAN,生成与所述第一语义数据对应的第二语音指令。
  4. 根据权利要求3所述的方法,其特征在于,在所述基于所述第一语音语义标注数据,对预设GAN进行调优训练之前,还包括:
    获取第三语音语义标注数据,所述第三语音语义标注数据包括第三语音指令、用于对所述第三语音指令进行标注的第三语义数据、第四语义数据以及用于对所述第四语义数据进行标注的第四语音指令;
    基于所述第三语音语义标注数据,训练得到所述预设GAN。
  5. 根据权利要求1-4任一所述的方法,其特征在于,还包括:
    当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
    在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,所述至少一个虚拟角色为按照至少一个预设维度划分得到的;
    加载所述第三虚拟角色的角色资源;
    基于所述第三虚拟角色,处理人工智能AI业务。
  6. 一种生成虚拟角色的方法,其特征在于,还包括:
    获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
    基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
    若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色;
    其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二 语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
  7. 根据权利要求6所述的方法,其特征在于,所述第一虚拟角色的自然语言理解NLU模型包括基础语言特征提取层和语义数据提取层,所述基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色,包括:
    获取所述第二虚拟角色的NLU模型;
    将所述第二虚拟角色的NLU模型中所述基础语言特征提取层的网络参数设置为常量;
    基于所述第一语音语义标注数据,对所述第二虚拟角色的NLU模型中所述语义数据提取层中的网络参数进行训练,得到所述第一虚拟角色的NLU模型。
  8. 根据权利要求6或7所述的方法,其特征在于,还包括:
    将所述第一虚拟角色的NLU模型和所述第一语义数据,存储至角色资源库。
  9. 根据权利要求6-8任一所述的方法,其特征在于,所述基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色,包括:
    获取已有的至少一个虚拟角色的第五语义数据;
    基于所述第一语义数据和所述第五语义数据,确定所述至少一个虚拟角色分别与所述第一虚拟角色之间的角色相似度;
    根据所述至少一个虚拟角色与所述第一虚拟角色之间的角色相似度,查找与所述第一虚拟角色关联的第二虚拟角色。
  10. 根据权利要求6-9任一所述的方法,其特征在于,还包括:
    当接收到角色唤醒指令时,获取角色指示信息,所述角色指示信息用于指示将唤醒的第三虚拟角色;
    在已有的至少一个虚拟角色中,确定与所述角色指示信息匹配的所述第三虚拟角色,其中,所述至少一个虚拟角色为按照至少一个预设维度划分得到的;
    加载所述第三虚拟角色的角色资源;
    基于所述第三虚拟角色,处理AI业务。
  11. 一种生成虚拟角色的装置,其特征在于,包括:
    获取模块,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
    生成模块,用于基于所述第一语音语义标注数据,生成所述第一语义数据对应的第二语音指令,得到第二语音语义标注数据;
    训练模块,用于基于所述第二语音语义标注数据,训练得到所述第一虚拟角色;
    其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的第二语义数据;所述第二语音语义标注数据包括第二语音指令和用于对所述第二语音指令进行标注的所述第一语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
  12. 一种生成虚拟角色的装置,其特征在于,包括:
    获取模块,用于获取待生成的第一虚拟角色的第一语义数据和第一语音语义标注数据;
    查找模块,用于基于所述第一语义数据,查找与所述第一虚拟角色关联的第二虚拟角色;
    训练模块,用于若查找到所述第二虚拟角色,则基于所述第一语音语义标注数据,对所述第二虚拟角色进行迁移学习训练,得到所述第一虚拟角色;
    其中,所述第一语音语义标注数据包括第一语音指令和用于对所述第一语音指令进行标注的 第二语义数据;所述第一语义数据包括第一垂域信息、第一意图信息和第一词槽信息;所述第二语义数据包括第二垂域信息、第二意图信息和第二词槽信息。
  13. 一种终端,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-5任一项所述的方法或如权利要求6-10任一项所述的方法。
  14. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的方法或如权利要求6-10任一项所述的方法。
PCT/CN2021/082911 2020-05-28 2021-03-25 生成虚拟角色的方法及装置 WO2021238371A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010466955.1A CN113742460B (zh) 2020-05-28 2020-05-28 生成虚拟角色的方法及装置
CN202010466955.1 2020-05-28

Publications (1)

Publication Number Publication Date
WO2021238371A1 true WO2021238371A1 (zh) 2021-12-02

Family

ID=78724145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/082911 WO2021238371A1 (zh) 2020-05-28 2021-03-25 生成虚拟角色的方法及装置

Country Status (2)

Country Link
CN (1) CN113742460B (zh)
WO (1) WO2021238371A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114925181A (zh) * 2022-04-28 2022-08-19 支付宝(杭州)信息技术有限公司 数据处理方法及装置、计算机存储介质及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180300310A1 (en) * 2017-04-06 2018-10-18 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
CN109559748A (zh) * 2018-12-21 2019-04-02 出门问问信息科技有限公司 一种语义识别方法、装置、智能设备及存储介质
CN109753565A (zh) * 2018-12-27 2019-05-14 厦门智融合科技有限公司 知识产权智能服务方法及系统
CN110992947A (zh) * 2019-11-12 2020-04-10 北京字节跳动网络技术有限公司 一种基于语音的交互方法、装置、介质和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519816A (zh) * 2018-03-26 2018-09-11 广东欧珀移动通信有限公司 信息处理方法、装置、存储介质及电子设备
CN110310636A (zh) * 2019-06-24 2019-10-08 歌尔股份有限公司 交互控制方法、装置、设备及音频设备
CN110688008A (zh) * 2019-09-27 2020-01-14 贵州小爱机器人科技有限公司 虚拟形象交互方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180300310A1 (en) * 2017-04-06 2018-10-18 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
CN109559748A (zh) * 2018-12-21 2019-04-02 出门问问信息科技有限公司 一种语义识别方法、装置、智能设备及存储介质
CN109753565A (zh) * 2018-12-27 2019-05-14 厦门智融合科技有限公司 知识产权智能服务方法及系统
CN110992947A (zh) * 2019-11-12 2020-04-10 北京字节跳动网络技术有限公司 一种基于语音的交互方法、装置、介质和电子设备

Also Published As

Publication number Publication date
CN113742460B (zh) 2024-03-29
CN113742460A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
WO2021063343A1 (zh) 语音交互方法及装置
RU2766255C1 (ru) Способ голосового управления и электронное устройство
WO2021052263A1 (zh) 语音助手显示方法及装置
WO2020221072A1 (zh) 一种语义解析方法及服务器
WO2020211701A1 (zh) 模型训练方法、情绪识别方法及相关装置和设备
CN112567457B (zh) 语音检测方法、预测模型的训练方法、装置、设备及介质
WO2020238356A1 (zh) 界面显示方法、装置、终端及存储介质
WO2021244457A1 (zh) 一种视频生成方法及相关装置
US20220214894A1 (en) Command execution method, apparatus, and device
WO2021258797A1 (zh) 图像信息输入方法、电子设备及计算机可读存储介质
WO2022052776A1 (zh) 一种人机交互的方法、电子设备及系统
JP7252327B2 (ja) 人間とコンピュータとの相互作用方法および電子デバイス
WO2021254411A1 (zh) 意图识别方法和电子设备
WO2022100221A1 (zh) 检索处理方法、装置及存储介质
CN111970401B (zh) 一种通话内容处理方法、电子设备和存储介质
WO2020029094A1 (zh) 一种语音控制命令生成方法及终端
WO2020239001A1 (zh) 一种哼唱识别方法及相关设备
CN111835904A (zh) 一种基于情景感知和用户画像开启应用的方法及电子设备
WO2022127130A1 (zh) 一种添加操作序列的方法、电子设备和系统
WO2021031862A1 (zh) 一种数据处理方法及其装置
WO2021238371A1 (zh) 生成虚拟角色的方法及装置
WO2022033432A1 (zh) 内容推荐方法、电子设备和服务器
CN114822543A (zh) 唇语识别方法、样本标注方法、模型训练方法及装置、设备、存储介质
WO2023016347A1 (zh) 声纹认证应答方法、系统及电子设备
WO2023197951A1 (zh) 搜索方法和电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21812848

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21812848

Country of ref document: EP

Kind code of ref document: A1