본문 바로가기
반응형

text/Python22

등수 반환 문제 고찰 Q. 성적이 입력되고 그 학생의 등수를 출력하는 함수를 작성하시오. 점수는 0~100이고, 점수는 랜덤으로 들어온다. rank 함수는 20억 회 이하로 동작된다.(대충 이런 내용) 전역변수, 클래스 등 자율적으로 사용해도 무관. 시간과 메모리 등을 고려하여 작성 ex. 1번째: Score: 70 -> return 1 2번째: Score: 100 -> return 1 3번째: Score: 80 -> return 2 4번째: Score: 70 -> return 4 5번째: Score: 50 -> return 5 문제 출처 : https://okky.kr/articles/1052166 문제 해결을 위한 rank 계산 코드 짜기 version 1. 첫번째 접근 → 단순히 리스트에 넣고, 정렬하고, 해당 숫자 찾.. 2023. 10. 20.
심심해서 해본 글자 돌리기 저번에 친구랑 얘기하다 나온 요즘 핫한 사건 https://news.mt.co.kr/mtview.php?no=2023021023543967230 죽은 아내가 낳은 불륜남 아기…"출생신고라도" 남편 설득하는 市 - 머니투데이 숨진 아내와 다른 남자 사이에서 태어난 아이를 산부인과에 남겨둔 법적 친부에게 청주시가 "출생신고라도 하라"고 설득하고 있는 것으로 전해졌다. 10... news.mt.co.kr 여기 등장하는 “친생자관계부존재확인”라는 단어가 있다. 중요한 건 단어의 의미가 아니고 마침 열 글자였다는 데 있다. 마침 심심했던 찰나에 이걸보고 쓸데없는 호기심이 발동… 4 글자씩 끊어서 쳐보니 아래와 같이 나온다. 그렇게 친 글자를 세로로 연결해 새로운 글자로 만들면 전혀 다른 글자가 나오고… 그럼 이걸.. 2023. 2. 20.
python 으로 구현하는 간단간단 검색엔진 로직 inverted index를 알아보다 검색엔진 기본 로직을 작성해보는 글~ 목표 역색인과 검색엔진로직에 대해 간략히 알아보고, 해당 부분을 코드로 구현해 보자. 기존 관계형 데이터베이스에서는 텍스트 검색 시 걍 full-scan으로 검색해 결과를 반환한다. 물론 full-text search를 지원하지만 (https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html#innodb-fulltext-index-design) 비정형 데이터인 텍스트 검색을 위해 만들어진 엘라스틱 서치보다 나을까? 엘라스틱 서치의 강점으로는 아래와 같다. 전문 검색 엘라스틱서치는 전문 검색(Full Text)이 가능하다. 전문 검색이란 내용 전체를 색인해서 특정 단어가 포.. 2022. 12. 30.
편집거리 알고리즘을 통한 검색어 자동완성 보정 (ft . Levenshtein Distance) 저번 검색어 자동완성 글 말미에 오타가 들어가 있는 경우, 제대로 된 단어로 유추될 수 있으면 좋겠다는 생각을 했는데 마침 적당한 알고리즘이 있어서 실제로 실습해봤다. 브랜드 이름 검색어 자동완성 2 (with Suffix Trie) 저번 Trie를 이용한 검색 자동완성의 연장선의 글이다. 브랜드 이름 검색어 자동완성 with Trie 브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 hoonzi-text.tistory.com 레벤 슈타인 알고리즘이라고… 이름부터 어렵지만 막상 까 보면 생각보다 별거 없는 알고리즘이 있다. 두 문자열이 얼마나 다른지 값으로 나타내주는 알고리즘으로 문자를 삽입, 삭제, 치환하여 다른 문자열로 변형하는데 필요한 최소 .. 2022. 11. 26.
브랜드 이름 검색어 자동완성 2 (with Suffix Trie) 저번 Trie를 이용한 검색 자동완성의 연장선의 글이다. 브랜드 이름 검색어 자동완성 with Trie 브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 개발기 카테고리 자동완성 개발기 안녕하세요. 29CM 발견스쿼드에서 백엔드개발을 담당하고 있는 이동권입니다. 검색페이지에서 hoonzi-text.tistory.com 저번 검색어 자동완성의 경우, 검색어를 앞글자부터 Trie로 구성하기 때문에 중간에 나온 단어의 경우 검색어 자동완성에 노출되지 않는 문제가 있다. (예를 들어 “디”라는 단어를 칠 때 “디올” 은 나올 수 있지만 “아디다스”는 나오지 않는 문제가 있다.) suffix Trie는 이 문제를 해결하기 위한 자료구조로 기존 Trie(pr.. 2022. 11. 19.
브랜드 이름 검색어 자동완성 with Trie 인터넷을 돌아다니다 글을 하나 보게 됐다. 카테고리 자동완성 개발기 카테고리 자동완성 개발기 안녕하세요. 29CM 발견스쿼드에서 백엔드개발을 담당하고 있는 이동권입니다. 검색페이지에서 카테고리 자동완성 기능을 개발한 경험을 공유합니다. medium.com 어느 쇼핑몰의 검색어 자동완성에 대한 글을 봤다. 간단히 요약하자면, Trie 자료구조를 이용해 단어를 저장하고, 검색 시 조건에 맞는 단어를 보여 준다는 글이다. 다 읽고, ‘오 이정도면 한번 구현해볼 만 한데?’ 싶어서 작업에 들어갔다. 대략 순서는 이렇다. 데이터 수집 Trie 자료구조에 저장 결과를 반환해줄 api , html 페이지 구성 글을 읽은 것과 코딩을 시작한건 시간차가 좀 있다. 그래서 그런지 저 기술 블로그가 ‘무신사’라고 착각해 데.. 2022. 11. 7.
점진적 뉴스 군집화 하기 (incremental news clustering) 요즘 관심 가지던게 하나 있는데 바로 점진적 문서 군집화 무슨 소리냐 뉴스의 경우, 계속 써지고 발간되고 사람들한테 제공된다. 지금까지 내가 해온건 어떤 시간대 (가령, 하루단위) 뉴스를 군집화(clustering) 한뒤, 비슷한 주제, 이슈로 묶여있길 바라며 군집을 살펴보는 일이였다. (오늘의 주요 이슈는 무엇인지 군집화된 뉴스를 통해 살펴보기 위해) 문제가 있다. 뉴스는 계속 만들어지고, 이슈는 계속 변한다. 특정 데이터를 통해 만든 문서 벡터 공간은 새로운 데이터가 나타나면 유효하지 않다 (새로운 feature가 생긴다는 얘기다. 벡터 공간을 통한 비교를 수행할 수 없다.) 위의 두문제를 해결하면서도 주요 이슈를 확인하기 위한 군집화를 위해 하루치 몰아서 하는게 아니라 특정시간대별로 군집화를 수행한.. 2022. 6. 6.
ㅇㅎ 게시물 수집하기 (fastapi, APScheduler, MySql) 개요 나는 커뮤니티를 자주 본다. 커뮤니티를 보다보면 게시물들 사이로 간간히 “ㅇㅎ” 라는 키워드가 붙은 게시물을 마주하게 되는데 “약한 후방주의” 라는 말의 줄임말이다. 후방 주의란? 남자들이 주로 접속하는 사이트들에는 하루에 적어도 하나씩 꼭 올라온다. 간간히 보이는 게시물은 보일때마다 무지성으로 클릭하게 되는데, 어느날 이런생각이 들었다. 하나로 모아서 보면 안될까? 좋은 생각이 떠오르면 그건 이미 누가 했다고 하던가... 이미 그런 사이트가 있었다. 모두의 후방 모두의 후방 모두의 후방 data.pureugong.com 하지만 나도 하나쯤은 만들어 보고 싶었다. 그래서 해당 사이트의 About 탭을 들어가 tech stack을 살펴본다. 오호 저런 기술로 구현하셨군... 하고 위로 좀만 올라가니 .. 2022. 5. 5.
다문서 요약 하기 (multi-document summarization) 요즘 요약에 관심이 있어서 관련 논문을 찾아 보던중 (취미로) ‘아 이건 나도 구현이 가능할 것 같은데?’ 싶은 논문이 있어서 정리해보려고 한다. 문서 하나에 대해 요약하는 건 블로그에 정리한게 있다. (물론 생성요약이 아니라 추출요약이다.) 요약은 크게 추출 요약 (extractive) 과 생성 요약 (abstractive) 으로 나뉜다. 오늘 해볼 건 추출요약 (extractive) 이다. 참고한 논문은 Clustering Sentences with Density Peaks for Multi-document Summarization 으로 비슷하게 주제의 기사들의 ‘문장’ 들 간의 밀집도를 바탕으로 중요한 문장을 ‘추출’ 한다. 이 논문에서는 중요도를 크게 3가지로 나누었는데, representativ.. 2022. 3. 1.
반응형