AI 로 클리앙 인프라 관리하기 4탄.
조회 853 · 공감 6 · 댓글 7
이번엔 토픽필터 이야기입니다.
이게 어떻게 나왔는지 한번 써보려고 합니다.
1탄 링크 : https://www.clien.net/service/board/park/19279786CLIEN
2탄 링크 : https://www.clien.net/service/board/park/19280308CLIEN
3탄 링크 : https://www.clien.net/service/board/park/19281760CLIEN
게시판에서 가장 중요한 것 중 하나가 게시물 목록입니다.
들어오면 목록부터 보고, 글 하나 읽고 다시 목록으로 돌아오고... 사이트에서 가장 많은 요청이 발생하는 곳이 목록입니다.
그런데 25년동안 쌓인 게시물의 목록을 원활하게 보여주는게 쉬운 일이 아닙니다.
게시판별로, 최신순으로, 공감/댓글순, 각종 카테고리 등 뽑아야 하는 목록도 많습니다.
매번 DB에서 다 처리하면 부담이 크니 이것저것 합니다.
쿼리도 고치고 인덱스도 바꾸고, 캐시도 해보고, 서버 메모리에 목록을 직접 넣어보기도 하고... 별걸 다 해봤습니다.
그러다가 지금은 목록을 레디스(메모리DB)에 넣고 씁니다.
글을 쓰거나 지우면 목록도 바꾸고, 주기적으로 DB와 다시 맞춰주고요.
그렇게 모든 게시물 목록을 컨트롤할 수 있게 되었습니다!
한편...
메인에 추천목록을 제거한 후, AI로 추천글을 만들어보는 작업을 하고 있었습니다.
외부 작업을 최대한 방어해 낼 수 있는 방식으로 다양한 테스트를 진행중이었죠.
이미 주제분류는 거의 완벽하게 되고 있었지만 분쟁판정이나, 조작방어 등은 좀 더 보완이 필요해서 고민중인 상태였습니다.
지금도 실험중입니다. 추천글로 공개했을때 생길 부작용이 우려돼서 공개는 보류하고 있고요.
그런데? 생각해보니...
목록은 이미 다 가지고 있고, 글마다 주제도 붙어있고...
이걸 연결해서 보고싶은 주제만 켜면 필터가 되겠네?
그래서 AI랑 바로 만들기 시작했습니다.
목록도 있고 분류도 돼있으니 첫 버전은 생각보다 순식간에 나왔습니다.
추천글 쪽에서 만들던 것 중에 주제분류 정보만 가져다 쓴 겁니다.
구조를 조금 설명하면...
새 글이 올라오면 바로 AI에 평가를 요청해서 가능한 빨리 주제를 분류하고 저장합니다.
시간이 지나거나 댓글이 쌓이면 다시 평가합니다. 본문은 그대로인데 댓글이 다른 얘기로 흘러가면 주제가 바뀌기도 하고요.
이미 25년치 게시물 목록을 레디스에 넣어두고 관리하고 있습니다.
이걸 해놓고 나니 필터에 쓸 최근 30일치 목록을 만드는건 순식간입니다.
이 목록을 최신 분류 결과와 맞춰서 매분 새로 만들고, 다 만들어지면 통째로 바꿉니다.
회원이 목록을 열면 꺼둔 주제의 글을 빼서 보여줍니다. 같은 설정이면 걸러낸 목록도 같이 쓰고요.
주제와 설정은 비트마스크로 처리해서 DB 쿼리 없이 여러 주제를 빠르게 걸러낼 수 있고, 주제가 늘어나도 대응할 수 있습니다.
넣고 나서는 계속 손봤습니다.
웹에서 글을 쓰거나 수정하거나 지우면 필터 목록에도 바로 반영되게 하고, 주제도 11개로 나눴습니다. 정치는 국내와 해외로, 금융 쪽은 주식과 부동산, 경제일반으로 나누고요.
모두의공원에서 시작해서 모두의광장으로 넓히고, 메인과 앱에도 넣었습니다.
그런데 생각보다 반응이 좋아서 깜짝 놀랐습니다.
잘 쓰고 있다는 말씀도 많이 해주시고... 이걸 이렇게 좋아해주실 줄은 몰랐네요.
원래는 추천글 로직개선하는 중이었는데... 지금은...
메인에 추천글이 꼭 있어야 할까?
좋은 글을 소개할 다른 방법은 없나?
지금 같은 글 리젠 속도라면 추천글을 선정하는게 무슨 의미가 있나... 싶기도 하네요.
얼마전 공감글 링크도 뺐습니다.
아무튼 토픽필터 잘 써주셔서 고맙습니다.
댓글 7
'지금 같은 글 리젠 속도라면 추천글을 선정하는게 무슨 의미가 있나'
조금 슬프네요...
다만..글이 적어 한산해진 느낌이랄까요.
뭐 이래저래 슬슬 노인정 느낌이 나긴 하지만 여전히 좋은곳 입니다. ^^
정치글 쪽은 친 민주 진영 계열이 두 갈래로 나눠져 있고 국힘 지지자(이젠 대놓고), 한동훈, 이준석 팬클럽들도 대거 입성하면서
아마도 여러 커뮤니티 중에 유일하게 춘추전국시대를 그리고 있지 않을까 싶습니다.
다른곳은 대부분 원 사이드한 진영을 구축(?)하고 있으니 말이죠.
양질의 일상글이 줄어드는 건 회원들의 나이가... 쿨럭....
그럼에도 경어체가 지켜지는 곳이라 좋습니다.
고생 많으셨습니다~
좋은 쪽이라 많이 칭찬합니다.
같지만 다르고 함께있지만 따로있는.
토픽필터 특정(정치) 필터링이 "기본값" 이었으면 좋겠다는 생각까지.
아무튼 토픽필터 잘 만들어 주셔서 고맙습니다.
5탄 기다립니다.