Project2 — Day2 “IBM왓슨 API”

elenaJEL
els_products
Published in
4 min readJun 3, 2020

코드스테이츠 4주 프로젝트

2020.06.03

Photo by Jan Böttinger on Unsplash

카테고리 자동 분류 알고리즘 및 API

우리 프로젝트의 가장 큰 과제이다. 사용자가 링크를 저장하면 링크의 제목과 본문내용을 읽어와서 분석해 자동으로 카테고리 분류를 해주는 것.

팀끼리 다양하게 리서치를 해봤다.

  1. 내용을 가져와서, 형태소를 분리한 다음 단어의 빈도수를 계산해 빈도수가 가장 높은 단어들의 연관 카테고리를 얻어내는 방법
  2. 키워드들을 추출해 단어들의 연관성을 분석하여 카테고리를 얻어내는 방법
  3. 기타 등등!

말이 쉽지.. ㅎㅎㅎ 한국어는 단어 단위로 띄어쓰기가 되는 형태가 아니기 때문에 제약조건이 확실하게 있었다. 자연어 처리가 까다로운 편!

번역기를 돌려서 영어 단어를 기준으로 만든 카테고리 분류 API를 사용할 수도 있지만 오역의 가능성과, 번역을 한 번 거쳐야 하기 때문에 드는 시간도 고려를 하게 되었다.

또 한가지, 크롤링이나 데이터 분석 api는 파이썬을 사용한 레퍼런스가 되게 많았다. 그래서 파이썬을 사용할까 하는 고민도 했었지만, 짧은 기간에 전혀 다른 언어를 배우면서 기능도 좋게 구현하는 것은 어려울 것 같다 라는 결론이 나왔다.

그러던 찰나, SK 에이블리 서비스를 보다가 IBM 왓슨 API가 한국어를 제공한다는 것을 팀원분께서 알아내셨다! 에이블리도 아예 왓슨 API로 6월 30일 부터 전환된다고 하니 뭔가 더 신뢰가 갔다.

그래서 테스트를 이것저것 해봤는데 정확도가 꽤 좋았다. 물론 샘플데이터 10000개 이렇게 테스트를 해본건 아니지만, 생각했을 때 분류하기 좀 어렵다 싶은 글들도 제법 잘 분류를 해서 이걸 쓰는 것으로 마음을 먹었다.

다만, 이미 만들어져있는 api를 가져다 쓰는 거라서 혹시나 학습의 깊이가 얕다고 생각될까봐서 고민이 되어서 엔지니어분께 이걸 사용해도 괜찮은지 여쭤봤고 4주동안 API를 직접 만들기에는 너무 많은 시간이 소요될 것 같다고 하시고 왓슨을 써도 좋겠다고 하셔서 쓰기로 결정했다.

사용방법을 더 찾아봐야겠지만 관건은 자료를 크롤링해오고, 왓슨을 학습시키는 부분이 또 중요할 것 같다!

아이디어는 내가 내고 ㅋㅋㅋ 내가 프론트를 맡아서 백엔드분들께 뭔가 살짝 죄송한 기분이지만 모두에게 큰 공부가 될 것 같다!

데일리 리뷰

오늘의 객관적 사실

  • 플로우 차트 완…성?
  • 자동 분류 api 에 대해 리서치했다
  • office hour 때 엔지니어분께 조언을 구하고 팀원분이 찾아주신 IBM 왓슨 자연어 분리 API 를 사용하기로 했다
  • 기능들의 디테일에 대해 다같이 논의했다
  • 기능별로 스프린트를 구분하고 task 카드를 완성했다. 오버타임 될 것을 알아서 조금 여유롭게 가져가기로 했다. 무려 ... 4명이서 189개의 task를 만들었다.
  • 공부해야하는 것들 리스트를 만들었다.
  • 다른팀에서 내가 만든 데일리 리뷰 노션 템플릿을 가져가셨다 ㅎ 뿌듯
  • 타입스크립트 튜토리얼과 리액트 튜토리얼을 봤다.

오늘의 느낌

  • 카테고리내 수동 링크 추가 결정할 때 하나 둘 셋 해서 투표한게 웃겼다 ㅋㅋ
  • IBM 왓슨 API 사용해도 괜찮을 것 같다는 얘기를 듣고 너무 마음이 편해졌다 후
  • 크롬 익스텐션을 가져가려니 할 게 많아서 살짝 걱정이 된다. 왜냐, 나는 리액트부터 다시 공부해야 하기 때문!!!!
  • 일렉트론과는 아쉽게 작별했다 ㅠ 시간 남으면 재도전 해보는걸로!
  • 공부할게 많다!!!!!! 헉헉 홧팅!!!!
  • 다같이 팀끼리 고민하고 의견나누는 시간이 너무 소중하다 ㅎ
  • 킥오프 잘됐으면 좋겠다
  • 생각보다 리액트, 리덕스 많이 까먹어서 더 열심히 공부해야겠다. 2주동안 안했는데 이렇게 까먹을수가.. ㅎㅎㅎ
  • 타입스크립트 제네릭이 아직 이해가 잘 안돼서 내일 이어서 봐야겠다. 또 인터페이스와 함수들도 많이 뒤죽박죽이다.

오늘의 교훈

  • 틈만나면 공부를 한다는 생각으로 4주동안 뭔가 미친 사람이 되어야겠다고 결심했다
  • 더 바빠지기전에 밀린 토이를 하나씩 풀어야겠다
  • 밀린 블로그작성도 꾸준히 해봐야겠다.
  • IBM API 과금 안되게 잘 관리해야겠다

--

--

elenaJEL
els_products

누군가의 일상에 녹아, 감동을 줄 수 있는 제품을 만드는 데 필요한 일이라면 다 하고싶습니다.