发明内容
为了解决上述问题,在本上下文中,本发明各实施方式的目的之一在于提供一种用于提高推荐好友覆盖率的方法和设备。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,例如可以包括:从通讯录获取用户名;将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配;通过所述用户的好友关系和简档信息对匹配结果进行修正;以及将按照经修正的匹配结果的相似度值排序的前N个好友推荐给用户。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述用户名可以是所述通讯录中联系人的姓名。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述向应用上传过所述通讯录的用户在所述应用上的好友名可以包括向应用上传过所述通讯录的用户在所述应用上的1度好友以及2度好友的姓名。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述1度好友可以是所述通讯录中用户设备标识符对应的所述应用的用户;以及所述2度好友可以是所述通讯录中用户设备标识符的通讯录中用户设备标识符对应的所述应用的用户。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配可以包括:获得所述用户名与所述好友名的公共最长连续子串sub1;从所述用户名与所述好友名中移除所述公共最长连续子串sub1,获得剩余部分的公共最长连续子串sub2;以及计算相似度,其可以进一步包括:如果公共最长连续子串sub2的长度等于0,则通过公式计算所述相似度;以及如果公共最长连续子串sub2的长度不等于0,则通过公式 计算所述相似度。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述用户的好友关系和简档信息可以包括以下各项中的至少一个或多个:同学、同事、朋友、亲人、学习经历、兴趣爱好。
根据本发明一个方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的方法,其中所述N可以由用户自定义或者由***预先设置。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,例如可以包括:获取装置,被配置为从通讯录获取用户名;匹配装置,被配置为将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配;修正装置,被配置为通过所述用户的好友关系和简档信息对匹配结果进行修正;以及推荐装置,被配置为将按照经修正的匹配结果的相似度值排序的前N个好友推荐给用户。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述用户名可以是所述通讯录中联系人的姓名。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述向应用上传过所述通讯录的用户在所述应用上的好友名可以包括向应用上传过所述通讯录的用户在所述应用上的1度好友以及2度好友的姓名。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述1度好友可以是所述通讯录中用户设备标识符对应的所述应用的用户;以及所述2度好友可以是所述通讯录中用户设备标识符的通讯录中用户设备标识符对应的所述应用的用户。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配可以包括:获得所述用户名与所述好友名的公共最长连续子串sub1;从所述用户名与所述好友名中移除所述公共最长连续子串sub1,获得剩余部分的公共最长连续子串sub2;以及计算相似度,其可以进一步包括:如果公共最长连续子串sub2的长度等于0,则通过公式计算所述相似度;以及如果公共最长连续子串sub2的长度不等于0,则通过公式 计算所述相似度。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述用户的好友关系和简档信息可以包括以下各项中的至少一个或多个:同学、同事、朋友、亲人、学习经历、兴趣爱好。
根据本发明另一方面的某些实施方式,提供了一种用于提高推荐好友覆盖率的设备,其中所述N可以由用户自定义或者由***预先设置。
本发明示例性实施方式提供的示例性解决方案至少可以带来如下显著的技术效果:通过将用户名与好友名匹配可以在保证一定准确性的基础上,大幅度提升向用户推荐好友的覆盖范围。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
在本文中,术语“社交网站”或“社交网络”是指向对特定对象感兴趣或只是一起“闲逛”的人们提供虚拟社区的Web站点。成员通过语音、聊天、即时消息、视频会议和博客等进行通信,并且该服务通常向成员提供了联系其他成员的好友的方法。这种站点还可以用作亲自会面的媒介。“社交网站”或“社交网络”是针对“虚拟社区”(一群人使用因特网彼此之间就任何事乃至所有事进行通信)的21世纪术语。
社交网络向其成员(或称用户)提供与该社交网络的其他成员进行通信和交互的能力。在使用中,成员加入社交网络,继而向其希望连接的多个其他成员添加连接。连接可以由成员显式地添加,例如成员选择将要成为好友的特定其他成员;或者基于成员的共同特征(例如,相同教育机构的校友)而由社交网络自动创建。如在此使用的,术语“好友”是指成员通过该网站与之形成连接、关联或者关系的任何其他成员。社交网络中的连接通常是双向的(但这不是必须的),因此术语“成员”和“好友”可能依赖于参照系。成员之间的连接可以是直接连接;然而,社交网络的某些实施方式允许经由一级或者多级连接的间接连接。另外,术语“好友”并非必须要求成员在现实生活中实际上是朋友(在成员之一是商户或者其他实体时,一般更是这样);其仅暗示社交网络中的连接。
下面结合附图对本发明的具体实施方式进行描述。
首先参考图1,其中图1示出了根据本发明的实施方式可以在其中使用的***10,包括可以通过网络进行通信的多个通信设备。***10可以包括有线或无线网络的任意组合,其中这些网络包括但不限于移动电话网络、无线局域网(LAN)、蓝牙个人局域网、以太网LAN、令牌LAN、广域网、互联网、通信设备之间的一个或多个ad hoc网络等。***10可以包括有线通信设备和无线通信设备两者。
例如,图1中所示***10包括移动电话网络11和互联网28。通往互联网28的连接可以包括但不限于远程无线连接、短程无线连接,以及各种有线连接,有线连接包括但不限于电话线、电缆线路、电力线等。
***10的示例性通信设备可以包括但不限于移动电话12、组合式PDA和移动电话14、PDA 16、集成消息传递设备(IMD)18、台式计算机20,以及笔记本计算机22。通信设备可以是固定的或者在由行进中的人携带时是移动的。通信设备的一些或全部可以通过通往基站24的无线连接25发送和接收呼叫和消息,并且通过通往基站24的无线连接25与服务提供商进行通信。基站24可以连接至网络服务器26,该服务器26支持移动电话网络11和互联网28之间的通信。***10可以包括附加的通信设备和不同类型的通信设备。通信设备可以彼此直接通信。
应当理解,基站24仅是用于无线接入的网络设备的代表,本发明在此方面不受限制。根据本发明的某些其他示例性实施方式,可以由WiFi接入点来替代基站24。此外,还应当理解,通信设备可以使用各种传输技术进行通信,包括但不限于,码分多址(CDMA)、全球移动通信***(GSM)、通用移动通信***(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/互联网协议(TCP/IP)、短消息传递服务(SMS)、多媒体消息传递服务(MMS)、电子邮件、即时消息传递服务(IMS)、蓝牙、IEEE 802.11等。通信设备可以使用各种介质进行通信,包括但不限于,无线、红外、激光、线缆连接等。
下面结合图1的应用场景,参考图2来描述根据本发明示例性实施方式的用于提高推荐好友覆盖率的方法200。
需要理解的是,在以下描述中,将移动电话12(图1中的任何一个移动电话12均可)作为终端的示例性代表(以下称为终端12),其具有输入功能并通过网络接入设备(图1中的任何一个网络接入设备24均可;例如,基站24或WiFi接入点24)、经由网络服务器26接入互联网28以请求检索服务;将台式计算机20作为提供检索服务的网站(例如,社交网站)的服务器(以下称为服务器20)。
如图2所示,根据本发明的示例性实施方式,在步骤S201,可以包括从通讯录获取用户名。
在一个示例性实施方式中,其中所述用户名是所述通讯录中联系人的姓名。在实际应用中,用户在通讯录中存储联系人的姓名可以是中文名称、英文名称以及带有各种符号的名称。
如图2所示,根据本发明的示例性实施方式,在步骤S202,可以包括将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配。
在一个示例性实施方式中,其中所述向应用上传过所述通讯录的用户在所述应用上的好友名包括向应用上传过所述通讯录的用户在所述应用上的1度好友以及2度好友的姓名。具体地,所述1度好友可以是所述通讯录中用户设备标识符对应的所述应用的用户;以及所述2度好友可以是所述通讯录中用户设备标识符的通讯录中用户设备标识符对应的所述应用的用户。
下面通过一个示例详细描述如何利用上述匹配过程来提升用户设备标识符与应用的用户(例如,人人网用户)的对应关系。
首先,预处理通讯录中姓名字符串S1和1个用户id(例如,人人网的用户id)的姓名字符串S2,处理后的结果分别记为A、B。具体地,先过滤A和B中的非汉字非英文字母字符数字等特殊字符;如果A和B都为中文或者都为英文,则直接进行字符串匹配;如果A和B包含中文和英文,则先将A和B转换成汉语拼音(中间包含空格)再进行字符串匹配。
接下来,匹配姓名字符串A和B。首先,获取A和B的最长公共连续子串(记为sub1),其中最长连续公共子串可以被定义为一个字符串S,如果分别是两个或多个已知字符串的连续子串,并且是所有符合此条件序列中最长的,则该字符串S可以被称为已知字符串的最长连续公共子串。具体地,可以使用多种方法来实现这一步骤,诸如动态规划发,或者利用矩阵比较。接下来,获取剩余字符串的最长公共连续子串(记为sub2),这样可以解决姓名颠倒(例如,英文名称习惯于将姓氏放在名字的后面)或字母遗漏的问题。然后,通过sub1和sub2来计算姓名字符串A和B的相似度。具体地,定义len(sub1)为sub1中非空字符串的长度;匹配计算逻辑公式为:如果sub2的长度为0,即len(sub2)=0,则相似度否则,相似度 以此,matchScore(匹配得分)作为姓名字符串A和B的相似度值。
应当注意,通过这个相似度计算的结果,可以看到,如果A=B(无论A,B为中文或者英文),matchScore的值为1;如果A和B的字符颠倒(有的姓氏在前,有的名字在前),则len(sub2)的值不为0,matchScore的值会比1略小;如果A是B的子串,则matchScore为子串长度与总字符串的长度的比值。
如图2所示,根据本发明的示例性实施方式,在步骤S203,可以包括通过所述用户的好友关系和简档信息对匹配结果进行修正。
在一个示例性实施方式中,其中所述用户的好友关系和简档信息可以包括以下各项中的至少一个或多个:同学、同事、朋友、亲人、学习经历、兴趣爱好。用户名与好友名具有共同的好友关系和简档信息的越多,则认为用户名与好友名越匹配,从而有助于匹配结果。
如图2所示,根据本发明的示例性实施方式,在步骤S204,可以包括将按照经修正的匹配结果的相似度值排序的前N个好友推荐给用户。
在一个示例性实施方式中,其中所述N由用户自定义或者由***预先设置。
在介绍了根据本发明示例性实施方式的、用于提高推荐好友覆盖率的方法200之后,接下来参考图3对根据本发明示例性实施方式的、用于提高推荐好友覆盖率的设备300进行详细描述。
图3示出了根据本发明示例性实施方式的、用于提高推荐好友覆盖率的设备300的示意性框图。设备300例如可以包括:获取装置301,被配置为从通讯录获取用户名;匹配装置302,被配置为将所述用户名与向应用上传过所述通讯录的用户在所述应用上的好友名进行匹配;修正装置303,被配置为通过所述用户的好友关系和简档信息对匹配结果进行修正;以及推荐装置304,被配置为将按照经修正的匹配结果的相似度值排序的前N个好友推荐给用户。
为清晰起见,在图3中并未示出各个装置所包含的子装置。然而,应当理解,设备300中记载的装置与分别参考图2描述的方法200中的步骤相对应。由此,上文针对图2的方法200描述的操作和特征同样适用于设备300及其中包含的装置和子装置,在此不再赘述。
应当理解,设备300可以利用各种方式来实现。例如,在某些实施方式中,设备300可以利用软件和/或固件模块来实现。此外,设备300也可以利用硬件模块来实现。例如,设备300可以实现为集成电路(IC)芯片或专用集成电路(ASIC)。设备300也可以实现为片上***(SOC)。此外,设备300也可以利用硬件模块和软件和/或固件模块的组合来实现。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。
下面参考图4,其示出了适于用来实践本发明实施方式的移动终端400的示意性框图。在图4所示的示例中,移动终端400是一个具有无线通信能力的移动设备。然而,可以理解,这仅仅是示例性而非限制性的。其他类型的移动终端也可以容易地采用本发明的实施方式,诸如便携式数字助理(PDA)、寻呼机、移动计算机、移动电视、游戏设备、膝上型计算机、照相机、录像机、GPS设备以及其他类型的语音和文本通信***。固定式移动终端同样可以容易地使用本发明的实施方式。
移动终端400包括一个或天线418,其可操作地与发射机414和接收机416进行通信。移动终端400还包括处理器412或者其他处理元件,其分别提供去往发射机414的信号和接收来自接收机416的信号。信号包括按照适当蜂窝***的空中接口标准的信令信息,并且还包括用户语音、接收的数据和/或用户生成的数据。在此方面,移动终端400能够利用一个或多个空中接口标准、通信协议、调制类型以及接入类型来进行操作。作为示范,移动终端400能够根据多个第一代、第二代、第三代和/或***通信协议等中的任何协议来进行操作。例如,移动终端400可以能够按照第二代(G)无线通信协议IS-136(TDMA)、GSM和IS-95(CDMA)来进行操作,或者按照诸如UMTS、CDMA2000、WCDMA和TD-SCDMA的第三代(G)无线通信协议来进行操作,或者按照***(4G)无线通信协议和/或类似协议进行操作。
可以理解,处理器412包括实现移动终端400的功能所需的电路。例如,处理器412可以包括数字信号处理器设备、微处理器设备、各种模数转换器、数模转换器和其他支持电路。移动终端400的控制和信号处理功能按照这些设备各自的能力在其间分配。处理器412由此还可以包括在调制和传输之前对消息和数据进行卷积编码和交织的功能。处理器412还可以另外包括内部语音编码器,并且可以包括内部数据调制解调器。此外,处理器412可以包括对可以存储在存储器中的一个或多个软件程序进行操作的功能。例如,处理器412可以能够操作连接程序,诸如传统的Web浏览器。连接程序继而可以允许移动终端400例如按照无线应用协议(WAP)、超文本传输协议(HTTP)等来发射和接收Web内容(诸如基于位置的内容和/或其他web页面内容)。
移动终端400还可以包括用户接口,其例如可以包括耳机或者扬声器424、振铃器422、麦克风426、显示屏428以及手写设备431,所有这些设备都耦合至处理器412。移动终端400可以包括小键盘430。小键盘430可以包括传统的数字键(0-9)和相关键(#、*),以及用于操作移动终端400的其他键。备选地,小键盘430可以包括传统的QWERTY小键盘布置。小键盘430还可以包括与功能相关联的各种软键。移动终端400还可以包括加速度感应模块436,用于捕获用户做出的动作(运动)。
具体地,显示屏428可以包括触摸式屏幕和/或邻近式屏幕,用户可以通过直接操作屏幕而操作移动终端400。此时,显示屏428同时充当输入设备和输出设备二者。在这样的实施方式中,手写设备431可以配置用于接收用户通过例如普通的笔、专用触笔和/或手指在显示屏428上提供的输入,包括指点输入和手势输入。
此外,移动终端400可以包括诸如操纵杆的接口设备或者其他用于输入接口。移动终端400还包括电池434,诸如振动电池组,用于为操作移动终端400所需的各种电路供电,以及可选地提供机械振动作为可检测输出。
移动终端400可以进一步包括用户标识模块(UIM)438。UIM 438通常是具有内置处理器的存储器设备。UIM 438例如可以包括订户标识模块(SIM)、通用集成电路卡(UICC)、通用订户标识模块(USIM)、可移动用户标识模块(R-UIM)等。UIM 438通常存储与移动订户相关的信元。
移动终端400还可以具有存储器。例如,移动终端400可以包括易失性存储器440,例如包括用于数据临时存储的高速缓存区域的易失性随机存取存储器(RAM)。移动终端400还可以包括其他非易失性存储器442,其可以是嵌入式的和/或可移动的。非易失性存储器442可以附加地或者可选地包括例如EEPROM和闪存等。存储器可以存储移动终端400所使用的多个信息片段和数据中的任意项,以实现移动终端400的功能。
所述移动终端400可以实现上文结合图2描述的方法以及配置用于作为结合图3描述的设备。
应当理解,图4所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。