WO2020022537A1 - 서적 간 유사도를 활용한 서적추천 방법 - Google Patents

서적 간 유사도를 활용한 서적추천 방법 Download PDF

Info

Publication number
WO2020022537A1
WO2020022537A1 PCT/KR2018/008506 KR2018008506W WO2020022537A1 WO 2020022537 A1 WO2020022537 A1 WO 2020022537A1 KR 2018008506 W KR2018008506 W KR 2018008506W WO 2020022537 A1 WO2020022537 A1 WO 2020022537A1
Authority
WO
WIPO (PCT)
Prior art keywords
book
books
emotion
similar
window
Prior art date
Application number
PCT/KR2018/008506
Other languages
English (en)
French (fr)
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 (주)브레인콜라
Priority to SG11202100862SA priority Critical patent/SG11202100862SA/en
Priority to US17/262,230 priority patent/US20210303649A1/en
Priority to PCT/KR2018/008506 priority patent/WO2020022537A1/ko
Publication of WO2020022537A1 publication Critical patent/WO2020022537A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • 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
    • 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

Definitions

  • the present invention relates to a book recommendation method utilizing the similarity between books.
  • the inventor of the present invention analyzes the contents of the book and based on this, suggests a method for recommending a book that the reader may be interested in.
  • the present invention provides a book recommendation method utilizing the similarity between books.
  • the book recommendation server generating a storyflow emotion graph of each of the plurality of books; (2) the book recommendation server calculating a similarity between the storyflow emotion graph of the first book and the story fluorescence emotion graph of the second book; And (3) the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
  • step (1) may further include selecting a target book for generating a storyflow emotion graph by using genre information of the book.
  • step (1) may include: generating a window for analyzing words as many as a predetermined ratio with respect to the total number of words included in each book; And sequentially moving the window from the word at the first position included in each book to the story direction of the book, which is the direction of the word at the second position, so that the feelings of the words contained in the window of the position in the moved book are changed.
  • Analyzing may further include generating a storyflow emotion graph.
  • Generating a storyflow emotion graph by analyzing the steps may include: assigning an emotion value for each word included in the window with reference to words included in a predefined emotion word table; Deriving a unit emotion summation summating emotion values for each word in the window; And displaying the storyflow emotion graph based on the unit emotion summation value.
  • the data for the storyflow emotion graph may be generated based on the unit emotion total value.
  • the window is sequentially moved from the word at the first position included in each book to the story direction of the book, which is the direction of the word at the second position, so that the feelings of words contained in the window of the position in the moved book are moved.
  • the window may be moved by an average number of words of the number of words included in each page of the analysis target book.
  • Step (2) may include: a first similar determination basic value indicating a difference between a unit feeling sum value of the first book in the story direction and a unit feeling sum value of the second book in the story direction; And a second similar determination basic value indicating a change amount of the first similar determination basic value.
  • the first book may be a book to which a user is given an evaluation score higher than a predetermined reference value, a book included in a shopping cart of an online shopping mall, or a book in which relevant book information has been viewed on the online space by the user.
  • Step (3) may include excluding books read by the user from the one or more similar books; Outputting the similar books in order to a book score among the one or more similar books; The method may further include any one or more steps of outputting the similar book in consideration of user information among one or more similar books.
  • it may be a computer program stored in a recording medium for executing the method.
  • According to the present invention can provide a book recommendation method.
  • FIG. 1 is a block diagram of a book recommendation system according to the present invention.
  • FIG. 2 is a conceptual diagram illustrating the generation of a window and a storyflow emotion graph.
  • 3 is an emotional value table of words representing feelings of happiness included in the emotional word database.
  • FIG. 4 is a diagram illustrating a page of a book in which words with emotional values are present.
  • 5 is a graph showing a change in the unit feeling sum value according to the storyflow direction.
  • 6 is a table showing unit feeling sum values of books according to an embodiment.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • control unit 110 control unit
  • first and second used below are merely identification symbols for distinguishing the same or corresponding components, and the same or corresponding components are limited by terms such as the first and second components. no.
  • the coupling does not only mean a case where physical contact is directly between the components in the contact relationship between the components, but another component is interposed between the components, and the components are included in the other components. Use it as a comprehensive concept until each contact.
  • the book recommendation system includes a controller 110, an emotion graph generation unit 120, an emotion graph similarity determination unit 130, a book recommendation unit 140, an input / output unit 150, an emotion word database 101. ), An emotion graph database 103, a user behavior database 105, and a book information database 107 are shown.
  • This book recommendation system can be a book recommendation server.
  • the controller 110 controls the components such as an emotion graph generating unit, an emotion graph similar decision unit, a book recommendation unit, an input unit, an output unit, and the like.
  • the controller may serve to control the emotion graph generator to generate an emotion graph according to the control signal by receiving a control signal from the user.
  • the control unit may control the respective databases connected to the control unit.
  • various databases are included in a server that is a book recommendation system. However, the databases may exist outside the server.
  • the description of the present invention and the claims refer to books, the application of the present invention is not limited to books, and all of the distinguished texts including types such as web novels and comics can be applied.
  • the emotion graph generation unit 120 serves to generate an emotion graph for the story flow of books.
  • Storyflow can refer to the unfolding of the story in chronological order from the first chapter to the last chapter of the book.
  • novels, essays, travel texts, etc. except for explanatory texts and essay texts, contain literary elements and there is a flow of emotion in the text as a whole.
  • the emotion level is low in the dispute between the two families in the novel, the emotion is strong in the love of Romeo and Juliet in the middle, and the emotion level due to the duel at the end. Is low, but the feeling of happiness rises again because of reconciliation.
  • the emotion graph generator is responsible for generating these emotion changes as emotion graphs.
  • the emotion graph generation unit may select a book for which the emotion graph according to the story flow is to be generated using the genre information of the book which may be stored in the book information database. More specifically, the emotion graph generation unit inputs the story flow of the book to the emotion graph generation unit in order to generate the emotion graph when the genre information of the planned book is novel. On the contrary, when the genre information of the book is a dissertation, it is determined that there is no emotion to be extracted and does not attempt to generate an emotion graph.
  • the emotion graph generator may analyze the emotion in the book through a window.
  • 2 is a conceptual diagram illustrating the generation of a storyflow emotion graph according to the present invention.
  • words constituting a story flow of a book are input into a memory (not shown), and words stored in the memory are divided into parts and read sequentially to perform emotional analysis. More specifically, for example, suppose a book is a novel of 10,000 words. Emotions are analyzed in units of one hundred words for a book consisting of 20,000 words, and the words that are the subject of emotion analysis can be referred to as a group.
  • the window can be moved from the first word of the book to the last word order, and the emotional values of the words contained in the window can be calculated.
  • the size of the window can be arbitrarily determined by the user.
  • a window sized to allow the number of words corresponding to 1% of the total number of words in the book can be determined. For example, if an entire novel contains ten thousand words, Windows can read one hundred words.
  • the size of the window is not limited to the above example and may have windows of various sizes.
  • the size of the window may have words of an average value of the number of words included in the pages of the book. This allows the size of the window to be about each page of the book.
  • the window can be moved in the storyflow direction of the book. For example, suppose you move a book of 10,000 words to a window that can read hundred words. The position of the first window is located at the first word from the first word, and the emotion can be extracted by analyzing the contents of the book where the first window is located. Then move the window one word in the storyflow direction. As a result, the window is located at the one hundredth word from the second word, and the emotion of the corresponding words can be analyzed. By repeating this process, the window is positioned at the tenth word from the last ninety-nine hundredth word, and the emotions of the corresponding words can be analyzed. Through this process, the analysis of emotions for nine thousand nine hundred days can be performed to complete the emotion analysis of the entire book. On the other hand, since the first emotional analysis result value from nine thousand nine hundred ninety days emotional analysis result value is repeated addition and deletion of a word can be changed smoothly. The above is summarized as follows.
  • Word to be analyzed in the window at position a in the book word a + m-1 to word a through m in the book
  • Words to be analyzed in the window of the first position word (1) to word (100)
  • Words to be analyzed in the window of the second position word (2) to word (101)
  • the movement of the window can be moved by one word unit, but the present invention is not limited thereto.
  • the emotion value may be calculated by moving one page. In this case, since the word is entirely replaced in the window, the change in the emotion value may be somewhat large. For example, when the size of the window is set to one page size of the book and the moving unit is also set to one page, the emotion result value for each page may be sequentially obtained. In addition, the emotion values may be distributed discretely.
  • the emotion graph generator calculates the emotion level by analyzing the words included in the window. In detail, a search is performed for a word related to a specific emotion among the words in the window, and the scores assigned to the searched words are summed to calculate a value for the specific emotion level.
  • 3 is an emotion value table of words representing an emotion of happiness included in the emotion word database 101. Looking at the emotional value table, the word 'laugh' can have an emotional value of 4 and the 'happy' emotion can have a value of '3'. It is not necessary to have only positive emotional values, but some words have negative emotional values.
  • the word 'hate' has an emotional value of '-1' and the word 'plural' has a value of '-3'.
  • the expression of emotion values is not necessarily limited to positive or negative numbers, but is sufficient if the degree of emotion values can be expressed. For example, it can also show as upper, middle, and lower.
  • the final unit emotion total value is calculated by summing the emotion values according to each word. That is, the unit emotion summation value may mean a sum of emotion values of words included in one window.
  • 4 relates to a page in which words with emotion values are present. For example, the words 'laugh', 'love', 'happiness' and 'hate' regarding the feeling of happiness are searched on the page of FIG.
  • the unit feeling sum value of this page is calculated as 7 points of laughter (4) + love (2) + happiness (3) + ashamed (-2).
  • an emotion graph of a book about the emotion of happiness can be derived.
  • 5 is a graph showing the unit feeling value according to the story flow direction.
  • the emotion graph is generated only for the emotion of happiness, but is not limited thereto, and various emotion graphs such as happiness, surprise, regret, loneliness, and fear may be generated.
  • various emotion tables may exist in the emotion word database, and various words may exist in the emotion table.
  • an emotion value it is not necessary to be limited to whether a word is the same, and an emotion value may be calculated in the morpheme unit which is the minimum unit of meaning.
  • Emotion graph similarity determination unit 130 serves to determine the similarity between the emotional graph of each book. More specifically, based on the first similar judgment basic value representing the difference between the unit feeling sum total value of the first book and the unit sentiment sum total value of the second book and the second similar judgment basic value representing the amount of change of the first similar judgment basic value. The similarity between the first book and the second book is determined. In addition, as described above, the similarity between several emotion graphs may not be limited to one emotion, and finally, similarity between the two books may be derived.
  • FIG. 6 is a table showing unit emotion sum values for each section of books 1 to 4, and FIG. 6 and 7, the difference between the unit emotion sum values for each section between the book 1 and the book 2 is shown in FIG. 8.
  • the first similarity determination base value means a difference between the unit feeling sum value of the first book and the unit feeling sum value of the second book according to the story direction
  • the second similar determination basis value is the value of the first similar determination basis value. The amount of change is shown.
  • the first similar judgment basic value between the book 1 and the book 2 is '1, 3, 5, 7, 9, 11, 8, 6, 4, 2, 1, 1, 3, 5'. Listed.
  • the first similarity determination base value between the book 1 and the book 3 is all '1'.
  • the emotional graph-like judgment judges that the smaller the difference in the unit emotion sum of two books is, the more similar it is. That is, it may be determined that the smaller the first similarity determination base value, the more similar the books are. Therefore, referring to FIG. 8, the emotion graph-like judgment unit may determine that book 3 is more similar to book 1 than to book 2.
  • FIG. 8 when examining the second similar judgment basic value, since the amount of change of the first similar judgment basic value between the book 1 and the book 2 is large, the second similar judgment basic value is also large. On the contrary, since there is no change in the first similar judgment basic value between the book 1 and the book 3, the second similar judgment basic value is '0'.
  • the Emotion Graph Similarity Determination Unit may determine that books 1 and 3, which have a low basis value for second judgment, are more similar than books 1 and 2.
  • the emotional graph-like decision unit may make a similar decision between the two books by mixing one or more of the first and second similar judgment basic values.
  • the similarity between the two books can be measured by assigning a weight to the similar determination base value according to the nature of the book.
  • the emotional graph-like judgment unit may determine that the smaller book 1 and the book 3 are more similar than the book 1 and the book 4.
  • the book recommendation unit 140 selects books that have been given a higher evaluation score than a predetermined reference value, books included in a shopping cart of an online shopping mall, or books that have been read by the user in the online space. To make recommendations to users.
  • the role may be played by a similar book extraction module (not shown) in the book recommendation unit.
  • the book recommendation system ultimately recommends books that the user may find interesting.
  • the book recommendation unit of the Seo Seok recommendation system can analyze the user's behavior patterns, etc. and recommend similar books for books related to this. More specifically, in order to provide the user's personalized information and customized recommendation books, the user's online behaviors are identified and used for the selection of recommendation books. For example, when a user gives a high evaluation score to a specific book on an online website or the like, books similar to the book are selected and recommended through an emotional graph-like judgment unit.
  • Amazon registered trademark
  • the user may select books similar to the specific book and provide recommendation information to the user.
  • books similar to the book may be selected.
  • Various book information such as a website on the external online space, for example, an SNS site, an online bookstore site, an online book review site, and the user's behavior information about the book may be extracted from the site through the user behavior extraction unit 160. Can be.
  • the user behavior information extracted through the user behavior extraction unit may be stored in the user behavior database.
  • the book recommendation unit may arbitrarily recommend the selected book. If the book extracting unit, especially the similar book extracting module, selects similar books in consideration of the user's behavior, the book extracting selection module (not shown) of the book extracting unit finally outputs the selected similar books according to a predetermined standard. Do it. That is, the output role may be a selection recommendation module in the book recommendation unit.
  • the selection recommendation module may recommend the remaining books except those that the user has already read among similar books extracted by the similar book extraction module. In addition, it is possible to recommend the remaining books except for low-ranking books such as users, other users, and critics. Or, considering the user information, the user may recommend books that are inappropriately read.
  • the screening recommendation module excludes books that are not recommended based on the predetermined criteria among similar books. Meanwhile, the selection recommendation module may refer to the book information database for book selection. Various information about each book may be included in the book information database. In addition, the selection recommendation module may finally recommend the book by linking the user behavior database and the book information database. For example, information about a book already read by a particular user may be stored in the user behavior database.
  • the selection recommendation module may classify and output books extracted from the similar book extraction module according to a specific criterion.
  • One or more books may be output in order of book rating. In this case, using the book information database, you can retrieve the score of each book and use it.
  • the books may be sorted and output based on information such as the cumulative sales amount of each similar book and the sales amount for each period.
  • similar books may be sorted and output using information personalized for each user. For example, books that are preferred by users of similar ages may be output in order of affinity using information about an age of the user's personal information. In addition, in consideration of gender or inclination of personal information, specific similar books among the similar books may be output first. These operations may be performed using user personal information stored in a user behavior database.
  • the emotion word database stores words related to emotion.
  • the controller, the emotion graph generator, etc. generate an emotion graph with reference to the emotion word database.
  • the feeling of happiness can store various words such as laughter, smile, hazyness, and the like.
  • the emotion graph database may store an emotion graph for each book analyzed.
  • the user behavior database may include various book information such as an SNS site, an online bookstore site, an online book review site, and user behavior information about the book.
  • the book information database may include information related to books, such as book titles, book authors, and book publication year.
  • the book recommendation server generates an emotion graph according to the story flow of books (S810).
  • the book recommendation server determines the similarity between the book (interesting book) and other books of interest (S830). As described above, the similarity of the emotion graph may be measured to determine the similarity. Similar books are output as recommended books through the similarity calculation (S850).
  • the book recommendation server determines whether a story exists using the genre information of the book (S811). Next, the book recommendation server divides the book into predetermined sizes (S813). Next, the book recommendation server counts the appearance of the emotion word existing in each section (S815). Thereafter, the book recommendation server calculates a unit feeling sum value according to the interval by calculating the weight for each emotion word and generates an emotion graph according to the value (S817). Information about the graph is stored in an emotion graph database (S819).
  • a book recommendation server is a book that has been well received by a user, a book that the user has put in a shopping cart of an online shopping mall, or a book that has been steamed by the 'steaming' function in an online shopping mall, and the user books information.
  • Check the books that have been read (S820).
  • the book recommendation server determines that the book is a user interest book and analyzes the similarity between the interest book and other books (S830).
  • the book recommendation server outputs a similar book based on the similarity (S850).
  • the book recommendation server extracts a list of similar books to be recommended (S851).
  • the book recommendation server filters the list of similar books by applying user behavior information among the extracted books, for example, book information that the user has already read (S853).
  • User behavior information may include a variety of information, such as gender, age, SNS usage behavior.
  • the book recommendation server filters the list of similar books by applying the book information to the book information, for example, the rating information or the sales amount information (S855). After that, the filtered book is finally output (S857).
  • filtering can be understood as a concept of sorting books.
  • steps S851 and S855 need not be limited to sequential and may be reversed.
  • CDROM compact disk read-only memory
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read only memory
  • Such a medium may be implemented as any device that includes, stores, communicates, propagates, or moves executable instructions for use by or in connection with an instruction executable system, apparatus, or device.
  • a medium may be implemented as any device that includes, stores, communicates, propagates, or moves executable instructions for use by or in connection with an instruction executable system, apparatus, or device.
  • analog or digital logic using hardware such as one or more integrated circuits, or one or more processor execution instructions; Or in software of functions defined as an API (application programming interface) or DLL (Dynamic Link Library), local or remote procedure call or available in shared memory; Or as a combination of hardware and software.
  • API application programming interface
  • DLL Dynamic Link Library
  • the method may be represented by a signal or radio-signal medium.
  • the instructions for implementing the logic of any given program may take the form of an electrical, magnetic, optical, electromagnetic, infrared or other type of signal.
  • the system described above receives these signals at a communication interface, such as a fiber optic interface, an antenna, or other analog or digital signal interface, recovers instructions from the signals, stores them in machine readable memory, and / or uses a processor. You can also run them.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

서적 간 유사도를 활용한 서적추천방법이 개시된다. 본 발명의 일 측면에 따르면, (1) 서적추천서버가 복수의 서적 각각의 스토리플로우 감정그래프를 생성하는 단계; (2) 상기 서적추천서버가 제1 서적의 스토리플로우 감정그래프와 제2 서적의 스토리플루오 감정그래프 간의 유사도를 연산하는 단계; 및 (3) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 기초한 서적추천 방법이 제공된다.

Description

서적 간 유사도를 활용한 서적추천 방법
본 발명은 서적 간 유사도를 활용한 서적추천 방법에 관한 것이다.
과거로부터 읽은 책을 기록하고 관리하며, 책에 대한 평가를 공유하는 서비스는 존재하여 왔다. 또한, 이와 연관된 도서추천 서비스도 시행 중으로 국내에서는 그 서비스가 형성되어가는 단계이지만 해외, 특히 미국에서는 도서추천 서비스가 확고히 자리를 잡아 가고 있다. 이런 도서추천 서비스는 최근 인터넷 웹사이트뿐만 아니라 스마트폰 애플리케이션과 연동되어 서비스 중에 있다.
국내의 책 추천 서비스를 수행과 관련 특허를 검토하면 '도서 SNS 시스템 및 그 제공방법' (제10-2014-0038017호, 공개일자 2014.03.28)이 존재한다. 본 공개특허에는 도서추천을 위해 SNS(Social Networking Service)를 기반으로 다른 사용자의 콘텐츠를 공유하여 도서추천에 활용한다는 개념이 개시되어 있다. 다른 국내 책 추천 서비스에 관련 특허인 '독서 정보 공유를 통한 소셜 네트워크 서비스 제공 방법 및 시스템' (제10-2014-0133647호, 공개일자 2104.11.20)에도 책을 읽은 독자가 책에 대한 정보를 SNS를 통하여 다른 독자와 공유하겠다는 개념 정도만 개시되어 있다.
선행 도서 추천 방법 모두 SNS나 개인화된 정보를 이용하여 독자에게 도서를 추천하는 것에 한정되어 있을 뿐이며 실제 책의 내용을 분석하여 분류하고 추천하는 방법에 대해서는 명확히 개시한 바 없다.
이에 본 발명의 발명가는 책의 내용을 분석하고 이를 바탕으로 독자가 흥미를 느낄 수 있는 책을 추천하는 방법을 제시하였다.
본 발명 서적 간 유사도를 활용한 서적추천 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, (1) 서적추천서버가 복수의 서적 각각의 스토리플로우 감정그래프를 생성하는 단계; (2) 상기 서적추천서버가 제1 서적의 스토리플로우 감정그래프와 제2 서적의 스토리플루오 감정그래프 간의 유사도를 연산하는 단계; 및 (3) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 기초한 서적추천 방법이 제공된다.
또한, 상기 (1) 단계는 서적의 장르 정보를 이용하여 스토리플로우 감정그래프를 생성할 대상 서적을 선별하는 단계를 더 포함할 수 있다.
또한, 상기 (1) 단계는, 각 서적에 포함된 전체 단어들의 개수에 대한 소정의 비율의 개수 만큼의 단어들을 분석하는 윈도우(window)를 생성하는 단계; 및 상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는, 기정의된 감정단어테이블 내에 포함된 단어들을 참조하여 상기 윈도우 내에 포함된 각 단어에 대한 감정값을 부여하는 단계; 상기 윈도우 내 각 단어에 대한 감정값들을 합산한 단위감정합산값을 도출하는 단계; 및 상기 단위감정합산값에 기초하여 스토리플로우 감정그래프를 디스플레이하는 단계를 더 포함할 수 있다. 또한, 상기 단위감정합산값에 기초하여 스토리플로우 감정그래프에 대한 데이터를 생성할 수 있다.
또한, 상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는, 상기 윈도우를 분석대상 서적의 각 페이지에 포함된 단어들의 개수의 평균개수의 단어만큼 이동시킬 수 있다.
상기 (2) 단계는, 상기 스토리방향에 따른 상기 제1 서적의 단위감정합산값과 상기 스토리방향에 따른 상기 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값; 및 상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값 중 어느 하나 이상에 기초하여 연산하는 것일 수 있다.
상기 제1 서적은, 사용자에 의해 소정의 기준값 보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 관련 서적 정보가 열람된 적이 있는 서적일 수 있다.
상기 (3) 단계는, 상기 하나 이상의 유사서적 중 사용자가 기독서한 서적은 제외하는 단계; 상기 하나 이상의 유사서적 중 서적 평점에 순서대로 상기 유사서적을 출력하는 단계; 사기 하나 이상의 유사서적 중 사용자 정보를 고려하여 상기 유사서적을 출력하는 단계 중 어느 하나 이상의 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 상기 방법을 실행시키는 기록매체에 저장된 컴퓨터 프로그램일 수 있다.
본 발명에 따르면 서적추천방법을 제공할 수 있다.
도 1은 본 발명에 따른 서적추천시스템의 구성도.
도 2는 윈도우와 스토리플로우 감정그래프 생성을 설명하기 위한 개념도.
도 3은 감정단어 데이터베이스에 포함된 행복이라는 감정을 나타내는 단어들의 감정값 테이블.
도 4는 감정값이 부여된 단어들이 존재하는 서적의 페이지를 나타낸 도면.
도 5는 스토리플로우 방향에 따른 단위감정합산값의 변화를 나타낸 그래프.
도 6은 실시예에 따른 서적들의 단위감정합산값을 나타낸 테이블
도 7은 스토리플로우에 따른 감정그래프.
도 8은 유사판단기초값을 나타내는 테이블.
도 9 내지 12는 본 발명에 따른 순서도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
[부호의 설명]
100 : 서적추천시스템
110 : 제어부
120 : 감정그래프생서부
130 : 감정그래프유사판단부
140 : 서적추천부
150 : 입출력부
160 : 사용자행동추출부
101 : 감정단어데이터베이스
103 : 감정그래프데이터베이스
105 : 사용자행동데이터베이스
107 : 서적정보데이터베이스
이하, 본 발명에 따른 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 이하 사용되는 제1, 제2 등과 같은 용어는 동일 또는 상응하는 구성 요소들을 구별하기 위한 식별 기호에 불과하며, 동일 또는 상응하는 구성 요소들이 제1, 제2 등의 용어에 의하여 한정되는 것은 아니다.
또한, 결합이라 함은, 각 구성 요소 간의 접촉 관계에 있어, 각 구성 요소 간에 물리적으로 직접 접촉되는 경우만을 뜻하는 것이 아니라, 다른 구성이 각 구성 요소 사이에 개재되어, 그 다른 구성에 구성 요소가 각각 접촉되어 있는 경우까지 포괄하는 개념으로 사용하도록 한다.
도 1은 본 발명에 따른 서적추천시스템의 구성도이다. 도 1을 참조하면, 서적추천시스템은 제어부(110), 감정그래프생성부(120), 감정그래프유사판단부(130), 서적추천부(140), 입출력부(150), 감정단어데이터베이스(101), 감정그래프데이터베이스(103), 사용자행동데이터베이스(105), 서적정보데이터베이스(107)이 도시되어 있다. 본 서적추천시스템은 서적추천서버가 될 수 있다.
먼저, 제어부(110)는 감정그래프생성부, 감정그래프유사판단부, 서적추천부, 입력부, 출력부 등 구성들을 제어하는 역할을 한다. 예를 들어, 사용자로부터 제어신호 등을 입력받아 제어신호에 따라 감정그래프를 생성하도록 감정그래프생성부를 제어하는 역할을 할 수 있다. 제어부가 제어부에 연결된 각각의 데이터베이스들을 제어할 수 있음은 물론이다. 도 1에서는 각종 데이터베이스가 서적추천시스템인 서버 내에 포함되어 있는 것을 도시되어 있으나 상기 데이터베이스들이 서버 외부에 존재하여도 무방하다. 또한, 본 발명의 상세한 설명 및 청구항에서는 서적에 대해서 언급하고 있으나 본 발명의 적용은 서적에 한정된 것이 아니며, 웹소설, 만화 등 활자를 포함하는 구별된 텍스트에 대해서는 모두 적용이 가능하다.
다음으로, 감정그래프생성부(120)는 서적들의 스토리플로우에 대한 감정그래프를 생성하는 역할을 한다. 스토리플로우는 서적의 첫 장에서 마지막 장까지의 시간순서에 따른 이야기 전개를 의미할 수 있다. 일반적으로 설명문이나 논설문을 제외한 소설책이나 수필, 기행문 등은 문학적인 요소를 포함하고 전체적으로 본문 내에 감정의 흐름이 존재한다. 예를 들어, 윌리엄 셰익스피어의 소설 '로미오와 줄리엣'의 경우, 양 가문의 다툼, 로미오와 줄리엣의 사랑, 줄리엣과 패리스의 결혼 강요, 로미오와 패리스의 결투, 로미오의 자살, 줄리엣의 자결, 양 가문의 화해 등의 여러 가지 감정이 포함된 스토리플로우를 갖는다. 구체적으로, 감정 중 일종이 행복이라는 감정의 관점에서 검토하면, 소설의 초기의 양 가문의 다툼에서는 감정 정도가 낮고, 중반부에는 로미오와 줄리엣의 사랑에서는 감정이 강하며, 종반에서는 결투로 인해 감정 정도가 낮으나 최종부에는 화해로 인하여 다시 행복이라는 감정이 올라가게 된다. 이와 같이 소설이나 수필과 같은 문학적 요소가 포함된 서적의 경우 스토리플로우에 따른 감정변화가 존재한다. 감정그래프생성부는 이런 감정변화를 감정그래프로 생성하는 역할을 한다.
또한, 감정그래프생성부는 서적정보데이터베이스에 저장되어 있을 수 있는 서적의 장르정보를 이용하여 스토리플로우에 따른 감정그래프가 생성되어야 할 서적을 선별할 수 있다. 더욱 구체적으로 감정그래프생성부는 기획득된 서적의 장르정보가 소설인 경우에는 감정그래프생성을 위해 감정그래프생성부에 서적의 스토리플로우를 입력한다. 이에 반해, 서적의 장르정보가 논설문인 경우, 추출할 감정이 없다고 판단하여 감정그래프생성을 시도하지 않는다.
또한, 감정그래프생성부는 윈도우(window)를 통해 서적 내 감정을 분석할 수 있다. 도 2는 본 발명에 따른 스토리플로우 감정그래프 생성을 설명하기 위한 개념도이다. 도 2를 참조하면, 서적의 스토리플로우를 구성하는 단어들을 메모리(미도시)에 입력하고, 본 메모리에 저장된 단어들을 부분 부분으로 나누어 순차적으로 읽어드려 감정 분석을 수행한다. 더욱 구체적으로 예를 들어, 서적이 만 개의 단어들로 이루어진 소설이라고 가정한다. 이만 개의 단어들로 이루어진 서적에 대해 백 개의 단어 단위로 감정을 분석하며 이때 감정분석의 대상이 되는 단어들을 그룹을 윈도우라고 칭할 수 있다. 이 윈도우를 서적의 첫 단어부터 마지막 단어 순서의 방향으로 이동시켜가며, 윈도우에 포함된 단어들의 감정값을 산출할 수 있다.
윈도우의 크기는 사용자가 임의로 정할 수 있다. 본 발명의 일 실시예에서는 서적의 전체 단어 수의 1%에 해당하는 수만큼의 단어들을 윈도잉할 수 있는 크기의 윈도우를 정하였다. 예를 들어, 전체 소설에 만 개의 단어가 포함되어 있다면 윈도우는 백 개의 단어들을 읽어들일 수 있다. 물론 윈도우의 크기가 상기 예에 한정되는 것은 아니며 다양한 크기의 윈도우를 가질 수 있다.
윈도우의 크기는 서적의 페이지에 포함된 단어들 개수의 평균치의 단어들을 갖도록 하여도 무방하다. 이를 통해 윈도우의 크기는 서적 각 페이지 정도가 될 수 있다.
또한, 윈도우는 서적의 스토리플로우 방향으로 이동시킬 수 있다. 예를 들어, 만 개의 단어로 이루어진 서적에 백 개의 단어를 읽어 드릴 수 있는 윈도우를 적용하여 이동시킨다고 가정한다. 최초 윈도우의 위치는 첫 번째 단어에서 백 번째 단어에 위치하게 되며, 최초 윈도우가 위치한 곳에 대한 서적의 내용을 분석하여 감정을 추출할 수 있다. 이후 윈도우를 스토리플로우 방향으로 한 단어씩 이동시킨다. 그 결과, 윈도우가 두 번째 단어에서 백일 번째 단어에 위치하게 되며, 이에 해당하는 단어들의 감정을 분석할 수 있다. 이러한 과정을 반복하여 윈도우가 마지막 구천구백일 번째 단어에서 만 번째 단어에 위치하게 되며, 이에 해당하는 단어들의 감정을 분석할 수 있다. 이와 같은 과정을 통해 구천구백일 번의 감정 분석이 수행되어 서적 전체에 대한 감정분석이 완료될 수 있다. 한편, 첫 번째 감정분석 결과값부터 구천구백일 번째 감정분석 결과값은 한 단어의 추가 및 삭제가 반복되는 것이므로 그 결과값이 부드럽게 변화할 수 있다. 위에 대한 내용을 정리하면 다음과 같다.
전체 서적의 단어 개수 = n
윈도우의 크기 = 윈도우에 포함될 수 있는 단어 개수 = m
서적 내 제a 위치의 윈도우의 분석대상단어 = 서적 내 a 번째 단어부터 a+m-1 번째 단어
서적의 스토리플로우 순서로 n번째에 위치하는 단어 =단어(n)
예시)
전체 서적의 단어 개수 = 10,000
윈도우의 크기 = 100
제1 위치의 윈도우의 분석대상단어들 = 단어 (1) 내지 단어 (100)
제2 위치의 윈도우의 분석대상단어들 = 단어 (2) 내지 단어 (101)
.....
제99,901 위치의 윈도우의 분석대상단어들 = 단어 (99,901) 내지 단어 (10,000)
한편, 윈도우의 이동은 한 단어 단위로 이동할 수 있지만 이에 한정된 것은 아니며 한 페이지씩 이동하여 감정값을 연산하여도 무방하다. 이 경우 윈도우 내에 단어가 전면 교체되므로 감정값의 변화가 다소 클 수 있다. 예를 들어, 윈도우의 크기를 서적의 한 페이지 크기로 설정하고, 이동 단위도 한 페이지로 설정하는 경우, 각 페이지에 대한 감정 결과값이 순차적으로 도출될 수 있다. 또한, 감정값이 이산(discrete)하게 분포될 수 있다.
다음으로, 윈도우의 감정값 연산 방법에 대해 설명한다. 감정그래프생성부는 윈도우에 포함된 단어들을 분석하여 감정 정도를 산출한다. 구체적으로 윈도우 내 단어들 중 특정 감정에 연관된 단어가 있는지 검색하고, 검색된 단어에 부여된 점수를 합산하여 특정 감정 정도에 대한 값을 산출한다. 도 3은 감정단어 데이터베이스(101)에 포함된 행복(happiness)이라는 감정을 나타내는 단어들의 감정값 테이블이다. 행복이라는 감정값 테이블을 살펴보면, '웃음'이라는 단어는 감정값이 4이고, '행복'이라는 감정값은 '3'이 될 수 있다. 반드시 양수의 감정값만을 갖는 것은 아니며 음수의 감정값을 갖는 단어도 존재한다. 예를 들어, '미움'이라는 단어는 감정값이 '-1'이고, 복수라는 단어는 감정값이 '-3'이다. 감정값의 표현은 반드시 양수 또는 음수에 한정될 필요는 없고 감정값의 정도를 표현할 수 있으면 족하다. 예를 들어 상, 중, 하로 나타낼 수도 있다.
포함된 단어들이 감정값 테이블에 존재하는 경우, 각 단어에 따른 감정값을 합산하여 최종 단위감정합산값을 산출한다. 즉, 단위감정합산값이란 하나의 윈도우에 포함된 단어들의 감정값을 합산한 것을 의미할 수 있다. 도 4는 감정값이 부여된 단어들이 존재하는 페이지에 관한 것이다. 예를 들어, 도 4의 페이지에서 행복이라는 감정에 관한 단어인 '웃음', '사랑', '행복', '증오'가 검색된다. 이에 각 감정에 관한 단어의 감정값을 합산하면 본 페이지의 단위감정합산값은 웃음(4)+사랑(2)+행복(3)+증오(-2)로 7점으로 산출된다. 이런 단위감정합산값을 스토리플로우 방향으로 반복하여 연산하면 행복이라는 감정에 대한 서적의 감정그래프가 도출될 수 있다. 도 5는 이런 스토리플로우 방향에 따른 단위감정값을 그래프로 나타낸 것이다.
본 예시에서는 행복이라는 감정에 대해서만 감정그래프를 생성하였으나 이에 한정되지 않으며, 행복, 놀람, 후회, 고독, 두려움 등 다양한 감정그래프가 생성될 수 있다. 이를 위해 감정단어 데이터베이스에 다양한 감정테이블이 존재할 수 있으며, 상기 감정테이블에는 다양한 단어가 존재할 수 있다. 또한, 감정값을 연산할 때 단어의 동일 여부에 한정될 필요는 없으며, 뜻의 나타내는 최소 단위인 형태소 단위로 감정값을 산출하여도 무방하다.
감정그래프 유사판단부(130)는 각 서적의 감정그래프 간의 유사도를 판단하는 역할을 한다. 더욱 구체적으로 제1 서적의 단위감정합산값과 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값 및 상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값을 기초로 하여 제1 서적과 제2 서적 간의 유사도를 판단한다. 또한, 앞서 언급한 바와 같이 하나의 감정에 한정되는 것이 아니라 여러 개의 감정 그래프들 간에 유사도를 측정하여 최종적으로 양 서적 간의 유사도를 도출할 수 있다.
도 6은 서적 1 내지 4 각각의 구간별 단위감정합산값을 나타낸 테이블이며, 도 7은 이를 그래프로 나타낸 것이다. 도 6 및 도 7을 참조하면, 서적1과 서적2 간의 구간별 단위감정합산값의 차이는 도 8과 같이 나타난다. 제1 유사판단기초값은 제1 서적의 단위감정합산값과 스토리방향에 따른 상기 제2 서적의 단위감정합산값 간의 차이를 의미하며, 제2 유사판단기초값은 상기 제1 유사판단기초값의 변화량을 나타낸다. 도 8을 참조하여, 서적 1과 서적 2 간의 제1 유사판단기초값은 '1, 3, 5, 7, 9, 11, 8, 6, 4, 2, 1, 1, 3, 5'와 같이 나열된다. 한편, 서적 1과 서적 3 간의 제1 유사판단기초값은 전부 '1'이다. 감정그래프유사판단부는 양 서적의 단위감정합산값의 차이가 작을수록 유사하다고 판단한다. 즉, 제1 유사판단기초값이 작을수록 양 서적이 유사하다고 판단할 수 있다. 그러므로 도 8을 참조하면, 감정그래프유사판단부는 서적 2에 비해 서적 3은 서적 1에 더 유사하다고 판단할 수 있다. 또한, 제2 유사판단기초값을 검토해보면, 서적1과 서적2 간의 제1 유사판단기초값의 변화량이 크므로 제2 유사판단기초값도 크다. 이에 반해 서적1과 서적3 간의 제1 유사판단기초값의 변화량은 없으므로 제2 유사판단기초값은 '0'이다. 그러므로 감정그래프유사판단부는 제2 유사판단기초값이 작은 서적1과 서적 3이 서적1과 서적2에 비해 더 유사하다고 판단할 수 있다. 감정그래프유사판단부는 제1 유사판단기초값 및 제2 유사판단기초값 중 어느 하나 이상을 혼합하여 양 서적 간의 유사판단을 할 수 있다. 또한, 유사판단기초값에 서적의 성격 등에 따라 가중치를 부여하여 두 개의 서적 간의 유사도를 측정할 수 있다.
서적 1과 서적 3 및 서적 1과 서적 4 간에는 제1 유사판단기초값의 변화가 없기 때문에 제2 유사판단기초값은 '0'이 된다. 그러나 제1 유사판단기초값이 차이가 있으므로 감정그래프유사판단부는 값이 작은 서적 1과 서적 3 간이 서적 1과 서적 4보다 더 유사하다고 판단할 수 있다.
서적추천부(140)는 사용자에 의해 소정의 기준값보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 서적 정보가 열람된 적이 있는 서적과 유사한 서적들을 선택하여 사용자에게 추천하는 역할을 한다. 상기 역할은 서적추천부 내의 유사서적추출모듈(미도시)에서 할 수 있다.
더욱 구체적으로 서적추천시스템은 궁극적으로 사용자가 흥미를 느낄만한 서적을 추천하는 역할을 한다. 이때 서석추천시스템의 서적추천부는 사용자의 행동패턴 등을 분석하여 이와 관련된 서적에 대한 유사한 서적들을 추천할 수 있다. 더더욱 구체적으로 사용자의 개인화된 정보, 사용자 맞춤형 추천 서적을 제공하기 위해 사용자의 온라인상의 행동을 파악하여 추천서적 선택에 활용하는 것이다. 예를 들어, 사용자가 온라인 웹사이트 등에서 특정 서적에 대해서 높은 평가점수를 부여한 경우, 상기 서적과 유사한 서적들을 감정그래프유사판단부를 통해 선별하여 추천한다. 또한, 사용자가 아마존(등록상표) 등의 온라인 서점에서 특정 서적을 구매하였거나 구매를 하기 위해 장바구니에 담은 적이 있는 경우, 상기 특정 서적과 유사한 서적들을 선택하여 사용자에게 추천정보를 제공할 수 있다. 또한, 사용자가 온라인 커뮤니티나 평론 사이트에서 특정 서적에 대한 서평을 열람한 적이 있는 경우, 상기 서적과 유사한 서적들을 선택할 수 있다.
상기 외부 온라인 공간상의 웹사이트, 예를 들어, SNS 사이트, 온라인 서점 사이트, 온라인 서평 사이트 등의 다양한 서적 정보 및 서적에 대한 사용자의 행동 정보는 상기 사이트로부터 사용자행동추출부(160)를 통해 추출될 수 있다. 사용자행동추출부를 통해 추출된 사용자 행동정보는 사용자행동데이터베이스에 저장될 수 있다.
또한, 서적추천부는 선택된 서적 중을 임의대로 추천할 수 있다. 앞서 서적추출부, 특히 유사서적추출모듈이 사용자의 행동 등을 고려하여 유사한 서적들을 선별하였다면, 서적추출부의 선별추천모듈(미도시)은 선별된 유사서적들을 기설정된 기준에 따라 최종적으로 출력하는 역할을 한다. 즉, 상기 출력 역할은 서적추천부 내의 선별추천모듈이 할 수 있다. 선별추천모듈은 유사서적추출모듈이 추출한 유사서적들 중 사용자가 이미 읽은 적이 있는 서적을 제외하고 남은 서적들을 추천할 수 있다. 또한, 사용자, 타사용자, 평론가 등의 평점이 낮은 서적들은 제외하고 남은 서적들을 추천할 수 있다. 혹은 사용자 정보를 고려하여 사용자가 읽기 부적절한 등급의 서적들은 제외하고 추천할 수 있다. 선별추천모듈은 유사서적들 중 기설정된 기준에 기초하여 추천하지 않을 서적들을 제외하는 역할을 한다. 한편, 선별추천모듈이 서적 선별을 위해 서적정보데이터베이스를 참조할 수 있다. 서적정보데이터베이스 내에 각 서적에 대한 다양한 정보가 포함될 수 있다. 또한, 선별추천모듈은 사용자행동데이터베이스와 서적정보데이터베이스를 연계하여 서적을 최종적으로 추천할 수 있다. 예를 들어, 특정 사용자가 이미 독서한 서적에 대한 정보는 사용자행동데이터베이스에 저장될 수 있기 때문이다.
또한, 선별추추천모듈은 유사서적추출모듈에서 추출한 서적들을 특정 기준에 따라 분류하여 출력할 수 있다. 하나 이상의 서적들을 서적 평점 순서에 따라 출력할 수 있다. 이 경우 서적정보데이터베이스를 이용하여 각 서적의 평점을 불러올 수 있고, 이를 활용한다. 또한, 유사서적 각각의 누적 판매량, 기간별 판매량 등의 정보에 기초하여 서적들을 소트하여 출력할 수 있다.
또한, 사용자 개개인에 맞추어 개인화된 정보를 활용하여 유사서적들을 소트하여 출력할 수도 있다. 예를 들어, 사용자 개인의 정보 중 나이에 대한 정보를 이용하여 유사한 연령대의 사용자가 선호하는 서적들을 호감도 순서대로 출력할 수 있다. 또한, 그 밖에 개인의 정보 중 성별이나 성향 등을 고려하여 유사서적들 중 특정 유사서적을 먼저 출력하게 할 수 있다. 이러한 동작들은 사용자행동데이터베이스 내에 저장된 사용자 개인 정보를 이용하여 수행될 수 있다.
데이터베이스를 살펴보면, 감정단어데이터페이스는 감정에 관련된 단어들이 저장되어 있다. 또한, 제어부, 감정그래프생성부 등이 감정단어데이터베이스를 참조하여 감정그래프 등을 생성한다. 예를 들어, 행복이라는 감정이라고 하면 관련된 단어인 웃음, 미소, 흐믓 등등 다양한 단어가 저장될 수 있다. 감정그래프데이터베이스는 분석된 각 서적에 대한 감정그래프가 저장될 수 있다. 사용자행동데이터베이스는 앞서 설명한 바와 같이 SNS 사이트, 온라인 서점 사이트, 온라인 서평 사이트 등의 다양한 서적 정보 및 서적에 대한 사용자의 행동 정보를 포함할 수 있다. 마지막으로 서적정보데이터베이스는 서적에 관련된 정보 즉, 서적 제목, 서적 저자, 서적 출판연도 등 서저에 관한 정보를 포함할 수 있다.
도 9 내지 12는 본 발명에 따른 동작 순서도들이다. 도 1 내지 도 8의 본 발명에 따른 서적추천시스템 설명과 중복된 설명은 제외하고 설명한다. 도 9을 참조하면, 서적추천서버가 서적들의 스토리플로우에 따른 감정그래프를 생성한다(S810). 다음으로 서적추천서버가 사용자가 관심을 두는 서적(흥미서적)과 타서적들 간의 유사도를 판단한다(S830). 앞서 설명한 바와 같이 감정그래프의 유사도를 측정하여 유사도를 판단할 수 있다. 상기 유사도 연산을 통해 유사한 서적들을 추천 서적으로 출력한다(S850).
도 10은 스토리플로우에 따른 감정그래프를 생성하는 단계를 더 분석하여 나타낸 순서도이다. 도 10를 참조하면, 서적추천서버가 서적의 장르정보를 이용하여 스토리 존재 여부를 판단한다(S811). 다음으로, 서적추천서버는 서적을 소정의 크기로 구간을 나눈다(S813). 다음으로, 서적추천서버는 각 구간에 존재하는 감정 단어의 출현을 카운팅한다(S815). 이후 서적추천서버는 감정 단어별로 가중치에 따라 연산하여 구간에 따른 단위감정합산값을 연산하고 상기 값에 따라 감정그래프를 생성한다(S817). 상기 그래프에 대한 정보를 감정그래프데이터베이스에 저장한다(S819).
도 11은 사용자에게 추천할 서적을 추출하기 위한 전처리 단계를 나타낸 도면이다. 도 11을 참조하면, 서적추천서버는 사용자로부터 호평을 받은 서적, 사용자가 온라인 쇼핑몰의 장바구니에 담은 적이 있는 서적, 혹은 온라인 쇼핑몰에서 '찜하기' 기능으로 찜이 된 적이 있는 서적, 사용자가 서적 정보를 열람한 적이 있는 서적 등을 확인한다(S820). 서적추천서버는 이런 서적을 사용자 흥미서적이라고 판단하고 상기 흥미서적과 타서적들 간의 유사도를 분석한다(S830). 서적추천서버는 상기 유사도를 바탕으로 유사한 서적을 출력한다(S850).
도 12는 유사도 연산 등에 기초하여 추천 서적 출력하는 단계를 분석하여 설명한 순서도이다. 도 12를 참조하면, 서적추천서버가 추천할 유사한 서적들 리스트를 추출한다(S851). 서적추천서버는 상기 추출된 서적들 중 사용자행위정보, 예를 들어, 사용자가 이미 읽은 적이 있는 서적정보를 적용하여 유사한 서적들 리스트를 필터링한다(S853). 사용자행위정보는 성별, 나이, SNS 사용 행태 등 다양한 정보가 포함될 수 있다. 다음으로, 서적추천서버는 서적정보, 예를 들어, 평점정보 또는 판매량정보 등을 서적정보를 적용하여 유사한 서적들 리스트를 필터링한다(S855). 이후 필터링된 서적을 최종적으로 출력한다(S857). 한편, 필터링으로 표현을 했으나 필터링은 서적을 소팅한다는 개념으로 이해될 수 있다. 또한, S851 단계와 S855 단계는 순차적인 것으로 한정될 필요 없고 그 순서가 바뀌어도 무방하다.
위와 같은 서적추천시스템 및 서적추천방법을 통하여 사용자에게 취향에 맞는 적절한 서적을 추천할 수 있다.
상술된 방법 및 처리는, 예를 들어, 프로세서, 컨트롤러, 또는 다른 처리 디바이스에 의한 실행을 위한 명령들로서, 인코딩되거나, 컴팩트 디스크 판독 전용 메모리 (CDROM), 자기 또는 광학 디스크, 플래시 메모리, 랜덤 액세스 메모리 (RAM) 또는 판독 전용 메모리 (ROM), 소거가능 프로그램가능 판독 전용 메모리(EPROM) 또는 다른 머신-판독가능 매체와 같은 머신 판독가능 또는 컴퓨터 판독가능 매체에 저장될 수도 있다.
이러한 매체는, 명령 실행가능 시스템, 장치 또는 디바이스에 의해 또는 이와 연결하여 사용하기 위한 실행가능한 명령들을 포함, 저장, 통신, 전파 또는 이동시키는 임의의 디바이스로서 구현될 수도 있다. 대안으로 또는 추가적으로, 하나 이상의 집적 회로, 또는 하나 이상의 프로세서 실행 명령들과 같은 하드웨어를 이용하여 아날로그 또는 디지털 로직으로서; 또는 API (application programming interface) 또는 DLL (Dynamic Link Library), 로컬 또는 원격 절차 호출로서 정의된 또는 공유 메모리에서 이용가능한 기능들의 소프트웨어로; 또는 하드웨어 및 소프트웨어의 조합으로서 구현될 수도 있다.
다른 구현에서, 방법은 신호 또는 전파-신호 매체로 나타내어질 수도 있다. 예를 들어, 임의의 소정의 프로그램의 로직을 구현하는 명령들은 전기, 자기, 광학, 전자기, 적외선 또는 다른 타입의 신호의 형태를 취할 수도 있다. 상술된 시스템은 광섬유 인터페이스, 안테나, 또는 다른 아날로그 또는 디지털 신호 인터페이스와 같은 통신 인터페이스에서 이러한 신호를 수신하고, 그 신호로부터 명령들을 복원하고, 이들을 머신 판독 가능 메모리에 저장하고, 그리고/또는 프로세서를 이용하여 이들을 실행시킬 수도 있다.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.
서적 간 유사도를 활용한 서적추천을 할 수 있는 방법에 활용될 수 있다.

Claims (8)

  1. (1) 서적추천서버가 복수의 서적 각각의 스토리플로우 감정그래프를 생성하는 단계;
    (2) 상기 서적추천서버가 제1 서적의 스토리플로우 감정그래프와 제2 서적의 스토리플루오 감정그래프 간의 유사도를 연산하는 단계; 및
    (3) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.
  2. 제1 항에 있어서,
    상기 (1) 단계는,
    서적의 장르 정보를 이용하여 스토리플로우 감정그래프를 생성할 대상 서적을 선별하는 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천 방법.
  3. 제1 항에 있어서,
    상기 (1) 단계는,
    각 서적에 포함된 전체 단어들의 개수에 대한 소정의 비율의 개수 만큼의 단어들을 분석하는 윈도우(window)를 생성하는 단계; 및
    상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천 방법.
  4. 제3 항에 있어서,
    상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는,
    기정의된 감정단어테이블 내에 포함된 단어들을 참조하여 상기 윈도우 내에 포함된 각 단어에 대한 감정값을 부여하는 단계;
    상기 윈도우 내 각 단어에 대한 감정값들을 합산한 단위감정합산값을 도출하는 단계; 및
    상기 단위감정합산값에 기초하여 스토리플로우 감정그래프에 대한 데이터를 생성하는 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천 방법.
  5. 제3 항에 있어서,
    상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는,
    상기 윈도우를 분석대상 서적의 각 페이지에 포함된 단어들의 개수의 평균개수의 단어만큼 이동시키는 서적 간 유사도를 활용한 서적추천 방법.
  6. 제4항에 있어서,
    상기 (2) 단계는,
    상기 스토리방향에 따른 상기 제1 서적의 단위감정합산값과 상기 스토리방향에 따른 상기 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값; 및
    상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값 중 어느 하나 이상에 기초하여 연산하는 것임을 특징으로 하는 서적 간 유사도를 활용한 서적추천 방법.
  7. 제1 항에 있어서,
    상기 제1 서적은,
    사용자에 의해 소정의 기준값 보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 관련 서적 정보가 열람된 적이 있는 서적인 서적 간 유사도를 활용한 서적추천 방법.
  8. 제1 항에 있어서,
    상기 (3) 단계는,
    상기 하나 이상의 유사서적 중 사용자가 기독서한 서적은 제외하는 단계;
    상기 하나 이상의 유사서적 중 서적 평점에 순서대로 상기 유사서적을 출력하는 단계; 및
    상기 하나 이상의 유사서적 중 사용자 정보를 고려하여 상기 유사서적을 출력하는 단계 중 어느 하나 이상의 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천방법.
PCT/KR2018/008506 2018-07-27 2018-07-27 서적 간 유사도를 활용한 서적추천 방법 WO2020022537A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SG11202100862SA SG11202100862SA (en) 2018-07-27 2018-07-27 Book recommendation method using similarity between books
US17/262,230 US20210303649A1 (en) 2018-07-27 2018-07-27 Book recommendation method utilizing similarity between books
PCT/KR2018/008506 WO2020022537A1 (ko) 2018-07-27 2018-07-27 서적 간 유사도를 활용한 서적추천 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/008506 WO2020022537A1 (ko) 2018-07-27 2018-07-27 서적 간 유사도를 활용한 서적추천 방법

Publications (1)

Publication Number Publication Date
WO2020022537A1 true WO2020022537A1 (ko) 2020-01-30

Family

ID=69181802

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/008506 WO2020022537A1 (ko) 2018-07-27 2018-07-27 서적 간 유사도를 활용한 서적추천 방법

Country Status (3)

Country Link
US (1) US20210303649A1 (ko)
SG (1) SG11202100862SA (ko)
WO (1) WO2020022537A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765476A (zh) * 2020-07-27 2021-05-07 上海斐杰教育科技有限公司 一种亲子阅读资源推荐服务系统与方法
CN114218490A (zh) * 2021-12-17 2022-03-22 海信集团控股股份有限公司 图书推荐方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100066862A (ko) * 2008-12-10 2010-06-18 주식회사 인터파크아이엔티 독서 관리 시스템
JP2013210787A (ja) * 2012-03-30 2013-10-10 Dainippon Printing Co Ltd 書籍推薦システム、書籍推薦方法、書籍推薦サーバ及びプログラム
JP2015135637A (ja) * 2014-01-17 2015-07-27 Kddi株式会社 ストーリーを持つ文章間の類似度を導出する類似検索プログラム、装置及び方法
JP2016006593A (ja) * 2014-06-20 2016-01-14 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
KR20160098084A (ko) * 2015-02-09 2016-08-18 특허법인 해담 관심대상 문서 필터링 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100066862A (ko) * 2008-12-10 2010-06-18 주식회사 인터파크아이엔티 독서 관리 시스템
JP2013210787A (ja) * 2012-03-30 2013-10-10 Dainippon Printing Co Ltd 書籍推薦システム、書籍推薦方法、書籍推薦サーバ及びプログラム
JP2015135637A (ja) * 2014-01-17 2015-07-27 Kddi株式会社 ストーリーを持つ文章間の類似度を導出する類似検索プログラム、装置及び方法
JP2016006593A (ja) * 2014-06-20 2016-01-14 ヤフー株式会社 抽出装置、抽出方法及び抽出プログラム
KR20160098084A (ko) * 2015-02-09 2016-08-18 특허법인 해담 관심대상 문서 필터링 시스템 및 그 방법

Also Published As

Publication number Publication date
SG11202100862SA (en) 2021-02-25
US20210303649A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
Smetanin The applications of sentiment analysis for Russian language texts: Current challenges and future perspectives
CN108073568A (zh) 关键词提取方法和装置
Sänger et al. SCARE―the Sentiment Corpus of App Reviews with Fine-grained Annotations in German
WO2020022536A1 (ko) 서적 간 유사도를 활용한 서적추천 방법
Schmidt et al. Senttext: A tool for lexicon-based sentiment analysis in digital humanities
WO2020022537A1 (ko) 서적 간 유사도를 활용한 서적추천 방법
Ali et al. Banglasenti: A dataset of bangla words for sentiment analysis
WO2020111827A1 (ko) 프로필 자동생성서버 및 방법
Heeringa et al. Measuring syntactical variation in Germanic texts
KR102119083B1 (ko) 사용자 리뷰 기반 평점 재산정 장치 및 방법, 이를 기록한 기록매체
Wahyudi et al. Topic modeling of online media news titles during covid-19 emergency response in Indonesia using the latent dirichlet allocation (LDA) algorithm
KR101887469B1 (ko) 서적 간 유사도를 활용한 서적추천 방법
WO2018143490A1 (ko) 웹 콘텐츠를 이용한 사용자 감성 예측 시스템 및 그 방법
Downer et al. All work and no play: A text analysis
Suzuki et al. Analysis of behavioral facilitation tweets for large-scale natural disasters dataset using machine learning
Monroe The meanings of “meaning” in social scientific text analysis
KR101887474B1 (ko) 서적 간 유사도를 활용한 서적추천 방법
Kwon et al. Making your tweets more fancy: Emoji insertion to texts
Bayazed et al. SDCT: multi-dialects corpus classification for Saudi Tweets
KR20180090764A (ko) 서적 간 유사도를 활용한 서적추천 방법
Rofiq Indonesian news extractive text summarization using latent semantic analysis
Won et al. SS-PT: A stance and sentiment data set from portuguese quoted tweets
Vadesara et al. Corpus building for hate speech detection of gujarati language
Ali et al. A novel approach for ensuring location privacy using sentiment analysis and analysis for health-care and its effects on humans health
Adewumi Vector representations of idioms in data-driven chatbots for robust assistance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18927721

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18927721

Country of ref document: EP

Kind code of ref document: A1