分词小议

 

全文信息检索系统中,创建倒排索引时应当使用什么分词方式一直是众说纷纭,毫无定论。
具我所知,已有某某 paper “研究指出采用二元切分的方式构建索引是最好的;也看到过园子里的一位兄弟认为单字切分最准确(sorry,忘记具体出处);当然,将某个基于词典或者共现频率的中文分词组件包装一下加入自己的项目中也是非常流行的做法。
既然存在这么多的看法与做法,难免会让人生出一较高下或者明辨真伪的决心;
不过作为一个成熟而又理智的热血青年,偶认为这种决心并无必要,原因在于信息检索系统的评价标准是多样化的——召回率、准确率与查询效率三个指标相互矛盾,只有取舍、不能调和;人们关心的指标不尽相同自然会提出不同的观点、奉行不同的做法。假设你在做一个Web搜索引擎,首先要保证的一定是查询效率,因为它所要处理的海量数据与并发请求是一种天然的障碍;其次,在召回率与准确率中你会更倾向于后者,因为最终用户与Web搜索引擎的关系恰如负心男人与痴情女人的关系——用户希望尽快得到最满意的结果,并在下一个瞬间把你抛弃,直到他们再次需要你为止(当然,如果你提供了代号为 Good Morni 的竞价排名服务,为了不致客户投诉,最好还是关心一下召回率。所以说,广大小白和一小撮VIP之间的利益冲突是深刻、长远以及不可调和的。。。);同时,对于一个传统的图书信息检索系统,情况会大不相同——书籍与文章有良好的关键字索引,包括标题、作者、摘要、正文、收录时间等定义明确的结构化数据,文档集合相对稳定并且规模相对较小——这一切都使你的决策更倾向于提高系统的召回率,原因很简单,你有这么做的可能性或者说是先天优势。

既然我们已经明确评价信息检索系统的指标是多元化的,现在让我们来看看不同的索引分词策略到底如何影响这些指标。

首先让我们来比较两个对立的策略,单字切分 vs 中文分词:

单字切分的支持者们最强有力的证据大概如下:
世界杯是一个词,用单字切分的话,查世界也可以命中这篇文档,而用中文分词就查不到了;
而中文分词的支持者们的反驳大概是:
参加过世界杯,用单字切分的话,查过世也可以命中这篇文档,但事实上并没有人挂掉;

通过以上陈述我们可以观察得到这样的结论,采用单字切分会提高系统的召回率,而降低准确率;而中文分词则恰恰相反,它提高了准确率,并降低的召回率,并且分词的颗粒越粗糙(平均词长越长)这种趋势就越明显

这个结论似乎有助于理解为什么 google、百度等等这些理论上更需要高准确率的Web搜索引擎都采用了中文分词技术。但是如果我们的认识仅停留在这种水平就未免显得过于肤浅:事实情况是,需要高吞吐量的Web搜索引擎在处理中文内容时必须采用中文分词技术。

让我们把倒排索引想象成一张表,其中每一行都有一个TermText以及所有包含该TermText的文档编号列表。这样在我们查询某个关键字时,可以一次性获得所有包含该关键字的文档,而不用在原始文档集合中逐一查找。而采用不同的分词策略创建索引,事实上既是将文档编号集合以不同的程度打散到索引中不同的行。单字切分可以说是打散程度最低的一种方式,行数仅等于汉字数目,而整个倒排索引表会非常的;相反,颗粒较粗的中文分词将文档编号集合分配到更多的不同行,使得倒排索引表的宽度变小。并且随着分词粒度的增加宽度会逐渐减小,最极端的情况就是将每一篇文档看作一个,此时倒排索引表的宽度处处等于1

基于以上讨论,我们看出以下两点:
一、在文档集合数量非常庞大时,系统的吞吐量会受到存储倒排索引文件的磁盘的性能限制,因此,采用中文分词,缩短倒排索引表的宽度将有助于提高系统的吞吐量。
二、无论使用布尔查询或者是基于位置信息的查询(如 Lucene 中的 PhraseQuery)单字切分的单词查询性能不会好于中文分词。

这样看来,在Web搜索引擎中使用中文分词就不是一件难以理解的事情了;同样,在文档规模较小时,使用单字切分的策略也不会有什么重大问题。

至于二元切分,在偶看来,这种方法试图以一种战场外科手术的粗犷气质实现中庸之道的思想,单字切分与中文分词之间形成了一种在某些方面不尽人意的折中(歧义、无意义的二元组等)。在实现上它更接近单字切分,而非中文分词。按照偶滴设想,如果实现一种对标准意义的中文分词策略的改进,使其能够在一定程度上缓解中文分词降低召回率的问题,也许会成为一种在各方面都更加平衡的解决方案。

 

 

摘 要 随着互联网影视产业的迅速发展,电影资源呈指数级增长,类型也愈加多样化,但是用户面对如此庞大的影片库时,会遇到信息过载、筛选效率低下、观影决策成本高这些难题,而传统的电影平台大多只是对基本的分类和热度进行展示,并没有提供个性化的推荐服务,社交互动以及一体化管理的能力也比较薄弱。 该系统使用的是Spring Boot+Vue前后端分离的方式进行开发,设计并开发了一个电影推荐和评论系统。开发系统中存在三个问题,即无法准确地判断出用户的喜好、电影推荐功能上线之初没有用户数据,因此推荐效果不佳、大量用户同时评论打分时系统容易出现不稳定的情况。为了克服上述问题,本文查阅相关资料,不断迭代开发原型,并进行实际测试,完成整个系统的全部过程,即系统需求分析、架构设计、功能开发、系统测试。系统分为普通用户和管理员两种身份,具有注册登录、电影浏览、电影推荐、评分评论、影片收藏、个人中心、后台管理等功能,采用结合用户喜好和电影热度的简单推荐方式,提供热门电影推荐和个性化推荐,很好地解决了推荐功能初始没有数据、数据较少的问题。项目用接口来完成前后端的数据交互,使用MySQL数据库存储用户、电影、评论、收藏等各种数据,并且加入权限验证、密码加密等安全措施,保证系统安全稳定并且便于后期扩展。除此之外,系统还增加了电影资讯查看、首页轮播图设置、编辑资讯等功能,使整个电影平台的服务更加全面,使用更加高效。经过全面的功能测试、接口测试和性能测试,系统各个模块运行稳定,推荐接口响应时间小于300ms,主要的互动操作成功率大于98%,可以大大降低用户的选片成本,提高观影决策的速度和社区互动的效果。 本文给出一套轻量级、易部署、可复用的电影推荐类Web应用工程实现方案,相比于传统的单一列表展示型平台,个性化服务、社交互动体验和后台管理效率都有明显的提高,可以给影视文化数字化传播、推荐算法轻量化工程实践
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值