用于获取信息的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于获取信息的方法和装置。
背景技术
通常,每一个用户均拥有若干标签(例如,男生、女生、城市、性别等)。信息推送者在推送信息之前会根据自己的待推送信息受众选择合适的标签,以圈定一定数量的用户。从而使信息推送更具有针对性。
现有的方式,通常是依次从用户集中进行用户选取。例如,若需要筛选出北京或天津地区24-30岁的男士,则通常可以首先筛选出男性用户,而后,再从所筛选出的男性用户中筛选出北京或天津地区的用户,最后从中筛选出24-30的用户。
发明内容
本申请实施例提出了用于获取信息的方法和装置。
第一方面,本申请实施例提供了一种用于获取信息的方法,该方法包括:接收信息获取指令,其中,信息获取指令包括用于检索目标用户的表达式,表达式中的操作数为用户标签;将表达式进行词法分析,按照预设规则转换为目标序列;对目标序列进行语法分析,生成目标表达式;将目标表达式转换为指定组件支持的领域特定语言,利用指定组件对目标用户进行检索;获取指定组件返回的检索结果。
在一些实施例中,信息获取指令用于指示预估目标用户的数量;以及将目标表达式转换为指定组件支持的领域特定语言,利用指定组件对目标用户进行检索,包括:从预置的用户集中抽样选取部分用户;将目标表达式转换为指定组件支持的领域特定语言;利用指定组件,从所选取的用户中检索目标用户。
在一些实施例中,在获取指定组件返回的检索结果之后,该方法还包括:确定所检索出的目标用户的数量;基于数量,预估用户集中的目标用户的总数量。
在一些实施例中,信息获取指令用于指示获取目标用户集合;以及将目标表达式转换为指定组件支持的领域特定语言,利用指定组件对目标用户进行检索,包括:将目标表达式转换为指定组件支持的领域特定语言;利用指定组件,从预置的用户集中检索目标用户。
在一些实施例中,在获取指定组件返回的检索结果之后,该方法还包括:向所检索出的目标用户推送指定信息。
第二方面,本申请实施例提供了一种用于获取信息的装置,该装置包括:接收单元,被配置成接收信息获取指令,其中,信息获取指令包括用于检索目标用户的表达式,表达式中的操作数为用户标签;词法分析单元,被配置成将表达式进行词法分析,按照预设规则转换为目标序列;语法分析单元,被配置成对目标序列进行语法分析,生成目标表达式;转换单元,被配置成将目标表达式转换为指定组件支持的领域特定语言,利用指定组件对目标用户进行检索;获取单元,被配置成获取指定组件返回的检索结果。
在一些实施例中,信息获取指令用于指示预估目标用户的数量;以及转换单元,进一步被配置成:从预置的用户集中抽样选取部分用户;将目标表达式转换为指定组件支持的领域特定语言;利用指定组件,从所选取的用户中检索目标用户。
在一些实施例中,该装置还包括:确定单元,被配置成确定所检索出的目标用户的数量;预估单元,被配置成基于数量,预估用户集中的目标用户的总数量。
在一些实施例中,信息获取指令用于指示获取目标用户集合;以及转换单元,进一步被配置成:将目标表达式转换为指定组件支持的领域特定语言;利用指定组件,从预置的用户集中检索目标用户。
在一些实施例中,该装置还包括:推送单元,被配置成向所检索出的目标用户推送指定信息。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实施例的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如如第一方面中任一实施例的方法。
本申请实施例提供的用于获取信息的方法和装置,首先接收信息获取指令,这里的信息获取指令包括用于检索目标用户的表达式,表达式中的操作数为用户标签。而后对表达式依次进行词法分析和语法分析,生成目标表达式。最后,将目标表达式转换为指定组件支持的领域特定语言,利用指定组件对目标用户进行检索,从而获取指定组件返回的检索结果。由于可以将多种检索条件写入表达式,因此,基于表达式进行目标用户的检索,能够实现在复杂检索条件下对用户的有效检索。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于获取信息的方法的一个实施例的流程图;
图3是根据本申请的用于获取信息的方法的一个应用场景的示意图;
图4是根据本申请的用于获取信息的方法的又一个实施例的流程图;
图5是根据本申请的用于获取信息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于获取信息的方法或用于获取信息的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如语音交互类应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对用户集中的用户进行检索的检索服务器。检索服务器可以接收终端设备101、102、103发送写信息获取指令,从而对该指令进行响应。其中,上述信息获取指令可以包括用于检索目标用户的表达式,上述表达式中的操作数可以是用户标签。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的用于获取信息的方法一般由服务器105执行,相应地,用于获取信息的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于获取信息的方法的一个实施例的流程200。该用于获取信息的方法,包括以下步骤:
步骤201,接收信息获取指令。
在本实施例中,用于获取信息的方法的执行主体(例如图1所示的服务器105)可以接收信息获取指令。其中,上述信息获取指令可以包括用于检索目标用户的表达式。上述表达式中的操作数可以是用户标签。
此处,用户标签可以用于表征用户的特征,例如年龄、性别、爱好、地区等。通常,用户标签可以用字符串来表示。
实践中,表达式由操作数、运算符(例如,交“&”、并“|”、差“~”)和括号组成。表达式习惯的书写形式是一个双目运算符(binary operator)位于两个操作数之间,如“a&b”。其中,a、b分别为操作数。这类表达式称为中缀表达式(infix expression)。除了双目运算符外,还有单目运算符(unary operator),如“~a”。当使用括号时,从最内层括号开始计算;对于相邻的两个运算符,优先级高的先计算;如果两个运算符的优先级相同,运算次序由结合方向决定。
这里,上述用于检索目标用户的表达式可以是中缀表达式。表达式中,括号的优先级高于交、并、差运算符。并且,交、并、差运算符的优先级相同。
作为示例,信息获取指令中的用于检索目标用户的表达式,可以是“(110010978|110010979)&(110010407&110010411)~100072297”。该表达式可以用于检索出满足“北京或天津地区24-30岁的非游戏爱好的男士”条件的目标用户。其中,110010978是用于指示用户所在地位于北京的用户标签。110010979是用于指示用户所在地位于天津的用户标签。110010407是用于指示用户年龄位于24-30岁的用户标签。110010411是用于指示用户性别为男性的用户标签。100072297是用于指示用户具有游戏爱好的用户标签。
步骤202,将表达式进行词法分析,按照预设规则转换为目标序列。
在本实施例中,上述执行主体可以利用各种现有的用于进行词法分析的工具或者函数,将上述表达式进行词法分析,并按照预设规则转换为目标序列。
实践中,词法分析(lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程。进行词法分析的工具或者函数叫作词法分析器(Lexical analyzer,Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。词法分析器可以从左至右地对上述表达式进行扫描,按照语言的词法规则识别各类单词,并产生相应单词的属性字。
在词法分析过程中,具体地,可以首先按照从左到右的顺序,确定出表达式中的操作数、运算符和括号。此处,可以将运算符和括号统称为操作符。而后,可以按照预设规则将上述表达式转换为目标序列。作为示例,预设规则可以用于将上述表达式转换为操作符在前面,而后依次为左操作数、右操作数的目标序列。
继续步骤201中的示例,在该示例中,用于检索出满足“北京或天津地区24-30岁的非游戏爱好的男士”条件的目标用户的表达式为“(110010978|110010979)&(110010407&110010411)~100072297”。对该表达式进行词法分析,首先依次确定出操作数“110010978”、“110010979”、“110010407”、“110010411”、“100072297”,以及,可以依次确定出操作符“(”、“|”、“)”、“&”、“(”、“&”、“)”、“~”。而后,可以重新对操作数、操作符进行组合以及处理(例如添加逗号),从而得到目标序列“~(&,(|,(110010978),(110010979)),(&,(110010407),(110010411))),(100072297)”。
步骤203,对目标序列进行语法分析,生成目标表达式。
在本实施例中,上述执行主体在得到目标序列后,可以对上述目标序列进行语法分析,生成目标表达式。此处,语法分析的目的是使用形式文法表示上述目标序列。实践中,可以采用各种现有的文法进行上述目标序列的表示。例如,可以利用递归的方式进行语法分析,生成目标表达式。
继续上述示例,在得到目标序列“~(&,(|,(110010978),(110010979)),(&,(110010407),(110010411))),(100072297)”之后,上述执行主体可以执行如下语法分析过程。首先,令:
id1=110010978
id2=110010979
T1=id1|id2
id3=110010407
id4=110010407
T2=id3&id4
E1=T1&T2
id5=100072297
E=E1~id5
对上述目标序列进行递归,利用递归的方式得到目标表达式:E=E1~id5=(T1&T2)~id5=(T1&(id3&id4))~id5=((id1|id2)&(id3&id4))~id5。
步骤204,将目标表达式转换为指定组件支持的领域特定语言,利用上述指定组件对目标用户进行检索。
在本实施例中,上述执行主体可以利用现有的转换工具或者模板,将上述目标表达式转换为指定组件支持的领域特定语言,以利用上述指定组件对目标用户进行检索。此处,指定组件可以是能够对目标用户进行检索的各种开源组件。例如,Elasticsearch(一种用于分布式全文检索的引擎)、Hive(基于Hadoop的一个数据仓库工具)、Spark(一种为大规模数据处理而设计的快速通用的计算引擎)等。相应的,可以将目标表达式转换为Elasticsearch DSL、Hive HQL(Hibernate Query Language,查询语言)、Spark(DF/RDD)等。
需要说明的是,领域特定语言(domain-specific language,DSL)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。不同于普通的跨领域通用计算机语言,领域特定语言只用在某些特定的领域。比如用来显示网页的HTML,以及Emacs所使用的Emac LISP语言。此处,上述指定组件支持的领域特定语言可以是上述指定组件能够识别和运行的语言。
在本实施例的一些可选的实现方式中,上述信息获取指令可以用于指示预估目标用户的数量。此时,上述执行主体可以按照如下步骤执行:首先,从预置的用户集中抽样选取部分用户。此处,预置的用户集可以是全量的用于存储用户信息的数据集。上述执行主体可以随机选取部分用户,并记录所选取的用户占总用户的比例。而后,将上述目标表达式转换为指定组件支持的领域特定语言。最后,利用上述指定组件,从所选取的用户中检索目标用户。
在本实施例的一些可选的实现方式中,上述信息获取指令可以用于指示获取目标用户集合。此时,上述执行主体可以按照如下步骤执行:首先,将上述目标表达式转换为指定组件支持的领域特定语言;而后。利用上述指定组件,从预置的用户集中检索目标用户。此处,预置的用户集可以是全量的用于存储用户信息的数据集。
步骤205,获取指定组件返回的检索结果。
在本实施例中,上述执行主体可以获取上述指定组件返回的检索结果。上述执行主体可以将该结果直接反馈给终端设备。实践中,检索结果可以包括目标用户的标识。实践中,用户的标识可以用于指示和区分用户。用户的标识可以是由各种字符(例如数字、字符、符号等)构成的字符串。
在本实施例的一些可选的实现方式中,响应于确定上述信息获取指令用于指示预估目标用户的数量,在获取到检索结果之后,上述执行主体可以基于检索结果,首先确定所检索出的目标用户的数量。而后,可以基于上述数量,预估上述用户集中的目标用户的总数量。具体地,可以将该数量除以所选取的用户占总用户的比例,从而得到目标用户的总数量。
在本实施例的一些可选的实现方式中,响应于确定上述信息获取指令可以用于指示获取目标用户集合,在获取到检索结果之后,上述执行主体还可以向所检索出的目标用户推送指定信息。此处,指定消息可以是针对目标用户而预先设定的消息。例如,针对满足“北京或天津地区24-30岁的非游戏爱好的男士”的用户的指定消息可以是科技资讯等。
继续参见图3,图3是根据本实施例的用于获取信息的方法的应用场景的一个示意图。在图3的应用场景中,服务器301在接收到了信息获取指令302。该指令用于检索出满足某些条件的目标用户。例如,满足“北京或天津地区24-30岁的非游戏爱好的男士”条件。其中,上述信息获取指令包括用于检索目标用户的表达式303。例如“(110010978|110010979)&(110010407&110010411)~100072297”。上述表达式中的操作数为用户标签。
而后,服务器301将上述表达式303进行词法分析,转换为目标序列304。例如,“~(&,(|,(110010978),(110010979)),(&,(110010407),(110010411))),(100072297)”。
之后,服务器301对上述目标序列304进行语法分析,生成目标表达式305。例如,E=E1~id5=(T1&T2)~id5=(T1&(id3&id4))~id5=((id1|id2)&(id3&id4))~id5。
然后,将上述目标表达式305转换为指定组件(例如Elasticsearch)支持的领域特定语言,利用上述指定组件对目标用户进行检索。最后,获取上述指定组件返回的检索结果306。
本申请的上述实施例提供的方法,首先接收信息获取指令,这里的信息获取指令包括用于检索目标用户的表达式,上述表达式中的操作数为用户标签。而后对上述表达式依次进行词法分析和语法分析,生成目标表达式。最后,将上述目标表达式转换为指定组件支持的领域特定语言,利用上述指定组件对目标用户进行检索,从而获取上述指定组件返回的检索结果。由于可以将多种检索条件写入表达式,因此,基于表达式进行目标用户的检索,有助于在复杂检索条件下对用户的有效检索。同时,还可以支持用户标签的扩展。
进一步参考图4,其示出了用于获取信息的方法的又一个实施例的流程400。该用于获取信息的方法的流程400,包括以下步骤:
步骤401,接收信息获取指令。
在本实施例中,用于获取信息的方法的执行主体(例如图1所示的服务器105)可以接收客户端(例如图1所示的终端设备101、102、103)发送的信息获取指令。其中,上述信息获取指令可以包括用于检索目标用户的表达式。上述表达式中的操作数可以是用户标签。
在本实施例中,上述信息获取指令可以用于指示获取目标用户集合。
步骤402,将表达式进行词法分析,按照预设规则转换为目标序列。
在本实施例中,上述执行主体可以利用各种现有的用于进行词法分析的工具或者函数,将上述表达式进行词法分析,并按照预设规则转换为目标序列。在词法分析过程中,具体地,可以首先按照从左到右的顺序,确定出表达式中的操作数、运算符和括号。此处,可以将运算符和括号统称为操作符。而后,可以按照预设规则将上述表达式转换为目标序列。作为示例,预设规则可以用于将上述表达式转换为操作符在前面,而后依次为左操作数、右操作数的目标序列。
步骤403,对目标序列进行语法分析,生成目标表达式。
在本实施例中,上述执行主体在得到目标序列后,可以对上述目标序列进行语法分析,生成目标表达式。此处,语法分析的目的是使用形式文法表示上述目标序列。实践中,可以采用各种现有的文法进行上述目标序列的表示。例如,可以利用递归的方式进行语法分析,生成目标表达式。
步骤404,从预置的用户集中抽样选取部分用户。
在本实施例中,上述执行主体可以从预置的用户集中抽样选取部分用户。此处,预置的用户集可以是全量的用于存储用户信息的数据集。上述执行主体可以随机选取部分用户,并记录所选取的用户占总用户的比例。
步骤405,将目标表达式转换为指定组件支持的领域特定语言。
在本实施例中,上述执行主体可以利用现有的转换工具或者模板,将上述目标表达式转换为指定组件支持的领域特定语言,以利用上述指定组件对目标用户进行检索。此处,指定组件可以是能够对目标用户进行检索的各种开源组件。例如,Elasticsearch(一种用于分布式全文检索的引擎)、Hive(基于Hadoop的一个数据仓库工具)、Spark(一种为大规模数据处理而设计的快速通用的计算引擎)等。相应的,可以将目标表达式转换为Elasticsearch DSL、Hive HQL(Hibernate Query Language,查询语言)、Spark(DF/RDD)等。
需要说明的是,领域特定语言(domain-specific language,DSL)指的是专注于某个应用程序领域的计算机语言。又译作领域专用语言。不同于普通的跨领域通用计算机语言,领域特定语言只用在某些特定的领域。比如用来显示网页的HTML,以及Emacs所使用的Emac LISP语言。此处,上述指定组件支持的领域特定语言可以是上述指定组件能够识别和运行的语言。
步骤406,利用指定组件,从所选取的用户中检索目标用户。
在本实施例中,由于上述指定组件能够对目标用户进行检索,因此,上述执行主体可以利用上述指定组件,从所选取的用户中检索目标用户。
步骤407,获取指定组件返回的检索结果。
在本实施例中,上述执行主体可以获取上述指定组件返回的检索结果。
步骤408,向所检索出的目标用户推送指定信息。
在本实施例中,在得到检索结果后,上述执主体可以向所检索出的目标用户推送指定信息。此处,指定消息可以是针对目标用户而预先设定的消息。例如,针对满足“北京或天津地区24-30岁的非游戏爱好的男士”的用户的指定消息可以是科技资讯等。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于获取信息的方法的流程400突出了向检索出的目标用户推送信息的操作。由此,本实施例描述的方案可以使信息推送者在推送信息之前会根据自己的待推送信息受众选择合适的目标用户,以圈定一定数量的用户。从而使信息推送更具有针对性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于获取信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的用于获取信息的装置500包括:接收单元501,被配置成接收信息获取指令,其中,上述信息获取指令包括用于检索目标用户的表达式,上述表达式中的操作数为用户标签;词法分析单元502,被配置成将上述表达式进行词法分析,按照预设规则转换为目标序列;语法分析单元503,被配置成对上述目标序列进行语法分析,生成目标表达式;转换单元504,被配置成将上述目标表达式转换为指定组件支持的领域特定语言,利用上述指定组件对目标用户进行检索;获取单元505,被配置成获取上述指定组件返回的检索结果。
在本实施例的一些可选的实现方式中,上述信息获取指令可以用于指示预估目标用户的数量。以及,上述转换单元504可以进一步被配置成:从预置的用户集中抽样选取部分用户;将上述目标表达式转换为指定组件支持的领域特定语言;利用上述指定组件,从所选取的用户中检索目标用户。
在本实施例的一些可选的实现方式中,该装置还可以包括确定单元和预估单元(图中未示出)。其中,上述确定单元可以被配置成确定所检索出的目标用户的数量。上述预估单元可以被配置成基于上述数量,预估上述用户集中的目标用户的总数量。
在本实施例的一些可选的实现方式中,上述信息获取指令可以用于指示获取目标用户集合。以及,上述转换单元504可以进一步被配置成:将上述目标表达式转换为指定组件支持的领域特定语言;利用上述指定组件,从预置的用户集中检索目标用户。
在本实施例的一些可选的实现方式中,该装置还可以包括推送单元(图中未示出)。其中,上述推送单元可以被配置成向所检索出的目标用户推送指定信息。
本申请的上述实施例提供的装置,首先接收单元501接收信息获取指令,这里的信息获取指令包括用于检索目标用户的表达式,上述表达式中的操作数为用户标签。而后通过词法分析单元502和语法分析单元503依次对上述表达式进行词法分析和语法分析,生成目标表达式。最后,转换单元504将上述目标表达式转换为指定组件支持的领域特定语言,利用上述指定组件对目标用户进行检索,从而获取单元505获取上述指定组件返回的检索结果。由于可以将多种检索条件写入表达式,因此,基于表达式进行目标用户的检索,有助于在复杂检索条件下对用户的有效检索。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、词法分析单元、语法分析单元、转换单元和获取单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收信息获取指令的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收信息获取请求;将该表达式进行词法分析,按照预设规则转换为目标序列;对该目标序列进行语法分析,生成目标表达式;将该目标表达式转换为指定组件支持的领域特定语言,利用该指定组件对目标用户进行检索;获取该指定组件返回的检索结果。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。