CN106021450B - 一种面向事件的微博搜索方法 - Google Patents

一种面向事件的微博搜索方法 Download PDF

Info

Publication number
CN106021450B
CN106021450B CN201610325193.7A CN201610325193A CN106021450B CN 106021450 B CN106021450 B CN 106021450B CN 201610325193 A CN201610325193 A CN 201610325193A CN 106021450 B CN106021450 B CN 106021450B
Authority
CN
China
Prior art keywords
microblogging
user
index
word
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610325193.7A
Other languages
English (en)
Other versions
CN106021450A (zh
Inventor
赵峰
朱亚军
王沛
金海�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610325193.7A priority Critical patent/CN106021450B/zh
Publication of CN106021450A publication Critical patent/CN106021450A/zh
Application granted granted Critical
Publication of CN106021450B publication Critical patent/CN106021450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向事件的微博搜索方法,包括微博的索引策略和对最后搜索结果的排名。微博索引策略是指对满足什么条件的微博进行搜因和怎样对这些微博进行索引,索引策略直接影响索引和查询的效率。本发明采用部分索引策略,只对和事件相关的微博进行索引,仅仅对包含主题标签或者命名实体的微博进行索引;索引结构则是采用的是简单的单倒排索引。对搜索结果的排名是指对搜索结果按照一定的策略进行排名,从而将最符合用户需求的结果呈现给用户。本发明的排名机制将用户的重要性和微博本身的特性进行线性组合:用户的重要性是考虑到微博中用户的关注的数量和被关注的数量,微博本身的特性则涉及到某条微博的被转发次数和评论次数。

Description

一种面向事件的微博搜索方法
技术领域
本发明属于社交网络领域,更具体地,涉及一种面向事件的微博搜索方法的微博的索引策略和排名技术。
背景技术
微博搜索是对微博信息进行即时、快速搜索,实时地将用户产生的微博信息作为查询结果返回给其他用户。微博搜索的问世使得人们在现实中获取外界信息变得更加实时化、简单化和便捷化。相比传统搜索引擎,微博实时搜索需要具备高插入率、低查询延时、实时数据可用性以及高并发读写的特性。一项调查研究显示,截至2012年3月,Twitter每天会产生约3.4亿条推文,处理约16亿的网络搜索请求;而新浪微博平均每天产生超过1亿条微博,高峰期每秒能够达到13000条,如此快速的微博产生速度给微博实时搜索平台提出了研究更高效索引方法的要求,用以支持微博的快速索引和实时查询。
在微博搜索方面,为提高搜索质量和效率,研究者也提出了一些索引策略,主要包括全局索引策略和部分索引策略。全局索引是指将所有的微博都会插入到索引中去,部分索引则会按照一定的机制去掉一些无效的微博,将有效的微博插入到索引中去。虽然现有的方法能处理这一问题,这些方法均有它们的局限性。Twitter每天会产生约3.4亿条推文,这么大的数据量,对于全局索引的要求是非常高的,需要复杂的索引结构的设计来处理这些微博。这些复杂的索引结构就需要更高的维护开销和查询开销。部分索引对于无效微博的确定也是仁者见仁智者见智的,并没有一个有效的方法,因此会带来结果的不精确性。另外现有的搜索系统,针对最后结果的排序,基本上都是依靠微博的发表时间进行排序的,这不能很好的满足用户的需求。
为了减少索引的时间,索引维护和查询的开销,满足用户的需求。我们设计了一种面向事件的微博搜索方法,包括一个部分索引即只索引和事件相关的微博和一个微博排名函数。研究表明几乎所有的和实际事件相关的微博都会关联到一个主题标签或者命名实体,这样索引和事件相关的微博便可以转换成索引包含主题比前或者命名实体的微博。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种面向事件的微博搜索方法,旨在解决上述方法索引速度慢,维护索引结构开销大和查询开销打的问题,同时能够更好的满足用户的需求。
为了实现上述目的,本发明提供一种面向事件的微博搜索方法,包括以下步骤:
(1)对原始的微博数据集进行以下的预处理:首先除去微博中的一些噪音,然后利用词袋模型将微博中的单词转化存储,以方便索引。
(2)去掉微博中的一些噪音之后,便可以对微博按照部分索引策略进行单倒排索引了,并将不相关的微博写入到日志文件
(3)用户U输入关键字K,搜索和关键字K相关的微博,并等待搜索方法返回结果。
(4)系统接受关键字并在索引结构中查找和关键字相关的微博,并保存查询到的微博。
(5)首先对查询到的微博按照排名函数进行打分,然后将每条微博按照打分的降序进行排名,最后将搜索结果返回给用户U。
优选地,步骤(1)包括以下步骤:
(1-1)为了去掉数据集中的噪音,对数据集进行了一系列的处理。首先除去数据集中的停用词和无用词,然后我们利用一个开源的Java库,将数据集中的单词转化为词根的形式即将英文单词转化为其原形的形式。最后我们除去在整个数据集中出现频率小于5的主题标签和出现频率小于50的单词和单词数小于3的微博。
(1-2)为了便于单词的查找,需要将单词转化存储,将单词添加到词典以及完成单词与单词id之间的映射过程,具体的用到JAVA中的HashMap类。
优选地,步骤(2)包括以下步骤:
(2-1)对于已经去掉噪音的微博,判断该条微博中是否包含主题标签或者命名实体。
(2-2)如果该条微博中包含主题标签或者命名实体,则表明该条微博和事件是相关的,将其加入到单倒排索引中去,否则将其加入到日志文件中去。
(2-3)周期性检测微博加入到索引中的时间,如果某条微博加入到索引的时间超过15天,则将该条微博从索引结构中去掉,然后将其加入到日志文件中去。
优选地,步骤(4)具体为,对于用户U给定的关键词K,利用相似度公式计算其和索引中的微博的相似性,得到和关键词K相似的微博。
优选地,步骤(5)包括以下步骤:
(5-1)计算每个用户的重要性,具体为考虑到每个用户的关注的数量和被关注的数量。给定某个用户U,他关注的人的个数为fo,关注他的人数的个数为fe。用R(U)表示用户U的重要性,则用户U的计算公式为:
λ的取值范围是0到1,因为考虑到关注某个用户的人数fe,会比他关注的人数fo更重要。
(5-2)除了用户的重要性会影响微博的排名之外,微博本身自带的一些属性也会影响排名。这一步计算微博自身属性的重要性。微博本身的属性主要包括微博的评论数和微博的被转发数。给定一条微博t,让r表示微博的被转发的次数,c表示用户的评论数,微博本身的属性A(t)的计算公式如下所示。
(5-3)以线性组合将每个用户的重要性和每条微博的重要性联合在一起,给定一个用户u和一条微博t,最后的排名分数的计算公式为:
公式中τ是线性组合的参数,取值在0到1之间。公式中time1表示微博t的发表时间,而time2则表示查询时间。
(5-4)计算步骤(4)得到的微博,计算每条微博的RankScore值,按照RankScore的值的降序将这些微博排序,然后将结果返回给用户U。
通过本发明所构思的以上发明内容,与现有方法相比,本发明具有以下的有益效果:
1、索引的效率高,并不需要额外的开销用来维护复杂的索引结构:在步骤(3)中,本发明采用部分索引策略,只是针对包含主题标签或者命名实体的微博进行索引,这样便会使索引的微博量少,从而不需要复杂的索引结构处理大量的微博流。
2、提高用户的用户体验:越来越多的用户在搜索微博时只想得到一些和热点事件相关的微博而且只会查看结果的前几条,步骤(3)只索引和事件相关的微博这样去除了事件无关微博,步骤(5)的排名函数提高了搜索结果的质量。
附图说明
图1是本发明面向事件的微博搜索方法的原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供了一种面向事件的微博搜索方法:
(1)对原始的微博数据集进行以下的预处理:首先除去微博中的一些噪音,然后利用词袋模型将微博中的单词转化存储,以方便索引,集体包含以下步骤:
(1-1)为了去掉数据集中的噪音,对数据集进行了一系列的处理。首先除去数据集中的停用词和无用词,然后我们利用一个开源的Java库,将数据集中的单词转化为词根的形式即将英文单词转化为其原形的形式。最后我们除去在整个数据集中出现频率小于5的主题标签和出现频率小于50的单词和单词数小于3的微博。
(1-2)为了便于单词的查找,需要将单词转化存储,将单词添加到词典以及完成单词与单词id之间的映射过程,具体的用到JAVA中的HashMap类。
(2)对去掉微博中的一些噪音之后,便可以对微博按照部分索引策略进行单倒排索引了,并将不相关的微博写入到日志文件。
(2-1)对于已经去掉噪音的微博,判断该条微博中是否包含主题标签或者命名实体。
(2-2)如果该条微博中包含主题标签或者命名实体则表明该条微博是和事件相关的,将其加入到单倒排索引中去,否则将其加入到日志文件中去。
(2-3)周期性检测微博加入到索引中的时间,如果某条微博加入到索引的时间超过15天,则将该条微博从索引结构中去掉,然后将其加入到日志文件中去。
(3)用户U输入关键字K,搜索和关键字K相关的微博,并等待搜索方法返回结果。
(4)系统接受关键字并在索引结构中查找和关键字相关的微博,具体为对于用户U给定的关键词K,利用相似度公式计算其和索引中的微博的相似性,得到和关键词K相似的微博,并保存在一个数据接头中。
(5)首先对查询到的微博按照排名函数进行打分,然后将每条微博按照打分的降序进行排名,最后将搜索结果返回给用户U,包括以下步骤:
(5-1)计算每个用户的重要性,具体为考虑到每个用户的关注的数量和被关注的数量。给定某个用户U,他关注的人的个数为fo,关注他的人数的个数为fe。用R(U)表示用户U的重要性,则用户U的计算公式为:
λ的取值范围是0到1,因为考虑到关注某个用户的人数fe,会比他关注的人数fo更重要。
(5-2)除了用户的重要性会影响微博的排名之外,微博本身自带的一些属性也会影响排名。这一步计算微博自身属性的重要性。微博本身的属性主要包括微博的评论数和微博的被转发数。给定一条微博t,让r表示微博的被转发的次数,c表示用户的评论数,微博本身的属性A(t)的计算公式如下所示。
(5-3)以线性组合将每个用户的重要性和每条微博的重要性联合在一起,给定一个用户u和一条微博t,最后的排名分数的计算公式为:
公式中τ是线性组合的参数,取值在0到1之间。公式中time1表示微博t的发表时间,而time2则表示查询时间。
(5-4)计算步骤(4)得到的微博,计算每条微博的RankScore值,按照RankScore的值的降序将这些微博排序,然后将结果返回给用户U。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种面向事件的微博搜索方法,其特征在于,包括以下步骤:
(1)对原始的微博数据集进行预处理:除去微博中的噪音,利用词袋模型将微博中的单词转化存储,以方便索引;
(2)对微博按照部分索引的策略进行单倒排索引,并将不相关的微博写入到日志文件;
(3)用户输入关键字,搜索和关键字相关的微博,并等待搜索方法返回结果;
(4)系统接受关键字并在索引结构中查找和关键字相关的微博,并保存查询到的微博;
(5)对查询到的微博按照排名函数进行打分,将每条微博按照打分的降序进行排名,将搜索结果返回给用户;
所述步骤(2)包括以下子步骤:
(2-1)判断该条微博中是否包含主题标签或者命名实体;
(2-2)如果该条微博中包含主题标签或者命名实体则表明该微博与事件相关,将其加入到单倒排索引中去,否则将其加入到日志文件中去;
(2-3)周期性检测微博加入到索引中的时间,如果某条微博加入到索引的时间超过15天,则将该条微博从索引结构中去掉,然后将其加入到日志文件中去。
2.根据权利要求1所述的面向事件的微博搜索方法,其特征在于,所述步骤(1)包括以下子步骤:
(1-1)首先除去数据集中的停用词和无用词;然后利用一个开源的Java库,将数据集中的单词转化为词根的形式即将英文单词转化为其原形的形式;最后除去在整个数据集中出现频率小于5的主题标签和出现频率小于50的单词和单词数小于3的微博;
(1-2)将单词转化存储,将单词添加到词典以及完成单词与单词id之间的映射。
3.根据权利要求1或2所述的面向事件的微博搜索方法,其特征在于,所述步骤(4)的具体为,对于用户U给定的关键词K,利用相似度公式计算其和索引中的微博的相似性,得到和关键词K相似的微博。
4.根据权利要求1或2所述的面向事件的微博搜索方法,其特征在于,所述步骤(5)的具体为:
(5-1)计算每个用户的重要性,用户U的重要性R(U)计算公式为:
其中fo为用户U关注的人的个数,fe为关注用户U的人的个数,用R(U)表示用户U的重要性,λ的取值范围是0到1;
(5-2)计算微博自身属性的重要性,微博t本身的属性A(t)的计算公式如下所示:
其中r表示微博的被转发的次数,c表示用户的评论数;
(5-3)以线性组合将每个用户的重要性和每条微博的重要性联合在一起,对于一个用户u和一条微博t,最后的排名分数的计算公式为:
其中τ是线性组合的参数,取值在0到1之间,time1表示微博t的发表时间,而time2则表示查询时间;
(5-4)计算步骤(4)得到的微博的RankScore值,按照RankScore的值的降序将这些微博排序,然后将结果返回给用户U。
CN201610325193.7A 2016-05-17 2016-05-17 一种面向事件的微博搜索方法 Active CN106021450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610325193.7A CN106021450B (zh) 2016-05-17 2016-05-17 一种面向事件的微博搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610325193.7A CN106021450B (zh) 2016-05-17 2016-05-17 一种面向事件的微博搜索方法

Publications (2)

Publication Number Publication Date
CN106021450A CN106021450A (zh) 2016-10-12
CN106021450B true CN106021450B (zh) 2019-06-18

Family

ID=57097582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610325193.7A Active CN106021450B (zh) 2016-05-17 2016-05-17 一种面向事件的微博搜索方法

Country Status (1)

Country Link
CN (1) CN106021450B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622443A (zh) * 2012-03-13 2012-08-01 北京邮电大学 一种面向微博的定制化筛选系统及方法
CN103279515A (zh) * 2013-05-23 2013-09-04 微梦创科网络科技(中国)有限公司 基于微群的推荐方法及微群推荐装置
CN104111935A (zh) * 2013-04-17 2014-10-22 腾讯科技(深圳)有限公司 一种推送微博的方法及系统、服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276500A1 (en) * 2005-09-21 2009-11-05 Amit Vishram Karmarkar Microblog search engine system and method
US20130159277A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Target based indexing of micro-blog content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622443A (zh) * 2012-03-13 2012-08-01 北京邮电大学 一种面向微博的定制化筛选系统及方法
CN104111935A (zh) * 2013-04-17 2014-10-22 腾讯科技(深圳)有限公司 一种推送微博的方法及系统、服务器
CN103279515A (zh) * 2013-05-23 2013-09-04 微梦创科网络科技(中国)有限公司 基于微群的推荐方法及微群推荐装置

Also Published As

Publication number Publication date
CN106021450A (zh) 2016-10-12

Similar Documents

Publication Publication Date Title
US8332434B2 (en) Method and system for finding appropriate semantic web ontology terms from words
US8990200B1 (en) Topical search system
KR102080362B1 (ko) 쿼리 확장
US10942977B2 (en) Systems and methods for targeting, reviewing, and presenting online social network data by evidence context
CN104035972B (zh) 一种基于微博的知识推荐方法与系统
CN106484829B (zh) 一种微博排序模型的建立及微博多样性检索方法
CN111104488B (zh) 检索和相似度分析一体化的方法、装置和存储介质
Dong et al. A survey in semantic search technologies
CN108241613A (zh) 一种提取关键词的方法及设备
CN107943952A (zh) 一种基于Spark框架进行全文检索的实现方法
CN104281565B (zh) 语义词典构建方法和装置
CN110807326A (zh) 结合gpu-dmm与文本特征的短文本关键词提取方法
Chirigati et al. Knowledge exploration using tables on the web
US20140188861A1 (en) Using scientific papers in web search
CN108038133A (zh) 个性化推荐方法
Blanco et al. Overview of NTCIR-13 Actionable Knowledge Graph (AKG) Task.
Mizzaro et al. Short text categorization exploiting contextual enrichment and external knowledge
JP5717297B2 (ja) 時系列情報を利用して文章をクエリ検索する検索プログラム、装置、方法及びサーバ
Zhang Start small, build complete: Effective and efficient semantic table interpretation using tableminer
CN106021450B (zh) 一种面向事件的微博搜索方法
Adikara et al. Movie recommender systems using hybrid model based on graphs with co-rated, genre, and closed caption features
Yang et al. An Opinion-aware Approach to Contextual Suggestion.
Wei et al. Integrated recommender systems based on ontology and usage mining
Gai Analysis of Microblog Public Opinion Based on BERT Model
Rafa et al. Semantic Representation of a Geo-Social User Profile for a Personalised Information Retrieval

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant