|
|

Edited by 初音家二小姐 at 2016-1-6 14:05
http://www.tsdm.me/plugin.php?id=tsdmtag&mobile=yes
基于先知舰娘系统发展而来,依靠[@]不死鸟之翼[/@]开发的minerva系统提供论坛主题标签解析进行标签库解析,对主题检索建立初步标签式检索的体系。
检索部分code开源可见github项目:
https://github.com/chibimiku/tsdmtag
-什么是标签?
标签是对主题属性的一种标识。
举例Ex:
http://www.tsdm.me/forum.php?mod=viewthread&tid=673838&mobile=yes
[TSDM][2015十月新番]请问您今天要来点兔子吗??(第三期)(200P)(250M)
标签(tag):点兔、图片、资源、新番、2015Q4、[200P]、[250M]、[第三期]
后三个对检索意义不大,因为人不会去找有200pic的图包,但是对结构化展现有用。
其实还有一些系统自带的属性tag:
authorid:375544、fid:14、typeid:103、highlightid:44、price:1
这些tag组成了对主题的结构化描述,利于我们在检索和展示两个层面上进行自动化处理。
-什么是标签式检索?
直观地说,标签式检索通过你点击一个标签,显示所有属于这个标签的内容(主题)来提供检索。
更进一步,由于标签检索速度极快,可通过任意组合标签的方式来实现复杂方式检索。
该检索功能基于正确标示主题属性的索引而来,pixiv、nico动画、萌妹等站,乃至微博、reddit等均广泛应用标签功能。
通过给主题打标签(tag)的方式标记主题的属性后,可以打破版区墙壁形成网状检索体系,和关键词搜索相比,标签搜索更精准,速度更快。
-标签式检索有哪些优缺点?
优点:
(1)速度快。在检索层面上,标签式检索只传递数字id,对系统负担小,负载能力强。
(2)能够统计总数。在建立标签的同时维护标签总数,可以轻易给出标签内容数量,并据此推断内容热度。
(3)通过对标签分类,能够建立二次标签库,例如:绘师类标签,可罗列出已有主题相关绘师,点击后查询该绘师相关主题。
(4)比关键字搜索更准确,前面提到过的优点。对mysql的like查询来说,搜一个词需要准确命中才行,标题不可能重复太多冗余的字词去描述,但是主题可以贴很多的标签。
(5)标签强度区分。对标签赞/踩的功能,可以让标签具备强度区分。例如一个提问【点兔里有哪些人】也可能打上点兔标签,它的热度就没有【点兔最新的海报】里点兔标签受欢迎。
(6)特殊标签标示。例如Nico的百万再生、千万再生、标题欺诈等标签,可形成自己独到的风格。
(7)通过归一化可以实现对查询的集中,提高命中率。归一化可以简单总结为把相同意思的标签弄成同一个,例如【点兔】【您今天要来点兔子吗?】【您今天要来点兔子吗】【来点兔子】【請問您今天要來點兔子嗎】【ご注文はうさぎですか?】在某个程度上可以视作同义词,最佳预期下应该搜索到相同的内容。
(8)做结构化展现。合适的标签可直接生成任意类型的索引,不需要人工介入,可重复利用、多次生成、通过自动化检查有效性。可节省绝大多数机械式建立的人工索引,提高效率。
缺点:
(1)建立和维护标签系统是一个漫长的过程。在低技术环境下建立标签系统是一个挑战,标签式检索效果直接取决于标签入库时的处理程度。
我们探索了在缺乏群众参与的情况下建立了minerva系统用于从主题中解析标签并填入tag表中建立关系,从目前的效果来看还不错,自动化提取不需要人力对单个case介入,接下来我们会更多考虑标签的归一化处理上。
(2)需要定期跑维护,占用额外的机器资源,从实际应用的情况看总的流程跑大概10分钟以内,不阻塞论坛本身IO,E3-1230吃一半左右,可以接受,不过虚机上跑的那些就悬了,当然这些是全量的,可以离线处理后放上去,数据量对现在的机器来说是毛毛雨。
(3)to be continued |
|
|
|
|
|