发明内容
本申请实施例提供一种相关词推荐方法和装置,以解决用户如何从大量数据中获取用户关注的信息的问题。
第一方面,本申请实施例提供一种相关词推荐方法,包括:
获取用户输入的输入语句;
获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种;
分别获取每种所述维度属性信息对应的多个语料语句;
根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词;
输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词,包括:
提取所述每种维度属性信息对应的多个语料语句中的关键词;
根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述提取所述每种维度属性信息对应的多个语料语句中的关键词,包括:
对每种维度属性信息对应的多个语料语句进行预处理,获得预处理后的多个语料语句,所述预处理包括:去重处理;
对所述预处理后的多个语料语句进行分词处理,获得多个词语;
根据所述多个词语,获得所述关键词。
可选地,所述根据所述多个词语,获得所述关键词,包括:
获取所述多个语料语句中语料语句的第一数量;
获取每个词语在所述多个语料语句中出现的次数;
根据每个词语,获取所述多个语料语句中包括该词句的语料语句的第二数量;
根据所述第一数量、所述次数、所述第二数量,获取每个词语的权重值;
根据所述多个词语中每个词语的权重值,获得所述关键词。
可选地,所述根据所述多个词语中每个词语的权重值,获得所述关键词,包括:
确定权重值最大的前N个的词语,N为大于等于1的整数;
将确定的所述前N个的词语确定为所述关键词。
可选地,所述根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词,包括:
将所述每种维度属性信息对应的所述关键词,确定为与所述输入语句相关的推荐词。
可选地,所述根据所述每种维度属性信息对应的所述关键词,确定每个维度属性信息对应的与所述输入语句相关的推荐词,包括:
获取所述多个词语中每个词语与所述关键词相关的相关性;
确定相关性最大的前M个词语为与所述输入语句相关的推荐词,所述M为大于等于1的整数。
第二方面,本申请实施例提供一种相关词推荐装置,包括:
第一获取模块,用于获取用户输入的输入语句;
第二获取模块,用于获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种;
第三获取模块,用于分别获取每种所述维度属性信息对应的多个语料语句;
处理模块,用于根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词;
输出模块,用于输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理模块,具体用于:
提取所述每种维度属性信息对应的多个语料语句中的关键词;
根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理模块,具体用于:
对每种维度属性信息对应的多个语料语句进行预处理,获得预处理后的多个语料语句,所述预处理包括:去重处理;
对所述预处理后的多个语料语句进行分词处理,获得多个词语;
根据所述多个词语,获得所述关键词。
可选地,所述处理模块,具体用于:
获取所述多个语料语句中语料语句的第一数量;
获取每个词语在所述多个语料语句中出现的次数;
根据每个词语,获取所述多个语料语句中包括该词句的语料语句的第二数量;
根据所述第一数量、所述次数、所述第二数量,获取每个词语的权重值;
根据所述多个词语中每个词语的权重值,获得所述关键词。
可选地,所述处理模块,具体用于:
确定权重值最大的前N个的词语,N为大于等于1的整数;
将确定的所述前N个的词语确定为所述关键词。
可选地,所述处理模块,具体用于:
将所述每种维度属性信息对应的所述关键词,确定为与所述输入语句相关的推荐词。
可选地,所述处理模块,具体用于:
获取所述多个词语中每个词语与所述关键词相关的相关性;
确定相关性最大的前M个词语为与所述输入语句相关的推荐词,所述M为大于等于1的整数。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,执行如本申请第一方面所述的相关词推荐方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面所述的相关词推荐方法。
本申请实施例提供的一种相关词推荐方法和装置,通过根据所获取的用户所输入的输入语句的地域信息、时间信息以及所述输入语句所属的领域信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词,然后将所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词显示输出,使得用户可以从大量的输入语句数据中获取更多符合用户需求的相关词,提高了相关词推荐的准确性。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请实施例可以应用于电子设备中,图1为本申请一实施例提供的应用场景示意图,如图1所示,电子设备例如可以包括服务器、计算机、移动终端等,移动终端包括:手机、平板电脑、可穿戴设备等,对此本申请不做限制。
下面结合几个具体的实施例,对本申请的技术方案进行描述。
图2为本申请一实施例提供的相关词推荐方法的流程示意图,如图2所示,本申请实施例的方法可以包括:
S201、获取用户输入的输入语句。
所述用户输入的输入语句可以为用户当下所发表的微博语料语句,也可以为用户所要搜索的微博语料语句。
S202、获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种。
根据S201中所获取的用户输入的输入语句,获取用户输入的输入语句所对应的维度属性信息。其中,所述至少一种维度属性信息可以为:用户输入的所述输入语句的地域信息、用户输入的所述输入语句的时间信息以及用户输入的所述输入语句所属的领域信息,其中,所述地域信息可以为某一省份、城市中的至少一种;所述时间信息可以为某一年、某一月、某一天及某一时刻中的至少一种;所述输入语句所属的领域信息可以为生活领域、政治领域、娱乐领域、经济领域中的至少一种。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句的地域信息。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句的时间信息。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句所属的领域信息。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句的地域信息及用户所输入的所述输入语句的时间信息。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句的地域信息及用户所输入的所述输入语句所属的领域信息。或者,
所述至少一种维度属性信息可以为用户所输入的所述输入语句的时间信息及用户所输入的所述输入语句所属的领域信息。
根据S201中所获取的用户所输入的所述输入语句,可以获取到用户所输入的所述输入语句对应的地域信息,例如,所述地域信息为北京市;可以获取到用户所输入的所述输入语句对应的时间信息,例如,所述时间信息为2019年12月5日;可以获取到用户所输入的所述输入语句所属的领域信息,例如,所述所属的领域信息为娱乐领域。
S203、分别获取每种所述维度属性信息对应的多个语料语句。
根据S202中所获取的用户所输入的所述输入语句对应的至少一种维度属性信息,分别获取所述维度属性信息对应的多个语料语句。
例如,根据S202中获取的至少一种维度属性信息为北京市,则获取北京市地区所对应的语料语句;或者,所获取的至少一种维度属性信息为2019年12月5日,则获取2019年12月5日这一天所对应的语料语句;所获取的至少一种维度属性信息为娱乐领域,则可获取娱乐领域所对应的语料语句。
S204、根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
根据S203中所获取的用户输入的所述输入语句对应的至少一种所述维度属性信息所对应的多个语料语句,获取所述维度属性信息所对应的与用户所输入的所述输入语句相关的推荐词。
例如,根据S203中地域信息为北京市对应的语料语句,确定地域信息对应的与该用户的输入语句相关的推荐词。或者,根据S203中时间信息为2019年12月5日所对应的语料语句,确定时间信息对应的与该用户的输入语句相关的推荐词。或者,根据S203中所属的领域信息为娱乐区所对应的语料语句,确定娱乐区对应的与该用户的输入语句相关的推荐词。
S205、输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
在获取到每种维度属性信息对应的与所述输入语句相关的推荐词之后,将所获取每种维度属性信息所对应的与所述输入语句相关的推荐词发送给相应的显示设备,通过所述显示设备显示与输入语句相关的推荐词,或者通过自身设备直接显示与输入语句相关的推荐词。其中,所述显示设备可以是终端设备,例如,电脑、手机等,对此,本申请不做限制。
其中,推荐词可以是与输入语句同属于同一地域信息的语料语句中的词语;或者,可以是与输入语句同属于同一时间信息的语料语句中的词语;或者,可以是与输入语句同属于同一领域信息的语料语句中的词语。
本实施例中,通过根据所获取的用户所输入的输入语句的地域信息、时间信息以及所述输入语句所属的领域信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词,然后将所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词显示输出,使得用户可以从大量的输入语句数据中获取更多符合用户需求的相关词,提高了相关词推荐的准确性。
图3为本申请另一实施例提供的相关词推荐方法的流程示意图,如图3所示,本申请实施例的方法可以包括:
S301、获取用户输入的输入语句。
S302、获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种。
S303、分别获取每种所述维度属性信息对应的多个语料语句。
S301-S303的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
S304、提取所述每种维度属性信息对应的多个语料语句中的关键词。
本实施例以所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息为例。对S303中所获取的所获取的所述输入语句的地域信息对应的多个语料语句、所述输入语句的时间信息对应的多个语料语句及所述输入语句所属的领域信息对应的多个语料语句分别进行关键词的提取,以获取所述输入语句的地域信息对应的多个语料语句中的关键词、所述输入语句的时间信息对应的多个语料语句中的关键词及所述输入语句所属的领域信息对应的多个语料语句中的关键词。
可选地,S304的一种可能的实现方式为:
S304a、对每种维度属性信息对应的多个语料语句进行预处理,获得预处理后的多个语料语句,所述预处理包括:去重处理。
本实施例以所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息为例。对S303中所获取的用户所输入的所述输入语句的地域信息对应的多个语料语句,进行预处理,获取地域信息对应的所述预处理后的多个语料语句;对S303中所获取的用户所输入的所述输入语句的时间信息对应的多个语料语句,进行预处理,获取时间信息对应的所述预处理后的多个语料语句;对S303中所获取的用户所输入的所述输入语句所属的领域信息对应的多个语料语句,进行预处理,获取所述输入语句所属的领域信息对应的所述预处理后的多个语料语句。其中,所述预处理可以包括:对每种所述维度属性信息对应的多个语料语句进行去重处理、去除每种所述维度属性信息对应的多个语料语句中无关紧要的成分、将每种所述维度属性信息对应的多个语料语句进行简繁体转换等至少一项处理。例如,用户所输入的所述输入语句为微博语料语句,获取所述微博语料语句所对应的维度属性信息,再分别获取每种维度属性信息对应的多个微博语料语句,由于所述维度属性信息对应的多个微博语料语句之间的转发关系,所述维度属性信息对应的多个语料语句会存在大量重复的现象,通过对每种所述维度属性信息对应的多个语料语句进行去重处理,可降低所述维度属性信息对应的多个语料语句重复内容,为后续权重计算缩减计算量,提高了计算效率。
S304b、对所述预处理后的多个语料语句进行分词处理,获得多个词语。
对地域信息对应的所述预处理后的多个语料语句进行分词处理,获得地域信息对应的多个词语;对时间信息对应的所述预处理后的多个语料语句进行分词处理,获得时间信息对应的多个词语;对所述输入语句所属的领域信息对应的所述预处理后的多个语料语句进行分词处理,获得所述输入语句所属的领域信息对应的多个词语。其中,所述分词处理是将所述预处理后的多个语料语句切分成一个个单独的词。
S304c、根据所述多个词语,获得所述关键词。
根据S304b中分词之后的地域信息对应的多个词语,获得地域信息对应的关键词;根据S304b中分词之后的时间信息对应的多个词语,获得时间信息对应的关键词;根据S304b中分词之后的所述输入语句所属的领域信息对应的多个词语,获得所述输入语句所属的领域信息对应的关键词。
可选地,获取上述地域信息所对应的关键词、所述时间信息所对应的关键词以及所述输入语句所属的领域信息所对应的关键词中任一项的一种可能的实现方式可以包括1)-5):
1)获取所述多个语料语句中语料语句的第一数量。
根据任一种维度属性信息,获取该维度属性信息对应的多个语料语句,并获取这些语料语句的数量,将该数量记为第一数量。
2)获取每个词语在所述多个语料语句中出现的次数。
根据S304b中所述预处理后的该维度属性信息对应的多个语料语句分词处理获取到的多个词语以及所述多个语料语句,获取所述预处理后的多个语料语句分词处理获取到的每个词语在所述多个语料语句中出现的次数。
3)根据每个词语,获取所述多个语料语句中包括该词句的语料语句的第二数量。
根据S304b中所述预处理后的该维度属性信息对应的多个语料语句分词处理获取到的多个词语及所述该种维度属性信息对应的多个语料语句,获取所述该种维度属性信息对应的多个语料语句中包括该词语的语料语句的数量,将该数量记为第二数量。
4)根据所述第一数量、所述次数、所述第二数量,获取每个词语的权重值。
根据上述步骤中所获取的所述第一数量、所述次数、所述第二数量,利用公式一计算对所述预处理后的多个语料语句进行分词处理所获得的多个词语的权重值。
式中,weight表示所述多个词语中每个词语的权重值,tfi,j表示所述多个词语中某一词语在对应的所述多个语料语句中出现的频率,idfi表示所述多个语料语句中包括该词句的语料语句的第二数量,ni,j表示每个词语在所述多个语料语句中出现的次数,nk,j表示所述多个语料语句中语料语句的第一数量,i表示所述多个词语中某一词语,j表示所述多个语料语句,k表示所述多个语料语句中的某一语料语句。
5)根据所述多个词语中每个词语的权重值,获得所述关键词。
根据上述步骤中所获取的所述多个词语中每个词语的权重值的大小,获取所述该维度属性信息对应的关键词。
其中,所述根据所述多个词语中每个词语的权重值,获得所述关键词,具体实现方式为:
a)确定权重值最大的前N个的词语,N为大于等于1的整数。
b)将确定的所述前N个的词语确定为所述关键词。
对上述步骤中所获取的所述多个词语中每个词语的权重值的大小进行排序,获取该维度属性信息对应的多个语料语句中权重值最大的前N个词语,将所述权重值最大的前N个词语作为该维度属性信息对应的关键词。
S305、根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
根据步骤S304中所获取的所述每种维度属性信息对应的所述关键词,获取每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,S305的一种可能的实现方式为:将所述每种维度属性信息对应的所述关键词,确定为与所述输入语句相关的推荐词。
根据步骤S304中所获取的所述每种维度属性信息对应的所述关键词,可将所获取的每种维度属性信息对应的关键词作为所述输入语句相关的推荐词。
可选地,S305的另一种可能的实现方式包括a)-b):
a)获取所述多个词语中每个词语与所述关键词相关的相关性。
根据步骤S304中所获取的所述每种维度属性信息对应的所述关键词及分词之后的所述预处理后的多个语料语句的每个词语,利用公式二计算所述多个词语中每个词语与所述关键词相关的相关性。
两个词的相关性=两个词的同现频率*所有关键词的词频之和/(两个词在本次处理所有数据中出现的次数之积)公式二
其中,两个词的同现频率是指所述前N个关键词与分词之后说的所述多个语料语句中的某一个词语经常一起在所述语料语句中经常共同出现的次数。
b)确定相关性最大的前M个词语为与所述输入语句相关的推荐词,所述M为大于等于1的整数。
根据上述所获取的所述相关性值的大小,获取所述相关性最大的前M个词语,将所述相关性最大的前M个词语作为所述输入语句相关的推荐词。
可选地,也可以将所获取的每种维度属性信息对应的关键词以及与各关键词相关性最大的前M个词语作为所述输入语句相关的推荐词。
S306、输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
S306的具体实现过程可以参见图2所示实施例中的相关描述,此处不再赘述。
本实施例中,通过根据所获取的用户所输入的输入语句的地域信息、时间信息以及所述输入语句所属的领域信息对应的多个语料语句,对每种维度属性信息对应的多个语料语句进行去重等预处理,获取预处理后的多个语料语句;然后对所述预处理后的多个语料语句进行分词处理,获得多个词语;计算所述多个词语中每个词语的权重值,根据所述权重值大小获取所述关键词;再根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词,然后将所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词或者所述每种维度属性信息对应的所述关键词作为推荐词显示输出,使得用户可以从大量的输入语句数据中获取更多符合用户需求的相关词,提高了相关词推荐的准确性。
随着社会的发展,我们逐渐迈入大数据时代,尤其是社交网络备受关注,其中最为突出的是微博,越来越多的人利用微博这一平台来发表自己对突发事件、群体事件、灾害事件、娱乐事件等的看法,转发或者评论微博信息等,进而使得微博中也积累了海量的、动态变化的微博用户时空行为数据(包括发布时间、发布地点及发布方式等)、内容数据(包括文本内容、用户标签等)与关系数据(包括关注关系、粉丝列表等)。因此,对大数据进行分析与挖掘数据中的价值成为了大部分研究人员的目标,这给传统的社会网络分析方式带来了更大的挑战。为了满足用户的需求,本申请一实施例通过对相关语料进行分析来推荐出与用户给定关键词更加相关的词语。
对于相关词推荐的实现方法,针对不同的场景有不同的相关词推荐方法,现主要从面向生鲜食品的智能推荐系统以及求职网站职位这两个场景进行说明:
1)一种求职网站职位关键字搜索相关关键词推荐的方法:
推荐词收集:从招聘网站的数据库中获取所有在线职位的职位名称以及同一职位名称的数量和职位类别的ID,根据上述数据生成生成2个数组A和B。
推荐词实现:根据输入的关键词,在数组B中进行遍历匹配,如果匹配成功则把对应的职位名称和职位类别ID放到新的数组C中;根据数组C中的职位ID到数组A中进行遍历和C中职位ID相同的A中数据生成新的数组E;合并数组C和E的数据形成新的数组F,并进行去重处理。
2)面向生鲜食品的智能推荐系统:对于用户的提问调用分词算法进行分析,根据分析的结果选择调用不同的推荐算法,对数据库中的数据处理后返回相应的结果。
目前,关于相关词推荐系统的实现还不完善,针对不同的应用场景都有不同的推荐方式,这就导致相关词推荐的应用范围比较片面,针对此场景,本申请一实施例按照地域、时间、领域进行划分,丰富用户体验。然而针对大规模的数据来说,使用分布式的分析系统有利于提高推荐的速度,而本申请一实施例的推荐系统不仅仅建立在分布式集群上面,并且推荐的核心方法也采用MapReduce编程框架,从而实现相关词的快速推荐。
本申请一实施例通过下述技术方案实现:一种基于分布式实现的相关词推荐系统,包括:集群管理模块、语料管理模块、相关词推荐核心模块。
所述集群管理模块包括环境部署管理、Spark集群部署管理。
所述语料管理模块包括按地域划分管理、按时间划分管理、按领域划分管理。主要对包括不同类型的语料库进行管理,可以按照地域、时间、领域划分在特定的领域进行相关词推荐。
所述相关词推荐核心模块包括导入微博语料模块、统计词频模块、计算文档频率模块、计算权重模块、计算同现词频模块、计算词之间的互信息模块。
上述一种基于分布式实现的相关词推荐系统包括步骤(1)-(3):
(1)通过集群管理模块,可以实现集群环境的配置,为实现大量数据的相关词推荐功能做准备。
(2)在语料管理模块中,主要是对采集的微博语料进行管理,为分析不同地域、时间、领域的语料对推荐系统的影响做数据准备。
(3)通过指定某些关键词,在相关词推荐核心模块中可以推荐出与其相关的更多的词语。
下面对本申请一实施例作进一步地详细说明:
本申请一实施例的相关词推荐系统可以通过系统对用户所关心的关键词进行分析,来得到与其相关的更多关键词信息,满足用户需求,辅助用户进行科学决策。
图4为本申请另一实施例提供的相关词推荐方法的流程示意图,如图4所示,本发明相关词推荐系统包括:集群管理模块、语料管理模块、相关词推荐核心模块。
集群管理模块具体包括:
环境部署管理,主要是以Hadoop平台为基础进行管理,Hadoop是Apache下的一个项目,由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成。其中,HDFS和MapReduce是两个最基础最重要的成员。HDFS是一个分布式文件系统,有着高容错性的特点,并且用来部署在普通或低廉的硬件设备上,提供高吞吐量来访问应用程序的数据,适合有着超大数据集的应用程序,以流的形式访问文件系统中的数据。
并行计算框架采用MapReduce编程框架对大规模数据集并行运算,方便了编程人员将自己的程序运行在分布式系统上。通过把对数据集的大规模操作分发给网络上的每个节点实现可靠性,每个节点会周期性的把完成的工作和状态的更新报告回来,如果一个节点保持沉默超过一个预设的时间间隔,主节点记录下这个节点状态为死亡,并把分配给这个节点的数据发送到别的节点。最终通过多节点的并行处理实现对大数据集的并行计算。
海量数据存储采用HBase管理海量数据,实现大规模数据的分布式存储及读写。HBase是基于Hadoop生态系统的开源的、分布式的、面向列的数据库,具有高可靠性、高性能、可伸缩的特性,可在普通PC上搭建起大规模结构化存储集群。应用中需要根据业务需求了解技术细节,对必要的地方进行优化和调整。
分布式协调服务采用ZooKeeper作为分布式协调服务,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。可用于分布式存储、分布式智能分析、集群状态监控等子系统。
Spark集群部署管理,Spark常用的安装部署模式有Spark On Yarn和Standalone,可以同时使用。这种模式,借助Yarn资源分配的功能,使用Spark客户端来向Yarn提交任务运行。只需将Spark的部署包放置到Yarn集群的某个节点上即可。
语料管理模块具体包括:
按地域划分管理,按照发布微博的地域信息,可将同一地区的微博语料归在一起,地区可以按照省份、城市进行划分。
按时间划分管理,按照发布微博的时间信息,可将同一时间段的微博语料归在一起,时间可以按照年、月、天、时进行划分。
按领域划分管理,按照发布微博的领域信息,可将同一领域的微博语料归在一起,领域可以按照生活领域、政治领域、娱乐领域、经济领域等进行划分。
相关词推荐核心模块具体包括:
导入微博语料模块,即将选取的微博语料进行去重、去除无关紧要的成分、简繁体转换、分词等处理。
统计词频模块,即词在所有微博中出现的次数。
计算文档频率模块,计算包含某关键词的文档数目。
计算权重模块,主要是根据公式三进行计算:
其中,tfi,j指的是某一关键词在该文件中出现的频率,它是对词数的归一化。ni,j是该词在文件中的出现次数,而分母则是在文件中所有字词的出现次数相加。idfi由总文件数目除以包含该词语之文件的数目,再在对所得借结果取对数得到。
计算同现词频模块,计算提取出来的关键词与其他词在文档中共同出现的频率。
计算词之间的互信息模块,在相关词推荐中我们使用互信息来判断关键词之间的相关性。互信息是信息论里一种有用的信息度量,它可以看成是一个随机变量中包含的关于另一个随机变量的信息量,或者说是一个随机变量由于已知另一个随机变量而减少的不肯定性。公式四定义如下:
式中,I(x,y)表示关键词之间的相关性,p(x,y)表示关键词x和关键词y共同出现的频率,p(x)表示关键词x单独出现的频率,p(y)表示关键词y单独出现的频率。
图5是本申请另一实施例提供的相关词推荐方法的流程示意图,如图5所示,对本申请一实施例的相关词推荐系统做进一步的说明。
1)在第一阶段中,配置集群环境、同一管理语料这一模块也是系统的数据录入口,为分析和应用提供内容依据,保障系统的正常运行。
2)分析数据模块主要是执行如下数据分析服务。核心模块分析主要是通过导入微博语料、统计词频、计算文档频率、计算权重、计算同现词频、计算词之间的互信息这几个过程来得到与给定词语最为接近的关键词,以满足用户的需求。
3)点击推荐系统推荐出来的相关词,也可将分析结果生产统计报告,辅助用户更好地把握关注信息传播规律。
本申请一实施例的创新主要分为两个方面:(1)实现不同领域相关词推荐的创新:针对不同类型的语料库进行管理,实现按照地域、时间、领域划分进行相关词推荐;(2)在推荐速度方面的创新:本本申请一实施例采用MapReduce编程框架对大规模数据集进行并行运算,从大量的数据中找出与关键词相关的词。
用户可以从不同的语料中找到指定关键词的更多相关词,此语料按照地域、时间、领域进行划分,可分析出不同地方的语料在进行相关词推荐过程中的差异,不同时间段内根据相同的关键词所推荐出来的相关词的不同,以及在不同的领域中对同一个关键词进行分析的区别。另外,此功能支持大数据的处理,使得用户可以从大量数据中找出更多符合用户需求的相关词。
图6为本申请一实施例提供的相关词推荐装置的结构示意图,如图6所示,本实施例的装置600可以包括:第一获取模块610,第二获取模块620,第三获取模块630、处理模块640和输出模块650。
第一获取模块610,用于获取用户输入的输入语句。
第二获取模块620,用于获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种。
第三获取模块630,用于分别获取每种所述维度属性信息对应的多个语料语句。
处理模块640,用于根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
输出模块650,用于输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理模块640,具体用于:
提取所述每种维度属性信息对应的多个语料语句中的关键词。
根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理模块640,具体用于:
对每种维度属性信息对应的多个语料语句进行预处理,获得预处理后的多个语料语句,所述预处理包括:去重处理。
对所述预处理后的多个语料语句进行分词处理,获得多个词语。
根据所述多个词语,获得所述关键词。
可选地,所述处理模块640,具体用于:
获取所述多个语料语句中语料语句的第一数量。
获取每个词语在所述多个语料语句中出现的次数。
根据每个词语,获取所述多个语料语句中包括该词句的语料语句的第二数量。
根据所述第一数量、所述次数、所述第二数量,获取每个词语的权重值;
根据所述多个词语中每个词语的权重值,获得所述关键词。
可选地,所述处理模块640,具体用于:
确定权重值最大的前N个的词语,N为大于等于1的整数.
将确定的所述前N个的词语确定为所述关键词。
可选地,所述处理模块640,具体用于:
将所述每种维度属性信息对应的所述关键词,确定为与所述输入语句相关的推荐词。
可选地,所述处理模块640,具体用于:
获取所述多个词语中每个词语与所述关键词相关的相关性。
确定相关性最大的前M个词语为与所述输入语句相关的推荐词,所述M为大于等于1的整数。
本实施例的装置,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请一实施例提供的电子设备的结构示意图,如图7所示,本实施例的电子设备700可以包括:存储器710、处理器720。
存储器710,用于存储程序指令;
处理器720,用于调用并执行所述存储器中的程序指令,执行:
获取用户输入的输入语句。
获取所述输入语句对应的至少一种维度属性信息,所述至少一种维度属性信息包括:用户输入所述输入语句的地域信息、时间信息以及所述输入语句所属的领域信息中的至少一种。
分别获取每种所述维度属性信息对应的多个语料语句。
根据每种维度属性信息对应的多个语料语句,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
输出所述至少一种维度属性信息中每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理器720,具体用于:
提取所述每种维度属性信息对应的多个语料语句中的关键词。
根据所述每种维度属性信息对应的所述关键词,确定每种维度属性信息对应的与所述输入语句相关的推荐词。
可选地,所述处理器720,具体用于:
对每种维度属性信息对应的多个语料语句进行预处理,获得预处理后的多个语料语句,所述预处理包括:去重处理。
对所述预处理后的多个语料语句进行分词处理,获得多个词语。
根据所述多个词语,获得所述关键词。
可选地,所述处理器720,具体用于:
获取所述多个语料语句中语料语句的第一数量。
获取每个词语在所述多个语料语句中出现的次数。
根据每个词语,获取所述多个语料语句中包括该词句的语料语句的第二数量。
根据所述第一数量、所述次数、所述第二数量,获取每个词语的权重值。
根据所述多个词语中每个词语的权重值,获得所述关键词。
可选地,所述处理器720,具体用于:
确定权重值最大的前N个的词语,N为大于等于1的整数。
将确定的所述前N个的词语确定为所述关键词。
可选地,所述处理器720,具体用于:
将所述每种维度属性信息对应的所述关键词,确定为与所述输入语句相关的推荐词。
可选地,所述处理器720,具体用于:
获取所述多个词语中每个词语与所述关键词相关的相关性。
确定相关性最大的前M个词语为与所述输入语句相关的推荐词,所述M为大于等于1的整数。
本实施例的电子设备,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请另一实施例提供的终端设备的结构示意图,该终端设备可以是移动电话,计算机,平板设备等。
终端设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端设备800的操作。这些数据的示例包括用于在终端设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备800提供各个方面的状态评估。例如,传感器组件814可以检测到终端设备800的打开/关闭状态,组件的相对定位,例如所述组件为终端设备800的显示器和小键盘,传感器组件814还可以检测终端设备800或终端设备800一个组件的位置改变,用户与终端设备800接触的存在或不存在,终端设备800方位或加速/减速和终端设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备800和其他设备之间有线或无线方式的通信。终端设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行上述终端设备的相关词推荐方法。
图9为本申请另一实施例提供的服务器的结构示意图。参照图9,服务器900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述各方法实施例中服务器的方案。
服务器900还可以包括一个电源组件926被配置为执行服务器900的电源管理,一个有线或无线网络接口950被配置为将服务器900连接到网络,和一个输入输出(I/O)接口958。服务器900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述服务器的相关词推荐方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。