아이디어핑퐁 - ICM
작성일 : 2018.05.04 온톨로지를 활용한 인공지능 알고리즘 설계 목적 : 크리베이트의 intelligent concept map (ICM) 구축 내용 - crawling 부분
- 특정 사이트 크롤링 ex)특허, 혁신 사례 소개 사이트
- 크롤링 한 데이터를 특정 formating화 : A(아이디어를 묘사하는 속성)+B(아이디어 키워드) 구조 ex) 채널이 자동으로 돌아가는 + TV
- Keyword 분석 및 tag
- 키워드를 분석해 상위 카테고리 tag 붙이기
- 하나의 concept은 - Root tag(TV), Category tag(가전제품), 구체 tag(채널이 자동으로 돌아가는), 추상(습관적 행동을 모방한, 편하게 보는) tag, 그 외 tag들이 붙어 있는 구조
- 저희는 이걸 사람이 온톨로지화 하려고 했지만, 만약 큐리온 툴로 자동으로 가능하다면 10만개의 user input data에도 이렇게 tagging을 할 수 있지 않을지?
- Idea Matching 알고리즘
- 크리베이트의 아이디어 도출 방법론을 활용해 아이디어 매칭
- Idea Ranking
- 아이디어의 attractiveness 평가
- attractiveness에 대한 알고리즘은 크리베이트가 제공
- 현재 user들은 매칭된 결과를 보고 like 평가를 매기는데 이 평가 결과를 반영할 수 있도록 함
- 이를 지속적으로 테스트 하면서 가중치 등을 바꿀 수 있는 어드민 인터페이스 제공
핑퐁 입력(Input) 이상한 거 입력- ㅋㅋ... 등 이상한 거 입력 파악하는 알고리즘
- 자음과 모음만 존재할 때
- 글자수 1개이고, 숫자, 기호, 자음, 모음, 영어 한 개만 존재할 때 not 자음+모음(글자수 2개)
- 자음 모음 조합 빼고, 글자수 2개이고, 숫자, 기호, 자음, 모음 조합으로 존재할 때
- 연속해서 동일한 숫자, 기호, 자음, 모음, 알파벳이 3개 이상 동일하게 존재.
- 글자 수에 상관 없이 연속(2개 이상)해서 동일한 숫자, 기호, 자음, 모음, 영업 조합이 두 개 이상 존재할 때 -> 연속해서 2개 동일이 2번 이상 존재할 때 참조
오타 입력 입력- Dictionary 형태로 모은다.
- 키워드 입력과 동시에 오타임을 구글 API로 확인 시킨다. ex) 앵장고
긴단어 입력 - 긴 단어 입력 시 대응 알고리즘
- 현재까지 한 단어 이상인 경우 예시 ex) 스마트가전제품 , 스마트가전제품아이디어가필요해요, 매출 증가에 대한 아이디어
- 오타먼저 파악한 후, 띄워쓰기 한 상태에서 3단어 이상이나, 띄워쓰기 안한 상태에서 7자 넘어가면 ' 무엇의, 무엇을 위한, 무엇에 의한 아이디어입니까? ‘가전 제품’보다는 ‘TV’처럼 구체적일수록 좋습니다. 힘드시겠지만, 한 단어로 입력해 주세요.' 라는 메시지를 중간에 넣어서 한 글자 키워드로 쓸 수 있도록 유도 해 보고, 안되면 그냥 긴 단어로 진행한다.
입력한 키워드 분석
- better idea : 긴단어시 -> 추천기능 쓸 수 있을까?
- 키워드를 분석해서 괜찮은 속성을 붙여 줄 수 있을까?
현재 솔루션 - 구글 API쓰고 있고,
아이디어 보여주기 알고리즘 핑퐁 핑퐁 부분 : Idea =Attribute(~하는) + Keyword idea를 Tage화하고, Tag에서 Direction에서 tag 찾아서 Idea를 붙임 Idea에서 찾아서 Idea title에서 찾아서 Idea Content에서 찾아서 Idea Crevate가 붙인 Tag에서 찾아서 Idea 사람들이 쓴 아이디어 중에 찾아서 Idea 아이디어 핑퐁으로 나온 idea DB에 없을 때 부사 붙이기 - 반드시, 항상, 꼭, 가끔, 매번
사례 사례 부분 : Keyword만 있음 - 해당 키워드로 혁신 사례 검색해서 보여준다. ex_include_keyword
- 동일한 키워드 내에서 높은 score를 먼저 보여준다 ex_score_high_keyword
- 키워드는 new 2점, useful 4점, pingpong 개수 X점 = 총점
- 동일한 키워드 내에서 낮은 score를 먼저 보여준다. ex_score_low_keyword (배자가 추가한 로직)
- 비동일. 키워드 상관 없이 높은 score
- 평가 안 된 거 random. ex_random_noscore
휴리스틱 - IoT는 제품 키워드에 한정한다.
- 제품은 제품끼리 섞는다. 제품은 시각적 속성 및 물질로서의 속성이 강해서 서비스와 잘 붙지 않는다.
- 그러나 서비스 속성은 제품에 붙였을 때 어색하지 않다.
- 미각은 음식 키워드에서 붙인다. ex)카레맛 나는 연필 bad. 카레맛 나는 콜라는 OK.
- Product의 속성
- material : 재료 - 플라스틱
- shape : 형태, 모양 - 네모
- color : 색상 - 검정
- component : 구성 요소 - 전원, 배젤 -> 특허에서 추출 가능하지 않을까???
- emotion : 차갑다. 바보 상자다
- context - space : 거실에 있다
- context - person : 가족과 본다
- context - activity : 운동하면서 본다
- context - time : 밤에 본다
- Service의 속성
- context - space : 상업공간에 있다 -> 집에서 하는 카페
- context - person : 손님이 돈을 낸다 -> 손님이 돈을 받는 카페
- context - activity : 앉아있다 -> 누워있는 카페
- context - time : 문을 닫는다 -> 24시간 카페
고민 하고 있는 사항1. Lab Issue : random에는 평가 안 된 게 있다 보니 IoT쪽이 많고, 그래서 IoT가 많이 나오는데, IoT는 제한적이어서 한계가 명확함 Idea? 현재 랜덤이 2897,2896,2895 처럼 순차적으로 도는데 이걸 랜덤으로 하면 될까?
2. 유사도, 이웃, 군집도 할 수 있을까? - 영감 받기 : 109개의 싱글몰트의 68개의 속성(0과 1로 구분)해서 거리 계산. 한 것 처럼
- 100개의 속성과 new, useful, 제품, 서비스, 광고, 이벤트, IoT, 사회혁신, 비즈니스 등 특성을 정의해서 키워드별로 각 속성의 상대적인 거리(유클리드 거리 계산, http://www.dcs.ed.ac.uk/home/jhb/whisky/lapointe/text.html) 를 만들고, 이런 식으로 계속 끊어서 속성을 테스트 하고
- 한쪽에서는 들어오는 키워드간 유사도를 측정할 수 있다면, 속성 데이터를 활용할 수 있을 것으로 예상함.
- 특성을 어떻게 정의할 것인가?
- 키워드간 유사도를 어떻게 만들 것인가?
|