Discourse AI - 스팸 감지

그는 여기서 적발된 동일한 스팸머의 또 다른 사례입니다: https://meta.discourse.org/t/full-list-of-quickbooks-desktop-support-contact-numbers-a-complete-call-center-in-the-usa/380776 (이미 숨겨져 있습니다).

이 사람들은 정말 열심히 일하고 있군요.

1개의 좋아요

이 기능 개발 정말 잘하셨네요. :raising_hands: AI를 이렇게 활용하는 모습을 보고 싶었습니다.

간단한 질문이 있습니다: 새로운 TL0 사용자가 답변이나 주제를 게시할 때, 콘텐츠가 스캔되는 동안 시간 지연이 발생합니까?

내장 테스트기(아래 스크린샷 참조)에서는 짧은 지연이 관찰되지만, 테스트 계정으로 게시할 때는 유사한 지연이 없습니다. 게시 후 라이브 스캔이 비동기로 이루어지며, 규칙에 걸린 경우에만 게시물이 숨겨지는 방식인가요? (참고: 저는 OpenAI ChatGPT 5 API를 사용하고 있습니다.)

참고로, 테스트 계정을 사용할 때 AI > 스팸 및 통계가 예상대로 증가하므로 게시물이 실제로 스캔되고 있다는 것을 알 수 있습니다. 다만 테스트 버튼이 유발하는 것과 동일한 지연은 발생하지 않을 뿐입니다.

image

감사합니다.

음, 이 기능은 꽤 잘 작동하는데, 수십 개의 주제나 사용자를 플래그하면 어떻게 되나요? 이 사용자나 게시물을 일괄 차단/삭제하는 방법을 찾지 못하겠습니다.

상세한 스레드 감사합니다. 저희 인스턴스에서는 Discourse AI 스팸 감지를 활성화해 두고 있으며, 현재 관찰되는 현상 중 하나는 계정이 작성한 첫 번째 게시물이 플래그 처리될 때 자동으로 무음 처리(사일런싱)가 기본값으로 설정된다는 점입니다.

이것이 원샷 스팸머를 무음 처리하기 위한 것임을 이해하고 있지만, 플래그를 승인/수락하는 것은 플래그는 승인하되 사용자는 무음 처리하지 않기를 원하는 경우에도 사용자가 계속 무음 상태가 유지되는 문제를 초래하고 있습니다. 다음과 같은 기능이 있으면 좋겠습니다:

  1. “동의하고 무음 상태 유지” 버튼,
  2. “동의하고 무음 해제” 버튼.
2개의 좋아요

이 부분은 좀 까다로운데요, 여기서 선택지가 너무 많아서 사람들이 막막해하지 않도록 해야 합니다. 다만 규모가 커지면 이 문제가 발생할 수 있다는 점은 충분히 이해합니다.

기업용 경험팀과 확인해 보겠습니다. 여러분의 포럼에 적용할 수 있는 작은 커스터마이징이 있는지 알아볼게요.

1개의 좋아요

로컬 개발 환경에서 테스트용 스팸 게시글을 게시했지만, 자동으로 검토 대기열에 들어가지 않았습니다.

AI 검사 결과는 확실히 스팸 게시글로 판정되었습니다.

또한 검토 대기열에 들어가는 다른 조건들도 모두 충족하고 있습니다.

  1. 사용자 신뢰 등급:

    • 신뢰 등급이 1 이하인 사용자의 게시글을 검사합니다.

    • 신뢰 등급이 더 높은 사용자의 게시글은 제외합니다.

  2. 게시글 유형:

    • 공개 게시글(개인 메시지는 제외).

    • 다른 임계값에 따라 답글과 첫 번째 주제 게시글을 포함합니다.

  3. 게시글 수정:

    • 중요한 수정이 있는 게시글을 검사합니다(예: 10자 이상 변경).

    • 같은 게시글에 대한 검사 사이에 10분의 지연 시간을 강제 적용합니다.

  4. 게시글 빈도:

    • 신규 사용자가 공개 주제에서 총 4개 미만의 게시글을 작성한 경우를 우선 처리합니다.

    • 이 임계값을 초과한 사용자의 게시글은 제외합니다.

하지만, 최종 결과는 검토 대기열에 들어가지 않았습니다.

문제를 찾기 위해 어떤 부분을 확인해야 할까요?

안녕하세요 @singi2016cn.

테스트 도구로 이를 확인했다는 뜻이신가요?

다음 지침을 따르며 해당 도구에 액세스할 수 있습니다:

  1. 관리자 권한이 있는 계정으로 포럼에 로그인합니다.
  2. 포럼에서 이 페이지로 이동합니다: /admin/plugins/discourse-ai/ai-spam
  3. 해당 페이지의 “Test…” 버튼을 클릭합니다.
    “Test spam detection” 대화상자가 열립니다.
  4. 대화상자의 “Post URL or ID” 필드에 테스트용 스팸 게시물의 URL 또는 게시물 ID를 입력합니다.
  5. “Run test” 버튼을 클릭합니다.
2개의 좋아요

네, 테스트 도구가 명확하게 스팸이라고 반환했는데, 제가 올린 게시글 내용은 완전히 동일함에도 불구하고 검토 대기열에 들어가지 않았습니다.

이 글을 누가 게시했나요? 테스트를 위해 새로 만든 계정을 사용했나요, 아니면 예를 들어 관리자 권한이 있는 계정을 사용했나요?

일반 사용자, trust_level_1 신뢰 수준, 관리자가 아니어도 모더레이터도 아닙니다.

다음은 제가 스팸 감지에 사용하는 사용자 지정 명령 세트입니다. 기본 버전보다 더 자세히 작성되어 있어 더 많은 토큰을 사용합니다. 다른 사용자들은 스팸 감지를 위해 어떤 사용자 지정 명령 세트를 사용하나요?

## 간결한 스팸 감지 명령 세트

당신은 포럼 게시물을 검토하는 스팸 감지 시스템입니다.

당신의 임무는 게시물이 커뮤니티에 진정으로 참여하기보다는 홍보, 기만, 검색 순위 조작, 악성 링크 배포, 토론 방해 등을 목적으로 하는지 여부를 판단하는 것입니다.

평가 항목:

* 게시물 내용
* 게시물 유형 (답글 또는 새 주제)
* 스레드 컨텍스트 (답글의 경우)
* 사이트 정보

---

### 게시물이 다음에 해당하면 스팸으로 분류하십시오:

* 의미 있는 참여 없이 제품, 서비스 또는 외부 사이트를 홍보하는 경우
* 의심스러운, 관련 없는, 또는 여러 개의 홍보 링크를 포함하는 경우
* SEO 스타일의 키워드 채우기나 반복적인 패턴을 사용하는 경우
* 자동화, 템플릿 기반, 또는 봇 생성으로 보이는 경우
* 포럼 주제와 관련이 없는 경우
* 답글 게시물의 경우: 스레드를 무시하고 관련 없는 내용을 삽입하는 경우

강력한 스팸 지표에는 다음이 포함됩니다:

* 제휴/추천 링크
* "지금 구매", 할인, 또는 판매 관련 표현
* 토론과 관련 없는 연락처 정보
* 일반적인 칭찬 + 링크
* 복사-붙여넣기 구조
* 의미 없는 텍스트 또는 AI 스퀴닝(문장 재작성) 텍스트

---
### 다음 이유만으로는 스팸으로 분류하지 마십시오:

* 사용자가 신규인 경우
* 영어가 완벽하지 않은 경우
* 게시물이 짧은 경우
* 톤이 열정적인 경우
* 컨텍스트 내에서 관련 제품이나 공급업체가 언급된 경우

합법적인 신호에는 다음이 포함됩니다:

* 스레드에 대한 구체적인 언급
* 주제와 관련된 기술적 토론
* 진정성 있는 질문
* 포럼 주제와 관련된 개인 경험

---

### 결정 규칙

주된 의도가 홍보, 악의적, 또는 방해에 해당하면 → spam = true.
게시물이 토론에 의미 있게 참여하면 → spam = false.

불확실하지만 여러 경고 신호가 존재하는 경우, 커뮤니티 안전을 우선시하십시오.

---

### 출력 형식

유효한 JSON만 반환하십시오:

{"spam": true 또는 false, "reason": "간단한 설명 (1~2문장)."}

추가적인 논평을 포함하지 마십시오.
1개의 좋아요

관리자 → 플러그인 → AI → 스팸 페이지에 요약 박스의 세부 내용을 보여주는 보고서가 있어야 합니다. 요약 박스에는 스캔된 게시글 수, 감지된 스팸 수, 그리고 오탐(양성 오류) 및 오판(음성 오류) 수가 표시됩니다.

  • 제가 아직 찾지 못한 곳에 해당 상세 보고서가 존재합니까?
  • 더 낮은 수준의 세부 정보를 제공하는 Data Explorer 쿼리가 있습니까?

미리 감사드립니다.

이 쿼리는 모든 세부 정보를 제공합니다.

SELECT * FROM ai_spam_logs ORDER BY 1 DESC LIMIT 50
2개의 좋아요

사용자 이름으로 판단할 수 있는 방법이 있을까요?