LDM, Luogu Discuss Marker
,中文名洛谷讨论标记器
,中文简称谷论标。LDM 可以给洛谷讨论打上标记,并进行一系列相关操作。
洛谷用户 @ForkΨKillet 成为洛谷的一员已有超过两年半的时间,他从一开始的,什么也不懂的 xxs,变成了还是什么也不懂 —— 但是知道如何遵守社区规则,更好地帮助、方便自己与他人 —— 的初中 OIer。
最近 ForkKILLET 为了几个在他看来无意义的帖子和别人吵了一架。帖子的内容堪称周经帖 —— 楼主询问如何打出带颜色的字体。ForkKILLET 认为这是不正确的行为,而一些人认为应当体谅新人,而不是加以指责。
ForkKILLET 认为自己没错,同时也认为楼主没错,自然,维护楼主的用户也是从善意出发。
ForkKILLET 找到了他认为折中的方法 —— 于是洛谷讨论标记器诞生了。有了他的帮助,以后洛谷用户不再需要为了帖子无意义与否而争吵 ——
我们的宗旨是:还你一个和谐有序的洛谷讨论区。
ForkKILLET 相信人民的眼睛是雪亮的,一切「标记」行为均由洛谷用户自行完成。脚本目前在讨论列表运行,它自动抓取讨论的内容,显示「分析中」并开始寻找标记:
< {mark-name}: {reason} >
这可能不太容易理解,举个例子,若要标记「无意义」,可以这样:
< 无意义:洛谷社区帮助中有提及,不应在讨论区中询问。 >
< Useless: 洛谷社区帮助中有提及,不应在讨论区中询问。 >
<usl:洛谷社区帮助中有提及,不应在讨论区中询问。>
以上都是可行的标记语法 —— 空格是不限的,冒号中、英文都允许。一条回复中可以有多个种类标记,一个人打一次以上的同类型标记是不被允许的。
我们回到原理,当脚本搜寻到一个标记,将会进行分析。首先,reason,即原因部分,有规定的字数下限 —— 我们不希望出现只知道「贴标签」而不负责任的使用者出现。
当然,字数布丁可以避开这个检测,但在之后的版本中,我们也会对内容进行分析。一旦查到恶意标记者,将扣除其「信任值」。
信任值是很重要的元素。常说三人成虎,即使从「误判」的角度来将,我们也不能完全相信用户的标记,我们有一些这方面的规则 —— 每条标记将产生一个权重:
weight = trust * (1.3 ** v_level) * (root ? 1.5 : 1) : (now_root ? 1.5 : 1)
其中,v_level
为勾等级。无勾、绿勾、蓝勾、金钩分别对应其 0 ~ 3 的值。root
代表此人是或曾是管理员,now_root
代表此人目前正担任管理员的职位。
随后,我们累加权重,在分析完整篇讨论后,会将各标记权重与其达标线进行比较,不低于达标线,即被认可。
此外,各个标记对用户类别,勾等级下限还有限制,对原因长度的限制也不同。下表中展示了这些限制,也包括标记的各名称与权重的「达标线」。
标记名称与别名 | 原因长度下限 | 用户类型限制 | 勾与管理 | 权重达标线 |
---|---|---|---|---|
ldm, 谷论标, glb, 洛谷讨论标记器, LuoguDiscussMarker | 1 | 仅允许 LDM 开发组 | 不限 | 1 |
usl, 无意义, wyy, 无意义的内容, Useless | 10 | 除楼主外 | 不限 | 33 |
mlt, 屑标题, xbt, 人间之屑标题, MeaninglessTitle | 10 | 除楼主外 | 不限 | 20 |
pdt, 板漂学, bpx, 板块漂移学说, PlateDriftTheory | 10 | 除楼主外 | 不限 | 20 |
usf, 有帮助, ybz, 能帮助到我, Useful | 15 | 除楼主外 | 绿勾以上 | 43 |
end, 已完结, ywj, 可以来考古了, Enderman | 20 | 仅允许楼主与管理员 | 不限 | 1 |
god, 是神贴, sst, 愣着干嘛留名啊, HotContent | 25 | 除楼主外 | 蓝勾以上或管理 | 33 |
如对数据有建议,欢迎联系我们。
最后,经过重重筛选的标签,将会取代「分析中」,可爱地呈现在讨论列表上。这可能需要几秒钟的时间,如果帖子很长,时间的增长会很迅速。在接下来的版本中,我们会修复这个毛病。
已发布的
alpha 0
: 最初公测版,仅有标记功能,或许会有 bug,欢迎提出。将发布的
alpha 1
: 将支持标记的筛选,设置的导入和导出,并优化分析时间。alpha 2
: 将支持 Markdown 代码框中的 Intellisense,标记高亮,标记冲突的手动判断,和与之关联的标记格式补全。本脚本遵循 MIT 协议。
最近由于不可抗力 push 不能,后续会整到 Github 上 release 的。