具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种文本消息的处理方法,图1是该文本消息的处理方法的流程示意图。其中,且预先存储有至少一条活动匹配模板,每个活动匹配模板包括活动识别条件、活动类型和文本解析规则,预先存储有活动类型与基于互联网的服务性应用的对应关系。具体地说,如图1所示,在移动终端收到文本消息后,执行以下步骤:
步骤101,判断收到的文本消息是否满足某一活动匹配模板中的活动识别条件,如果满足,则生成对应于该活动匹配模板中活动类型的活动卡片,并以该活动匹配模板中的文本解析规则对该文本消息进行解析,将解析得到的信息填入活动卡片中。
本申请中所称的“文本消息”是指用户移动设备上接收到的含有文本内容的消息载体,可以是短信,微信或者电子邮件等。
优选地,文本消息的来源不固定。可以理解,本申请所称的“文本消息的来源不固定”是指文本消息不是来自固定的一个或几个来源,来源是非特定人,有可能收到来自许多发信人的文本消息(一般无法预测下一文本消息是来自哪一个发信人),例如一个手机收到的短信可以来自各种号码。本申请所称的“来源”是指最初的发信人,可以是服务器,也可以是移动终端,并不是指起中转作用的网络节点或服务器。
本申请中所称的“活动卡片”是一个信息集合的形象表达,并不是一个实质上的卡片,一个活动卡片是一个具体活动的相关信息的集合,例如,该活动卡片可以包括了活动类型、活动时间和活动地点等信息。“卡片”可以将该相关信息的集合按照一定的数据模型(或称为数据格式)组织,并展现在用户终端的界面,从而在用户终端上用卡片来展现活动事件的具体内容和承载相关交互,例如,卡片可以基于JSON(JavaScriptObjectNotation)格式展现,一个可选的卡片数据模型可以定义如下:
以上为卡片数据模型的举例,实际应用中,卡片可以通过多种数据格式展现,也可以根据卡片要承载的内容对卡片中的各个字段进行增加、删除、修改等操作。
此外,可以理解,在本发明的各实施方式中,生成对应于活动匹配模板中活动类型的活动卡片的步骤和以活动匹配模板中文本解析规则对文本消息进行解析的步骤的先后顺序并没有特别的限制,既可以先生成活动卡片再对文本消息进行解析,然后将解析得到的信息填入活动卡片中,也可以先对文本消息进行解析,然后利用解析得到的信息直接生成活动卡片。
此后进入步骤102,根据活动卡片的活动类型查询对应关系,以得到该活动类型所对应的服务性应用。
此后进入步骤103,在移动终端上显示该活动卡片时,显示查询得到的服务性应用。
此后结束此流程。
上述各步骤全部在移动终端完成,也可以全部在网络侧的服务器完成,也可以一部分在移动终端另一部分在网络侧的服务器完成。
本实施方式对一个有可能收到来自许多发信人的文本消息的移动终端,在收到一个文本消息时,用预先设置的活动匹配模板进行匹配,如果匹配成功,则生成一个相应活动类型的活动卡片,并在显示活动卡片时显示相关的服务性应用,一方面使得用户不需要从众多的文本消息中人工查找与自己要参加的活动相关的文本消息,只要进入活动列表就可以看到相关的各种活动的卡片,另一方面使用户无需查找和下载相关联的应用程序,也无需从移动终端中几十个甚至上百个应用中人工查找与活动相关的应用,只要显示活动卡片,就可以看到最相关的服务性应用。大大缩短了用户在移动终端上进行相关操作所需的时间,节省了移动终端的电能。
本发明第二实施方式涉及一种文本消息的处理方法,第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:服务性应用根据活动发生前后的时间轴进行显示,能够让用户在活动进行的前后各个时间段优先看到最需要的关联服务;对基于时间轴的方式进行补充,结合时间和地理位置对服务性应用进行调整,更贴合实际情况,避免了航班晚点或火车晚点等误差给用户带来的不便。具体地说:
活动卡片中包括特征时刻,活动卡片中的特征时刻可以是一个或多个,例如,列车的开车时间,飞机的起飞和到达时间,电影的开始时间等等。特征时刻可以是解析得到的,也可以是查询得到的(例如根据航班号查到的到达时间等)。
对应关系包括活动类型、显示时间段、与基于互联网的服务性应用的对应关系,其中显示时间段是相对于活动卡片的特征时刻的相对值。例如活动类型为火车票卡片,列车的开车时间为活动卡片的特征时刻,则可以将到达火车站的打车服务应用的显示时间段设置为开车时间前8小时到开车前1小时,该显示时间段是相对于活动卡片的特征时刻即列车开车时间的相对值。
在一个优选例中,在显示查询得到的服务性应用的步骤103中,根据当前时刻与活动卡片中的特征时刻的差值、和服务性应用在对应关系中的显示时间段,显示查询得到的服务性应用。
一般来说,如果当前时刻与活动卡片中的特征时刻的差值落在某个显示时间段内,对应这个显示时间段的各服务性应用就会被显示。
此外,可以理解,根据时间轴在不同的时间段对各个服务性应用进行优先显示时,某时段内可以同时优先显示多个服务性应用,例如同时显示打车和导航的服务性应用。
但是,在实际应用中,仅根据时间来安排各服务性应用的优先显示还是存在一定的局限性。举例来说,由于气候原因或者其它原因,航班晚点在日常生活中经常会碰到,在这种场景下,如果还是根据航班的预计起飞时间和预计到达时间来为用户提供服务性应用,例如在预计到达时间为用户提供目的地餐饮服务的应用则是没有效果的,用户更需要的可能是出发地的餐饮服务。
针对这种情况,除了根据时间来控制服务应用的排序和显示,还需要考虑用户的位置信息。
在一个优选例中,对应关系包括活动类型、显示时间段、显示地域、与基于互联网的服务性应用的对应关系,其中显示时间段是相对于活动卡片的特征时刻的相对值。
在显示查询得到的服务性应用的步骤103中,根据当前时刻与活动卡片中的特征时刻的差值、当前位置、和服务性应用在对应关系中的显示时间段及显示地域,显示查询得到的服务性应用。
一般来说,如果差值落在某个显示时间段内且当前位置落在某个显示地域内,则对应这个显示时间段和显示地域的各服务性应用就会被显示。
仍然以航班晚点为例,在这种场景下,不仅仅根据航班的预计到达时间为用户提供目的地餐饮服务的应用,还需要根据用户当前位置,如果航班晚点,则用户的当前位置并未落在目的地显示地域内,则目的地餐饮服务的应用暂时不会显示,而是根据当前位置相应地显示用户需要的服务。
在本发明的某些实施方式中,对应关系中有部分服务性应用只有显示地域,没有显示时间段的限制(或者说所有时间段都可以显示)。
本发明第三实施方式涉及一种文本消息的处理方法,第三实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:公共号码或者内容产生较大改变时则需要更新活动匹配模板,通过在线更新的机制使得用户不需要手动更新,提供了便捷;针对来自公共号码源的文本消息数量有限的情况,本发明将来源于私人号码源的文本消息也进行解析并生成活动卡片,扩充了本发明的兼容性。具体地说:
日常生活中,用户接收的文本消息主要分为两种:一种是来自公共号码源的(如12306的火车票短信、银行的信用卡短信、去哪儿的机票短信等),此类短信发送号码较为固定且发送内容相对统一。第二种是来自私人号码源的(如亲戚,朋友,同事的短信),此类短信号码多变且内容不统一。针对以上两种情况,本申请分别做不同的处理。
文本消息的来源为公共号码源时,活动识别条件为号码源信息(也就是说通过号码源就可以确定文本消息的活动类型,如发送号码为12306,则可以确定此活动与火车票相关)。在一个优选例中,号码源信息是短信的发送号码。在另一个优选例中,号码源信息是微信、QQ或来往的发信人标识。
在步骤101中:
判断来自公共号码源的文本消息是否满足某一活动匹配模板中的号码源信息,如果满足,则生成对应于该活动匹配模板中活动类型的活动卡片,并以该活动匹配模板中的文本解析规则对文本消息进行解析,将解析得到的信息填入活动卡片中。
虽然公共号码源的文本消息以及内容相对统一,但公共号码或者内容产生较大改变时则需要更新活动匹配模板,若用户需要手动更新,则会对用户造成较大干扰。在一个优选例中,还包括步骤:更新活动匹配模板。
更新活动匹配模板的步骤包括以下子步骤:
向服务端发送更新查询的请求,若请求失败则使用本地缓存的活动匹配模板,若请求成功,则查询服务端活动匹配模板资源是否更新。
若服务端的活动匹配模板资源有更新,则接收所述服务端传输的最新的活动匹配模板资源并缓存,若未更新,则继续使用本地缓存的资源。
通过在线更新的机制使得用户不需要手动更新,提供了便捷。
文本消息的来源为私人号码源时,活动识别条件为含有时间和/或地点信息(也就是说来源为私人号码源的文本消息中若包含具体的时间和地点则说明有相应的活动在指定的时间及地点发生,如开会、聚餐等),,在步骤101中:
判断来自私人号码源的文本消息是否包含时间和地点信息,如果包含,则生成用户自定义活动类型的活动卡片,并以通用活动匹配模板中的文本解析规则对文本消息进行解析,将解析得到的信息填入活动卡片中。
此外,可以理解,文本消息中若包含具体的时间和地点,则说明有相应的活动在指定的时间和地点发生。通用活动匹配模板主要用于解析来自私人号码源的文本消息中的时间和地点,将它们提取出来以构成活动卡片,并通过交互让用户自定义活动主题。
在一个优选例中,以通用活动匹配模板对文本消息进行解析匹配并生成用户自定义活动类型的活动卡片的步骤中,解析匹配包括地址匹配和/或时间匹配。
其中,地址匹配包括以下子步骤:
采用正则表达式提取出文本消息中包含的地理标志信息;
若地理标志信息缺少第一地理标志的前缀,则通过常用地名词库进行分词;
若分词成功,则将邻接第一个地理标志的最大分词作为前缀,若分词失败,则从第一个地理标志往前搜索,直到搜索到第一个非汉字停止。
其中,时间匹配包括以下子步骤:
通过字符替换将中文数字、阿拉伯数字都统一为相应的阿拉伯数字;
通过正则表达式提取日期,日期包括绝对日期和相对日期;
通过正则表达式提取具体时间。
此外,可以理解,绝对日期是指2014年8月19日这种表示时间的方式,而相对日期是指明天,后天上午这种表示时间的方式。
本发明第四实施方式涉及一种文本消息的处理方法,第四实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:针对文本消息解析出的信息不足的情况,通过向活动类型对应的服务器查询补充信息,对活动卡片的数据进行加工,以获取更完善更精确的数据,从而为用户提供更精确的服务。具体地说:
首先,还包括步骤:对文本消息进行接收。
在对文本消息进行接收的步骤中,包括以下子步骤:
对操作系统收到新的文本消息时自动发送的带有文本消息内容的广播进行监听;若监听到广播,则接收文本消息;若未监听到广播,则继续监听。
其次,在生成对应于该活动匹配模板中活动类型的活动卡片,并以该活动匹配模板中的文本解析规则对该文本消息进行解析的步骤之后,还包括步骤:
将解析出的信息发送给活动类型所对应的服务器,并接收该服务器所返回的活动卡片补充信息。
在将解析得到的信息填入活动卡片中的步骤中,将活动卡片补充信息与解析得到的信息一并填入活动卡片中,以对活动卡片进行数据加工。
此外,可以理解,如火车票活动卡片中,从文本消息中无法获取用户的目的地,只有用户出发地以及车次,这样不能为用户提供更精确的关于目的地的服务。电影票活动卡片中,从文本消息中智能获取电影名称,无法获取电影海报,不能给用户更好的视觉体验。
针对文本消息解析出的信息不足的情况,通过向活动类型对应的服务器查询补充信息,对活动卡片的数据进行加工,以获取更完善更精确的数据,从而能够为用户提供更精确的服务。
本发明第五实施方式涉及一种文本消息的处理方法,第五实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:通过将活动卡片中的信息发送给服务性应用的服务器,使用户不再需要将活动相关信息手工输入服务性应用,在显示活动卡片的同时直接就可以看到服务性应用提供的结果;当客户需要得到服务性应用的结果时,再将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果,而当客户不需要时,则不进行相应的发送和接收,减少了不必要的传输量。具体地说:
在一个优选例中,在显示查询得到的服务性应用的步骤之前,还包括以下步骤:
将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果;
在显示查询得到的服务性应用的步骤中,将服务性应用的服务器返回的结果显示在移动终端上。
此外,可以理解,服务性应用的一个例子可以是目的地天气预报的应用,而服务性应用提供的结果则是目的地具体的天气预报。
例如,在显示火车票的目的地天气预报的应用之前,将火车票的车次信息发送给天气服务应用的服务器,并接收天气服务应用的服务器返回的目的地具体的天气预报,并将该具体的天气预报显示在移动终端上,则用户不再需要将活动相关信息手工输入天气预报的应用,在显示活动卡片的同时直接就可以看到具体的天气预报。
在一个优选例中,在显示查询得到的服务性应用的步骤之后,还包括以下步骤:
当服务性应用的按钮被点击时,将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果,将该结果显示在移动终端上。
在此优选方式中,仅显示相关的服务性应用,而并不直接显示服务性应用的服务器返回的结果。只有当服务性应用的按钮被用户点击时(也就是当客户需要得到服务性应用的结果时),才将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果,将该结果显示在移动终端上;而当客户不需要时,则不进行相应的发送和接收,减少了不必要的传输量。
作为本发明的优选例,将短信作为活动的基本信息输入源,基于移动系统中短信的接收机制,在移动设备上植入短信接收装置,并通过在线可更新的模式匹配规则(即活动匹配模板),解析短信内容,将无结构化的普通文本转化为相应类型的结构化数据,通过内容补全机制,转化为结构化的信息完整的活动,并通过卡片的模式展现给用户。第三方的服务商可以基于各种类型的活动,发布与活动相关联的服务,系统自动地通过时间轴的方式推送给用户使用。优选例运转流程图如图2所示,实施流程包括的四个步骤分别为:
1)接收短信发送源的短信
2)根据模式匹配规则对短信内容进行解析
3)生成活动卡片
4)互联网服务商基于时间轴为活动卡片生成关联服务
下面将进一步地对上述各实施流程详细描述:
1)接收短信发送源的短信
本优选实施例主要用途在于自动将短信转化为基于时间轴的活动,因此如何获取移动端的短信是本优选实施例的第一步。由于不同移动端的操作系统不同,因此其获取短信的方式也不同。现以Android平台为例介绍短信接收方法。Android平台下应用程序接收短信主要分为两步,一是获取用户授权,二是设置短信接收广播,如图3所示为Android平台下应用程序接收短信的流程示意图。
●用户授权
由于短信内容及号码涉及到用户隐私,在一些系统中,可能需要得到用户授权的短信内容访问权限才能使用,用户授权主要体现在两个方面:
1.用户授权发明访问短信中心
本发明需要访问用户短信内容以及短信来源号码,用户需要授予本发明访问用户移动端短信的权限。
2.用户接受发明使用协议
本发明在使用协议中明确指出发明会访问用户移动端短信,用户接受使用协议后可以使用本发明。
●设置短信接收广播
Android平台下应用程序接收系统短信按照以下流程,程序首先需要设置短信接收权限,然后设置短信接收广播。当有Android系统收到新短信时,会自动发送带有短信内容的广播,此时应用程序监听到此广播则提取广播中的短信,并进行解析。
2)根据模式匹配规则对短信内容进行解析
通过第一步的短信接收,可以获取系统中的短信(包括短信内容以及发送号码)。本发明的目的要将短信转化为基于时间轴的活动,因此需要解析短信的内容以生成相对应的活动。日常生活中,用户接收的短信主要分为两种:一种是来自公共号码源的短信(如12306的火车票短信、银行的信用卡短信、去哪儿的机票短信等),此类短信发送号码较为固定且发送内容相对统一。第二种是来自私人号码源的短信(如亲戚,朋友,同事的短信),此类短信号码多变且内容不统一。针对以上两种情况,本发明提出了两种不同的解析规则:在线更新模式匹配规则以及通用模式匹配规则(活动匹配模板)。
●在线更新模式匹配规则
此规则适用于来自公共号码源发送的短信。此类短信发送号码相对固定,且短信内容较为统一,可以通过号码源确定短信的活动类型(如发送号码为12306,则可以确定此活动与火车票相关),确定活动类型后,则可以使用通过常见火车票短信格式构建的火车票模板提取活动的详细信息(如提取火车票的发车时间,车次等)。本发明针对于不同的号码源设置了不同的匹配模板,如图4所示为公共号码源文本消息的解析流程示意图:
1、公共号码源库获取短信发送号码并过滤,确定短信号码源;
2、公共号码源库将号码源信息传递给模式匹配库,模式匹配库依据号码源选定匹配模板;
3、将短信内容传递给已选定的匹配模板进行匹配,公共号码源的短信内容较为统一,本发明通过提取同一号码源短信特征,构建此号码源匹配模板。
虽然公共号码源的短信以及内容相对统一,但号码或者内容产生较大改变时,则需要更新模式匹配库,用户也需要手动更新,对用户造成较大干扰。本发明为了兼容这种情况,提出了在线更新机制,将号码源库以及短信匹配模板独立出来,提取到服务端的资源库,移动端通过更新检查请求来确定是否需要自动更新,如图5所示为更新活动匹配模板的流程示意图:
1、移动端在使用本发明时,本地缓存会向服务端发送更新查询的请求,若请求失败(如服务器关闭、当前环境无可使用网络等),则使用本地资源(号码源库、模式匹配库等)。若请求成功,则查询服务端资源是否更新。
2、服务端检查资源库更新状况,若更新,则传输服务端最新资源到移动端,若未更新,则移动端继续使用本地资源。
●通用模式匹配规则(时间+地点)
来源于公共号码源的短信数量毕竟有限,为了扩充本发明的兼容性,本发明提出了一种短信通用匹配规则。短信中若包含具体的时间和地点则说明有相对应的活动(开会、聚餐等)在指定时间及地点发生。通用匹配规则主要用途在于解析私人号码源短信中的时间和地点,然后通过交互让用户自定义活动主题,并将它们提取出来以构成卡片模型,如图6所示为私人号码源文本消息的解析流程示意图:
1、通用匹配模板获取来源于非固定号码源的短信内容解析匹配,分为地址匹配以及时间匹配。若地址匹配成功,则进行时间匹配,若地址匹配失败,则结束流程;若时间匹配也成功,则根据匹配结果生存卡片模型,若时间匹配结束,则结束流程,其中,地址匹配和时间匹配的先后顺序并没有特别的限制。
2、地址匹配:地址匹配本发明首先采用正则表达式提取出短信中包含地理标志(市、区、县、街道等)信息(如,市某某区某某路某某号),此时提取的信息缺少第一个地理标志的前缀,上例中即无法确定为某某市。然后通过常用地名词库进行分词,若分词成功(即前缀中包含常用词)则将邻接第一个地理标志的最大分词作为前缀,若分词失败,则从第一个地理标志往前搜索,搜索到第一个非汉字停止(最多搜索6个字符,超过6个则取前6个字符作为前缀)。
3、时间匹配:时间匹配本发明兼容中文、阿拉伯数字混合时间匹配(如明天上午8点、8月二十七号9点半),首先通过字符替换将中文数字替换成相对应的阿拉伯数字(如5替换成五,二十七替换成27),然后通过正则表达式提取日期(绝对日期如2014-8-19、8月25号则直接提取,相对日期如明天、后天上午则根据当前日期转化),最后通过正则表达式提取具体时间(如8点、9:30)
●已识别的短信举例如下表1所示
表1
3)生成活动卡片
通过上一步解析卡片内容可以生成卡片模型,然而并非所有的卡片模型都能直接生成卡片(信息完整的活动卡片)。如火车票卡片中:从短信中获取的无法获取用户的目的地,只有用户出发地以及车次,这样不能为用户提供更精确的服务,而电影票卡片中,从短信中能够获取电影名称,一般无法取得电影海报,不能带给用户更好的视觉体验。因此在生成卡片模型后,本发明进一步对卡片模型中的数据进行加工,以获取更完善更精确的数据。
●卡片数据加工
卡片数据加工是针对通过短信生成的卡片模型中数据不足所采取的措施,以火车票卡片模型和电影票卡片模型为例的卡片数据加工的流程示意图如图7所示:将火车票卡片模型中的车次信息发送给火车票网站,则火车票网站返回站点列表;将电影票卡片模型中的电影名称发送给电影票网站,则电影票网站返回电影海报。
●火车票卡片数据加工
由于火车票短信中可能存在没有提供用户的目的地的情况,生成的卡片模型缺少目的地,则不能为用户提供到站时间预测等更精确的服务。因此本发明通过火车票卡片模型中的车次数据,在服务端通过车次信息向火车票网站查询此车次的站点信息,并加入火车票卡片模型中,经过数据加工的火车票卡片模型如下表2所示:
表2
●电影票卡片数据加工
由于电影票短信中,从短信中可以获取电影名称,而电影海报则能给用户带来对电影最直观的感觉。因此本发明通过电影名称,在服务端向电影网站请求相应的电影海报,并返回给用户,给用户带来更好的体验。经过数据加工的电影票卡片模型如下表3所示:
表3
当卡片模型都获取到完整的活动数据时,则可以生成活动卡片。图8所示为本发明所生成的四种类型的活动卡片样例,如图所示,在火车票和飞机票的活动卡片中,含有目的地;在电影票的活动卡片中,含有电影海报。
4)互联网服务商基于时间轴为活动卡片生成关联服务
经过以上步骤,一个普通文本的短信能自动转为信息完整结构化的卡片数据,这些卡片数据会根据预定义的类型分类,例如火车票类、机票类、电影票和活动事件类,每种类型都有固定的数据格式,也代表了一种特定的活动场景。第三方服务商可以基于这些活动场景发布关联服务,并基于活动发生的前后的时间轴,组织相关联的服务,以此通过卡片数据和各种关联服务来满足用户有关此活动的需求。以火车票为例,基于火车票卡片数据模型,天气服务商、打车服务商、导航服务商、餐饮服务商、火车票站点服务商和音乐服务商可以分别发布以下关联服务:
■天气服务商->目的地天气预报服务
■打车服务商->到达火车站的打车或预约服务
■导航服务商->到达火车站的导航服务
■餐饮服务商->火车站附近的餐饮服务
■火车票站点服务商->到站提醒服务
■音乐服务商->离线音乐服务
本发明会基于活动发生前后的时间轴来排列关联服务,让用户在活动进行的前后各个时间段优先看到最需要的关联服务,以火车票的关联服务为例,每个服务优先显示的时间段,例如可以为:
■目的地天气预报服务:火车开车前8小时之前
■到达火车站的打车或预约服务:火车开车前8小时到火车开车前1小时
■到达火车站的导航服务:火车开车前8小时到火车开车前1小时
■火车站附近的餐饮服务:火车开车前1小时到火车开车
■到站提醒服务:火车开车之后
■离线音乐服务:火车开车之后
其他类型卡片与火车票类似,每个服务商发布关联服务时,需要指定此服务优先显示的时间段,本发明会根据指定的时间段来控制关联服务排序和显示。
场景举例:以杭州东到武汉的火车票活动卡片为例,图9至图12显示了在活动前后的各个时间段为用户优先显示各个服务的示意图,在这几幅图中,活动卡片的基本信息是不变的,包括车次,站点信息(出发地和目的地),发车日期和时间,旅客姓名,车次有效期以及席次。而活动卡片中服务性应用的显示则根据时间的推移相应地改变,为用户提供了便捷。
1)如图9所示为离火车开车还有1天时,优先显示目的地天气预报的界面示意图;
2)如图10所示为离火车开车还有3小时时,优先显示到达火车站的打车和导航服务的界面示意图;
3)如图11所示为离火车开车还有1小时时,优先显示火车站附近的餐饮服务的界面示意图;
4)如图12所示为火车开车后,优先显示到站提醒服务和离线音乐服务的界面示意图。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(ProgrammableArrayLogic,简称“PAL”)、随机存取存储器(RandomAccessMemory,简称“RAM”)、可编程只读存储器(ProgrammableReadOnlyMemory,简称“PROM”)、只读存储器(Read-OnlyMemory,简称“ROM”)、电可擦除可编程只读存储器(ElectricallyErasableProgrammableROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(DigitalVersatileDisc,简称“DVD”)等等。
本发明第六实施方式涉及一种文本消息的处理系,图13是该文本消息的处理系统的结构示意图。其中,预先存储有至少一条活动匹配模板,每个活动匹配模板包括活动识别条件、活动类型和文本解析规则,预先存储有活动类型与基于互联网的服务性应用的对应关系,在移动终端收到文本消息后,文本消息的处理系统包括以下模块:
活动卡片生成及消息解析模块,用于判断收到的文本消息是否满足某一活动匹配模板中的活动识别条件,如果满足,则生成对应于该活动匹配模板中活动类型的活动卡片,并以该活动匹配模板中的文本解析规则对该文本消息进行解析,将解析得到的信息填入活动卡片中;
服务应用查询模块,用于根据活动卡片的活动类型查询对应关系,以得到该活动类型所对应的服务性应用;
显示模块,用于在移动终端上显示该活动卡片时,显示查询得到的服务性应用。
优选地,文本消息的来源不固定。此外,可以理解,本申请所称的“文本消息的来源不固定”是指文本消息不是来自固定的一个或几个来源,来源是非特定人,有可能收到来自许多发信人的文本消息(一般无法预测下一文本消息是来自哪一个发信人),例如一个手机收到的短信可以来自各种号码。本申请所称的“来源”是指最初的发信人,可以是服务器,也可以是移动终端,并不是指起中转作用的网络节点或服务器。
本申请中所称的“活动卡片”是一个信息集合的形象表达,并不是一个实质上的卡片,一个活动卡片是一个具体活动的所有相关信息的集合,可以在移动终端的界面以一定的数据格式展现该相关信息的集合,例如,该活动卡片可以包括了活动类型、活动时间和活动地点等信息。
上述各模块可全部设置在移动终端,也可以全部设置在网络侧的服务器,也可以一部分设置在移动终端另一部分设置在网络侧的服务器。
本申请中所称的“文本消息”是指用户移动设备上接收到的含有文本内容的消息载体,可以是短信,微信或者电子邮件等。
在本发明的各实施方式中,生成对应于活动匹配模板中活动类型的活动卡片的步骤和以活动匹配模板中文本解析规则对文本消息进行解析的步骤的先后顺序并没有特别的限制,既可以先生成活动卡片再对文本消息进行解析,然后将解析得到的信息填入活动卡片中,也可以先对文本消息进行解析,然后利用解析得到的信息直接生成活动卡片。
在本实施方式中,对一个有可能收到来自许多发信人的文本消息的移动终端,在收到一个文本消息时,用预先设置的活动匹配模板进行匹配,如果匹配成功,则生成一个相应活动类型的活动卡片,并在显示活动卡片时显示相关的服务性应用,一方面使得用户不需要从众多的文本消息中人工查找与自己要参加的活动相关的文本消息,只要进入活动列表就可以看到相关的各种活动的卡片,另一方面使用户无需查找和下载相关联的应用程序,也无需从移动终端中几十个甚至上百个应用中人工查找与活动相关的应用,只要显示活动卡片,就可以看到最相关的服务性应用。大大缩短了用户在移动终端上进行相关操作所需的时间,节省了移动终端的电能。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第七实施方式涉及一种文本消息的处理系统,第七实施方式在第六实施方式的基础上进行了改进,主要改进之处在于:根据活动发生前后的时间轴对服务应用进行显示,能够让用户在活动进行的前后各个时间段优先看到最需要的关联服务;对基于时间轴的方式进行补充,结合时间和地理位置对服务性应用进行调整,更贴合实际情况,避免了航班晚点或火车晚点等误差给用户带来的不便。具体地说:
活动卡片中包括特征时刻。
在一个优选例中,对应关系包括活动类型、显示时间段、与基于互联网的服务性应用的对应关系,其中显示时间段是相对于活动卡片的特征时刻的相对值。
在显示模块中,根据当前时刻与活动卡片中的特征时刻的差值、和服务性应用在对应关系中的显示时间段,显示查询得到的服务性应用。
此外,可以理解,根据时间轴在不同的时间段对各个服务性应用进行优先显示时,某时段内可以同时优先显示多个服务性应用,例如同时显示打车和导航的服务性应用。
活动卡片中的特征时刻可以是一个或多个,例如,列车的开车时间,飞机的起飞和到达时间,电影的开始时间等等。
一般来说,如果差值落在某个显示时间段内,对应这个显示时间段的各服务性应用就会被显示。
但是,在实际应用中,仅根据时间来安排各服务性应用的优先显示还是存在一定的局限性。举例来说,由于气候原因或者其它原因,航班晚点在日常生活中经常会碰到,在这种场景下,如果还是根据航班的预计起飞时间和预计到达时间来为用户提供服务性应用,例如在预计到达时间为用户提供目的地餐饮服务的应用则是没有效果的,用户更需要的可能是出发地的餐饮服务。
针对这种情况,除了根据时间来控制服务应用的排序和显示,还需要考虑用户的位置信息。
在一个优选例中,对应关系包括活动类型、显示时间段、显示地域、与基于互联网的服务性应用的对应关系,其中显示时间段是相对于活动卡片的特征时刻的相对值。
在显示模块中,根据当前时刻与活动卡片中的特征时刻的差值、当前位置、和服务性应用在对应关系中的显示时间段及显示地域,显示查询得到的服务性应用。
此外,可以理解,一般来说,如果差值落在某个显示时间段内且当前位置落在某个显示地域内,则对应这个显示时间段和显示地域的各服务性应用就会被显示。
在本发明的某些实施方式中,对应关系中有部分服务性应用只有显示地域,没有显示时间段的限制(或者说所有时间段都可以显示)。
本发明第八实施方式涉及一种文本消息的处理系统,第八实施方式在第六实施方式的基础上进行了改进,主要改进之处在于:公共号码或者内容产生较大改变时则需要更新活动匹配模板,通过在线更新的机制使得用户不需要手动更新,提供了便捷;针对来自公共号码源的文本消息数量有限的情况,本发明将来源于私人号码源的文本消息也进行解析并生成活动卡片,扩充了本发明的兼容性。具体地说:
日常生活中,用户接收的文本消息主要分为两种:一种是来自公共号码源的(如12306的火车票短信、银行的信用卡短信、去哪儿的机票短信等),此类短信发送号码较为固定且发送内容相对统一。第二种是来自私人号码源的(如亲戚,朋友,同事的短信),此类短信号码多变且内容不统一。针对以上两种情况,本申请分别做不同的处理。
文本消息的来源为公共号码源时,活动识别条件为号码源信息(也就是说通过号码源就可以确定文本消息的活动类型,如发送号码为12306,则可以确定此活动与火车票相关),在活动卡片生成及消息解析模块中:
判断来自公共号码源的文本消息是否满足某一活动匹配模板中的号码源信息,如果满足,则生成对应于该活动匹配模板中活动类型的活动卡片,并以该活动匹配模板中的文本解析规则对该文本消息进行解析,将解析得到的信息填入活动卡片中。
虽然公共号码源的文本消息以及内容相对统一,但公共号码或者内容产生较大改变时则需要更新活动匹配模板,若用户需要手动更新,则会对用户造成较大干扰。在一个优选例中,还包括活动匹配模板更新模块,用于更新所述活动匹配模板。
活动匹配模板更新模块包括以下子模块:
更新查询子模块,用于向服务端发送更新查询的请求,若请求失败则使用本地缓存的活动匹配模板,若请求成功,则查询服务端活动匹配模板资源是否更新。
更新接收子模块,用于如果所述服务端的活动匹配模板资源有更新,则接收所述服务端传输的最新的活动匹配模板资源并缓存,若未更新,则继续使用本地缓存的资源。
通过在线更新的机制使得用户不需要手动更新,提供了便捷。
文本消息的来源为私人号码源时,活动识别条件为含有时间和/或地点信息(也就是说来源为私人号码源的文本消息中若包含具体的时间和地点则说明有相应的活动在指定的时间及地点发生,如开会、聚餐等),。
在活动卡片生成及消息解析模块中:
判断来自私人号码源的文本消息是否包含时间和地点信息,如果包含,则生成用户自定义活动类型的活动卡片,并以通用活动匹配模板中的文本解析规则对文本消息进行解析,将解析得到的信息填入活动卡片中。
此外,可以理解,文本消息中若包含具体的时间和地点,则说明有相应的活动在指定的时间和地点发生。通用活动匹配模板主要用于解析来自私人号码源的文本消息中的时间和地点,将它们提取出来以构成活动卡片,并通过交互让用户自定义活动主题。
本发明第九实施方式涉及一种文本消息的处理系统,第九实施方式在第六实施方式的基础上进行了改进,主要改进之处在于:针对文本消息解析出的信息不足的情况,通过向活动类型对应的服务器查询补充信息,对活动卡片的数据进行加工,以获取更完善更精确的数据,从而为用户提供更精确的服务。具体地说:
在一个优选例中,还包括以下模块:
文本消息接收模块,用于对文本消息进行接收。
在文本消息接收模块中,包括以下子模块:
广播监听子模块,用于对操作系统收到新的文本消息时自动发送的带有文本消息内容的广播进行监听。
监听判断子模块,用于判断是否监听到广播,若监听到广播,则接收文本消息。若未监听到广播,则继续监听。
在一个优选例中,还包括以下模块:
补充信息获取模块,用于将解析出的信息发送给活动类型所对应的服务器,并接收该服务器所返回的活动卡片补充信息。
数据加工模块,用于将活动卡片补充信息与解析得到的信息一并填入活动卡片中,以对活动卡片进行数据加工。
此外,可以理解,如火车票活动卡片中,从文本消息中无法获取用户的目的地,只有用户出发地以及车次,这样不能为用户提供更精确的关于目的地的服务。电影票活动卡片中,从文本消息中智能获取电影名称,无法获取电影海报,不能给用户更好的视觉体验。
针对文本消息解析出的信息不足的情况,通过向活动类型对应的服务器查询补充信息,对活动卡片的数据进行加工,以获取更完善更精确的数据,从而能够为用户提供更精确的服务。
本发明第十实施方式涉及一种文本消息的处理系统,第十实施方式在第六实施方式的基础上进行了改进,主要改进之处在于:通过将活动卡片中的信息发送给服务性应用的服务器,使用户不再需要将活动相关信息手工输入服务性应用,在显示活动卡片的同时直接就可以看到服务性应用提供的结果;当客户需要得到服务性应用的结果时,再将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果,而当客户不需要时,则不进行相应的发送和接收,减少了不必要的传输量。具体地说:
在一个优选例中,还包括模块:
服务结果直接获取模块,用于在显示模块显示服务性应用的之前,将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果;
服务结果直接显示模块,用于在显示模块显示服务性应用时,将服务性应用的服务器返回的结果显示在移动终端上。
此外,可以理解,服务性应用的一个例子可以是目的地天气预报的应用,而服务性应用提供的结果则是目的地具体的天气预报。
例如,在显示火车票的目的地天气预报的应用之前,将火车票的车次信息发送给天气服务应用的服务器,并接收天气服务应用的服务器返回的目的地具体的天气预报,并将该具体的天气预报显示在移动终端上,则用户不再需要将活动相关信息手工输入天气预报的应用,在显示活动卡片的同时直接就可以看到具体的天气预报。
在一个优选例中,还包括以下模块:
服务结果点击获取模块,用于当服务性应用的按钮被点击时,将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果;
服务结果点击显示模块,用于在服务结果点击获取模块获取服务性应用的服务器返回的结果后,将该结果显示在移动终端上。
在此优选方式中,仅显示相关的服务性应用,而并不直接显示服务性应用的服务器返回的结果。只有当服务性应用的按钮被用户点击时(也就是当客户需要得到服务性应用的结果时),才将活动卡片中的信息发送给服务性应用的服务器,并接收服务性应用的服务器返回的结果,将该结果显示在移动终端上;而当客户不需要时,则不进行相应的发送和接收,减少了不必要的传输量。
第五实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第五实施方式互相配合实施。第五实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第五实施方式中。
需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。
需要说明的是,在本发明的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。