구글의 키워드를 추출해주는 프로그램을 만들고 싶습니다. 그런데 이런 프로그램들은 어떤 원리로 만들어지는지 궁금합니다.

 

키워드 추출 도구들은 그런 데이터를 어디서 가져오는 것인가요? 구글 애드워즈? 아니면 구글의 연관 검색어 등을 자동으로 추출하는 것일까요? 이런 것을 만들려면 무엇을 배워야 할까요.

 

예를 들어 아래 사진의 Keyword Shitter 무료 도구인데 성능은 좋지 않지만 이런 데이터는 어디서 가져오는지 궁금합니다.

 

키워드-추출1.png

 

해외의 유료도 무료 버전으로 잠시 써봤는데 성능이 엄청좋더군요. 

  • profile
    구글같은 빅데이터를 가지고 있는 ㅠㅡㄹ레폼들은 그동안 검색봇으로 인해서 가져온 글들을 토대로 필요한 키워드를 중심적으로 간추려주도록 되너있죠. 그냥 다 머신러닝이예요 원리만 알려면 쉬우니 한번 공부해보시길
  • profile profile
    아하 그러면 키워드를 머신러닝이라고 검색을 하고 공부를 하면 되는 건가요?
  • profile profile
    키워드 추출하는 원리자체는 머싱러닝에 가깝습니다. 구현이 아니라 그 추출하는 원리를 알고싶으면 머신러닝을 배우는게 맞아요.
  • profile profile
    감사합니다. 머신러닝을 배워봐야겠네요.
  • ?

    머신러닝이 아니더라도 구현은 가능하죠.. 머닝러신 시대 이전에도 키워드 추출은 필요했으니까요..
    알고리즘은 별거아닙니다. 단어별로 출현빈도를 다 계산해서 가장 많이 사용되는 순으로 나열하는 것뿐입니다. 다만 이 경우 단어 목록에 키워드로 쓸 수 없는 단어들이 다수 등장하게 되는데 그런 것들은 따로 사전화해서 제외하면 됩니다. 부사라던가 감탄사라던가 뭐 이런 것들이요 영어는 엄청 쉬울텐데 한글은 제외단어사전이 좀 부피가 커질 것 같기는 합니다. 조사를 잘라내는 알고리즘도 별도로 필요할거고....

  • ?

    다만 요즘은 이런 기계적인 방법 이외에도 단어 자체에 가중치같은게 존재하긴 할겁니다. 많이 사용된 단어가 키워드일 확률이 높은건 사실이지만 항상 그런건 아닐테니까요. 글이 너무 짧으면 애초에 단어 등장횟수가지고 단순 비교하기도 좀 그렇고.. 그런 정성적인 평가에는 머신러닝이 필요하겠죠. 예를 들어 다른 문서에서 키워드로 선정된 적이 많았던 단어에는 좀더 가중치를 둔다던가...

    아니면 머신러닝이 좀더 높은 경지에 있다면 문맥 자체를 파악해서 키워드를 찾아낼 수 있을지도 모르죠. 어떤 단어가 강조되고 있는지 파악한다던가.. (강조하는데 흔히 쓰이는 문장 패턴을 모두 알고 있다면 가능하겠죠) 아니면 대명사.. 그것이라던가 영어로는 It 이라던가 그런 단어가 쓰이는 경우 문맥상 어떤 단어를 지칭하는건지 찾아낸다던가... 웬지 요즘의 구글같은 곳이라면 이런 꿈같은 기술도 꽤 구현해냈을지도 모르겠다는 생각을 해보네요.. 요즘 인공지능 스피커가 대명사 인식을 좀 불완전하기는 해도 어느정도 하는걸로 아는데... 이게 대화가 아니라 텍스트에서도 가능할지..

     

  • ? profile
    어렵네요. ㅎㅎ 감사합니다 공부는 하긴 할 텐데 아직 제 수준에서는 쉽게 접근할 요인이 아닌 것 같습니다. ㅜㅜ.
  • profile ?

    python과 tensorflow부터 차근차근 시작해보세요.

  • ? profile
    아하 감사합니다