KR20240082959A - Method and device for recommending serendipity books using book categories - Google Patents

Method and device for recommending serendipity books using book categories Download PDF

Info

Publication number
KR20240082959A
KR20240082959A KR1020220182146A KR20220182146A KR20240082959A KR 20240082959 A KR20240082959 A KR 20240082959A KR 1020220182146 A KR1020220182146 A KR 1020220182146A KR 20220182146 A KR20220182146 A KR 20220182146A KR 20240082959 A KR20240082959 A KR 20240082959A
Authority
KR
South Korea
Prior art keywords
book
serendipity
list
recommended
category
Prior art date
Application number
KR1020220182146A
Other languages
Korean (ko)
Inventor
김석윤
김영모
박병찬
권영선
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Publication of KR20240082959A publication Critical patent/KR20240082959A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/908Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Library & Information Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Primary Health Care (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따르면, 사용자로부터 도서 검색 키워드가 입력되면, 상기 도서 검색 키워드와 연관된 도서 검색 정보를 획득하고, 상기 사용자의 도서 사용 히스토리 정보를 획득하는 단계; 상기 도서 검색 정보 및 상기 도서 사용 히스토리 정보의 자연어 분석을 위한 데이터 전처리 결과에 기초하여 상기 사용자의 선호 도서 목록을 생성하는 단계; 상기 선호 도서 목록에 대한 딥러닝 기반 언어 모델의 자연어 분석 결과에 기초하여 순차적 추천 도서 목록을 생성하는 단계; 및 상기 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하고, 상기 세렌디피티 추천 도서 목록에 기초하여 상기 사용자에게 도서를 추천하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법이 제공될 수 있다.According to an embodiment of the present invention, when a book search keyword is input by a user, obtaining book search information associated with the book search keyword and obtaining book usage history information of the user; generating a list of preferred books of the user based on data preprocessing results for natural language analysis of the book search information and the book usage history information; generating a sequential recommended book list based on a natural language analysis result of a deep learning-based language model for the preferred book list; And generating a Serendipity recommended book list based on the similarity between the book categories of the sequential recommended book list and other book categories, and recommending books to the user based on the Serendipity recommended book list. Including, A serendipity book recommendation method using book categories may be provided.

Description

도서 카테고리를 활용한 세렌디피티 도서 추천 방법 및 장치{METHOD AND DEVICE FOR RECOMMENDING SERENDIPITY BOOKS USING BOOK CATEGORIES}Serendipity book recommendation method and device using book categories {METHOD AND DEVICE FOR RECOMMENDING SERENDIPITY BOOKS USING BOOK CATEGORIES}

본 발명은 도서 카테고리를 활용한 세렌디피티 도서 추천 방법 및 장치에 관한 것으로, 보다 상세하게는 사용자의 선호 도서에 대한 딥러닝 기반의 분석과 카테고리 유사도를 이용하여 사용자가 선호하는 도서의 카테고리와 유사한 카테고리의 도서를 추천하기 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and device for recommending serendipity books using book categories. More specifically, the present invention relates to a method and device for recommending serendipity books using book categories. More specifically, the present invention relates to a method and device for recommending books that are similar to the category of books preferred by the user by using deep learning-based analysis of the user's preferred books and category similarity. It relates to a method and device for recommending books.

최근 모바일 기기와 이동통신 환경의 발달로 인하여 모바일 환경의 플랫폼에서 다양한 제품 및 콘텐츠를 소비할 수 있게 되었다. 이에 따라 매출을 높이고 사용자 수를 증진하기 위해서 사용자의 선호도 및 과거 행동을 토대로 관심을 가질 만한 제품이나 콘텐츠를 추천하는 기술인 추천 시스템의 중요성이 커지고 있다. Recently, with the development of mobile devices and mobile communication environments, it has become possible to consume a variety of products and content on mobile platforms. Accordingly, in order to increase sales and increase the number of users, the importance of recommendation systems, a technology that recommends products or content that may be of interest based on users' preferences and past behavior, is increasing.

OTT 환경의 영화, 드라마 추천 서비스, 오픈마켓 환경의 제품 추천 서비스 그리고 동영상 공유 플랫폼 환경의 동영상 추천 서비스를 사용하여 사용자 맞춤형 추천 서비스를 제공하는 등 사용자에 맞춰 다양한 플랫폼에서 추천 서비스를 도입하고 활용하고 있으며, 활용 분야 중 도서 제품 분야에서도 도입되어 다양한 추천 서비스를 사용자에게 제공하고 있다. We are introducing and utilizing recommendation services on various platforms tailored to users, including providing user-tailored recommendation services using movie and drama recommendation services in an OTT environment, product recommendation services in an open market environment, and video recommendation services in a video sharing platform environment. , Among the fields of application, it has also been introduced in the book product field, providing various recommendation services to users.

그러나 기존 도서 추천에 적용되는 협업 필터링 알고리즘은 사용자와 아이템의 유사도에 근거하여 비슷한 취향을 가진 사람들이 선호하는 아이템을 추천하는 방식으로 사용자의 전반적인 취향을 고려한 추천을 제공할 수 있지만, 시간의 흐름에 따른 선호도 변화를 고려하지 않으므로 현재 가장 관심을 두는 상품이 무엇인지 정확히 알 수 없으며, 사용자가 자주 사용한 도서와 비슷한 유형의 도서만을 추천하여 오히려 사용 만족도가 감소하는 문제가 있다.However, the collaborative filtering algorithm applied to existing book recommendations can provide recommendations that take the user's overall taste into consideration by recommending items preferred by people with similar tastes based on the similarity between the user and the item, but over time. Because it does not take into account changes in preference, it is impossible to know exactly which product the user is most interested in, and it only recommends books of similar types to those frequently used by the user, which reduces user satisfaction.

따라서 실제 환경에 적용할 수 있는 정확한 추천을 위해서는 사용자의 과거 도서 사용 히스토리로부터 도출한 맥락적인 도서 선호 패턴을 모델링해야 한다. 그러나 추천의 정확도(accuracy) 지표에 지나치게 편중된 모델은 사용자에게 매번 똑같은 유형의 아이템을 추천하기 때문에 다양하지 않고 흥미롭지 않은 “지루한 추천”을 제공할 수 있으므로 이전에 접하지 않은 새롭고 만족스러운 아이템을 제공하는 지표인 세렌디피티(Serendipity)를 반영한 추천이 필요하다.Therefore, in order to make accurate recommendations that can be applied in real environments, contextual book preference patterns derived from the user's past book usage history must be modeled. However, models that are overly biased toward the accuracy of recommendation indicators may provide “boring recommendations” that are not diverse and interesting because they recommend the same type of item to the user every time, thereby providing new and satisfying items that have not been encountered before. Recommendations that reflect Serendipity, which is an indicator, are needed.

사용자의 구매 선호도는 시간의 흐름에 따라 변화할 수 있으며 이러한 변화는 독립적으로 발생하지 않고 사용자의 연속적인 과거 행동들에 의해서 영향을 받는다. 따라서 사용자가 사용한 도서를 각 단어로 보고 문장으로 완성하도록 한다. 이러한 문장을 이어갈 다음 단어를 추천받을 수 있도록 하는 방법으로 자연어 처리 딥러닝 모델을 사용할 수 있다. 또한, 과거에부터 연속적인 추천만을 제공하기 때문에 새로운 도서 추천을 할 수 있는 사용자의 실질적 선호도로 이어질 수 있는 의외성, 즉 세렌디피티를 반영한 도서 추천을 제공할 수 있도록 사용자가 선호하는 도서의 카테고리와 유사도가 높은 다른 카테고리의 인기 도서를 함께 추천해줄 수 있는 기술이 필요한 실정이다.A user's purchasing preferences may change over time, and these changes do not occur independently but are influenced by the user's continuous past actions. Therefore, the user looks at each word in the book used and completes it with a sentence. You can use a natural language processing deep learning model to recommend the next word to continue these sentences. In addition, since only continuous recommendations are provided from the past, the similarity with the category of the user's preferred book is used to provide book recommendations that reflect serendipity, which can lead to unexpectedness that can lead to the user's actual preference for new book recommendations, that is, serendipity. There is a need for technology that can recommend popular books in different categories.

한국공개특허공보 제10-2022-0139140호(2022.10.14)Korean Patent Publication No. 10-2022-0139140 (2022.10.14)

본 발명은 상기와 같은 문제를 해결하기 위해 안출된 것으로, 본 발명의 목적은 시간의 흐름에 따른 사용자의 선호도 변화를 고려하여 현재 가장 관심을 두는 상품이 무엇인지 정확히 알 수 있고, 이전에 접하지 않은 새롭고 만족스러운 도서 추천을 제공하는 지표인 세렌디피티를 반영한 도서 추천 방법 및 추천 장치를 제공하기 위한 것이다.The present invention was created to solve the above problems. The purpose of the present invention is to accurately know which product is of most interest by taking into account changes in user preferences over time, and to enable users to know exactly which product they are most interested in and not have previously encountered it. The purpose is to provide a book recommendation method and recommendation device that reflects serendipity, an indicator that provides new and satisfactory book recommendations.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 도서 카테고리를 활용한 세렌디피티 도서 추천 방법은, 사용자로부터 도서 검색 키워드가 입력되면, 상기 도서 검색 키워드와 연관된 도서 검색 정보를 획득하고, 상기 사용자의 도서 사용 히스토리 정보를 획득하는 단계; 상기 도서 검색 정보 및 상기 도서 사용 히스토리 정보의 데이터 전처리 결과에 기초하여 상기 사용자의 선호 도서 목록을 생성하는 단계; 상기 선호 도서 목록에 대한 딥러닝 기반의 분석에 기초하여 순차적 추천 도서 목록을 생성하는 단계; 및 상기 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하는 단계;를 포함할 수 있다.In order to achieve the above object, the serendipity book recommendation method using a book category according to an embodiment of the present invention includes, when a book search keyword is entered by a user, book search information related to the book search keyword is obtained, and the user's Obtaining book usage history information; generating a list of preferred books of the user based on data preprocessing results of the book search information and the book usage history information; Generating a sequential recommended book list based on deep learning-based analysis of the preferred book list; and generating a Serendipity recommended book list based on the similarity between the book categories of the sequential recommended book list and other book categories.

관련하여, 상기 도서 검색 정보 및 도서 사용 히스토리 정보를 획득하는 단계는 상기 도서 검색 정보에서의 검색 도서와 대응되는 식별용 메타 데이터를 획득하고, 상기 도서 사용 히스토리 정보에서의 사용 도서와 대응되는 식별용 메타 데이터를 획득하며, 상기 사용 도서에 대한 상기 사용자의 로그 정보를 포함하는 사용 도서 메타 데이터를 획득하는 단계;를 더 포함할 수 있다.In relation to this, the step of acquiring the book search information and book usage history information includes obtaining metadata for identification corresponding to the searched book in the book search information, and identifying metadata corresponding to the book used in the book usage history information. It may further include obtaining metadata, and obtaining used book metadata including the user's log information for the used book.

또한, 상기 식별용 메타 데이터는 상기 검색 도서 및 상기 사용 도서에 대한 도서 코드, 파일명, 도서명, 부제목, ISBN, 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 포함할 수 있다.Additionally, the identification metadata may include at least one of a book code, file name, book name, subtitle, ISBN, book category, author name, and publication year for the searched book and the used book.

또한, 상기 사용 도서 메타 데이터는 상기 사용 도서를 사용한 상기 사용자 및 상기 사용 도서의 식별을 위한 사용자 정보와, 상기 사용 도서에 대한 상기 사용자의 평가를 나타내는 평가 정보를 포함하고, 상기 사용자 정보는 사용자 코드, 도서 코드, 도서 카테고리 및 사용 일자 중 적어도 하나를 포함하고, 상기 평가 정보는 상기 사용 도서의 사용 형태 및 사용자 평점 중 적어도 하나를 포함할 수 있다.In addition, the used book metadata includes user information for identification of the user who used the used book and the used book, and evaluation information indicating the user's evaluation of the used book, and the user information includes a user code , includes at least one of a book code, a book category, and a usage date, and the evaluation information may include at least one of a usage type and a user rating of the used book.

한편, 상기 선호 도서 목록을 생성하는 단계는, 상기 사용 도서 메타 데이터에 기초하여 상기 사용 도서의 상기 사용 형태를 조회 또는 구매 중 어느 하나로 결정하는 단계; 상기 사용 형태에 기초하여 상기 사용 도서 중 적어도 하나를 선호 도서로 선별하기 위한 정규화를 수행하는 단계; 및 상기 정규화 결과에 따라 결정된 상기 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는 단계;를 포함할 수 있다.Meanwhile, the step of generating the preferred book list includes determining the usage type of the used book as either inquiry or purchase based on the used book metadata; performing normalization to select at least one of the used books as a preferred book based on the usage type; and generating the preferred book list based on the preferred books determined according to the normalization result.

관련하여, 상기 정규화를 수행하는 단계는 상기 사용 형태가 상기 조회인 상기 사용 도서를 상기 선호 도서로 결정하는 단계; 및 상기 사용 형태가 상기 구매인 상기 사용 도서에 대한 사용자 평점이 평균 평점보다 높은 경우 상기 사용 도서를 상기 선호 도서로 결정하는 단계;를 포함할 수 있다.In relation to this, the step of performing the normalization includes determining the used book whose usage type is the inquiry as the preferred book; and determining the used book as the preferred book when the user rating for the used book in which the usage type is the purchase is higher than the average rating.

또한, 상기 선호 도서 목록을 생성하는 단계는 상기 사용 도서 메타 데이터에 따른 사용자 코드로 상기 선호 도서를 그룹화하는 단계; 그룹화된 선호 도서를 사용 일자 순서로 정렬하는 단계; 및 상기 사용 일자 순서로 정렬된 상기 그룹화된 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는 단계;를 포함할 수 있다.In addition, generating the preferred book list includes grouping the preferred books with user codes according to the used book metadata; Sorting grouped favorite books in order of date of use; and generating the preferred book list based on the grouped preferred books sorted in order of date of use.

한편, 상기 순차적 추천 도서 목록을 생성하는 단계는 선호 도서의 식별용 메타 데이터에 포함되는 단어에서 문장 형식으로 연속되는 다음 단어를 도출하는 상기 딥러닝 기반의 분석에 기초하여, 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서의 확률값을 산출하는 단계; 상기 산출된 확률값이 높은 순서대로 정렬하여 상기 순차적 추천 도서 목록을 생성하는 단계;를 포함하고, 상기 확률값은 상기 사용자가 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서에 대해 최우선으로 선택할 확률을 나타내는 값일 수 있다.Meanwhile, the step of generating the sequential recommended book list is based on the deep learning-based analysis of deriving the next consecutive word in sentence form from the words included in the metadata for identification of the preferred book, and included in the preferred book list. Calculating a probability value of one or more books that have not been published; generating the sequential list of recommended books by sorting them in descending order of the calculated probability value, wherein the probability value is a value representing the probability that the user selects one or more books that are not included in the preferred book list as the highest priority. You can.

또한, 상기 세렌디피티 추천 도서 목록을 생성하는 단계는 상기 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리를 획득하는 단계; 상기 순차적 추천 도서의 도서 카테고리와 유사도가 기설정 값 이상인 유사 도서 카테고리를 결정하는 단계; 및 상기 유사 도서 카테고리에 대응하는 하나 이상의 도서를 판매량이 높은 순서로 정렬하여 상기 세렌디피티 추천 도서 목록을 생성하는 단계;를 포함할 수 있다.In addition, the step of generating the serendipity recommended book list includes obtaining book categories of sequential recommended books from the highest to a preset ranking among the sequential recommended book list; determining a similar book category whose similarity to the book category of the sequentially recommended books is greater than or equal to a preset value; and sorting one or more books corresponding to the similar book category in order of highest sales volume to generate the serendipity recommended book list.

관련하여, 상기 유사 도서 카테고리를 결정하는 단계는 상기 순차적 추천 도서의 도서 카테고리를 포함하는 하나 이상의 카테고리의 도서에 대한 복수의 사용자들의 사용 횟수를 획득하는 단계; 상기 하나 이상의 카테고리, 상기 복수의 사용자의 사용자 코드 및 상기 사용 횟수에 기초하여 행렬을 구성하는 단계; 상기 행렬에 코사인 유사도 함수를 적용하여 상기 하나 이상의 카테고리 간의 유사도를 결정하는 단계; 및 상기 유사도에 기초하여 상기 유사 도서 카테고리를 결정하는 단계;를 포함할 수 있다.In relation to this, the step of determining the similar book category includes obtaining the number of uses of a plurality of users for books in one or more categories including the book category of the sequentially recommended books; Constructing a matrix based on the one or more categories, user codes of the plurality of users, and the number of uses; determining similarity between the one or more categories by applying a cosine similarity function to the matrix; and determining the similar book category based on the similarity.

한편, 상기 순차적 추천 도서 목록 및 상기 세렌디피티 추천 도서 목록 중 적어도 하나에 기초하여 상기 사용자에게 도서를 추천하는 단계;를 더 포함할 수 있다.Meanwhile, the method may further include recommending a book to the user based on at least one of the sequential recommended book list and the serendipity recommended book list.

본 발명의 다른 실시예에 따른 도서 카테고리를 활용한 세렌디피티 도서 추천 장치는, 사용자로부터 도서 검색 키워드를 입력받는 입력부; 상기 사용자로부터 상기 도서 검색 키워드가 입력되면, 상기 도서 검색 키워드와 연관된 도서 검색 정보를 획득하고, 상기 사용자의 도서 사용 히스토리 정보를 획득하는 통신부; 상기 도서 검색 정보 및 상기 도서 사용 히스토리 정보의 데이터 전처리 결과에 기초하여 상기 사용자의 선호 도서 목록을 생성하는 선호 도서 목록 생성부; 상기 선호 도서 목록에 대한 딥러닝 기반의 분석에 기초하여 순차적 추천 도서 목록을 생성하는 순차적 추천 도서 목록 생성부; 및 상기 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하는 세렌디피티 추천 도서 목록 생성부;를 포함할 수 있다.A serendipity book recommendation device using a book category according to another embodiment of the present invention includes an input unit that receives a book search keyword from a user; When the book search keyword is input from the user, a communication unit that obtains book search information related to the book search keyword and obtains book usage history information of the user; a preferred book list generator that generates the user's preferred book list based on data preprocessing results of the book search information and the book usage history information; A sequential recommended book list generator that generates a sequential recommended book list based on deep learning-based analysis of the preferred book list; and a Serendipity recommended book list generator that generates a Serendipity recommended book list based on the similarity between the book categories of the sequential recommended book list and other book categories.

관련하여, 상기 통신부는 상기 도서 검색 정보에서의 검색 도서와 대응되는 식별용 메타 데이터를 획득하고, 상기 도서 사용 히스토리 정보에서의 사용 도서와 대응되는 식별용 메타 데이터를 획득하며, 상기 사용 도서에 대한 상기 사용자의 로그 정보를 포함하는 사용 도서 메타 데이터를 획득할 수 있다.In relation to this, the communication unit acquires metadata for identification corresponding to the searched book in the book search information, acquires metadata for identification corresponding to the used book in the book usage history information, and provides information about the used book. Used book metadata including the user's log information can be obtained.

여기서, 상기 식별용 메타 데이터는 상기 검색 도서 및 상기 사용 도서에 대한 도서 코드, 파일명, 도서명, 부제목, ISBN, 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 포함할 수 있다.Here, the identification metadata may include at least one of a book code, file name, book name, subtitle, ISBN, book category, author name, and publication year for the searched book and the used book.

또한, 상기 사용 도서 메타 데이터는 상기 사용 도서를 사용한 상기 사용자 및 상기 사용 도서의 식별을 위한 사용자 정보와, 상기 사용 도서에 대한 상기 사용자의 평가를 나타내는 평가 정보를 포함하고, 상기 사용자 정보는 사용자 코드, 도서 코드, 도서 카테고리 및 사용 일자 중 적어도 하나를 포함하고, 상기 평가 정보는 상기 사용 도서의 사용 형태 및 사용자 평점 중 적어도 하나를 포함할 수 있다.In addition, the used book metadata includes user information for identification of the user who used the used book and the used book, and evaluation information indicating the user's evaluation of the used book, and the user information includes a user code , includes at least one of a book code, a book category, and a usage date, and the evaluation information may include at least one of a usage type and a user rating of the used book.

한편, 상기 선호 도서 목록 생성부는 상기 사용 도서 메타 데이터에 기초하여 상기 사용 도서의 상기 사용 형태를 조회 또는 구매 중 어느 하나로 결정하고, 상기 사용 형태에 기초하여 상기 사용 도서 중 적어도 하나를 선호 도서로 선별하기 위한 정규화를 수행하고, 상기 정규화 결과에 따라 결정된 상기 선호 도서에 기초하여 상기 선호 도서 목록을 생성할 수 있다.Meanwhile, the preferred book list generator determines the usage type of the used book as either inquiry or purchase based on the used book metadata, and selects at least one of the used books as a preferred book based on the usage type. Normalization may be performed to do so, and the preferred book list may be created based on the preferred books determined according to the normalization result.

또한, 상기 선호 도서 목록 생성부는 상기 사용 형태가 상기 조회인 상기 사용 도서를 상기 선호 도서로 결정하고, 상기 사용 형태가 상기 구매인 상기 사용 도서에 대한 사용자 평점이 평균 평점보다 높은 경우 상기 사용 도서를 상기 선호 도서로 결정할 수 있다.In addition, the preferred book list generator determines the used book whose usage type is the inquiry as the preferred book, and when the user rating for the used book whose usage type is the purchase is higher than the average rating, the used book You can decide on the above preferred books.

또한, 상기 선호 도서 목록 생성부는 상기 사용 도서 메타 데이터에 따른 사용자 코드로 상기 선호 도서를 그룹화하고, 그룹화된 선호 도서를 사용 일자 순서로 정렬하고, 상기 사용 일자 순서로 정렬된 상기 그룹화된 선호 도서에 기초하여 상기 선호 도서 목록을 생성할 수 있다.In addition, the preferred book list generator groups the preferred books with user codes according to the used book metadata, sorts the grouped preferred books in order of use date, and adds the grouped preferred books sorted in order of use date. Based on this, the preferred book list can be created.

한편, 상기 순차적 추천 도서 목록 생성부는 선호 도서의 식별용 메타 데이터에 포함되는 단어에서 문장 형식으로 연속되는 다음 단어를 도출하는 상기 딥러닝 기반의 분석에 기초하여, 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서의 확률값을 산출하고, 상기 산출된 확률값이 높은 순서대로 정렬하여 상기 순차적 추천 도서 목록을 생성하되, 상기 확률값은 상기 사용자가 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서에 대해 최우선으로 선택할 확률을 나타내는 값일 수 있다.Meanwhile, the sequential recommended book list generator generates the next consecutive word in the form of a sentence from the words included in the metadata for identification of the preferred book, based on the deep learning-based analysis, one not included in the preferred book list. Probability values of the above books are calculated, and the calculated probability values are sorted in descending order to generate the sequential recommended book list, wherein the probability value is the probability that the user selects one or more books that are not included in the preferred book list as the highest priority. It may be a value representing .

또한, 상기 세렌디피티 추천 도서 목록 생성부는 상기 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리를 획득하고, 상기 순차적 추천 도서의 도서 카테고리와 유사도가 기설정 값 이상인 유사 도서 카테고리를 결정하고, 상기 유사 도서 카테고리에 대응하는 하나 이상의 도서를 판매량이 높은 순서로 정렬하여 상기 세렌디피티 추천 도서 목록을 생성할 수 있다.In addition, the serendipity recommended book list generator acquires book categories of sequential recommended books from the top to a preset rank among the sequential recommended book list, and creates a similar book category whose similarity to the book category of the sequential recommended books is more than a preset value. The serendipity recommended book list can be generated by sorting one or more books corresponding to the similar book category in order of highest sales volume.

관련하여, 상기 세렌디피티 추천 도서 목록 생성부는 상기 순차적 추천 도서의 도서 카테고리를 포함하는 하나 이상의 카테고리의 도서에 대한 복수의 사용자들의 사용 횟수를 획득하고, 상기 하나 이상의 카테고리, 상기 복수의 사용자의 사용자 코드 및 상기 사용 횟수에 기초하여 행렬을 구성하고, 상기 행렬에 코사인 유사도 함수를 적용하여 상기 하나 이상의 카테고리 간의 유사도를 결정하고, 상기 유사도에 기초하여 상기 유사 도서 카테고리를 결정할 수 있다.In relation to this, the serendipity recommended book list generator obtains the number of uses of a plurality of users for books in one or more categories including book categories of the sequentially recommended books, the one or more categories, user codes of the plurality of users, and A matrix may be constructed based on the number of uses, a cosine similarity function may be applied to the matrix to determine similarity between the one or more categories, and the similar book category may be determined based on the similarity.

한편, 세렌디피티 도서 추천 장치는 상기 순차적 추천 도서 목록 및 상기 세렌디피티 추천 도서 목록 중 적어도 하나에 기초하여 상기 사용자에게 도서를 추천하는 도서 추천부;를 더 포함할 수 있다.Meanwhile, the serendipity book recommendation device may further include a book recommendation unit that recommends books to the user based on at least one of the sequential recommended book list and the serendipity recommended book list.

상술한 본 발명의 일측면에 따르면, 시간의 흐름에 따른 사용자의 선호도 변화를 고려하여 현재 가장 선호하는 도서가 무엇인지 정확히 알 수 있고, 이전에 접하지 않은 새롭고 만족스러운 도서 추천 지표인 세렌디피티를 반영한 도서 추천을 제공할 수 있다.According to one aspect of the present invention described above, it is possible to know exactly what the currently most preferred book is by considering changes in the user's preferences over time, and to reflect serendipity, which is a new and satisfactory book recommendation indicator that has not been encountered before. Can provide book recommendations.

도 1은 본 발명의 일 실시예에 따른 세렌디피티 도서 추천 장치의 개략적인 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 세렌디피티 도서 추천 방법의 각 단계를 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 전처리 결과에 기초하여 선호 도서 목록을 생성하는 각 단계를 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 순차적 추천 도서 목록 생성 과정을 개략적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 세렌디피티 추천 도서 목록 생성 과정을 개략적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 유사 도서 카테고리를 결정하기 위해 구성되는 행렬을 개략적으로 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 유사 도서 카테고리가 결정되는 예를 개략적으로 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따라 생성되는 사용자의 선호 도서 카테고리를 개략적으로 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따라 생성되는 순차적 추천 도서 카테고리를 개략적으로 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따라 결정되는 유사 도서 카테고리를 개략적으로 도시한 도면이다.
Figure 1 is a block diagram showing the schematic configuration of a serendipity book recommendation device according to an embodiment of the present invention.
Figure 2 is a flowchart showing each step of the Serendipity book recommendation method according to an embodiment of the present invention.
Figure 3 is a flowchart showing each step of generating a preferred book list based on data preprocessing results according to an embodiment of the present invention.
Figure 4 is a diagram schematically showing a sequential recommended book list creation process according to an embodiment of the present invention.
Figure 5 is a diagram schematically showing the process of generating a Serendipity recommended book list according to an embodiment of the present invention.
Figure 6 is a diagram schematically showing a matrix configured to determine similar book categories according to an embodiment of the present invention.
Figure 7 is a diagram schematically showing an example of determining a similar book category according to an embodiment of the present invention.
Figure 8 is a diagram schematically showing a user's preferred book category created according to an embodiment of the present invention.
Figure 9 is a diagram schematically showing sequential recommended book categories created according to an embodiment of the present invention.
Figure 10 is a diagram schematically showing similar book categories determined according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The detailed description of the invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented in one embodiment without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. Accordingly, the detailed description that follows is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, together with all equivalents to what those claims assert, if properly described. Similar reference numbers in the drawings refer to identical or similar functions across various aspects.

이하에서는 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 세렌디피티 도서 추천 장치(100)의 개략적인 구성을 도시한 블록도이다.Figure 1 is a block diagram showing the schematic configuration of a serendipity book recommendation device 100 according to an embodiment of the present invention.

도 1을 참조하면, 세렌디피티 도서 추천 장치(100)는 입력부(110), 통신부(120), 선호 도서 목록 생성부(130), 순차적 추천 도서 목록 생성부(140), 세렌디피티 추천 도서 목록 생성부(150) 및 도서 추천부(160)를 포함할 수 있다.Referring to FIG. 1, the Serendipity book recommendation device 100 includes an input unit 110, a communication unit 120, a preferred book list generator 130, a sequential recommended book list generator 140, and a Serendipity recommended book list generator ( 150) and a book recommendation unit 160.

도 1에 도시된 세렌디피티 도서 추천 장치(100)의 구성 요소들은 유선 또는 무선으로 연결되어 상호 유기적으로 동작할 수 있고, 세렌디피티 도서 추천 장치(100)의 내측에 구비되거나 외측에 개별적으로 구비될 수 있다. The components of the Serendipity book recommendation device 100 shown in FIG. 1 may be connected wired or wirelessly to operate organically with each other, and may be provided inside or individually outside the Serendipity book recommendation device 100. .

관련하여, 본 발명에서 언급하는 ‘세렌디피티(Serendipity)’는 사전적 정의로 ‘예상치 못한 행복한 발견’으로써, 뜻밖의 발견이나 만남, 행운이 섞인 발명 등 ‘의외성’을 의미하는 뜻으로 널리 사용되고 있다. 이러한 세렌디피티는 학술적으로 인문학, 자연과학, 사회과학, 공학 등에서 다양한 학문 분야에서 사용되고 있으며 창의성이 필요한 문제가 발생했을 때 사용되는 새로운 학문으로 사용하고 있다.In relation to this, 'Serendipity' mentioned in the present invention is a dictionary definition of 'unexpected happy discovery' and is widely used to mean 'unexpectedness' such as an unexpected discovery, meeting, or lucky invention. . This serendipity is academically used in various academic fields such as humanities, natural sciences, social sciences, and engineering, and is used as a new discipline used when problems requiring creativity arise.

따라서, 본 발명에서 언급하는 ‘세렌디피티 추천 도서’는 사용자가 선호하는 도서 카테고리에 대한 의외성이 반영된 유사 카테고리의 추천 도서라는 의미로 이해될 수 있다.Therefore, the ‘serendipity recommended book’ referred to in the present invention can be understood to mean a recommended book in a similar category that reflects the unexpectedness of the user's preferred book category.

그리고, 세렌디피티 도서 추천 장치(100)는, 휴대성과 이동성이 보장되는 무선 통신 장치 및 UAV(Unmanned Aerial Vehicle) 등으로 마련될 수 있고, 이러한 무선 통신 장치는 PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Celluar), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트패드(smartpad), 태블릿 PC, VR(Virtual Reality)기기, HMD(Head Mounted Display) 등과 같은 모든 종류의 핸드헬드(Handheld)기반의 무선 통신 장치가 포함될 수 있으나, 이에 한정되지 않는다.In addition, the serendipity book recommendation device 100 may be equipped with a wireless communication device and a UAV (Unmanned Aerial Vehicle) that guarantees portability and mobility, and such wireless communication devices include Personal Communication System (PCS) and Global System (GSM). for Mobile communications), PDC (Personal Digital Celluar), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-CDMA) -Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminal, smartphone, smartpad, tablet PC, VR (Virtual Reality) device, HMD (Head Mounted Display), etc. All types of handhelds (Handheld)-based wireless communication devices may be included, but are not limited to this.

이하에서는 일 실시예에 따른 세렌디피티 도서 추천 장치(100)가 독립적으로 사용자에게 도서를 추천하는 실시예를 중심으로 서술하도록 하지만, 서버(예: 도서 검색 플랫폼 서버)와의 연동을 통해 실시예들을 수행할 수도 있다.Hereinafter, the description will focus on an embodiment in which the serendipity book recommendation device 100 according to an embodiment independently recommends books to a user, but the embodiments may be performed through linkage with a server (e.g., a book search platform server). It may be possible.

즉, 일 실시예에 따른 세렌디피티 도서 추천 장치(100)와 서버는 그 기능의 측면에서 통합 구현될 수 있고, 서버는 생략될 수도 있으며, 어느 하나의 실시예에 제한되지 않음을 알 수 있다.In other words, the Serendipity book recommendation device 100 and the server according to one embodiment may be integrated in terms of their functions, and the server may be omitted, and it can be seen that the present invention is not limited to any one embodiment.

이상에서 언급한 세렌디피티 도서 추천 장치(100) 및 그 구성 요소들의 동작과 관련된 다양한 실시예들은 이하의 도면들을 참조하여 후술하기로 한다.Various embodiments related to the operation of the serendipity book recommendation device 100 and its components mentioned above will be described later with reference to the drawings below.

도 2는 본 발명의 일 실시예에 따른 세렌디피티 도서 추천 방법의 각 단계를 도시한 흐름도이다.Figure 2 is a flowchart showing each step of the Serendipity book recommendation method according to an embodiment of the present invention.

우선, 실시예에 따른 입력부는 사용자로부터 도서 검색 키워드를 입력 받을 수 있다. 예를 들면 도서 검색 키워드는 사용자가 검색하고자 하는 도서의 도서명, 저자명, 도서 코드 등의 키워드일 수 있다.First, the input unit according to the embodiment may receive a book search keyword input from the user. For example, book search keywords may be keywords such as the book name, author name, or book code of the book that the user wishes to search.

이어서, 단계 S210에서 실시예에 따른 통신부는 사용자로부터 도서 검색 키워드가 입력부를 통해 입력되면, 도서 검색 키워드와 관련된 도서 검색 정보를 획득하고, 사용자의 도서 사용 히스토리 정보를 획득할 수 있다. 도서 검색 정보는 세렌디피티 도서 추천 장치와 관련된 서버의 도서 DB로부터 획득될 수 있고, 도서 사용 히스토리는 세렌디피티 도서 추천 장치에 포함되는 메모리(미도시) 또는 관련된 서버의 로그 DB로부터 획득될 수 있다.Next, in step S210, when a book search keyword is input from the user through the input unit, the communication unit according to the embodiment may obtain book search information related to the book search keyword and obtain the user's book usage history information. Book search information may be obtained from a book DB of a server related to the Serendipity book recommendation device, and book usage history may be obtained from a memory (not shown) included in the Serendipity book recommendation device or a log DB of a related server.

예를 들면, 도서 검색 정보는 도서 검색 키워드와 대응하는 검색 도서의 도서명, 저자명, 도서 코드 등 사용자의 도서 검색 결과를 나타낼 수 있다. 또한, 도서 사용 히스토리 정보는 사용자가 특정 시점의 과거부터 현재까지 사용했던 사용 도서의 식별을 위한 정보와, 사용자의 평가를 나타내는 평가 정보를 포함할 수 있다. 도서 검색 정보 및 도서 사용 히스토리 정보는 사용자의 현재 및 과거의 도서 선호도를 판단하기 위해 활용되는 정보일 수 있다.For example, book search information may indicate the user's book search results, such as the book name, author name, and book code of the searched book corresponding to the book search keyword. Additionally, the book usage history information may include information for identifying books that the user has used from the past to the present at a specific point in time, and evaluation information indicating the user's evaluation. Book search information and book usage history information may be information used to determine the user's current and past book preferences.

또한, 통신부는 도서 검색 정보에서의 검색 도서와 대응되는 식별용 메타 데이터를 획득하고, 도서 사용 히스토리 정보에서의 사용 도서와 대응되는 식별용 메타 데이터를 획득하며, 사용 도서에 대한 사용자의 로그 정보를 포함하는 사용 도서 메타 데이터를 획득할 수 있다.In addition, the Department of Communications acquires metadata for identification corresponding to the searched book in the book search information, obtains metadata for identification corresponding to the used book in the book usage history information, and collects user log information about the used book. Used book metadata can be obtained, including:

예를 들어, 검색 도서 및 사용 도서에 대한 식별용 메타 데이터는 도서 코드(도서 저작물을 식별할 수 있도록 UCI-RA에서 발급한 식별자 코드인 UCI(Universal Content Identifier)), 파일명, 도서명, 부제목, ISBN(국제 표준 도서 번호, International Standard Book Number), 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 포함할 수 있다.For example, identifying metadata for searched and used books includes book code (Universal Content Identifier (UCI), an identifier code issued by UCI-RA to identify book works), file name, book name, subtitle, and ISBN. It may include at least one of (International Standard Book Number), book category, author name, and publication year.

또한, 사용 도서에 대한 사용 도서 메타 데이터는 사용 도서를 사용한 사용자 및 사용 도서의 식별을 위한 사용자 정보와, 사용 도서에 대한 사용자의 평가를 나타내는 평가 정보를 포함할 수 있다.Additionally, used book metadata for a used book may include user information for identifying the user who used the used book and the used book, and evaluation information indicating the user's evaluation of the used book.

구체적으로, 사용자 정보는 사용자 코드, 도서 코드, 도서 카테고리 및 사용 일자 중 적어도 하나를 포함할 수 있고, 평가 정보는 사용 도서의 사용 형태 및 사용자 평점 중 적어도 하나를 포함할 수 있다. 여기서, 사용 도서의 사용 형태는 조회 또는 구매 중 어느 하나일 수 있다.Specifically, the user information may include at least one of a user code, a book code, a book category, and a date of use, and the evaluation information may include at least one of the usage type and user rating of the used book. Here, the form of use of the used book may be either inquiry or purchase.

한편, 단계 S220에서 도서 검색 정보 및 도서 사용 히스토리 정보의 데이터 전처리 결과에 기초하여 사용자의 선호 도서 목록을 생성할 수 있다. Meanwhile, in step S220, the user's preferred book list may be generated based on the data preprocessing results of the book search information and book usage history information.

이와 관련하여 보다 상세한 설명을 위해 도 3 및 도 8을 참조하여 설명하기로 한다.For a more detailed explanation in this regard, the description will be made with reference to FIGS. 3 and 8.

도 3은 본 발명의 일 실시예에 따른 데이터 전처리 결과에 기초하여 선호 도서 목록을 생성하는 각 단계를 도시한 흐름도이다.Figure 3 is a flowchart showing each step of generating a preferred book list based on data preprocessing results according to an embodiment of the present invention.

도 3의 단계 S310에서 선호 도서 목록 생성부는 사용 도서 메타 데이터에 따른 사용 도서의 사용 형태를 조회 또는 구매 중 어느 하나로 결정할 수 있다. 여기서, 사용 형태가 조회인 사용 도서는 웹사이트에서 제공되는 사용 도서의 정보를 확인하기 위해 사용자의 단순 클릭 동작 등에 의해 조회된 사용 도서일 수 있고, 사용 형태가 구매인 사용 도서는 웹사이트에서 제공되는 사용 도서를 구매한 것일 수 있다.In step S310 of FIG. 3, the preferred book list creation unit may determine the usage type of the used book according to the used book metadata as either inquiry or purchase. Here, a used book with a usage type of inquiry may be a used book that has been viewed by the user's simple click action to check information on the used book provided on the website, and a used book with a usage type of purchase may be a used book provided by the website. You may have purchased a used book.

선호 도서 목록 생성부는 사용 도서의 사용 형태가 구매인지 여부를 결정하고, 사용 형태가 조회인 경우 단계 S321과 같이 사용자가 선호하는 도서인 것으로 판단하여 선호도 값을 1로 결정하고, 해당 사용 도서를 선호 도서로 결정할 수 있다.The preferred book list creation unit determines whether the usage type of the used book is purchase, and if the usage type is inquiry, determines that the book is preferred by the user as in step S321, determines the preference value as 1, and prefers the used book. You can decide with the book.

한편, 선호 도서 목록 생성부는 사용 도서의 사용 형태가 구매인 경우, 단계 S320과 같이 사용 도서에 대한 평균 평점을 계산하고, 단계 S330과 같이 사용 도서에 대한 사용자 평점을 확인할 수 있다.Meanwhile, if the usage type of the used book is purchase, the preferred book list generator may calculate the average rating for the used book in step S320 and check the user rating for the used book in step S330.

여기서, 사용자 평점이 평균 평점보다 크거나 같은 경우, 해당 도서는 사용자가 선호하는 도서인 것으로 판단하여 단계 S321과 같이 선호도 값을 1로 결정하고, 만약 사용자 평점이 평균 평점보다 작은 경우, 단계 S340과 같이 해당 도서의 선호도 값은 0으로 결정될 수 있다. 선호도 값이 0인 사용 도서는 전체 도서 정규화 단계에서 선호 도서로 선별되지 않을 수 있다.Here, if the user rating is greater than or equal to the average rating, the book is determined to be the user's preferred book and the preference value is determined to be 1 in step S321, and if the user rating is less than the average rating, step S340 and Likewise, the preference value of the book may be determined to be 0. Used books with a preference value of 0 may not be selected as preferred books in the overall book normalization step.

이후, 단계 S350에서 선호 도서 목록 생성부는 단계 S310 내지 S340에 따른 정규화를 수행하여 선호 도서를 결정하고, 사용 도서 메타 데이터에 따른 사용자 코드로 선호 도서를 그룹화할 수 있다. 이후, 단계 S360에서 선호 도서 목록 생성부는 그룹화된 선호 도서를 사용 일자 순서로 정렬하고, 단계 S370에서 선호 도서 목록 생성부는 사용 일자 순서로 정렬된 그룹화된 선호 도서에 기초하여 선호 도서 목록을 생성할 수 있다.Thereafter, in step S350, the preferred book list generator may perform normalization according to steps S310 to S340 to determine preferred books, and group the preferred books with user codes according to used book metadata. Thereafter, in step S360, the preferred book list creation unit sorts the grouped favorite books in order of usage date, and in step S370, the favorite book list creation unit may create a favorite book list based on the grouped favorite books sorted in usage date order. there is.

이어서, 단계 S230에서 순차적 추천 도서 목록 생성부는 선호 도서 목록에 대한 딥러닝 기반 언어 모델의 자연어 분석 결과에 기초하여 순차적 추천 도서 목록을 생성할 수 있다. 이에 대해서 도 4를 함께 참조하여 설명하도록 한다.Subsequently, in step S230, the sequential recommended book list generator may generate a sequential recommended book list based on the natural language analysis results of a deep learning-based language model for the preferred book list. This will be explained with reference to Figure 4.

도 4는 본 발명의 일 실시예에 따른 순차적 추천 도서 목록 생성 과정을 개략적으로 도시한 도면이다.Figure 4 is a diagram schematically showing a sequential recommended book list creation process according to an embodiment of the present invention.

도 4를 참조하면, 순차적 추천 도서 목록 생성 과정에는 선호 도서 목록에 대한 딥러닝 기반의 분석이 수행될 수 있다. 예를 들면, 선호 도서의 식별용 메타 데이터에 포함되는 단어에서 문장 형식으로 연속되는 다음 단어를 도출하는 자연어 처리 딥러닝 모델을 통해 딥러닝 기반의 분석이 수행될 수 있다. 구체적으로, 자연어 처리 딥러닝 모델은 순차적 추천 도서 목록 생성부(140)에 포함될 수 있고, 일 예로 BERT(Bidirectional Encoder Representations from Transformers)의 마스크드 언어 모델(Masked Language Model, MLM)이 사용될 수 있다.Referring to Figure 4, deep learning-based analysis of the preferred book list may be performed in the sequential process of generating the recommended book list. For example, deep learning-based analysis can be performed through a natural language processing deep learning model that derives the next consecutive word in sentence form from words included in metadata for identification of preferred books. Specifically, a natural language processing deep learning model may be included in the sequential recommended book list generator 140, and as an example, the Masked Language Model (MLM) of BERT (Bidirectional Encoder Representations from Transformers) may be used.

순차적 추천 도서 목록의 생성 과정에서 사용되는 식별용 메타 데이터, 사용 도서 메타 데이터는 도서 DB(420) 및 로그 DB(410)로부터 획득될 수 있다.Identification metadata and used book metadata used in the process of generating a sequential recommended book list can be obtained from the book DB 420 and the log DB 410.

순차적 추천 도서 목록 생성부(140)는 이러한 자연어 처리 딥러닝 모델을 이용하여 식별용 메타 데이터에 따른 단어를 문장으로 완성하고, 완성된 문장을 자연스럽게 이어갈 수 있는 단어를 선별할 수 있다.The sequential recommended book list generator 140 can use this natural language processing deep learning model to complete words according to metadata for identification into sentences and select words that can naturally continue the completed sentences.

구체적으로, 자연어 처리 딥러닝 모델은 문장을 자연스럽게 이어갈 단어를 선별하는 사전 학습이 수행된 모델일 수 있다. 사전 학습은 대용량의 레이블링 되지 않은(unlabeled) 텍스트 데이터(예: 식별용 메타 데이터)를 사용하는 학습일 수 있다. 자연어 처리 딥러닝 모델은 이를 토대로 문서 분류, 질의응답, 번역 등 특정 자연어 처리 작업을 위해서 추가 훈련과 함께 하이퍼 파라미터를 재조정하는 미세 조정(Fine tuning) 작업을 수행하는 방식을 따르게 된다.Specifically, a natural language processing deep learning model may be a model that has undergone prior learning to select words that will naturally continue sentences. Dictionary training can be training using large amounts of unlabeled text data (e.g., metadata for identification). Based on this, the natural language processing deep learning model follows a method of performing additional training and fine tuning to readjust hyper parameters for specific natural language processing tasks such as document classification, question answering, and translation.

더욱 자세하게, 자연어 처리 딥러닝 모델의 사전 학습 방법은 예를 들어 마스크드 언어 모델과 다음 문장 예측(Next Sentence Prediction, NSP)의 두 가지로 나뉜다. In more detail, dictionary learning methods for natural language processing deep learning models are divided into two types, for example, masked language model and Next Sentence Prediction (NSP).

마스크드 언어 모델은 입력 문장의 각 단어 토큰의 15%를 임의로 [MASK] 토큰으로 치환한 후, 자연어 처리 딥러닝 모델이 마스킹한 단어를 예측하도록 학습된다. 예를 들어, “How are you doing today”라는 원본 문장에서 단어 “you”를 마스킹하여 “How are you [MASK] today”를 입력한다면 자연어 처리 딥러닝 모델은 마스킹한 단어의 원본 단어가 “you”임을 예측할 수 있도록 학습된다. 이때, 파인 튜닝 단계에서는 [MASK] 토큰이 나타나지 않으므로 [MASK] 토큰만 사용할 경우 사전 학습과 미세 조정에서의 학습 불일치가 발생할 수 있다. 따라서 [MASK] 토큰으로 치환 대상이 되는 단어는 (1) 80% 확률로 [MASK] 토큰 (2) 10% 확률로 임의의 다른 단어 (3) 10% 확률로 원본 단어 그대로 치환된다.The masked language model randomly replaces 15% of each word token in the input sentence with [MASK] tokens, and is then trained to predict the words masked by the natural language processing deep learning model. For example, if you mask the word “you” in the original sentence “How are you doing today” and enter “How are you [MASK] today”, the natural language processing deep learning model will determine that the original word of the masked word is “you”. is learned to predict. At this time, since the [MASK] token does not appear in the fine tuning stage, if only the [MASK] token is used, a learning discrepancy may occur between pre-learning and fine-tuning. Therefore, the word that is subject to substitution with the [MASK] token is replaced with (1) a [MASK] token with an 80% probability, (2) a random word with a 10% probability, and (3) the original word with a 10% probability.

다음 문장 예측 모델은 50:50 비율로 실제 이어지는 두 개의 문장과 무작위로 이어붙인 두 개의 문장을 주고, [SEP] 토큰으로 구분된 두 문장이 서로 이어지는 문장인지 아닌지를 맞추도록 학습할 수 있다.The next sentence prediction model is given two actual consecutive sentences and two randomly concatenated sentences in a 50:50 ratio, and can learn to guess whether the two sentences separated by the [SEP] token are consecutive sentences.

예를 들어 자연어 처리 딥러닝 모델은, ”The dog sleeps“, ”It snores loudly“의 두 문장은 이어지는 한 문장으로, ”The dog sleeps“, ”He is a student“의 두 문장은 이어지지 않는 문장으로 구분하도록 반복 학습한다. 이때, 입력값 앞에 있는 [CLS] 토큰은 두 문장이 실제 이어지는 문장인지에 대한 이진 분류 예측을 수행할 수 있다.For example, in a natural language processing deep learning model, the two sentences “The dog sleeps” and “It snores loudly” are one continuous sentence, and the two sentences “The dog sleeps” and “He is a student” are not continuous sentences. Learn repeatedly to differentiate. At this time, the [CLS] token in front of the input value can perform binary classification prediction as to whether the two sentences are actually consecutive sentences.

다시 도 4를 참조하면, 순차적 추천 도서 목록 생성부(140)는 선호 도서의 식별용 메타 데이터에 포함되는 단어 중 자연어 처리 딥러닝 모델에 입력할 단어를 기설정 개수(예: 200개)만큼만 선택하는 제로 패딩(Zero Padding) 및 자연어 개수 조절 단계를 수행할 수 있다. 기설정 개수의 단어는 제로 패딩 기법을 통해 부족한 단어 수만큼 0을 기설정 개수만큼 패딩함으로써 결정되거나, 기설정 개수 이상으로 단어가 많을 경우 선호 도서의 사용 일자가 빠른 순서로 단어를 선별하는 자연어 개수 조절 과정에서 결정될 수 있다. Referring again to FIG. 4, the sequential recommended book list generator 140 selects only a preset number (e.g., 200) of words to be input into the natural language processing deep learning model from among the words included in the metadata for identification of the preferred book. Zero padding and natural language number adjustment steps can be performed. The preset number of words is determined by padding the number of words with zeros equal to the number of missing words using the zero padding technique, or if there are more words than the preset number, the natural language count selects words in order of the earliest date of use in the preferred book. It can be determined during the adjustment process.

여기서, 기본적으로 기설정 개수의 단어는 사용 일자 순서로 정렬된 선호 도서 목록의 선호 도서에 대응하는 순서부터 순차적으로 결정될 수 있다. 기설정 개수의 단어는 식별용 메타 데이터의 도서 코드, 파일명, 도서명, 부제목, ISBN, 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 구성하는 단어 또는 문자에 기초하여 결정될 수 있다.Here, basically, the preset number of words can be determined sequentially starting from the order corresponding to the preferred books in the preferred book list sorted by date of use. The preset number of words may be determined based on words or characters constituting at least one of the book code, file name, book name, subtitle, ISBN, book category, author name, and publication year of the identification metadata.

제로 패딩 및 자연어 개수 조절 단계를 거쳐 기설정 개수의 단어로 구성된 선호 도서 목록은 자연어 처리 딥러닝 모델의 학습 및 결과 도출을 할 수 있는 임베딩 벡터로 변환될 수 있다. After going through the zero padding and natural language number adjustment steps, the preferred book list consisting of a preset number of words can be converted into an embedding vector that can be used to learn and derive results from a natural language processing deep learning model.

구체적으로, 순차적 추천 도서 목록 생성부(140)는 단어 임베딩 벡터인 토큰 임베딩과 문장을 구분하는 역할을 수행하는 세그먼트 임베딩을 제거하고 도서 코드 임베딩, 도서 사용 순서를 나타내는 포지션 임베딩, 도서 카테고리 임베딩을 더하고, 사용자가 다음 시점에 최우선으로 선택할 도서를 예측할 수 있도록 마지막 토큰을 [MASK]로 치환할 수 있다.Specifically, the sequential recommended book list generator 140 removes the token embedding, which is a word embedding vector, and the segment embedding that serves to distinguish sentences, and adds book code embedding, position embedding indicating the order of book use, and book category embedding. , the last token can be replaced with [MASK] so that the user can predict which book will be the top choice at the next time.

순차적 추천 도서 목록 생성부(140)가 학습된 자연어 처리 딥러닝 모델에 임베딩 벡터로 변환된 선호 도서 목록을 입력하면, 자연어 처리 딥러닝 모델은 선호 도서 목록에 포함되지 않는 하나 이상의 도서를 대상으로 사용자가 최우선으로 선택할 확률값을 산출하며, 산출된 확률값이 높은 순서대로 정렬하여 순차적 추천 도서 목록을 생성할 수 있다.When the sequential recommended book list generator 140 inputs the preferred book list converted into an embedding vector into the learned natural language processing deep learning model, the natural language processing deep learning model targets one or more books that are not included in the preferred book list to the user. Calculate the probability value of the highest priority selection, and sort the calculated probability value in descending order to create a sequential list of recommended books.

단계 S240에서 세렌디피티 추천 도서 목록 생성부는, 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하고, 세렌디피티 추천 도서 목록에 기초하여 사용자에게 도서를 추천할 수 있다.In step S240, the Serendipity recommended book list generator generates a Serendipity recommended book list based on the similarity between the book category in the sequential recommended book list and other book categories, and recommends books to the user based on the Serendipity recommended book list. You can.

이에 대해서는 도 5를 함께 참조하여 설명하도록 한다.This will be explained with reference to Figure 5.

도 5는 본 발명의 일 실시예에 따른 세렌디피티 추천 도서 목록 생성 과정을 개략적으로 도시한 도면이다.Figure 5 is a diagram schematically showing the process of generating a Serendipity recommended book list according to an embodiment of the present invention.

도 5를 참조하면, 세렌디피티 추천 도서 목록 생성부(150)는 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리를 획득할 수 있다. 여기서, 최상위부터 기설정된 순위까지 정렬된 순차적 추천 도서의 도서 카테고리는 사용자의 선택 확률값, 예를 들면 사용자의 선호도가 높은 순서대로 정렬된 카테고리일 수 있다.Referring to FIG. 5 , the serendipity recommended book list generator 150 may obtain book categories of sequentially recommended books from the top to a preset ranking among the sequential recommended book list. Here, the book categories of sequentially recommended books sorted from the highest to a preset ranking may be categories sorted in order of the user's selection probability value, for example, the user's preference.

세렌디피티 추천 도서 목록 생성부(150)는 획득된 순차적 추천 도서의 카테고리와 유사도가 기설정 값 이상인 유사 도서 카테고리를 결정할 수 있다.The serendipity recommended book list generator 150 may determine a similar book category whose similarity to the category of the obtained sequential recommended books is greater than or equal to a preset value.

유사 도서 카테고리를 결정하는 실시예는 구체적으로, 세렌디피티 추천 도서 목록 생성부(150)가 순차적 추천 도서의 도서 카테고리를 포함하는 하나 이상의 카테고리(예: 서버 내 전체 도서 카테고리)의 도서에 대한 복수의 사용자들의 사용 횟수를 선택할 수 있다. 이어서, 세렌디피티 추천 도서 목록 생성부(150)는 하나 이상의 카테고리, 복수의 사용자의 사용자 코드 및 사용 횟수에 기초한 행렬을 구성할 수 있다. 관련하여, 실시예에 따른 유사 도서 카테고리를 결정하기 위해 구성되는 행렬은 도 6에 도시된 행렬과 같이 구성될 수 있다.In an embodiment of determining a similar book category, the serendipity recommended book list generator 150 generates a plurality of users for books in one or more categories (e.g., all book categories in the server) including book categories of sequentially recommended books. You can select the number of times you use them. Next, the serendipity recommended book list generator 150 may construct a matrix based on one or more categories, user codes of multiple users, and number of uses. In relation to this, the matrix configured to determine the similar book category according to the embodiment may be configured as the matrix shown in FIG. 6.

또한, 세렌디피티 추천 도서 목록 생성부(150)는 행렬에 코사인 유도 함수를 적용하여 하나 이상의 카테고리 간의 유사도를 결정하고, 유사도에 기초하여 유사 도서 카테고리를 결정할 수 있다.Additionally, the serendipity recommended book list generator 150 may apply a cosine induction function to a matrix to determine the degree of similarity between one or more categories and determine a similar book category based on the similarity.

이하에서는 유사 도서 카테고리를 결정하는 구체적인 실시예에 대해 설명하도록 한다.Below, a specific example of determining similar book categories will be described.

먼저, 세렌디피티 추천 도서 목록 생성부(150)는 상기한 행렬에 대해, 벡터 간 유사성(vector similarity)을 측정하는 방법 가운데 0과 1 사이의 값을 추출하여 정규화 과정을 필요로 하지 않고 다차원의 벡터에서도 정확한 측정이 가능한 코사인 유사도 함수를 적용하여 모든 카테고리 벡터 간의 유사도를 계산할 수 있다.First, the serendipity recommended book list generator 150 extracts a value between 0 and 1 among the methods for measuring vector similarity between vectors for the above-mentioned matrix, even in multidimensional vectors without requiring a normalization process. The similarity between all category vectors can be calculated by applying the cosine similarity function, which can be accurately measured.

코사인 함수는 하기의 수학식 1과 같이 표현될 수 있다.The cosine function can be expressed as Equation 1 below.

여기서, 는 카테고리 벡터 와 카테고리 벡터 의 코사인 거리를 측정한 유사도를 나타내고, 와 는 각각 사용자 가 카테고리 , 를 이용한 횟수를 의미할 수 있다.Here, represents the similarity measured by the cosine distance between the category vector and the category vector, and and may mean the number of times the user used the category and , respectively.

이어서, 세렌디피티 추천 도서 목록 생성부(150)는 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리와 다른 도서 카테고리 간의 유사도를 결정하고, 다른 도서 카테고리 중 유사도가 기설정 값 이상으로 높은 도서 카테고리를 결정할 수 있다.Next, the serendipity recommended book list generator 150 determines the similarity between the book categories of the sequentially recommended books from the top to a preset rank in the sequential recommended book list and other book categories, and the similarity among the other book categories is greater than or equal to the preset value. You can determine the high book category.

이에 대해 도 6 및 도 7을 참조하여 설명하도록 한다.This will be explained with reference to FIGS. 6 and 7.

도 6은 유사 도서 카테고리를 결정하기 위해 구성되는 행렬을 개략적으로 도시한 도면이고, 도 7은 유사 도서 카테고리가 결정되는 예를 개략적으로 도시한 도면이다.Figure 6 is a diagram schematically showing a matrix configured to determine a similar book category, and Figure 7 is a diagram schematically showing an example of determining a similar book category.

도 6 및 도 7에 도시된 바와 같이 최상위의 순차적 추천 도서의 도서 카테고리가 ‘여행’인 경우, 유사도가 기설정 값 이상으로 높은, 유사 도서 카테고리는 ‘역사’, ‘예술’ 및 ‘인문’으로 결정될 수 있다.As shown in Figures 6 and 7, when the book category of the highest sequentially recommended book is 'Travel', similar book categories with similarity higher than the preset value are 'History', 'Art', and 'Humanities'. can be decided.

이어서, 세렌디피티 추천 도서 목록 생성부는 유사 도서 카테고리에 대응하는 하나 이상의 도서를 판매량이 높은 순서로 정렬할 수 있고, 정렬된 유사 도서 카테고리에 대응하는 하나 이상의 도서를 포함하는 세렌디피티 추천 도서 목록을 생성할 수 있다. 판매량이 높은 순서로 정렬된 세렌디피티 추천 도서 목록은 유사 카테고리에 대응하는 인기 도서를 포함하므로 사용자에게 보다 적합한 세렌디피티 도서를 추천할 수 있다.Subsequently, the Serendipity recommended book list generator may sort one or more books corresponding to similar book categories in order of highest sales volume, and may generate a Serendipity recommended book list including one or more books corresponding to the sorted similar book categories. there is. The Serendipity recommended book list, sorted in order of highest sales, includes popular books corresponding to similar categories, allowing more suitable Serendipity books to be recommended to users.

도 8은 본 발명의 일 실시예에 따라 생성되는 사용자의 선호 도서 카테고리를 개략적으로 도시한 도면이다.Figure 8 is a diagram schematically showing a user's preferred book category created according to an embodiment of the present invention.

선호 도서 목록에 포함되는 선호 도서 카테고리는 예를 들어 도 8에 도시된 바와 같이 생성될 수 있다. 도 8을 참조하면, 사용 도서 각각의 도서 카테고리 중, 선호 도서 카테고리 중 최근 사용 횟수 및 총 사용 횟수가 가장 많은(또는, 사용 일자가 가장 빠른) 기준에 기초하여,‘Literature & Fiction’ 카테고리의 도서는 11개, ‘Humor & Entertainment’카테고리의 도서는 10개, ‘Romance’카테고리의 도서는 3개, ‘History’카테고리의 도서는 3개가 선호 도서 카테고리로 결정될 수 있고 결정된 선호 도서 카테고리는 선호 도서 목록을 결정하는 데에 이용될 수 있도록 도 8에 도시된 바와 같이 제공될 수 있다.A preferred book category included in the preferred book list may be created, for example, as shown in FIG. 8. Referring to Figure 8, among the book categories for each used book, books in the 'Literature & Fiction' category are based on the criteria of the most recent use and the highest total number of uses (or earliest date of use) among the preferred book categories. 11 books, 10 books in the 'Humor & Entertainment' category, 3 books in the 'Romance' category, and 3 books in the 'History' category can be determined as preferred book categories, and the determined preferred book categories are in the preferred book list. It may be provided as shown in FIG. 8 so that it can be used to determine .

도 9는 본 발명의 일 실시예에 따라 생성되는 순차적 추천 도서 카테고리를 개략적으로 도시한 도면이다.Figure 9 is a diagram schematically showing sequential recommended book categories created according to an embodiment of the present invention.

순차적 추천 도서 목록에 포함되는 순차적 추천 도서 카테고리는 예를 들어 도 9에 도시된 바와 같이 생성될 수 있다. 도 9를 참조하면, 도 8에 도시된 선호 도서 카테고리 중‘Literature & Fiction’과 ‘Humor & Entertainmnet’ 카테고리가 순차적 추천 도서 카테고리에 상위로 제공되는 것으로 도시되어 있다. 또한 사용 횟수가 3회로 가장 적었지만 비교적 최근 시점에 사용된 ‘Romance’ 카테고리가 순차적 추천 도서 카테고리에 포함된 것으로 도 9에 도시되어 있다. 해당 결과를 통해 자연어 처리 딥러닝 모델이 사용자의 최근 선호도를 반영한 추천을 수행하는 것을 확인할 수 있다.Sequential recommended book categories included in the sequential recommended book list may be created, for example, as shown in FIG. 9. Referring to FIG. 9, among the preferred book categories shown in FIG. 8, the ‘Literature & Fiction’ and ‘Humor & Entertainmnet’ categories are shown as being provided at the top of the sequential recommended book categories. In addition, Figure 9 shows that the 'Romance' category, which had the least number of uses (3 times) but was used relatively recently, was included in the sequential recommended book categories. The results confirm that the natural language processing deep learning model makes recommendations that reflect the user's recent preferences.

도 10은 본 발명의 일 실시예에 따라 결정되는 유사 도서 카테고리를 개략적으로 도시한 도면이다.Figure 10 is a diagram schematically showing similar book categories determined according to an embodiment of the present invention.

세렌디피티 추천 도서 목록은 유사 도서 카테고리를 포함할 수 있고, 이는 도 10에 도시된 바와 같이 생성될 수 있다. 도 10을 참조하면, 도 9의 순차적 추천 도서 카테고리 내에서 가장 상위에 제공되는 도서 카테고리인 ‘Humor & Entertainmnet’와 차순위로 제공되는 도서 카테고리인 ‘Literature & Fiction’과 유사한 유사 도서 카테고리가 도 10에 도시된 바와 같이 제공될 수 있다. 구체적으로, 도 9의 순차적 추천 도서 카테고리 중 최상위 도서 카테고리인‘Humor & Entertainmnet’에 대응하는 유사 도서 카테고리는 도 8의 선호 도서 목록 중 최상단부터 8번째 아래에 위치한 카테고리인 ‘Literature & Fiction’으로 결정될 수 있고, 도 9의 차순위로 높은 순서의 도서 카테고리인 ‘Literature & Fiction’에 대응하는 유사 도서 카테고리는 도 8의 선호 도서 목록 중 최상단부터 7, 14 및 20번째 아래에 위치한 카테고리인 ‘Comics & Graphic Novels’, ‘History’, ‘Mystery, Thriller & Suspense’으로 결정되어 도 10에 도시된 바와 같이 제공될 수 있다.The Serendipity recommended book list may include similar book categories, which may be created as shown in FIG. 10. Referring to Figure 10, similar book categories similar to 'Humor & Entertainmnet', which is the highest book category within the sequential recommended book categories in Figure 9, and 'Literature & Fiction', which is the second book category, are shown in Figure 10. It may be provided as shown. Specifically, the similar book category corresponding to 'Humor & Entertainmnet', the top book category among the sequential recommended book categories in Figure 9, will be determined as 'Literature & Fiction', which is the category located 8th from the top of the preferred book list in Figure 8. The similar book category corresponding to 'Literature & Fiction', the next highest book category in Figure 9, is 'Comics & Graphic', which is the category located 7th, 14th, and 20th from the top of the preferred book list in Figure 8. Novels', 'History', and 'Mystery, Thriller & Suspense' may be determined and provided as shown in Figure 10.

관련된 실시예에서, 도 1의 도서 추천부(160)는 순차적 추천 도서 목록 및 세렌디피티 추천 도서 목록 중 적어도 하나에 기초하여 사용자에게 도서를 추천할 수 있다. 예를 들어, 순차적 추천 도서 목록에 따라 추천되는 도서는 사용자의 과거부터 현재 시점까지의 선호도가 반영된 도서일 수 있고, 세렌디피티 추천 도서 목록에 따라 추천되는 도서는 사용자가 선호하는 도서 카테고리와 유사한 다른 카테고리의 인기 도서일 수 있다. 이와 같이 두 가지 목록에 기초하여 도서를 추천하는 경우 사용자는 보다 다양한 카테고리의 도서를 손쉽게 추천 받을 수 있게 된다. 또한, 세렌디피티 도서 추천 방법을 통해 시간의 흐름에 따른 사용자의 선호도 변화를 고려하여 현재 가장 선호하는 도서가 무엇인지 판단하고, 이전에 접하지 않은 새롭고 만족스러운 도서 추천 지표인 세렌디피티를 반영한 도서 추천을 제공할 수 있다.In a related embodiment, the book recommendation unit 160 of FIG. 1 may recommend books to the user based on at least one of a sequential recommended book list and a serendipity recommended book list. For example, books recommended according to a sequential recommended book list may be books that reflect the user's preferences from the past to the present, and books recommended according to a serendipity recommended book list may be books recommended in other categories similar to the user's preferred book category. It may be a popular book. When recommending books based on these two lists, users can easily receive recommendations for books from more diverse categories. In addition, through the serendipity book recommendation method, we consider changes in user preferences over time to determine which books are currently most preferred, and provide book recommendations that reflect serendipity, a new and satisfying book recommendation indicator that has not been encountered before. can do.

이와 같은 본 발명의 충전 방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The charging method of the present invention can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. The program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable by those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.

이상에서는 본 발명의 다양한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.Although various embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and may be used in the technical field to which the invention pertains without departing from the gist of the invention as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical idea or perspective of the present invention.

100: 세렌디피티 도서 추천 장치
110: 입력부
120: 통신부
130: 선호 도서 목록 생성부
140: 순차적 추천 도서 목록 생성부
150: 세렌디피티 추천 도서 목록 생성부
160: 도서 추천부
410: 로그 DB
420: 도서 DB
100: Serendipity book recommendation device
110: input unit
120: Department of Communications
130: Preferred book list creation unit
140: Sequential recommended book list generation unit
150: Serendipity recommended book list creation unit
160: Book recommendation section
410: Log DB
420: Book DB

Claims (22)

사용자로부터 도서 검색 키워드가 입력되면, 상기 도서 검색 키워드와 연관된 도서 검색 정보를 획득하고, 상기 사용자의 도서 사용 히스토리 정보를 획득하는 단계;
상기 도서 검색 정보 및 상기 도서 사용 히스토리 정보의 데이터 전처리 결과에 기초하여 상기 사용자의 선호 도서 목록을 생성하는 단계;
상기 선호 도서 목록에 대한 딥러닝 기반의 분석에 기초하여 순차적 추천 도서 목록을 생성하는 단계; 및
상기 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
When a book search keyword is input from the user, obtaining book search information related to the book search keyword and obtaining book usage history information of the user;
generating a list of preferred books of the user based on data preprocessing results of the book search information and the book usage history information;
Generating a sequential recommended book list based on deep learning-based analysis of the preferred book list; and
Generating a Serendipity recommended book list based on the similarity between the book categories of the sequential recommended book list and other book categories. Serendipity book recommendation method using a book category, including.
제 1 항에 있어서,
상기 도서 검색 정보 및 도서 사용 히스토리 정보를 획득하는 단계는
상기 도서 검색 정보에서의 검색 도서와 대응되는 식별용 메타 데이터를 획득하고,
상기 도서 사용 히스토리 정보에서의 사용 도서와 대응되는 식별용 메타 데이터를 획득하며,
상기 사용 도서에 대한 상기 사용자의 로그 정보를 포함하는 사용 도서 메타 데이터를 획득하는 단계;를 더 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 1,
The step of obtaining the book search information and book usage history information is
Obtain identification metadata corresponding to the searched book in the book search information,
Obtain metadata for identification corresponding to the book used in the book usage history information,
A serendipity book recommendation method using a book category, further comprising: acquiring used book metadata including the user's log information about the used book.
제 2 항에 있어서,
상기 식별용 메타 데이터는
상기 검색 도서 및 상기 사용 도서에 대한 도서 코드, 파일명, 도서명, 부제목, ISBN, 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 2,
The identification metadata is
A serendipity book recommendation method using a book category, including at least one of a book code, file name, book name, subtitle, ISBN, book category, author name, and publication year for the searched book and the used book.
제 2 항에 있어서,
상기 사용 도서 메타 데이터는
상기 사용 도서를 사용한 상기 사용자 및 상기 사용 도서의 식별을 위한 사용자 정보와, 상기 사용 도서에 대한 상기 사용자의 평가를 나타내는 평가 정보를 포함하고,
상기 사용자 정보는 사용자 코드, 도서 코드, 도서 카테고리 및 사용 일자 중 적어도 하나를 포함하고,
상기 평가 정보는 상기 사용 도서의 사용 형태 및 사용자 평점 중 적어도 하나를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 2,
The book metadata used above is
Contains user information for identification of the user who used the used book and the used book, and evaluation information indicating the user's evaluation of the used book,
The user information includes at least one of a user code, book code, book category, and date of use,
A serendipity book recommendation method using a book category, wherein the evaluation information includes at least one of a usage type and user rating of the used book.
제 4 항에 있어서,
상기 선호 도서 목록을 생성하는 단계는,
상기 사용 도서 메타 데이터에 기초하여 상기 사용 도서의 상기 사용 형태를 조회 또는 구매 중 어느 하나로 결정하는 단계;
상기 사용 형태에 기초하여 상기 사용 도서 중 적어도 하나를 선호 도서로 선별하기 위한 정규화를 수행하는 단계; 및
상기 정규화 결과에 따라 결정된 상기 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 4,
The step of creating the preferred book list is,
determining the usage form of the used book as either inquiry or purchase based on the used book metadata;
performing normalization to select at least one of the used books as a preferred book based on the usage type; and
Generating the preferred book list based on the preferred books determined according to the normalization result; Serendipity book recommendation method using a book category, including.
제 5 항에 있어서,
상기 정규화를 수행하는 단계는
상기 사용 형태가 상기 조회인 상기 사용 도서를 상기 선호 도서로 결정하는 단계; 및
상기 사용 형태가 상기 구매인 상기 사용 도서에 대한 사용자 평점이 평균 평점보다 높은 경우 상기 사용 도서를 상기 선호 도서로 결정하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 5,
The step of performing the normalization is
determining the used book of which the usage type is the inquiry as the preferred book; and
If the usage type is the purchase and the user rating for the used book is higher than the average rating, determining the used book as the preferred book; Serendipity book recommendation method using a book category, including.
제 5 항에 있어서,
상기 선호 도서 목록을 생성하는 단계는
상기 사용 도서 메타 데이터에 따른 사용자 코드로 상기 선호 도서를 그룹화하는 단계;
그룹화된 선호 도서를 사용 일자 순서로 정렬하는 단계; 및
상기 사용 일자 순서로 정렬된 상기 그룹화된 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 5,
The steps for creating the preferred book list are:
grouping the preferred books with user codes according to the used book metadata;
Sorting grouped favorite books in order of date of use; and
Generating the preferred book list based on the grouped preferred books sorted in order of usage date; Serendipity book recommendation method using a book category, including.
제 2 항에 있어서,
상기 순차적 추천 도서 목록을 생성하는 단계는,
선호 도서의 식별용 메타 데이터에 포함되는 단어에서 문장 형식으로 연속되는 다음 단어를 도출하는 상기 딥러닝 기반의 분석에 기초하여, 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서의 확률값을 산출하는 단계;
상기 산출된 확률값이 높은 순서대로 정렬하여 상기 순차적 추천 도서 목록을 생성하는 단계;를 포함하고,
상기 확률값은 상기 사용자가 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서에 대해 최우선으로 선택할 확률을 나타내는 값인, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 2,
The step of generating the sequential recommended book list is,
Calculating a probability value of one or more books not included in the preferred book list based on the deep learning-based analysis of deriving the next consecutive word in sentence form from the word included in the metadata for identification of the preferred book;
A step of generating the sequential recommended book list by sorting in descending order of the calculated probability value,
The probability value is a value indicating the probability that the user selects one or more books not included in the preferred book list as the highest priority. A serendipity book recommendation method using a book category.
제 1 항에 있어서,
상기 세렌디피티 추천 도서 목록을 생성하는 단계는
상기 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리를 획득하는 단계;
상기 순차적 추천 도서의 도서 카테고리와 유사도가 기설정 값 이상인 유사 도서 카테고리를 결정하는 단계; 및
상기 유사 도서 카테고리에 대응하는 하나 이상의 도서를 판매량이 높은 순서로 정렬하여 상기 세렌디피티 추천 도서 목록을 생성하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 1,
The step of generating the Serendipity recommended book list is
Obtaining book categories of sequential recommended books from the highest to a preset ranking among the sequential recommended book list;
determining a similar book category whose similarity to the book category of the sequentially recommended books is greater than or equal to a preset value; and
Sorting one or more books corresponding to the similar book category in order of highest sales volume to generate the serendipity recommended book list; Serendipity book recommendation method using a book category, including.
제 9 항에 있어서,
상기 유사 도서 카테고리를 결정하는 단계는
상기 순차적 추천 도서의 도서 카테고리를 포함하는 하나 이상의 카테고리의 도서에 대한 복수의 사용자들의 사용 횟수를 획득하는 단계;
상기 하나 이상의 카테고리, 상기 복수의 사용자의 사용자 코드 및 상기 사용 횟수에 기초하여 행렬을 구성하는 단계;
상기 행렬에 코사인 유사도 함수를 적용하여 상기 하나 이상의 카테고리 간의 유사도를 결정하는 단계; 및
상기 유사도에 기초하여 상기 유사 도서 카테고리를 결정하는 단계;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to clause 9,
The step of determining the similar book category is
Obtaining the number of times a plurality of users use books in one or more categories including the book categories of the sequentially recommended books;
Constructing a matrix based on the one or more categories, user codes of the plurality of users, and the number of uses;
determining similarity between the one or more categories by applying a cosine similarity function to the matrix; and
A serendipity book recommendation method using a book category, comprising: determining the similar book category based on the similarity.
제 1 항에 있어서,
상기 순차적 추천 도서 목록 및 상기 세렌디피티 추천 도서 목록 중 적어도 하나에 기초하여 상기 사용자에게 도서를 추천하는 단계;를 더 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 방법.
According to claim 1,
Recommending a book to the user based on at least one of the sequential recommended book list and the serendipity recommended book list. Serendipity book recommendation method using a book category, further comprising:
사용자로부터 도서 검색 키워드를 입력받는 입력부;
상기 사용자로부터 상기 도서 검색 키워드가 입력되면, 상기 도서 검색 키워드와 연관된 도서 검색 정보를 획득하고, 상기 사용자의 도서 사용 히스토리 정보를 획득하는 통신부;
상기 도서 검색 정보 및 상기 도서 사용 히스토리 정보의 데이터 전처리 결과에 기초하여 상기 사용자의 선호 도서 목록을 생성하는 선호 도서 목록 생성부;
상기 선호 도서 목록에 대한 딥러닝 기반의 분석에 기초하여 순차적 추천 도서 목록을 생성하는 순차적 추천 도서 목록 생성부; 및
상기 순차적 추천 도서 목록의 도서 카테고리와 다른 도서 카테고리 간의 유사도에 기초하여 세렌디피티(Serendipity) 추천 도서 목록을 생성하는 세렌디피티 추천 도서 목록 생성부;를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
An input unit that receives a book search keyword from the user;
When the book search keyword is input from the user, a communication unit that obtains book search information related to the book search keyword and obtains book usage history information of the user;
a preferred book list generator that generates the user's preferred book list based on data preprocessing results of the book search information and the book usage history information;
A sequential recommended book list generator that generates a sequential recommended book list based on deep learning-based analysis of the preferred book list; and
A Serendipity book recommendation device using a book category, including a Serendipity recommended book list generator that generates a Serendipity recommended book list based on the similarity between the book categories of the sequential recommended book list and other book categories.
제 12 항에 있어서,
상기 통신부는
상기 도서 검색 정보에서의 검색 도서와 대응되는 식별용 메타 데이터를 획득하고,
상기 도서 사용 히스토리 정보에서의 사용 도서와 대응되는 식별용 메타 데이터를 획득하며,
상기 사용 도서에 대한 상기 사용자의 로그 정보를 포함하는 사용 도서 메타 데이터를 획득하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 12,
The Department of Communications
Obtain identification metadata corresponding to the searched book in the book search information,
Obtain metadata for identification corresponding to the book used in the book usage history information,
A serendipity book recommendation device utilizing a book category, which acquires used book metadata including the user's log information about the used book.
제 13 항에 있어서,
상기 식별용 메타 데이터는
상기 검색 도서 및 상기 사용 도서에 대한 도서 코드, 파일명, 도서명, 부제목, ISBN, 도서 카테고리, 저자명 및 출판년도 중 적어도 하나를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 13,
The identification metadata is
A serendipity book recommendation device using a book category, including at least one of a book code, file name, book name, subtitle, ISBN, book category, author name, and publication year for the searched book and the used book.
제 13 항에 있어서,
상기 사용 도서 메타 데이터는
상기 사용 도서를 사용한 상기 사용자 및 상기 사용 도서의 식별을 위한 사용자 정보와, 상기 사용 도서에 대한 상기 사용자의 평가를 나타내는 평가 정보를 포함하고,
상기 사용자 정보는 사용자 코드, 도서 코드, 도서 카테고리 및 사용 일자 중 적어도 하나를 포함하고,
상기 평가 정보는 상기 사용 도서의 사용 형태 및 사용자 평점 중 적어도 하나를 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 13,
The book metadata used above is
Contains user information for identification of the user who used the used book and the used book, and evaluation information indicating the user's evaluation of the used book,
The user information includes at least one of a user code, book code, book category, and date of use,
A serendipity book recommendation device utilizing a book category, wherein the evaluation information includes at least one of a usage type and a user rating of the used book.
제 15 항에 있어서,
상기 선호 도서 목록 생성부는,
상기 사용 도서 메타 데이터에 기초하여 상기 사용 도서의 상기 사용 형태를 조회 또는 구매 중 어느 하나로 결정하고,
상기 사용 형태에 기초하여 상기 사용 도서 중 적어도 하나를 선호 도서로 선별하기 위한 정규화를 수행하고,
상기 정규화 결과에 따라 결정된 상기 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 15,
The preferred book list creation unit,
Based on the used book metadata, determine the usage form of the used book as either inquiry or purchase,
Perform normalization to select at least one of the used books as a preferred book based on the usage type,
A serendipity book recommendation device using a book category that generates a list of preferred books based on the preferred books determined according to the normalization result.
제 16 항에 있어서,
상기 선호 도서 목록 생성부는
상기 사용 형태가 상기 조회인 상기 사용 도서를 상기 선호 도서로 결정하고,
상기 사용 형태가 상기 구매인 상기 사용 도서에 대한 사용자 평점이 평균 평점보다 높은 경우 상기 사용 도서를 상기 선호 도서로 결정하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 16,
The preferred book list creation section
Determining the used book whose usage type is the inquiry as the preferred book,
A serendipity book recommendation device utilizing a book category that determines the used book as the preferred book when the user rating for the used book is higher than the average rating.
제 16 항에 있어서,
상기 선호 도서 목록 생성부는
상기 사용 도서 메타 데이터에 따른 사용자 코드로 상기 선호 도서를 그룹화하고,
그룹화된 선호 도서를 사용 일자 순서로 정렬하고,
상기 사용 일자 순서로 정렬된 상기 그룹화된 선호 도서에 기초하여 상기 선호 도서 목록을 생성하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 16,
The preferred book list creation section
Grouping the preferred books with user codes according to the used book metadata,
Sort grouped favorite books in order of date of use,
A serendipity book recommendation device utilizing a book category that generates the preferred book list based on the grouped preferred books sorted in order of usage date.
제 13 항에 있어서,
상기 순차적 추천 도서 목록 생성부는
선호 도서의 식별용 메타 데이터에 포함되는 단어에서 문장 형식으로 연속되는 다음 단어를 도출하는 상기 딥러닝 기반의 분석에 기초하여, 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서의 확률값을 산출하고,
상기 산출된 확률값이 높은 순서대로 정렬하여 상기 순차적 추천 도서 목록을 생성하되,
상기 확률값은 상기 사용자가 상기 선호 도서 목록에 포함되지 않은 하나 이상의 도서에 대해 최우선으로 선택할 확률을 나타내는 값인, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 13,
The sequential recommended book list creation unit
Based on the deep learning-based analysis that derives the next consecutive word in sentence form from the words included in the metadata for identification of the preferred book, the probability value of one or more books not included in the preferred book list is calculated,
The sequential recommended book list is generated by sorting the calculated probability value in descending order,
The probability value is a value indicating the probability that the user selects one or more books not included in the preferred book list as the highest priority. Serendipity book recommendation device using a book category.
제 12 항에 있어서,
상기 세렌디피티 추천 도서 목록 생성부는
상기 순차적 추천 도서 목록 중 최상위부터 기설정된 순위까지의 순차적 추천 도서의 도서 카테고리를 획득하고,
상기 순차적 추천 도서의 도서 카테고리와 유사도가 기설정 값 이상인 유사 도서 카테고리를 결정하고,
상기 유사 도서 카테고리에 대응하는 하나 이상의 도서를 판매량이 높은 순서로 정렬하여 상기 세렌디피티 추천 도서 목록을 생성하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 12,
The Serendipity recommended book list creation section
Obtain book categories of sequential recommended books from the top to a preset ranking among the sequential recommended book list,
Determine a similar book category whose similarity to the book category of the sequentially recommended books is greater than or equal to a preset value,
A serendipity book recommendation device using a book category that generates the serendipity recommended book list by sorting one or more books corresponding to the similar book category in order of highest sales volume.
제 20 항에 있어서,
상기 세렌디피티 추천 도서 목록 생성부는
상기 순차적 추천 도서의 도서 카테고리를 포함하는 하나 이상의 카테고리의 도서에 대한 복수의 사용자들의 사용 횟수를 획득하고,
상기 하나 이상의 카테고리, 상기 복수의 사용자의 사용자 코드 및 상기 사용 횟수에 기초하여 행렬을 구성하고,
상기 행렬에 코사인 유사도 함수를 적용하여 상기 하나 이상의 카테고리 간의 유사도를 결정하고,
상기 유사도에 기초하여 상기 유사 도서 카테고리를 결정하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 20,
The Serendipity recommended book list creation section
Obtaining the number of uses by a plurality of users for books in one or more categories including the book category of the sequentially recommended books,
Constructing a matrix based on the one or more categories, the user codes of the plurality of users, and the number of uses,
Applying a cosine similarity function to the matrix to determine similarity between the one or more categories,
A serendipity book recommendation device using a book category that determines the similar book category based on the similarity.
제 12 항에 있어서,
상기 순차적 추천 도서 목록 및 상기 세렌디피티 추천 도서 목록 중 적어도 하나에 기초하여 상기 사용자에게 도서를 추천하는 도서 추천부;를 더 포함하는, 도서 카테고리를 활용한 세렌디피티 도서 추천 장치.
According to claim 12,
A book recommendation unit that recommends books to the user based on at least one of the sequential recommended book list and the serendipity recommended book list. Serendipity book recommendation device using a book category, further comprising:
KR1020220182146A 2022-12-01 2022-12-22 Method and device for recommending serendipity books using book categories KR20240082959A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220166051 2022-12-01
KR20220166051 2022-12-01

Publications (1)

Publication Number Publication Date
KR20240082959A true KR20240082959A (en) 2024-06-11

Family

ID=91471252

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220182146A KR20240082959A (en) 2022-12-01 2022-12-22 Method and device for recommending serendipity books using book categories

Country Status (1)

Country Link
KR (1) KR20240082959A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220139140A (en) 2021-04-07 2022-10-14 주식회사 피씨엔씨 An Apparatus for recommending books in a hybrid method that combines collaborative filtering and book-based recommendations, and a method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220139140A (en) 2021-04-07 2022-10-14 주식회사 피씨엔씨 An Apparatus for recommending books in a hybrid method that combines collaborative filtering and book-based recommendations, and a method therefor

Similar Documents

Publication Publication Date Title
CN103679462B (en) A kind of comment data treating method and apparatus, a kind of searching method and system
CN111461841B (en) Article recommendation method, device, server and storage medium
Du et al. Feature selection for helpfulness prediction of online product reviews: An empirical study
Selke et al. Pushing the boundaries of crowd-enabled databases with query-driven schema expansion
Sohail et al. Feature-based opinion mining approach (FOMA) for improved book recommendation
US20060173753A1 (en) Method and system for online shopping
Banik Hands-on recommendation systems with Python: start building powerful and personalized, recommendation engines with Python
CN114238573B (en) Text countercheck sample-based information pushing method and device
CN111177538A (en) Unsupervised weight calculation-based user interest tag construction method
CN115244547A (en) Automatically and intelligently exploring design spaces
Wang et al. Research on hybrid collaborative filtering recommendation algorithm based on the time effect and sentiment analysis
JP2022035314A (en) Information processing unit and program
Xie et al. A probabilistic recommendation method inspired by latent Dirichlet allocation model
KR101652433B1 (en) Behavioral advertising method according to the emotion that are acquired based on the extracted topics from SNS document
Wen et al. Visual background recommendation for dance performances using deep matrix factorization
CN117391824A (en) Method and device for recommending articles based on large language model and search engine
Goncalves et al. The importance of brand affinity in luxury fashion recommendations
CN109885748A (en) Optimization recommended method based on meaning of one's words feature
KR20240082959A (en) Method and device for recommending serendipity books using book categories
CN114861079A (en) Collaborative filtering recommendation method and system fusing commodity features
Lyu et al. Behavior matching between different domains based on canonical correlation analysis
McIlwraith Algorithms of the intelligent web
CN113763084A (en) Product recommendation processing method, device, equipment and storage medium
Subramanian R Data analysis projects: build end to end analytics systems to get deeper insights from your data
Li et al. Recommender Systems: Frontiers and Practices