CN109716326A - 在自动聊天中提供个性化歌曲 - Google Patents

在自动聊天中提供个性化歌曲 Download PDF

Info

Publication number
CN109716326A
CN109716326A CN201780057465.2A CN201780057465A CN109716326A CN 109716326 A CN109716326 A CN 109716326A CN 201780057465 A CN201780057465 A CN 201780057465A CN 109716326 A CN109716326 A CN 109716326A
Authority
CN
China
Prior art keywords
song
personalized
lyrics
user
word
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201780057465.2A
Other languages
English (en)
Inventor
吴先超
伊藤和重
坪井一菜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109716326A publication Critical patent/CN109716326A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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/042Knowledge-based neural networks; Logical representations of neural networks
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/131Morphing, i.e. transformation of a musical piece into a new different one, e.g. remix
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/011Lyrics displays, e.g. for karaoke applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/075Musical metadata derived from musical analysis or for use in electrophonic musical instruments
    • G10H2240/085Mood, i.e. generation, detection or selection of a particular emotional content or atmosphere in a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/131Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
    • G10H2240/141Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Abstract

本公开提供了用于在自动聊天中提供个性化歌曲的方法和装置。可以在聊天流中接收消息。可以响应于所述消息,至少基于用户的个人语言模型来生成所述用户的个性化歌词。可以基于所述个性化歌词来生成个性化歌曲。可以在所述聊天流中提供所述个性化歌曲。

Description

在自动聊天中提供个性化歌曲
背景技术
人工智能(AI)聊天机器人变得越来越流行,并且正在越来越多的场景中得到应用。聊天机器人被设计用于模拟人类对话,并且可以通过文本、语音、图像等与用户聊天。通常,聊天机器人可以扫描由用户输入的消息内的关键词或对消息应用自然语言处理,并向用户提供具有最匹配的关键词或最相似的措辞模式的响应。
发明内容
提供本发明内容以便介绍一组概念,这组概念将在以下的具体实施方式中做进一步描述。本发明内容并非旨在标识所保护主题的关键特征或必要特征,也不旨在用于限制所保护主题的范围。
本公开的实施例提出了用于在自动聊天中提供个性化歌曲的方法和装置。可以在聊天流中接收消息。响应于该消息,可以至少基于用户的个人语言模型来生成用户的个性化歌词。可以基于个性化歌词来生成个性化歌曲。可以在聊天流中提供个性化歌曲。
应当注意,以上一个或多个方面包括以下详细描述以及权利要求中具体指出的特征。下面的说明书及附图详细提出了所述一个或多个方面的某些说明性特征。这些特征仅仅指示可以实施各个方面的原理的多种方式,并且本公开旨在包括所有这些方面和其等同变换。
附图说明
以下将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面。
图1示出了根据实施例的聊天机器人的示例性应用场景。
图2示出了根据实施例的示例性聊天机器人系统。
图3示出了根据实施例的示例性用户界面。
图4示出了根据实施例的示例性聊天窗口。
图5示出了根据实施例的用于提供个性化歌曲的示例性过程。
图6示出了根据实施例的示例性话题-情感图谱。
图7示出了根据实施例的用于建立话题-情感图谱的示例性过程。
图8示出了根据实施例的示例性依存句法分析。
图9示出了根据实施例的用于建立话题-情感图谱的示例性过程。
图10示出了根据实施例的用于建立公众歌曲语言模型的示例性过程。
图11示出了根据实施例的示例性递归神经网络(RNN)。
图12示出了根据实施例的用于建立个人语言模型的示例性过程。
图13A和图13B示出了根据实施例的具有关注机制的示例性神经机器翻译架构。
图14示出了根据实施例的示例性聊天窗口。
图15示出了根据实施例的用于提供个性化歌曲的示例性过程。
图16示出了根据实施例的用于生成个性化歌词的示例性过程。
图17示出了根据实施例的基于语音的语言模型的示例性结构。
图18示出了根据实施例的用于提供演唱评估的示例性过程。
图19示出了根据实施例的用于提取目标歌曲的示例性过程。
图20示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性方法的流程图。
图21示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性装置。
图22示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性装置。
具体实施方式
现在将参考多种示例性实施方式来讨论本公开。应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制。
聊天机器人可以应用于各种场景。本公开的实施例提出使用聊天机器向用户提供歌曲相关的服务。
根据一个实施例,聊天机器人可以响应于用户所指示的公众歌曲来生成用户的个性化歌曲。在一种实施方式中,可以通过将公众歌曲的歌词中的语句映射到用户的个性化语句来生成用户的个性化歌曲的个性化歌词。在生成个性化歌词期间,可以使用用户的个人语言模型、公众歌曲语言模型和话题-情感图谱中的至少一个。在本文中,“个人语言模型”可以指表征了用户的语言风格或习惯、并且基于在与聊天机器人的会话中的用户的历史词语或语句来建立的语言模型,其中,“会话”可以指两个聊天参与者之间的时间连续的对话,并且可以包括对话中的消息和响应。“公众歌曲语言模型”可以指表征了公众歌曲的歌词的语言表达、并且基于一个或多个公众歌曲的歌词来建立的语言模型。此外,“话题-情感图谱”可以指表示了多个词语之间的话题-话题映射关系、话题-情感映射关系以及情感-话题映射关系、并且用多个话题词语和多个情感词语来建立的知识图谱,其中,话题词语可以指指示了各种话题的词语,情感词语可以指指示了各种情感的词语。“话题-情感图谱”也可以被称为“面向情感的话题图谱”。应当理解,在本公开中,术语“词语”可以与术语“短语”互换,例如,“词语”可以是单个词语或几个词语的组合,并且“短语”可以包括单个词语或几个词语的组合。在一种实施方式中,可以生成对应于个性化歌词的用户的语音或原唱歌手的语音,并且可以将公众歌曲的曲调(tune)应用于所述用户的语音或所述原唱歌手的语音以生成个性化歌曲。
根据一个实施例,聊天机器人可以响应于用户输入的或由聊天机器人自动提取的至少一个关键词来生成用户的个性化歌曲。在一种实施方式中,可以通过将至少一个关键词映射到用户的个性化语句来生成用户的个性化歌曲的个性化歌词。在生成个性化歌词期间,可以使用用户的个人语言模型、公众歌曲语言模型和话题-情感图谱中的至少一个。在一种实施方式中,可以基于个性化歌词来生成个性化歌曲的曲调。在一种实施方式中,可以生成对应于个性化歌词的用户语音,并且可以将个性化歌曲的曲调应用于所述用户的语音以生成个性化歌曲。
根据一个实施例,聊天机器人可以评估用户对目标歌曲的演唱。在一种实施方式中,可以基于用户演唱时的声谱图与原唱歌手演唱时的声谱图之间的比较来执行评估。
根据一个实施例,聊天机器人可以响应于来自用户的文本或语音的查询来提取目标歌曲。在一种实施方式中,可以将相似度匹配模型用于基于查询来提取目标歌曲。
图1示出了根据实施例的聊天机器人的示例性应用场景100。
在图1中,网络110被应用于在终端设备120、聊天机器人服务器130和公众歌曲源140之间进行互连。
网络110可以是能够对网络实体进行互连的任何类型的网络。网络110可以是单个网络或各种网络的组合。在覆盖范围方面,网络110可以是局域网(LAN)、广域网(WAN)等。在承载介质方面,网络110可以是有线网络、无线网络等。在数据交换技术方面,网络110可以是电路交换网络、分组交换网络等。
终端设备120可以是能够连接到网络110、访问网络110上的服务器或网站、处理数据或信号等的任何类型的电子计算设备。例如,终端设备120可以是台式计算机、笔记本电脑、平板电脑、智能电话等。尽管在图1中仅示出了一个终端设备,但是应当理解,可以有不同数量的终端设备连接到网络110。
在一种实施方式中,终端设备120可以由用户使用。终端设备120可以包括可为用户提供自动聊天服务的聊天机器人客户端122。在一些情况下,聊天机器人客户端122可以与聊天机器人服务器130进行交互。例如,聊天机器人客户端122可以将用户输入的消息传送到聊天机器人服务器130,并且从聊天机器人服务器130接收与所述消息相关联的响应。然而,应当理解,在其它情况下,聊天机器人客户端122也可以本地地生成对用户输入的消息的响应,而不是与聊天机器人服务器130进行交互。在本文中,“消息”可以指任何输入信息,例如来自用户的查询、用户对聊天机器人的问题的答案等。
聊天机器人服务器130可以连接到或包含聊天机器人数据库132。聊天机器人数据库132可以包括可由聊天机器人服务器130用于生成响应的信息。
公众歌曲源140可以指提供公众歌曲的音频文件、公众歌曲的歌词等的各种音乐或歌曲网站。
应当理解,图1中所示的所有网络实体都是示例性的,根据具体的应用需求,应用场景100中可以涉及任何其它网络实体。
图2示出了根据实施例的示例性聊天机器人系统200。
聊天机器人系统200可以包括用于呈现聊天窗口的用户界面(UI)210。聊天窗口可以由聊天机器人用于与用户进行交互。
聊天机器人系统200可以包括核心处理模块220。核心处理模块220被配置用于通过与聊天机器人系统200的其它模块的协作,在聊天机器人的运行期间提供处理能力。
核心处理模块220可以获得由用户在聊天窗口中输入的消息,并将消息存储在消息队列232中。消息可以采用各种多媒体形式,例如文本、语音、图像、视频等。
核心处理模块220可以用先进先出的方式处理消息队列232中的消息。核心处理模块220可以调用应用程序接口(API)模块240中的处理单元来处理各种形式的消息。API模块240可以包括文本处理单元242、语音处理单元244、图像处理单元246等。
对于文本消息,文本处理单元242可以对文本消息执行文本理解,并且核心处理模块220可以进一步确定文本响应。
对于语音消息,语音处理单元244可以对语音消息执行语音到文本转换以获得文本语句,文本处理单元242可以对所获得的文本语句执行文本理解,并且核心处理模块220可以进一步确定文本响应。如果确定以语音提供响应,则语音处理单元244可以对文本响应执行文本到语音转换以生成相应的语音响应。
对于图像消息,图像处理单元246可以对图像消息执行图像识别以生成相应的文本,并且核心处理模块220可以进一步确定文本响应。在一些情况下,图像处理单元246也可以用于基于文本响应来获得图像响应。
此外,尽管在图2中未示出,API模块240还可以包括任何其它处理单元。例如,API模块240可以包括视频处理单元,该视频处理单元用于与核心处理模块220协作以处理视频消息并确定响应。
核心处理模块220可以通过索引数据库250来确定响应。索引数据库250可以包括可由核心处理模块220提取作为响应的多个索引项。索引数据库250中的索引项可以被分类为纯聊天索引集252。纯聊天索引集252可以包括被准备用于聊天机器人与用户之间的自由聊天的索引项,并且可以用来自例如社交网络的数据来建立。纯聊天索引集252中的索引项可以采用或不采用问题-答案(QA)对的形式。问题-答案对也可以被称为消息-响应对。
聊天机器人系统200可以包括交互式歌曲处理模块260,并且核心处理模块220可以基于来自交互式歌曲处理模块260的输出来生成响应。可以使用交互式歌曲处理模块260来有助于提供歌曲相关的服务。交互式歌曲处理模块260可以包括歌曲生成模块262、演唱评估模块264以及歌曲提取模块266。根据本公开的实施例,歌曲生成模块262可以被配置用于基于公众歌曲或至少一个关键词来生成个性化歌曲。根据本公开的实施例,演唱评估模块264可以被配置用于评估用户对目标歌曲的演唱。根据本公开的实施例,歌曲提取模块266可以被配置用于响应于来自用户的查询来提取目标歌曲。
交互式歌曲处理模块260可以连接到保存了个性化歌曲的用户歌曲数据库270。用户歌曲数据库270可以被实现为保存了为特定用户生成的所有个性化歌曲的用户特有歌曲数据库,和/或被实现为保存了为聊天机器人的所有用户生成的所有个性化歌曲的全部用户歌曲数据库。交互式歌曲处理模块260可以将生成的个性化歌曲存储在用户歌曲数据库270中,并且可以从用户歌曲数据库270中提取个性化歌曲。
可以将由核心处理模块220确定的响应提供给响应队列或响应高速缓存234。例如,响应高速缓存234可以确保能够以预定义的时间流来显示响应序列。假设对于一个消息,由核心处理模块220确定了不少于两个响应,则对响应的时间延迟设置可能是必要的。例如,如果用户输入的消息是“你吃早餐了吗?”,则可能确定出两个响应,例如,第一响应“是的,我吃了面包”和第二响应“你呢?还觉得饿吗?”。在这种情况下,通过响应高速缓存234,聊天机器人可以确保立即向用户提供第一响应。此外,聊天机器人可以确保以例如1或2秒的时间延迟来提供第二响应,使得第二响应将在第一响应之后的1或2秒被提供给用户。由此,响应高速缓存234可以管理将要发送的响应以及针对每个响应的适当定时。
可以将响应队列或响应高速缓存234中的响应进一步传送到UI 210,以便可以在聊天窗口中将响应显示给用户。
应当理解,图2中的聊天机器人系统200中所示的所有单元都是示例性的,并且根据具体的应用需求,在聊天机器人系统200中可以省略任何所示的单元并且可以涉及任何其它单元。
图3示出了根据实施例的示例性用户界面300。
用户界面300被包括在终端设备中,并且可以包括呈现区域310、控制区域320和输入区域330。呈现区域310在聊天流中显示消息和响应。控制区域320包括多个虚拟按钮以用于用户执行消息输入设置。例如,用户可以通过控制区域320来选择进行语音输入、附加图像文件、选择表情符号、进行当前屏幕的截图等。输入区域330由用户用于输入消息。例如,用户可以通过输入区域330来键入文本。用户界面300还可以包括虚拟按钮340以用于确认发送所输入的消息。如果用户触摸虚拟按钮340,则可以将在输入区域330中输入的消息发送到呈现区域310。
应当注意,图3中所示的所有单元及其布局都是示例性的。根据具体的应用需求,图3中的用户界面可以省略或添加任何单元,并且图3中的用户界面中的单元的布局也可以以各种方式改变。
图4示出了根据实施例的示例性聊天窗口400。聊天窗口400示出了聊天机器人可以基于公众歌曲来提供个性化歌曲的示例性聊天流。
当用户输入消息“我想用我自己的词语来重写歌曲”以表示用户想要基于公众歌曲来获得个性化歌曲时,聊天机器人可以通过询问“你能告诉我歌曲的名字吗?”来做出响应。然后,用户可以输入公众歌曲的名字,例如“两只老虎”。聊天机器人可以告知用户将会收集用户的历史语句以生成个性化歌曲。在生成个性化歌曲之后,聊天机器人可以将公众歌曲的歌词和用户的个性化歌曲的个性化歌词一起呈现。同时,在聊天窗口中呈现扬声器图标,用户可以点击扬声器图标以播放该个性化歌曲。
应当理解,聊天窗口400是示例性的,并且本公开的实施例不限于通过图4中示出的聊天流来提供个性化歌曲。
图5示出了根据实施例的用于提供个性化歌曲的示例性过程500。过程500可以基于公众歌曲来生成个性化歌曲。
在510处,可以确定公众歌曲,其中,将针对该公众歌曲来生成个性化歌曲。例如,聊天机器人可以从用户输入的消息中确定公众歌曲。在一种实施方式中,用户可以直接输入公众歌曲的名字。在一种实施方式中,用户可以输入公众歌曲的描述信息,例如,公众歌曲的类型、公众歌曲的主题、公众歌曲的一段歌词等等,并且聊天机器人可以基于描述信息来确定公众歌曲。
在520处,可以使用变换模型来处理公众歌曲。在本文中,“变换模型”是有助于生成个性化歌曲的一个或多个功能的逻辑集合。
变换模型可以包括个性化歌词生成模型522。个性化歌词生成模型522可以被配置用于根据公众歌曲的歌词来生成用户的个性化歌词。例如,可以将公众歌曲的歌词中的语句映射到用户的个性化语句,以生成个性化歌词。在一种实施方式中,个性化歌词生成模型522可以采用具有关注(attention)机制的神经机器翻译架构。在生成个性化歌词期间,可以使用用户的个人语言模型、公众歌曲语言模型和话题-情感图谱中的至少一个,这将在后面讨论。
变换模型可以包括语音生成模型524。在一种实施方式中,语音生成模型524可以生成对应于个性化歌词的用户自己的语音。例如,语音生成模型524可以采用文本到语音(TTS)模型。TTS模型可以被建立用于捕获在用户的个性化文本中的情感词语或重要词语与用户的相应语音之间的映射。可以在用户的个性化文本中检测多个情感词语或重要词语,然后可以要求用户朗读所述文本。可以将文本以及朗读文本时的用户语音作为TTS模型的训练数据。在应用TTS模型期间,可以输入用户的个性化歌词,并且可以输出对应于个性化歌词的用户语音。在另一种实施方式中,语音生成模型524可以生成对应于个性化歌词的公众歌曲的原唱歌手的语音。也可以基于该歌手的一首或多首歌曲的歌词和该歌手的相应语音来训练TTS模型。因此,所训练的TTS模型可以基于个性化歌词来输出该歌手的语音。
在530处,可以提取公众歌曲的曲调。在本文中,“曲调”也可以被称为“旋律(melody)”、“乐谱(music score)”、“韵律(rhyme)”等。
在540处,可以通过将公众歌曲的曲调应用于由语音生成模型524输出的用户的语音或原唱歌手的语音来形成个性化歌曲。该个性化歌曲可以遵循公众歌曲的曲调,但是基于个性化的歌词。此外,该个性化歌曲可以听起来像用户或原唱歌手正在演唱。
该个性化歌曲可以由用户保存以供用户自己欣赏,或者由用户通过社交网络分享给朋友。此外,该个性化歌曲可以被存储在保存了为特定用户生成的所有个性化歌曲的用户特有歌曲数据库中,和/或存储在保存了为聊天机器人的所有用户生成的所有个性化歌曲的全部用户歌曲数据库中。
图6示出了根据实施例的示例性话题-情感图谱600。如上所述,话题-情感图谱可以包括彼此之间具有话题-话题映射关系、话题-情感映射关系以及情感-话题映射关系的多个词语。话题-情感图谱可以旨在从一个话题或情感扩展到相关话题和情感、从相关话题扩展到进一步的话题和情感、从相关情感扩展到进一步的话题和情感等等。
话题-情感图谱600是通过从话题词语“爱”的扩展而建立的。例如,对于话题“爱”,可以存在各种相关的情感,如“孤独”、“开心”、“疯狂”等,可以存在各种相关的话题,如“女孩”、“亲吻”等。以情感词语“孤独”为例,可以存在各种相关的话题,如“电影”、“派对”等。例如,如果一个人不认识“派对”中的任何人或者在“派对”中很少有人和他说话,那么这个人可能会感到“孤独”,因此“孤独”与“派对”之间存在映射关系。此外,以话题词语“女孩”为例,可以存在各种相关的情感或话题,如“漂亮”、“鲜花”等。
图7示出了根据实施例的用于建立话题-情感图谱的示例性过程700。过程700可以用于确定在话题-情感图谱中具有话题到情感映射或情感到话题映射的词语对。通过数据挖掘,可以从各种来源建立话题到情感映射和情感到话题映射。通常,具有话题到情感映射或情感到话题映射的词语对可以包括名词和形容词或副词。
在一种实施方式中,可以在歌曲、音乐或新闻源710上执行数据挖掘。歌曲、音乐或新闻源710可以包括提供关于歌曲、音乐或新闻的内容的网站或频道。
在712处,可以从由歌曲、音乐或新闻来源710提供的内容中的语句里提取名词、形容词和副词。
在714处,可以基于依存句法分析来对由名词和形容词/副词形成的词语对,例如,<名词、形容词/副词>对,进行评分。图8示出了根据实施例的对示例性语句的示例性依存句法分析800。假设将语句“汤姆预订了一张票去巴黎”输入依存句法分析。词语“预订”被确定为语句的谓词。确定出从“预订”到“汤姆”的依存弧,并将“汤姆”和“预定”之间的依存角色确定为“nsubj”,其中,“nsubj”表示名词性主语。确定出从“预订”到“票”的依存弧,并将“票”和“预订”之间的依存角色确定为“dobj”,其中,“dobj”表示直接主语。确定出从“票”到“一张”的依存弧,并将“一张”和“票”之间的依存角色确定为“det”,其中,“det”表示限定词。确定出从“票”到“去”的依存弧,并将“去”和“票”之间的依存角色确定为“prep”,其中,“prep”表示介词。确定出从“去”到“巴黎”的依存弧,并将“巴黎”和“去”之间的依存角色确定为“pobj”,其中,“pobj”表示介词的宾语。应当理解,图8所示的依存弧和依存角色是示例性的,对于其它语句,可以通过依存句法分析来确定出各种依存弧和依存角色。
通过依存句法分析,可以获得语句的词语之间的依存弧和依存角色。如果在一个词语对中的两个词语之间存在依存弧,则可以将该词语对评分为“a1”,而如果一个词语对中的两个词语仅出现在同一语句中,但这两个词语之间没有依存弧,则可以将该词语对评分为“b1”。
在一种实施方式中,可以对网络上的知识网站720,例如维基百科,执行数据挖掘。通常,知识网站720可以以标题和内容的形式来呈现信息。知识网站720中的示例性页面可以是:“标题=日本食品”,“内容=纳豆具有强烈的气味”。
在722处,可以从知识网站720中的页面里提取名词、形容词和副词。例如,对于上述示例性页面,可以提取名词“日本食物”、“纳豆”、“气味”,以及形容词“强烈的”。
在724处,可以对由名词和形容词/副词形成的词语对进行评分。在一种实施方式中,可以将由标题中的名词与内容中的形容词/副词所形成的所有词语对评分为“c1”。例如,可以将词语对<日本食品,强烈的>评分为“C1”。此外,也可以将714处的“a1”和“b1”的评分机制应用于724处。例如,可以将词语对<气味,强烈的>评分为“a1”,可以将词语对<纳豆,强烈的>评分为“b1”等。
在一种实施方式中,可以对问题-答案(QA)对730执行数据挖掘,所述QA对730可以来自QA风格网站、或者来自由聊天机器人用于自由聊天的纯聊天索引集合。
在732处,对于每个QA对,可以为由QA对的问题中的名词与QA对的答案中的形容词/副词所形成的、或由QA对的问题中的形容词/副词与QA对的答案中的名词所形成的词语对计算词语对准分值“d1”。计算词语对准分值的主要思想是确定两个词语在整个语料库中的语句对中的同时出现频率。此外,如果已经知道两个词语应该在一个语句对中彼此对准,则这两个词语中的任何一个都不应该与该语句对中的任何其它词语对准,从而强化了相关词语的分值并且减弱了非相关词语的分值。在一种实施方式中,在732处可以采用IBM模型1-5来计算词语对准分值。
应当理解,虽然在以上讨论中是对QA对执行732处的词语对准评分,但是也可以用类似的方式来对文档中的语句对,例如<当前语句,下一语句>,执行该词语对准评分。
在740处,可以基于在714、724和732处的评分来为每个<名词,形容词/副词>对获得相关性分值。例如,对于一个词语对,可以将在714、724和732处获得的相应分值的和或者加权和用作该词语对的相关性分值。
在750处,可以基于在740处获得的相关性分值来建立话题-情感图谱中的话题到情感映射或情感到话题映射。例如,对于一个名词,可以将具有与该名词的排序最高的相关性分值的一个或多个形容词/副词添加到话题-情感图谱中,由此可以在话题-情感图谱中包括从该名词到这些形容词/副词的话题到情感映射。此外,例如,对于一个形容词/副词,可以将具有与该形容词/副词的排序最高的相关性分值的一个或多个名词添加到话题-情感图谱中,由此可以在话题-情感图谱中包括从该形容词/副词到这些名词的情感到话题映射。以此方式,话题-情感图谱中可以包括一个或多个进一步的话题到情感映射级以及情感到话题映射级。
图9示出了根据实施例的用于建立话题-情感图谱的示例性过程900。过程900可以用于确定在话题-情感图谱中具有话题到话题映射的词语对。通过数据挖掘,可以从各种来源建立话题到话题映射。通常,具有话题到话题映射的词语对可以包括两个名词。
在一种实施方式中,可以在歌曲、音乐或新闻源910上执行数据挖掘。
在912处,可以从歌曲、音乐或新闻来源710中的语句里提取名词。
在914处,可以基于依存句法分析来对由名词形成的词语对,例如,<名词、名词>对,进行评分。如果在一个词语对中的两个词语之间存在依存弧,则可以将该词语对评分为“a2”,而如果一个词语对中的两个词语仅出现在同一语句中,但这两个词语之间没有依存弧,则可以将该词语对评分为“b2”。
在一种实施方式中,可以对网络上的知识网站920,例如维基百科,执行数据挖掘。知识网站920中的示例性页面可以是:“标题=日本食品”,“内容=纳豆具有强烈的气味”。
在922处,可以从知识网站920中的页面里提取名词。例如,对于上述示例性页面,可以提取名词“日本食物”、“纳豆”和“气味”。
在924处,可以对由名词所形成的词语对进行评分。在一种实施方式中,可以将由标题中的名词和内容中的名词所形成的所有词语对评分为“c2”。例如,可以将词语对<日本食品,纳豆>评分为“c2”。此外,也可以将914处的“a2”和“b2”的评分机制应用于924处。例如,可以将词语对<纳豆,气味>评分为“a2”等。
在一种实施方式中,可以对QA对930执行数据挖掘,所述QA对930可以来自QA风格的网站、或者来自由聊天机器人用于自由聊天的纯聊天索引集合。
在932处,对于每个QA对,可以为由QA对的问题中的名词与QA对的答案中的名词所形成的词语对计算词语对准分值“d2”。在一种实施方式中,在932处可以采用IBM模型1-5来计算词语对准分值。
应当理解,虽然在以上讨论中是对QA对执行932处的词语对准评分,但是也可以用类似的方式来对文档中的语句对,例如<当前语句,下一语句>,执行该词语对准评分。
此外,应当理解,尽管分别讨论了图7中的732处的词语对准评分和图9中的932处的词语对准评分,但是这两个词语对准评分操作也可以联合执行。例如,可以首先对任何词语对执行词语对准评分,而不考虑这些词语的词性,随后可以分别将由名词与形容词/副词所形成的词语对的词语对准分值提供给图7中的过程700,并且将由名词所形成的词语对的词语对准分值提供给图9中的过程900。
在940处,可以基于在914、924和932处的评分来为每个<名词,名词>对获得相关性分值。例如,对于一个词语对,可以将在914、924和932处获得的相应分值的和或者加权和用作该词语对的相关性分值。
在950处,可以基于在940处获得的相关性分值来建立话题-情感图谱中的话题到话题映射。例如,对于一个名词,可以将具有与该名词的排序最高的相关性分值的一个或多个名词添加到话题-情感图谱中,由此可以在话题-情感图谱中包括从该名词到所述一个或多个名词的话题到话题映射。以此方式,话题-情感图谱中可以包括一个或多个进一步的话题到话题映射级。
如上所述,图7中的过程700可以用于确定话题到情感映射和情感到话题映射,图9中的过程900可以用于确定话题到话题映射,因此这两个过程可以结合在一起来建立话题-情感图谱。
图10示出了根据实施例的用于建立公众歌曲语言模型的示例性过程1000。
在1002处,可以从用户的会话日志中确定一个或多个种子词语。在本文中,“种子词语”可以指用户在与聊天机器人的会话中最频繁使用或最近讨论的代表性或重要的词语,“会话日志”可以指用户与聊天机器之间的会话的记录。可以通过各种词语权重算法,例如词频-逆文档频率(TF-IDF)等,从会话日志中确定种子词语。
在1004处,可以通过与种子词语进行匹配而从公众歌曲源1006收集语句。例如,所收集的语句可以来自公众歌曲源1006中的公众歌曲的歌词。所收集的语句可以包括种子词语中的至少一个。所收集的语句可以作为训练数据并形成训练集。
在1008处,可以基于训练集中所收集的语句来训练公众歌曲语言模型。在一种实施方式中,公众歌曲语言模型可以是递归神经网络语言模型(RNNLM)。图11示出了根据实施例的示例性递归神经网络(RNN)1100。RNN 1100是用于示出基本原理的简化的网络结构,并且可以通过RNN1100的迭代来形成实际的递归神经网络。如图11所示,RNN 1100包括输入层x、隐藏层s和输出层y,其中,隐藏层也被称为上下文层或状态层。在时间t处,对RNN 1100的输入是x(t),RNN 1100的输出被表示为y(t),s(t)是RNN 1100的隐藏状态。通过将表示当前词语的向量w(t)与上下文层s中的神经元在时间t-1处的输出s(t-1)进行级联,来形成输入向量x(t)。输入层、隐藏层和输出层处的计算如下:
x(t)=w(t)+s(t-1) 方程(1)
sj(t)=f(∑ixi(t)uji) 方程(2)
yk(t)=g(∑jsj(t)vkj) 方程(3)
其中,f(z)是S形(sigmoid)激活函数:
g(z)是softmax函数:
通过1008处的训练操作,可以建立公众歌曲语言模型以表征公众歌曲的歌词的语言表达。
在一种实施方式中,过程1000还可以包括公众歌曲语言模型的更新过程。例如,在1010处,可以通过用扩展词语替换包括在所收集的语句中的种子词语来重写训练集中所收集的语句,其中,扩展词语可以指与种子词语在语义上相关的那些词语。可以将word2vec处理和/或话题-情感图谱用于确定扩展词语。在1012处,可以执行word2vec处理,以在向量空间中查找种子词语的扩展词语。在1014处,可以将话题-情感图谱用于:通过识别与种子词语具有话题到话题映射关系、话题到情感映射关系或情感到话题映射关系的那些词语,来查找种子词语的扩展词语。利用扩展词语,可以重写所收集的语句。例如,对于包括种子词语“漂亮”的所收集语句“她是一个漂亮的女孩”,如果为种子词语“漂亮”确定了扩展词语“美丽”,则所收集的语句可以被重写为“她是一个美丽的女孩”。
可以将在1010处获得的重写的语句用作新的训练数据以扩展训练集。因此,过程1000可以基于重写的语句来进一步更新公众歌曲语言模型。例如,可以基于重写的语句来重新训练公众歌曲语言模型。应当理解,在另一种实现方式中,在将重写的语句用作新的训练数据之前,可以确定该重写的语句是否符合公众歌曲语言模型。例如,可以将重写的语句输入到公众歌曲语言模型,如果该重写的语句由公众歌曲语言模型评分为高于阈值,则该重写的语句可以被认为是符合公众歌曲语言模型的,并且因此可被用作新的训练数据。
图12示出了根据实施例的用于建立个人语言模型的示例性过程1200。
在1202处,可以确定一个或多个种子词语。1202处的操作与图10的1002处的操作类似。
在1204处,可以通过与种子词语进行匹配来从会话日志1206中收集语句。例如,所收集的语句可以来自在会话日志1206中由用户输入的历史语句,并且可以包括种子词语中的至少一个。所收集的语句可以作为训练数据并形成训练集。
在1208处,可以基于训练集中所收集的语句来训练用户的个人语言模型。在一种实施方式中,个人语言模型可以是RNNLM。通过在1208处的训练操作,可以建立个人语言模型以表征用户的语言风格或习惯。
在一种实施方式中,过程1200还可以包括个人语言模型的更新过程。例如,在1210处,可以通过利用扩展词语替换包括在所收集的语句中的种子词语来重写训练集中所收集的语句。以与图10中的1012和1014处的操作类似的方式,可以通过1212处的word2vec处理和/或通过1214处的话题-情感图谱来确定扩展词语。
可以将在1210处获得的重写的语句用作新的训练数据以扩展训练集。因此,过程1200可以基于重写的语句来进一步更新个人语言模型,例如,重新训练个人语言模型。应当理解,在另一种实现方式中,在将重写的语句用作新的训练数据之前,可以确定该重写的语句是否符合个人语言模型。例如,可以将重写的语句输入到个人语言模型,如果该重写的语句由个人语言模型评分为高于阈值,则该重写的语句可以被认为是符合个人语言模型的,并且因此可被用作新的训练数据。
如以上结合图6至图12所讨论的,可以分别建立话题-情感图谱、公众歌曲语言模型以及用户的个人语言模型。在根据公众歌曲的歌词来生成个性化歌词期间,可以使用话题-情感图谱、公众歌曲语言模型以及个人语言模型中的至少一个。如上所述,可以采用具有关注机制的神经机器翻译架构来根据公众歌曲的歌词生成个性化歌词。
图13A和图13B示出了根据实施例的具有关注机制的示例性神经机器翻译架构。
图13A中示出了神经机器翻译架构1300,其具有编码器-解码器风格的结构,并且可以包括编码器层、内部语义层、隐藏递归层以及解码器层。
在编码器层处,可以将双向递归操作应用于输入序列,诸如一个或多个词语或纯文本,以获得源向量。双向递归操作中涉及两个方向,例如从左到右和从右到左。双向递归操作可以基于例如CNN-长短期记忆(LSTM)式递归神经网络。编码器层也可以被称为“嵌入”层。源向量可以由时间标注hj表示,其中,j=1、2、...,Tx,Tx是输入序列的长度,例如输入序列中的词语的数量。
在内部语义层,可以实施关注机制。可以基于一组时间标注hj来计算上下文向量ci,并且可以将其作为当前输入序列的时间密集表示。上下文向量ci可以被计算为时间标注hj的加权和,如下:
每个hj的权重αij也可以被称为“关注”权重,并且可以通过softmax函数来计算:
其中,eij=a(si-1,hj)是对准模型,其可以对位置j周围的输入与位置i处的输出相互匹配的程度进行评分。对准分数在前一隐藏状态si-1与输入序列的第j个时间标注hj之间。概率αij反映了在决定下一隐藏状态si并同时生成下一词语yi中,hj相对于前一隐藏状态si-1的重要性。内部语义层通过应用权重αij来实施关注机制。
在隐藏递归层,通过单向的,例如从左到右的,递归操作来确定输出序列的隐藏状态si。单向递归操作可以由诸如单向LSTM单元执行。
在解码器层,可以如下确定下一词语yi的词语预测:
p(yi|y1,…,yi-1,x)=g(yi-1,si,ci) 方程(8)其中,si来自隐藏递归层,ci来自内部语义层。此处,g(.)函数是非线性的、潜在的多层函数,其输出了输出序列中下一候选词语的概率。解码器层也可以被称为“输出”层。
神经机器翻译架构1300可以拾取“信息丰富的”词语并将这些词语变成“上下文丰富的”词语或语句。通过在内部语义层实施关注机制,可以捕获信息丰富的词语与相应的上下文词语之间的关系。此外,应当理解,如果仅考虑词语级别,则可能是没有意义的。因此,神经机器翻译架构1300可以对输入序列和/或输出序列应用递归操作,使得可以在确定输出序列期间,获得并应用输入序列中的每个词语和/或输出序列中的每个词语的上下文信息。
应当理解,图13A中的编码器层的结构是示例性的,编码器层也可以基于任何其它类型的结构。图13B示出了基于递归卷积神经网络(RCNN)1310的编码器层的替代结构。除了在词语级别上的处理之外,RCNN 1310还可以在字符级别上进行处理,其适合于一些字符式的亚洲语言,例如日文、中文等。RCNN 1310可以包括嵌入层、卷积层、递归层和全连接层。嵌入层可以为输入序列中的字符生成向量。卷积层可以对来自嵌入层的向量执行卷积运算。递归层可以对卷积层的输出执行递归操作。应当理解,尽管图13B示出了递归层中的单向递归操作,但也可以将双向递归操作应用于递归层中。最后,全连接层可以提供输入序列的编码结果。
在一些实施方式中,基于图13A和图13B所示的具有关注机制的神经机器翻译架构,可以根据公众歌曲的歌词来生成用户的个性化歌词。
对于一首所确定的公众歌曲,可以使用公众歌曲语言模型来获得该公众歌曲的歌词中的每个词语的词语嵌入向量。所获得的词语嵌入矢量可被提供为神经机器翻译架构的编码器层的输入。然后,通过神经机器翻译架构中的关注机制,可以使用话题-情感图谱来引入个性化歌词的新的候选词语,从而扩大后续解码处理中的搜索空间并提供附加的多样性。例如,可以计算公众歌曲的歌词中的词语与话题-情感图谱中的词语之间的相似度,并且可以选择话题-情感图谱中与公众歌曲的歌词中的词语相关性最高的那些词语来作为候选词语。然后,可以在神经机器翻译架构中的隐藏递归层处使用用户的个人语言模型,并且进一步将其施加到神经机器翻译架构中的解码器层处的输出。例如,个人语言模型可以有助于根据候选词语之间的转换概率来对候选词语进行评分,并且进一步选择将要输出的下一词语。由于个人语言模型可以表征用户的语言风格或习惯,因此可以将通过个人语言模型选择下一词语视为个性化选择,从而来自解码器层的输出也可以被个性化。通过上述过程,可以通过神经机器翻译架构最终生成个性化歌词,即,公众歌曲的歌词可以被转换为用户的个性化歌词。
应当理解,在某些情况下,公众歌曲的歌词中的一个语句可以被转换为用于个性化歌词的一个以上的候选语句,因此可以执行评估过程。在评估过程期间,可以通过个人语言模型来对候选语句进行评分,并且可以选择具有最高分数的候选语句以添加到个性化歌词中。
此外,应当理解,也可以将个性化歌词中的语句用作新的训练数据,以根据图12中的过程1200来重新训练个人语言模型,从而改善个人语言模型。
通过具有关注机制的神经机器翻译架构所生成的个性化歌词可以被提供给图5中的过程500,并进一步用于生成如上结合图5所讨论的个性化歌曲。
图14示出了根据实施例的示例性聊天窗口1400A和1400B。聊天窗口1400A和1400B示出了聊天机器人可以基于至少一个关键词来提供个性化歌曲的示例性聊天流。
如聊天窗口1400A中所示,当用户输入消息“用我自己的词语来生成新歌曲”以指示用户想要获得个性化歌曲时,聊天机器人可以通过询问“你能提供一些关键词吗?”来要求用户输入至少一个关键词。然后,用户可以明确地输入关键词“朱迪,学习”,以指示用户想要获得基于这两个关键词生成的个性化歌曲。在基于关键词生成个性化歌曲之后,聊天机器人可以呈现个性化歌曲的歌词。同时,在聊天窗口中呈现扬声器图标,用户可以点击扬声器图标以播放该个性化歌曲。
聊天窗口1400B示出了用户并未明确地提供关键词的另一种情况。如聊天窗口1400B中所示,当聊天机器人通过询问“你能提供一些关键词吗?”来要求用户输入至少一个关键词时,用户可以回答为“跳过此步骤”,以指示用户想要聊天机器人自动提取至少一个关键词。例如,聊天机器人可以自动确定关键词“朱迪”和“学习”,并告知用户“我将使用‘朱迪,学习’作为自动选择的关键词”。然后,在基于关键词生成个性化歌曲之后,聊天机器人可以呈现个性化歌曲的歌词以及用于播放个性化歌曲的扬声器图标。
应当理解,聊天窗口1400A和1400B是示例性的,并且本公开的实施例不限于通过图14所示的聊天流来提供个性化歌曲。
图15示出了根据实施例的用于提供个性化歌曲的示例性过程1500。过程1500可以基于至少一个关键词来生成个性化歌曲。
在1510处,可以确定至少一个关键词,其中,将针对所述至少一个关键词来生成个性化歌曲。在一种实施方式中,聊天机器人可以从用户输入的消息中接收所述至少一个关键词。在一种实施方式中,如果用户没有提供任何关键词,但是在消息中明确或隐含地指示聊天机器人应该自动提取关键词,则聊天机器人可以从用户的会话日志中自动确定所述至少一个关键词。例如,聊天机器人可以选择用户在与聊天机器人的会话中最频繁使用或最近讨论的一个或多个代表性或重要的词语来作为所述至少一个关键词。关键词的选择可以基于各种词语权重算法,例如TF-IDF等。
在1520处,可以使用转换模型来处理至少一个关键词。
如图15所示,转换模型可以包括个性化歌词生成模型1522。个性化歌词生成模型1522可以被配置用于根据关键词来生成用户的个性化歌词。例如,可以将关键词映射到用户的个性化语句,以生成个性化歌词。图16示出了根据实施例的用于基于关键词来生成个性化歌词的示例性过程1600。在1610处,可以准备训练数据,其采用<关键词,语句>的形式。至少有两种方式来获得训练数据。一种方式是从公众歌曲源中抓取语句并从这些语句中提取关键词,从而基于所提取的关键词和相应的语句来形成训练数据集合。另一种方式是利用图5的过程500中涉及的公众歌曲和个性化歌曲。例如,对于一对<公众歌曲,个性化歌曲>,其中根据该公众歌曲生成该个性化歌曲,可以从该公众歌曲或该个性化歌曲的歌词中的语句里提取一个或多个关键词,并且所提取的关键词和相应的语句可以形成训练数据集。通过两种方式获得的训练数据可以被组合在一起以训练对应于图5中的个性化歌词生成模型1522的个性化歌词生成模型1620。在一种实施方式中,个性化歌词生成模型1620可以基于如图13A和图13B所示的具有关注机制的神经机器翻译架构,除了此处的神经机器翻译架构是用于将至少一个关键词转换成个性化的歌词。在生成个性化歌词期间,可以将话题-情感图谱和用户的个人语言模型中的至少一个用于神经机器翻译架构中。例如,以与上述根据公众歌曲的歌词来生成个性化歌词的过程类似的方式,可以在关注机制中使用话题-情感图谱来引入用于个性化歌词的新的候选词语,并且可以在神经机器翻译架构中使用个人语言模型以便于选择个性化歌词的下一个词语。在训练了个性化歌词生成模型1620之后,其可以被进一步用于接收至少一个关键词1630,例如,在图15的1510处所确定的至少一个关键词,以作为输入,并且输出个性化歌词1640。
如图15所示,转换模型可以包括语音生成模型1524。语音生成模型1524可以生成对应于个性化歌词的用户自己的语音。在一种实施方式中,语音生成模型1524可以基于如图13A和图13B所示的具有关注机制的神经机器翻译架构,除了此处的神经机器翻译架构用于基于个性化歌词来生成用户的语音。可以将用户的基于语音的语言模型应用在神经机器翻译架构中。例如,基于语音的语言模型可以是RNNLM。图17示出了根据实施例的基于语音的语言模型1700的示例性结构。
基于语音的语言模型1700可以用于处理输入的当前语音序列,以预测比当前语音序列晚一个语音片段(slice)的下一个语音序列。可以根据用户与聊天机器人之间的历史语音聊天中的用户的语音来获得基于语音的语言模型1700的训练数据。可以将语音段x(i)输入到输入层中。语音段x(i)可以是长度为T(i)的时间序列,每个片段是一个音频特征向量,表示为xt (i),其中t=1、2、...T(i)。可以将声谱图用作输入特征。如图17所示,有5层隐藏单元,表示为层1到层5。对于输入序列x,层l中的隐藏单元被表示为h(l),一种特殊情况是h(0)可以代表输入序列。层1、层2和层3不是递归层。对于层1,在每个时间t处,输出取决于声谱图帧xt以及每一侧的S帧上下文。根据经验,S的值可以从使得评估集合的错误率最小化的{3、5、7、9}中选择。层2和层3在每个时间步长中对独立的数据进行操作。因此,对于每个时间t,前3层可以被计算为:
在方程(9)中,使用截取的修正线性(Rectified-Linear)激活函数g(z),并且W(l)和b(l)分别是层l的权重矩阵和偏置参数。函数g(z)可以被表示为g(z)=min{max{α,z},β},其中α和β是超参数,并且可以根据经验进行调整。层4是双向门控递归单元(GRU)递归层。该层包括两组隐藏单元,一组用于前向从左到右递归h(f),另一组用于后向从右到左递归h(b)。层5是非递归层,其将层4中的前向单元和后向单元的级联作为输入,并且可以计算为:
其中,ht (4)是ht (f)和ht (b)的级联。最后,可以基于层5的输出来在输出层处形成下一个语音序列。
在建立了基于语音的语言模型之后,可以将其应用于语音生成模型1524处的神经机器翻译架构中。可以从用户的历史语音聊天中提取与个性化歌词的每个词语对应的语音片段,然后可以将基于语音的语言模型用于将语音片段转换成相应的向量。可以将这些向量连同个性化歌词一起提供给神经机器翻译架构的编码器层以作为输入。此外,可以在神经机器翻译架构的隐藏递归层处使用基于语音的语言模型,以有助于选择下一个语音。最后,可以从神经机器翻译架构输出对应于个性化歌词的用户的语音。
应当理解,语音生成模型1524不限于如上所述的通过神经机器翻译架构来生成对应于个性化歌词的用户的语音。替代地,语音生成模型1524也可以以与图5中的语音生成模型524相同的方式来通过TTS模型生成用户的语音。类似地,图5中的语音生成模型524也可以以与上述针对语音生成模型1524所讨论的相同的方式来通过神经机器翻译架构生成用户的语音。
如图15所示,转换模型可以包括曲调生成模型1526。曲调生成模型1526可以用于生成个性化歌词的曲调。例如,可以通过曲调模型1526为个性化歌词中的每个词语生成音符(musical note)。所有生成的音符可以一起形成个性化歌曲的曲调。在一种实施方式中,曲调生成模型1526可以基于LSTM式或生成对抗网络(GAN)式的生成模型。可以根据现有歌曲的歌词和曲调来获得用于曲调生成模型1526的训练数据。例如,现有歌曲的歌词中的词语和现有歌曲的曲调中的相应音符可以形成训练数据。可以训练曲调生成模型1526以用于为一组词语生成一组音符。在建立了曲调生成模型1526之后,其可以被用于接收个性化歌曲的个性化歌词作为输入,并输出个性化歌曲的曲调。
在1530处,可以通过将由曲调生成模型1526生成的曲调应用于由语音生成模型1524输出的对应于个性化歌词的用户的语音来形成个性化歌曲。个性化歌曲可以基于个性化歌词以及所生成的曲调,并且可以听起来像用户在演唱。
个性化歌曲可由用户保存、存储在用户特有歌曲数据库中、和/或存储在全部用户歌曲数据库中。
图18示出了根据实施例的用于提供演唱评估的示例性过程1800。在本文中,“演唱评估”可以指评估用户对目标歌曲的演唱。
在1810处,可以识别用户正在演唱或曾唱过的目标歌曲。用户的演唱可能涉及目标歌曲的一部分或整个目标歌曲。
在1820处,可以基于目标歌曲的话题-情感图谱1822和歌词1824来针对目标歌曲识别代表性词语。在本文中,“代表性词语”可以指歌词1824中与其它词语相比在用户演唱的评估中可以具有更高权重的词语。例如,可以在话题-情感图谱1822和歌词1824之间执行匹配。可以将歌词1824中的、也被包括在话题-情感图谱1822中的那些词语识别为代表性词语。因此,所识别的代表性词语可以包括话题词语、情感词语等。
在1830处,可以确定用户对目标歌曲的演唱的声谱图与原唱歌手对目标歌曲的演唱的声谱图之间的差异。根据过程1800,可以获得用户正在演唱目标歌曲时的用户的声谱图1832,并且可以获得目标歌曲的原唱歌手正在演唱目标歌曲时的原唱歌手的声谱图1834。然后,可以在用户的声谱图1832与原唱歌手的声谱图1834之间执行比较。
在一种实施方式中,对于每个代表性词语,可以将用户的声谱图1832中代表性词语处的第一波强度与原唱歌手的声谱图1834中该代表性词语处的第二波强度进行比较,可以获得第一波强度与第二波强度之间的差异。以这种方式,可以确定用户的声谱图1832与原唱歌手的声谱图1834之间的差异。
在另一种实施方式中,不管代表词如何,可以通过在目标歌曲的歌词的每个词语处的波强度的比较,来确定用户的声谱图1832与原唱歌手的声谱图1834之间的差异。在这种情况下,可以从过程1800中省略在1820处识别代表性词语的操作。
在另一种实施方式中,可以通过在目标歌曲的歌词的每个代表性词语处的波强度的比较以及每个非代表性词语处的波强度的比较两者,来确定用户的声谱图1832与原唱歌手的声谱图1834之间的差异。在这种情况下,相比于非代表性词语处的波强度的比较结果,可以给予代表性词语处的波强度的比较结果更高的权重。
在另一种实施方式中,对用户的声谱图1832与原唱歌手的声谱图1834之间的差异的确定可以包括确定当用户和原唱歌手正在演唱歌词的相同词语时的时间差异。例如,对于歌词的一个或多个词语,可以确定用户演唱这些词语比原唱歌手更快还是更慢。
在1840处,可以基于在1830处确定的差异来生成响应,并且可以在与用户的聊天流中向用户提供该响应。在一种实施方式中,该响应可以包括对用户演唱的评估结果。例如,该响应可以包括基于差异所确定的分数或级别。如果差异低于一个或多个预定义阈值,则可以在该响应中提供相对较高的分数或级别。在一种实施方式中,该响应可以包括对用户改进演唱技巧的建议。例如,如果在1830处确定用户在某个词语处演唱的波强度比原唱歌手在该词语处演唱的波强度低了预定义阈值,则该响应可以建议用户提高在该词语处的声调。此外,例如,如果在1830处确定用户在目标歌曲的某个部分处的演唱比原唱歌手的演唱更快,则该响应可以建议用户在该部分处放慢速度。
图19示出了根据实施例的用于提取目标歌曲的示例性过程1900。在一些情况下,用户可以要求聊天机器人提供特定的歌曲,过程1900可以被执行用于响应于用户的请求来提取歌曲。
在1910处,可以在聊天流中接收对目标歌曲的查询。该查询可以采用文本或语音的形式,并且可以包括关于目标歌曲的信息。例如,该查询可以包括目标歌曲的名称,例如“两只老虎”,该查询可以包括目标歌曲的关键词,例如“朱迪,学习”,等等。
在1920处,可以使用相似度匹配模型来提取目标歌曲。可以从一组候选歌曲中确定目标歌曲,所述一组候选歌曲可以是从诸如公众歌曲源、用户特有歌曲数据库、全部用户歌曲数据库等中提取的。相似度匹配模型可以包括文本-歌曲相似度模型1922和语音-歌曲相似度模型1924。如果查询采用了文本形式,则可以使用文本-歌曲相似度模型1922来执行在查询的文本与候选歌曲的文本之间的相似度匹配。而如果查询采用了语音的形式,则语音-歌曲相似度模型1924可以首先将查询的语音转换为文本,然后调用文本-歌曲相似度模型1922来执行在查询的转换文本与候选歌曲的文本之间的相似度匹配。以下讨论以文本-歌曲相似度模型1922为例,其中,文本形式查询的文本或语音形式查询的转换文本被简称为“查询”,候选歌曲的文本被简称为“候选歌曲”。
文本-歌曲相似度模型1922可以利用具有梯度提升决策树(GBDT)算法的基于对的学习排序(LTR)框架,来对给定查询的候选歌曲进行排序。
在一些实施方式中,对于一个查询,可以将歌曲分成两种类型:好歌曲和坏歌曲。
好歌曲可以与查询具有相对较好的语义相似度。为了获得“好歌曲”的训练实例,可以从可用的公众歌曲源、用户特有歌曲数据库、全部用户歌曲数据库等处获得一组歌曲,然后可以从该组歌曲中的每首歌曲里提取关键词。以此方式,每首歌曲都会具有一组关键词。可以遍历该组关键词中的所有非空子集,并将其作为对相应歌曲的查询。由此,可以构建<查询,好歌曲>形式的大规模训练数据。
坏歌曲可以指与当前所关注查询不相关的那些歌曲,或者与另一查询有关的那些歌曲,该另一查询与当前所关注查询无关。可以根据用户的下一轮反馈来确定坏歌曲。例如,如果响应于来自用户的查询而提供了一首歌曲,并且用户指示该歌曲不是他所请求的,则该歌曲可以被确定为是对应于该查询的坏歌曲。以此方式,可以构建<查询,坏歌曲>形式的大规模训练数据。
通过组合<查询,好歌曲>和<查询,坏歌曲>,可以最终获得一列元组<查询,好歌曲,坏歌曲>,并且可以将其用于训练GBDT以获得文本-歌曲相似度模型1922。
文本-歌曲相似度模型1922的输入可以是来自用户的查询,并且文本-歌曲相似度模型1922的输出可以是候选歌曲的分数。
在一种实施方式中,GBDT中的一个特征可以基于用于信息提取的语言模型。该特征可以通过以下方程来评估查询q与候选歌曲Q之间的相关性:
P(q|R)=∏w∈q[(1-λ)Pml(w|R)+λPml(w|C)] 方程(11)
其中,Pml(w|R)是从Q估计出词语w的最大似然性,Pml(w|C)是平滑项,该平滑项被计算为例如公众歌曲源、用户特有歌曲数据库、全部用户歌曲数据库等的大规模语料库C中的最大似然估计。平滑项避免了零概率,该零概率源于在候选歌曲Q中出现但没有在查询q中出现的那些词语。λ是作为似然性和平滑项之间的权衡的参数,其中,λ∈(0,1)。当查询和候选歌曲之间有多个词语重叠时,该特征的效果较好。
在一种实施方式中,GBDT中的一个特征可以基于一种基于翻译的语言模型。该特征可以学习<查询,好歌曲>对的词语到词语和/或短语到短语的翻译概率,并且可以将所学习的信息并入最大似然性中。给定查询q和候选歌曲Q,基于翻译的语言模型可以被定义为:
Ptrb(q|R)=∏w∈q[(1-λ)Pmx(w|R)+λPml(w|C)] 方程(12)
其中,Pmx(w|R)=αPml(w|R)+βPtr(w|R) 方程(13)
Ptr(w|R)=∑v∈RPtp(w|v)Pml(v|R) 方程(14)
此处,λ、α和β是满足λ∈(0,1)且α+β=1的参数。Ptp(w|v)是从Q中的词语v到q中的词语w的翻译概率。Ptr(.)、Pmx(.)和Ptrb(.)是通过使用Ptp(.)和Pml(.)逐步构建的相似度函数。
在一种实施方式中,GBDT中的一个特征可以是查询与候选歌曲之间的、词语或字符级别的编辑距离。
在一种实施方式中,GBDT中的一个特征可以是查询与候选歌曲之间的最大子序列比(maximum subsequence ratio)。
在一种实施方式中,GBDT中的一个特征可以是由具有使用GRU的RNN的深度语义相似度模型(DSSM)所输出的余弦相似度分数。余弦相似度分数可以是对查询与候选歌曲之间的相似度的评估。可以将查询和候选歌曲输入到相应的RNN-GRU层,以获得相应的密集向量。所述密集向量可以进一步用于确定查询与候选歌曲之间的相似度分数。
通过所训练的文本-歌曲相似度模型1922,可以响应于在1910处接收的查询来对候选歌曲进行评分。
在1920处,可以将目标歌曲确定为具有排序最高的分数的候选歌曲。可以在聊天流中将目标歌曲提供给用户。
图20示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性方法2000的流程图。
在2010处,可以在聊天流中接收消息。
在2020处,可以响应于所述消息,至少基于用户的个人语言模型来生成所述用户的个性化歌词。
在2030处,可以基于所述个性化歌词来生成个性化歌曲。
在2040处,可以在所述聊天流中提供所述个性化歌曲。
在一种实施方式中,所述消息可以指示公众歌曲,并且所述生成所述个性化歌词可以包括:通过至少基于所述个人语言模型将所述公众歌曲的歌词中的语句映射到所述用户的个性化语句,来生成所述个性化歌词。所述生成所述个性化歌曲可以包括以下至少之一:生成对应于所述个性化歌词的、所述用户的语音,并且将所述公众歌曲的曲调应用于所述用户的语音;以及生成对应于所述个性化歌词的、所述公众歌曲的原唱歌手的语音,并且将所述公众歌曲的曲调应用于所述原唱歌手的语音。
在一种实施方式中,所述消息可以包含至少一个关键词或者指示自动提取至少一个关键词,并且所述生成所述个性化歌词可以包括:通过至少基于所述个人语言模型将所述至少一个关键词映射到所述用户的个性化语句,来生成所述个性化歌词。所述生成所述个性化歌曲可以包括:基于所述个性化歌词来生成所述个性化歌曲的曲调;生成对应于所述个性化歌词的、所述用户的语音;以及将所述个性化歌曲的曲调应用于所述用户的语音。
在一种实施方式中,所述个性化歌词可以是进一步基于话题-情感图谱来生成的,所述话题-情感图谱包括彼此相关联的多个话题词语和多个情感词语。
在一种实施方式中,所述个人语言模型可以是通过以下操作建立的:从所述用户的会话日志中确定至少一个种子词语;从所述会话日志中提取包含所述至少一个种子词语且由所述用户输入的至少一个语句;以及基于所述至少一个语句来训练所述个人语言模型。所述方法还可以包括:通过Word2vec处理或话题-情感图谱,基于所述至少一个种子词语来确定至少一个扩展词语;基于所述扩展词语来重写所述至少一个语句;以及通过所重写的至少一个语句来更新所述个人语言模型。
在一种实施方式中,所述个性化歌词可以是进一步基于公众歌曲语言模型来生成的,所述公众歌曲语言模型是通过以下操作建立的:从所述用户的会话日志中确定至少一个种子词语;从公众歌曲源中提取包含所述至少一个种子词语的至少一个语句;以及基于所述至少一个语句来训练所述公众歌曲语言模型。所述方法还可以包括:通过Word2vec处理或话题-情感图谱,基于所述至少一个种子词语来确定至少一个扩展词语;基于所述扩展词语来重写所述至少一个语句;以及通过所重写的至少一个语句来更新所述公众歌曲语言模型。
在一种实施方式中,所述生成所述个性化歌词可以是基于具有关注机制的神经机器翻译架构的。
在一种实施方式中,所述方法还可以包括:获得当所述用户正在演唱目标歌曲时的第一声谱图;获得当所述目标歌曲的原唱歌手正在演唱所述目标歌曲时的第二声谱图;确定所述第一声谱图与所述第二声谱图之间的差异;以及至少基于所述差异在所述聊天流中提供响应。所述确定所述差异可以包括:基于话题-情感图谱来识别所述目标歌曲的歌词中的至少一个代表性词语;比较所述第一声谱图中所述至少一个代表性词语的第一波强度与所述第二声谱图中所述至少一个代表性词语的第二波强度;以及至少基于所述第一波强度与所述第二波强度之间的所述比较来确定所述差异。
在一种实施方式中,所述方法还可以包括:接收与目标歌曲相关联的查询;通过相似度匹配模型,基于所述查询来提取所述目标歌曲;以及在所述聊天流中提供所述目标歌曲。
应当理解,方法2000还可以包括根据上述本公开实施例的用于在自动聊天中提供个性化歌曲的任何步骤/处理。
图21示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性装置2100。
装置2100可以包括:消息接收模块2110,用于在聊天流中接收消息;歌词生成模块2120,用于响应于所述消息,至少基于用户的个人语言模型来生成所述用户的个性化歌词;个性化歌曲生成模块2130,用于基于所述个性化歌词来生成个性化歌曲;以及个性化歌曲提供模块2140,用于在所述聊天流中提供所述个性化歌曲。
在一种实施方式中,所述消息可以指示公众歌曲,并且所述歌词生成模块还可以用于:通过至少基于所述个人语言模型将所述公众歌曲的歌词中的语句映射到所述用户的个性化语句,来生成所述个性化歌词。
在一种实施方式中,所述消息可以包含至少一个关键词或者指示自动提取至少一个关键词,并且所述歌词生成模块还可以用于:通过至少基于所述个人语言模型将所述至少一个关键词映射到所述用户的个性化语句,来生成所述个性化歌词。
在一种实施方式中,所述个性化歌词可以是进一步基于话题-情感图谱来生成的,所述话题-情感图谱包括彼此相关联的多个话题词语和多个情感词语。
在一种实施方式中,所述装置还可以包括:第一声谱图获得模块,用于获得当所述用户正在演唱目标歌曲时的第一声谱图;第二声谱图获得模块,用于获得当所述目标歌曲的原唱歌手正在演唱所述目标歌曲时的第二声谱图;差异确定模块,用于确定所述第一声谱图与所述第二声谱图之间的差异;以及响应提供模块,用于至少基于所述差异在所述聊天流中提供响应。
在一种实施方式中,所述装置还可以包括:查询接收模块,用于接收与目标歌曲相关联的查询;目标歌曲提取模块,用于通过相似度匹配模型,基于所述查询来提取所述目标歌曲;以及目标歌曲提供模块,用于在所述聊天流中提供所述目标歌曲。
此外,装置2100还可以包括根据上述本公开实施例的被配置用于在自动聊天中提供个性化歌曲的任何其它模块。
图22示出了根据实施例的用于在自动聊天中提供个性化歌曲的示例性装置2200。
装置2200可以包括至少一个处理器2210。装置2200还可以包括与处理器2210连接的存储器2220。存储器2220可以存储计算机可执行指令,当所述计算机可执行指令被执行时,使得处理器2210执行根据上述本公开实施例的用于在自动聊天中提供个性化歌曲的方法的任何操作。可替换地,也可以从装置2200中省略存储器2220。
本公开的实施例可以实施在非暂时性计算机可读介质中。该非暂时性计算机可读介质可以包括指令,当所述指令被执行时,使得一个或多个处理器执行根据上述本公开实施例的用于在自动聊天中提供个性化歌曲的方法的任何操作。
应当理解,以上描述的方法中的所有操作都仅仅是示例性的,本公开并不限制于方法中的任何操作或这些操作的顺序,而是应当涵盖在相同或相似构思下的所有其它等同变换。
还应当理解,以上描述的装置中的所有模块都可以通过各种方式来实施。这些模块可以被实施为硬件、软件、或其组合。此外,这些模块中的任何模块可以在功能上被进一步划分成子模块或组合在一起。
已经结合各种装置和方法描述了处理器。这些处理器可以使用电子硬件、计算机软件或其任意组合来实施。这些处理器是实施为硬件还是软件将取决于具体的应用以及施加在系统上的总体设计约束。作为示例,本公开中给出的处理器、处理器的任意部分、或者处理器的任意组合可以实施为微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门逻辑、分立硬件电路、以及配置用于执行在本公开中描述的各种功能的其它适合的处理部件。本公开给出的处理器、处理器的任意部分、或者处理器的任意组合的功能可以实施为由微处理器、微控制器、DSP或其它适合的平台所执行的软件。
软件应当被广泛地视为表示指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、运行线程、过程、函数等。软件可以驻留在计算机可读介质中。计算机可读介质可以包括例如存储器,存储器可以例如为磁性存储设备(如,硬盘、软盘、磁条)、光盘、智能卡、闪存设备、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器或者可移动盘。尽管在本公开给出的多个方面中将存储器示出为是与处理器分离的,但是存储器也可以位于处理器内部(如,缓存或寄存器)。
以上描述被提供用于使得本领域任何技术人员可以实施本文所描述的各个方面。这些方面的各种修改对于本领域技术人员是显而易见的,本文限定的一般性原理可以应用于其它方面。因此,权利要求并非旨在被局限于本文示出的方面。关于本领域技术人员已知或即将获知的、对本公开所描述各个方面的元素的所有结构和功能上的等同变换,都将通过引用而明确地包含到本文中,并且旨在由权利要求所覆盖。

Claims (20)

1.一种用于在自动聊天中提供个性化歌曲的方法,包括:
在聊天流中接收消息;
响应于所述消息,至少基于用户的个人语言模型来生成所述用户的个性化歌词;
基于所述个性化歌词来生成个性化歌曲;以及
在所述聊天流中提供所述个性化歌曲。
2.根据权利要求1所述的方法,其中,所述消息指示公众歌曲,并且所述生成所述个性化歌词包括:
通过至少基于所述个人语言模型将所述公众歌曲的歌词中的语句映射到所述用户的个性化语句,来生成所述个性化歌词。
3.根据权利要求2所述的方法,其中,所述生成所述个性化歌曲包括以下至少之一:
生成对应于所述个性化歌词的、所述用户的语音,并且将所述公众歌曲的曲调应用于所述用户的语音;以及
生成对应于所述个性化歌词的、所述公众歌曲的原唱歌手的语音,并且将所述公众歌曲的曲调应用于所述原唱歌手的语音。
4.根据权利要求1所述的方法,其中,所述消息包含至少一个关键词或者指示自动提取至少一个关键词,并且所述生成所述个性化歌词包括:
通过至少基于所述个人语言模型将所述至少一个关键词映射到所述用户的个性化语句,来生成所述个性化歌词。
5.根据权利要求4所述的方法,其中,所述生成所述个性化歌曲包括:
基于所述个性化歌词来生成所述个性化歌曲的曲调;
生成对应于所述个性化歌词的、所述用户的语音;以及
将所述个性化歌曲的曲调应用于所述用户的语音。
6.根据权利要求1所述的方法,其中,所述个性化歌词是进一步基于话题-情感图谱来生成的,所述话题-情感图谱包括彼此相关联的多个话题词语和多个情感词语。
7.根据权利要求1所述的方法,其中,所述个人语言模型是通过以下操作建立的:
从所述用户的会话日志中确定至少一个种子词语;
从所述会话日志中提取包含所述至少一个种子词语且由所述用户输入的至少一个语句;以及
基于所述至少一个语句来训练所述个人语言模型。
8.根据权利要求7所述的方法,还包括:
通过Word2vec处理或话题-情感图谱,基于所述至少一个种子词语来确定至少一个扩展词语;
基于所述扩展词语来重写所述至少一个语句;以及
通过所重写的至少一个语句来更新所述个人语言模型。
9.根据权利要求1所述的方法,其中,所述个性化歌词是进一步基于公众歌曲语言模型来生成的,所述公众歌曲语言模型是通过以下操作建立的:
从所述用户的会话日志中确定至少一个种子词语;
从公众歌曲源中提取包含所述至少一个种子词语的至少一个语句;以及
基于所述至少一个语句来训练所述公众歌曲语言模型。
10.根据权利要求9所述的方法,还包括:
通过Word2vec处理或话题-情感图谱,基于所述至少一个种子词语来确定至少一个扩展词语;
基于所述扩展词语来重写所述至少一个语句;以及
通过所重写的至少一个语句来更新所述公众歌曲语言模型。
11.根据权利要求2或4所述的方法,其中,所述生成所述个性化歌词是基于具有关注机制的神经机器翻译架构的。
12.根据权利要求1所述的方法,还包括:
获得当所述用户正在演唱目标歌曲时的第一声谱图;
获得当所述目标歌曲的原唱歌手正在演唱所述目标歌曲时的第二声谱图;
确定所述第一声谱图与所述第二声谱图之间的差异;以及
至少基于所述差异在所述聊天流中提供响应。
13.根据权利要求12所述的方法,其中,所述确定所述差异包括:
基于话题-情感图谱来识别所述目标歌曲的歌词中的至少一个代表性词语;
比较所述第一声谱图中所述至少一个代表性词语的第一波强度与所述第二声谱图中所述至少一个代表性词语的第二波强度;以及
至少基于所述第一波强度与所述第二波强度之间的所述比较来确定所述差异。
14.根据权利要求1所述的方法,还包括:
接收与目标歌曲相关联的查询;
通过相似度匹配模型,基于所述查询来提取所述目标歌曲;以及
在所述聊天流中提供所述目标歌曲。
15.一种用于在自动聊天中提供个性化歌曲的装置,包括:
消息接收模块,用于在聊天流中接收消息;
歌词生成模块,用于响应于所述消息,至少基于用户的个人语言模型来生成所述用户的个性化歌词;
个性化歌曲生成模块,用于基于所述个性化歌词来生成个性化歌曲;以及
个性化歌曲提供模块,用于在所述聊天流中提供所述个性化歌曲。
16.根据权利要求15所述的装置,其中,所述消息指示公众歌曲,并且所述歌词生成模块还用于:
通过至少基于所述个人语言模型将所述公众歌曲的歌词中的语句映射到所述用户的个性化语句,来生成所述个性化歌词。
17.根据权利要求15所述的装置,其中,所述消息包含至少一个关键词或者指示自动提取至少一个关键词,并且所述歌词生成模块还用于:
通过至少基于所述个人语言模型将所述至少一个关键词映射到所述用户的个性化语句,来生成所述个性化歌词。
18.根据权利要求15所述的装置,其中,所述个性化歌词是进一步基于话题-情感图谱来生成的,所述话题-情感图谱包括彼此相关联的多个话题词语和多个情感词语。
19.根据权利要求15所述的装置,还包括:
第一声谱图获得模块,用于获得当所述用户正在演唱目标歌曲时的第一声谱图;
第二声谱图获得模块,用于获得当所述目标歌曲的原唱歌手正在演唱所述目标歌曲时的第二声谱图;
差异确定模块,用于确定所述第一声谱图与所述第二声谱图之间的差异;以及
响应提供模块,用于至少基于所述差异在所述聊天流中提供响应。
20.根据权利要求15所述的装置,还包括:
查询接收模块,用于接收与目标歌曲相关联的查询;
目标歌曲提取模块,用于通过相似度匹配模型,基于所述查询来提取所述目标歌曲;以及
目标歌曲提供模块,用于在所述聊天流中提供所述目标歌曲。
CN201780057465.2A 2017-06-21 2017-06-21 在自动聊天中提供个性化歌曲 Pending CN109716326A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/089344 WO2018232623A1 (en) 2017-06-21 2017-06-21 SUPPLYING PERSONALIZED SONGS IN AN AUTOMATED ONLINE DIALOGUE

Publications (1)

Publication Number Publication Date
CN109716326A true CN109716326A (zh) 2019-05-03

Family

ID=64737496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780057465.2A Pending CN109716326A (zh) 2017-06-21 2017-06-21 在自动聊天中提供个性化歌曲

Country Status (4)

Country Link
US (1) US11587541B2 (zh)
EP (1) EP3642734A1 (zh)
CN (1) CN109716326A (zh)
WO (1) WO2018232623A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241829A (zh) * 2020-01-14 2020-06-05 成都嗨翻屋科技有限公司 一种基于神经网络的智能歌词修改方法及辅助系统
CN112185321A (zh) * 2019-06-14 2021-01-05 微软技术许可有限责任公司 歌曲生成
CN113573143A (zh) * 2021-07-21 2021-10-29 维沃移动通信有限公司 音频播放方法和电子设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189741A (zh) * 2018-07-05 2019-08-30 腾讯数码(天津)有限公司 音频合成方法、装置、存储介质和计算机设备
CN109754778B (zh) * 2019-01-17 2023-05-30 平安科技(深圳)有限公司 文本的语音合成方法、装置和计算机设备
CN111738021B (zh) * 2019-03-25 2023-10-31 株式会社理光 神经机器翻译模型的词向量处理方法、装置及存储介质
US11170176B2 (en) 2019-09-27 2021-11-09 International Business Machines Corporation Artificial intelligence based word generation
CN111737414A (zh) * 2020-06-04 2020-10-02 腾讯音乐娱乐科技(深圳)有限公司 一种歌曲推荐方法及装置、服务器、存储介质
CN111724813A (zh) * 2020-06-17 2020-09-29 东莞理工学院 一种基于lstm的钢琴演奏自动评分方法
CN112530421B (zh) * 2020-11-03 2023-04-07 科大讯飞股份有限公司 语音识别方法、电子设备及存储装置
KR20230169361A (ko) * 2021-05-21 2023-12-15 구글 엘엘씨 상황별 텍스트 생성을 위해 중간 텍스트 분석을 생성하는 기계 학습 언어 모델
AU2022228200A1 (en) * 2022-04-11 2023-10-26 Solid Automotive Group The SoundTracktoYourLife (STYL) application is the generator of AI created MUSIC (USIC), creating music uniquely created for you with input from both the environmental factors around you and from your own body language. Changes in the listeners real-time environment alter the nature of the music, to increase or decrease the intensity of the generated USIC and change its structure, to influence the enjoyment or behavior of the listener.

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988461A (zh) * 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种即时通信工具的聊天场景音乐播放方法和系统
CN102014081A (zh) * 2010-12-23 2011-04-13 汉王科技股份有限公司 在即时通讯系统中播放歌曲片段的方法、装置及系统
CN102053998A (zh) * 2009-11-04 2011-05-11 周明全 一种利用声音方式检索歌曲的方法及系统装置
CN104391980A (zh) * 2014-12-08 2015-03-04 百度在线网络技术(北京)有限公司 生成歌曲的方法和装置
CN104994013A (zh) * 2015-08-11 2015-10-21 苏州乐聚一堂电子科技有限公司 聊天机器人与聊天系统
WO2015195394A1 (en) * 2014-06-16 2015-12-23 Google Inc. Surfacing live events in search results
CN105955964A (zh) * 2016-06-13 2016-09-21 北京百度网讯科技有限公司 一种自动生成诗歌的方法和装置
CN106407370A (zh) * 2016-09-09 2017-02-15 广东欧珀移动通信有限公司 一种显示歌词的方法及移动终端
US20170057648A1 (en) * 2015-09-02 2017-03-02 Jetoptera, Inc. Ejector and airfoil configurations
CN106547789A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 一种歌词生成方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203648B1 (en) * 2000-11-03 2007-04-10 At&T Corp. Method for sending multi-media messages with customized audio
WO2007134402A1 (en) 2006-05-24 2007-11-29 Mor(F) Dynamics Pty Ltd Instant messaging system
TWI394142B (zh) * 2009-08-25 2013-04-21 Inst Information Industry 歌聲合成系統、方法、以及裝置
US9026942B2 (en) 2011-02-25 2015-05-05 Cbs Interactive Inc. Song lyric processing with user interaction
US9262522B2 (en) * 2011-06-30 2016-02-16 Rednote LLC Method and system for communicating between a sender and a recipient via a personalized message including an audio clip extracted from a pre-existing recording
CN106326303B (zh) * 2015-06-30 2019-09-13 芋头科技(杭州)有限公司 一种口语语义解析系统及方法
CN105425953B (zh) 2015-11-02 2018-07-17 小天才科技有限公司 一种人机交互的方法及系统
CN105975622B (zh) 2016-05-28 2020-12-29 福州云之智网络科技有限公司 多角色智能聊天的方法及系统
US10380983B2 (en) * 2016-12-30 2019-08-13 Google Llc Machine learning to generate music from text
US10366168B2 (en) * 2017-01-12 2019-07-30 Microsoft Technology Licensing, Llc Systems and methods for a multiple topic chat bot

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1988461A (zh) * 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种即时通信工具的聊天场景音乐播放方法和系统
CN102053998A (zh) * 2009-11-04 2011-05-11 周明全 一种利用声音方式检索歌曲的方法及系统装置
CN102014081A (zh) * 2010-12-23 2011-04-13 汉王科技股份有限公司 在即时通讯系统中播放歌曲片段的方法、装置及系统
WO2015195394A1 (en) * 2014-06-16 2015-12-23 Google Inc. Surfacing live events in search results
CN104391980A (zh) * 2014-12-08 2015-03-04 百度在线网络技术(北京)有限公司 生成歌曲的方法和装置
CN104994013A (zh) * 2015-08-11 2015-10-21 苏州乐聚一堂电子科技有限公司 聊天机器人与聊天系统
US20170057648A1 (en) * 2015-09-02 2017-03-02 Jetoptera, Inc. Ejector and airfoil configurations
CN106547789A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 一种歌词生成方法及装置
CN105955964A (zh) * 2016-06-13 2016-09-21 北京百度网讯科技有限公司 一种自动生成诗歌的方法和装置
CN106407370A (zh) * 2016-09-09 2017-02-15 广东欧珀移动通信有限公司 一种显示歌词的方法及移动终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112185321A (zh) * 2019-06-14 2021-01-05 微软技术许可有限责任公司 歌曲生成
CN111241829A (zh) * 2020-01-14 2020-06-05 成都嗨翻屋科技有限公司 一种基于神经网络的智能歌词修改方法及辅助系统
CN111241829B (zh) * 2020-01-14 2023-05-05 成都潜在人工智能科技有限公司 一种基于神经网络的智能歌词修改方法及辅助系统
CN113573143A (zh) * 2021-07-21 2021-10-29 维沃移动通信有限公司 音频播放方法和电子设备
CN113573143B (zh) * 2021-07-21 2023-09-19 维沃移动通信有限公司 音频播放方法和电子设备

Also Published As

Publication number Publication date
WO2018232623A1 (en) 2018-12-27
EP3642734A1 (en) 2020-04-29
US20210158789A1 (en) 2021-05-27
US11587541B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
CN109716326A (zh) 在自动聊天中提供个性化歌曲
US20200395008A1 (en) Personality-Based Conversational Agents and Pragmatic Model, and Related Interfaces and Commercial Models
CN110717017B (zh) 一种处理语料的方法
CN110325982B (zh) 在会话中提供多媒体文档的摘要
CN109844708B (zh) 通过聊天机器人推荐媒体内容
CN109844741B (zh) 在自动聊天中生成响应
US11586810B2 (en) Generating responses in automated chatting
CN110301117B (zh) 用于在会话中提供响应的方法和装置
US8321414B2 (en) Hybrid audio-visual categorization system and method
US11729120B2 (en) Generating responses in automated chatting
JP5149737B2 (ja) 自動会話システム、並びに会話シナリオ編集装置
CN109564572A (zh) 生成用于自动聊天的问题-答案对
CN109564783A (zh) 在自动聊天中辅助心理治疗
Albadr et al. Spoken language identification based on the enhanced self-adjusting extreme learning machine approach
CN109417504A (zh) 自动聊天中的语音转发
KR20200087977A (ko) 멀티모달 문서 요약 시스템 및 방법
CN110851650A (zh) 一种评论输出方法、装置、以及计算机存储介质
JP2018084627A (ja) 言語モデル学習装置およびそのプログラム
US20230229960A1 (en) Systems and methods for facilitating integrative, extensible, composable, and interpretable deep learning
Schuller et al. Speech communication and multimodal interfaces
US11804225B1 (en) Dialog management system
Wani et al. Music Suggestion Via Sentimental Analysis of User-Inputted Texts
CN117112796A (zh) 关系三元组的构建方法、知识增强方法及其相关装置
AZUAJE Interactive applications based on text-to-image models
Sicilia et al. ISABEL: An Inclusive and Collaborative Task-Oriented Dialogue System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination