用于内容搜索的方法及其电子设备与流程

文档序号:21788337发布日期:2020-08-07 20:38阅读:232来源:国知局
用于内容搜索的方法及其电子设备与流程

本公开涉及一种电子设备。更具体地,本公开涉及一种用于内容搜索的方法及其电子设备。



背景技术:

人工智能(ai)系统是一种实现人类水平的智能的计算机系统。与现有的基于规则的智能系统不同,ai智能系统是指其中机器自行学习和判断并变得更加智能的系统。随着ai系统的使用,其识别率提高并且更准确地理解用户的品味,因此现有的基于规则的智能系统逐渐被基于深度学习的ai系统所代替。

ai技术由机器学习(深度学习)和利用机器学习的元素技术构成。

机器学习是一种算法技术,其自身对输入数据的特征进行分类/学习。元素技术是一种使用诸如深度学习之类的机器学习算法来模拟人脑识别和判断等功能的技术,并被配置用于语言理解、视觉理解、推理/预测、知识表示和运动控制等技术领域。

应用ai技术的各个领域如下。语言理解是一种识别和应用/处理人类语言/字符的技术,包括自然语言处理、机器翻译、对话系统、查询响应、语音识别/合成等。视觉理解是一种将对象作为人类视觉进行识别和处理的技术,包括对象识别、对象跟踪、图像搜索、人识别、场景理解、空间理解和图像增强。推论预测是一种判断和逻辑推论以及预测信息的技术,包括基于知识/概率的推理、优化预测、基于偏好的计划、推荐等。知识表示是一种将人类体验信息自动化为知识数据的技术,包括知识建立(数据生成/分类)和知识管理(数据利用)。运动控制是控制车辆的自主行驶和机器人运动的技术,并且包括运动控制(导航、碰撞、行驶)、操作控制(行为控制)等。

此外,近来用户对内容的消费模式已经多样化。除了消费作为独立内容的诸如图像、视频和音频之类的媒体之外,还经常看到与其他类型的内容相关联的消费模式。因此,需要适合于各种内容消费模式的内容搜索技术。

以上信息仅作为背景信息呈现以帮助理解本公开。关于以上内容中的任何内容是否可以用作本公开的现有技术,没有进行确定,也没有进行断言。



技术实现要素:

技术方案

本公开的实施例将至少解决上述问题和/或缺点,并至少提供下述优点。因此,本公开的实施例将提供一种用于有效地搜索内容的方法及其电子设备。

本公开的另一实施例将提供一种用于搜索与消息的上下文和情绪状态匹配的内容的方法及其电子设备。

本公开的另一实施例将提供一种用于确定用于匹配操作的内容和消息的度量值的方法及其电子设备。

本公开的另一实施例是提供一种用于训练组合的神经模型的方法及其电子设备。

附加实施例将在下面的描述中部分地阐述,并且部分地从描述中将是清楚的,或者可以通过实践所呈现的实施例而获悉。

根据本公开的实施例,提供了一种操作搜索内容的服务器的方法。该方法包括:从电子设备接收文本,该文本是从电子设备中的消息收发应用发送或接收的消息中提取的;从与文本中包含的词的含义对应的数值矢量中确定与文本相对应的一个度量值;基于该一个度量值和多条内容的度量值来选择与该文本相对应的一条内容;并将与该一条内容有关的信息发送给电子设备。

根据本公开另一实施例,提供了一种操作电子设备的方法。该方法包括:向服务器发送从消息收发应用发送或接收的消息中提取的文本信息;从服务器接收与该文本对应的至少一条内容有关的信息,该与至少一条内容有关的信息是由服务器基于从与该文本的特定文本中包括的词的含义对应的数值矢量确定的一个度量值搜索的;并显示该至少一条内容。

根据本公开的另一实施例,提供了一种用于搜索内容的服务器。该服务器包括被配置为发送和接收信号的通信器以及连接到该通信器的至少一个处理器。该至少一个处理器被配置为从电子设备接收文本,该文本是从电子设备中的消息收发应用发送或接收的消息中提取的;从与文本中包含的词的含义相对应的数值矢量中确定与文本相对应的一个度量值;基于该一个度量值和多条内容的度量值来选择与该文本相对应的一条内容;并将与该一条内容有关的信息发送给电子设备。

根据本公开的另一实施例,提供了一种电子设备。该电子设备包括被配置为发送和接收信号的通信器、显示器以及连接到该通信器和显示器的至少一个处理器。该至少一个处理器被配置为:向服务器发送由用户输入指定的文本的信息;从服务器接收与对应于该文本的至少一条内容有关的信息,该信息是基于从与该文本中包括的词的含义对应的数值矢量确定的一个度量值检索的;并控制显示器显示该至少一条内容。

根据本公开的各种实施例的方法及其电子设备可有效地搜索和提供内容。

通过本公开可获得的效果不限于上述效果,并且本领域技术人员从以下描述中可以清楚地理解未提及的其他效果。

根据以下结合附图的公开了本公开的各种实施例的详细描述,本公开的其他方面、优点和显着特征对于本领域技术人员将变得清楚。

附图说明

通过以下结合附图的描述,本公开的某些实施例的上述和其他方面、特征和优点将变得更加明显,其中:

图1示出了根据本公开实施例的搜索系统;

图2示出了根据本公开实施例的电子设备的配置;

图3示出了根据本公开实施例的服务器的配置;

图4示出了根据本公开实施例的内容搜索的流程图;

图5a示出了根据本公开实施例的确定度量值的流程图;

图5b示出了根据本公开实施例的生成各种类型的内容的度量值的示例;

图6a示出了根据本公开实施例的用于搜索被分组的内容的流程图;

图6b示出了根据本公开实施例的对内容进行分组和内容搜索的示例;

图7示出了根据本公开实施例的用于组合的神经模型的训练过程;

图8示出了根据本公开实施例的由电子设备提供内容的流程图;

图9a示出了根据本公开实施例的用于提供与电子设备发送的消息相对应的内容的流程图;

图9b、图9c、图9d和图9e示出根据本公开实施例的由提供与发送的消息相对应的内容的电子设备显示的屏幕的示例;

图10a示出了根据本公开实施例的用于提供与电子设备接收的消息相对应的内容的流程图;

图10b、图10c、图10d和图10e示出根据本公开实施例的由电子设备显示的提供与接收到的消息相对应的内容的屏幕的示例;

图11示出了根据本公开实施例的用于由服务器基于附加信息搜索和处理内容的流程图;和

图12示出根据本公开实施例的用于由服务器基于附加信息搜索和处理内容的流程图。

应注意,在所有附图中相同的附图标记用于表示相同或相似的元素、特征和结构。

具体实施方式

提供以下参考附图的描述以帮助全面理解由权利要求及其等同物限定的本公开的各种实施例。它包括各种具体细节以帮助理解,但是这些仅被认为是示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可以对本文所述的各种实施例进行各种改变和修改。另外,为了清楚和简洁,可以省略对公知功能和构造的描述。

在以下描述和权利要求中使用的术语和词语不限于书面含义,而是仅由发明人用来使得能够清楚和一致地理解本公开内容。因此,对于本领域技术人员而言清楚的是,提供对本公开的各种实施例的以下描述仅是出于说明的目的,而不是出于限制由所附权利要求及其等同物所限定的本公开的目的。

应当理解,单数形式的“一”、“一个”和“该”包括复数指代,除非上下文另外明确指出。因此,例如,提及“部件表面”包括对一个或多个这样的表面的指代。

在下文中,将基于硬件方法描述本公开的各种实施例。然而,本公开的各种实施例包括使用硬件和软件两者的技术,因此,本公开的各种实施例不排除软件的观点。

在下文中,本公开涉及一种用于有效地搜索和提供内容的方法及其电子设备。具体地,本公开描述了一种用于搜索和提供与通过电子设备中执行的应用进行的对话的情景相对应的内容的技术。

为了便于说明,示出了下述说明中使用的指代各种测量值的术语(例如,度量值和表示)、指代数据计算/分析算法的术语、指代设备的术语、指代设备的元件的术语等。因此,本公开不限于以下术语,并且可以使用具有相同技术含义的其他术语。

图1示出了根据本公开实施例的搜索系统。图1所示的系统可以被称为上下文敏感的媒体搜索(csms)系统。

参照图1,该系统包括电子设备110、服务器120和网络130。

电子设备110是用户使用的计算或处理设备。电子设备110可以经由网络130与服务器120交互。例如,电子设备110可以被实现为蜂窝电话、智能电话、个人数字助理(pda)、膝上型计算机、平板电脑、台式计算机中的一种。根据实施例,电子设备110可以执行支持用户之间的对话的至少一个应用。用户之间的对话可以在任何消息收发系统上进行,该消息收发系统包括短消息服务(sms)、电子邮件、社交媒体和讨论板。当支持对话的至少一个应用正在运行时,电子设备110可以搜索内容以替换或补充消息。换句话说,电子设备110可以基于用户的确定结果来确定是否搜索与消息的情绪状态和上下文匹配的多媒体并且可以执行搜索操作。例如,电子设备110可以将经由网络130发送或接收的对话消息发送到服务器120、可以请求内容并且可以从服务器120接收内容。从服务器120接收的内容可以显示在电子设备110上以替换或补充对话消息。

服务器120是响应于电子设备110的请求而搜索并提供内容的计算或处理设备。服务器120可通过网络130访问因特网,并且可以经由因特网周期性地更新内容数据库。因此,服务器120可以提供各种内容。服务器120可被实现为云解决方案。根据实施例,服务器120可向电子设备110提供与对话消息的情绪状态和上下文匹配的各种类型的内容。例如,服务器120分析从电子设备110发送的消息并基于分析结果来搜索和选择与消息的情绪状态和上下文相匹配的内容。在这种情况下,服务器120可提议多条内容,并且可基于用户的选择来选择内容。服务器120将选择的内容发送到电子设备110。

网络130用于服务器120和电子设备110之间的通信。网络130可以被实现为无线网络、有线网络或其组合。例如,网络130可以在网络地址之间传送互联网协议(ip)分组、帧中继帧、异步传输模式(atm)信元或其他信息。网络130可以包括一个或多个局域网(lan)、城域网(man)、广域网(wan)、诸如因特网之类的全球网络的全部或一部分或一个或多个位置的任何其他一个或多个通信系统。

尽管在图1中未示出,但是根据各种示例的系统可以进一步包括管理电子设备110的用户的信息的管理服务器。管理服务器管理用户的订户信息,并且更具体地管理服务器可以存储服务级别的信息。服务器120可以从管理服务器获取用户的信息以便搜索内容,并且可以基于用户的信息搜索内容。

图1示出了根据上下文的媒体搜索的系统的示例,但是可以相对于图1进行各种改变。例如,该系统可以以任何合适的布置包括任意数量的每个元件。通常,计算和通信系统具有各种元件,图1不将本公开的范围限制为任何特定布置。图1示出了可以使用本文公开的各种特征的一种操作环境。但是,这些特征可以在任何其他合适的系统中使用。

人眼可以在短时间内传递大量集中的信息。因此,存在一种增长的趋势,其中用户通过用其他类型的内容(例如图像或视频或音频文件)替换或补充所记录的消息文本来传达他或她的消息。本公开提出了一种内容搜索服务,用于发现与记录的消息匹配的内容。各种实施例可以基于用户搜索来对内容搜索进行排名,并且可以准备多媒体概要数据库以促进在特定域中搜索内容。

图2示出根据本公开实施例的电子设备的配置。图2中所示的配置可以被理解为电子设备110的配置。下文中使用的术语可以指用于处理至少一个功能或操作的单元,并且可以以硬件、软件或硬件和软件的组合来实现。

参照图2,电子设备可以包括通信单元210、存储单元220、显示器230、输入单元240、麦克风250、扬声器260和处理器270。根据另一实施例,可以省略图2中的至少一些元件。

通信单元210提供用于与其他系统或设备进行通信的接口。例如,通信单元210可以包括使得能够经由外部网络(例如网络130)进行通信的网络接口卡或无线发送/接收单元。例如,通信单元210可以执行用于访问无线网络的信号处理。例如,无线网络可以包括无线lan和蜂窝网络(例如长期演进(lte))中的至少一个。通信单元210可以被称为“发送单元”、“接收单元”或“发送/接收单元”。

存储单元220可以存储数据,诸如用于电子设备的操作的基本程序、应用和设置信息。存储单元220可以被配置为易失性存储器、非易失性存储器或易失性存储器和非易失性存储器的组合。存储单元220可以响应于处理器270的请求而提供存储的数据。存储单元220可以存储操作系统(os)222和至少一个应用(即应用224中的至少一个)。

显示器230执行用于以数字、字符、图像、图形等形式输出信息的功能。为此,显示器230可包括至少一个用于输出的硬件模块。例如,硬件模块可包括液晶显示器(lcd)、发光二极管(led)、发光聚合物显示器(lpd)、有机发光二极管(oled)、有源矩阵有机发光二极管(amoled)和柔性led(fled)中至少之一。显示器230可显示与从处理器270接收的数据相对应的屏幕。显示器230可被称为“输出单元”、“显示单元”或具有等效技术含义的其他术语。

输入单元240检测来自外部(例如用户)的输入,并且向处理器270提供与该输入相对应的数据。为此,输入单元240可以包括至少一个用于检测输入的硬件模块。例如,硬件模块可以包括传感器、键盘、小键盘、触摸板和触摸面板中的至少一个。根据实施例,当输入单元240被实现为触摸面板时,输入单元240可以与显示器230结合从而可以提供触摸屏。在这种情况下,输入单元240可以将与用户执行的触摸输入有关的数据(例如点击、按下、缩小、放大、滑动、刷动、旋转等)提供给处理器270。

麦克风250可包括诸如压电元件之类的电路,并且利用由通过麦克风250输入的语音信号引起的振动膜振动来产生音频信号。麦克风250可接收由用户输入的语音。麦克风250可以被理解为输入单元240的一部分。扬声器260可以利用振动膜的振动将音频信号转换为振动并且可以将振动发射到空中。扬声器260可以将与从用户接收的输入消息相对应的响应输出为模拟形式。

处理器270可以控制电子设备的整体操作。例如,处理器270可以通过通信单元210发送和接收信号。此外,处理器270可以在存储单元220中记录和读取数据并执行存储在存储单元220中的指令。处理器270可以通过显示器230显示各种屏幕并且可以通过扬声器260输出音频信号。处理器270可以处理通过输入单元240和麦克风250输入的数据并且必要时可以控制输入单元240和麦克风250的操作状态。处理器270可以包括单个或多个处理器。例如,处理器270可以被实现为微处理器、微控制器、数字信号处理器、现场可编程门阵列(fpga)、定制半导体和分立电路中的至少一种。

处理器270可以执行存储在存储单元220中的应用224。应用224可以包括支持用户之间的对话的应用(以下称为“对话应用”)。根据实施例,处理器270可以包括内容提供模块272,该内容提供模块272基于由对话应用正在执行的对话的上下文执行提供内容的功能。内容提供模块272可以被称为“csms模块”。这里,内容提供模块272是存储在存储单元220中的指令集或代码,并且可以是其中指令/代码至少临时地驻留在处理器270中的存储空间或者可以是构成处理器的电路的一部分。

图3示出了根据本公开实施例的服务器的配置。图3中所示的配置可被理解为服务器120的配置。下文中使用的术语可以指用于处理至少一个功能或操作的单元,并且可以以硬件、软件或硬件和软件的组合来实现。

参照图3,服务器包括存储单元320、通信单元310和处理器330。

通信单元310提供用于与其他系统或设备通信的接口。例如,通信单元310可以包括使得能够经由外部网络(例如网络130)进行通信的网络接口卡或无线发送/接收单元。通信单元310可以支持经由任何适当的(多个)物理或无线通信链路的通信。通信单元310可以被称为“发送单元”、“接收单元”或“发送/接收单元”。

存储单元320可以存储数据,诸如用于服务器的操作的基本程序、应用和设置信息。存储单元320可以被配置为易失性存储器、非易失性存储器或易失性存储器和非易失性存储器的组合。存储单元320可以响应于来自处理器330的请求来提供存储的数据。

处理器330可以控制服务器的整体操作。例如,处理器330可以通过通信单元310发送和接收信号。此外,处理器330可以在存储单元320中记录和读取数据并执行存储在存储单元320中的指令。处理器330可以包括单个处理器或多个处理器。例如,处理器330可以被实现为微处理器、微控制器、数字信号处理器、fpga、定制半导体和分立电路中的至少一种。

根据各种实施例,处理器330包括组合的神经模型332。可通过不同类型的神经网络的组合来配置组合的神经模型332。至少一个神经网络确定内容是否应替换或补充消息。此外,不同类型的神经网络可以计算可显示在相同矢量空间中的各种类型的多媒体的度量值。在此,组合的神经模型332是存储在存储单元320中的指令集或代码,可以是其中至少临时地驻留在处理器330中的指令/代码的存储空间或者可以是构成处理器330的电路的一部分。

根据各个实施例提供的内容搜索技术可以基于人工智能(ai)系统及其应用,该ai系统使用机器学习算法(诸如深度学习)来模拟诸如人脑的识别和判断之类的功能。各种实施例旨在经由电子通信提供上下文敏感的内容搜索工具,特别是内容建议。所呈现的各种实施例可以用于所有类型的对话中,用户希望使用媒体项来补充对话的消息。因此,通过生成简短的表示性消息,可以进行非常有活力的对话换句话说就是丰富的对话。

现有的搜索系统要求用户发起搜索并输入关键字。然而,根据各种实施例的系统可以在后台安静地分析对话,并且可以提议可以被添加到对话的相关媒体内容,而不会强迫用户执行附加搜索。

与其他搜索系统不同,根据各种实施例的搜索系统相比于被动地消耗媒体可能更适合于交互目的。不同用户之间的对话可根据其情绪状态而变化。因此,根据各种实施例的搜索系统不仅基于一般的用户偏好而且还基于对话的文本来提议媒体内容,从而是适用于媒体-上下文的。根据各种实施例的搜索系统可以分析用户的情绪状态并且可以据此做出反应。此外,根据各种实施例,搜索系统可以使用频繁更新的数据库来提供适合于用户的新鲜内容(针对特定情况)。

图4示出了根据本公开实施例的内容搜索的流程图。图4示出了服务器120与电子设备110之间的信号交换。

参照图4,在操作401中,服务器120更新内容数据库。服务器120可以使用可通过因特网访问的各种网站来更新数据库。根据实施例,可以周期性地执行数据库的更新。因此,服务器120可以连续提供新内容。此外,服务器120可以确定用于更新的内容的度量值。该度量值是用于将消息与内容进行比较的归一化信息,并且可以使用神经网络来确定。

在操作403中,电子设备110识别文本。例如,电子设备110可以识别用户键入的消息内的文本。在另一个示例中,电子设备110可以识别从对话伙伴接收到的消息中的文本。即,从接收或发送的消息中提取文本。

在操作405中,电子设备110可以将文本和对内容的请求发送到服务器120。例如,电子设备110的客户端sms/消息收发应用将文本发送到负责执行处理的服务器120。电子设备110可以请求服务器120搜索与文本的情绪状态以及上下文和含义匹配的内容。换句话说,电子设备110将发送或接收的消息内的文本发送到服务器120并请求与文本匹配的内容。为此,可以定义用于文本传输和内容请求的单独的数据格式。例如,数据格式可以包括以下至少之一:文本、指示已经被请求的文本的内容的信息、指示期望的内容类型的信息以及与用户或电子设备110有关的附加信息。

在操作407中,服务器120确定从电子设备110接收到的文本的度量值。服务器120确定指示文本的情绪状态以及上下文和含义的度量值。为了确定度量值,服务器120可以使用神经网络。在此,可以确定所请求的内容是对消息的响应还是对消息的补充。度量值可以具有包括多个数值矢量的矢量形式。度量值可以称为“表示”。

在操作409中,服务器120基于度量值来搜索并选择与消息匹配的内容。服务器120存储各种类型的内容的度量值并且存储各条内容的度量值。因此,为了搜索匹配的内容,服务器120可以在操作409中将所生成的消息的度量值与所存储的内容的度量值进行比较。当度量值具有矢量形式时,服务器120可选择与在矢量之间具有最小距离(例如欧几里德距离)的度量值相对应的内容。

在操作411中,服务器120将内容发送到电子设备110。这里,服务器120可以发送单条内容或者可以发送两条或更多条内容。当发送两个或更多条内容时,电子设备110可以从中选择内容。根据另一实施例,可以发送用于获取内容的信息(例如统一资源定位符(url))而不是内容。

在操作413,电子设备110显示内容。例如,电子设备110可将内容与消息一起显示或者可通过用消息替换消息来显示内容。在另一示例中,电子设备110可通过将内容与消息组合来配置新内容并且可以显示新配置的内容。

在参考图4描述的实施例中,服务器120预先更新与内容有关的数据库。然而根据另一实施例,服务器120可以接收对内容的请求并且然后通过互联网搜索内容。在这种情况下,可以省略操作401。

此外,在参考图4描述的实施例中,用于消息的度量值由服务器120确定。然而,根据另一实施例,消息的度量值可以由电子设备110生成。在这种情况下,操作407和409可以由电子设备110执行,并且可以进一步执行附加的发送度量值的操作而不是在操作405中发送消息的操作。

如上所述,产生指示文本的情绪状态和含义的度量值。各个实施例采用指示消息中文本的情绪状态和含义的度量值。通过使用度量值,可以确保快速有效的搜索,并且服务器可以容易地执行与消息的情绪状态和含义匹配的内容搜索。例如,文本中的所有词都被训练过程中获得的量化矢量所代替。之后,通过一系列数学运算,神经网络可以从一系列词矢量中计算出单个矢量。单个矢量捕获整个句子的含义,并将其视为句子的度量值。在下文中,参考图5a和图5b描述与度量值的确定有关的更详细的实施例。

图5a示出了根据本公开实施例的用于确定度量值的流程图。图5a例示了用于操作服务器120的方法。但是根据多种实施例,图5a中的过程可以被理解为用于操作电子设备110的方法。图5b示出根据本公开实施例的生成各种类型的内容的度量值的示例。

参照图5a和5b,在操作501中,服务器可以确定与对象的元素相对应的数值矢量。在此,对象可以是从电子设备(例如电子设备110)接收的文本或者可以是存储在数据库中的内容。例如,如图5b所示,对象可以是文本510、图像520、视频文件530或音频文件540。具体地,当对象是文本510时,服务器确定每个句子成分,即与各个词相对应的数值矢量。数值矢量可以对应于相应词的含义以及与相应词和另一个词的关系中的至少一个。在另一示例中,当对象是图像520时,服务器确定与各个像素或像素块相对应的数值矢量。在又一示例中,当对象是视频文件530时,服务器确定与各个帧相对应的数值矢量。这里,为了确定与各个帧相对应的数值矢量,服务器可以预先确定与帧内的各个像素以及各个像素块相对应的数值矢量。在另一个示例中,当对象是音频文件540时,服务器可以确定与通过根据特定标准对音频进行划分而定义的各条数据相对应的数值矢量。例如,可以通过根据诸如频率轴和时间轴的各种标准进行划分来定义每条数据。可以预先定义用于将元素转换为数值矢量的规则,并且可以通过训练过程来更新规则。在此,可以确定所请求的内容是对消息的响应还是对消息的补充。

在操作503中,服务器从数值矢量确定单个度量值。可以基于从诸元素计算出的数值矢量来导出指示对象(例如文本)的情绪状态和含义的度量值。服务器将对象的分析结果转换为可以与另一内容类型进行比较的类型信息。具体地,服务器可以通过对数值矢量执行数学运算来确定单个度量值。为此,服务器可以使用神经网络来处理消息。例如,可以将递归神经网络(rnn)和卷积神经网络(cnn)中的至少一个用作神经网络。例如,如图5b所示,文本510的度量值514可以由rnn512确定,图像520的度量值524可以由深层cnn522确定,视频文件530的度量值534可以由rnn532以及用于视频的cnn确定,并且音频文件540的度量值544可以由用于音频的cnn542确定。

如参考图5a和图5b所示,服务器使用的组合的神经模型可被配置为不同类型的神经网络的组合。不同类型的神经网络可以计算可在同一数值矢量空间500中显示的各种多媒体的度量值。使用神经模型计算的各种内容的度量值可包含在同一数值矢量空间500中并且可存储在服务器的数据库中。不同类型内容的度量值存在于同一数值矢量空间500中,以便可确定不同类型的内容之间的相似性。因此,服务器可提出与消息文本的情绪状态和含义匹配的各种类型的内容,并且可容易地将消息与各种类型的内容进行比较和匹配。

如参考图5a和图5b所述,从数值矢量确定度量值。从数值矢量确定度量值的操作可以被不同地定义。根据实施例,可以使用权重值来定义确定度量值的操作。例如,可以如等式1中那样确定度量值。

h(t)=tanh(w1×v(t)+w2×h(t-1))等式1

在等式1中,h(t)是网络的第t个时间步长中的隐藏状态,v(t)表示时间步长t中词的数值矢量,并且w1和w2表示权重值的内部矩阵。

对多个数值矢量重复诸如等式1的运算,并且将完成所有数值矢量的运算的h(t)确定为度量值。即,在每个时间步长中以循环方式执行等式1的运算。换句话说,一个时间步长的输出被用于另一时间步长的计算。处于最后状态的隐藏矢量(即隐藏状态)被视为输入(例如文本)的度量值。

根据所描述的各种实施例,可以使用多条候选内容片段的度量值来检索与消息匹配的内容。根据实施例,可以通过潜在的语义哈希处理(在下文中称为“lsh”)对生成的内容度量值进行分组,以便容易地执行匹配操作。分组和匹配操作lsh可以如参照图6a和图6b中所描述的那样执行。

图6a示出了根据本公开实施例的用于搜索分组内容的流程图。图6a例示了用于操作服务器120的方法。图6b示出了根据本公开实施例的对内容进行分组和内容搜索的示例。

参照图6a和6b,在操作601中,服务器收集内容并生成内容的度量值。例如,如图6b所示,在收集了多条内容602之后,可以经由神经网络604(例如cnn)来确定度量值。在此,神经网络实质上建立了从大数量的多条内容中获得的度量值的图形模型。

在操作603中,服务器对内容进行分组。例如,服务器可以基于lsh对度量值进行分组。lsh是一种基于每个点的距离度量将选定空间中的点分组到桶(bucket)的技术。根据lsh,在选择的度量之下,相邻点很有可能被映射到同一桶。当将lsh应用于对内容的分组时,点对应于相对于媒体项目计算出的度量值(例如表示矢量)。根据lsh,数据库内的内容被分组到桶,并且具有相似度量值的内容可以被包括在同一桶中。就是说,如参照图6b所示,可以确定桶606,使得具有相似度量值的内容被包括在单个桶中。

在操作605,服务器确定是否发生了对内容搜索的请求。服务器确定是否从电子设备接收到对文本的请求和对与文本相关的内容的请求。例如,如图6b所示,可以接收到文本612。

当发生对内容搜索的请求时,在操作607中服务器搜索相应的桶。为此,服务器可以确定文本的度量值,可以基于该度量值选择一个桶并且可以在选定的桶中执行搜索。例如,如图6b所示,度量值616可以由神经网络614(例如rnn)确定,并且可以通过相对于度量值616执行最近邻居搜索来选择一条内容618。即,输入文本触发对属于一个桶的内容的搜索,并且可以通过输入文本的哈希函数结果来确定该桶。

因此,可以将内容的度量值映射到矢量空间,以使得度量值通过潜在的语义哈希而被定位在语义相似的内容附近的地址上。可以简单地通过访问所有在语义上类似于该内容的地址并且仅相差几个比特的其他内容地址来找到要搜索的内容。换句话说,具有度量值的内容(其lsh技术相似)被分组到同一桶中,因此仅在一个桶中请求执行对一个输入的搜索。因此,可以使用lsh技术来减少要搜索的对象。扩展相应编码的效率的lsh方案比位置敏感的哈希处理更快且更有效率。

根据lsh执行的分组可以促进内容搜索。例如,在搜索与消息匹配的内容的情况下,可以通过对消息的分析(例如使用rnn的分析)来确定度量值。此后,基于根据lsh的分组,服务器可以针对该度量值执行最近邻居搜索,以确定匹配内容。

根据描述的各种实施例,可以使用基于神经网络确定的度量值来确定不同类型的内容之间的相似性。在此,可以通过对神经网络进行训练来更新神经网络的参数。在下文中,将参考图7描述神经网络训练的实施例。

图7示出了根据本公开实施例的用于组合的神经模型的训练过程。图7示出了与端到端方案相对应的训练模型,并且描述了可以如何使用一组带注释的多模态数据在端到端方案中联合训练多模态神经模型的示例。

参照图7,用匹配内容注释的消息建立大型语料库700。这里,可以通过反向传播过程来训练由注释的消息组合的组合的神经模型710。在图7中,权重值w1、w2和w3是神经网络的参数并且是用于内部计算的数值矩阵值。权重值可以通过反向传播算法来更新。增量规则是用于以反向传播算法更新权重值的规则。“输入”是指文本,“输出”是指通过反向传播算法处理的文本。实际标签是指在带注释的训练数据中的一对实际的多模态数据。

可基于预测误差的梯度来确定增量规则。可基于实际输出与目标值之间的差(例如两者之间的差的平方)来确定预测误差。预测误差可称为“成本函数”。

组合的神经模型710被配置为不同类型的神经网络的组合。至少一个神经网络包括作为元素的权重值并使用该权重值来处理数据。至少一个神经网络将内容输入数据和权重值相乘,以便创建新信号并通过新信号的总和导出输出度量值。因此,为了使神经网络执行对新数据的训练,必须进行适当的权重值更新。训练包括更新权重值,即用于配置神经网络的参数。

可以通过从补充有匹配内容的消息的大型语料库700反向传播来以端对端方案训练组合的神经模型710。反向传播是神经网络中使用的一种训练算法,该训练方法对应于监督学习。为了执行训练,需要输入数据和期望的输出数据。通过多次重复将输入数据与神经网络的权重值w1、w2和w3相乘和相加的操作来获得输出度量值,即内容输入数据的结果值。这里,输出度量值可以不同于由补充有匹配内容的消息的大型语料库700给出的期望度量值。补充有匹配内容的消息的大型语料库700是已经对其执行了训练的数据。结果,在神经网络中出现输出度量值与期望度量值之间的误差,并且通过增量规则来更新权重值,这是用于适当地更新权重值以最小化误差的方法。更新权重值的方向与处理神经网络的方向相反,其中通过神经网络将权重值更新称为反向传播算法。因此,从不同的神经网络结构生成并使用因特网更新的内容的度量值自动包含在同一矢量空间中。当正确地执行了组合的神经模型710的训练时,可以生成新内容和未知内容的度量值。

如图7所示,基于反向传播算法的训练过程可以按以下顺序执行。首先,神经网络计算消息m和内容项i的分数。此后,计算相对于网络权重值w的损失函数j的梯度。损失函数是度量来自于关于训练对的期望值和网络的分数之间的差的函数。该过程可以表示为以下等式2。

j=0.5×(分数(m,i)-y)2

wgrad=δj/δw

…等式2

在等式2中,j表示损失函数,m是消息,i是中间项目(mediumitem),y是设置为0或1的变量,在训练数据为肯定示例的情况下,y值设置为1,如果训练数据为否定示例的情况下,则将y设置为0。wgrad是权重值的变化量。

因此,此后根据等式3更新模型权重值。

wnew=wold-α×wgrad等式3

在等式3中,wnew是新的权重值,wold是先前的权重值,α是反映学习率的参数,wgrad是权重值的变化量。

根据该训练过程,修改网络权重值,以便将高分分配给肯定示例,将低分分配给否定示例。

根据所描述的实施例,基于神经网络,可以生成与文本或内容相对应的度量值,并且可以基于度量值来检索与文本的含义匹配的内容。因此,用户可以通过将适当的内容添加到要接收或发送的消息中来体验新的消息服务。用于提供该内容搜索服务的电子设备的操作如下。

图8示出了根据本公开实施例的用于由电子设备提供内容的流程图。图8例示了用于操作电子设备110的方法。

参照图8,在操作801中,电子设备识别文本。例如,文本可以被包括在由消息收发应用发送或接收的消息中。电子设备识别在执行消息收发应用期间发送或接收的消息中包括的文本。在此,文本可以是消息的一部分,并且消息的该部分可以通过用户输入来指定。

在操作803中,电子设备确定映射文本的情绪状态和上下文的候选内容。具体地,电子设备将与文本有关的信息发送到执行内容搜索的外部服务器(例如服务器120)并且从外部服务器接收与候选内容有关的信息。例如,与文本有关的信息可以包括文本本身或从文本生成的度量值。

在操作805中,电子设备显示候选内容。可以根据类型对候选内容进行分类。候选内容以缩略图或预览的形式显示,并且可以与用于检测用户选择的界面一起显示。

在操作807中,电子设备将所选内容插入消息中。将内容插入消息中的步骤包括以下至少一项:将添加内容作为消息的一部分,以及生成由内容配置的消息。可以插入内容本身或者可以插入用于获取内容的信息(例如url)。

根据参考图8描述的实施例,电子设备可以向用户提供与文本有关的内容。根据实施例,文本可以被包括在发送或接收的消息中。在这种情况下,用户可能会体验到更丰富的消息收发服务。在下文中,描述了与发送消息的情况和接收消息的情况有关的更具体的实施例。

图9a示出了根据本公开实施例的用于提供与由电子设备发送的消息相对应的内容的流程图。图9a例示了用于操作电子设备110的方法。图9b、9c、9d和9e示出了根据本公开实施例的由提供与发送的消息相对应的内容的电子设备显示的屏幕的示例。

参考图9a、9b、9c、9d和9e,在操作901中,电子设备识别输入消息。例如,可以通过显示在触摸屏上的键来输入消息。即,电子设备可以在消息收发应用的执行期间识别通过输入装置从用户输入的消息。电子设备可以显示从用户输入的消息。

在操作903中,电子设备确定是否检测到内容搜索命令。内容搜索命令可以被不同地定义。根据实施例,如图9b中的屏幕910中所示,内容搜索命令可以被定义为按下已被定义用于内容搜索的按钮912(例如“s”)。根据另一实施例,如图9b的屏幕920中所示,可以通过选择通过长按或者选择文本而显示的菜单中的用于内容搜索命令的项目922(例如“媒体搜索”)来定义内容搜索命令。

如果未感测到内容搜索命令,则在操作905中电子设备确定是否检测到消息发送命令。当在没有内容搜索命令的情况下检测到消息发送命令时,在操作907中,电子设备发送输入消息。电子设备在没有内容搜索的情况下发送消息。

另一方面,当检测到内容搜索命令时,在操作909中,电子设备显示内容列表。根据实施例,在显示内容列表之前,电子设备可以显示请求选择内容类型的界面。例如,如图9c的屏幕930中所示,可以显示包括指示内容类型的多个项目(“图像”、“视频”和“音乐”)的弹出窗口932。内容列表可以包括多条内容的缩略图或预览。内容列表可以根据内容类型来分类。例如,如图9d的屏幕940中所示,内容列表可以包括内容类型的指示942和内容的预览图像944。用户可以通过内容类型的指示942来改变包括在列表中的内容的类型。电子设备可以响应于用户的刷动输入来滚动浏览列表。

在操作911中,电子设备可以确定是否检测到内容选择。即,电子设备确定是否在显示的列表中选择了一条内容。根据实施例,响应于内容选择,电子设备可以进一步显示用于确认内容选择的界面(例如弹出窗口)。

在操作913中,电子设备发送与消息和内容有关的信息。响应于内容选择,电子设备向对方电子设备发送其中插入了该内容的消息。与该内容有关的信息可以包括内容本身和用于获取该内容的信息(例如url)。因此,电子设备显示消息和内容。例如,如在图9e的屏幕950中所示,可以显示发送消息和检索到的内容952。在另一示例中,如图9e中的屏幕960所示,可以显示包括检索到的消息的url964和检索到的内容962的发送消息。

图10a示出了用于提供与由本公开的电子设备接收的消息相对应的内容的流程图。图10a例示了用于操作电子设备110的方法。图10b、10c、10d和10e示出了根据本公开实施例的提供与接收到的消息相对应的内容的电子设备显示的屏幕的示例。

参照图10a、10b、10c、10d和10e,在操作1001中,电子设备接收并显示消息。在执行消息收发应用期间,电子设备可以在显示装置上显示从对方电子设备接收到的消息。

在操作1003中,电子设备确定是否检测到内容搜索命令。内容搜索命令可以被不同地定义。根据实施例,如在图10b的屏幕1010中所示,可以通过在通过选择和长按文本而显示的菜单内选择用于内容搜索命令的项目1012(例如“媒体搜索”)来定义内容搜索命令。在这种情况下,电子设备响应于用户的拖动来突出显示消息中的文本的一部分、响应于长按突出显示的文本来显示菜单并识别用户的对项目的选择。

在操作1005中,电子设备显示内容列表。根据实施例,在显示内容列表之前,电子设备可以显示请求选择内容类型的界面。例如,如在图10c的屏幕1020中所示,可以显示包括指示内容类型的多个项目(例如“图像”、“视频”和“音乐”)的弹出窗口1022。内容列表可以包括多条内容的缩略图或预览。内容列表可以根据内容类型来分类。例如,如图10d的屏幕1030中所示,内容列表可以包括内容类型指示1032和内容的预览图像1034。用户可以通过内容类型的内容类型指示1032来改变列表中包括的内容的类型。

在操作1007中,电子设备可确定是否检测到内容选择。即,电子设备确定是否选择了内容列表中包括的多条内容之一。根据实施例,响应于用户的内容选择,电子设备可进一步显示用于重新确认内容选择的界面(例如弹出窗口)。

在操作1009中,电子设备发送与所选内容有关的信息。电子设备可将关于所选内容的信息发送到已发送接收的消息的对方电子设备。与该内容有关的信息可以包括该内容本身或用于获取该内容的信息(例如url)。根据另一实施例,电子设备可以显示选择的内容,而不是发送与选择的内容有关的信息。如图10e的屏幕1040中所示,可以显示接收的消息和检索到的内容1042。

根据各种所描述实施例的搜索系统处理文本格式的消息。然而,根据另一实施例,搜索系统可以被扩展不同类型的输入(例如语音消息)。该搜索系统可以应用于语音通信器等。例如,外部模块可以将语音消息信号转换为文本格式,并且搜索系统可以基于转换后的文本根据上下文执行媒体搜索。此外,搜索系统可以提出一种实时地直接对语音消息起作用的算法。当使用诸如语音消息之类的输入时,可以利用诸如语调或重音之类的附加特征。

根据本公开的各种实施例,搜索系统可以基于用户选择来生成和更新用户模型。用户模型可以重新确定内容搜索级别。因此,搜索系统可以通过应用用户偏好来执行内容搜索。例如,搜索系统可以优先搜索另一个网站上的内容而不是单个网站上的内容。搜索系统可以优先搜索特定类型的内容(例如照片、歌曲、视频片段等)。搜索系统可以使特定类型的内容与特定情绪相匹配。例如,搜索系统可以通过使用快乐的人的图像来表示喜悦,并且可以通过使用小动物的图像来表示爱和温柔。

根据本公开的各种实施例,搜索系统可以手动选择预定义的类别并且可以基于用户选择来执行内容搜索。例如,预定义类别可以表示最常见的情绪,例如喜悦、悲伤、愤怒和惊奇。搜索系统可以通过输入类别名称来搜索内容。

在所描述的各种实施例中,搜索系统基于用户输入(例如消息)来搜索内容。根据另一实施例,除了用户输入之外,还可以基于其他附加信息来搜索内容。此外,附加信息不仅可以用于内容搜索而且可以用于内容修改。下面参考图11描述使用附加信息的实施例。

图11示出了根据本公开实施例的用于由服务器基于附加信息搜索和处理内容的流程图。图11例示了用于操作服务器120的方法。

参考图11,在操作1101中,服务器获取附加信息。附加信息表示除了消息(例如文本消息)以外的信息,该信息是内容搜索的主要标准并且是由电子设备(例如电子设备110)提供的。例如,附加信息可以包括以下至少之一:用户生物统计信息、电子设备的位置信息、时间信息、由传感器测量得到的感测信息、用户订阅信息(例如级别)、电子设备型号信息、电子设备的硬件能力信息。附加信息可以与从电子设备接收的内容请求一起接收、可以从管理订户信息的管理服务器接收或者可以在服务器内部生成。

在操作1103,服务器搜索内容。为此,服务器可以确定消息中包括的文本的度量值,并且可将文本的度量值与存储在数据库中的内容的度量值进行比较。根据各种实施例,服务器可以基于附加信息来搜索内容。根据实施例,服务器可通过进一步考虑附加信息来确定度量值。即,服务器可将附加信息转换为文本,并且可确定与消息中包括的文本以及从附加信息生成的文本相对应的度量值。根据另一实施例,服务器可基于附加信息来限制搜索范围。换句话说,服务器可基于附加信息来确定用于搜索的内容池。具体地,可将存储在数据库中的内容分为多个组,并且可根据诸如时区、位置、用户级别和电子设备的硬件能力的各种类型的附加信息将每个组设置为选择性地可用。

在操作1105,服务器处理内容。例如,服务器可以以适合于电子设备的硬件能力、正在运行的应用等的格式来处理内容。这里,适当的形式表示可在由附加信息指定的条件(例如分辨率、编解码器、允许的类型等)指定的条件下显示或再现内容的状态,或者是用户优选的状态。例如,服务器可改变分辨率、编解码器和内容的类型中的至少一个或者可组合两个或更多条内容。

在操作1107中,服务器发送内容。根据另一实施例,可以发送用于获取内容的信息(例如url)而不是内容。

在参考图11描述的实施例中,服务器处理并且然后发送内容。当检索到多条内容时,服务器可以处理所有检索到的内容或者可以处理用户选择的单条内容。当仅处理用户选择的单条内容时,服务器可以发送内容、可以接收指示用户选择的反馈信息并且然后可以处理由反馈信息指示的内容。

根据另一实施例,电子设备可执行内容处理。在这种情况下,服务器可发送内容而不处理内容,并且已接收内容的电子设备可处理内容。根据另一实施例,用于内容处理的操作1105可以既不由电子设备也不由服务器执行。

在参考图11描述的实施例中,服务器可以基于附加信息来搜索内容。基于附加信息的内容搜索的特定操作可以根据附加信息的类型而变化。

例如,当使用时间信息时,服务器可以识别当前时间所属的时区,并且可以在与所识别出的时区相对应的组内执行搜索。即,可用内容可以根据时区而变化,并且用户可以使用与当前时间相对应的时区中可用的内容。

在另一示例中,当使用用户级别时,服务器向管理服务器查询用户级别,并且可以在根据用户级别允许的至少一个组内执行搜索。因此,可以提供根据用户级别而不同的内容搜索服务。

根据所描述的各种实施例,可以提供与消息等匹配的内容。在用于所描述的内容搜索的各种实施例中,在通过消息收发应用的对话期间可以将其中取决于附加信息受限的内容的实施例应用于表情符号的使用。例如,可用表情符号可能会根据用户级别受到限制。为了确定表情符号列表,如果考虑了消息中包括的文本的含义,则可以类似于根据各种所描述的实施例的内容搜索来处理表情符号的使用。

图12示出了根据本公开实施例的由电子设备基于附加信息搜索和处理内容的流程图。图12例示了用于操作电子设备110的方法。

参考图12,在操作1201中,电子设备检测用于显示表情符号列表的输入。在消息收发应用正在运行期间,电子设备可以检测到来自用户的输入。例如,输入包括在与表情符号有关的项目(例如图标)上的触摸输入。

在操作1203中,电子设备基于消息来确定要显示的一组表情符号。例如,该消息是由消息收发应用接收或发送的消息之一,例如最近接收或发送的消息。一组表情符号的信息可以包括以下至少之一:至少一个表情符号的至少一个图像、至少一个表情符号的至少一个标识以及用于下载至少一个表情符号的信息。为此,电子设备可以将消息的文本发送到服务器并且可以接收表情符号集的信息。服务器可以根据上述各种实施例来确定文本的度量值并选择表情符号集。此外,在另一实施例中,服务器可以考虑附加信息,诸如时区、位置、用户级别和电子设备的硬件能力。

在操作1205中,电子设备显示表情符号列表。即,电子设备显示表示基于消息而确定的表情符号集的项目。表情符号集可以是存储在电子设备中的整个表情符号的一部分。此后,电子设备可以响应于检测到项目中的一项上的输入而发送表情符号。

根据权利要求书和/或本公开的说明书所述的实施例的方法可以以硬件、软件或硬件和软件的组合来实现。

当这些方法以软件实现时,可以提供用于存储一个或多个程序(软件模块)的计算机可读存储介质。可以将存储在计算机可读存储介质中的一个或多个程序配置用于由电子设备内的一个或多个处理器执行。该至少一个程序可以包括使得电子设备执行根据由所附权利要求限定和/或本文公开的本公开的各种实施例的方法的指令。

程序(软件模块或软件)可存储在非易失性存储器中,非易失性存储器包括随机存取存储器和闪存、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、磁盘存储设备、致密盘-rom(cd-rom)、数字多功能光盘(dvd)或其他类型的光学存储设备或磁带。可替代地,上述存储器中的一些或全部的任何组合可形成存储程序的存储器。此外,在电子设备中可以包括多个这样的存储器。

另外,程序可以存储在可连接的存储设备中,该可连接的存储设备可通过诸如因特网、内联网、lan、wan、存储区域网络(san)或其组合的通信网络访问。这样的存储设备可以经由外部端口访问电子设备。此外,通信网络上的单独的存储设备可以访问便携式电子设备。

在本公开的上述详细实施例中,根据所呈现的详细实施例,本公开中包括的组件以单数或复数表示。然而,为了便于描述,选择单数形式或复数形式以适合于所呈现的情况,并且本公开的各种实施例不限于其单个元素或多个元素。此外,可以将说明书中表示的多个元素组合成单个元素或者可以将说明书中的单个元素配置为多个元素。

尽管已经参考本公开的各种实施例示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物定义的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1