KR102520248B1 - 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 - Google Patents
주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 Download PDFInfo
- Publication number
- KR102520248B1 KR102520248B1 KR1020220080339A KR20220080339A KR102520248B1 KR 102520248 B1 KR102520248 B1 KR 102520248B1 KR 1020220080339 A KR1020220080339 A KR 1020220080339A KR 20220080339 A KR20220080339 A KR 20220080339A KR 102520248 B1 KR102520248 B1 KR 102520248B1
- Authority
- KR
- South Korea
- Prior art keywords
- phrase
- sub
- phrases
- extracted
- main
- Prior art date
Links
- 238000012552 review Methods 0.000 title claims abstract description 190
- 238000000605 extraction Methods 0.000 title claims abstract description 70
- 238000001914 filtration Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000000284 extract Substances 0.000 claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 25
- 238000002372 labelling Methods 0.000 claims description 19
- 238000013480 data collection Methods 0.000 claims description 7
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 230000004069 differentiation Effects 0.000 claims 1
- 239000000047 product Substances 0.000 description 67
- 238000010586 diagram Methods 0.000 description 13
- 235000013305 food Nutrition 0.000 description 7
- 238000010411 cooking Methods 0.000 description 5
- 235000013372 meat Nutrition 0.000 description 5
- 235000011888 snacks Nutrition 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 235000021109 kimchi Nutrition 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013604 expression vector Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 235000013547 stew Nutrition 0.000 description 2
- 208000025721 COVID-19 Diseases 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- 235000010469 Glycine max Nutrition 0.000 description 1
- 241000989913 Gunnera petaloidea Species 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 235000013351 cheese Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 235000013580 sausages Nutrition 0.000 description 1
- 235000014347 soups Nutrition 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 특정 상품에 대한 리뷰 데이터들로부터 함축성, 대표성, 독창성을 지닌 연속된 하나의 단어 또는 두 단어 이상으로 구성된 구(句) 또는 절(節)을 주요 구절(key phrase)로 추출하고, 이를 이용하여 특정 상품에 대한 전체 리뷰 데이터 중 해당 주요 구절과 연관된 리뷰 데이터를 필터링하는 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법에 관한 것이다.
Description
본 발명은 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법에 관한 것으로, 더욱 상세하게는 특정 상품에 대한 리뷰 데이터들로부터 함축성, 대표성, 독창성을 지닌 하나의 단어 또는 연속된 두 단어 이상으로 구성된 구(句) 또는 절(節)을 주요 구절(key phrase)로 추출하고, 이를 이용하여 특정 상품에 대한 전체 리뷰 데이터 중 해당 주요 구절과 연관된 리뷰 데이터를 필터링하는 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법에 관한 것이다.
통신 기술이 발달함에 따라 무선 통신을 이용하여 상품 및 서비스를 매매하는 이커머스(E-commerce) 시장이 지속적으로 확장되고 있다. 특히, 이커머스 시장은 모바일 단말의 보급으로 인해 이커머스에 대한 접근성이 높아져 크게 성장할 수 있었고, 최근 들어, COVID-19의 전 세계적 확산으로 인해 더욱 큰 폭으로 성장하고 있다.
이커머스를 통해 상품 및 서비스를 구매하는 경우, 상품 및 서비스 제공자를 소비자가 직접 확인할 수 없으므로, 소비자는 판매자에 의해 제공된 정보(이미지, 설명 등)와, 해당 상품에 대하여 다른 사용자가 작성한 리뷰 정보에 기반하여 구매 의사를 결정하게 된다.
하지만, 판매자에 의해 제공되는 정보들은 상품 구매를 유도하기 위해 판매자측에서 과장하거나 불리한 정보를 숨기는 경우가 있어 소비자 입장에서는 신뢰도가 떨어질 수 있다.
이에 따라, 최근에는 상품 및 서비스를 구매한 다른 사용자에 의해 작성된 사용자 리뷰는 소비자가 구매 의사를 결정하는데 크게 기여하고 있다. 상품에 대한 사용자들의 리뷰는 기업과 구매자에게 의사결정을 지원하는 중요한 요소로, 이커머스 판매자는 사용자 리뷰를 작성한 소비자에게 적립금 또는 할인 쿠폰 등과 같은 혜택을 제공함으로써 다수의 사용자 리뷰를 수집하기 위해 노력을 기울이고 있다.
이러한 리뷰 데이터는 하나의 상품에 대하여 많게는 수천개씩 작성되고 있고, 최신순, 인기순, 가격순 등과 같은 기준으로 리뷰 데이터를 단순히 정렬하는 데에만 그치고 있기 때문에, 사용자는 많은 리뷰들을 일일이 확인하기 힘들 뿐만 아니라, 많은 리뷰들 중에서 유의미한 정보를 가진 리뷰만을 선택적으로 필터링하기에는 한계가 있다.
이에, 이러한 비정형적인 리뷰를 정량화하여 분석하는 연구들이 지속적으로 수행되고 있다. 종래의 리뷰 분석은 각 리뷰의 키워드(명사)만을 추출하여 분류차원과 워드 임베딩 방식을 사용하여 각 차원별로 거리가 가까운 단어를 사전으로 구축하는 방식이나, 이는 다른 상품군의 리뷰 분석에 적용하기 어려운 확장성의 한계를 가지고 있다.
한편, 전술한 배경 기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일측면은 특정 상품에 대한 리뷰 데이터들로부터 함축성, 대표성, 독창성을 지닌 하나의 단어 또는 연속된 두 단어 이상으로 구성된 구(句) 또는 절(節)을 주요 구절(key phrase)로 추출하고, 이를 이용하여 특정 상품에 대한 전체 리뷰 데이터 중 해당 주요 구절과 연관된 리뷰 데이터를 필터링하는 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법을 제공한다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치는, 특정 상품에 대한 리뷰 데이터들로부터 적어도 하나의 하위 구절을 추출하고, 추출된 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 단어 또는 연속된 두 단어 이상으로 구성된 구(句) 또는 절(節)을 주요 구절(key phrase)로 추출하고, 이를 이용하여 해당 상품과 연관된 다른 상품을 추천한다.
상기 주요 구절 추출을 이용한 관련리뷰 필터링 장치는,
상품별 리뷰 데이터를 수집하는 리뷰 데이터 수집부;
미리 학습된 개체명 인식(Named Entity Recognition, NER) 모델을 이용하여, 리뷰 데이터를 구성하는 각각의 단어가 미리 정의된 구절의 시작인지, 중간인지 또는 미리 정의된 구절이 아닌지를 구분하고, 구절의 시작에 해당되는 단어와 구절의 중간에 해당되는 단어를 묶어 하나의 하위 구절로 추출하고, 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출하는 주요 구절 추출부; 및
특정 상품에 대해 추출된 특정 주요 구절을 동일 상품에 대해 추출된 하위 구절들과 비교한 결과에 따라 특정 상품에 대한 전체 리뷰 데이터 중 특정 주요 구절과 연관된 리뷰 데이터를 필터링하는 관련리뷰 필터링부를 포함한다.
상기 주요 구절 추출부는,
하나의 리뷰 데이터로부터 미리 설정된 구절내 속성의 중요도순에 따라 하나의 리뷰 데이터로부터 최대허용개수 미만의 하위 구절들을 추출한다.
상기 주요 구절 추출부는,
구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링한 후,
제1 태그가 라벨링된 하나의 단어를 하위 구절로 추출하거나,
제1 태그가 라벨링된 제1 단어와, 상기 제1 단어의 후속단어이면서 제2 태그가 라벨링된 적어도 하나의 제2단어를 묶어 하나의 하위 구절로 추출하는 것을 특징으로 한다.
상기 주요 구절 추출부는,
BERT(Bidirectional Encoder Representations from Transformers) 모델을 이용하여 상기 하위 구절에 대한 임베딩 벡터를 생성하고, 복수의 하위 구절들 각각에 대하여 생성된 복수의 임베딩 벡터에 기초하여 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하되,
특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 이상으로 수집된 경우 실루엣 스코어(silhoutte score)을 이용하여 군집화할 그룹의 개수를 최적화하고, 특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 미만으로 수집된 경우 미리 설정된 클러스터 개수에 따라 복수의 상기 하위 구절들을 복수의 그룹으로 군집화한다.
상기 주요 구절 추출부는,
각 그룹에 포함된 복수의 임베딩 벡터로부터 어느 하나의 대표값을 추출하고, 추출된 대표값에 대응되는 하위 구절을 주요 구절로 추출한다.
상기 관련리뷰 필터링부는,
특정 상품에서 추출된 특정 주요 구절과 특정 상품에 대한 리뷰 데이터들로부터 추출된 하위 구절들간의 평균 임베딩 유사도를 산출하여, 미리 설정된 임계값 이상인 평균 임베딩 유사도를 갖는 하위 구절을 추출하고, 추출된 하위 구절이 포함된 리뷰 데이터를 특정 주요 구절과 연관된 리뷰 데이터로 필터링한다.
또한, 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 방법은 주요 구절 추출을 이용한 관련리뷰 필터링 장치에 의해 수행되며,
상품에 대한 리뷰 데이터를 수집하는 단계;
미리 학습된 개체명 인식(Named Entity Recognition, NER) 모델을 이용하여, 리뷰 데이터를 구성하는 각각의 단어가 미리 정의된 구절의 시작인지, 중간인지 또는 미리 정의된 구절이 아닌지를 구분하고, 구절의 시작에 해당되는 단어와 구절의 중간에 해당되는 단어를 묶어 하나의 하위 구절로 추출하고, 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출하는 단계; 및
특정 상품에 대한 특정 리뷰 데이터로부터 추출된 특정 주요 구절을 동일 상품에 대해 추출된 하위 구절들과 비교한 결과에 따라 특정 상품에 대한 전체 리뷰 데이터 중 특정 주요 구절과 연관된 다른 리뷰 데이터를 필터링하는 단계를 포함한다.
상기 주요 구절을 추출하는 단계는,
하나의 리뷰 데이터로부터 미리 설정된 구절 내 속성 중요도순에 따라 하나의 리뷰 데이터로부터 최대허용개수 미만의 하위 구절들을 추출하는 것을 특징으로 한다.
상기 주요 구절을 추출하는 단계는,
상기 개체명 인식 모델을 통해 구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링한 후,
제1 태그가 라벨링된 하나의 단어를 하위 구절로 추출하거나,
제1 태그가 라벨링된 제1 단어와, 상기 제1 단어의 후속단어이면서 제2 태그가 라벨링된 적어도 하나의 제2단어를 묶어 하나의 하위 구절로 추출하는 것을 특징으로 한다.
상기 주요 구절을 추출하는 단계는,
BERT(Bidirectional Encoder Representations from Transformers) 모델을 이용하여 상기 하위 구절에 대한 임베딩 벡터를 생성하고, 복수의 하위 구절들 각각에 대하여 생성된 복수의 임베딩 벡터에 기초하여 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하되,
특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 미만으로 수집된 경우 미리 설정된 클러스터 개수에 따라 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하는 것을 특징으로 한다.
상기 주요 구절을 추출하는 단계는,
특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 이상으로 수집된 경우 실루엣 스코어(silhoutte score)을 이용하여 군집화할 그룹의 개수를 최적화하는 것을 특징으로 한다.
상기 주요 구절을 추출하는 단계는,
각 그룹에 포함된 복수의 임베딩 벡터로부터 어느 하나의 대표값을 추출하고, 추출된 대표값에 대응되는 하위 구절을 주요 구절로 추출하는 것을 특징으로 한다.
상기 관련리뷰를 필터링하는 단계는,
특정 상품에서 추출된 특정 주요 구절과 특정 상품에 대한 리뷰 데이터들로부터 추출된 하위 구절들간의 평균 임베딩 유사도를 산출하여, 미리 설정된 임계값 이상인 평균 임베딩 유사도를 갖는 하위 구절을 추출하고, 추출된 하위 구절이 포함된 리뷰 데이터를 특정 주요 구절과 연관된 리뷰 데이터로 필터링하는 것을 특징으로 한다.
상술한 본 발명의 일측면에 따르면, 종래의 키워드 추출 기법과 달리 리뷰 데이터의 특징(함축성, 대표성, 독창성)이 잘 반영된 구절인 주요 구절(key phrase)을 신뢰성 있게 추출할 수 있다.
또한, 추출된 주요 구절을 이용하여 연관 리뷰를 필터링하여 제공함으로써, 사용자는 자신에게 유의미한 연관리뷰를 손쉽게 확인할 수 있다.
도 1은 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치의 개략적인 구성이 도시된 도면이다.
도 2 내지 도 4는 음식 상품에 대한 하나의 리뷰 데이터로부터 하위 구절을 추출하는 구체적인 일 예가 도시된 도면이다.
도 5는 주요 구절 추출부의 전체 프로세스가 도시된 개념도이다.
도 6은 특정 상품에 대해 최종적으로 추출된 주요 구절의 일 예가 도시된 도면이다.
도 7은 연관리뷰 필터링부에서 주요 구절과 하위 구절간 임베딩 유사도를 산출하는 일 예가 도시된 도면이다.
도 8은 관련리뷰에서 관련리뷰를 필터링한 구체적인 일 예가 도시된 도면이다.
도 9는 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 방법의 개략적인 흐름이 도시된 도면이다.
도 2 내지 도 4는 음식 상품에 대한 하나의 리뷰 데이터로부터 하위 구절을 추출하는 구체적인 일 예가 도시된 도면이다.
도 5는 주요 구절 추출부의 전체 프로세스가 도시된 개념도이다.
도 6은 특정 상품에 대해 최종적으로 추출된 주요 구절의 일 예가 도시된 도면이다.
도 7은 연관리뷰 필터링부에서 주요 구절과 하위 구절간 임베딩 유사도를 산출하는 일 예가 도시된 도면이다.
도 8은 관련리뷰에서 관련리뷰를 필터링한 구체적인 일 예가 도시된 도면이다.
도 9는 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 방법의 개략적인 흐름이 도시된 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치의 개략적인 구성요소들이 도시된 도면이다.
본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치는 리뷰 데이터가 가진 의미를 파악하고 분석하기 위한 사용자가 소지한 사용자 단말일 수 있으며, 사용자 단말은 외부기기와 유무선 통신이 가능하고 정보의 입출력 및 처리가 가능한 스마트폰, PC, 태블릿 PC, 웨어러블 디바이스 등과 같은 전자장치일 수 있다.
이러한 사용자 단말에 구현된 본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치는 리뷰 데이터로부터 함축성, 대표성 및 독창성을 지닌 하나의 단어 또는 연속된 두 단어 이상으로 구성된 구(句) 또는 절(節)을 주요 구절(key phrase)로 추출하는 일련의 과정들을 모델링함으로써, 인공지능을 이용하여 대량의 리뷰 데이터로부터 신뢰성 있는 정보들을 효율적으로 추출할 수 있는 것을 특징으로 한다.
본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치를 이용하여 상품과 관련된 리뷰 데이터로부터 추출된 주요 구절은 리뷰 데이터로부터 추출된 구절중에서 상품의 특징을 다른 구절에 비하여 잘 나타낼 수 있는 핵심적인 구절을 의미하며, 다음과 같은 특징을 가질 수 있다.
1) 주요 구절은 수집 대상별로 리뷰 데이터의 공통적 특징을 나타내는 대표성을 지니는 것이 바람직하다.
2) 주요 구절은 수집 대상간에 리뷰 데이터의 차별성을 보여주는 독창성을 가지는 것이 바람직하다.
3) 주요 구절은 수집 대상에 대한 리뷰 데이터의 내용을 요약적으로 나타내는 함축성을 가지고 있는 것이 바람직하다.
따라서, 추출된 구절중에서 다른 구절에 비하여 수집 대상(상품)에 대한 대표성과 독창성과 함축성을 가지고 있는 구절은 수집 대상의 특징을 효과적으로 나타내고 있다고 볼 수 있음에 따라 해당 구절은 주요 구절로 선정될 수 있다.
이를 위해, 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치(1)는 리뷰 데이터 수집부(100), 주요 구절 추출부(200) 및 관련리뷰 필터링부(300)를 포함한다.
리뷰 데이터 수집부(100)는 상품 또는 서비스별 리뷰 데이터를 수집한다.
리뷰 데이터 수집부(100)은 상품(서비스) 판매 서버 또는 상품(서비스) 판매자 단말로부터 수신되는 리뷰 데이터의 상품(서비스)의 종류별로 분류하여 저장한다.
이하에서는 설명의 편의를 위해 리뷰 데이터 수집부(100)에 수집된 리뷰 데이터는 음식 상품에 대하여 작성된 리뷰인 것으로 가정하여 설명하겠으나, 리뷰 데이터의 종류는 이에 한정되지 않으며 본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치는 리뷰 장치가 적용될 수 있는 다른 다양한 도메인(예컨대 전자제품, 화장품, 여행상품, 인테리어 시공 서비스 등)에 대한 리뷰에도 적용 가능함은 물론이다.
주요 구절 추출부(200)는 수집된 상품별 리뷰 데이터를 분석하여, 각각의 리뷰 데이터의 특징(함축성, 대표성, 독창성)이 잘 반영된 구절인 주요 구절(key phrase)을 추출한다.
구체적으로, 주요 구절 추출부(200)는 미리 학습된 개체명 인식(Named Entity Recognition, NER) 모델을 이용하여, 리뷰 데이터를 구성하는 단어별로 개체명 종류를 구분한다.
주요 구절 추출부(200)는 개체명 인식(Named Entity Recognition, NER) 모델을 통해 사용자가 미리 정의한 하위 구절에 해당되는 하나의 단어 또는 연속된 적어도 두 단어를 하위 구절로 추출한다.
이를 위해, 주요 구절 추출부(200)는 개체명 인식 모델을 이용하여, 리뷰 데이터를 구성하는 각각의 단어가 미리 정의된 구절의 시작인지, 중간인지 또는 미리 정의된 구절이 아닌지를 구분하고, 구분 결과에 따라 구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링할 수 있다.
즉, 주요 구절 추출부(200)는 리뷰 데이터를 구성하는 문장을 토큰(단어) 단위로 나누고, 이 토큰들에 도메인별로 설정된 태깅 시스템을 적용하여 단어를 구분한다.
태깅 시스템에는 BIESO 시스템과 BIO 시스템이 있는데, BIESO 시스템은 개체명이 시작할 때'B-(begin)'를, 토큰이 개체명 중간에 있을 때는'I-(inside)'를, 개체명의 마지막에 위치할 때는 'E-(end)'를 붙여주며, 하나의 토큰이 곧 하나의 개체명일 때는'S-(singleton)'를, 토큰이 개체명이 아닐 경우에는 'O(outside)'를 붙여준다. BIO 시스템은 BIESO 시스템과 유사하지만 E는 I로 통합되고 S는 B로 통합되는 특징이 있다.
주요 구절 추출부(200)에 적용된 태깅 시스템은 BIO 시스템으로, 개체명이 시작할 때 상술한 제1 태그인 'B-(begin)'를, 토큰이 개체명 중간에 있을 때는 상술한 제2 태그인 'I-(inside)'를, 토큰이 개체명이 아닐 경우에는 상술한 제3 태그인 'O(outside)'를 붙여주게 된다.
도 2는 음식 상품에 대한 하나의 리뷰 데이터가 도시된 일 예로, 도시된 바와 같이 주요 구절 추출부(200)는 '어제 샀는데 고기가 맛있네요'라는 리뷰 데이터를 분석하여 '어제/샀는데'에 해당되는 단어에 제3 태그(O, other)를 라벨링하고, '고기가'에 해당되는 단어에 제1 태그(B, begin)를 라벨링하며, '맛있네요'에 해당되는 단어에 제2 태그(I, inside)를 라벨링한다.
즉, 주요 구절 추출부(200)는 음식 도메인에서는 재료의 종류, 맛/식감, 음식의 양, 대상과 관형, 편의성 등을 나타내는 단어를 사용자가 추출하고 싶은 구절로 설정하였다면, 개체명 인식 모델을 통해 상기와 같은 표현을 가지는 개체명을 하위 구절로 추출할 수 있다.
이를 위해, 주요 구절 추출부(200)는 도메인에 따라 추출하고 싶은 구절을 다르게 정의할 수 있다. 예컨대, 주요 구절 추출부(200)는 리뷰 데이터가 음식 상품에 관한 것인 경우, 맛, 식감, 조리 방법, 양, 대상과 환경, 편의성 등과 같은 속성을 주요속성으로 설정할 수 있다. 다른 예로, 주요 구절 추출부(200)는 전자기기 도메인에서는 가격, 휴대성, 속도 등을 나타내는 단어를 사용자가 추출하고 싶은 구절로 설정하였다면, 개체명 인식 모델을 통해 상기와 같은 표현을 가지는 개체명을 하위 구절로 추출할 수 있다.
이와 같이, 주요 구절 추출부(200)는 리뷰 데이터와 관련된 상품 또는 서비스의 특징에 따라 전체 속성 중 상품 또는 서비스의 종류에 따라 구절을 설정함으로써, 음식 리뷰에서 중요할 것으로 판단되는 단어들로만 구성된 하위 구절을 추출할 수 있다.
상술한 바와 같이, 주요 구절 추출부(200)는 개체명 인식 모델을 통해 리뷰 데이터를 구성하는 각각의 단어가 미리 정의된 구절의 시작인지, 중간인지 또는 미리 정의된 구절이 아닌지를 구분하여 구절의 시작에 해당되는 단어에 제1 태그(B)를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그(I)를 라벨링하며, 구절이 아닌 단어에 제3 태그(O)를 라벨링한 다음, 구절의 시작에 해당되는 단어와 구절의 중간에 해당되는 단어를 묶어 하나의 하위 구절로 추출한다.
구체적으로, 주요 구절 추출부(200)는 아래와 같은 형태로 단어가 나열된 경우 해당 단어 또는 해당 단어들을 하나의 하위 구절로 추출할 수 있다.
1) B
2) B-I
3) B-I-I
4) B-I-I-I
1)번의 경우는 제1 태그(B)가 라벨링 라벨링된 하나의 단어를 하나의 하위 구절로 추출하는 것으로, 이때 제1 태그(B)가 라벨링 라벨링된 하나의 단어의 앞뒤로 제2 태그(O)가 라벨링된 단어가 없는 경우 단일 단어를 하나의 하위 구절로 추출한다.
2)번의 경우는 제1 태그(B)가 라벨링 라벨링된 제1 단어와, 제1 단어의 후속단어이면서 제2 태그가 라벨링된 제2 단어가 포함된 리뷰 데이터의 경우, 제1 단어와 제2 단어를 묶어 하나의 하위 구절로 추출한다.
예컨대, 도 2 및 도 3에 도시된 바와 같이, 주요 구절 추출부(200)는 리뷰 데이터를 구성하는 각각의 단어에 태그를 라벨링한 후, 제1 태그(B)와 제2 태그(I)가 연속적으로 나열된 두 개의 단어인 '고기가 맛있네요'를 하나의 하위 구절로 추출한다.
2)번의 경우는 제1 태그(B)가 라벨링 라벨링된 제1 단어와, 제1 단어의 후속단어이면서 제2 태그가 라벨링된 제2 단어와, 제2 단어의 후속단어이면서 제2 태그가 라벨링된 제3 단어와 가 포함된 리뷰 데이터의 경우, 제1 단어, 제2 단어 및 제3 단어를 묶어 하나의 하위 구절로 추출한다. 이와 유사하게, 3)번의 경우는 제1 태그(B)가 라벨링된 제1 단어와, 제2 태그가 라벨링된 3개의 단어들이 제1 단어로부터 연속적으로 나열된 리뷰 데이터의 경우, 네 개의 단어를 묶어 하나의 하위 구절로 추출한다. 도 4는 주요 구절 추출부(200)에 의해 추출된 하위 구절들의 예시들이 도시되어 있다.
이와 같이, 주요 구절 추출부(200)는 개체명 인식모델을 통해 리뷰 데이터를 구성하는 각각의 단어가 미리 정의된 구절의 시작인지, 중간인지 또는 미리 정의된 구절이 아닌지를 구분하여 구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링한 후, 제1 태그가 라벨링된 하나의 단어를 하위 구절로 추출하거나, 제1 태그가 라벨링된 제1 단어와, 상기 제1 단어의 후속단어이면서 제2 태그가 라벨링된 적어도 하나의 제2단어를 묶어 하나의 하위 구절로 추출한다. 주요 구절 추출부(200)는 이와 같은 작업을 리뷰 데이터별로 반복 수행하여 모든 리뷰 데이터들로부터 하위 구절을 추출한다.
한편, 주요 구절 추출부(200)는 하위 구절 추출 과정에서, 하나의 리뷰 데이터로부터 미리 설정된 최대허용개수 이상의 하위 구절들이 추출되는 것을 막고자, 구절의 예시를 중요도순에 따라 하나의 리뷰 데이터로부터 최대허용개수 미만의 구절만 라벨링하고 추출될 수 있도록 학습시킨다. 예컨대, 주요 구절 추출부(200)는 하나의 리뷰 데이터에 5개의 구절이 있더라도, 중요도순에 따라 최대 3개의 하위 구절만 추출되도록 데이터를 구성하고 학습을 시켰기 때문에 최대허용개수(3개) 이상의 구절이 추출되지 않도록 한다.
이를 위해, 주요 구절 추출부(200)는 주요 속성의 우선순위를 미리 설정할 수 있으며, 맛, 식감 > 조리 방법 > 양 > 대상과 환경 > 편의성 순서로 우선순위를 설정할 수 있다. 이러한 경우, 주요 구절 추출부(200)는 5개의 하위 구절 중 제1, 2 하위 구절은 맛/식감에 대한 하위구절이고, 제3 하위 구절은 조리 방법에 대한 하위 구절이고, 제4 하위구절은 양에 대한 하위 구절이고, 제5 하위구절은 편의성에 대한 하위 구절인 것으로 확인되면, 우선순위가 낮은 제4,5 하위 구절을 제외한 제1, 2, 3 하위 구절만 해당 리뷰 데이터로부터 추출할 수 있다. 이와 같은 하위 구절 추출 규칙은 상품/서비스의 종류에 따라 다양하게 설정되는 것으로 이해되어야할 것이다.
아래는 주요 구절 추출부(200)에 의해 추출된 하위 구절들의 일 예이다.
주요속성1: 맛, 식감
"고기도 부드럽고 생각보다 맛있었어요 ㅎㅎ" -> "고기도 부드럽고"
"만두 8개 한봉지에요. 그리 맵지도 않고 피도 쫄깃해요." -> "그리 맵지도 않고", "피도 쫄깃해요."
"너무 너무 맛있어요 전문점 갈필요 없어요 ㅎ" -> "전문점 갈필요 없어요"
주요속성2: 조리 방법
"맛있어서 재구매합니다 에어프라이어에 해먹기 좋아요" -> "에어프라이어에 해먹기 좋아요"
주요속성3: 양
"혼자 먹기에 딱 좋은 양이에요. 햄과 김치가 들어있어서 좋아요." -> "혼자 먹기에 딱 좋은"
"에어프라이어에 구워 먹으니 맛있네요 둘이 먹기 적당해요" -> "둘이 먹기 적당해요"
주요속성4: 대상과 환경
"캠핑갈때 가져갔어요. 양도 적당하고 좋네요" -> "캠핑갈때 가져갔어요"
"아이들 간식으로 너무좋아요 다음에 또 주문" -> "아이들 간식으로
"아주 맛나서 자주 시켜요~ 술안주로도 좋아요." -> "술안주로도 좋아요"
주요속성5: 편의성
"조리가 간편해서 좋아요.추가로 소세지를 더넣고 조리했더니 너무 맛있습니다" -> "조리가 간편해서 좋아요."
"바쁜 주부의 일상을 도와주는 정말 좋은 제품" -> "바쁜 주부의 일상을 도와주는"
주요 구절 추출부(200)는 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출한다.
도 5는 주요 구절 추출부(200)의 전체 프로세스가 도시된 개념도이다.
먼저, 주요 구절 추출부(200)는 BERT(Bidirectional Encoder Representations from Transformers) 모델을 이용하여 상기 하위 구절에 대한 임베딩 벡터를 생성한다.
BERT 모델은 문맥을 이해하는 자연어 처리 모델로, 다양한 작업에 의해 학습된 사전 훈련된(Pre-trained) 언어 모델 중 가장 좋은 성능을 발휘하는 모델이다. BERT 모델은 특별 분류 토큰(CLS)을 이용하며, 특별 분류 토큰(CLS)이란, 문장 또는 어절 단위의 내제된 정보를 이용하여 분류 작업에 사용할 때, 문장 또는 어절의 내제된 정보를 담고 있을 수 있도록 학습된 BERT 고유의 토큰이다. 특별 분류 토큰(CLS)을 이용하는 방식은 다음과 같다. 핵심 문장을 추출하고 싶은 자연어 데이터를 문장 어절 단위로 나눈 뒤, 각 문장(어절)에 특별 분류 토큰(CLS)을 문장 앞에 추가한다. 특별 분류 토큰(CLS)은 '[CLS]'라는 단어를 문장 시작 부분에 추가하면 되기 때문에 다른 추가 제약조건 없이, 어떤 형태의 문장에도 추가가 가능하다. 이후, 모델에 의해 수치화된 특별 분류 토큰(CLS)의 벡터는 각 문장 사이의 유사도를 계산할 때 이용된다. 즉, 해당 특별 분류 토큰(CLS)은 BERT에서 문장 단위로 분류 작업을 실행할 때, 문장의 표현 벡터로 사용되는 토큰이며 특별 분류 토큰(CLS)의 표현 벡터를 문장 토큰의 임베딩 벡터(Embedding Vector)로 사용한다.
주요 구절 추출부(200)는 이와 같은 BERT 모델을 이용하여 각각의 하위 구절을 임베딩 벡터로 변환할 수 있으며, 이에 따라 단순 단어 정보가 아닌 문맥 정보가 반영된 임베딩 벡터를 활용할 수 있다.
이후, 주요 구절 추출부(200)는 복수의 하위 구절들 각각에 대하여 생성된 복수의 임베딩 벡터에 기초하여 복수의 상기 하위 구절들을 복수의 그룹으로 군집화한다. 이때 리뷰데이터 특성상 상품별 리뷰 수, 리뷰 내용이 상이하므로 상품별로 클러스터링 개수가 달라지게 된다.
이때, 주요 구절 추출부(200)는 특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 이상으로 수집된 경우, 다시 말해 리뷰 데이터가 충분히 많이 수집된 경우 실루엣 스코어(silhoutte score)를 이용하여 군집화할 그룹의 개수를 최적화한다.
실루엣 스코어(silhoutte score)는 각 데이터 포인트와 주변 데이터 포인트들과의 거리 계산을 통해 산출된 값이며, 클러스터링된 데이터들이 적절하게 군집화되어있는지를 판단하기 위해 사용되는 기법이다.
예컨대, 총 10개의 하위 구절에 대한 임베딩 벡터들이 3개의 군집으로 나눠졌다고 가정하면, 주요 구절 추출부(200)는 제1 클러스터에 포함된 제1 임베딩 벡터와, 제1 임베딩 벡터와 동일 클러스터(제1 클러스터)에 포함된 다른 임베딩 벡터들간의 평균 거리와, 제2 클러스터에 포함된 다른 엠베딩 벡터들간의 평균 거리와, 제3 클러스터에 포함된 다른 임베딩 벡터들간의 평균 거리를 각각 산출한다. 이와 같은 방법으로, 주요 구절 추출부(200)는 모든 임베딩 벡터들에 대하여 평균 거리들을 산출하여, 산출된 평균 거리들에 대한 평균값을 산출한 실루엣 스코어를 산출한다.
주요 구절 추출부(200)는 하위 구절들을 임의의 그룹 개수로 클러스터링했을때의 실루엣 스코어를 각각 산출하여, 산출된 실루엣 스코어가 가장 높은 클러스터링 개수로 군집화를 수행한다.
예컨대, 주요 구절 추출부(200)는 하위 구절들을 두 개의 그룹으로 군집화 하였을때, 세 개의 그룹으로 군집화 하였을때, 네 개의 그룹으로 군집화 하였을때, 다섯 개의 그룹으로 군집화 하였을 때 각각에 대한 실루엣 스코어를 산출하여, 다섯 개의 그룹으로 군집화하였을 때 실루엣 스코어가 가장 높게 나온 것으로 확인되면, 하위 구절들을 다섯 개의 그룹으로 군집화하는 클러스터링 작업을 수행한다.
몇몇 다른 실시예에서, 주요 구절 추출부는 특정 상품에 대한 클러스터링 작업을 수행함에 있어서, 특정 상품과 유사 상품의 군집화 그룹 개수에 따라 그룹별로 산출된 실루엣 스코어에 서로 다른 가중치를 부여할 수 있다.
예를 들어, 주요 구절 추출부는 육개장 상품에 대한 클러스터링 작업을 수행함에 있어서, 다른 국물요리 상품(된장찌개, 김치찌개 등)에 대한 클러스터 개수를 검색하고, 이들의 평균 클러스터 개수를 산출하여 산출된 평균 클러스터 개수와 가장 유사한 클러스터에 대해 산출된 실루엣 스코어에 더 높은 가중치를 부여한다. 이에 따라, 주요 구절 추출부는 이미 검증된 상품에 대한 클러스터링 결과를 새로운 상품에 반영할 수 있어 데이터 분석의 신뢰성이 향상될 수 있다.
이후, 주요 구절 추출부는 각 클러스터에서 중심점과 가장 가까운 어느 하나의 하위 구절을 해당 클러스터의 대표 구절로 추출하고, 추출된 대표 구절을 주요 구절로 설정한다. 상술한 예시에서는 네 개의 그룹으로 군집화되었으므로, 주요 구절 추출부는 총 4개의 주요 구절을 추출할 수 있다.
반면, 주요 구절 추출부(200)는 특정 상품에 대한 리뷰 데이터의 개수가 미리 설정된 기준값 미만으로 수집된 경우 미리 설정된 클러스터 개수에 따라 복수의 상기 하위 구절들을 복수의 그룹으로 군집화한다. 예를 들어, 주요 구절 추출부(200)는 특정 상품에 대해 수집된 리뷰 데이터가 100개 미만인 경우, 상술한 실루엣 스코어를 이용한 클러스터링 최적화 작업 없이 일괄적으로 4개의 그룹으로 하위 구절들을 군집화한다.
도 6은 최종적으로 추출된 주요 구절의 일 예가 도시된 도면으로, 이와 같은 방법으로 주요 구절 추출부는 각 상품에서 사용자 리뷰 내용을 대표하고, 한 상품 내에서의 독창성을 갖는 구절을 주요 구절로 추출할 수 있다.
연관리뷰 필터링부(300)는 특정 상품에서 추출된 주요 구절을 이용하여 동일 상품에 대한 리뷰들 중에서 해당 주요 구절과 관련된 리뷰 데이터만 필터링할 수 있다.
종래에는 인기순, 날짜순 등과 같은 리뷰 정렬을 통한 단순 필터링 기능, 만 제공하고 있어 해당 기준으로 리뷰 데이터를 단순히 정렬하는 데에만 그치고 있기 때문에, 사용자는 많은 리뷰들을 일일이 확인하기 힘들 뿐만 아니라, 많은 리뷰들 중에서 유의미한 정보를 가진 리뷰만을 선택적으로 필터링하기에는 한계가 있다.
이와 같은 문제점을 해결하기 위해, 연관리뷰 필터링부는 연관상품 추천부와 유사한 방법으로 특정 리뷰와 관련된 다른 리뷰를 필터링하여 사용자 단말에 표시할 수 있다.
도 7은 특정 상품에서 추출된 특정 주요 구절과 특정 상품과 동일 상품에 대한 리뷰 데이터들에서 추출된 하위 구절들간의 평균 임베딩 유사도의 일 예가 도시된 도면으로, 연관리뷰 필터링부는 미리 설정된 임계값 이상인 평균 임베딩 유사도를 갖는 하위 구절을 추출하고, 추출된 하위 구절이 포함된 리뷰 데이터를 특정 주요 구절에 대한 연관리뷰로 필터링하여 표시할 수 있다.
도 8은 이러한 관련리뷰 필터링에 의해 필터링관 관련리뷰의 구체적인 일 예가 도시된 도면으로, 도시된 바와 같이 사용자가 김치치즈 주먹밥로부터 추출된 복수의 주요 구절들 중 '에어프라이어로 구우면'이라는 주요 구절을 선택하면, 동일 상품에 대한 리뷰들 중에서 선택된 주요 구절과 관련된 다른 리뷰들이 선택적으로 표시된다.
이와 같이, 관련리뷰 필터링부는 문맥 정보가 반영된 임베딩을 활용하여 의미 기반의 관련 리뷰 필터링 작업을 수행함으로써, 사전에 속성 정의 및 모델 학습을 하지 않고 범용적 활용이 가능하며, 리뷰에서 추출 한 주요 구절을 기반으로하여 구체적이고 다양한 표현의 필터링 가능하다는 장점이 있다.
도 9는 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련상품 추천 방법의 개략적인 흐름이 도시된 도면이다.
본 발명에 따른 주요 구절 추출을 이용한 관련상품 추천 방법은, 상술한 본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치에 의해 수행될 수 있다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 방법은 리뷰 데이터를 수집하는 단계(S10), 리뷰 데이터로부터 하위 구절을 추출하는 단계(S20), 추출된 복수의 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출하는 단계(S30) 및 추출된 주요 구절과 하위 구절간의 임베딩 유사도에 기초하여 특정 주요 구절에 대한 연관리뷰를 필터링하는 단계(S40)를 포함한다. 이와 같은 본 발명에 따른 주요 구절 추출 방법은 상술한 본 발명에 따른 주요 구절 추출을 이용한 관련리뷰 필터링 장치에서 설명하였으므로, 반복되는 설명은 생략하기로 한다.
상술한 본 발명의 일측면에 따르면, 종래의 키워드 추출 기법과 달리 리뷰 데이터로의 특징(함축성, 대표성, 독창성)이 잘 반영된 구절인 주요 구절(key phrase)을 신뢰성 있게 추출할 수 있으며, 추출된 주요 구절을 이용하여 연관 리뷰를 필터링하여 제공함으로써, 사용자는 자신에게 유의미한 연관리뷰를 손쉽게 확인할 수 있다는 장점이 있다.
이와 같은, 본 발명에 따른 기술은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 공간으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 리뷰 데이터 수집부
200: 주요 구절 추출부
300: 관련리뷰 필터링부
200: 주요 구절 추출부
300: 관련리뷰 필터링부
Claims (15)
- 상품별 리뷰 데이터를 수집하는 리뷰 데이터 수집부;
미리 학습된 개체명 인식(Named Entity Recognition, NER) 모델을 이용하여, 미리 정의된 구절의 시작에 해당되는 제1 단어와, 제1 단어의 후속단어이면서 구절의 중간에 해당되는 적어도 하나의 제2 단어를 묶어 하나의 하위 구절로 추출하고, 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출하는 주요 구절 추출부; 및
특정 상품에 대해 추출된 특정 주요 구절을 동일 상품에 대해 추출된 하위 구절들과 비교한 결과에 따라 특정 상품에 대한 전체 리뷰 데이터 중 특정 주요 구절과 연관된 리뷰 데이터를 필터링하는 관련리뷰 필터링부를 포함하고,
상기 주요 구절 추출부는,
BERT(Bidirectional Encoder Representations from Transformers) 모델을 이용하여 상기 하위 구절에 대한 임베딩 벡터를 생성하고, 복수의 하위 구절들 각각에 대하여 생성된 복수의 임베딩 벡터에 기초하여 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하되,
수집 대상에 대한 텍스트 데이터의 개수가 미리 설정된 기준값 미만으로 수집된 경우, 미리 설정된 클러스터 개수에 따라 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고,
수집 대상에 대한 텍스트 데이터의 개수가 미리 설정된 기준값 이상으로 수집된 경우, 실루엣 스코어(silhoutte score)을 이용하여 군집화할 그룹의 개수를 동적으로 결정하며,
상기 관련리뷰 필터링부는,
특정 상품에서 추출된 특정 주요 구절과 특정 상품에 대한 리뷰 데이터들로부터 추출된 하위 구절들간의 평균 임베딩 유사도를 산출하여, 미리 설정된 임계값 이상인 평균 임베딩 유사도를 갖는 하위 구절을 추출하고, 추출된 하위 구절이 포함된 리뷰 데이터를 특정 주요 구절과 연관된 리뷰 데이터로 필터링하는, 주요 구절 추출을 이용한 관련리뷰 필터링 장치.
- 제1항에 있어서,
상기 주요 구절은 추출된 하위 구절들중에서 수집 대상의 특징을 다른 하위 구절들에 비하여 잘 나타낼 수 있는 하위구절이 선정되어 추출되되,
수집 대상별로 수집 데이터의 공통적 특징을 나타내는 대표성과, 수집 대상간에 수집 데이터의 차별성을 보여주는 독창성과, 수집 대상에 대한 수집 데이터의 내용을 요약적으로 나타내는 함축성에 의해 선정되는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 장치.
- 제1항에 있어서,
상기 주요 구절 추출부는,
하나의 리뷰 데이터로부터 미리 설정된 구절 내 속성 중요도순에 따라 하나의 리뷰 데이터로부터 최대허용개수 미만의 하위 구절들을 추출하는, 주요 구절 추출을 이용한 관련리뷰 필터링 장치.
- 제1항에 있어서,
상기 주요 구절 추출부는,
상기 개체명 인식 모델을 통해 구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링한 후,
제1 태그가 라벨링된 하나의 단어를 하위 구절로 추출하거나,
제1 태그가 라벨링된 제1 단어와, 상기 제1 단어의 후속단어이면서 제2 태그가 라벨링된 적어도 하나의 제2단어를 묶어 하나의 하위 구절로 추출하는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 장치.
- 삭제
- 삭제
- 제1항에 있어서,
상기 주요 구절 추출부는,
각 그룹에 포함된 복수의 임베딩 벡터로부터 어느 하나의 대표값을 추출하고, 추출된 대표값에 대응되는 하위 구절을 주요 구절로 추출하는, 주요 구절 추출을 이용한 관련리뷰 필터링 장치.
- 삭제
- 주요 구절 추출을 이용한 관련리뷰 필터링 장치에 의해 수행되는 관련리뷰 필터링 방법으로,
상품에 대한 리뷰 데이터를 수집하는 단계;
미리 학습된 개체명 인식(Named Entity Recognition, NER) 모델을 이용하여, 미리 정의된 구절의 시작에 해당되는 제1 단어와, 제1 단어의 후속단어이면서 구절의 중간에 해당되는 적어도 하나의 제2 단어를 묶어 하나의 하위 구절로 추출하고, 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고, 각 그룹에 포함된 복수의 하위 구절들로부터 하나의 주요 구절을 추출하는 단계; 및
특정 상품에 대한 특정 리뷰 데이터로부터 추출된 특정 주요 구절을 동일 상품에 대해 추출된 하위 구절들과 비교한 결과에 따라 특정 상품에 대한 전체 리뷰 데이터 중 특정 주요 구절과 연관된 다른 리뷰 데이터를 필터링하는 단계;를 포함하되,
상기 주요 구절로 추출하는 것은,
BERT(Bidirectional Encoder Representations from Transformers) 모델을 이용하여 상기 하위 구절에 대한 임베딩 벡터를 생성하고, 복수의 하위 구절들 각각에 대하여 생성된 복수의 임베딩 벡터에 기초하여 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하되,
수집 대상에 대한 특정 상품에 대한 텍스트 데이터의 개수가 미리 설정된 기준값 미만으로 수집된 경우, 미리 설정된 클러스터 개수에 따라 복수의 상기 하위 구절들을 복수의 그룹으로 군집화하고,
특정 상품에 대한 텍스트 데이터의 개수가 미리 설정된 기준값 이상으로 수집된 경우, 실루엣 스코어(silhoutte score)을 이용하여 군집화할 그룹의 개수를 동적으로 결정하는 것을 특징으로 하며,
상기 관련리뷰를 필터링하는 단계는,
특정 상품에서 추출된 특정 주요 구절과 특정 상품에 대한 리뷰 데이터들로부터 추출된 하위 구절들간의 평균 임베딩 유사도를 산출하여, 미리 설정된 임계값 이상인 평균 임베딩 유사도를 갖는 하위 구절을 추출하고, 추출된 하위 구절이 포함된 리뷰 데이터를 특정 주요 구절과 연관된 리뷰 데이터로 필터링하는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 방법.
- 제9항에 있어서,
상기 주요 구절을 추출하는 단계는,
하나의 리뷰 데이터로부터 미리 설정된 구절 내 속성 중요도순에 따라 하나의 리뷰 데이터로부터 최대허용개수 미만의 하위 구절들을 추출하는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 방법.
- 제9항에 있어서,
상기 주요 구절을 추출하는 단계는,
상기 개체명 인식 모델을 통해 구절의 시작에 해당되는 단어에 제1 태그를 라벨링하고, 구절의 중간에 해당되는 단어에 제2 태그를 라벨링하며, 구절이 아닌 단어에 제3 태그를 라벨링한 후,
제1 태그가 라벨링된 하나의 단어를 하위 구절로 추출하거나,
제1 태그가 라벨링된 제1 단어와, 상기 제1 단어의 후속단어이면서 제2 태그가 라벨링된 적어도 하나의 제2단어를 묶어 하나의 하위 구절로 추출하는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 방법.
- 삭제
- 삭제
- 제9항에 있어서,
상기 주요 구절을 추출하는 단계는,
각 그룹에 포함된 복수의 임베딩 벡터로부터 어느 하나의 대표값을 추출하고, 추출된 대표값에 대응되는 하위 구절을 주요 구절로 추출하는 것을 특징으로 하는, 주요 구절 추출을 이용한 관련리뷰 필터링 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220080339A KR102520248B1 (ko) | 2022-06-30 | 2022-06-30 | 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220080339A KR102520248B1 (ko) | 2022-06-30 | 2022-06-30 | 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102520248B1 true KR102520248B1 (ko) | 2023-04-10 |
Family
ID=85984814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220080339A KR102520248B1 (ko) | 2022-06-30 | 2022-06-30 | 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102520248B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168925A (ja) * | 2011-02-11 | 2012-09-06 | Fuji Xerox Co Ltd | 商品検索装置およびプログラム |
KR20130083092A (ko) * | 2012-01-10 | 2013-07-22 | 한국과학기술연구원 | 제품 및 서비스 관련 리뷰에 대한 요약 정보 생성 시스템 및 방법 |
KR20210023452A (ko) * | 2019-08-23 | 2021-03-04 | 주식회사 리뷰쉐어 | 속성 단위 리뷰 분석 장치 및 방법 |
KR20210046594A (ko) * | 2020-04-01 | 2021-04-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 정보 푸시 방법 및 장치 |
KR20210099739A (ko) * | 2020-02-05 | 2021-08-13 | 정동윤 | 사용자 리뷰 기반 평점 재산정 장치 및 방법 |
KR20210151281A (ko) * | 2020-06-04 | 2021-12-14 | 동국대학교 산학협력단 | Bert의 문장 임베딩 벡터를 이용한 텍스트랭크 기반 핵심 문장 추출 방법 및 장치 |
-
2022
- 2022-06-30 KR KR1020220080339A patent/KR102520248B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012168925A (ja) * | 2011-02-11 | 2012-09-06 | Fuji Xerox Co Ltd | 商品検索装置およびプログラム |
KR20130083092A (ko) * | 2012-01-10 | 2013-07-22 | 한국과학기술연구원 | 제품 및 서비스 관련 리뷰에 대한 요약 정보 생성 시스템 및 방법 |
KR20210023452A (ko) * | 2019-08-23 | 2021-03-04 | 주식회사 리뷰쉐어 | 속성 단위 리뷰 분석 장치 및 방법 |
KR102310487B1 (ko) | 2019-08-23 | 2021-10-08 | 주식회사 컨슈머인텔리전스 | 속성 단위 리뷰 분석 장치 및 방법 |
KR20210099739A (ko) * | 2020-02-05 | 2021-08-13 | 정동윤 | 사용자 리뷰 기반 평점 재산정 장치 및 방법 |
KR20210046594A (ko) * | 2020-04-01 | 2021-04-28 | 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 | 정보 푸시 방법 및 장치 |
KR20210151281A (ko) * | 2020-06-04 | 2021-12-14 | 동국대학교 산학협력단 | Bert의 문장 임베딩 벡터를 이용한 텍스트랭크 기반 핵심 문장 추출 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Min et al. | You are what you eat: Exploring rich recipe information for cross-region food analysis | |
JP5824532B2 (ja) | サーフショッピングのための関連抽出のシステム及び方法 | |
CN107833082B (zh) | 一种商品图片的推荐方法和装置 | |
CN111260437B (zh) | 一种基于商品方面级情感挖掘和模糊决策的产品推荐方法 | |
KR102146152B1 (ko) | 관능 평가 방법 및 그 장치 | |
US20140229486A1 (en) | Method and apparatus for unsupervised learning of multi-resolution user profile from text analysis | |
WO2022095798A1 (zh) | 一种文案生成方法、装置、电子设备、存储介质和程序 | |
Adnan et al. | Sentiment analysis of restaurant review with classification approach in the decision tree-j48 algorithm | |
TWI645348B (zh) | 商品相關網路文章之自動圖文摘要方法及系統 | |
CN107832338A (zh) | 一种识别核心产品词的方法和系统 | |
KR101319413B1 (ko) | 제품 및 서비스 관련 리뷰에 대한 요약 정보 생성 시스템 및 방법 | |
Tama et al. | Labeling analysis in the classification of product review sentiments by using multinomial Naive Bayes algorithm | |
JP2019045902A (ja) | 情報処理システム、方法、およびプログラム | |
CN116932896A (zh) | 一种基于注意力机制的多模型融合个性化推荐架构 | |
Shin et al. | Analysis on review data of restaurants in google maps through text mining: Focusing on sentiment analysis | |
CN112989056B (zh) | 基于方面特征的虚假评论识别方法及装置 | |
CN118193806A (zh) | 一种目标检索方法、装置、电子设备及存储介质 | |
KR20230092278A (ko) | 딥러닝 기반의 사용자 세분화를 이용한 식자재 추천 방법 및 이를 위한 연산장치 | |
Hafez et al. | Multi-criteria recommendation systems to foster online grocery | |
KR102520248B1 (ko) | 주요 구절 추출을 이용한 관련리뷰 필터링 장치 및 방법 | |
KR102538519B1 (ko) | 주요 구절 추출을 이용한 관련상품 추천 장치 및 방법 | |
KR102496212B1 (ko) | 주요 구절 추출 장치 및 그 방법 | |
CN109472025B (zh) | 菜品名称提取方法及装置 | |
Abighail et al. | Sentiment Analysis E-commerce Review | |
CN101185073A (zh) | 信息处理装置和方法,以及程序存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |