«Essence» Bot 블로그

단어 필터는 텔레그램 채널에서 필요한 것만 남깁니다. 필요한 것을 단어로 말할 수 있다면요

텔레그램 채널에서 필요한 단어가 들어간 게시물만 받는 방법: 단어로 해결되는 경우와 그렇지 않은 경우, 단어 형태와 소스 언어를 고려하는 방법, 제외 목록이 필요한 이유, 저장 전에 규칙을 테스트하는 방법.

어떤 채널은 거기에 올라오는 글 중 아주 일부 때문에 필요할 때가 있습니다. 채용 채널에는 하루에 수십 건의 공고가 올라오지만, 내가 원하는 건 분석가 공고뿐입니다. 디자인 채널은 온갖 이야기를 다 하지만, 나는 Figma 소식만 챙겨 봅니다. 해외 이주 채널에서 관심 있는 건 도시 하나뿐입니다. 나머지 게시물은 필요 없지만 구독을 끊기는 아깝습니다. 필요 없는 것과 함께 필요한 것도 사라지니까요.

그러면 전부 스크롤하거나 매번 채널 검색으로 원하는 단어를 찾아야 합니다. 필요한 것을 단어로 알아볼 수 있다면 더 간단한 방법이 있습니다. 규칙을 정해 두고 채널에서 그 단어가 들어간 게시물만 받는 것입니다.

먼저 필요한 것에 이름이 있는지 확인하세요

단어 필터는 게시물 본문에서 목록에 있는 단어를 찾습니다. 의미는 이해하지 못합니다. 그래서 찾는 대상에 이름이 있을 때 잘 작동합니다. 직업, 제품이나 회사 이름, 도시, 용어 같은 것들입니다. 분석가 채용 공고에는 거의 언제나 '분석가’나 'analyst’라는 단어가 들어갑니다. Figma에 관한 게시물에는 Figma라는 이름이 나옵니다.

필요한 것이 주제나 중요도로 정해진다면 어려워집니다. 'AI에 관한 흥미로운 이야기’를 위한 목록은 만들 수 없습니다. 그런 게시물에는 예측할 수 있는 단어가 하나도 없을 수 있고, '신경망’이나 ‘AI’ 같은 단어는 관심 없는 게시물에도 나옵니다. '긴급 뉴스’도 마찬가지입니다. 긴급하다는 사실은 보통 본문에 적혀 있지 않습니다. 「Essence」 Bot은 주제별로 게시물을 고르지 못하므로, 이런 경우에는 단어 필터가 맞지 않습니다.

중간 경우도 있습니다. 단어는 맞는데 거의 모든 게시물에 나오는 경우입니다. 암호화폐 채널에서 'bitcoin’으로 필터링하면 채널 전체를 거의 다 받게 됩니다. 이럴 때는 더 정확한 단어를 더해 목록을 좁혀야 합니다.

목록 만드는 법

‘포함하는 것만’ 필터는 목록에 있는 단어나 구문이 하나라도 들어 있으면 게시물을 통과시킵니다. 단어는 통째로 검색되고, 대소문자는 구분하지 않습니다. 목록에는 최대 50개 항목을 넣을 수 있습니다.

통째로 검색한다는 것은 analyst 항목으로는 analysts를 찾지 못한다는 뜻입니다. 본문에서 어미가 바뀌는 단어라면 끝에 별표를 붙이세요. analyst**는 analyst와 analysts를 모두 찾습니다. 별표는 단어 끝에서만 작동하므로 앞부분은 빠짐없이 써야 합니다. 너무 짧은 어간은 피하는 게 좋습니다. art**는 art와 artist뿐 아니라 article까지 찾습니다.

다음으로 같은 대상을 달리 어떻게 쓰는지 떠올려 보세요. 제품 이름은 원어로도, 현지식 음역으로도 쓰이고, 직업은 여러 언어로 쓰이며, 도시는 이름이 여러 개일 수 있습니다. 예를 들어 세르비아 채널은 베오그라드를 라틴 문자로 쓰기도 하고 키릴 문자로 쓰기도 하며, 영어 채널은 영어로 씁니다. 이런 도시를 위한 목록은 다음과 같습니다.

  • belgrade
  • beograd**
  • београд**

여기서 별표는 격 변화를 잡아냅니다. '베오그라드에서’는 세르비아어로 u Beogradu 또는 у Београду입니다.

필터는 게시물 원문을 채널의 언어 그대로 확인합니다. 채널이 다른 언어로 쓰고 요약은 내 언어로 받는다면, 목록에 내 언어로 적은 단어로는 아무것도 찾지 못합니다. 단어는 소스의 언어로 적어야 합니다.

‘제외할 단어’ 목록이 필요할 때

두 번째 목록은 반대로 작동합니다. 이 목록의 단어가 하나라도 들어간 게시물은 오지 않습니다. 제외가 허용보다 우선합니다. 게시물이 두 목록에 모두 해당하면 걸러집니다.

영어 채용 채널을 예로 들어 보겠습니다. 분석가 일자리를 찾고 있지만 인턴십은 맞지 않습니다. '포함하는 것만’에는 이렇게 씁니다.

  • analyst**

'제외할 단어’에는 이렇게 씁니다.

  • intern
  • interns
  • internship**

여기서 intern*으로 줄이면 안 됩니다. 이 항목은 international과 internal에도 일치해서, 예를 들어 글로벌 기업의 채용 공고까지 지워 버립니다. 바로 그런 공고가 나에게 맞을 수도 있는데 말이죠. 제외 목록에서는 실수의 대가가 더 큽니다. 불필요한 게시물은 보고 넘기면 되지만, 필요한 게시물은 아예 보지 못하게 됩니다.

필터가 보는 것과 보지 못하는 것

필터는 앨범의 모든 부분에 달린 캡션을 포함해 게시물 원문 전체를 확인합니다. 미디어 설정에서 꺼 둔 첨부 파일의 캡션도 확인 대상입니다.

‘포함하는 것만’ 목록이 채워져 있으면 텍스트가 없는 게시물은 통과하지 못합니다. 단어를 찾을 곳이 없기 때문입니다. 채널이 공고 일부를 캡션 없는 이미지로 올린다면, 필터는 그런 게시물을 걸러냅니다. 이미지에 적힌 글자는 읽지 않습니다.

광고 필터링은 내 필터와 함께 계속 작동합니다. #реклама, #ad, #sponsored 해시태그가 붙은 게시물은 필요한 단어가 들어 있어도 오지 않습니다.

저장하기 전에 규칙을 테스트하세요

저장하기 전에 봇이 이미 저장해 둔 채널의 최근 게시물(최대 20개)이나 직접 붙여 넣은 텍스트로 규칙을 테스트할 수 있습니다. 필요한 게시물은 통과하고 불필요한 게시물은 걸러지는지 확인할 수 있습니다. 최근 게시물 중에 알맞은 것이 없다면 받고 싶은 공고의 텍스트를 붙여 넣으세요. 테스트는 이 표본에만 적용되며, 채널의 전체 기록이 대상은 아닙니다.

저장하고 나면 소스 목록의 채널 옆에 필터 표시와 지난 7일 동안 걸러진 게시물 수가 나타납니다. 이 숫자를 보면 규칙이 의도대로 작동하지 않는다는 것을 알 수 있습니다. 활발한 채널에서 일주일 동안 아무것도 걸러지지 않았다면 목록이 너무 넓을 가능성이 큽니다. 거의 모든 게시물이 걸러지고 필요한 게시물이 오지 않는다면 단어가 너무 좁거나, 형태가 틀렸거나, 언어가 맞지 않는 것입니다.

규칙이 적용되는 곳

필터는 봇과의 개인 채팅으로 보내는 게시물과, 자동 게시를 설정한 내 채널 및 그룹으로 보내는 게시물에 적용됩니다. 기본적으로 규칙은 이 채널의 게시물이 가는 모든 곳에 적용되지만, 개인 채팅에만 또는 자동 게시 대상 한 곳에만 설정할 수도 있습니다.

필터는 ‘채널 다이제스트’ 개요와 웹 피드에는 적용되지 않습니다.

규칙은 새 게시물에 적용됩니다. 필터가 이전에 걸러낸 게시물은 규칙을 바꾼 뒤에도 오지 않으며, 이미 받은 게시물이 사라지지도 않습니다. 봇은 모든 게시물의 수신을 보장하지 않으므로, 메시지 하나만 놓쳐도 손해가 큰 채널이라면 알림을 켠 채로 구독을 유지하는 편이 좋습니다.

일치하는 게시물은 다른 채널의 게시물과 같은 봇 채팅으로 옵니다. 봇으로 여러 채널을 읽고 있다면 필요한 게시물은 다른 게시물 사이에 섞여 옵니다. 수는 줄어들지만 따로 전용 피드가 생기지는 않습니다.

필터 켜는 법

채널을 「Essence」 Bot에 추가하고 해당 소스의 설정을 엽니다. 단어는 일반 메시지로 한 줄에 하나씩 입력하고, 필요 없는 항목은 버튼으로 삭제합니다. 최근 게시물로 규칙을 테스트한 뒤 '저장’을 누르세요. 변경 사항은 그 후에만 적용됩니다. 단어 필터는 모든 플랜에서 사용할 수 있습니다. 일반 단어만으로 부족하다면 정규 표현식을 쓰는 고급 모드도 있습니다.

이 콘텐츠는 AI의 도움을 받아 작성되었으며 「Essence」 Bot 편집자의 승인을 받았습니다.

홈 →