Discourse Disorder

我还修改了您的查询,以便使用 Data Explorer 以更方便的方式显示评分。
功劳归于 ChatGPT 和 Leonardo 的 PostgreSQL 提示

SELECT
  json_extract_path_text(pcf.value::json, 'classification', 'toxicity') AS toxicity,
  json_extract_path_text(pcf.value::json, 'classification', 'severe_toxicity') AS severe_toxicity,
  json_extract_path_text(pcf.value::json, 'classification', 'obscene') AS obscene,
  json_extract_path_text(pcf.value::json, 'classification', 'identity_attack') AS identity_attack,
  json_extract_path_text(pcf.value::json, 'classification', 'insult') AS insult,
  json_extract_path_text(pcf.value::json, 'classification', 'threat') AS threat,
  json_extract_path_text(pcf.value::json, 'classification', 'sexual_explicit') AS sexual_explicit,
  json_extract_path_text(pcf.value::json, 'model') AS model,
  pcf.created_at,
  p.raw
FROM
  post_custom_fields AS pcf
INNER JOIN
  posts AS p ON p.id = pcf.post_id
INNER JOIN
  topics AS t ON t.id = p.topic_id
WHERE
  pcf.name = 'disorder' 
  AND t.archetype = 'regular'
ORDER BY created_at DESC
此修改将返回任何分类值大于 50(或您设置的任何值)的行
-- [params]
-- int :threshold = 50
SELECT DISTINCT ON (p.id, pcf.created_at)
  json_extract_path_text(pcf.value::json, 'classification', 'toxicity') AS toxicity,
  json_extract_path_text(pcf.value::json, 'classification', 'severe_toxicity') AS severe_toxicity,
  json_extract_path_text(pcf.value::json, 'classification', 'obscene') AS obscene,
  json_extract_path_text(pcf.value::json, 'classification', 'identity_attack') AS identity_attack,
  json_extract_path_text(pcf.value::json, 'classification', 'insult') AS insult,
  json_extract_path_text(pcf.value::json, 'classification', 'threat') AS threat,
  json_extract_path_text(pcf.value::json, 'classification', 'sexual_explicit') AS sexual_explicit,
  json_extract_path_text(pcf.value::json, 'model') AS model,
  p.id as post_id,
  pcf.created_at,
  p.raw
FROM
  post_custom_fields AS pcf
INNER JOIN
  posts AS p ON p.id = pcf.post_id
INNER JOIN
  topics AS t ON t.id = p.topic_id
WHERE
  pcf.name = 'disorder' 
  AND t.archetype = 'regular'
GROUP BY p.id, pcf.value, pcf.created_at
HAVING 
  CAST(json_extract_path_text(pcf.value::json, 'classification', 'toxicity') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'severe_toxicity') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'obscene') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'identity_attack') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'insult') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'threat') AS FLOAT) > :threshold 
  OR CAST(json_extract_path_text(pcf.value::json, 'classification', 'sexual_explicit') AS FLOAT) > :threshold
ORDER BY pcf.created_at DESC, p.id

您还可以通过引入更多参数来修改它,以便能够使用 Data Explorer 设置不同的阈值进行报告。

请注意:这将仅返回公开帖子,而不会访问私人消息。

3 个赞

我们目前正在开发此功能!

我们还计划使用误报/漏报率来运行一个优化器,该优化器可以为您建议每个选项的最佳阈值,因此请保留这些信息,因为它在不久的将来会很有用。

5 个赞

太好了。很高兴听到这个消息。
到目前为止,我倾向于拒绝/忽略Disorderbot提出的所有标记,即使将阈值提高到最大值90-100。但是,由于我们正在测试的论坛性质(NSFW),如果沟通非常恶劣,AI很容易感到困惑。只要它对我们的用例不是那么可靠,我们将继续使用它,但只会将其报告用于“加强”其他对真正恶劣帖子的报告。

一旦我们找到一些更好的长期使用的阈值,我们将能够在用户尝试发布非常恶劣的内容时启用预防性警告。

当人工智能普及时,我就会这样想。它将允许审查制度,并限制对世界每个社区的健康至关重要的、对现状的真正质疑。

不限制或禁止,而是教育和讨论。也许有一种方法可以在没有*副作用(正如我所担心的,这是想要的效果)*的情况下使用这些工具,但我认为目前这是不可能的。

感谢您的反馈,这对我有价值。当然,也要感谢团队一如既往地更新和改进 Discourse :slight_smile:

将所有阈值设置为 100,并且仅依赖于“严重攻击性”和“威胁”等更极端的阈值,这是我可以看到在类似社区中采用的做法。

3 个赞

谢谢。目前设置为这样,仍然太敏感了。我会进一步提高一些,看看效果如何

1 个赞

需要查看原始分类,但我也会先增加侮辱性分类。

我最好让你远离阅读那些 :smiley: 那些可能真的不适合工作,即使是以文字形式 :smiley: 我已将第一个阈值提高到 100,看看现在情况如何 :smiley:

1 个赞

我真心希望在未来的版本中,Disorder能够不检查(或不报告)私人消息。我们不会访问它们,并认为人工智能检查私人对话是极不道德的。

4 个赞

是的,这和 @davidkingham 问的是一样的问题,我们会把它加入到我们的路线图中。

3 个赞

……还有英语吗?:sweat_smile:

另外,我想知道这个在多大程度上可以取代 Akismet。我们目前在 Akismet 的标记上不同意率是 97%。它似乎只是对包含大量数字的帖子做出反应,所以如果你发布工作日志,其中每行都以时间戳开头……

1 个赞

垃圾邮件和垃圾邮件检测之间的军备竞赛随着广泛可用的大型语言模型的出现而升级。我们正在努力开发使用各种模型的特性,虽然垃圾邮件目前不是我们的重点,但我们会对此进行调查。

4 个赞

好的,那么:我已将其打开。我怎么知道它在工作?

除了将阈值调得很低以捕捉所有内容之外,我是说。

是否有诊断模式或日志,我可以在其中查看给定帖子的评分?

2 个赞

最简单的方法是发布一些侮辱性的内容来激怒它。确保您的用户组未在插件设置中被绕过。

更好的方法是查询数据浏览器。请参阅我在此帖子中的一个查询:

1 个赞

谢谢。到目前为止,所有帖子的返回值都是 0……这是可以预期的吗?

1 个赞

我们的大部分帖子在所有标准上也都是 0。对于一个沟通健康的论坛来说,这是正常的。

2 个赞

太好了——我不确定模型有多容易触发。 :slight_smile:

1 个赞

我已安装该插件,但它无法正常工作,是否需要进行其他配置?

插件出现大量以下错误:
Job exception: uninitialized constant Jobs::ClassifyChatMessage::ChatMessage

当我的一个插件使用以下命令创建聊天消息时,似乎会出现此问题:
Chat::MessageCreator.create(chat_channel: matching_channel, user: message_user, content: raw).chat_message

谢谢。

1 个赞

哦,这应该会因为新的聊天重组而中断。我们即将在几天内推出一个整合此功能的新插件,敬请期待。

5 个赞