WO2020022536A1 - Book recommendation method utilizing similarity between books - Google Patents
Book recommendation method utilizing similarity between books Download PDFInfo
- Publication number
- WO2020022536A1 WO2020022536A1 PCT/KR2018/008505 KR2018008505W WO2020022536A1 WO 2020022536 A1 WO2020022536 A1 WO 2020022536A1 KR 2018008505 W KR2018008505 W KR 2018008505W WO 2020022536 A1 WO2020022536 A1 WO 2020022536A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- book
- books
- similarity
- similar
- recommendation server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, 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 receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency; (3) the book recommendation server calculating a similarity between the keyword of the first book and the keyword of the second book; And (4) the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
- the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency; (3) the book recommendation server assigning one or more book themes based on the keywords; (4) calculating, by the book recommendation server, the similarity between the book theme of the first book and the book theme of the second book; (5) A book recommendation method is provided based on the similarity between books, including the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
- the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server generating at least one group in the book data using a latent rich allocation algorithm (LDA) algorithm; (3) the book recommendation server calculating a similarity between the group of the first book and the group of the second book; And (4) the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
- LDA latent rich allocation algorithm
- the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracts one or more keywords from the book data based on word frequency and inverse document frequency, or assigns one or more book themes based on the keywords; Generating at least one group in the book data based on a latent allocation algorithm (LDA) algorithm; (4) the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, or calculates a second similarity between the book theme of the first book and the book theme of the second book, or Calculating a third similarity between the group of books and the group of second books; (5) The book recommendation method is provided based on the similarity between books including the book recommendation server outputting one or more similar books similar to the first book according to any one or more of the first to third similarities.
- LDA latent allocation algorithm
- the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server selecting one of first and third similarity calculation methods; (3) When a first similarity calculation method is selected, the book recommendation server extracts one or more keywords from the book data based on a word frequency and an inverse document frequency, and a third similarity calculation method.
- the book recommendation server If selected, the book recommendation server generating one or more groups in the book data based on Latent Dirichlet Allocation (LDA) algorithm; (4) When the first similarity calculation method is selected, the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, and when the third similarity calculation method is selected, Calculating a third similarity between the groups of second books; (5) The book recommendation method is provided based on the similarity between books, including the book recommendation server outputting one or more similar books similar to the first book according to the first similarity or the third similarity.
- LDA Latent Dirichlet Allocation
- step (2) may be a step of selecting one of the first or the third similarity calculation method according to information of a book or information of a user.
- the first book may be a book that has been given a higher evaluation score by a user 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. .
- the outputting of the similar book 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 the one or more similar books.
- the book recommendation server extracts one or more keywords from the book data based on a word frequency and an inverse document frequency, or based on the keywords. Assigning a book theme, generating at least one group in the book data based on Latent Dirichlet Allocation (LDA) algorithm, or generating a storyflow emotion graph for each of a plurality of books.
- the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, or calculates a second similarity between the book theme of the first book and the book theme of the second book, or the group of the first book.
- LDA Latent Dirichlet Allocation
- the recommendation server may output one or more similar books similar to the first book according to any one or more of the first to fourth similarities.
- step (2) 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.
- the emotion of words contained in the window of the moved book is analyzed by sequentially moving the window from the word at the first position included in each book to the story direction of the book in the direction of the word at the second position.
- the generating of the storyflow emotion graph may include: giving 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 generating data on the storyflow emotion graph based on the unit emotion sum 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 the words contained in the window of the position in the moved book are changed.
- the similarity between the books for moving the window by an average number of words of the number of words included in each page of the book to be analyzed may be utilized.
- Step (4) may include: a first similar judgment 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 fourth similarity degree based on any one or more of the second similarity determination basic value representing the amount of change of the first similarity determination basic value.
- 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 an embodiment of the present invention.
- Figure 6 is a block diagram of a book recommendation system according to another embodiment of the present invention.
- FIG. 7 is a conceptual diagram illustrating the generation of a window and a storyflow emotion graph.
- 8 is an emotional value table of words representing the emotion of happiness contained in the emotional word database.
- FIG. 9 illustrates a page of a book in which words with emotion values are present.
- 10 is a graph showing a change in the unit feeling sum value according to the storyflow direction.
- Fig. 13 is a table showing the similar judgment basic values.
- FIG. 18 is a block diagram of a book recommendation system according to another embodiment of the present invention.
- 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 control unit 110, a TF-IDF unit 120, an LDA unit 130, a similar determination unit 140, a book recommendation unit 150, an input / output unit 160, and a user.
- the behavior extracting unit 170, the book keyword database 101, the theme keyword database 103, the book group database 105, the user behavior database 107, and the book information database 109 are shown.
- This book recommendation system can be a book recommendation server.
- the database may be configured as a single database.
- 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 controller 110 controls the components such as the TF-IDF unit, the LDA unit, the similar decision unit, the book recommendation unit, the input / output unit, and the user behavior extraction unit.
- the TF-IDF unit may be controlled to receive a control signal from a user and extract a keyword of a book according to the control signal.
- the control unit may control the respective databases connected to the control unit.
- it can serve to give the theme of the book according to the keyword of the book.
- the method may measure the similarity of books in consideration of the genre of the book, the taste of the user, and the like. This will be described in more detail below.
- the databases may be external to the server.
- the TF-IDF unit 120 serves to extract keywords that can represent the book by referring to the word frequency and reverse document frequency in the text of the book.
- TF-IDF Term Frequency-Inverse Document Frequency
- TF-IDF is a weight used in information retrieval and text mining. It is a statistical value that indicates how important a word is in a particular document when there is a document group or a set of documents. It can be used to extract key words of a document, to rank search results in a search engine, or to obtain a degree of similarity between documents. Extracting keywords by TF-IDF is well known and can follow conventional methods.
- the TF-IDF unit reads the text of the book, the title of the book, a small page introducing the book, and the like from the book information database. After that, the text of the book, the title of the book, and one or more of the texts introducing the book is analyzed by TF-IDF based to extract keywords.
- One or more keywords representing books may be extracted, for example, about 50 may be extracted.
- the keywords for the extracted books are stored in the book keyword database. That is, a plurality of keywords representing books are stored in the book keyword database. Each of the keywords has a weight, and keywords representing books can be expressed in a vector based on the weight.
- the controller may assign a theme or genre of each book based on keywords extracted by the TF-IDF unit. More specifically, the control unit may compare the keywords for each book extracted by the TF-IDF unit with the keywords stored in the theme keyword database to assign a theme.
- the theme keyword database is assigned a theme for each keyword. For example, the theme "economic” is assigned to the keyword “household”. For another example, the theme "sport” may be assigned to the keyword "golf”. There are thousands of different themes in the theme keyword database. This theme classification can be created by using a classification of a database of an external online bookstore.
- each keyword and theme is not limited to one-to-one assignment but may be assigned in a one-to-many manner.
- "household book” may be assigned to the theme of "economic”, but may be assigned to the theme of "diaries” and “phrases” in addition to "economic".
- the assigned theme for each keyword may be expressed in a vector form.
- the control unit again assigns a theme so that one book can be assigned one or more theme values, and this theme value can form a theme vector.
- These book themes can be stored in a book theme database.
- the LDA unit 130 plays a role of generating one or more groups in the book data by utilizing a latent rich allocation (LDA) algorithm. More specifically, the LDA unit analyzes various book data such as the text, title, and page number of the book to generate a group within the book data. For example, it may be assumed that the first group and the third group are generated when the book data of the first book is analyzed, and the second group and the fourth group are generated when the book data of the second book is analyzed. As described above, since the characteristics of the first group and the second group which have been determined through the similar decision unit are similar, the same group can be determined. Description of this will be described in detail below.
- the LDA algorithm may follow the conventional invention.
- Similarity determination unit 140 serves to determine the similarity between books. More specifically, the similar determination unit calculates keyword sets for books extracted by the TF-IDF unit to calculate similarity of each book. The similarity determination unit may derive the similarity between the keywords by calculating a cosine similarity among the keyword sets representing each of the books described above. This allows you to create a list of books that are similar to a specific book. Such similar information may be stored in a book keyword database, a book information database, or a separate database (not shown).
- the similar determination unit may serve to calculate the similarity between book themes for each book derived by the controller. As described above, the similarity determination unit may derive the similarity between each book by calculating a writing theme value for each book stored in the book theme database.
- the similarity determination unit may determine the similarity between books using the book group information generated by the LDA and stored in the book group database. As described above, for example, the data of the first book is grouped into the first group, the second group, and the third group, and the second book is the fourth group, the fifth group, the third book, the sixth group, Assume that it is grouped into a seventh group. In this case, the similar decision unit compares the first group, the second group, the third group and the fourth group, and the fifth group, and compares the first group, the second group, the third group, the sixth group, and the seventh group. do. As a result, the similar decision unit may determine the similarity between the first book and the second book than the similarity between the first book and the third book. Similarity can also be derived through cosine similarity calculation between groups.
- the book recommendation unit 150 may serve to recommend a book based on the similarity between the books derived through the similar determination unit.
- the recommendation book may be output in the order of similarity based on the first similarity measured based on the keyword, the second similarity measured based on the theme, the third similarity measured based on the group, and the like.
- the book recommendation unit may find similar books regardless of the genre of the book.
- the second similarity is based on the theme of the book, that is, genre, and more specifically, it is calculated by using a theme keyword database in which the previously directoryd theme is stored
- the book recommendation unit can find similar books based on the genre of the book. have.
- the third similarity is to determine the similarity based on the LDA algorithm-based group for the book content, the book recommendation unit may derive the similarity between books without being limited to keywords or genres.
- the book recommendation unit may finally recommend the book by mixing the first similarity, the second similarity, and the third similarity in consideration of the user's taste or needs, the user's reading usage behavior, and the characteristics of the book.
- the book is characterized by the medical terminology so that similar books may be recommended by increasing the weight of the keyword-based first similarity.
- the book recommendation unit may finally recommend the book by adjusting the weights of the first to third similarities based on the characteristics or genres of the books.
- the controller may select the first similarity or the third similarity based on information dependent on the book such as the genre of the book and information dependent on the user such as the user behavior.
- the similar judgment unit calculates the similarity of the books and the book recommendation unit can finally derive the most appropriate similar books.
- the book information includes the genre of the book, the price of the book, the number of pages of the book, the year of publication of the book, the author nationality of the book, the number of authors, the book publisher, the title of the book, the number of prints, the number of trials, the bookstore, the discount rate, etc. It can be a variety of information.
- the user's information may include user age, user gender, user occupation, user religion, user's first language, user residential area, user online website visit history, user college major, user family relationship, user income, etc. .
- the book recommendation unit may recommend the book by reflecting not only the first to third similarities but also the user behavior. Specifically, the book recommendation unit 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. It can serve as a recommendation to the user. 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 may 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 behavior is identified and used for selecting the 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 the similar decision unit.
- 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.
- the selection of similar books described above may be performed on similar books sorted or classified based on the first to third similarities mentioned above through the similar determination unit.
- 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 170. 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. can do. 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 the books extracted from the similar book extraction module according to specific criteria.
- 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 book keyword database includes a set of keywords representing each book
- the theme keyword database includes information on the relationship between keywords and themes such as keywords by theme and keywords by keyword. Theme weights according to keywords may be included. The reverse is also true.
- the book theme database contains a set of themes that represent each book.
- the book group database contains groups that represent each book.
- 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, book publication years, and the like.
- the book recommendation server receives book data (S810).
- the book recommendation server extracts a keyword from the book data in the TF-IDF method (S830).
- the book recommendation server calculates the similarity between the extracted keyword sets (S850).
- the book recommendation server outputs recommended books based on the similarity calculation or the like (S870).
- steps S810 and S830 are the same, and subsequent steps are different.
- the book recommendation server allocates a book theme according to the extracted keywords (S835). After that, the book recommendation server calculates the similarity between the assigned book themes (S837). Thereafter, the recommendation book is output based on the calculated similarity (S870).
- steps S810 are the same, and subsequent steps are different.
- the contents of the book are grouped by the LDA method (S840). Thereafter, the similarity between groups in the grouped book is calculated (S845). Thereafter, the recommendation book is output based on the calculated similarity (S870).
- steps S810 are the same, and subsequent steps are different.
- the TF-IDF method is selected, the similarity between the keyword sets is measured according to the TF-IDF method.
- the LDA method is selected according to the characteristics of the book or the needs of the user, the similarity of the book is measured and output according to the LDA method.
- the book recommendation system includes a control unit 110, an emotion graph generation unit 220, an emotion graph similarity determination unit 230, a book recommendation unit 240, an input / output unit 250, an emotion word database 201. ), An emotion graph database 203, a user behavior database 205, and a book information database 207 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 220 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.
- 7 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.
- 8 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.
- 9 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 230 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. 11 is a table showing unit emotion sum values for each section of books 1 to 4, and FIG. 11 and 12, the difference between the unit emotion sum values for each section between the book 1 and the book 2 is shown as in FIG. 13.
- 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. Referring to FIG. 8, 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. On the other hand, 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. 13, the emotion graph-like judgment unit may determine that book 3 is more similar to book 1 than to book 2.
- FIG. 13 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 book recommendation server generates an emotion graph according to the story flow of books (S910).
- the book recommendation server determines the similarity between books (interesting books) and other books of interest (S930). 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 (S950).
- the book recommendation server determines whether a story exists using the genre information of the book (S911). Next, the book recommendation server divides the book into predetermined sizes (S913). Next, the book recommendation server counts the appearance of the emotion word existing in each section (S915). Thereafter, the book recommendation server calculates a unit emotion sum value for each section by calculating the weight for each emotion word and generates an emotion graph according to the value (S917). The information on the graph is stored in the emotion graph database (S919).
- a book recommendation server is a book that has been well received by a user, a book that a user has put in a shopping cart of an online shopping mall, or a book that has been steamed by a 'steaming' function in an online shopping mall, and a book information of a user.
- Check the books that have been read (S920).
- the book recommendation server determines that the book is a user interest book and analyzes the similarity between the interest book and other books (S930).
- the book recommendation server outputs a similar book based on the similarity (S950).
- the book recommendation server extracts a list of similar books to be recommended (S951).
- 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 (S953).
- 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 (S955). After that, the filtered book is finally output (S957).
- filtering can be understood as a concept of sorting books.
- the steps S951 and S955 need not be limited to sequential and may be changed in order.
- the book recommendation system includes various similarity information extracted from the TF-IDF unit, the LDA unit, and the emotion graph generation unit, for example, keyword similarity between books, similarity between book themes, and similarity between groups of books. For example, the similarity between story flows of books may be measured and recommended to the user.
- 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
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Disclosed is a book recommendation method utilizing similarity between books. According to one aspect of the present invention, provided is a book recommendation method based on similarity between books. The book recommendation method utilizing similarity between books comprises: (1) a step in which a book recommendation server receives book data, for a plurality of books, including at least one from among the title of a book, the body text of the book, and introduction information of the book; (2) a step in which the book recommendation server extracts at least one keyword from the book data on the basis of term frequency and inverse document frequency; (3) a step in which the book recommendation server calculates the degree of similarity between a keyword of a first book and a keyword of a second book; and (4) a step in which the book recommendation server outputs at least one book that is similar to the first book according to the degree of similarity.
Description
본 발명은 서적 간 유사도를 활용한 서적추천 방법에 관한 것이다.The present invention relates to a book recommendation method utilizing the similarity between books.
과거로부터 읽은 책을 기록하고 관리하며, 책에 대한 평가를 공유하는 서비스는 존재하여 왔다. 또한, 이와 연관된 도서추천 서비스도 시행 중으로 국내에서는 그 서비스가 형성되어가는 단계이지만 해외, 특히 미국에서는 도서추천 서비스가 확고히 자리를 잡아 가고 있다. 이런 도서추천 서비스는 최근 인터넷 웹사이트뿐만 아니라 스마트폰 애플리케이션과 연동되어 서비스 중에 있다.There has been a service of recording and managing books read from the past, and sharing the evaluation of the books. In addition, the book recommendation service is also in operation, and its service is being formed in Korea, but book recommendation service is firmly established in overseas countries, especially in the United States. This book recommendation service is currently in service with a smartphone application as well as an internet website.
국내의 책 추천 서비스를 수행과 관련 특허를 검토하면 '도서 SNS 시스템 및 그 제공방법' (제10-2014-0038017호, 공개일자 2014.03.28)이 존재한다. 본 공개특허에는 도서추천을 위해 SNS(Social Networking Service)를 기반으로 다른 사용자의 콘텐츠를 공유하여 도서추천에 활용한다는 개념이 개시되어 있다. 다른 국내 책 추천 서비스에 관련 특허인 '독서 정보 공유를 통한 소셜 네트워크 서비스 제공 방법 및 시스템' (제10-2014-0133647호, 공개일자 2104.11.20)에도 책을 읽은 독자가 책에 대한 정보를 SNS를 통하여 다른 독자와 공유하겠다는 개념 정도만 개시되어 있다.When reviewing patents related to performing book recommendation services in Korea, there is 'Book SNS system and its provision method' (No. 10-2014-0038017, published date 2014.03.28). The present disclosure discloses a concept of sharing another user's content based on SNS (Social Networking Service) for book recommendation and using it for book recommendation. Readers who read the book also share information about the book in 'Methods and Systems for Providing Social Network Services by Sharing Reading Information' (No. 10-2014-0133647, Publication Date 2104.11.20). Only the concept of sharing with other readers is disclosed.
선행 도서 추천 방법 모두 SNS나 개인화된 정보를 이용하여 독자에게 도서를 추천하는 것에 한정되어 있을 뿐이며 실제 책의 내용을 분석하여 분류하고 추천하는 방법에 대해서는 명확히 개시한 바 없다.All prior book recommendation methods are limited to recommending books to readers using SNS or personalized information, and have not disclosed how to analyze, classify, and recommend the actual contents of books.
이에 본 발명의 발명가는 책의 내용을 분석하고 이를 바탕으로 독자가 흥미를 느낄 수 있는 책을 추천하는 방법을 제시하였다.Accordingly, 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.
본 발명의 일 측면에 따르면, (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계; (2) 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터으로부터 하나 이상의 키워드를 추출하는 단계; (3) 상기 서적추천서버가 제1 서적의 키워드과 제2 서적의 키워드 간의 유사도를 연산하는 단계; 및 (4) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도에 기초한 서적추천 방법이 제공된다.According to an aspect of the invention, (1) the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency; (3) the book recommendation server calculating a similarity between the keyword of the first book and the keyword of the second book; And (4) the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
본 발명의 다른 측면에 따르면, (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계; (2) 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하는 단계; (3) 상기 서적추천서버가 상기 키워드를 기초로 하나 이상의 서적테마를 배정하는 단계; (4) 상기 서적추천서버가 제1 서적의 서적테마와 제2 서적의 서적테마 간의 유사도를 연산하는 단계; (5) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도에 기초한 서적추천방법이 제공된다.According to another aspect of the invention, (1) the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency; (3) the book recommendation server assigning one or more book themes based on the keywords; (4) calculating, by the book recommendation server, the similarity between the book theme of the first book and the book theme of the second book; (5) A book recommendation method is provided based on the similarity between books, including the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
본 발명의 다른 측면에 따르면, (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계; (2) 상기 서적추천서버가 LDA(Latent Dirichlet Allocation)알고리즘을 활용하여 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계; (3) 상기 서적추천서버가 제1 서적의 그룹과 제2 서적의 그룹 간의 유사도를 연산하는 단계; 및 (4) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도에 기초한 서적추천방법이 제공된다.According to another aspect of the invention, (1) the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server generating at least one group in the book data using a latent rich allocation algorithm (LDA) algorithm; (3) the book recommendation server calculating a similarity between the group of the first book and the group of the second book; And (4) the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
본 발명의 다른 측면에 따르면, (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계; (2) 상기 서적추천서버가, 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하거나, 상기 키워드를 기초로 하나 이상의 서적테마를 배정하거나, LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계; (4) 상기 서적추천서버가, 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하거나, 제1 서적의 서적테마와 제2 서적의 서적테마 간의 제2 유사도를 연산하거나, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하는 단계; (5) 상기 서적추천서버가 상기 제1 유사도 내지 제3 유사도 중 어느 하나 이상에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도에 기초한 서적추천방법이 제공된다.According to another aspect of the invention, (1) the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server extracts one or more keywords from the book data based on word frequency and inverse document frequency, or assigns one or more book themes based on the keywords; Generating at least one group in the book data based on a latent allocation algorithm (LDA) algorithm; (4) the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, or calculates a second similarity between the book theme of the first book and the book theme of the second book, or Calculating a third similarity between the group of books and the group of second books; (5) The book recommendation method is provided based on the similarity between books including the book recommendation server outputting one or more similar books similar to the first book according to any one or more of the first to third similarities.
본 발명의 다른 측면에 따르면, (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계; (2) 상기 서적추천서버가 제1 또는 제3 유사도 연산 방식 중 하나를 선택하는 단계; (3) 제1 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하고, 제3 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계; (4) 제1 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하고, 제3 유사도 연산 방식이 선택된 경우, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하는 단계; (5) 상기 서적추천서버가 상기 제1 유사도 또는 제3 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도에 기초한 서적추천방법이 제공된다.According to another aspect of the invention, (1) the book recommendation server receiving the book data for a plurality of books including any one or more of the title of the book, the body of the book, the book introduction information; (2) the book recommendation server selecting one of first and third similarity calculation methods; (3) When a first similarity calculation method is selected, the book recommendation server extracts one or more keywords from the book data based on a word frequency and an inverse document frequency, and a third similarity calculation method. If selected, the book recommendation server generating one or more groups in the book data based on Latent Dirichlet Allocation (LDA) algorithm; (4) When the first similarity calculation method is selected, the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, and when the third similarity calculation method is selected, Calculating a third similarity between the groups of second books; (5) The book recommendation method is provided based on the similarity between books, including the book recommendation server outputting one or more similar books similar to the first book according to the first similarity or the third similarity.
또한, 상기 (2) 단계는, 서적의 정보 혹은 사용자의 정보에 따라 상기 제1 또는 상기 제3 유사도 연산 방식 중 하나를 선택하는 단계일 수 있다.In addition, step (2) may be a step of selecting one of the first or the third similarity calculation method according to information of a book or information of a user.
또한, 상기 제1 서적은, 사용자에 의해 소정의 기준값 보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 관련 서적 정보가 열람된 적이 있는 서적일 수 있다.In addition, the first book may be a book that has been given a higher evaluation score by a user 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. .
또한, 상기 유사서적을 출력하는 단계는, 상기 하나 이상의 유사서적 중 사용자가 기독서한 서적은 제외하는 단계; 상기 하나 이상의 유사서적 중 서적 평점에 순서대로 상기 유사서적을 출력하는 단계; 상기 하나 이상의 유사서적 중 사용자 정보를 고려하여 상기 유사서적을 출력하는 단계 중 어느 하나 이상의 단계를 더 포함할 수 있다.The outputting of the similar book 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 the one or more similar books.
또한, 상기 (2)단계는, 상기 서적추천서버가, 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하거나, 상기 키워드를 기초로 하나 이상의 서적테마를 배정하거나, LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하거나, 복수의 서적 각각의 스토리플로우 감정그래프를 생성하는 단계이고 상기 (4)단계는, 상기 서적추천서버가, 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하거나, 제1 서적의 서적테마와 제2 서적의 서적테마 간의 제2 유사도를 연산하거나, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하거나 제1 서적의 스토리플로우 감정그래프와 제2 서적의 스토리플루오 감정그래프 간의 제4 유사도를 연산하는 단계; 상기 (5)단계는, 상기 추천서버가 상기 제1 유사도 내지 제4 유사도 중 어느 하나 이상에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계일 수 있다.In the step (2), the book recommendation server extracts one or more keywords from the book data based on a word frequency and an inverse document frequency, or based on the keywords. Assigning a book theme, generating at least one group in the book data based on Latent Dirichlet Allocation (LDA) algorithm, or generating a storyflow emotion graph for each of a plurality of books. The book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, or calculates a second similarity between the book theme of the first book and the book theme of the second book, or the group of the first book. Compute a third similarity between the groups of the second book, or a fourth similarity between the storyflow sentiment graph of the first book and the story fluorescence sentiment graph of the second book Calculating a; In the step (5), the recommendation server may output one or more similar books similar to the first book according to any one or more of the first to fourth similarities.
또한, 상기 (2) 단계는, 각 서적에 포함된 전체 단어들의 개수에 대한 소정의 비율의 개수 만큼의 단어들을 분석하는 윈도우(window)를 생성하는 단계; 및 상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계를 더 포함할 수 있다.In addition, step (2) 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.
상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는, 기정의된 감정단어테이블 내에 포함된 단어들을 참조하여 상기 윈도우 내에 포함된 각 단어에 대한 감정값을 부여하는 단계; 상기 윈도우 내 각 단어에 대한 감정값들을 합산한 단위감정합산값을 도출하는 단계; 및 상기 단위감정합산값에 기초하여 스토리플로우 감정그래프에 대한 데이터를 생성하는 단계를 더 포함할 수 있다.The emotion of words contained in the window of the moved book is analyzed by sequentially moving the window from the word at the first position included in each book to the story direction of the book in the direction of the word at the second position. The generating of the storyflow emotion graph may include: giving 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 generating data on the storyflow emotion graph based on the unit emotion sum value.
또한, 상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는, 상기 윈도우를 분석대상 서적의 각 페이지에 포함된 단어들의 개수의 평균개수의 단어만큼 이동시키는 서적 간 유사도를 활용할 수 있다.In addition, 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 the words contained in the window of the position in the moved book are changed. In the generating of the storyflow emotion graph by analyzing the data, the similarity between the books for moving the window by an average number of words of the number of words included in each page of the book to be analyzed may be utilized.
상기 (4) 단계는, 상기 스토리방향에 따른 상기 제1 서적의 단위감정합산값과 상기 스토리방향에 따른 상기 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값; 및 상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값 중 어느 하나 이상에 기초하여 제4 유사도를 연산하는 것일 수 있다.Step (4) may include: a first similar judgment 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 fourth similarity degree based on any one or more of the second similarity determination basic value representing the amount of change of the first similarity determination basic value.
본 발명의 다른 측면에 따르면, 상기 방법을 실행시키는 기록매체에 저장된 컴퓨터 프로그램일 수 있다.According to another aspect of the invention, 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.
도 1은 본 발명의 실시예에 따른 서적추천시스템의 구성도.1 is a block diagram of a book recommendation system according to an embodiment of the present invention.
도 2 내지 5는 본 발명의 실시예에 따른 순서도.2 to 5 are flowcharts in accordance with an embodiment of the present invention.
도 6은 본 발명의 다른 실시예에 따른 서적추천시스템의 구성도.Figure 6 is a block diagram of a book recommendation system according to another embodiment of the present invention.
도 7은 윈도우와 스토리플로우 감정그래프 생성을 설명하기 위한 개념도.7 is a conceptual diagram illustrating the generation of a window and a storyflow emotion graph.
도 8은 감정단어 데이터베이스에 포함된 행복이라는 감정을 나타내는 단어들의 감정값 테이블.8 is an emotional value table of words representing the emotion of happiness contained in the emotional word database.
도 9는 감정값이 부여된 단어들이 존재하는 서적의 페이지를 나타낸 도면.9 illustrates a page of a book in which words with emotion values are present.
도 10은 스토리플로우 방향에 따른 단위감정합산값의 변화를 나타낸 그래프.10 is a graph showing a change in the unit feeling sum value according to the storyflow direction.
도 11은 실시예에 따른 서적들의 단위감정합산값을 나타낸 테이블11 is a table showing the unit feeling sum of books according to the embodiment
도 12는 스토리플로우에 따른 감정그래프.12 is an emotion graph according to the storyflow.
도 13은 유사판단기초값을 나타내는 테이블.Fig. 13 is a table showing the similar judgment basic values.
도 14 내지 17은 본 발명의 실시예에 따른 순서도.14 to 17 are flowcharts in accordance with an embodiment of the present invention.
도 18은 본 발명의 다른 실시예에 따른 서적추천시스템의 구성도.18 is a block diagram of a book recommendation system according to another embodiment of the present invention.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as 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.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
[부호의 설명][Description of the code]
100, 200, 300 : 서적추천시스템100, 200, 300: Book Recommendation System
110 : 제어부110: control unit
120 : TF-IDF부120: TF-IDF part
130 : LDA부130: LDA part
140 : 유사판단부140: similar judgment
150 : 서적추천부150: book recommendation
160 : 입출력부160: input and output unit
170 : 사용자행동추출부170: user behavior extraction unit
101 : 서적키워드데이터베이스101: Book Keyword Database
102 : 테마키워드테이터베이스102: Theme Keyword Database
103 : 서적테마데이터베이스103: Book Theme Database
105 : 서적그룹데이터베이스105: Book Group Database
107 : 사용자행동데이터베이스107: User Behavior Database
109 : 서적정보데이터베이스109: Book Information Database
220 : 감정그래프생서부220: Appraisal Graph Student West
230 : 감정그래프유사판단부230: Emotional graph-like judgment unit
240 : 서적추천부240: Book Recommendation Division
250 : 입출력부250: input / output unit
260 : 사용자행동추출부260: user behavior extraction unit
201 : 감정단어데이터베이스201: Emotional Word Database
203 : 감정그래프데이터베이스203: Emotion Graph Database
205 : 사용자행동데이터베이스205: User Behavior Database
207 : 서적정보데이터베이스207: Book Information Database
이하, 본 발명에 따른 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings, and in the following description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals and redundant description thereof will be omitted. Shall be.
또한, 이하 사용되는 제1, 제2 등과 같은 용어는 동일 또는 상응하는 구성 요소들을 구별하기 위한 식별 기호에 불과하며, 동일 또는 상응하는 구성 요소들이 제1, 제2 등의 용어에 의하여 한정되는 것은 아니다.In addition, terms such as 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.
또한, 결합이라 함은, 각 구성 요소 간의 접촉 관계에 있어, 각 구성 요소 간에 물리적으로 직접 접촉되는 경우만을 뜻하는 것이 아니라, 다른 구성이 각 구성 요소 사이에 개재되어, 그 다른 구성에 구성 요소가 각각 접촉되어 있는 경우까지 포괄하는 개념으로 사용하도록 한다.In addition, 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.
도 1은 본 발명에 따른 서적추천시스템의 구성도이다. 도 1을 참조하면, 서적추천시스템은 제어부(110), TF-IDF부(120), LDA부(130), 유사판단부(140), 서적추천부(150), 입출력부(160), 사용자행동추출부(170), 서적키워드데이터베이스(101), 테마키워드데이터베이스(103), 서적그룹데이터베이스(105), 사용자행동데이터베이스(107) 및 서적정보데이터베이스(109)이 도시되어 있다. 본 서적추천시스템은 서적추천서버가 될 수 있다. 한편, 상기 데이터베이스는 하나의 데이터베이스로 구성하여도 무방하다. 또한, 본 발명의 상세한 설명 및 청구항에서는 서적에 대해서 언급하고 있으나 본 발명의 적용은 서적에 한정된 것이 아니며, 웹소설, 만화 등 활자를 포함하는 구별된 텍스트에 대해서는 모두 적용이 가능하다.1 is a block diagram of a book recommendation system according to the present invention. Referring to FIG. 1, the book recommendation system includes a control unit 110, a TF-IDF unit 120, an LDA unit 130, a similar determination unit 140, a book recommendation unit 150, an input / output unit 160, and a user. The behavior extracting unit 170, the book keyword database 101, the theme keyword database 103, the book group database 105, the user behavior database 107, and the book information database 109 are shown. This book recommendation system can be a book recommendation server. On the other hand, the database may be configured as a single database. In addition, although 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.
먼저, 제어부(110)는 TF-IDF부, LDA부, 유사판단부, 서적추천부, 입출력부 및 사용자행동추출부 등 구성들을 제어하는 역할을 한다. 예를 들어, 사용자로부터 제어신호 등을 입력받아 제어신호에 따라 서적의 키워드를 추출하도록 TF-IDF부를 제어하는 역할을 할 수 있다. 제어부가 제어부에 연결된 각각의 데이터베이스들을 제어할 수 있음은 물론이다. 그 밖에 서적의 키워드에 따라 서적의 테마를 부여하는 역할을 할 수 있다. 또한, 서적의 장르나 사용자의 취향 등을 고려하여 서적의 유사도 측정 방법을 선택하는 역할을 할 수 있다. 이에 대해서는 하기에서 더욱 상세히 설명한다. 한편, 도 1에서는 각종 데이터베이스가 서적추천시스템인 서버 내에 포함되어 있는 것을 도시되어 있으나 상기 데이터베이스들이 서버 외부에 존재하여도 무방하다. First, the controller 110 controls the components such as the TF-IDF unit, the LDA unit, the similar decision unit, the book recommendation unit, the input / output unit, and the user behavior extraction unit. For example, the TF-IDF unit may be controlled to receive a control signal from a user and extract a keyword of a book according to the control signal. Of course, the control unit may control the respective databases connected to the control unit. In addition, it can serve to give the theme of the book according to the keyword of the book. In addition, the method may measure the similarity of books in consideration of the genre of the book, the taste of the user, and the like. This will be described in more detail below. Meanwhile, although various databases are included in a server that is a book recommendation system in FIG. 1, the databases may be external to the server.
다음으로, TF-IDF부(120)는 서적의 텍스트 내 단어 빈도와 역문서 빈도를 참조하여 서적을 대표할 수 있는 키워드들을 추출하는 역할을 한다. TF-IDF(Term Frequency - Inverse Document Frequency)는 정보 검색과 텍스트 마이닝에서 이용하는 가중치로, 여러 문서로 이루어진 문서군, 문서집합이 있을 때 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치이다. 문서의 핵심어를 추출하거나, 검색 엔진에서 검색 결과의 순위를 결정하거나, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용할 수 있다. TF-IDF로 키워드를 추출하는 것은 널리 알려진 것으로 종래의 방법을 따를 수 있다.Next, the TF-IDF unit 120 serves to extract keywords that can represent the book by referring to the word frequency and reverse document frequency in the text of the book. TF-IDF (Term Frequency-Inverse Document Frequency) is a weight used in information retrieval and text mining. It is a statistical value that indicates how important a word is in a particular document when there is a document group or a set of documents. It can be used to extract key words of a document, to rank search results in a search engine, or to obtain a degree of similarity between documents. Extracting keywords by TF-IDF is well known and can follow conventional methods.
더욱 상세하게, TF-IDF부는 서적의 본문, 서적의 제목, 서적을 소개하는 소갯글 등을 서적정보데이터베이스로부터 읽어 드린다. 이후 상기 서적의 본문, 서적의 제목, 서적을 소개하는 소갯글 중 어느 하나 이상의 텍스트를 TF-IDF 기반으로 분석하여 키워드를 추출하는 것이다. 서적을 대표하는 키워드는 하나 이상 추출될 수 있으며 예를 들어 50 여개가 추출될 수 있다. 이렇게 추출된 서적에 대한 키워드들은 서적키워드데이터베이스에 저장된다. 즉, 서적을 대표하는 복수 개의 키워드들이 서적키워드데이터베이스에 저장되는 것이다. 상기 키워드 각각은 가중치를 가지고 있게 되고, 서적을 대표하는 키워드들은 가중치를 바탕으로 벡터로 표현될 수 있다.More specifically, the TF-IDF unit reads the text of the book, the title of the book, a small page introducing the book, and the like from the book information database. After that, the text of the book, the title of the book, and one or more of the texts introducing the book is analyzed by TF-IDF based to extract keywords. One or more keywords representing books may be extracted, for example, about 50 may be extracted. The keywords for the extracted books are stored in the book keyword database. That is, a plurality of keywords representing books are stored in the book keyword database. Each of the keywords has a weight, and keywords representing books can be expressed in a vector based on the weight.
한편, 제어부는 TF-IDF부가 추출한 키워드들을 바탕으로 각 서적의 테마 혹은 장르를 부여할 수 있다. 더욱 구체적으로 제어부는 TF-IDF부가 추출한 각 서적에 대한 키워드들을 테마키워드데이터베이스 내에 저장된 키워드와 비교하여 테마를 부여할 수 있다. 테마키워드데이터베이스에는 각 키워드에 대한 테마가 배정되어 있다. 예를 들어, "가계부"라는 키워드에 대해서는 "경제"라는 테마가 배정된다. 다른 예를 들어, "골프"라는 키워드에 대해서는 "스포츠"라는 테마가 배정될 수 있다. 테마키워드데이터베이스에는 수천 가지의 다양한 테마가 존재할 수 있다. 이런 테마분류는 외부 온라인 서점의 데이터베이스의 분류를 활용하여 생성될 수 있다. The controller may assign a theme or genre of each book based on keywords extracted by the TF-IDF unit. More specifically, the control unit may compare the keywords for each book extracted by the TF-IDF unit with the keywords stored in the theme keyword database to assign a theme. The theme keyword database is assigned a theme for each keyword. For example, the theme "economic" is assigned to the keyword "household". For another example, the theme "sport" may be assigned to the keyword "golf". There are thousands of different themes in the theme keyword database. This theme classification can be created by using a classification of a database of an external online bookstore.
한편, 각 키워드와 테마는 일대일로 배정되는 것에 한정되지 않으며 일대다의 형태로 배정될 수 있다. 예를 들어, "가계부"는 "경제"라는 테마에 배정될 수 있지만 "경제"외에도 "다이어리" 및 "문구"라는 테마에도 배정될 수 있다. 각 키워드에 대한 배정된 테마는 벡터형태로 표현될 수 있다. TF-IDF부에 의해 분석된 서적의 키워드들에 대하여, 재차 제어부가 테마를 배정하여 최종적으로 하나의 서적은 하나 이상의 테마값이 배정될 수 있고 이런 테마값은 테마벡터를 형성할 수 있다. 이런 서적테마들은 서적테마데이터베이스에 저장될 수 있다.On the other hand, each keyword and theme is not limited to one-to-one assignment but may be assigned in a one-to-many manner. For example, "household book" may be assigned to the theme of "economic", but may be assigned to the theme of "diaries" and "phrases" in addition to "economic". The assigned theme for each keyword may be expressed in a vector form. With respect to the keywords of the book analyzed by the TF-IDF unit, the control unit again assigns a theme so that one book can be assigned one or more theme values, and this theme value can form a theme vector. These book themes can be stored in a book theme database.
다음으로 LDA부(130)는 LDA(Latent Dirichlet Allocation)알고리즘을 활용하여 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 역할을 한다. 더욱 구체적으로 LDA부는 서적의 본문, 제목, 소갯글 등 다양한 서적데이터를 분석하여 상기 서적데이터 내의 그룹을 생성한다. 예를 들어, 제1 서적의 서적데이터를 분석하였더니 제1 그룹, 제3 그룹이 생성되고, 제2 서적의 서적데이터를 분석하였더니 제2 그룹, 제4 그룹이 생성되었다고 가정할 수 있다. 이와 같이 이후 유사판단부를 통하여 판단한 경과 제1 그룹과 제2 그룹의 성격이 유사하여 동일한 그룹으로 판단할 수 있는 것이다. 이에 대한 설명은 하기에서 상술한다. LDA 알고리즘은 종래의 발명을 따를 수 있다.Next, the LDA unit 130 plays a role of generating one or more groups in the book data by utilizing a latent rich allocation (LDA) algorithm. More specifically, the LDA unit analyzes various book data such as the text, title, and page number of the book to generate a group within the book data. For example, it may be assumed that the first group and the third group are generated when the book data of the first book is analyzed, and the second group and the fourth group are generated when the book data of the second book is analyzed. As described above, since the characteristics of the first group and the second group which have been determined through the similar decision unit are similar, the same group can be determined. Description of this will be described in detail below. The LDA algorithm may follow the conventional invention.
유사판단부(140)는 서적들 간의 유사여부를 판단하는 역할을 한다. 더욱 구체적으로, 유사판단부는 상기 TF-IDF부가 추출한 서적에 대한 키워드집합들을 연산하여 각 서적의 유사성을 연산한다. 유사판단부는 앞서 설명한 각 서적를 대표하는 키워드집합들 간에 연산, 예를 들어 코사인 유사도(cosine similarity) 연산하여 키워드들 간의 유사도를 도출할 수 있다. 이를 통하여 특정 서적과 유사한 서적이 어떤 서적인지 리스트를 생성할 수 있다. 이런 유사정보는 서적키워드데이터베이스 또는 서적정보데이터베이스 혹은 별도의 데이터베이스(미도시)에 저장될 수 있다. Similarity determination unit 140 serves to determine the similarity between books. More specifically, the similar determination unit calculates keyword sets for books extracted by the TF-IDF unit to calculate similarity of each book. The similarity determination unit may derive the similarity between the keywords by calculating a cosine similarity among the keyword sets representing each of the books described above. This allows you to create a list of books that are similar to a specific book. Such similar information may be stored in a book keyword database, a book information database, or a separate database (not shown).
또한, 유사판단부는 제어부가 도출한 각 서적에 대한 서적테마들 간의 유사도를 연산하는 역할을 할 수도 있다. 앞서 설명한 바와 같이, 유사판단부는 서적테마데이터베이스에 저장된 각 서적에 대한 서작테마값을 연산하여 각 서적 간의 유사도를 도출할 수 있다.In addition, the similar determination unit may serve to calculate the similarity between book themes for each book derived by the controller. As described above, the similarity determination unit may derive the similarity between each book by calculating a writing theme value for each book stored in the book theme database.
또한, 유사판단부는 LDA부가 생성하여 서적그룹데이터베이스에 저장한 서적그룹정보를 이용하여 서적 간의 유사도를 판단할 수 있다. 앞서 설명한 바와 같이 예를 들어, 제1 서적의 데이터가 제1 그룹, 제2 그룹, 제3 그룹으로 그루핑이 되고, 제2 서적이 제4 그룹, 제5 그룹, 제3 서적이 제6 그룹, 제7 그룹으로 그루핑된다고 가정한다. 이때 유사판단부가 제1 그룹, 제2 그룹, 제3 그룹과 제4 그룹, 제5 그룹 간 비교연산하고, 제1 그룹, 제2 그룹, 제3 그룹과 제6 그룹, 제7 그룹 간 비교연산한다. 그 결과 유사판단부는 제1 서적과 제2 서적 간의 유사도가 제1 서적과 제3 서적간의 유사도 보다 판단할 수 있다. 그룹들 간에도 코사인유사도 연산을 통하여 유사도가 도출될 수 있다.In addition, the similarity determination unit may determine the similarity between books using the book group information generated by the LDA and stored in the book group database. As described above, for example, the data of the first book is grouped into the first group, the second group, and the third group, and the second book is the fourth group, the fifth group, the third book, the sixth group, Assume that it is grouped into a seventh group. In this case, the similar decision unit compares the first group, the second group, the third group and the fourth group, and the fifth group, and compares the first group, the second group, the third group, the sixth group, and the seventh group. do. As a result, the similar decision unit may determine the similarity between the first book and the second book than the similarity between the first book and the third book. Similarity can also be derived through cosine similarity calculation between groups.
다음으로 서적추천부(150)는 상기 유사판단부를 통해 도출된 서적들 간의 유사도를 바탕으로 서적을 추천하는 역할을 할 수 있다. 앞서 설명한 바와 같이, 키워드 기반으로 측정된 제1 유사도, 테마기반으로 측정된 제2 유사도, 그룹 기반으로 측정된 제3 유사도 등을 바탕으로 유사도 순으로 추천서적을 출력할 수 있다.Next, the book recommendation unit 150 may serve to recommend a book based on the similarity between the books derived through the similar determination unit. As described above, the recommendation book may be output in the order of similarity based on the first similarity measured based on the keyword, the second similarity measured based on the theme, the third similarity measured based on the group, and the like.
제1 유사도는 키워드를 기반으로 하며 기설정된 테마키워드데이터베이스를 참조하지 않는 방식이므로 서적추천부는 서적의 장르를 불문하고 유사한 서적을 찾을 수 있다. 이에 반해 제2 유사도는 서적의 테마, 즉 장르 기반으로 하며, 더욱 상세하게는 기디렉토리화된 테마가 저장된 테마키워드데이터베이스를 활용하여 연산되기 때문에 서적추천부는 서적의 장르에 기초하여 유사한 서적을 찾을 수 있다. 또한, 제3 유사도는 서적 내용에 대한 LDA 알고리즘 기반의 그룹에 기초하여 유사도를 판단하는 것이므로 서적추천부는 키워드나 장르에 한정되지 않고 서적 간의 유사도를 도출할 수 있다.Since the first similarity is based on a keyword and does not refer to a preset theme keyword database, the book recommendation unit may find similar books regardless of the genre of the book. On the other hand, since the second similarity is based on the theme of the book, that is, genre, and more specifically, it is calculated by using a theme keyword database in which the previously directoryd theme is stored, the book recommendation unit can find similar books based on the genre of the book. have. In addition, since the third similarity is to determine the similarity based on the LDA algorithm-based group for the book content, the book recommendation unit may derive the similarity between books without being limited to keywords or genres.
그러므로 서적추천부는 사용자의 취향이나 니즈, 그 동안의 사용자의 독서 사용행태, 서적의 특징 등을 고려하여 제1 유사도, 제2 유사도, 제3 유사도를 혼합 적용하여 최종적으로 서적추천할 수 있다. 예를 들어, 제1 서적이 전문의학서적으로 대부분 전문용어를 포함하는 서적인 경우, 의학용어에 특징이 있으므로 키워드 기반의 제1 유사도의 가중치를 높여서 유사서적들을 추천할 수 있다. 이에 반해 제2 서적이 소설로 장르성이 강한 서적인 경우, 테마, 즉, 장르 기반의 제2 유사도의 가중치를 높여서 유사서적을 추천할 수 있다. 이와 같이 서적의 특징이나 장르에 기초하여 서적추천부는 제1 유사도 내지 제3 유사도의 가중치를 조정하여 최종적으로 서적을 추천할 수 있다.Therefore, the book recommendation unit may finally recommend the book by mixing the first similarity, the second similarity, and the third similarity in consideration of the user's taste or needs, the user's reading usage behavior, and the characteristics of the book. For example, in the case where the first book is a technical book that includes most of the terminology, the book is characterized by the medical terminology so that similar books may be recommended by increasing the weight of the keyword-based first similarity. On the other hand, when the second book is a novel with a strong genre, a similar book may be recommended by increasing the weight of the theme, that is, the second similarity based on the genre. As such, the book recommendation unit may finally recommend the book by adjusting the weights of the first to third similarities based on the characteristics or genres of the books.
한편, 제어부는 앞서 설명한 바와 같이 서적의 장르 등 서적에 종속되는 정보와 사용자 행태 등 사용자에 종속되는 정보를 바탕으로 제1 유사도 또는 제3 유사도를 선택할 수 있다. 제어부가 선택한 방식에 따라 유사판단부가 서적의 유사도를 연산하고 서적추천부가 추천함으로써 최종적으로 가장 적절한 유사 서적을 도출할 수 있는 것이다. 서적의 정보는 서적의 장르, 서적의 가격정보, 서적의 페이지 수, 서적의 출판연도, 서적의 저자 국적, 저자의 수, 서적 출판사, 서적 제목, 인쇄횟수, 재판횟수, 판매서점, 가격할인률 등 다양한 정보가 될 수 있다. 또한, 사용자의 정보는 사용자 나이, 사용자 성별, 사용자 직업, 사용자 종교, 사용자의 제1 언어, 사용자 주거 지역, 사용자 온라인 웹사이트 방문 기록, 사용자 대학 전공, 사용자 가족관계, 사용자 수입 등이 될 수 있다.Meanwhile, as described above, the controller may select the first similarity or the third similarity based on information dependent on the book such as the genre of the book and information dependent on the user such as the user behavior. According to the method selected by the control unit, the similar judgment unit calculates the similarity of the books and the book recommendation unit can finally derive the most appropriate similar books. The book information includes the genre of the book, the price of the book, the number of pages of the book, the year of publication of the book, the author nationality of the book, the number of authors, the book publisher, the title of the book, the number of prints, the number of trials, the bookstore, the discount rate, etc. It can be a variety of information. In addition, the user's information may include user age, user gender, user occupation, user religion, user's first language, user residential area, user online website visit history, user college major, user family relationship, user income, etc. .
다음으로, 서적추천부는 제1 유사도 내지 제3 유사도 뿐만 아니라 사용자 행동을 반영하여 서적을 추천할 수 있다. 구체적으로, 서적추천부는 사용자에 의해 소정의 기준값보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 서적 정보가 열람된 적이 있는 서적과 유사한 서적들을 선택하여 사용자에게 추천하는 역할을 할 수 있다. 상기 역할은 서적추천부 내의 유사서적추출모듈(미도시)에서 할 수 있다. Next, the book recommendation unit may recommend the book by reflecting not only the first to third similarities but also the user behavior. Specifically, the book recommendation unit 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. It can serve as a recommendation to the user. The role may be played by a similar book extraction module (not shown) in the book recommendation unit.
더욱 구체적으로 서적추천시스템은 궁극적으로 사용자가 흥미를 느낄만한 서적을 추천하는 역할을 한다. 이때 서석추천시스템의 서적추천부는 사용자의 행동패턴 등을 분석하여 이와 관련된 서적에 대한 유사한 서적들을 추천할 수 있다. 더더욱 구체적으로 사용자의 개인화된 정보, 사용자 맞춤형 추천 서적을 제공하기 위해 사용자의 온라인상의 행동을 파악하여 추천서적 선택에 활용하는 것이다. 예를 들어, 사용자가 온라인 웹사이트 등에서 특정 서적에 대해서 높은 평가점수를 부여한 경우, 상기 서적과 유사한 서적들을 유사판단부를 통해 선별하여 추천한다. 또한, 사용자가 아마존(등록상표) 등의 온라인 서점에서 특정 서적을 구매하였거나 구매를 하기 위해 장바구니에 담은 적이 있는 경우, 상기 특정 서적과 유사한 서적들을 선택하여 사용자에게 추천정보를 제공할 수 있다. 또한, 사용자가 온라인 커뮤니티나 평론 사이트에서 특정 서적에 대한 서평을 열람한 적이 있는 경우, 상기 서적과 유사한 서적들을 선택할 수 있다. 상기 설명하는 유사한 서적들의 선택은 유사판단부를 통해 상기 언급한 제1 유사도 내지 제3 유사도를 바탕으로 소트 또는 분류된 유사서적들을 대상으로 진행될 수 있음은 물론이다.More specifically, the book recommendation system ultimately recommends books that the user may find interesting. At this time, the book recommendation unit of the Seo Seok recommendation system may 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 behavior is identified and used for selecting the 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 the similar decision unit. In addition, when a user purchases a specific book in an online bookstore such as Amazon (registered trademark) or has put it in a shopping cart to make a purchase, the user may select books similar to the specific book and provide recommendation information to the user. In addition, when a user has viewed a book review for a specific book in an online community or a review site, books similar to the book may be selected. The selection of similar books described above may be performed on similar books sorted or classified based on the first to third similarities mentioned above through the similar determination unit.
상기 외부 온라인 공간상의 웹사이트, 예를 들어, SNS 사이트, 온라인 서점 사이트, 온라인 서평 사이트 등의 다양한 서적 정보 및 서적에 대한 사용자의 행동 정보는 상기 사이트로부터 사용자행동추출부(170)를 통해 추출될 수 있다. 사용자행동추출부를 통해 추출된 사용자 행동정보는 사용자행동데이터베이스에 저장될 수 있다.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 170. Can be. The user behavior information extracted through the user behavior extraction unit may be stored in the user behavior database.
또한, 서적추천부는 선택된 서적 중을 임의대로 추천할 수 있다. 앞서 서적추출부, 특히 유사서적추출모듈이 사용자의 행동 등을 고려하여 유사한 서적들을 선별하였다면, 서적추출부의 선별추천모듈(미도시)은 선별된 유사서적들을 기설정된 기준에 따라 최종적으로 출력하는 역할을 할 수 있다. 즉, 상기 출력 역할은 서적추천부 내의 선별추천모듈이 할 수 있다. 선별추천모듈은 유사서적추출모듈이 추출한 유사서적들 중 사용자가 이미 읽은 적이 있는 서적을 제외하고 남은 서적들을 추천할 수 있다. 또한, 사용자, 타사용자, 평론가 등의 평점이 낮은 서적들은 제외하고 남은 서적들을 추천할 수 있다. 혹은 사용자 정보를 고려하여 사용자가 읽기 부적절한 등급의 서적들은 제외하고 추천할 수 있다. 선별추천모듈은 유사서적들 중 기설정된 기준에 기초하여 추천하지 않을 서적들을 제외하는 역할을 한다. 한편, 선별추천모듈이 서적 선별을 위해 서적정보데이터베이스를 참조할 수 있다. 서적정보데이터베이스 내에 각 서적에 대한 다양한 정보가 포함될 수 있다. 또한, 선별추천모듈은 사용자행동데이터베이스와 서적정보데이터베이스를 연계하여 서적을 최종적으로 추천할 수 있다. 예를 들어, 특정 사용자가 이미 독서한 서적에 대한 정보는 사용자행동데이터베이스에 저장될 수 있기 때문이다. Also, 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. can do. 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.
또한, 선별추추천모듈은 유사서적추출모듈에서 추출한 서적들을 특정 기준에 따라 분류하여 출력할 수 있다. 하나 이상의 서적들을 서적 평점 순서에 따라 출력할 수 있다. 이 경우 서적정보데이터베이스를 이용하여 각 서적의 평점을 불러올 수 있고, 이를 활용한다. 또한, 유사서적 각각의 누적 판매량, 기간별 판매량 등의 정보에 기초하여 서적들을 소트하여 출력할 수 있다. In addition, the selection recommendation module may classify and output the books extracted from the similar book extraction module according to specific criteria. 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. In addition, 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.
또한, 사용자 개개인에 맞추어 개인화된 정보를 활용하여 유사서적들을 소트하여 출력할 수도 있다. 예를 들어, 사용자 개인의 정보 중 나이에 대한 정보를 이용하여 유사한 연령대의 사용자가 선호하는 서적들을 호감도 순서대로 출력할 수 있다. 또한, 그 밖에 개인의 정보 중 성별이나 성향 등을 고려하여 유사서적들 중 특정 유사서적을 먼저 출력하게 할 수 있다. 이러한 동작들은 사용자행동데이터베이스 내에 저장된 사용자 개인 정보를 이용하여 수행될 수 있다. In addition, 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.
데이터베이스를 살펴보면, 앞서 설명한 바와 같이 서적키워드데이터베이스는 각 서적을 대표하는 키워드집합을 포함하고 있고, 테마키워드데이터베이스는 테마별 키워드, 키워드별 테마 등 키워드와 테마의 관계에 대한 정보를 포함하고 있다. 키워드에 따른 테마 가중치를 포함할 수 있다. 그 역도 마찬가지이다. 서적테마데이터베이스는 각 서적을 대표하는 테마집합을 포함하고 있다. 서적그룹데이터베이스는 각 서적을 대표하는 그룹을 포함하고 있다. 사용자행동데이터베이스는 앞서 설명한 바와 같이 SNS 사이트, 온라인 서점 사이트, 온라인 서평 사이트 등의 다양한 서적 정보 및 서적에 대한 사용자의 행동 정보를 포함할 수 있다. 마지막으로 서적정보데이터베이스는 서적에 관련된 정보 즉, 서적 제목, 서적 저자, 서적 출판연도 등 서적에 관한 정보를 포함할 수 있다.Looking at the database, as described above, the book keyword database includes a set of keywords representing each book, and the theme keyword database includes information on the relationship between keywords and themes such as keywords by theme and keywords by keyword. Theme weights according to keywords may be included. The reverse is also true. The book theme database contains a set of themes that represent each book. The book group database contains groups that represent each book. As described above, 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. Finally, the book information database may include information related to books, such as book titles, book authors, book publication years, and the like.
도 2 내지 도 5는 본 발명에 따른 동작 순서도들이다. 도 2 내지 도 5의 본 발명에 따른 서적추천시스템 설명과 중복된 설명은 제외하고 설명한다. 도 2를 참조하면, 서적추천서버가 서적 데이터를 입력받는다(S810). 다음으로, 서적추천서버는 TF-IDF 방식으로 서적 데이터로부터 키워드를 추출한다(S830). 다음으로, 서적추천서버는 추출된 키워드집합들 간의 유사도를 연산한다(S850). 이후 서적추천서버는 유사도 연산 등에 기초하여 추천 서적들을 출력한다(S870).2 to 5 are operational flowcharts in accordance with the present invention. Except for the description duplicated with the description of the book recommendation system according to the present invention of Figures 2 to 5 will be described. Referring to FIG. 2, the book recommendation server receives book data (S810). Next, the book recommendation server extracts a keyword from the book data in the TF-IDF method (S830). Next, the book recommendation server calculates the similarity between the extracted keyword sets (S850). Thereafter, the book recommendation server outputs recommended books based on the similarity calculation or the like (S870).
도 3을 참조하면, S810 및 S830 단계는 동일하며, 이후 단계가 상이하다. 서적추천서버가 추출된 키워드들에 따른 서적테마를 배정한다 (S835). 이후 서적추천서버가 배정된 서적테마들 간의 유사도를 연산한다(S837). 이후 연산된 유사도 등을 기초로 하여 추천 서적을 출력한다(S870).Referring to FIG. 3, steps S810 and S830 are the same, and subsequent steps are different. The book recommendation server allocates a book theme according to the extracted keywords (S835). After that, the book recommendation server calculates the similarity between the assigned book themes (S837). Thereafter, the recommendation book is output based on the calculated similarity (S870).
도 4를 참조하면, S810 단계는 동일하며, 이후 단계가 상이하다. 먼저 LDA 방식으로 서적의 내용을 그루핑한다(S840). 이후 그루핑된 서적 내 그룹 간의 유사도를 연산한다(S845). 이후 연산된 유사도 등을 기초로 하여 추천 서적을 출력한다(S870).Referring to FIG. 4, steps S810 are the same, and subsequent steps are different. First, the contents of the book are grouped by the LDA method (S840). Thereafter, the similarity between groups in the grouped book is calculated (S845). Thereafter, the recommendation book is output based on the calculated similarity (S870).
도 5를 참조하면, S810 단계는 동일하며, 이후 단계가 상이하다. 먼저 서적의 특징이나 사용자의 니즈에 따라 어떠한 방식으로 서적 간의 유사도를 연산할지 판단한다(S820). TF-IDF 방식을 선택하는 경우, TF-IDF 방식에 따라 키워드 집합 간의 유사도를 측정하여 양서적 간의 유사도를 측정한다. 이에 반해 서적의 특징이나 사용자의 니즈에 따라 LDA 방식을 선택하는 경우, LDA 방식에 따라 서적의 유사도를 측정하여 출력한다.Referring to FIG. 5, steps S810 are the same, and subsequent steps are different. First, it is determined how the similarity between books is calculated according to the characteristics of the book or the needs of the user (S820). When the TF-IDF method is selected, the similarity between the keyword sets is measured according to the TF-IDF method. In contrast, when the LDA method is selected according to the characteristics of the book or the needs of the user, the similarity of the book is measured and output according to the LDA method.
도 6은 본 발명의 다른 실시예에 따른 서적추천시스템의 구성도이다. 도 6을 참조하면, 서적추천시스템은 제어부(110), 감정그래프생성부(220), 감정그래프유사판단부(230), 서적추천부(240), 입출력부(250), 감정단어데이터베이스(201), 감정그래프데이터베이스(203), 사용자행동데이터베이스(205), 서적정보데이터베이스(207)이 도시되어 있다. 본 서적추천시스템은 서적추천서버가 될 수 있다.6 is a block diagram of a book recommendation system according to another embodiment of the present invention. Referring to FIG. 6, the book recommendation system includes a control unit 110, an emotion graph generation unit 220, an emotion graph similarity determination unit 230, a book recommendation unit 240, an input / output unit 250, an emotion word database 201. ), An emotion graph database 203, a user behavior database 205, and a book information database 207 are shown. This book recommendation system can be a book recommendation server.
먼저, 제어부(110)는 감정그래프생성부, 감정그래프유사판단부, 서적추천부, 입력부, 출력부 등 구성들을 제어하는 역할을 한다. 예를 들어, 사용자로부터 제어신호 등을 입력받아 제어신호에 따라 감정그래프를 생성하도록 감정그래프생성부를 제어하는 역할을 할 수 있다. 제어부가 제어부에 연결된 각각의 데이터베이스들을 제어할 수 있음은 물론이다. 도 6에서는 각종 데이터베이스가 서적추천시스템인 서버 내에 포함되어 있는 것을 도시되어 있으나 상기 데이터베이스들이 서버 외부에 존재하여도 무방하다. 또한, 본 발명의 상세한 설명 및 청구항에서는 서적에 대해서 언급하고 있으나 본 발명의 적용은 서적에 한정된 것이 아니며, 웹소설, 만화 등 활자를 포함하는 구별된 텍스트에 대해서는 모두 적용이 가능하다.First, 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. For example, 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. Of course, the control unit may control the respective databases connected to the control unit. In FIG. 6, various databases are included in a server that is a book recommendation system. However, the databases may exist outside the server. In addition, although 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.
다음으로, 감정그래프생성부(220)는 서적들의 스토리플로우에 대한 감정그래프를 생성하는 역할을 한다. 스토리플로우는 서적의 첫 장에서 마지막 장까지의 시간순서에 따른 이야기 전개를 의미할 수 있다. 일반적으로 설명문이나 논설문을 제외한 소설책이나 수필, 기행문 등은 문학적인 요소를 포함하고 전체적으로 본문 내에 감정의 흐름이 존재한다. 예를 들어, 윌리엄 셰익스피어의 소설 '로미오와 줄리엣'의 경우, 양 가문의 다툼, 로미오와 줄리엣의 사랑, 줄리엣과 패리스의 결혼 강요, 로미오와 패리스의 결투, 로미오의 자살, 줄리엣의 자결, 양 가문의 화해 등의 여러 가지 감정이 포함된 스토리플로우를 갖는다. 구체적으로, 감정 중 일종이 행복이라는 감정의 관점에서 검토하면, 소설의 초기의 양 가문의 다툼에서는 감정 정도가 낮고, 중반부에는 로미오와 줄리엣의 사랑에서는 감정이 강하며, 종반에서는 결투로 인해 감정 정도가 낮으나 최종부에는 화해로 인하여 다시 행복이라는 감정이 올라가게 된다. 이와 같이 소설이나 수필과 같은 문학적 요소가 포함된 서적의 경우 스토리플로우에 따른 감정변화가 존재한다. 감정그래프생성부는 이런 감정변화를 감정그래프로 생성하는 역할을 한다.Next, the emotion graph generation unit 220 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. Generally, 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. For example, in William Shakespeare's novel Romeo and Juliet, two families argued, Romeo and Juliet's love, Juliet and Paris forced to marry, Romeo and Paris duel, Romeo's suicide, Juliet's self-determination, both families It has a storyflow that includes various emotions such as reconciliation. Specifically, in view of the feeling that one of the emotions is happiness, 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. As described above, in the case of books containing literary elements such as novels and essays, there is a change of emotion according to story flow. The emotion graph generator is responsible for generating these emotion changes as emotion graphs.
또한, 감정그래프생성부는 서적정보데이터베이스에 저장되어 있을 수 있는 서적의 장르정보를 이용하여 스토리플로우에 따른 감정그래프가 생성되어야 할 서적을 선별할 수 있다. 더욱 구체적으로 감정그래프생성부는 기획득된 서적의 장르정보가 소설인 경우에는 감정그래프생성을 위해 감정그래프생성부에 서적의 스토리플로우를 입력한다. 이에 반해, 서적의 장르정보가 논설문인 경우, 추출할 감정이 없다고 판단하여 감정그래프생성을 시도하지 않는다. In addition, 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.
또한, 감정그래프생성부는 윈도우(window)를 통해 서적 내 감정을 분석할 수 있다. 도 7은 본 발명에 따른 스토리플로우 감정그래프 생성을 설명하기 위한 개념도이다. 도 7을 참조하면, 서적의 스토리플로우를 구성하는 단어들을 메모리(미도시)에 입력하고, 본 메모리에 저장된 단어들을 부분 부분으로 나누어 순차적으로 읽어드려 감정 분석을 수행한다. 더욱 구체적으로 예를 들어, 서적이 만 개의 단어들로 이루어진 소설이라고 가정한다. 이만 개의 단어들로 이루어진 서적에 대해 백 개의 단어 단위로 감정을 분석하며 이때 감정분석의 대상이 되는 단어들을 그룹을 윈도우라고 칭할 수 있다. 이 윈도우를 서적의 첫 단어부터 마지막 단어 순서의 방향으로 이동시켜가며, 윈도우에 포함된 단어들의 감정값을 산출할 수 있다.Also, the emotion graph generator may analyze the emotion in the book through a window. 7 is a conceptual diagram illustrating the generation of a storyflow emotion graph according to the present invention. Referring to FIG. 7, 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.
윈도우의 크기는 사용자가 임의로 정할 수 있다. 본 발명의 일 실시예에서는 서적의 전체 단어 수의 1%에 해당하는 수만큼의 단어들을 윈도잉할 수 있는 크기의 윈도우를 정하였다. 예를 들어, 전체 소설에 만 개의 단어가 포함되어 있다면 윈도우는 백 개의 단어들을 읽어들일 수 있다. 물론 윈도우의 크기가 상기 예에 한정되는 것은 아니며 다양한 크기의 윈도우를 가질 수 있다.The size of the window can be arbitrarily determined by the user. In an embodiment of the present invention, 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. Of course, 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.
또한, 윈도우는 서적의 스토리플로우 방향으로 이동시킬 수 있다. 예를 들어, 만 개의 단어로 이루어진 서적에 백 개의 단어를 읽어 드릴 수 있는 윈도우를 적용하여 이동시킨다고 가정한다. 최초 윈도우의 위치는 첫 번째 단어에서 백 번째 단어에 위치하게 되며, 최초 윈도우가 위치한 곳에 대한 서적의 내용을 분석하여 감정을 추출할 수 있다. 이후 윈도우를 스토리플로우 방향으로 한 단어씩 이동시킨다. 그 결과, 윈도우가 두 번째 단어에서 백일 번째 단어에 위치하게 되며, 이에 해당하는 단어들의 감정을 분석할 수 있다. 이러한 과정을 반복하여 윈도우가 마지막 구천구백일 번째 단어에서 만 번째 단어에 위치하게 되며, 이에 해당하는 단어들의 감정을 분석할 수 있다. 이와 같은 과정을 통해 구천구백일 번의 감정 분석이 수행되어 서적 전체에 대한 감정분석이 완료될 수 있다. 한편, 첫 번째 감정분석 결과값부터 구천구백일 번째 감정분석 결과값은 한 단어의 추가 및 삭제가 반복되는 것이므로 그 결과값이 부드럽게 변화할 수 있다. 위에 대한 내용을 정리하면 다음과 같다.Also, 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.
전체 서적의 단어 개수 = nWord Count of Total Books = n
윈도우의 크기 = 윈도우에 포함될 수 있는 단어 개수 = mWindow size = number of words that can be in the window = m
서적 내 제a 위치의 윈도우의 분석대상단어 = 서적 내 a 번째 단어부터 a+m-1 번째 단어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
서적의 스토리플로우 순서로 n번째에 위치하는 단어 =단어(n)The nth word in the book's storyflow order = word (n)
예시)example)
전체 서적의 단어 개수 = 10,000Word Count for Total Books = 10,000
윈도우의 크기 = 100Window Size = 100
제1 위치의 윈도우의 분석대상단어들 = 단어 (1) 내지 단어 (100)Words to be analyzed in the window of the first position = word (1) to word (100)
제2 위치의 윈도우의 분석대상단어들 = 단어 (2) 내지 단어 (101)Words to be analyzed in the window of the second position = word (2) to word (101)
..........
제99,901 위치의 윈도우의 분석대상단어들 = 단어 (99,901) 내지 단어 (10,000)Analysis words in the window at position 99,901 = words (99,901) to (10,000)
한편, 윈도우의 이동은 한 단어 단위로 이동할 수 있지만 이에 한정된 것은 아니며 한 페이지씩 이동하여 감정값을 연산하여도 무방하다. 이 경우 윈도우 내에 단어가 전면 교체되므로 감정값의 변화가 다소 클 수 있다. 예를 들어, 윈도우의 크기를 서적의 한 페이지 크기로 설정하고, 이동 단위도 한 페이지로 설정하는 경우, 각 페이지에 대한 감정 결과값이 순차적으로 도출될 수 있다. 또한, 감정값이 이산(discrete)하게 분포될 수 있다.On the other hand, 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.
다음으로, 윈도우의 감정값 연산 방법에 대해 설명한다. 감정그래프생성부는 윈도우에 포함된 단어들을 분석하여 감정 정도를 산출한다. 구체적으로 윈도우 내 단어들 중 특정 감정에 연관된 단어가 있는지 검색하고, 검색된 단어에 부여된 점수를 합산하여 특정 감정 정도에 대한 값을 산출한다. 도 8은 감정단어 데이터베이스(101)에 포함된 행복(happiness)이라는 감정을 나타내는 단어들의 감정값 테이블이다. 행복이라는 감정값 테이블을 살펴보면, '웃음'이라는 단어는 감정값이 4이고, '행복'이라는 감정값은 '3'이 될 수 있다. 반드시 양수의 감정값만을 갖는 것은 아니며 음수의 감정값을 갖는 단어도 존재한다. 예를 들어, '미움'이라는 단어는 감정값이 '-1'이고, 복수라는 단어는 감정값이 '-3'이다. 감정값의 표현은 반드시 양수 또는 음수에 한정될 필요는 없고 감정값의 정도를 표현할 수 있으면 족하다. 예를 들어 상, 중, 하로 나타낼 수도 있다. Next, the emotional value calculation method of a window is demonstrated. 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. 8 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. For example, 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.
포함된 단어들이 감정값 테이블에 존재하는 경우, 각 단어에 따른 감정값을 합산하여 최종 단위감정합산값을 산출한다. 즉, 단위감정합산값이란 하나의 윈도우에 포함된 단어들의 감정값을 합산한 것을 의미할 수 있다. 도 9는 감정값이 부여된 단어들이 존재하는 페이지에 관한 것이다. 예를 들어, 도 9의 페이지에서 행복이라는 감정에 관한 단어인 '웃음', '사랑', '행복', '증오'가 검색된다. 이에 각 감정에 관한 단어의 감정값을 합산하면 본 페이지의 단위감정합산값은 웃음(4)+사랑(2)+행복(3)+증오(-2)로 7점으로 산출된다. 이런 단위감정합산값을 스토리플로우 방향으로 반복하여 연산하면 행복이라는 감정에 대한 서적의 감정그래프가 도출될 수 있다. 도 5는 이런 스토리플로우 방향에 따른 단위감정값을 그래프로 나타낸 것이다. When the included words are present in the emotion value table, 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. 9 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. When the sum of emotion values of words related to each emotion is summed, the unit feeling sum value of this page is calculated as 7 points of laughter (4) + love (2) + happiness (3) + hatred (-2). By repeatedly calculating the unit emotion sum value in the storyflow direction, 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.
본 예시에서는 행복이라는 감정에 대해서만 감정그래프를 생성하였으나 이에 한정되지 않으며, 행복, 놀람, 후회, 고독, 두려움 등 다양한 감정그래프가 생성될 수 있다. 이를 위해 감정단어 데이터베이스에 다양한 감정테이블이 존재할 수 있으며, 상기 감정테이블에는 다양한 단어가 존재할 수 있다. 또한, 감정값을 연산할 때 단어의 동일 여부에 한정될 필요는 없으며, 뜻의 나타내는 최소 단위인 형태소 단위로 감정값을 산출하여도 무방하다.In this example, 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. To this end, various emotion tables may exist in the emotion word database, and various words may exist in the emotion table. In addition, when calculating 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.
감정그래프 유사판단부(230)는 각 서적의 감정그래프 간의 유사도를 판단하는 역할을 한다. 더욱 구체적으로 제1 서적의 단위감정합산값과 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값 및 상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값을 기초로 하여 제1 서적과 제2 서적 간의 유사도를 판단한다. 또한, 앞서 언급한 바와 같이 하나의 감정에 한정되는 것이 아니라 여러 개의 감정 그래프들 간에 유사도를 측정하여 최종적으로 양 서적 간의 유사도를 도출할 수 있다.Emotion graph similarity determination unit 230 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.
도 11은 서적 1 내지 4 각각의 구간별 단위감정합산값을 나타낸 테이블이며, 도 12는 이를 그래프로 나타낸 것이다. 도 11 및 도 12를 참조하면, 서적1과 서적2 간의 구간별 단위감정합산값의 차이는 도 13과 같이 나타난다. 제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 유사판단기초값이 작을수록 양 서적이 유사하다고 판단할 수 있다. 그러므로 도 13을 참조하면, 감정그래프유사판단부는 서적 2에 비해 서적 3은 서적 1에 더 유사하다고 판단할 수 있다. 또한, 제2 유사판단기초값을 검토해보면, 서적1과 서적2 간의 제1 유사판단기초값의 변화량이 크므로 제2 유사판단기초값도 크다. 이에 반해 서적1과 서적3 간의 제1 유사판단기초값의 변화량은 없으므로 제2 유사판단기초값은 '0'이다. 그러므로 감정그래프유사판단부는 제2 유사판단기초값이 작은 서적1과 서적 3이 서적1과 서적2에 비해 더 유사하다고 판단할 수 있다. 감정그래프유사판단부는 제1 유사판단기초값 및 제2 유사판단기초값 중 어느 하나 이상을 혼합하여 양 서적 간의 유사판단을 할 수 있다. 또한, 유사판단기초값에 서적의 성격 등에 따라 가중치를 부여하여 두 개의 서적 간의 유사도를 측정할 수 있다.FIG. 11 is a table showing unit emotion sum values for each section of books 1 to 4, and FIG. 11 and 12, the difference between the unit emotion sum values for each section between the book 1 and the book 2 is shown as in FIG. 13. 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, and the second similar determination basis value is the value of the first similar determination basis value. The amount of change is shown. Referring to FIG. 8, 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. On the other hand, 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. 13, the emotion graph-like judgment unit may determine that book 3 is more similar to book 1 than to book 2. FIG. In addition, 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'. Therefore, 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. In addition, 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.
서적 1과 서적 3 및 서적 1과 서적 4 간에는 제1 유사판단기초값의 변화가 없기 때문에 제2 유사판단기초값은 '0'이 된다. 그러나 제1 유사판단기초값이 차이가 있으므로 감정그래프유사판단부는 값이 작은 서적 1과 서적 3 간이 서적 1과 서적 4보다 더 유사하다고 판단할 수 있다.Since there is no change in the first similar judgment basic value between the book 1 and the book 3 and the book 1 and the book 4, the second similar judgment basic value is '0'. However, since the first similar judgment base value is different, 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.
서적추천부(140)는 사용자에 의해 소정의 기준값보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 서적 정보가 열람된 적이 있는 서적과 유사한 서적들을 선택하여 사용자에게 추천하는 역할을 한다. 상기 역할은 서적추천부 내의 유사서적추출모듈(미도시)에서 할 수 있다. 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.
더욱 구체적으로 서적추천시스템은 궁극적으로 사용자가 흥미를 느낄만한 서적을 추천하는 역할을 한다. 이때 서석추천시스템의 서적추천부는 사용자의 행동패턴 등을 분석하여 이와 관련된 서적에 대한 유사한 서적들을 추천할 수 있다. 더더욱 구체적으로 사용자의 개인화된 정보, 사용자 맞춤형 추천 서적을 제공하기 위해 사용자의 온라인상의 행동을 파악하여 추천서적 선택에 활용하는 것이다. 예를 들어, 사용자가 온라인 웹사이트 등에서 특정 서적에 대해서 높은 평가점수를 부여한 경우, 상기 서적과 유사한 서적들을 감정그래프유사판단부를 통해 선별하여 추천한다. 또한, 사용자가 아마존(등록상표) 등의 온라인 서점에서 특정 서적을 구매하였거나 구매를 하기 위해 장바구니에 담은 적이 있는 경우, 상기 특정 서적과 유사한 서적들을 선택하여 사용자에게 추천정보를 제공할 수 있다. 또한, 사용자가 온라인 커뮤니티나 평론 사이트에서 특정 서적에 대한 서평을 열람한 적이 있는 경우, 상기 서적과 유사한 서적들을 선택할 수 있다.More specifically, the book recommendation system ultimately recommends books that the user may find interesting. At this time, 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. In addition, when a user purchases a specific book in an online bookstore such as Amazon (registered trademark) or has put it in a shopping cart to make a purchase, the user may select books similar to the specific book and provide recommendation information to the user. In addition, when a user has viewed a book review for a specific book in an online community or a review site, books similar to the book may be selected.
상기 외부 온라인 공간상의 웹사이트, 예를 들어, SNS 사이트, 온라인 서점 사이트, 온라인 서평 사이트 등의 다양한 서적 정보 및 서적에 대한 사용자의 행동 정보는 상기 사이트로부터 사용자행동추출부(160)를 통해 추출될 수 있다. 사용자행동추출부를 통해 추출된 사용자 행동정보는 사용자행동데이터베이스에 저장될 수 있다.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.
또한, 서적추천부는 선택된 서적 중을 임의대로 추천할 수 있다. 앞서 서적추출부, 특히 유사서적추출모듈이 사용자의 행동 등을 고려하여 유사한 서적들을 선별하였다면, 서적추출부의 선별추천모듈(미도시)은 선별된 유사서적들을 기설정된 기준에 따라 최종적으로 출력하는 역할을 한다. 즉, 상기 출력 역할은 서적추천부 내의 선별추천모듈이 할 수 있다. 선별추천모듈은 유사서적추출모듈이 추출한 유사서적들 중 사용자가 이미 읽은 적이 있는 서적을 제외하고 남은 서적들을 추천할 수 있다. 또한, 사용자, 타사용자, 평론가 등의 평점이 낮은 서적들은 제외하고 남은 서적들을 추천할 수 있다. 혹은 사용자 정보를 고려하여 사용자가 읽기 부적절한 등급의 서적들은 제외하고 추천할 수 있다. 선별추천모듈은 유사서적들 중 기설정된 기준에 기초하여 추천하지 않을 서적들을 제외하는 역할을 한다. 한편, 선별추천모듈이 서적 선별을 위해 서적정보데이터베이스를 참조할 수 있다. 서적정보데이터베이스 내에 각 서적에 대한 다양한 정보가 포함될 수 있다. 또한, 선별추천모듈은 사용자행동데이터베이스와 서적정보데이터베이스를 연계하여 서적을 최종적으로 추천할 수 있다. 예를 들어, 특정 사용자가 이미 독서한 서적에 대한 정보는 사용자행동데이터베이스에 저장될 수 있기 때문이다. Also, 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.
또한, 선별추추천모듈은 유사서적추출모듈에서 추출한 서적들을 특정 기준에 따라 분류하여 출력할 수 있다. 하나 이상의 서적들을 서적 평점 순서에 따라 출력할 수 있다. 이 경우 서적정보데이터베이스를 이용하여 각 서적의 평점을 불러올 수 있고, 이를 활용한다. 또한, 유사서적 각각의 누적 판매량, 기간별 판매량 등의 정보에 기초하여 서적들을 소트하여 출력할 수 있다. In addition, 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. In addition, 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.
또한, 사용자 개개인에 맞추어 개인화된 정보를 활용하여 유사서적들을 소트하여 출력할 수도 있다. 예를 들어, 사용자 개인의 정보 중 나이에 대한 정보를 이용하여 유사한 연령대의 사용자가 선호하는 서적들을 호감도 순서대로 출력할 수 있다. 또한, 그 밖에 개인의 정보 중 성별이나 성향 등을 고려하여 유사서적들 중 특정 유사서적을 먼저 출력하게 할 수 있다. 이러한 동작들은 사용자행동데이터베이스 내에 저장된 사용자 개인 정보를 이용하여 수행될 수 있다. In addition, 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.
도 14 내지 17은 본 발명에 따른 동작 순서도들이다. 도 1 내지 도 13의 본 발명에 따른 서적추천시스템 설명과 중복된 설명은 제외하고 설명한다. 도 14를 참조하면, 서적추천서버가 서적들의 스토리플로우에 따른 감정그래프를 생성한다(S910). 다음으로 서적추천서버가 사용자가 관심을 두는 서적(흥미서적)과 타서적들 간의 유사도를 판단한다(S930). 앞서 설명한 바와 같이 감정그래프의 유사도를 측정하여 유사도를 판단할 수 있다. 상기 유사도 연산을 통해 유사한 서적들을 추천 서적으로 출력한다(S950).14 to 17 are operational flowcharts in accordance with the present invention. 1 to 13 will be described except for a description redundant to the book recommendation system according to the present invention. Referring to FIG. 14, the book recommendation server generates an emotion graph according to the story flow of books (S910). Next, the book recommendation server determines the similarity between books (interesting books) and other books of interest (S930). 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 (S950).
도 15는 스토리플로우에 따른 감정그래프를 생성하는 단계를 더 분석하여 나타낸 순서도이다. 도 15를 참조하면, 서적추천서버가 서적의 장르정보를 이용하여 스토리 존재 여부를 판단한다(S911). 다음으로, 서적추천서버는 서적을 소정의 크기로 구간을 나눈다(S913). 다음으로, 서적추천서버는 각 구간에 존재하는 감정 단어의 출현을 카운팅한다(S915). 이후 서적추천서버는 감정 단어별로 가중치에 따라 연산하여 구간에 따른 단위감정합산값을 연산하고 상기 값에 따라 감정그래프를 생성한다(S917). 상기 그래프에 대한 정보를 감정그래프데이터베이스에 저장한다(S919).15 is a flowchart illustrating further analysis of generating an emotion graph according to the storyflow. Referring to FIG. 15, the book recommendation server determines whether a story exists using the genre information of the book (S911). Next, the book recommendation server divides the book into predetermined sizes (S913). Next, the book recommendation server counts the appearance of the emotion word existing in each section (S915). Thereafter, the book recommendation server calculates a unit emotion sum value for each section by calculating the weight for each emotion word and generates an emotion graph according to the value (S917). The information on the graph is stored in the emotion graph database (S919).
도 16은 사용자에게 추천할 서적을 추출하기 위한 전처리 단계를 나타낸 도면이다. 도 16을 참조하면, 서적추천서버는 사용자로부터 호평을 받은 서적, 사용자가 온라인 쇼핑몰의 장바구니에 담은 적이 있는 서적, 혹은 온라인 쇼핑몰에서 '찜하기' 기능으로 찜이 된 적이 있는 서적, 사용자가 서적 정보를 열람한 적이 있는 서적 등을 확인한다(S920). 서적추천서버는 이런 서적을 사용자 흥미서적이라고 판단하고 상기 흥미서적과 타서적들 간의 유사도를 분석한다(S930). 서적추천서버는 상기 유사도를 바탕으로 유사한 서적을 출력한다(S950).16 is a diagram illustrating a preprocessing step for extracting a book to be recommended to a user. Referring to FIG. 16, a book recommendation server is a book that has been well received by a user, a book that a user has put in a shopping cart of an online shopping mall, or a book that has been steamed by a 'steaming' function in an online shopping mall, and a book information of a user. Check the books that have been read (S920). The book recommendation server determines that the book is a user interest book and analyzes the similarity between the interest book and other books (S930). The book recommendation server outputs a similar book based on the similarity (S950).
도 17은 유사도 연산 등에 기초하여 추천 서적 출력하는 단계를 분석하여 설명한 순서도이다. 도 17을 참조하면, 서적추천서버가 추천할 유사한 서적들 리스트를 추출한다(S951). 서적추천서버는 상기 추출된 서적들 중 사용자행위정보, 예를 들어, 사용자가 이미 읽은 적이 있는 서적정보를 적용하여 유사한 서적들 리스트를 필터링한다(S953). 사용자행위정보는 성별, 나이, SNS 사용 행태 등 다양한 정보가 포함될 수 있다. 다음으로, 서적추천서버는 서적정보, 예를 들어, 평점정보 또는 판매량정보 등을 서적정보를 적용하여 유사한 서적들 리스트를 필터링한다(S955). 이후 필터링된 서적을 최종적으로 출력한다(S957). 한편, 필터링으로 표현을 했으나 필터링은 서적을 소팅한다는 개념으로 이해될 수 있다. 또한, S951 단계와 S955 단계는 순차적인 것으로 한정될 필요 없고 그 순서가 바뀌어도 무방하다.17 is a flowchart illustrating an analysis of a step of outputting a recommendation book based on a similarity calculation. Referring to FIG. 17, the book recommendation server extracts a list of similar books to be recommended (S951). 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 (S953). User behavior information may include a variety of information, such as gender, age, SNS usage behavior. Next, 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 (S955). After that, the filtered book is finally output (S957). On the other hand, although expressed by filtering, filtering can be understood as a concept of sorting books. In addition, the steps S951 and S955 need not be limited to sequential and may be changed in order.
도 18은 본 발명의 다른 실시예에 따른 서적추천시스템의 구성도이다. 앞서 설명과 중복된 설명은 제외하고 설명한다. 도 18을 참조하면 본 서적추천시스템은 TF-IDF부, LDA부, 감정그래프생성부에서 추출된 각종 유사도 정보, 예를 들어, 서적의 키워드간 유사도, 서적의 테마간 유사도, 서적의 그룹별 유사도, 서적의 스토리 플로우 간의 유사도 등을 측정하여 사용자에게 추천할 수 있다.18 is a block diagram of a book recommendation system according to another embodiment of the present invention. The description is duplicated with the above description. Referring to FIG. 18, the book recommendation system includes various similarity information extracted from the TF-IDF unit, the LDA unit, and the emotion graph generation unit, for example, keyword similarity between books, similarity between book themes, and similarity between groups of books. For example, the similarity between story flows of books may be measured and recommended to the user.
위와 같은 서적추천시스템 및 서적추천방법을 통하여 사용자에게 최적의 서적들을 추천할 수 있다.Through the book recommendation system and book recommendation method as described above, it is possible to recommend optimal books to the user.
상술된 방법 및 처리는, 예를 들어, 프로세서, 컨트롤러, 또는 다른 처리 디바이스에 의한 실행을 위한 명령들로서, 인코딩되거나, 컴팩트 디스크 판독 전용 메모리 (CDROM), 자기 또는 광학 디스크, 플래시 메모리, 랜덤 액세스 메모리 (RAM) 또는 판독 전용 메모리 (ROM), 소거가능 프로그램가능 판독 전용 메모리(EPROM) 또는 다른 머신-판독가능 매체와 같은 머신 판독가능 또는 컴퓨터 판독가능 매체에 저장될 수도 있다.The methods and processes described above are, for example, instructions for execution by a processor, controller, or other processing device and may be encoded, compact disk read-only memory (CDROM), magnetic or optical disk, flash memory, random access memory. (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable media.
이러한 매체는, 명령 실행가능 시스템, 장치 또는 디바이스에 의해 또는 이와 연결하여 사용하기 위한 실행가능한 명령들을 포함, 저장, 통신, 전파 또는 이동시키는 임의의 디바이스로서 구현될 수도 있다. 대안으로 또는 추가적으로, 하나 이상의 집적 회로, 또는 하나 이상의 프로세서 실행 명령들과 같은 하드웨어를 이용하여 아날로그 또는 디지털 로직으로서; 또는 API (application programming interface) 또는 DLL (Dynamic Link Library), 로컬 또는 원격 절차 호출로서 정의된 또는 공유 메모리에서 이용가능한 기능들의 소프트웨어로; 또는 하드웨어 및 소프트웨어의 조합으로서 구현될 수도 있다.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. Alternatively or additionally, as 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.
다른 구현에서, 방법은 신호 또는 전파-신호 매체로 나타내어질 수도 있다. 예를 들어, 임의의 소정의 프로그램의 로직을 구현하는 명령들은 전기, 자기, 광학, 전자기, 적외선 또는 다른 타입의 신호의 형태를 취할 수도 있다. 상술된 시스템은 광섬유 인터페이스, 안테나, 또는 다른 아날로그 또는 디지털 신호 인터페이스와 같은 통신 인터페이스에서 이러한 신호를 수신하고, 그 신호로부터 명령들을 복원하고, 이들을 머신 판독 가능 메모리에 저장하고, 그리고/또는 프로세서를 이용하여 이들을 실행시킬 수도 있다.In other implementations, the method may be represented by a signal or radio-signal medium. For example, 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.
이상, 본 발명의 일 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.As mentioned above, although an embodiment of the present invention has been described, those of ordinary skill in the art may add, change, delete or add elements within the scope not departing from the spirit of the present invention described in the claims. The present invention may be modified and changed in various ways, etc., which will also be included within the scope of the present invention.
서적 간 유사도를 활용한 서적추천을 할 수 있는 방법에 활용될 수 있다.It can be used for the method of recommending books using the similarity between books.
Claims (12)
- (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계;(1) a book recommendation server receiving book data for a plurality of books including any one or more of a book title, a book body, and book introduction information;(2) 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터으로부터 하나 이상의 키워드를 추출하는 단계;(2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency;(3) 상기 서적추천서버가 제1 서적의 키워드과 제2 서적의 키워드 간의 유사도를 연산하는 단계; 및 (3) the book recommendation server calculating a similarity between the keyword of the first book and the keyword of the second book; And(4) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.(4) a book recommendation method using the similarity between books including the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
- (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계;(1) a book recommendation server receiving book data for a plurality of books including any one or more of a book title, a book body, and book introduction information;(2) 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하는 단계;(2) the book recommendation server extracting one or more keywords from the book data based on a word frequency and an inverse document frequency;(3) 상기 서적추천서버가 상기 키워드를 기초로 하나 이상의 서적테마를 배정하는 단계; (3) the book recommendation server assigning one or more book themes based on the keywords;(4) 상기 서적추천서버가 제1 서적의 서적테마와 제2 서적의 서적테마 간의 유사도를 연산하는 단계;(4) calculating, by the book recommendation server, the similarity between the book theme of the first book and the book theme of the second book;(5) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.(5) the book recommendation method using the book similarity between the book recommendation server comprising the step of outputting one or more similar books similar to the first book according to the similarity.
- (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계;(1) a book recommendation server receiving book data for a plurality of books including any one or more of a book title, a book body, and book introduction information;(2) 상기 서적추천서버가 LDA(Latent Dirichlet Allocation)알고리즘을 활용하여 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계;(2) the book recommendation server generating at least one group in the book data using a latent rich allocation algorithm (LDA) algorithm;(3) 상기 서적추천서버가 제1 서적의 그룹과 제2 서적의 그룹 간의 유사도를 연산하는 단계; 및 (3) the book recommendation server calculating a similarity between the group of the first book and the group of the second book; And(4) 상기 서적추천서버가 상기 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.(4) a book recommendation method using the similarity between books including the book recommendation server outputting one or more similar books similar to the first book according to the similarity.
- (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계;(1) a book recommendation server receiving book data for a plurality of books including any one or more of a book title, a book body, and book introduction information;(2) 상기 서적추천서버가, 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하거나, 상기 키워드를 기초로 하나 이상의 서적테마를 배정하거나, LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계;(2) the book recommendation server extracts one or more keywords from the book data based on word frequency and inverse document frequency, or assigns one or more book themes based on the keywords; Generating at least one group in the book data based on a latent allocation algorithm (LDA) algorithm;(4) 상기 서적추천서버가, 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하거나, 제1 서적의 서적테마와 제2 서적의 서적테마 간의 제2 유사도를 연산하거나, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하는 단계;(4) the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book, or calculates a second similarity between the book theme of the first book and the book theme of the second book, or Calculating a third similarity between the group of books and the group of second books;(5) 상기 서적추천서버가 상기 제1 유사도 내지 제3 유사도 중 어느 하나 이상에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.(5) a book recommendation method using the book similarity between the book recommendation server comprising the step of outputting one or more similar books similar to the first book according to any one or more of the first similarity to the third similarity.
- (1) 서적추천서버가 서적의 제목, 서적의 본문, 서적의 소개정보 중 어느 하나 이상을 포함하는 복수 개의 서적에 대한 서적데이터를 입력받는 단계;(1) a book recommendation server receiving book data for a plurality of books including any one or more of a book title, a book body, and book introduction information;(2) 상기 서적추천서버가 제1 또는 제3 유사도 연산 방식 중 하나를 선택하는 단계;(2) the book recommendation server selecting one of first and third similarity calculation methods;(3) 제1 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하고, (3) when the first similarity calculation method is selected, the book recommendation server extracts one or more keywords from the book data based on a word frequency and an inverse document frequency;제3 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하는 단계;When the third similarity calculation method is selected, the book recommendation server generating one or more groups in the book data based on a late diallet allocation (LDA) algorithm;(4) 제1 유사도 연산 방식이 선택된 경우, 상기 서적추천서버가 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하고,(4) when a first similarity calculation method is selected, the book recommendation server calculates a first similarity between the keyword of the first book and the keyword of the second book,제3 유사도 연산 방식이 선택된 경우, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하는 단계;Calculating a third similarity between the group of the first book and the group of the second book when the third similarity calculation scheme is selected;(5) 상기 서적추천서버가 상기 제1 유사도 또는 제3 유사도에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계를 포함하는 서적 간 유사도를 활용한 서적추천 방법.(5) The book recommendation method using the book similarity between the book recommendation server comprising the step of outputting one or more similar books similar to the first book according to the first or third similarity.
- 제5항에 있어서,The method of claim 5,상기 (2) 단계는,Step (2),서적의 정보 혹은 사용자의 정보에 따라 상기 제1 또는 상기 제3 유사도 연산 방식 중 하나를 선택하는 단계인 서적 간 유사도를 활용한 서적추천방법.The book recommendation method using the similarity between books, the step of selecting one of the first or the third similarity calculation method according to the information of the book or the user information.
- 제1 항에 있어서,According to claim 1,상기 제1 서적은,The first book,사용자에 의해 소정의 기준값 보다 높은 평가점수를 부여받은 서적, 온라인 쇼핑몰의 장바구니에 포함된 서적 또는 사용자에 의해 온라인 공간상에서 관련 서적 정보가 열람된 적이 있는 서적인 서적 간 유사도를 활용한 서적추천 방법.A book recommendation method using the similarity between books that have been given a higher evaluation score by a user than a predetermined reference value, books included in a shopping cart of an online shopping mall, or books in which relevant book information has been viewed in an online space by a user.
- 제1 항 내지 제3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3,상기 유사서적을 출력하는 단계는,Outputting the similar book,상기 하나 이상의 유사서적 중 사용자가 기독서한 서적은 제외하는 단계;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 book recommendation method using the similarity between books further comprising any one or more of the step of outputting the similar book in consideration of the user information of the one or more similar books.
- 제4 항에 있어서,The method of claim 4, wherein상기 (2)단계는,Step (2),상기 서적추천서버가, 단어 빈도와 역문서 빈도(Term Frequency - Inverse Document Frequency)를 기반으로 상기 서적데이터에서 하나 이상의 키워드를 추출하거나, 상기 키워드를 기초로 하나 이상의 서적테마를 배정하거나, LDA(Latent Dirichlet Allocation)알고리즘을 기반으로 상기 서적데이터 내에서 하나 이상의 그룹을 생성하거나, 복수의 서적 각각의 스토리플로우 감정그래프를 생성하는 단계이고The book recommendation server extracts one or more keywords from the book data based on word frequency and inverse document frequency, assigns one or more book themes based on the keywords, or LDA (Latent). Generating one or more groups in the book data based on the Dirichlet Allocation algorithm, or generating a storyflow emotion graph for each of a plurality of books.상기 (4)단계는,Step (4),상기 서적추천서버가, 제1 서적의 키워드과 제2 서적의 키워드 간의 제1 유사도를 연산하거나, 제1 서적의 서적테마와 제2 서적의 서적테마 간의 제2 유사도를 연산하거나, 제1 서적의 그룹과 제2 서적의 그룹 간의 제3 유사도를 연산하거나 제1 서적의 스토리플로우 감정그래프와 제2 서적의 스토리플루오 감정그래프 간의 제4 유사도를 연산하는 단계;The book recommendation server calculates a first similarity between a keyword of a first book and a keyword of a second book, a second similarity between a book theme of a first book and a book theme of a second book, or a group of first books. Computing a third similarity between the group of the second book and a fourth similarity between the storyflow sentiment graph of the first book and the story fluoro sentiment graph of the second book;상기 (5)단계는,Step (5),상기 추천서버가 상기 제1 유사도 내지 제4 유사도 중 어느 하나 이상에 따라 제1 서적과 유사한 하나 이상의 유사서적을 출력하는 단계인 서적 간 유사도를 활용한 서적추천방법.And the recommendation server outputs one or more similar books similar to the first book according to one or more of the first to fourth similarities.
- 제9 항에 있어서,The method of claim 9,상기 (2) 단계는,Step (2),각 서적에 포함된 전체 단어들의 개수에 대한 소정의 비율의 개수 만큼의 단어들을 분석하는 윈도우(window)를 생성하는 단계; 및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상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천 방법.The emotion of words contained in the window of the moved book is analyzed by sequentially moving the window from the word at the first position included in each book to the story direction of the book in the direction of the word at the second position. The book recommendation method using the similarity between books further comprising the step of generating a storyflow emotion graph.
- 제10 항에 있어서,The method of claim 10,상기 윈도우를 각 서적에 포함된 제1 번 위치에 있는 단어에서 제2 위치에 있는 단어 방향인 서적의 스토리방향으로 순차적으로 이동시켜, 상기 이동된 서적 내 위치의 윈도우 내에 포함된 단어들의 감정을 분석하여 스토리플로우 감정그래프를 생성하는 단계는,The emotion of words contained in the window of the moved book is analyzed by sequentially moving the window from the word at the first position included in each book to the story direction of the book in the direction of the word at the second position. To create a storyflow emotion graph,기정의된 감정단어테이블 내에 포함된 단어들을 참조하여 상기 윈도우 내에 포함된 각 단어에 대한 감정값을 부여하는 단계;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상기 단위감정합산값에 기초하여 스토리플로우 감정그래프에 대한 데이터를 생성하는 단계를 더 포함하는 서적 간 유사도를 활용한 서적추천 방법.The book recommendation method using the similarity between books further comprising the step of generating data for the story flow emotion graph based on the unit emotion sum total value.
- 제11항에 있어서,The method of claim 11,상기 (4) 단계는,Step (4),상기 스토리방향에 따른 상기 제1 서적의 단위감정합산값과 상기 스토리방향에 따른 상기 제2 서적의 단위감정합산값 간의 차이를 나타내는 제1 유사판단기초값; 및 A first similar judgment basic value representing 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상기 제1 유사판단기초값의 변화량을 나타내는 제2 유사판단기초값 중 어느 하나 이상에 기초하여 제4 유사도를 연산하는 것임을 특징으로 하는 서적 간 유사도를 활용한 서적추천 방법.The book recommendation method using the similarity between books, characterized in that for calculating a fourth similarity based on any one or more of the second similar determination basis value indicating the amount of change of the first similar determination basis value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/008505 WO2020022536A1 (en) | 2018-07-27 | 2018-07-27 | Book recommendation method utilizing similarity between books |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/008505 WO2020022536A1 (en) | 2018-07-27 | 2018-07-27 | Book recommendation method utilizing similarity between books |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020022536A1 true WO2020022536A1 (en) | 2020-01-30 |
Family
ID=69181731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/008505 WO2020022536A1 (en) | 2018-07-27 | 2018-07-27 | Book recommendation method utilizing similarity between books |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020022536A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737567A (en) * | 2020-05-29 | 2020-10-02 | 北京宜搜天下科技有限公司 | Method for recommending new network literature |
CN113836430A (en) * | 2021-10-13 | 2021-12-24 | 掌阅科技股份有限公司 | Book recommendation method, terminal and storage medium |
CN113836429A (en) * | 2021-10-13 | 2021-12-24 | 掌阅科技股份有限公司 | Book recommendation method, terminal and storage medium |
CN114385922A (en) * | 2022-01-17 | 2022-04-22 | 上海阿法迪智能数字科技股份有限公司 | Library system knowledge recommendation method based on bloom filter |
CN116644240A (en) * | 2023-07-27 | 2023-08-25 | 中信联合云科技有限责任公司 | Book professional book intelligent recommendation method based on data processing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001160067A (en) * | 1999-09-22 | 2001-06-12 | Ddi Corp | Method for retrieving similar document and recommended article communication service system using the method |
KR20100066862A (en) * | 2008-12-10 | 2010-06-18 | 주식회사 인터파크아이엔티 | Management system for book reading |
JP2015135637A (en) * | 2014-01-17 | 2015-07-27 | Kddi株式会社 | Similarity search program, device, and method for deriving similarity between sentences having story |
JP2016006593A (en) * | 2014-06-20 | 2016-01-14 | ヤフー株式会社 | Extraction device, extraction method, and extraction program |
KR20160098084A (en) * | 2015-02-09 | 2016-08-18 | 특허법인 해담 | System for filtering documents of interest and method thereof |
-
2018
- 2018-07-27 WO PCT/KR2018/008505 patent/WO2020022536A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001160067A (en) * | 1999-09-22 | 2001-06-12 | Ddi Corp | Method for retrieving similar document and recommended article communication service system using the method |
KR20100066862A (en) * | 2008-12-10 | 2010-06-18 | 주식회사 인터파크아이엔티 | Management system for book reading |
JP2015135637A (en) * | 2014-01-17 | 2015-07-27 | Kddi株式会社 | Similarity search program, device, and method for deriving similarity between sentences having story |
JP2016006593A (en) * | 2014-06-20 | 2016-01-14 | ヤフー株式会社 | Extraction device, extraction method, and extraction program |
KR20160098084A (en) * | 2015-02-09 | 2016-08-18 | 특허법인 해담 | System for filtering documents of interest and method thereof |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737567A (en) * | 2020-05-29 | 2020-10-02 | 北京宜搜天下科技有限公司 | Method for recommending new network literature |
CN111737567B (en) * | 2020-05-29 | 2024-10-29 | 北京宜搜天下科技有限公司 | Method for recommending new books in network literature |
CN113836430A (en) * | 2021-10-13 | 2021-12-24 | 掌阅科技股份有限公司 | Book recommendation method, terminal and storage medium |
CN113836429A (en) * | 2021-10-13 | 2021-12-24 | 掌阅科技股份有限公司 | Book recommendation method, terminal and storage medium |
CN114385922A (en) * | 2022-01-17 | 2022-04-22 | 上海阿法迪智能数字科技股份有限公司 | Library system knowledge recommendation method based on bloom filter |
CN116644240A (en) * | 2023-07-27 | 2023-08-25 | 中信联合云科技有限责任公司 | Book professional book intelligent recommendation method based on data processing |
CN116644240B (en) * | 2023-07-27 | 2024-01-26 | 中信联合云科技有限责任公司 | Book professional book intelligent recommendation method based on data processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020022536A1 (en) | Book recommendation method utilizing similarity between books | |
US10565313B2 (en) | Automatic semantic rating and abstraction of literature | |
Wijeratne et al. | A semantics-based measure of emoji similarity | |
KR101074215B1 (en) | Apparatus for analyzing public opinion and Method for rating of public opinion through document analysis | |
CN113886604A (en) | Job knowledge map generation method and system | |
CN111506831A (en) | Collaborative filtering recommendation module and method, electronic device and storage medium | |
Ali et al. | Banglasenti: A dataset of bangla words for sentiment analysis | |
Singh et al. | Nits-vc system for vatex video captioning challenge 2020 | |
Oyewusi et al. | Naijaner: Comprehensive named entity recognition for 5 nigerian languages | |
KR101887469B1 (en) | A book recommendation method using similarity between books | |
WO2020022537A1 (en) | Book recommendation method utilizing similarity between books | |
Uysal et al. | Sentiment analysis for the social media: A case study for turkish general elections | |
KR20200064490A (en) | Server and method for automatically generating profile | |
Wahyudi et al. | Topic modeling of online media news titles during covid-19 emergency response in Indonesia using the latent dirichlet allocation (LDA) algorithm | |
WO2018143490A1 (en) | System for predicting mood of user by using web content, and method therefor | |
Ojokoh et al. | Question identification and classification on an academic question answering site | |
Bayazed et al. | SDCT: multi-dialects corpus classification for Saudi Tweets | |
KR101887474B1 (en) | A book recommendation method using similarity between books | |
Rofiq | Indonesian news extractive text summarization using latent semantic analysis | |
CN114547435B (en) | Content quality identification method, device, equipment and readable storage medium | |
Kanika et al. | KELDEC: A recommendation system for extending classroom learning with visual environmental cues | |
CN110825847B (en) | Method and device for identifying intimacy between target people, electronic equipment and storage medium | |
Sakaji et al. | Extraction of polarity comments from Nico Nico Douga | |
KR20180090764A (en) | A book recommendation method using similarity between books | |
Luţan et al. | Experimenting Emotion-Based Book Recommender Systems with Social Data |
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: 18927692 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: 18927692 Country of ref document: EP Kind code of ref document: A1 |