한글 키워드 API 연관 검색어

Tony Lee·2023년 3월 11일
0

keystrokes

목록 보기
2/2
post-thumbnail

목표

한글 키워드, "증류주"를 검색 했을 때, 증류주라는 단어와 연관된 다른 키워드를 추출하고 싶다.

제약

  • 실시간으로 결과값을 추출하고 싶음. 사업 운영자의 입장으로써 1년 전의 데이터도 무의미한 경우가 많음으로 word2vec 한글 버전은 사용 불가
  • 한글 베이스. 많은 NLP모델이 영어 기반으로 작성 된 경우가 많고, 이러한 모델들도 실시간 키워드 제공은 어렵다.
  • 방대한 정보량. 베스트 케이스는 구글, 네이버, 카카오 등 모든 데이터를 scrapping 하는 것이지만, 많은 업체들이 대규모 scrapping, crawling, spidering을 막아 놓았다.

탐구 옵션

  1. Daum Search API (현재 카카오 developers API 안에 있음)

    https://developers.kakao.com/docs/latest/ko/daum-search/dev-guide

    검색어를 입력하면, title, content, datetime, url 등 제공.
    컨텐츠 검색에 유용하지만 직접 컨텐츠 내용을 저장하여 NLP 모델을 트레이닝 하지 않을 것이기 때문에 keystrokes 프로젝트에는 무의미하다. Content에서 주요 단어를 추출한다고 해도 정확성이 떨어짐

  2. Naver Autocomplete API

    https://api.ncloud-docs.com/docs/analytics-cloudsearch-searchautocomplete	

    검색어를 입력하면, 연관된 자동완성을 제공해준다.
    위 프로젝트는 자동완성보다는 연관 검색어의 리스트를 추출하고 싶기에 사용하지 않음

  3. Google Search API (유료)

    https://developers.google.com/custom-search/docs/topical

    꽤 괜찮아보이는 방법이지만 유료이기에 목록에서 배제.
    구글 검색엔진 기반으로 입력된 키워드와 유사한 query를 리턴해줌.

  4. Naver Ads API

    https://naver.github.io/searchad-apidoc/#/tags/RelKwdStat

    네이버 광고 엔진을 기반으로 "증류주" 라는 키워드를 검색하면, "담금주", "담금 소주" 등 리턴함.
    네이버 검색이 아닌 광고 데이터 베이스를 사용한다는 단점이 있다. 하지만, keystrokes는 완벽한 결과를 바라기 보단, "let's get things done"의 approach이기에 위 API 채택. (그리고 이미 사용한 Naver Search API도 네이버이다 ㅎㅎ)

Thoughts

원래는 인스타그램 해쉬태그를 기반으로 키워드를 제공하고 싶었지만, 인스타그램 API는 그런 기능을 제공하지 않고, 개인정보 보호 강화 정책 이후로 함부로 scrapping하면 해당 IP Ban 또는 계정 정지 등 다양한 벌칙을 받는다 ㅠ

그러므로, 네이버 감사합니다.

실시간 word vector 시스템이 한글로 있으면 매우 좋겠다. 있지만 내가 못찾은 것일 수도 있지만 만약 카카오나 네이버에서 개발한다면, 우리나라의 ChatGPT equivalent model이 강력해지지 않을까 싶다.

현재 keystrokes의 개발 단계는 네이버 검색 API연결과 광고 API를 연결해서 DataFrame을 출력하는 단계이다. 이후 구현하고 싶은 것은,

키워드 입력 -> Naver Ads 연관검색어 추출 -> if no related kewords -> prompt keyword input
if related keywords: put initial keyword and ads keywords into Naver Search API -> plot info

API 연결 방식과 알고리즘은 https://github.com/TonysHub 에 있습니다.

profile
Striving to have a positive impact on the community

0개의 댓글