Discourse 有词云插件吗?
Carl
没有……您是有什么特定原因想要一个吗?打算怎么使用呢?
这会有两个好处。首先,一个可点击的词云,点击某个词(例如“订阅者”)后,可以显示所有匹配该词的议题。
其次,你可以像这样展示其他类型的搜索,比如热门发帖者,或者任何你需要的内容。
这或许可以作为一个定时任务来运行,每天一次或更频繁。
我觉得这个主意很有趣
……于是我就把它做出来了*
目前它还处于“刚刚能跑”的非常早期阶段,需要大量优化,增加更多选项,可能还需要添加点击功能:
它会在你的汉堡菜单中添加一个链接。![]()
请注意,当前它会从所有帖子中生成词频统计,无论帖子类型和位置如何。这实际上可能造成一种绕弯子的轻微隐私泄露(或许需要添加一些额外的安全措施,以排除来自私密区域帖子中的词汇)。不过,你必须登录后才能查看并访问这些数据……而且词汇是以 SVG 形式渲染的,只显示前几百个高频词,因此对大多数站点来说不太可能构成太大隐患。我会继续改进以提升安全性,但目前的实现方式查询速度非常快。
祝大家玩得开心!![]()
*它利用了一些相当巧妙的现有库,我已在仓库中注明了出处。特别感谢 @DiscourseMetrics,我借鉴了他的 查询。
太棒了。我想你也需要在词云中排除某些词语吧?
当然,这需要加入大量合理的排除规则,同时正则表达式也需要优化,以去除 Markdown 格式等内容,而不至于让实现过于复杂。这只是一个起点。我刚刚添加了一些颜色。
不过说清楚一点,这真的很棒,哈哈。
已添加本地化的忽略词列表:
这将使结果更加有趣……
此外,我还添加了大量的清理逻辑,因此结果要好得多。
太棒了!
我很喜欢这个尝试,做得很好。如果我可以提出一些功能请求:
/wordcloud/category以下是它在我所在社区论坛上的显示效果。
很好的反馈,谢谢!还有一些不错的点子!
是的,这听起来是个不错的方案。目前我正忙于客户项目(大约 3 米深的坑里),但会在下一个版本中考虑分类选择功能。
类别选择功能已在此提交中实现:
如果您不选择任何类别(默认设置),系统将扫描所有论坛帖子(包括私信和所有内容)。如果仅添加一个类别,词频统计将限制在该类别内,以此类推。

正则表达式也进行了巨大改进(
),现在能够很好地清理“原始数据”,并去除大部分甚至全部 Markdown 格式。
注意:词频统计现在每小时更新一次(这可能仍然过于频繁,但现阶段有助于我们在经历大量初期代码迭代时,更方便地检查生产环境中的变化)。
注意 2:目前尚未考虑英语以外的其他语言(显然也未经过测试)。当前的词处理逻辑在某些语言中可能无法正常工作。欢迎提出建议或提交拉取请求(PR)。
太棒了!这是一个只包含最相关类别的更新版词云。
我的社区规模较小,而且还算比较新。老实说,词云中呈现的信息虽然看起来不错,但并没有特别有意义或实用。我想它或许可以用在关于社区的回顾性话题中作为视觉素材,或者类似用途。很期待看到大家更多使用它的示例。
其中包含的一些词汇很常见且无意义,例如 “youd”、“off”、“got”、“add” 等。我在想,“词云忽略部分”设置(我的设置是 100,即默认值)是否发挥了作用?或者是否有其他更合适的忽略词列表?
是的,我很乐意考虑使用更大的列表(我曾找到一份包含 200 个单词的列表,但后来转而采用 维基百科 作为更“权威的来源”)。
好的,我已经:
注意:如果仍有您希望排除的单词,只需将它们添加到以下内容的开头:
就像我在这里做的那样(例如“ive”、“its”、“topic”、“post”)
若要更快地查看任何更改的影响,只需从 Sidekiq 重新触发该任务:
暂时就这些,我建议。我可能会创建一个专门的议题。
需要卸载旧版本才能获取此更新吗?
您通常只需升级插件即可。遇到问题了吗?
抱歉,我们已经解决了。![]()
完全没问题 ![]()