WO2012169841A2 - Electronic book system, electronic book data formation, searching device, and method for same - Google Patents

Electronic book system, electronic book data formation, searching device, and method for same Download PDF

Info

Publication number
WO2012169841A2
WO2012169841A2 PCT/KR2012/004567 KR2012004567W WO2012169841A2 WO 2012169841 A2 WO2012169841 A2 WO 2012169841A2 KR 2012004567 W KR2012004567 W KR 2012004567W WO 2012169841 A2 WO2012169841 A2 WO 2012169841A2
Authority
WO
WIPO (PCT)
Prior art keywords
search
book
text
unique number
dbms
Prior art date
Application number
PCT/KR2012/004567
Other languages
French (fr)
Korean (ko)
Other versions
WO2012169841A9 (en
WO2012169841A3 (en
Inventor
이해성
Original Assignee
주식회사 내일이비즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 내일이비즈 filed Critical 주식회사 내일이비즈
Priority claimed from KR1020120061536A external-priority patent/KR101364178B1/en
Publication of WO2012169841A2 publication Critical patent/WO2012169841A2/en
Publication of WO2012169841A3 publication Critical patent/WO2012169841A3/en
Publication of WO2012169841A9 publication Critical patent/WO2012169841A9/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing

Definitions

  • the present invention relates to an apparatus and method for generating, storing and retrieving e-book data.
  • E-books and electronic documents can generally be entered directly into a search engine.
  • the layout of an e-book or electronic document that can be directly input into a search engine is only a solid document.
  • e-books or electronic documents with very complicated layouts, such as multi-stage layouts or newspapers, could not be directly loaded into search engines. This is because it is not yet possible to accurately analyze the order of each paragraph or paragraph that can accurately read an e-book or an electronic document having a complicated layout by computer algorithm alone.
  • An object of the present invention is to solve the above problems of the conventional e-book system.
  • the present invention provides an e-book system in which an e-book or electronic document having a complicated layout can be searched by a search engine.
  • the present invention provides an e-book system in which formulas, formulas or pictures in an e-book can be searched.
  • the present invention provides an e-book system that can search the purchase / loan history and preferences / preferences of individuals in addition to the general text search.
  • the present invention generates an e-book or electronic document having a complicated layout as data in a form that can be mounted in a search engine.
  • the type of data that can be loaded into a search engine forms one page of a book into one or more groups.
  • the type of data that may be loaded into the search engine may include a text object that is text describing a picture with respect to the picture object.
  • Data in a form that can be loaded into the search engine may include hidden groups that are displayed on the screen but ignored when searching in the search engine.
  • the e-book system of the present invention may include a database management system (DBMS) that stores a purchase / loan history and preferences / individuals of an individual together with a search engine capable of searching a text.
  • DBMS database management system
  • Search engines and DBMSs can interoperate through e-book unique numbers (for example, using GUIDs such as DC32CC1FD0604859A96CCB103E2F7C1C, 1F6CB702AFFE4bdfB130937D90C51F59).
  • GUIDs such as DC32CC1FD0604859A96CCB103E2F7C1C, 1F6CB702AFFE4bdfB130937D90C51F59.
  • the smallest unit that makes up the e-book data is an object.
  • Objects are divided into three categories according to their properties. "Text”, “Picture” and “Table Text” respectively. Another property of these objects is the coordinate values that indicate their position and size on the monitor screen.
  • the objects gather to form a line.
  • the lines come together to form a group.
  • Groups form a page. Pages come together to form a book.
  • Object Order 4
  • Object Property 1 Type: Text
  • Object Property 2 Code
  • 'A' AC00
  • Object Property 3 Bold
  • object property 6 font size
  • object property 7 Width
  • object property 8 Height
  • object property 9 upper left coordinate value
  • "table text" is not displayed on the screen but is associated with a picture displayed on the screen.
  • searching for a picture if a text describing the picture is entered as a keyword, the "table text" associated with the picture can be searched.
  • the e-book data may further include information about an important bibliography of the e-book or electronic document.
  • the e-book data may further include a unique number for distinguishing the e-book.
  • the e-book system stores bibliographic information of the e-book and buyers (people, libraries) and loan information (lenders and loan terms) of the e-book or electronic document along with a search engine that retrieves the text of the e-book. It may further include a DBMS. In one embodiment, the search engine and the DBMS may interoperate through a unique number included in the e-book data.
  • an electronic document may generate electronic book data having an organized structure of objects, lines, groups, and pages.
  • the text can be searched through a search engine as well as a sentence including various symbols such as formulas and chemical formulas, which were not possible in the conventional e-book system (for example, PDF or ePub). Do.
  • a text search for all e-books existing in an e-book store sold directly to consumers, as well as a search limited to e-books belonging to a specific e-book library, are possible. Do.
  • the text search results limited to the entire library or personalization area may be filtered again by combining with various sales statistics, usage statistics, or bibliographic information.
  • FIG. 1 is a block diagram of an e-book providing and retrieval system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of an e-book searching apparatus according to an embodiment of the present invention.
  • FIG. 3 is a detailed block diagram of an e-book data configuration unit according to an embodiment of the present invention.
  • FIG. 4 is an example of a group constituting a page of e-book data according to an embodiment of the present invention.
  • 5 is another example of a group constituting a page of e-book data according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for forming an internal text area of e-book data according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for retrieving e-book data in accordance with one embodiment of the present invention.
  • the e-book providing and retrieval system 100 includes an e-book retrieval device 110 that performs retrieval of an e-book in association with the search engine 130 and the DBMS 140 via the network 190. can do.
  • the network 190 may include both a wired communication medium such as a LAN or WAN and a wireless communication medium such as a Wi-Fi or mobile communication system.
  • the search engine 130 may be configured to receive a text search word and perform a text search of the e-book.
  • the DBMS 140 may store a loan history, a purchase history, or a field of interest of an individual, and search for bibliographic information, for example, as a keyword for a non-text search word in such a personalization area.
  • a user may access an e-book data retrieval device 110 via a mobile communication device 152 such as a mobile phone, smartphone or tablet PC, notebook 154, PC 156 or other network 190.
  • a user may define a search scope only for his loan, purchase, or field of interest (personalization area).
  • the e-book data retrieval apparatus 110 may first perform a search in the DBMS 140, and then operate the e-book data search again to the search engine 130 for the e-book obtained as a result.
  • the user may perform a search throughout the e-book library (non-personalized area) without limiting the search scope.
  • the e-book data retrieval apparatus 110 may perform a search in the search engine 130, and then check the e-book obtained as a result in the DBMS 140 again to extract a highly relevant result. .
  • the user may input a keyword through the e-book providing and search system 100 to perform a text search and obtain a result.
  • the search engine 130 may search the body of the e-book data stored therein based on the user's keyword input and output the result.
  • the search engine 130 has a problem in that bibliographic information of the e-book and information other than the text (for example, information related to the commerce of the e-book) are not stored.
  • the DBMS 140 may not store all the contents of the e-book, but may store information such as commerce related to the e-book.
  • the DBMS 140 may determine whether a particular e-book can be sold to individual customers, whether it is delivered to which library, what is the sales volume, what individual customer has made a purchase, which library member has rented, etc.
  • Information, that is, information not stored in the search engine 130 may be included.
  • the text search and the bibliographic search of the conventional e-book are not linked to each other, and the inconvenience of being separately performed can be eliminated, and the bibliographic search and the text search can be integrated and provided as one.
  • the search engine 130 supports the text search in the online store that sells e-books to each individual, as well as by category by bibliographic information in conjunction with the DBMS 140 (E.g., literature, practical, language, etc.) to narrow the scope of the search, and in addition to re-search in order of sales based on the sales history so as to filter the text search results derived from the search engine 130 You can also pay.
  • the DBMS 140 E.g., literature, practical, language, etc.
  • a text search may be performed through the search engine 130.
  • the search scope by category for example, literature, practical, language, etc.
  • You can also filter the text search results by count.
  • the body may be searched through the search engine 130.
  • the scope of the search is narrowed by category (for example, literature, practical, language, etc.), and in addition, the number of readings and reading time You can also filter the text search results.
  • the text search may be performed through the search engine 130.
  • the search results of the body of the search engine 130 are further linked with the DBMS 140 to narrow down the search by classification (for example, literature, practical use, language, etc.), and in addition, in order of the number of rentals and reading time. You can also filter the text search results.
  • the e-book retrieval apparatus 110 may include an e-book data construction unit 210 configured to receive an electronic document and configure e-book data.
  • the e-book data configuration unit 210 may receive an electronic document including, for example, a word file (doc), a PowerPoint document (ppt) or a pdf file.
  • the e-book data configuration unit 210 includes an internal text area viewed by the user from the input electronic document, bibliographic information indicating the basics of the e-book data, a unique number for identifying the e-book data, and the like. E-book data can be generated.
  • the e-book retrieval apparatus 110 receives the e-book data from the e-book data configuration unit 210 and records the corresponding data in the search engine 130 and the DBMS 140. It may further include.
  • the server-side component 220 may include a data analysis unit 221 for analyzing the structure of the e-book data to distinguish the internal text area, the bibliographic information unique number, and store it in a separate file.
  • the data analyzer 221 may store an internal text area, bibliographic information, and a unique number based on a file format used by the search engine 130 or the DBMS 140. For example, when the search engine 130 or the DBMS 140 may receive an XML file, the data analyzer 221 may store an internal text area, bibliographic information, and a unique number as an XML file. In one embodiment, the data analyzer 221 may record the unique number together in the internal text area and the bibliographic information, without separating the unique number into a separate file.
  • the server-side component 220 registers the internal text area and the unique number of the e-book data stored by the data analyzer 221 to the search engine 130 and the bibliographic information and the unique number to the DBMS 140.
  • the data mounting unit 222 may be further included.
  • the search engine 130 and the DBMS 140 share a unique number so that mutual information exchange is possible.
  • the data mounter 222 may further record bibliographic information in the search engine 130. In one embodiment, the data mounting unit 222 may store the corresponding contents of the bibliographic information in each item of the predetermined schema table of the DBMS 140.
  • the e-book search apparatus 110 may further include an e-book search unit 240 that receives a keyword from a user and performs a search in association with the search engine 130 and the DBMS 140. Can be.
  • the e-book search unit 240 may receive a search range and a keyword indicating whether the personalized area or the non-personalized area is input from the user.
  • the personalization area may include a history of each book purchased by each individual and books borrowed from the library.
  • the non-personalized area may include a bookstore where each individual can purchase an e-book and books held by each e-book library.
  • the keyword may include a word for text search or a word for text search.
  • the e-book search unit 240 when the search range is a personalized area, performs a search in the DBMS 140 using a search word other than the text, and the unique number and text of the e-books extracted as a result.
  • the search word 130 may be input to the search engine 130 to extract a unique number of the corresponding e-book.
  • the e-book search unit 240 selects a unique number of the selected e-book and a word for text search based on selecting an input indicating additional instruction of the user, for example, one of the extracted e-books.
  • the search results for each page of the e-book may be extracted by inputting the search engine 130.
  • the e-book search unit 240 when the search range is a non-personalized area, performs a search in the search engine 130 using the text search word, and the unique number of the e-books extracted as a result. By inputting a search word other than the text into the DBMS 140, a unique number of an e-book satisfying the text and bibliographic information may be extracted.
  • the e-book search unit 240 may divide the e-books extracted by the search engine 130 into a set having a predetermined size and perform the DBMS 140 search for each set in order. For example, if the predetermined size is 100 and the number of e-books extracted as a result of the search engine 130 is 952, the search result may be divided into 10 sets. The tenth set contains the unique numbers of 52 e-books. In this embodiment, the DBMS 140 search uses words outside the text search.
  • the DBMS 140 may search for bibliographic information to provide a quick search to the user.
  • the search engine 130 may be configured to output the results in the order most relevant to the input text search word.
  • the results may be substantially output in descending order of relevance.
  • the e-book search unit 240 selects an input indicating an additional instruction of the user, for example, based on selecting one of the extracted e-books.
  • the search result for each page of the e-book may be extracted by inputting the unique number of the e-book and the word for text search into the search engine 130.
  • the e-book data configuration unit 210 may include an internal text area configuration unit 301, a bibliographic information input unit 302, and a unique number determination unit 303.
  • the bibliographic information input unit 302 may receive basic information related to the corresponding e-book, such as the author, publisher, year of publication, and subject of the e-book.
  • the unique number determination unit 303 may generate a unique number for identifying the corresponding e-book data and record it in the e-book data. By using the unique number, the search engine 130 for searching the text of the e-book and the DBMS 140 for searching bibliographic information can be linked.
  • the internal text area configuring unit 301 may configure data included in a picture area representing the entire page. That is, an internal text area for storing the code value and the position on the screen of the characters existing in each page is configured.
  • the picture area may be a picture or may include a picture. Alternatively, it can contain a set of instructions that allow a computer to generate a picture.
  • the internal text area is logically formed in the structure of a book> page> group> line> object.
  • an ebook is a collection of pages.
  • a page is a collection of groups within.
  • a group is a collection of lines inside.
  • a line is a collection of objects inside.
  • the object may include "text”, "picture” or "table text”.
  • “Text” includes common letters.
  • the term “picture” includes not only a general picture but also a table and a formula.
  • “Table text” includes hidden characters that are not displayed on the screen, describing "picture”.
  • each object includes a "text code value” and a "coordinate value on the screen”.
  • the internal text area configuring unit 301 may receive an electronic document input unit 310 that receives an electronic document including, for example, a word file (doc), a PowerPoint document (ppt), or a pdf file. It may include.
  • the input electronic document generally includes page information, object code and coordinate values of the object.
  • the internal text area configuring unit 301 may further include a data extracting unit 320 extracting page information, an object code, and coordinate values of the object from the input electronic document.
  • the internal text area configuring unit 301 may further include a group setting unit 330 that sets a group based on coordinate values of all objects existing in the same page. For example, the group setting unit 330 analyzes the coordinate values of the objects in the page, obtains and divides a cluster distribution, and clusters the objects for each cluster. In this embodiment, the group setting unit 330 may set each clustered cluster as a group and determine the order.
  • clustering may be performed as follows. First, the basic constants are
  • NumberOfClusters Number of clusters initially set
  • MinimumNumberOfElement The minimum number of elements needed to maintain a cluster.
  • MinimumDistance The minimum distance of each cluster center point that can be maintained without each cluster being merged into one.
  • MaxNumIter1 the maximum possible number of iterations performed in the first half of this clustering method.
  • MaxNumIter2 the maximum number of possible iterations performed later in this clustering method
  • MaxNumMerge maximum number of clusters that can be merged in one iteration
  • Clustering basically divides each of the points (elements) located in a space.
  • the space corresponding to this space may be referred to as a page surface, and each element occupying a position is a geometric figure such as a letter or a picture.
  • the system displays the position of the corresponding letter or picture and sets the system to assume that the entire inside of the rectangle surrounding the letter or picture is filled with black dots. In this case, the computation time can be saved considerably, and in fact the clustered results are excellent.
  • clustering is performed as follows.
  • step [6] If the number of clusters is greater than (constant 1) * NumberOfClusters or the number of iterations is even, go to step [7], otherwise go to step [8].
  • (constant 1) is a value that can be adjusted appropriately to improve performance.
  • step [7] For all clusters, find the distance between the center points of each cluster, and if two clusters are found whose distance is less than the MinimumDistance, combine them into one and calculate and assign a new center point. Then repeat step [7] again. If the number of iterations reaches MaxNumIter2, go to step [8].
  • step [8] If the number of clusters is smaller than NumberOfClusters / (constant 2) or the number of iterations is odd, go to step [9]. Otherwise, go to step [10].
  • the standard deviation of the coordinates of all points in the space is called STD-All.
  • STD-All For all clusters, find the standard deviation for only those points that belong to them, and then find clusters with this value larger than SplittingSize * STD-All. If no cluster is found, go to step [10]. If a corresponding cluster is found, the cluster is divided into two based on the center points of the points belonging to the cluster. Next, find the center points of each of these two divided clusters, find the distance, and if the value is greater than (constant 3) * MinimumDistance, replace the original unified cluster with these two divided clusters. If not, the original integrated cluster is adopted as is.
  • step [10] If the number of iterations in this step exceeds MaxNumIter2, or if there have been no changes in clusters since the last time this step was completed, the operation is terminated. If not, proceed to step [2] by selecting the center points of the current clusters as initial values.
  • the internal text area configuring unit 301 may further include a line discriminating unit 340 for distinguishing objects belonging to the same line by analyzing coordinate values of each object existing in the group.
  • the line distinguishing unit 340 may distinguish objects belonging to the same line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”. In this embodiment, the line distinguishing unit 340 may automatically distinguish the moving direction based on the coordinate values of the objects in the group. In another embodiment, the line discriminator 340 may determine the heading direction based on a user input.
  • the internal text area configuration unit 301 may further include an object order determiner 350 that determines the order of objects belonging to the same line.
  • the object order determiner 350 may determine the order of the objects in the line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”.
  • the object order determiner 350 may start at "upper” in “vertical writing” depending on the e-book's progress direction and start position, for example, starting from “left” or "right” in “horizontal writing.” You can determine the order of objects differently depending on whether you start with or "below”.
  • the object order determiner 350 may automatically distinguish the moving direction and the starting position based on the coordinate values of the objects in the group. In another embodiment, the object order determiner 350 may determine the moving direction and the start position based on the user's input.
  • the internal text area configuring unit 301 may further include an editing unit 360 to correct an error in group setting, line setting, or order of an object.
  • the editor 360 may receive an input for specifying a boundary of the group from the user. Therefore, when there is an error in the group automatically set by the group setting unit 330 it can be corrected.
  • the editor 360 may receive an input for specifying a line boundary and an object order from a user to correct an error that may occur in the line discriminator 340 or the object order determiner 350.
  • the editing unit 360 may receive a table text for describing the picture from the user.
  • the editing unit 360 may receive text for reading the equation as table text with respect to the equation that is a picture object. for example, If the formula is set as a picture object, the user may input, via the editing unit 360, "A squared plus ratio is the square of the seed" as table text of the corresponding picture object.
  • the search engine 130 can search the text with the keyword "evening bell of Millet", and can accurately extract the position of the corresponding picture.
  • the editor 360 may designate a "hidden group" that is displayed on the screen but ignored by the search engine when searching. For example, a page number of a book, a part indicating a title in every page, etc. is a part that appears on each page but does not need to be searched. The editor 360 may designate these parts as hidden groups to be ignored when searching in a search engine.
  • page 400 illustrates an example of a group constituting a page of e-book data according to an embodiment of the present invention. As shown in FIG. 4, page 400 may include five groups 410-450.
  • Groups 410-450 are sets of lines in which content is naturally connected when reading the corresponding content.
  • Page 400 is composed of a multi-stage, there is a line that exists on the same line, but the content is not connected if read as it is.
  • the group 430 and the group 440 are on the same line but are not connected to the contents, for example, the group 430 may be known as “the oppositely distorted state.
  • group 440 "with respect to family and life" are on the same line but the content is not connected.
  • the two groups 430 and 440 are separate groups.
  • Groups are similar to paragraphs in terms of whether the linking of content proceeds naturally. Unlike FIG. 4, one group may constitute one page. In this case, the same page and group correspond to "single document". As in page 400, when configured in multiple tiers, the page includes a plurality of groups.
  • pages may be formed in one or a plurality of groups.
  • groups may be formed in one or a plurality of lines.
  • lines may be formed of one or a plurality of objects.
  • the group 410 is an example in which one picture object forms one line and one group.
  • the groups 410-450 of the page 400 may have an order of 410> 420> 430> 440> 450.
  • the order of the groups may be based on the order of the content. In this embodiment, if the user reads in the order of the groups, the entire contents of the page can be read sequentially. In other words, reading the contents of a page corresponds to reading in the order of the group of the page and in the order of the lines in the group.
  • the group 450 may be designated as a "hidden group" by the editing unit 360 as a part of the title of the book which is repeated equally on every page. In this case, the text of the group 450 appears on the screen but is ignored when the text is searched by the search engine 130.
  • page 500 shows another example of a group constituting a page of e-book data according to an embodiment of the present invention.
  • page 500 may include three groups 510-530.
  • the groups 510-530 of the page 500 may have an order of 510> 520> 530.
  • the group 530 may be designated as a "hidden group" by the editing unit 360 as a part corresponding to the page number. In this case, the text of the group 530 appears on the screen but is ignored when the body search is performed in the search engine 130.
  • FIG. 6 is a flowchart of a method of forming an internal text area of electronic book data according to an embodiment of the present invention.
  • the method 600 includes a step 610 of receiving an electronic document including a word file (doc), a PowerPoint document (ppt) or a pdf file.
  • step 610 may be performed by the electronic document input unit 310.
  • the input electronic document generally includes page information, object code and coordinate values of the object.
  • the method 600 includes a step 620 of extracting data, such as page information, object code, and coordinate values of the object, from the input electronic document.
  • step 620 may be performed by the data extractor 320.
  • the method 600 includes setting 630 a group based on coordinate values of all objects present within the same page.
  • step 630 may be performed by the group setting unit 330.
  • the group setting step 630 may include clustering objects by clusters after obtaining and dividing a cluster distribution by analyzing coordinate values of the objects in the page.
  • the group setting step 630 may include setting and ordering each clustered cluster as a group.
  • the method 600 includes a step 640 of distinguishing objects belonging to the same line by analyzing coordinate values of each object present in the group.
  • step 640 may be performed by the line discriminator 340.
  • the line distinguishing step 640 may be performed to distinguish objects belonging to the same line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”.
  • the line distinguishing step 640 may proceed automatically based on the coordinate values of the objects in the group, or may proceed by determining the direction of travel based on a user input.
  • the method 600 includes a step 650 of determining the order of objects belonging to the same line.
  • step 650 may be performed by the object order determiner 350.
  • the object ordering step 650 may be performed to determine the order of the objects in the line according to the direction of the e-book, such as "horizontal writing” or “vertical writing.”
  • the object ordering step 650 may be performed from “upper” to “upper”, depending on the e-book's progress direction and starting position, for example, starting from “left” or “right” in “horizontal writing.” It may be practiced to determine the order of the objects differently depending on whether they start at "below” or "below”.
  • the object order determination step 650 may be implemented to automatically distinguish the heading direction and the starting position based on the coordinate values of the objects in the group. In another embodiment, object ordering step 650 may be implemented to determine a heading direction and a starting position based on a user input.
  • the method 600 may further include an editor step 660 that corrects for errors that may occur in the group setup step 630, the line discrimination step 640, or the object ordering step 650. have.
  • the editing step 660 may include receiving input from a user specifying a boundary of the group. Therefore, when there is an error in the group set in the group setting step 630, it can be corrected.
  • editing step 660 may include receiving input from a user specifying a line boundary or an order of objects. In this case, an error that may occur in the line discrimination step 640 or the object order determination step 650 may be corrected.
  • the editing step 660 may include receiving a table text from a user describing the picture with respect to the picture. For example, for a formula, which is a picture object, text for reading the formula may be input as table text. for example, If the formula is set to a picture object, a user may input "A squared plus ratio of square is seed squared" as table text of the corresponding picture object.
  • the corresponding table text in the editing step 660 is "Millet's evening bell. Jean-Institut and Miele are the chief of the Barbi sect. In addition to inheriting realism, he draws a picture of nature and is called a naturalist. In particular, this picture, the evening bell on the page, is the representative work of Miele. ”
  • the search engine 130 can search the text with the keyword “evening bell of Millet", and can accurately extract the position of the corresponding picture.
  • the editing step 660 may include specifying a "hidden group" that is displayed on the screen but ignored by the search engine when searching. For example, a page number of a book, a part indicating a title in every page, etc. is a part that appears on each page but does not need to be searched. By designating these parts as hidden groups in the editing step 660, they can be ignored when searching in a search engine.
  • each step shown in FIG. 6 is exemplary, and depending on the embodiment, the steps may be integrated or subdivided into detailed steps. It is also possible for some steps to be omitted or repeated.
  • the method 700 is a flowchart of a method for retrieving e-book data according to an embodiment of the present invention.
  • the method 700 may be performed in conjunction with the search engine 130 and the DBMS 140 by the e-book search unit 240 of the e-book search device shown in FIG. 2.
  • the method 700 includes a step 710 of receiving a search range from a user.
  • the search range indicates whether it is a personalized area or a non-personalized area.
  • the personalization area may include details of own books purchased by each individual and books borrowed from the library.
  • the non-personalization area may include a bookstore where each individual can purchase an e-book and books held by each e-book library.
  • the method 700 includes a step 720 of receiving a keyword from a user.
  • the keyword may include a word for text search or a word for text search.
  • the method 700 includes a step 730 of determining whether the search range entered in step 710 represents a personalized area or a non-personalized area. If it is determined in step 730 that the search range is a personalized area, the DBMS 140 performs a search (step 742). In an embodiment, step 742 may include searching for bibliographic information in the DBMS 140 using words other than the text search word among the keywords input in step 720.
  • step 744 is a step of extracting the unique number of the corresponding e-book by inputting the word for the text search in the search engine 130 of the unique number of the e-books extracted in step 742 and keywords received in step 720 It may include.
  • the method 700 is based on selecting an input indicating additional instructions from the user, such as one of the resulting e-books, to identify the unique number and word for text search of the selected e-book.
  • the method may further include extracting a search result for each page of the corresponding e-book by inputting the to the search engine 130.
  • step 730 the search engine 130 performs a search (step 752).
  • operation 752 may include performing a text search by the search engine 130 using a text search word among the keywords input in operation 720.
  • the method 700 includes a step 756 of further searching in the DBMS 140 for the e-books extracted as a result.
  • a unique number of the e-book searched in operation 752 and a word for searching other than the text may be input to the DBMS 140 to extract a unique number of the e-book that satisfies the text and bibliographic information.
  • the method 700 may further include dividing 754 the e-books extracted by the search engine 130 into a set having a predetermined size, before step 756 after performing step 752.
  • step 756 may include performing a DBMS 140 search in order on each set divided in step 754.
  • the search results may be divided into 10 sets in step 754.
  • the tenth set contains the unique numbers of 52 e-books.
  • the search results of the search engine 130 may be divided into sets, and when the DBMS 140 search is performed in operation 756, a quick search may be provided to the user.
  • the search engine 130 may be configured to output the results in the order most relevant to the input text search word.
  • the search results of the search engine 130 may be divided into sets, and when the bibliographic information is searched by the DBMS 140 in order in operation 756, the search results may be substantially output in descending order of relevance.
  • the search engine 130 searches for the unique number of the selected e-book and the word for the text search based on the selection of an e-book, which is not shown, indicating an additional instruction of the user, for example, one of the extracted e-books.
  • the method may further include extracting a search result for each page of the corresponding e-book by inputting in the.
  • steps 742 and 744 are performed in the personalized area according to the search range, and steps 752-756 are performed in the non-personalized area.
  • DBMS 140 can be searched by limiting the classification.
  • the search engine 130 may be searched by inputting a keyword for text search on the search result derived in step 756.
  • the arrangement of the components shown may vary depending on the environment or requirements on which the invention is implemented. For example, some components may be omitted or several components may be integrated and implemented as one. In addition, the arrangement order and connection of some components may be changed.
  • the arrangement of the steps shown may vary depending on the environment or requirements on which the invention is implemented. For example, some steps may be omitted or some steps may be combined and implemented as one. In addition, the arrangement order of some steps may be changed.
  • the invention may be implemented in hardware, software, firmware, middleware, or a combination thereof, and the system, subsystem, components or sub-configurations thereof. It should be understood that they can be used as elements. If implemented in software, the elements of the invention are instructions / code segments for performing the necessary tasks.
  • the program or code segments may be stored in a machine readable medium, such as a processor readable medium, a computer program product, or via a transmission medium or communication link by a computer data signal embodied in a carrier wave or a signal modulated by a carrier. Can be sent.
  • Machine readable media or processor readable media may include any medium that can store or transmit information in a form readable and executable by a machine (eg, processor, computer, etc.).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

One embodiment of the present invention generates electronic book data, said data comprising groups formed by clustering objects included in electronic documents on the basis of the objects and the coordinate values of the objects. The electronic book data formed is loaded into a search engine and a database management system (DBMS). By connecting with the search engine and the database management system a user can implement a search for bibliographic information in a business transaction breakdown or similar, or a search of the body of the electronic book data.

Description

전자책 시스템과 전자책 데이터 생성, 검색 장치 및 그 방법E-book system and e-book data generation, retrieval device and method thereof
본 발명은 전자책 데이터를 생성하고 저장 및 검색하는 장치 및 그 방법에 관련되어 있다.The present invention relates to an apparatus and method for generating, storing and retrieving e-book data.
전자책 및 전자 문서들은 일반적으로 검색 엔진에 직접적으로 입력이 가능하다. 그런데 이와 같이 검색 엔진에 곧바로 입력할 수 있는 전자책 또는 전자 문서의 레이아웃은 단단 문서에 불과한 수준이다. 즉, 다단으로 구성된 레이아웃이나 신문과 같이 아주 복잡한 레이아웃의 전자책이나 전자문서는 곧바로 검색엔진에 탑재될 수 없었다. 왜냐하면, 복잡한 레이아웃을 가진 전자책이나 전자문서를 정확하게 읽어 갈 수 있는 각 단 또는 문단별 순서를 컴퓨터 알고리즘만으로는 정확하게 분석하는 것이 아직까지 불가능하기 때문이다.E-books and electronic documents can generally be entered directly into a search engine. However, the layout of an e-book or electronic document that can be directly input into a search engine is only a solid document. In other words, e-books or electronic documents with very complicated layouts, such as multi-stage layouts or newspapers, could not be directly loaded into search engines. This is because it is not yet possible to accurately analyze the order of each paragraph or paragraph that can accurately read an e-book or an electronic document having a complicated layout by computer algorithm alone.
또한, 종래 전자책 시스템과 연동되는 검색 엔진에서는 표, 그림, 수식, 화학식과 같은 내용은 검색할 수 없었다. 일반적으로 이와 같은 대상체들을 전자책에 표현하기 위해서는 이들 모두를 그림으로 표현하는 것이 편리하다. 그런데 그림으로 표현된 객체들은 텍스트가 존재하지 않기 때문에 검색이 불가능하였다. In addition, in a search engine linked with the conventional e-book system, contents such as tables, figures, formulas, and chemical formulas cannot be searched. In general, in order to express such objects in an e-book, it is convenient to express them all in pictures. However, objects represented by pictures could not be searched because there is no text.
또한, 종래 전자책 시스템에서는 소비자들에게 직접적으로 판매되는 전자책 매장에 존재하는 모든 전자책들을 대상으로 하는 본문 검색이 가능하였지만, 특정 전자책 도서관에 속하는 전자책들만을 대상으로 하거나, 각 개인이 이미 구매하여 소유하고 있는 전자책들만을 대상으로 한 본문 검색은 불가능하다.In addition, in the conventional e-book system, it was possible to search the text for all e-books existing in e-book stores that are sold directly to consumers, but only e-books belonging to a specific e-book library, It is not possible to search the text only for e-books already purchased and owned.
본 발명의 목적은 전술한 종래 전자책 시스템의 문제점을 해결하고자 하는 데 있다.An object of the present invention is to solve the above problems of the conventional e-book system.
즉, 복잡한 레이아웃을 가진 전자책이나 전자 문서도 검색 엔진에서 검색될 수 있는 전자책 시스템을 제공한다.That is, the present invention provides an e-book system in which an e-book or electronic document having a complicated layout can be searched by a search engine.
또한, 전자책 내의 수식, 화학식 또는 그림이 검색될 수 있는 전자책 시스템을 제공한다.In addition, the present invention provides an e-book system in which formulas, formulas or pictures in an e-book can be searched.
또한, 일반적인 본문 검색 외에 개인의 구매/대출 이력 및 기호/성향을 검색할 수 있는 전자책 시스템을 제공한다.In addition, the present invention provides an e-book system that can search the purchase / loan history and preferences / preferences of individuals in addition to the general text search.
본 발명은 복잡한 레이아웃을 가진 전자책이나 전자 문서를 검색 엔진에 탑재될 수 있는 형태의 데이터로 생성한다.The present invention generates an e-book or electronic document having a complicated layout as data in a form that can be mounted in a search engine.
검색 엔진에 탑재될 수 있는 형태의 데이터는 책의 1 페이지를 하나의 이상의 그룹으로 형성한다.The type of data that can be loaded into a search engine forms one page of a book into one or more groups.
검색 엔진에 탑재될 수 있는 형태의 데이터는 그림 객체에 대하여 그림을 설명하는 텍스트인 텍스트 객체를 포함할 수 있다.The type of data that may be loaded into the search engine may include a text object that is text describing a picture with respect to the picture object.
검색 엔진에 탑재될 수 있는 형태의 데이터는 화면에는 표시되지만 검색 엔진에서의 검색 시 무시되는 숨겨진 그룹을 포함할 수 있다.Data in a form that can be loaded into the search engine may include hidden groups that are displayed on the screen but ignored when searching in the search engine.
본 발명의 전자책 시스템은 본문 검색이 가능한 검색 엔진과 함께 개인의 구매/대출 이력 및 기호/성향을 저장하는 데이터베이스 관리 시스템(DBMS: DataBase Management System)을 포함할 수 있다.The e-book system of the present invention may include a database management system (DBMS) that stores a purchase / loan history and preferences / individuals of an individual together with a search engine capable of searching a text.
검색 엔진과 DBMS는 전자책의 고유 번호(예를 들면, DC32CC1FD0604859A96CCB103E2F7C1C, 1F6CB702AFFE4bdfB130937D90C51F59 등과 같은 GUID를 사용할 수 있음)를 통하여 상호 연동할 수 있다.Search engines and DBMSs can interoperate through e-book unique numbers (for example, using GUIDs such as DC32CC1FD0604859A96CCB103E2F7C1C, 1F6CB702AFFE4bdfB130937D90C51F59).
일 실시예에서, 전자책 데이터를 구성하는 가장 작은 단위는 객체이다. 객체는 속성에 따라서 세 가지로 구분된다. 각각 "텍스트", "그림", "테이블 텍스트"이다. 이들 객체의 또 다른 속성으로는 모니터 화면상의 위치와 크기를 나타내는 좌표값들이 있다.In one embodiment, the smallest unit that makes up the e-book data is an object. Objects are divided into three categories according to their properties. "Text", "Picture" and "Table Text" respectively. Another property of these objects is the coordinate values that indicate their position and size on the monitor screen.
일 실시예에서, 객체가 모여서 라인(선)을 형성한다. 라인이 모여서 그룹을 형성한다. 그룹이 모여서 페이지를 형성한다. 페이지가 모여서 책을 형성한다. 예를 들면, "가"라는 글자가 화면상에 나타나면, 이 글자와 관련된 정보들의 구성은 다음과 같다: [페이지 : 10]->[그룹 : 2]->[라인 : 3]->[객체순서: 4, 객체속성 1(종류): 텍스트, 객체속성 2(코드값): '가'=AC00, 객체속성 3(Bold): No, 객체속성 4(Underline): No, 객체속성 5(Italic): Yes, 객체속성 6(폰트크기): 12, 객체속성 7(Width): 32, 객체속성 8(Height): 36, 객체속성 9(좌상단좌표값): (59, 60)]. "그림"도 마찬가지로 표현된다.In one embodiment, the objects gather to form a line. The lines come together to form a group. Groups form a page. Pages come together to form a book. For example, if the letter "A" appears on the screen, the information related to this letter is organized as follows: [Page: 10]-> [Group: 2]-> [Line: 3]-> [Object Order: 4, Object Property 1 (Type): Text, Object Property 2 (Code): 'A' = AC00, Object Property 3 (Bold): No, Object Property 4 (Underline): No, Object Property 5 (Italic) ): Yes, object property 6 (font size): 12, object property 7 (Width): 32, object property 8 (Height): 36, object property 9 (upper left coordinate value): (59, 60)]. The "picture" is likewise represented.
일 실시예에서, "테이블 텍스트"는 화면에 표시되지 않지만, 화면에 표시되는 그림과 연관되어 있다. 따라서, 어떤 그림을 검색할 때, 그 그림을 설명하는 텍스트를 키워드로 입력할 경우, 해당 그림에 연관된 "테이블 텍스트"가 검색될 수있다. In one embodiment, "table text" is not displayed on the screen but is associated with a picture displayed on the screen. Thus, when searching for a picture, if a text describing the picture is entered as a keyword, the "table text" associated with the picture can be searched.
일 실시예에서, 전자책 데이터는 전자책이나 전자 문서의 중요한 서지에 대한 정보를 더 포함할 수 있다. 또한, 전자책 데이터는 해당 전자책을 구별할 수 있는 고유 번호를 더 포함할 수 있다. In one embodiment, the e-book data may further include information about an important bibliography of the e-book or electronic document. In addition, the e-book data may further include a unique number for distinguishing the e-book.
일 실시예에서, 전자책 시스템은 전자책의 본문을 검색하는 검색 엔진과 함께 전자책의 서지 정보 및 해당 전자책이나 전자 문서의 구매자(사람, 도서관) 및 대출 정보(대출자 및 대출 기간)를 저장하는 DBMS를 더 포함할 수 있다. 일 실시예에서, 검색 엔진과 DBMS는 전자책 데이터에 포함된 고유 번호를 통해 상호 연동할 수 있다.In one embodiment, the e-book system stores bibliographic information of the e-book and buyers (people, libraries) and loan information (lenders and loan terms) of the e-book or electronic document along with a search engine that retrieves the text of the e-book. It may further include a DBMS. In one embodiment, the search engine and the DBMS may interoperate through a unique number included in the e-book data.
본 발명의 일 실시예에 따르면, 전자 문서를 객체, 라인, 그룹, 페이지의 체계화된 구조를 갖는 전자책 데이터를 생성할 수 있다.According to an embodiment of the present invention, an electronic document may generate electronic book data having an organized structure of objects, lines, groups, and pages.
본 발명의 일 실시예에 따르면, 전자책 데이터를 생성함으로써, 종래 PDF와 같은 전자 문서에서는 불가능하였던 복잡한 레이아웃을 포함하는 전자 문서, 예컨대 신문과 같이 아주 복잡한 레이아웃의 전자책도 검색 엔진에 입력할 수 있다. According to an embodiment of the present invention, by generating e-book data, an e-book including a complicated layout that is not possible in an electronic document such as a PDF, for example, an e-book having a very complicated layout such as a newspaper can be input into a search engine. have.
본 발명의 일 실시예에 따르면, 종래 전자책 시스템(예컨대, PDF 또는 ePub 등으로 구성된)에서는 불가능하였던 수식, 화학식과 같은 각종 기호가 포함된 문장은 물론 심지어 그림까지도 검색 엔진을 통한 본문 검색이 가능하다.According to an embodiment of the present invention, the text can be searched through a search engine as well as a sentence including various symbols such as formulas and chemical formulas, which were not possible in the conventional e-book system (for example, PDF or ePub). Do.
본 발명의 일 실시예에 따르면, 소비자들에게 직접적으로 판매되는 전자책 매장에 존재하는 모든 전자책들을 대상으로 한 본문 검색은 물론 특정 전자책 도서관에 속하는 전자책들만을 대상으로 한정하는 검색도 가능하다.According to an embodiment of the present invention, a text search for all e-books existing in an e-book store sold directly to consumers, as well as a search limited to e-books belonging to a specific e-book library, are possible. Do.
본 발명의 일 실시예에 따르면, 각 개인이 이미 구매하여 소유하고 있는 전자책들 또는 각 개인이 대출하여 사용중인 전자책들만을 대상으로 한 본문 검색도 가능하다. According to an embodiment of the present invention, it is also possible to search the text only for e-books that are already purchased and owned by each person or e-books that are used by each person.
본 발명의 일 실시예에 따르면, 전체 도서관 또는 개인화 영역에서 한정하여 검색된 본문 검색 결과를 다시 각종 매출 통계들, 사용 통계들 또는 서지 정보들과 결합하여 다시 걸러낼 수 있다.According to an embodiment of the present invention, the text search results limited to the entire library or personalization area may be filtered again by combining with various sales statistics, usage statistics, or bibliographic information.
도 1은 본 발명의 일 실시예에 따른 전자책 제공 및 검색 시스템의 구성도.1 is a block diagram of an e-book providing and retrieval system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 전자책 검색 장치의 구성도.2 is a block diagram of an e-book searching apparatus according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 전자책 데이터 구성부의 상세 구성도.3 is a detailed block diagram of an e-book data configuration unit according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 전자책 데이터의 페이지를 구성하는 그룹의 일 예.4 is an example of a group constituting a page of e-book data according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 전자책 데이터의 페이지를 구성하는 그룹의 다른 예.5 is another example of a group constituting a page of e-book data according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 전자책 데이터의 내부 텍스트 영역을 형성하는 방법의 흐름도.6 is a flowchart of a method for forming an internal text area of e-book data according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따라 전자책 데이터를 검색하는 방법의 흐름도.7 is a flowchart of a method for retrieving e-book data in accordance with one embodiment of the present invention.
도 1은 본 발명의 일 실시예에 따른 전자책 제공 및 검색 시스템의 구성도이다. 일 실시예에서, 전자책 제공 및 검색 시스템(100)은 네트워크(190)를 통해 검색 엔진(130) 및 DBMS(140)와 연동하여 전자책의 검색을 수행하는 전자책 검색 장치(110)를 포함할 수 있다. 일 실시예에서, 네트워크(190)는 LAN 또는 WAN 등의 유선 통신 매체 및 Wi-Fi, 이동 통신 시스템 등의 무선 통신 매체를 모두 포함할 수 있다.1 is a block diagram of an e-book providing and searching system according to an embodiment of the present invention. In one embodiment, the e-book providing and retrieval system 100 includes an e-book retrieval device 110 that performs retrieval of an e-book in association with the search engine 130 and the DBMS 140 via the network 190. can do. In one embodiment, the network 190 may include both a wired communication medium such as a LAN or WAN and a wireless communication medium such as a Wi-Fi or mobile communication system.
일 실시예에서, 검색 엔진(130)은 본문 검색용 단어를 입력받아서 전자책의 본문 검색을 수행하도록 구성될 수 있다. 일 실시예에서, DBMS(140)는 개인의 대출 내역, 구매 내역 또는 관심 분야 등을 저장하고, 이와 같은 개인화 영역에서 본문 외 검색용 단어를 키워드로하여 예컨대 서지 정보의 검색을 수행할 수 있다.In one embodiment, the search engine 130 may be configured to receive a text search word and perform a text search of the e-book. In an embodiment, the DBMS 140 may store a loan history, a purchase history, or a field of interest of an individual, and search for bibliographic information, for example, as a keyword for a non-text search word in such a personalization area.
도 1에 도시된 바와 같이, 사용자는 휴대폰, 스마트폰 또는 태블릿 PC와 같은 이동 통신 장치(152), 노트북(154), PC(156) 또는 기타 네트워크(190)를 통해 전자책 데이터 검색 장치(110)에 접속할 수 있는 임의의 컴퓨팅 장치를 이용하여 전자책 데이터를 검색할 수 있다. As shown in FIG. 1, a user may access an e-book data retrieval device 110 via a mobile communication device 152 such as a mobile phone, smartphone or tablet PC, notebook 154, PC 156 or other network 190. E-book data can be retrieved using any computing device capable of accessing the < RTI ID = 0.0 >
일 실시예에서 사용자는 자기의 대출, 구매 또는 관심 분야에 한하여(개인화 영역) 검색 범위를 한정할 수 있다. 이 경우, 전자책 데이터 검색 장치(110)는 먼저 DBMS(140)에서 검색을 수행한 후, 결과로서 얻어진 전자책에 대하여 다시 검색 엔진(130)으로 확인을 수행하도록 동작할 수 있다. In one embodiment, a user may define a search scope only for his loan, purchase, or field of interest (personalization area). In this case, the e-book data retrieval apparatus 110 may first perform a search in the DBMS 140, and then operate the e-book data search again to the search engine 130 for the e-book obtained as a result.
일 실시예에서, 사용자는 검색 범위를 한정하지 않고 전자책 도서관(비개인화 영역) 전체에서 검색을 수행할 수 있다. 이 경우 전자책 데이터 검색 장치(110)는 검색 엔진(130)에서 검색을 수행한 후, 결과로서 얻어진 전자책에 대하여 다시 DBMS(140)에서 확인을 수행하여 관련도가 높은 결과를 추려낼 수 있다.In one embodiment, the user may perform a search throughout the e-book library (non-personalized area) without limiting the search scope. In this case, the e-book data retrieval apparatus 110 may perform a search in the search engine 130, and then check the e-book obtained as a result in the DBMS 140 again to extract a highly relevant result. .
일 실시에에 따르면, 사용자는 전자책 제공 및 검색 시스템(100)을 통해 키워드를 입력하여 본문 검색을 수행하고 그 결과를 획득할 수 있다. 검색 엔진(130)은 내부에 저장된 전자책 데이터의 본문을 사용자의 키워드 입력 기반하여 검색하고 그 결과를 출력할 수 있다. According to an embodiment of the present disclosure, the user may input a keyword through the e-book providing and search system 100 to perform a text search and obtain a result. The search engine 130 may search the body of the e-book data stored therein based on the user's keyword input and output the result.
그런데 검색 엔진(130)은 전자책의 서지 정보와 본문 이외의 정보들(예를 들면, 해당 전자책의 상거래와 관련된 정보)은 저장되지 않는다는 문제점이 있다. 이와는 달리 DBMS(140)는 전자책의 본문 내용을 모두 저장하지는 않지만, 해당 전자책과 관련된 상거래 등의 정보를 저장할 수 있다. 예를 들면, DBMS(140)는 특정 전자책이 개인 고객들에게 판매가 가능한지 불가능한지, 어떤 도서관에 납품이 되었는지, 판매량이 어떻게 되는지, 어떤 개인 고객이 구매를 했는지, 어떤 도서관 회원이 대여를 했는지 등의 정보, 즉 검색 엔진(130)에는 저장되지 않는 정보를 포함할 수 있다.However, the search engine 130 has a problem in that bibliographic information of the e-book and information other than the text (for example, information related to the commerce of the e-book) are not stored. Unlike this, the DBMS 140 may not store all the contents of the e-book, but may store information such as commerce related to the e-book. For example, the DBMS 140 may determine whether a particular e-book can be sold to individual customers, whether it is delivered to which library, what is the sales volume, what individual customer has made a purchase, which library member has rented, etc. Information, that is, information not stored in the search engine 130 may be included.
본 발명의 일 실시예에 따르면, 종래 전자책의 본문 검색과 서지 검색이 하나로 연동되지 못하고 각각 별개로 수행되었던 불편함을 해소하고, 서지 검색과 본문 검색을 하나로 통합하여 제공할 수 있다.According to an embodiment of the present invention, the text search and the bibliographic search of the conventional e-book are not linked to each other, and the inconvenience of being separately performed can be eliminated, and the bibliographic search and the text search can be integrated and provided as one.
예를 들어, 본 발명의 일 실시예에 따르면, 검색 엔진(130)을 통해 각 개인들에게 전자책을 판매하는 온라인 매장에서 본문 검색을 지원함은 물론, DBMS(140)와 연동하여 서지 정보로서 분류별(예를 들면, 문학, 실용, 어학 등등으로)로 검색의 범위를 좁히고, 이에 더하여 그 동안의 판매 내역에 기반하여 판매량 순으로 다시 검색함으써 검색 엔진(130)에서 도출된 본문 검색 결과를 걸러낼 수도 있다.For example, according to an embodiment of the present invention, through the search engine 130 supports the text search in the online store that sells e-books to each individual, as well as by category by bibliographic information in conjunction with the DBMS 140 (E.g., literature, practical, language, etc.) to narrow the scope of the search, and in addition to re-search in order of sales based on the sales history so as to filter the text search results derived from the search engine 130 You can also pay.
예를 들어, 본 발명의 일 실시예에 따르면, DBMS(140)를 통해 각 도서관 별로 납품된 전자책에 한정한 후, 검색 엔진(130)을 통해 본문 검색을 수행할 수 있다. 검색 엔진(130)의 본문 검색 결과에 다시 DBMS(140)와 연동하여 분류별(예를 들면, 문학, 실용, 어학 등등으로)로 검색의 범위를 좁히고, 이에 더하여 그 동안의 대출 내역에 기반하여 대출횟수 순으로 본문 검색 결과를 걸러낼 수도 있다.For example, according to an embodiment of the present invention, after limiting to an e-book delivered to each library through the DBMS 140, a text search may be performed through the search engine 130. In addition to the text search results of the search engine 130, in conjunction with the DBMS 140, the search scope by category (for example, literature, practical, language, etc.) to narrow the search, in addition to the loan history based on You can also filter the text search results by count.
예를 들어, 본 발명의 일 실시에에 따르면, DBMS(140)를 통해 각 개인별로 자신들이 구매한 전자책들에 한정한 후, 검색 엔진(130)을 통해 본문 검색을 수행할 수 있다. 검색 엔진(130)의 본문 검색 결과에 다시 DBMS(140)와 연동하여 분류별(예를 들면, 문학, 실용, 어학 등등으로)로 검색의 범위를 좁히고, 이에 더하여 그 동안의 독서 횟수와 독서 시간순으로 본문 검색 결과를 걸러낼 수도 있다.For example, according to one embodiment of the present invention, after limiting to e-books purchased by each individual through the DBMS 140, the body may be searched through the search engine 130. In addition to the DBMS 140 in the text search results of the search engine 130, the scope of the search is narrowed by category (for example, literature, practical, language, etc.), and in addition, the number of readings and reading time You can also filter the text search results.
예를 들어, 본 발명의 일 실시예에 따르면, DBMS(140)를 통해 각 개인별로 자신들이 대여한 전자책들에 한정한 후, 검색 엔진(130)을 통해 본문 검색을 수행할 수 있다. 검색 엔진(130)의 본문 검색 결과에 다시 DBMS(140)와 연동하여 분류별(예를 들면, 문학, 실용, 어학 등등으로)로 검색의 범위를 좁히고, 이에 더하여 그 동안의 대여 횟수와 독서 시간순으로 본문 검색 결과를 걸러낼 수도 있다.For example, according to an embodiment of the present invention, after limiting to e-books that are rented for each individual through the DBMS 140, the text search may be performed through the search engine 130. The search results of the body of the search engine 130 are further linked with the DBMS 140 to narrow down the search by classification (for example, literature, practical use, language, etc.), and in addition, in order of the number of rentals and reading time. You can also filter the text search results.
도 2는 본 발명의 일 실시예에 따른 전자책 검색 장치의 구성도이다. 일 실시예에서, 전자책 검색 장치(110)는 전자 문서를 입력받아 전자책 데이터를 구성하는 전자책 데이터 구성부(210)를 포함할 수 있다.2 is a block diagram of an e-book searching apparatus according to an embodiment of the present invention. In an embodiment, the e-book retrieval apparatus 110 may include an e-book data construction unit 210 configured to receive an electronic document and configure e-book data.
일 실시예에서, 전자책 데이터 구성부(210)는 예를 들면, 워드 파일(doc), 파워포인트 문서(ppt) 또는 pdf 파일을 포함하는 전자 문서를 입력받을 수 있다. 일 실시예에서, 전자책 데이터 구성부(210)는 입력된 전자 문서로부터 사용자가 보게 되는 내부 텍스트 영역, 전자책 데이터의 기본 사항을 나타내는 서지 정보 및 전자책 데이터를 식별하는 고유 번호 등을 포함하는 전자책 데이터를 생성할 수 있다. In one embodiment, the e-book data configuration unit 210 may receive an electronic document including, for example, a word file (doc), a PowerPoint document (ppt) or a pdf file. In one embodiment, the e-book data configuration unit 210 includes an internal text area viewed by the user from the input electronic document, bibliographic information indicating the basics of the e-book data, a unique number for identifying the e-book data, and the like. E-book data can be generated.
일 실시예에서, 전자책 검색 장치(110)는 전자책 데이터 구성부(210)로부터 전자책 데이터를 입력받아 검색 엔진(130) 및 DBMS(140)에 해당 데이터를 기록하는 서버측 컴포넌트(220)를 더 포함할 수 있다.In an embodiment, the e-book retrieval apparatus 110 receives the e-book data from the e-book data configuration unit 210 and records the corresponding data in the search engine 130 and the DBMS 140. It may further include.
일 실시예에서, 서버측 컴포넌트(220)는 전자책 데이터의 구조를 분석하여 내부 텍스트 영역, 서지 정보 고유 번호를 구분하고 별개의 파일로 저장하는 데이터 분석부(221)를 포함할 수 있다.In one embodiment, the server-side component 220 may include a data analysis unit 221 for analyzing the structure of the e-book data to distinguish the internal text area, the bibliographic information unique number, and store it in a separate file.
일 실시예에서, 데이터 분석부(221)는 검색 엔진(130) 또는 DBMS(140)에서 사용하는 파일 형식에 기초하여 내부 텍스트 영역, 서지 정보 및 고유 번호를 저장할 수 있다. 예컨대, 검색 엔진(130) 또는 DBMS(140)가 XML 파일을 입력받을 수 있는 경우, 데이터 분석부(221)는 내부 텍스트 영역, 서지 정보 및 고유 번호를 XML 파일로 저장할 수 있다. 일 실시예에서, 데이터 분석부(221)는 고유 번호를 별개의 파일로 분리하지 않고, 내부 텍스트 영역 및 서지 정보에 함께 기록할 수 있다. According to an embodiment, the data analyzer 221 may store an internal text area, bibliographic information, and a unique number based on a file format used by the search engine 130 or the DBMS 140. For example, when the search engine 130 or the DBMS 140 may receive an XML file, the data analyzer 221 may store an internal text area, bibliographic information, and a unique number as an XML file. In one embodiment, the data analyzer 221 may record the unique number together in the internal text area and the bibliographic information, without separating the unique number into a separate file.
일 실시예에서, 서버측 컴포넌트(220)는 데이터 분석부(221)에 의해 저장된 전자책 데이터 중 내부 텍스트 영역과 고유 번호를 검색 엔진(130)에 등록하고, 서지 정보와 고유 번호를 DBMS(140)에 등록하는 데이터 탑재부(222)를 더 포함할 수 있다. 이 실시예에서, 검색 엔진(130)과 DBMS(140)는 고유 번호를 공유하므로 상호 정보 교환이 가능하다.In one embodiment, the server-side component 220 registers the internal text area and the unique number of the e-book data stored by the data analyzer 221 to the search engine 130 and the bibliographic information and the unique number to the DBMS 140. The data mounting unit 222 may be further included. In this embodiment, the search engine 130 and the DBMS 140 share a unique number so that mutual information exchange is possible.
일 실시예에서 데이터 탑재부(222)는 검색 엔진(130)에 서지 정보를 더 기록할 수 있다. 일 실시예에서, 데이터 탑재부(222)는 DBMS(140)의 미리 정해진 스키마 테이블의 각 항목에 서지 정보의 해당 내용을 저장할 수 있다. In one embodiment, the data mounter 222 may further record bibliographic information in the search engine 130. In one embodiment, the data mounting unit 222 may store the corresponding contents of the bibliographic information in each item of the predetermined schema table of the DBMS 140.
도 2에 도시된 바와 같이, 전자책 검색 장치(110)는 사용자로부터 키워드를 입력받아 검색 엔진(130) 및 DBMS(140)와 연동하여 검색을 수행하는 전자책 검색부(240)를 더 포함할 수 있다.As illustrated in FIG. 2, the e-book search apparatus 110 may further include an e-book search unit 240 that receives a keyword from a user and performs a search in association with the search engine 130 and the DBMS 140. Can be.
일 실시예에서, 전자책 검색부(240)는 사용자로부터 개인화 영역인지 비 개인화 영역인지를 나타내는 검색 범위와 키워드를 입력받을 수 있다. 이 실시예에서, 개인화 영역은 각 개인이 구매한 자신의 책들과 도서관에서 대여한 책들의 내역을 포함할 수 있다. 이 실시예에서, 비 개인화 영역은 각 개인이 전자책을 구매할 수 있는 서점과 각 전자책 도서관들이 보유하고 있는 책들을 포함할 수 있다. 일 실시예에서, 키워드는 본문 검색용 단어 또는 본문 외 검색용 단어를 포함할 수 있다.In an embodiment, the e-book search unit 240 may receive a search range and a keyword indicating whether the personalized area or the non-personalized area is input from the user. In this embodiment, the personalization area may include a history of each book purchased by each individual and books borrowed from the library. In this embodiment, the non-personalized area may include a bookstore where each individual can purchase an e-book and books held by each e-book library. In one embodiment, the keyword may include a word for text search or a word for text search.
일 실시예에서, 전자책 검색부(240)는 검색 범위가 개인화 영역인 경우, 본문 외 검색용 단어를 이용하여 DBMS(140)에서 검색을 수행하고, 결과로서 추출된 전자책들의 고유 번호와 본문 검색용 단어를 검색 엔진(130)에 입력하여 해당되는 전자책의 고유 번호를 추출할 수 있다. In one embodiment, when the search range is a personalized area, the e-book search unit 240 performs a search in the DBMS 140 using a search word other than the text, and the unique number and text of the e-books extracted as a result. The search word 130 may be input to the search engine 130 to extract a unique number of the corresponding e-book.
이 실시예에서, 전자책 검색부(240)는 사용자의 추가적인 지시를 나타내는 입력, 예컨대 결과로 추출된 전자책들 중 하나를 선택하는 것에 기초하여, 선택된 전자책의 고유 번호와 본문 검색용 단어를 검색 엔진(130)에 입력함으로써 해당 전자책의 페이지별 검색 결과를 추출할 수 있다.In this embodiment, the e-book search unit 240 selects a unique number of the selected e-book and a word for text search based on selecting an input indicating additional instruction of the user, for example, one of the extracted e-books. The search results for each page of the e-book may be extracted by inputting the search engine 130.
일 실시예에서, 전자책 검색부(240)는 검색 범위가 비 개인화 영역인 경우, 본문 검색용 단어를 이용하여 검색 엔진(130)에서 검색을 수행하고, 결과로서 추출된 전자책들의 고유 번호와 본문 외 검색용 단어를 DBMS(140)에 입력하여 본문과 서지 정보를 만족시키는 전자책의 고유 번호를 추출할 수 있다.In one embodiment, when the search range is a non-personalized area, the e-book search unit 240 performs a search in the search engine 130 using the text search word, and the unique number of the e-books extracted as a result. By inputting a search word other than the text into the DBMS 140, a unique number of an e-book satisfying the text and bibliographic information may be extracted.
이 실시예에서, 전자책 검색부(240)는 검색 엔진(130)에서 추출된 전자책들을 미리 정해진 크기를 갖는 집합으로 분할하여 각 집합에 대하여 순서대로 DBMS(140) 검색을 수행할 수 있다. 예컨대, 미리 정해진 크기가 100이고, 검색 엔진(130)의 결과 추출된 전자책의 개수가 952라면, 검색 결과는 10개의 집합으로 분할될 수 있다. 10번째 집합은 52개의 전자책의 고유 번호를 포함한다. 이 실시예에서, DBMS(140) 검색은 본문 외 검색용 단어를 이용한다. In this embodiment, the e-book search unit 240 may divide the e-books extracted by the search engine 130 into a set having a predetermined size and perform the DBMS 140 search for each set in order. For example, if the predetermined size is 100 and the number of e-books extracted as a result of the search engine 130 is 952, the search result may be divided into 10 sets. The tenth set contains the unique numbers of 52 e-books. In this embodiment, the DBMS 140 search uses words outside the text search.
이와 같이, 검색 엔진(130)의 검색 결과를 집합으로 분할한 후 DBMS(140)에서 서지 정보를 검색함으로써 사용자에게 빠른 검색을 제공할 수 있다. 일 실시예에서, 검색 엔진(130)은 입력된 본문 검색용 단어에 가장 관련도가 높은 순서로 결과를 출력하도록 구성될 수 있다. 이 경우, 검색 엔진(130)에서 검색된 결과를 집합으로 분할하여 순서대로 DBMS(140)에서 서지 정보를 검색하는 경우 실질적으로 관련도의 내림차순으로 출력되는 결과를 얻을 수 있다.As such, after dividing the search results of the search engine 130 into sets, the DBMS 140 may search for bibliographic information to provide a quick search to the user. In an embodiment, the search engine 130 may be configured to output the results in the order most relevant to the input text search word. In this case, when the bibliographic information is searched by the DBMS 140 in order by dividing the search results by the search engine 130 into a set, the results may be substantially output in descending order of relevance.
이와 같은 비 개인화 영역의 검색에서도 개인화 영역의 검색에서와 마찬가지로, 전자책 검색부(240)는 사용자의 추가적인 지시를 나타내는 입력, 예컨대 결과로 추출된 전자책들 중 하나를 선택하는 것에 기초하여, 선택된 전자책의 고유 번호와 본문 검색용 단어를 검색 엔진(130)에 입력함으로써 해당 전자책의 페이지별 검색 결과를 추출할 수 있다.In the search of the non-personalized area, as in the search of the personalized area, the e-book search unit 240 selects an input indicating an additional instruction of the user, for example, based on selecting one of the extracted e-books. The search result for each page of the e-book may be extracted by inputting the unique number of the e-book and the word for text search into the search engine 130.
도 3은 본 발명의 일 실시예에 따른 전자책 데이터 구성부의 상세 구성도이다. 일 실시예에서, 전자책 데이터 구성부(210)는 내부 텍스트 영역 구성부(301), 서지 정보 입력부(302) 및 고유 번호 결정부(303)를 포함할 수 있다. 3 is a detailed block diagram of an e-book data configuration unit according to an embodiment of the present invention. In one embodiment, the e-book data configuration unit 210 may include an internal text area configuration unit 301, a bibliographic information input unit 302, and a unique number determination unit 303.
일 실시예에서, 서지 정보 입력부(302)는 전자책의 저자, 출판사, 발행 연도, 주제 등 기타 해당 전자책과 관련된 기본 정보를 입력받을 수 있다. 일 실시예에서, 고유 번호 결정부(303)는 해당 전자책 데이터를 식별하는 고유 번호를 생성하여 전자책 데이터에 기록할 수 있다. 이 고유 번호를 이용하여 전자책의 본문 검색을 수행하는 검색 엔진(130)과 서지 정보를 검색하는 DBMS(140)를 연동할 수 있다.In one embodiment, the bibliographic information input unit 302 may receive basic information related to the corresponding e-book, such as the author, publisher, year of publication, and subject of the e-book. In one embodiment, the unique number determination unit 303 may generate a unique number for identifying the corresponding e-book data and record it in the e-book data. By using the unique number, the search engine 130 for searching the text of the e-book and the DBMS 140 for searching bibliographic information can be linked.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 페이지 전체를 나타내 주는 그림 영역에 포함되는 데이터를 구성할 수 있다. 즉, 각 페이지에 존재하는 글자들의 코드 값과 화면 상의 위치 등을 저장하는 내부 텍스트 영역을 구성한다. 이 때 그림 영역은 그림이거나 사진을 포함할 수 있다. 이와 달리, 컴퓨터가 그림을 생성할 수 있게 해 주는 명령어들의 집합을 포함할 수 있다.In an embodiment, the internal text area configuring unit 301 may configure data included in a picture area representing the entire page. That is, an internal text area for storing the code value and the position on the screen of the characters existing in each page is configured. In this case, the picture area may be a picture or may include a picture. Alternatively, it can contain a set of instructions that allow a computer to generate a picture.
일 실시예에서, 내부 텍스트 영역은 논리적으로 책 > 페이지 > 그룹 > 라인 > 객체의 구조로 형성된다. 일 실시예에서, 전자책은 페이지들의 집합이다. 일 실시예에서, 페이지는 내부의 그룹들의 집합이다. 일 실시예에서, 그룹은 내부의 라인들의 집합이다. 일 실시에에서, 라인은 내부의 객체들의 집합이다.In one embodiment, the internal text area is logically formed in the structure of a book> page> group> line> object. In one embodiment, an ebook is a collection of pages. In one embodiment, a page is a collection of groups within. In one embodiment, a group is a collection of lines inside. In one embodiment, a line is a collection of objects inside.
일 실시예에서, 객체는 "텍스트", "그림" 또는 "테이블 텍스트"를 포함할 수 있다. "텍스트"는 일반적인 글자를 포함한다. "그림"은 일반적인 그림은 물론, 표, 수식 등을 포함한다. "테이블 텍스트"는 "그림"을 설명하는, 화면에 표시되지 않는 숨은 글자를 포함한다.In one embodiment, the object may include "text", "picture" or "table text". "Text" includes common letters. The term "picture" includes not only a general picture but also a table and a formula. "Table text" includes hidden characters that are not displayed on the screen, describing "picture".
일 실시예에서, 각 객체는 "텍스트 코드값"과 "화면에서의 좌표값"을 포함한다. 따라서, "테이블 텍스트"를 활용할 경우 해당 "그림"에 대하여 "그림"을 설명하는 텍스트로 검색이 가능하다. 또한, "테이블 텍스트"도 객체로서 "화면에서의 좌표값"을 가지므로 해당 그림이 해당 페이지에서 어디에 위치하는지까지 검색이 가능해진다.In one embodiment, each object includes a "text code value" and a "coordinate value on the screen". Thus, if you use "table text", you can search for text that describes "picture" for that "picture". In addition, since "table text" also has "coordinate values on the screen" as an object, it is possible to search where the picture is located on the page.
도 3에 도시된 바와 같이, 내부 텍스트 영역 구성부(301)는 예를 들면, 워드 파일(doc), 파워포인트 문서(ppt) 또는 pdf 파일을 포함하는 전자 문서를 입력받는 전자 문서 입력부(310)를 포함할 수 있다. 입력된 전자 문서는 일반적으로 페이지 정보, 객체 코드 및 객체의 좌표값들을 포함한다.As illustrated in FIG. 3, the internal text area configuring unit 301 may receive an electronic document input unit 310 that receives an electronic document including, for example, a word file (doc), a PowerPoint document (ppt), or a pdf file. It may include. The input electronic document generally includes page information, object code and coordinate values of the object.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 입력된 전자 문서로부터 페이지 정보, 객체 코드 및 객체의 좌표값들을 추출하는 데이터 추출부(320)를 더 포함할 수 있다.In an embodiment, the internal text area configuring unit 301 may further include a data extracting unit 320 extracting page information, an object code, and coordinate values of the object from the input electronic document.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 동일 페이지 내부에 존재하는 모든 객체의 좌표값들에 기초하여 그룹을 설정하는 그룹 설정부(330)를 더 포함할 수 있다. 예컨대, 그룹 설정부(330)는 페이지 내 객체의 좌표값들을 분석하여 군집 분포를 획득하고 구분한 후 군집 별로 객체를 클러스터링할 수 있다. 이 실시예에서, 그룹 설정부(330)는 클러스터링된 각 군집을 그룹으로 설정하고 순서를 결정할 수 있다.In an embodiment, the internal text area configuring unit 301 may further include a group setting unit 330 that sets a group based on coordinate values of all objects existing in the same page. For example, the group setting unit 330 analyzes the coordinate values of the objects in the page, obtains and divides a cluster distribution, and clusters the objects for each cluster. In this embodiment, the group setting unit 330 may set each clustered cluster as a group and determine the order.
클러스터링의 일 예Example of clustering
본 발명의 일 실시예에서 클러스터링은 다음과 같이 수행될 수 있다. 먼저 기본적인 상수들은 다음과 같다.In one embodiment of the present invention, clustering may be performed as follows. First, the basic constants are
- NumberOfClusters: 초기에 설정된 클러스터의 수NumberOfClusters: Number of clusters initially set
- MinimumNumberOfElement: 하나의 클러스터를 유지하기 위해서 필요한 원소들의 최소 개수MinimumNumberOfElement: The minimum number of elements needed to maintain a cluster.
- MinimumDistance: 두 클러스터가 하나로 통합되지 않고 각각 유지될 수 있는 각 클러스터 중심점들의 최소 거리MinimumDistance: The minimum distance of each cluster center point that can be maintained without each cluster being merged into one.
- SplittingSize: 클러스터를 나눌 때 사용되는 파라미터SplittingSize: A parameter used to divide a cluster.
- MaxNumIter1: 본 클러스터링 방법의 전반부에서 시행되는 반복연산의 최대 가능 횟수MaxNumIter1: the maximum possible number of iterations performed in the first half of this clustering method.
- MaxNumIter2: 본 클러스터링 방법의 후반부에서 시행되는 반복연산의 최대 가능 횟수MaxNumIter2: the maximum number of possible iterations performed later in this clustering method
- MaxNumMerge : 한 번의 반복연산에서 통합될 수 있는 클러스터들의 최대 수MaxNumMerge: maximum number of clusters that can be merged in one iteration
클러스터링은 기본적으로 어떤 공간에 자리 잡고 있는 각각의 점(원소)들을 대상으로 구획을 나누는 것이다. 본 발명의 일 실시예에서, 이 공간에 해당되는 것이 페이지면이라고 할 수 있고, 위치를 차지하고 있는 각각의 원소는 글자나 그림과 같은 기하학적 도형이다. Clustering basically divides each of the points (elements) located in a space. In one embodiment of the present invention, the space corresponding to this space may be referred to as a page surface, and each element occupying a position is a geometric figure such as a letter or a picture.
일반적으로, 글자나 그림의 위치를 컴퓨터와 같은 디지털 기기에서 다루기 위해 이들을 감싸는 사각형의 좌표를 저장한다. 그러나, 실제로 글자나 그림은 자신이 그려질 해당 사각형 공간의 전부를 사용하지 않는다. 해당 사각형의 특정 부위에 특정 색깔의 점들이 찍히고, 나머지 부분은 빈 공간으로 남는다. 따라서 글자나 그림으로 이루어진 2차원 페이지 공간에서 이들을 대상으로 클러스터링하기 위해서는 해당 페이지에 존재하는 모든 글자와 그림들의 구성 점(픽셀)들의 위치들을 모두 추적해야만 하는데, 이는 상당한 계산 시간이 요구된다. In general, we store the coordinates of the rectangles that surround them so that they can be handled by digital devices such as computers. In practice, however, a letter or picture does not use all of the rectangular space in which it is drawn. Points of a certain color are stamped on specific areas of the rectangle, leaving the rest empty. Therefore, in order to cluster them in a two-dimensional page space consisting of letters or pictures, it is necessary to keep track of all the positions of the composition points (pixels) of all the letters and pictures existing on the page, which requires considerable computation time.
따라서, 본 발명의 일 실시예에서는 전술한 방법 대신, 해당 글자나 그림의 위치를 표시해주며 해당 글자나 그림을 감싸고 있는 사각형 내부 전체가 검정색 점으로 가득 차 있다고 가정하도록 시스템을 설정하였다. 이 경우, 계산시간을 상당히 절약할 수 있고, 실제로 클러스터링된 결과도 훌륭하게 도출된다.Therefore, in an embodiment of the present invention, instead of the above-described method, the system displays the position of the corresponding letter or picture and sets the system to assume that the entire inside of the rectangle surrounding the letter or picture is filled with black dots. In this case, the computation time can be saved considerably, and in fact the clustered results are excellent.
본 발명의 일 실시예에서 클러스터링은 다음과 같이 수행된다.In one embodiment of the invention clustering is performed as follows.
[1] NumberOfClusters 만큼 임의의 점들의 좌표를 생성한 다음, 이 점들의 좌표들을 각 클러스터들의 중심점으로 설정한다.[1] Generate coordinates of arbitrary points by NumberOfClusters, and then set the coordinates of these points as the center points of the clusters.
[2] 해당 공간에 존재하는 모든 점들에 대해서 앞에서 설정한 각 클러스터 중심점들로부터의 거리를 계산하고, 그 가운데 자신과 가장 가까운 중심점이 포함된 클러스터를 자신이 속한 클러스터로 설정한다.[2] For all points in the space, calculate the distance from each cluster center point set above, and set the cluster including the center point closest to it as the cluster to which it belongs.
[3] 각 클러스터들에 대해서, 해당 클러스터들에 포함된 모든 점들의 좌표값들의 평균을 구하여 클러스터 중심점을 새로 계산하여 설정한다.[3] For each cluster, the average of the coordinate values of all the points included in the clusters is obtained to newly calculate and set the cluster center point.
[4] 만약 한 점이라도 자신이 속한 클러스터가 변경되었거나, [1]~[4]까지의 반복연산 횟수가 MaxNumIter1보다 작다면 [2]단계로 다시 돌아 간다.[4] If at any point the cluster to which it belongs changes or the number of iterations from [1] to [4] is less than MaxNumIter1, go back to step [2].
[5] 만약 어떤 클러스터에 속해 있는 점들의 수가 MinimumNumberOfElement보다 적다면 이후 연산에서는 이 클러스터를 무시하고, 이 클러스터에 포함된 각 점들도 무시해 버린다. 즉, 이 클러스터는 확정되었다는 의미이다.[5] If the number of points in a cluster is less than MinimumNumberOfElement, subsequent operations ignore this cluster and ignore each point in the cluster. In other words, this cluster is confirmed.
[6] 만약 클러스터들의 개수가 (상수 1)* NumberOfClusters 보다 크거나 또는 반복연산의 횟수가 짝수라면 [7]단계로 가고, 그렇지 않다면 [8]단계로 간다. 여기서 (상수 1)은 성능향상을 위하여 적절하게 조정될 수 있는 값이다.[6] If the number of clusters is greater than (constant 1) * NumberOfClusters or the number of iterations is even, go to step [7], otherwise go to step [8]. Where (constant 1) is a value that can be adjusted appropriately to improve performance.
[7] 모든 클러스터들에 대해서, 각 클러스터들의 중심점들 사이의 거리를 구한 다음 만약 그 거리가 MinimumDistance 보다 작은 두 클러스터들이 발견된다면 이 두 클러스터를 하나로 통합하고, 중심점을 새로 계산해서 할당한다. 그리고 [7]단계를 다시 반복한다. 만약 이 반복연산의 횟수가 MaxNumIter2에 다다르게 되면 [8]단계로 간다.[7] For all clusters, find the distance between the center points of each cluster, and if two clusters are found whose distance is less than the MinimumDistance, combine them into one and calculate and assign a new center point. Then repeat step [7] again. If the number of iterations reaches MaxNumIter2, go to step [8].
[8] 만약 클러스터들의 개수가 NumberOfClusters/(상수 2) 보다 작거나 반복연산의 횟수가 홀수라면 [9]단계로 진행하고, 그렇지 않다면 [10]단계로 진행한다.[8] If the number of clusters is smaller than NumberOfClusters / (constant 2) or the number of iterations is odd, go to step [9]. Otherwise, go to step [10].
[9] 해당 공간에 속하는 모든 점들의 좌표값들에 대해서 표준편차를 구하고 이를 STD-All이라고 한다. 모든 클러스터들에 대해서, 자신들에 속한 점들만을 대상으로 표준편차를 구한 다음 이 값이 SplittingSize * STD-All 보다 큰 클러스터를 찾는다. 만약 이에 해당되는 클러스터를 찾지 못한다면 [10]단계로 진행한다. 만약 이에 해당되는 클러스터를 찾았다면 그 클러스터에 속하는 점들의 중심점을 기준으로 이 클러스터를 두 개로 분할한다. 그 다음에는 이렇게 나누어진 두 클러스터들 각각의 중심점들을 구하고, 그 거리를 구한 다음, 그 값이 (상수 3) * MinimumDistance 보다 크면 이렇게 나누어진 두 클러스터로 원래의 통합된 클러스터를 대체한다. 만약 그렇지 않다면 원래의 통합된 클러스터를 그대로 채택한다.[9] The standard deviation of the coordinates of all points in the space is called STD-All. For all clusters, find the standard deviation for only those points that belong to them, and then find clusters with this value larger than SplittingSize * STD-All. If no cluster is found, go to step [10]. If a corresponding cluster is found, the cluster is divided into two based on the center points of the points belonging to the cluster. Next, find the center points of each of these two divided clusters, find the distance, and if the value is greater than (constant 3) * MinimumDistance, replace the original unified cluster with these two divided clusters. If not, the original integrated cluster is adopted as is.
[10] 만약 이 단계의 반복연산 횟수가 MaxNumIter2를 넘었거나 이 단계를 마지막으로 실행한 이후 클러스터들의 변동이 없었다면 종료한다. 만약 그렇지 않다면 현재 클러스터들의 중심점을 초기값으로 선택해서 [2]단계로 진행한다.[10] If the number of iterations in this step exceeds MaxNumIter2, or if there have been no changes in clusters since the last time this step was completed, the operation is terminated. If not, proceed to step [2] by selecting the center points of the current clusters as initial values.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 그룹 내부에 존재하는 각 객체들의 좌표값들을 분석하여 동일한 라인에 속하는 객체들을 구별하는 라인 구별부(340)를 더 포함할 수 있다. 라인 구별부(340)는 전자책의 진행 방향, 예컨대 "가로 쓰기"인지 또는 "세로 쓰기"인지에 따라 동일한 라인에 속하는 객체들을 구별할 수 있다. 이 실시예에서, 라인 구별부(340)는 그룹 내 객체들의 좌표값에 기초하여 자동으로 진행 방향을 구별할 수 있다. 다른 실시예에서, 라인 구별부(340)는 사용자의 입력에 기초하여 진행 방향을 결정할 수 있다.In one embodiment, the internal text area configuring unit 301 may further include a line discriminating unit 340 for distinguishing objects belonging to the same line by analyzing coordinate values of each object existing in the group. The line distinguishing unit 340 may distinguish objects belonging to the same line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”. In this embodiment, the line distinguishing unit 340 may automatically distinguish the moving direction based on the coordinate values of the objects in the group. In another embodiment, the line discriminator 340 may determine the heading direction based on a user input.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 동일한 라인에 속하는 객체들의 순서를 결정하는 객체 순서 결정부(350)를 더 포함할 수 있다. 객체 순서 결정부(350)는 전자책의 진행 방향, 예컨대 "가로 쓰기"인지 또는 "세로 쓰기"인지에 따라 라인 내 객체의 순서를 결정할 수 있다. 또한, 객체 순서 결정부(350)는 전자책의 진행 방향 및 시작 위치, 예컨대 "가로 쓰기"에서 "좌"에서 시작하는지 또는 "우"에서 시작하는지에 따라, " 세로 쓰기"에서 "상"에서 시작하는지 또는 "하"에서 시작하는지에 따라 객체의 순서를 다르게 결정할 수 있다.In one embodiment, the internal text area configuration unit 301 may further include an object order determiner 350 that determines the order of objects belonging to the same line. The object order determiner 350 may determine the order of the objects in the line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”. In addition, the object order determiner 350 may start at "upper" in "vertical writing" depending on the e-book's progress direction and start position, for example, starting from "left" or "right" in "horizontal writing." You can determine the order of objects differently depending on whether you start with or "below".
이 실시예에서, 객체 순서 결정부(350)는 그룹 내 객체들의 좌표값에 기초하여 자동으로 진행 방향 및 시작 위치를 구별할 수 있다. 다른 실시예에서, 객체 순서 결정부(350)는 사용자의 입력에 기초하여 진행 방향 및 시작 위치를 결정할 수 있다.In this embodiment, the object order determiner 350 may automatically distinguish the moving direction and the starting position based on the coordinate values of the objects in the group. In another embodiment, the object order determiner 350 may determine the moving direction and the start position based on the user's input.
일 실시예에서, 내부 텍스트 영역 구성부(301)는 그룹 설정, 라인 설정 또는 객체의 순서의 오류를 보정하는 편집부(360)를 더 포함할 수 있다. 일 실시예에서, 편집부(360)는 사용자로부터 그룹의 경계를 지정하는 입력을 받아들일 수 있다. 따라서, 그룹 설정부(330)에서 자동으로 설정한 그룹에 오류가 있는 경우 이를 바로잡을 수 있다. 마찬가지로, 편집부(360)는 사용자로부터 라인의 경계, 객체의 순서를 지정하는 입력을 받아들여, 라인 구별부(340)나 객체 순서 결정부(350)에서 발생될 수 있는 오류를 바로잡을 수 있다.In one embodiment, the internal text area configuring unit 301 may further include an editing unit 360 to correct an error in group setting, line setting, or order of an object. In one embodiment, the editor 360 may receive an input for specifying a boundary of the group from the user. Therefore, when there is an error in the group automatically set by the group setting unit 330 it can be corrected. Similarly, the editor 360 may receive an input for specifying a line boundary and an object order from a user to correct an error that may occur in the line discriminator 340 or the object order determiner 350.
일 실시예에서, 편집부(360)는 그림에 대하여 해당 그림을 설명하는 테이블 텍스트를 사용자로부터 입력받을 수 있다. 예컨대, 편집부(360)는 그림 객체인 수식에 대하여, 해당 수식을 읽는 텍스트를 테이블 텍스트로 입력받을 수 있다. 예컨대,
Figure PCTKR2012004567-appb-I000001
라는 수식을 그림 객체로 설정한 경우, 사용자는 편집부(360)를 통해 "에이 제곱 더하기 비의 제곱은 씨의 제곱"을 해당 그림 객체의 테이블 텍스트로 입력할 수 있다.
In one embodiment, the editing unit 360 may receive a table text for describing the picture from the user. For example, the editing unit 360 may receive text for reading the equation as table text with respect to the equation that is a picture object. for example,
Figure PCTKR2012004567-appb-I000001
If the formula is set as a picture object, the user may input, via the editing unit 360, "A squared plus ratio is the square of the seed" as table text of the corresponding picture object.
이와 같이 텍스트를 구성할 경우, 검색 엔진(130)을 통해 본문 검색을 수행할 때, 이 수식을 검색하는 것이 가능해진다. 따라서, 복잡한 수식, 화학식, 나아가 그림이나 사진의 경우에도 검색이 가능하다. When the text is constructed in this way, it is possible to search this formula when performing a text search through the search engine 130. Therefore, even complex formulas, chemical formulas, and even pictures and photographs can be searched.
예컨대, "밀레의 저녁종" 그림을 그림 객체로 설정한 경우, 편집부(360)를 통해 대응하는 테이블 텍스트로서 "이 그림은 밀레의 저녁종이다. 장 프랑소와 밀레는 바르비종파의 태두로서 클루베르의 사실주의를 계승함과 동시에 자연을 소재로 그림을 그려서 자연주의파라고 불리기도 한다. 특히 지금 페이지에 보이는 저녁종이라는 이 그림은 밀레의 대표작이라고 할 수 있다."를 입력할 수 있다. 이 경우, 검색 엔진(130)에서 "밀레의 저녁종"이라는 키워드로 본문 검색이 가능하며, 해당 그림의 위치까지 정확하게 추출할 수 있다.For example, if the picture "Millet of Miele" is set as a picture object, the corresponding table text is "Millet's evening bell" through the editor 360. Jean Francois and Mille are the chief of the Barbi sect. In addition to inheriting realism, he draws a picture of nature and is called a naturalist. In particular, this picture of the evening bell on the page can be called the representative work of Miele. ” In this case, the search engine 130 can search the text with the keyword "evening bell of Millet", and can accurately extract the position of the corresponding picture.
일 실시예에서, 편집부(360)는 화면 상에는 표시되지만 검색할 때 검색 엔진에서는 무시되는 "숨겨진 그룹"을 지정할 수 있다. 예컨대, 책의 페이지 번호, 매 페이지에서 제목을 나타내는 부분 등은 각 페이지마다 나타나는 부분이지만 검색이 필요없는 부분이다. 편집부(360)는 이러한 부분을 숨겨진 그룹으로 지정하여 검색 엔진에서의 검색시 무시되도록 할 수 있다.In one embodiment, the editor 360 may designate a "hidden group" that is displayed on the screen but ignored by the search engine when searching. For example, a page number of a book, a part indicating a title in every page, etc. is a part that appears on each page but does not need to be searched. The editor 360 may designate these parts as hidden groups to be ignored when searching in a search engine.
도 4는 본 발명의 일 실시예에 따른 전자책 데이터의 페이지를 구성하는 그룹의 일 예를 나타낸다. 도 4에 도시된 바와 같이, 페이지(400)는 5개의 그룹(410-450)을 포함할 수 있다. 4 illustrates an example of a group constituting a page of e-book data according to an embodiment of the present invention. As shown in FIG. 4, page 400 may include five groups 410-450.
그룹(410-450)은 해당 내용을 읽어 나갈 때 내용의 연결이 자연스럽게 진행되는 각 라인들의 집합이다. 페이지(400)는 다단으로 구성되어 있어서, 동일선 상에 존재하지만 그대로 따라 읽으면 내용의 연결이 안되는 라인이 존재한다. 예컨대, 그룹(430)과 그룹(440)은 동일선 상에 존재하지만 내용의 연결이 안되는 라인, 예컨대 그룹(430)에서 "나 정반대로 왜곡된 상태로 알려져 있기도 합니다. 따라서 여기서는 철저하"의 라인과 그룹(440)에서 "가족관계와 생활에 대"는 동일선 상에 존재하지만 내용이 연결되지 않는다. 따라서, 두 그룹(430, 440)은 별개의 그룹이 된다. Groups 410-450 are sets of lines in which content is naturally connected when reading the corresponding content. Page 400 is composed of a multi-stage, there is a line that exists on the same line, but the content is not connected if read as it is. For example, the group 430 and the group 440 are on the same line but are not connected to the contents, for example, the group 430 may be known as “the oppositely distorted state. In group 440, "with respect to family and life" are on the same line but the content is not connected. Thus, the two groups 430 and 440 are separate groups.
내용의 연결이 자연스럽게 진행되느냐의 관점에서 그룹은 문단과 유사하다. 도 4에 도시된 바와 달리, 하나의 그룹이 하나의 페이지를 구성할 수 있다. 이와 같이 페이지와 그룹이 같은 경우는 "단단 문서"에 해당된다. 페이지(400)와 같이, 다단으로 구성된 경우, 페이지는 복수의 그룹을 포함한다.Groups are similar to paragraphs in terms of whether the linking of content proceeds naturally. Unlike FIG. 4, one group may constitute one page. In this case, the same page and group correspond to "single document". As in page 400, when configured in multiple tiers, the page includes a plurality of groups.
내부의 라인을 순차적으로 읽어 나갈 때 내용이 연결되느냐의 기준에 따를 경우, 페이지가 하나 또는 복수의 그룹으로 형성될 수 있다. 마찬가지로, 그룹이 하나 또는 복수의 라인으로 형성될 수 있다. 마찬가지로, 라인이 하나 또는 복수의 객체로 형성될 수 있다. 예컨대, 그룹(410)은 그림 객체 하나가 하나의 라인 및 하나의 그룹을 형성하는 예이다.According to a criterion of whether contents are connected when reading the internal lines sequentially, pages may be formed in one or a plurality of groups. Likewise, groups may be formed in one or a plurality of lines. Similarly, lines may be formed of one or a plurality of objects. For example, the group 410 is an example in which one picture object forms one line and one group.
일 실시예에서, 페이지(400)의 그룹들(410-450)은 410 > 420 > 430 > 440 > 450의 순서를 가질 수 있다. 그룹의 순서는 컨텐츠의 순서에 기초할 수 있다. 이 실시예에서, 사용자가 그룹의 순서에 따라 읽으면, 페이지의 전체 내용을 순차적으로 읽을 수 있다. 즉, 페이지의 내용을 읽는 것은 해당 페이지의 그룹 순서대로, 또 그룹 내에서는 라인의 순서대로 읽는 것에 해당한다.In one embodiment, the groups 410-450 of the page 400 may have an order of 410> 420> 430> 440> 450. The order of the groups may be based on the order of the content. In this embodiment, if the user reads in the order of the groups, the entire contents of the page can be read sequentially. In other words, reading the contents of a page corresponds to reading in the order of the group of the page and in the order of the lines in the group.
일 실시예에서, 그룹(450)은 매 페이지마다 똑같이 반복되는 책의 제목이 나타나는 부분으로서 편집부(360)에 의해 "숨겨진 그룹"으로 지정될 수 있다. 이 경우 그룹(450)의 텍스트는 화면에는 나타나지만 검색 엔진(130)에서 본문 검색을 할 때에는 무시된다.In one embodiment, the group 450 may be designated as a "hidden group" by the editing unit 360 as a part of the title of the book which is repeated equally on every page. In this case, the text of the group 450 appears on the screen but is ignored when the text is searched by the search engine 130.
도 5는 본 발명의 일 실시예에 따른 전자책 데이터의 페이지를 구성하는 그룹의 다른 예를 나타낸다. 도 5에 도시된 바와 같이, 페이지(500)는 3개의 그룹(510-530)을 포함할 수 있다. 5 shows another example of a group constituting a page of e-book data according to an embodiment of the present invention. As shown in FIG. 5, page 500 may include three groups 510-530.
일 실시예에서, 페이지(500)의 그룹들(510-530)은 510 > 520 > 530의 순서를 가질 수 있다. 일 실시예에서, 그룹(530)은 페이지 번호에 해당되는 부분으로서 편집부(360)에 의해 "숨겨진 그룹"으로 지정될 수 있다. 이 경우 그룹(530)의 텍스트는 화면에는 나타나지만 검색 엔진(130)에서 본문 검색을 할 때에는 무시된다.In one embodiment, the groups 510-530 of the page 500 may have an order of 510> 520> 530. In one embodiment, the group 530 may be designated as a "hidden group" by the editing unit 360 as a part corresponding to the page number. In this case, the text of the group 530 appears on the screen but is ignored when the body search is performed in the search engine 130.
도 6은 본 발명의 일 실시예에 따른 전자책 데이터의 내부 텍스트 영역을 형성하는 방법의 흐름도이다.6 is a flowchart of a method of forming an internal text area of electronic book data according to an embodiment of the present invention.
방법(600)은 워드 파일(doc), 파워포인트 문서(ppt) 또는 pdf 파일을 포함하는 전자 문서를 입력받는 단계(610)를 포함한다. 일 실시예에서, 610 단계는 전자 문서 입력부(310)에서 수행될 수 있다. 입력된 전자 문서는 일반적으로 페이지 정보, 객체 코드 및 객체의 좌표값들을 포함한다.The method 600 includes a step 610 of receiving an electronic document including a word file (doc), a PowerPoint document (ppt) or a pdf file. In an embodiment, step 610 may be performed by the electronic document input unit 310. The input electronic document generally includes page information, object code and coordinate values of the object.
다음, 방법(600)은 입력된 전자 문서로부터 페이지 정보, 객체 코드 및 객체의 좌표값 등의 데이터를 추출하는 단계(620)를 포함한다. 일 실시예에서, 620 단계는 데이터 추출부(320)에서 수행될 수 있다.Next, the method 600 includes a step 620 of extracting data, such as page information, object code, and coordinate values of the object, from the input electronic document. In an embodiment, step 620 may be performed by the data extractor 320.
다음, 방법(600)은 동일 페이지 내부에 존재하는 모든 객체의 좌표값들에 기초하여 그룹을 설정하는 단계(630)를 포함한다. 일 실시예에서, 630 단계는 그룹 설정부(330)에 의해 수행될 수 있다. 그룹 설정 단계(630)는 페이지 내 객체의 좌표값들을 분석하여 군집 분포를 획득하고 구분한 후 군집 별로 객체를 클러스터링하는 단계를 포함할 수 있다. 이 실시예에서, 그룹 설정 단계(630)는 클러스터링된 각 군집을 그룹으로 설정하고 순서를 결정하는 단계를 포함할 수 있다.Next, the method 600 includes setting 630 a group based on coordinate values of all objects present within the same page. In an embodiment, step 630 may be performed by the group setting unit 330. The group setting step 630 may include clustering objects by clusters after obtaining and dividing a cluster distribution by analyzing coordinate values of the objects in the page. In this embodiment, the group setting step 630 may include setting and ordering each clustered cluster as a group.
다음, 방법(600)은 그룹 내부에 존재하는 각 객체들의 좌표값들을 분석하여 동일한 라인에 속하는 객체들을 구별하는 단계(640)를 포함한다. 일 실시예에서, 640 단계는 라인 구별부(340)에 의해 수행될 수 있다. 라인 구별 단계(640)는 전자책의 진행 방향, 예컨대 "가로 쓰기"인지 또는 "세로 쓰기"인지에 따라 동일한 라인에 속하는 객체들을 구별하도록 실시될 수 있다. 라인 구별 단계(640)는 그룹 내 객체들의 좌표값에 기초하여 자동으로 진행되거나 사용자의 입력에 기초하여 진행 방향을 결정하여 진행될 수 있다.Next, the method 600 includes a step 640 of distinguishing objects belonging to the same line by analyzing coordinate values of each object present in the group. In one embodiment, step 640 may be performed by the line discriminator 340. The line distinguishing step 640 may be performed to distinguish objects belonging to the same line according to the direction of the e-book, for example, “horizontal writing” or “vertical writing”. The line distinguishing step 640 may proceed automatically based on the coordinate values of the objects in the group, or may proceed by determining the direction of travel based on a user input.
다음, 방법(600)은 동일한 라인에 속하는 객체들의 순서를 결정하는 단계(650)를 포함한다. 일 실시예에서, 650 단계는 객체 순서 결정부(350)에서 수행될 수 있다. 객체 순서 결정 단계(650)는 전자책의 진행 방향, 예컨대 "가로 쓰기"인지 또는 "세로 쓰기"인지에 따라 라인 내 객체의 순서를 결정하도록 실시될 수 있다. 또한, 객체 순서 결정 단계(650)는 전자책의 진행 방향 및 시작 위치, 예컨대 "가로 쓰기"에서 "좌"에서 시작하는지 또는 "우"에서 시작하는지에 따라, " 세로 쓰기"에서 "상"에서 시작하는지 또는 "하"에서 시작하는지에 따라 객체의 순서를 다르게 결정하도록 실시될 수 있다.Next, the method 600 includes a step 650 of determining the order of objects belonging to the same line. In an embodiment, step 650 may be performed by the object order determiner 350. The object ordering step 650 may be performed to determine the order of the objects in the line according to the direction of the e-book, such as "horizontal writing" or "vertical writing." Also, the object ordering step 650 may be performed from "upper" to "upper", depending on the e-book's progress direction and starting position, for example, starting from "left" or "right" in "horizontal writing." It may be practiced to determine the order of the objects differently depending on whether they start at "below" or "below".
이 실시예에서, 객체 순서 결정 단계(650)는 그룹 내 객체들의 좌표값에 기초하여 자동으로 진행 방향 및 시작 위치를 구별하도록 실시될 수 있다. 다른 실시예에서, 객체 순서 결정 단계(650)는 사용자의 입력에 기초하여 진행 방향 및 시작 위치를 결정하도록 실시될 수 있다.In this embodiment, the object order determination step 650 may be implemented to automatically distinguish the heading direction and the starting position based on the coordinate values of the objects in the group. In another embodiment, object ordering step 650 may be implemented to determine a heading direction and a starting position based on a user input.
일 실시예에서, 방법(600)은 그룹 설정 단계(630), 라인 구별 단계(640) 또는 객체 순서 결정 단계(650)에서 발생될 수 있는 오류를 보정하는 편집부 단계(660)를 더 포함할 수 있다. 일 실시예에서, 편집 단계(660)는 사용자로부터 그룹의 경계를 지정하는 입력을 받는 단계를 포함할 수 있다. 따라서, 그룹 설정단계(630)에서 설정된 그룹에 오류가 있는 경우 이를 바로잡을 수 있다. 마찬가지로, 편집 단계(660)는 사용자로부터 라인의 경계 또는 객체의 순서를 지정하는 입력을 받는 단계를 포함할 수 있다. 이 경우, 라인 구별 단계(640)나 객체 순서 결정 단계(650)에서 발생될 수 있는 오류를 바로잡을 수 있다.In one embodiment, the method 600 may further include an editor step 660 that corrects for errors that may occur in the group setup step 630, the line discrimination step 640, or the object ordering step 650. have. In one embodiment, the editing step 660 may include receiving input from a user specifying a boundary of the group. Therefore, when there is an error in the group set in the group setting step 630, it can be corrected. Similarly, editing step 660 may include receiving input from a user specifying a line boundary or an order of objects. In this case, an error that may occur in the line discrimination step 640 or the object order determination step 650 may be corrected.
일 실시예에서, 편집 단계(660)는 그림에 대하여 해당 그림을 설명하는 테이블 텍스트를 사용자로부터 입력받는 단계를 포함할 수 있다. 예컨대, 그림 객체인 수식에 대하여, 해당 수식을 읽는 텍스트를 테이블 텍스트로 입력받을 수 있다. 예컨대,
Figure PCTKR2012004567-appb-I000002
라는 수식을 그림 객체로 설정한 경우, 사용자는 "에이 제곱 더하기 비의 제곱은 씨의 제곱"을 해당 그림 객체의 테이블 텍스트로 입력할 수 있다.
In an embodiment, the editing step 660 may include receiving a table text from a user describing the picture with respect to the picture. For example, for a formula, which is a picture object, text for reading the formula may be input as table text. for example,
Figure PCTKR2012004567-appb-I000002
If the formula is set to a picture object, a user may input "A squared plus ratio of square is seed squared" as table text of the corresponding picture object.
이와 같이 텍스트를 구성할 경우, 검색 엔진(130)을 통해 본문 검색을 수행할 때, 이 수식을 검색하는 것이 가능해진다. 따라서, 복잡한 수식, 화학식, 나아가 그림이나 사진의 경우에도 검색이 가능하다. When the text is constructed in this way, it is possible to search this formula when performing a text search through the search engine 130. Therefore, even complex formulas, chemical formulas, and even pictures and photographs can be searched.
예컨대, "밀레의 저녁종" 그림을 그림 객체로 설정한 경우, 편집 단계(660)에서 대응하는 테이블 텍스트로서 "이 그림은 밀레의 저녁종이다. 장 프랑소와 밀레는 바르비종파의 태두로서 클루베르의 사실주의를 계승함과 동시에 자연을 소재로 그림을 그려서 자연주의파라고 불리기도 한다. 특히 지금 페이지에 보이는 저녁종이라는 이 그림은 밀레의 대표작이라고 할 수 있다."를 입력받을 수 있다. 이 경우, 검색 엔진(130)에서 "밀레의 저녁종"이라는 키워드로 본문 검색이 가능하며, 해당 그림의 위치까지 정확하게 추출할 수 있다.For example, if the picture "Millet of Miele" is set as a picture object, the corresponding table text in the editing step 660 is "Millet's evening bell. Jean-François and Miele are the chief of the Barbi sect. In addition to inheriting realism, he draws a picture of nature and is called a naturalist. In particular, this picture, the evening bell on the page, is the representative work of Miele. ” In this case, the search engine 130 can search the text with the keyword "evening bell of Millet", and can accurately extract the position of the corresponding picture.
일 실시예에서, 편집 단계(660)는 화면 상에는 표시되지만 검색할 때 검색 엔진에서는 무시되는 "숨겨진 그룹"을 지정하는 단계를 포함할 수 있다. 예컨대, 책의 페이지 번호, 매 페이지에서 제목을 나타내는 부분 등은 각 페이지마다 나타나는 부분이지만 검색이 필요없는 부분이다. 편집 단계(660)에서 이러한 부분을 숨겨진 그룹으로 지정함으로써 검색 엔진에서의 검색시 무시되도록 할 수 있다.In one embodiment, the editing step 660 may include specifying a "hidden group" that is displayed on the screen but ignored by the search engine when searching. For example, a page number of a book, a part indicating a title in every page, etc. is a part that appears on each page but does not need to be searched. By designating these parts as hidden groups in the editing step 660, they can be ignored when searching in a search engine.
도 6에 도시된 각 단계는 예시적인 것이며, 실시 형태에 따라 단계가 통합되거나 세부적인 단계로 다시 분리될 수 있음에 유의한다. 또한 일부 단계가 생략되거나 반복되어 실시되는 것도 가능하다.It is noted that each step shown in FIG. 6 is exemplary, and depending on the embodiment, the steps may be integrated or subdivided into detailed steps. It is also possible for some steps to be omitted or repeated.
도 7은 본 발명의 일 실시예에 따라 전자책 데이터를 검색하는 방법의 흐름도이다. 일 실시예에서, 방법(700)은 도 2에 도시된 전자책 검색 장치의 전자책 검색부(240)에 의해 검색 엔진(130) 및 DBMS(140)와 연동하여 수행될 수 있다.7 is a flowchart of a method for retrieving e-book data according to an embodiment of the present invention. In one embodiment, the method 700 may be performed in conjunction with the search engine 130 and the DBMS 140 by the e-book search unit 240 of the e-book search device shown in FIG. 2.
방법(700)은 사용자로부터 검색 범위를 입력받는 단계(710)를 포함한다. 일 실시예에서 검색 범위는 개인화 영역인지 비 개인화 영역인지를 나타낸다. 예컨대, 개인화 영역은 각 개인이 구매한 자신의 책들과 도서관에서 대여한 책들의 내역을 포함할 수 있다. 또한, 비 개인화 영역은 각 개인이 전자책을 구매할 수 있는 서점과 각 전자책 도서관들이 보유하고 있는 책들을 포함할 수 있다. The method 700 includes a step 710 of receiving a search range from a user. In one embodiment, the search range indicates whether it is a personalized area or a non-personalized area. For example, the personalization area may include details of own books purchased by each individual and books borrowed from the library. In addition, the non-personalization area may include a bookstore where each individual can purchase an e-book and books held by each e-book library.
다음, 방법(700)은 사용자로부터 키워드를 입력받는 단계(720)를 포함한다. 일 실시예에서, 키워드는 본문 검색용 단어 또는 본문 외 검색용 단어를 포함할 수 있다.Next, the method 700 includes a step 720 of receiving a keyword from a user. In one embodiment, the keyword may include a word for text search or a word for text search.
방법(700)은 710 단계에서 입력된 검색 범위가 개인화 영역을 나타내는지 비 개인화 영역을 나타내는지 판단하는 단계(730)를 포함한다. 730 단계에서 검색 범위가 개인화 영역으로 판단된 경우, DBMS(140)에서 검색을 수행한다(742 단계). 일 실시예에서, 742 단계는 720 단계에서 입력받은 키워드 중 본문 외 검색용 단어를 이용하여 DBMS(140)에서 서지 정보를 검색하는 단계를 포함할 수 있다.The method 700 includes a step 730 of determining whether the search range entered in step 710 represents a personalized area or a non-personalized area. If it is determined in step 730 that the search range is a personalized area, the DBMS 140 performs a search (step 742). In an embodiment, step 742 may include searching for bibliographic information in the DBMS 140 using words other than the text search word among the keywords input in step 720.
742 단계 수행 후, 방법(700)은 결과로서 추출된 전자책들에 대하여 검색 엔진(130)에서 추가적으로 검색하는 단계(744)를 포함한다. 일 실시예에서, 744 단계는 742 단계에서 추출된 전자책들의 고유 번호와 720 단계에서 입력받은 키워드 중 본문 검색용 단어를 검색 엔진(130)에 입력하여 해당되는 전자책의 고유 번호를 추출하는 단계를 포함할 수 있다. After performing step 742, the method 700 includes an additional search 744 of the search engine 130 for the e-books extracted as a result. In one embodiment, step 744 is a step of extracting the unique number of the corresponding e-book by inputting the word for the text search in the search engine 130 of the unique number of the e-books extracted in step 742 and keywords received in step 720 It may include.
일 실시예에서, 방법(700)은 744 단계 후, 사용자의 추가적인 지시를 나타내는 입력, 예컨대 결과로 추출된 전자책들 중 하나를 선택하는 것에 기초하여, 선택된 전자책의 고유 번호와 본문 검색용 단어를 검색 엔진(130)에 입력함으로써 해당 전자책의 페이지별 검색 결과를 추출하는 단계를 더 포함할 수 있다.In one embodiment, the method 700, after step 744, is based on selecting an input indicating additional instructions from the user, such as one of the resulting e-books, to identify the unique number and word for text search of the selected e-book. The method may further include extracting a search result for each page of the corresponding e-book by inputting the to the search engine 130.
730 단계에서 검색 범위가 비 개인화 영역으로 판단된 경우, 검색 엔진(130)에서 검색을 수행한다(752 단계). 일 실시예에서, 752 단계는 720 단계에서 입력받은 키워드 중 본문 검색용 단어를 이용하여 검색 엔진(130)에서 본문 검색을 수행하는 단계를 포함할 수 있다.If it is determined in step 730 that the search range is a non-personalized area, the search engine 130 performs a search (step 752). According to an embodiment, operation 752 may include performing a text search by the search engine 130 using a text search word among the keywords input in operation 720.
752 단계 수행 후, 방법(700)은 결과로서 추출된 전자책들에 대하여 DBMS(140)에서 추가적으로 검색하는 단계(756)를 포함한다. 756 단계는, 752 단계에서 검색된 전자책의 고유 번호와 본문 외 검색용 단어를 DBMS(140)에 입력하여 본문과 서지 정보를 만족시키는 전자책의 고유 번호를 추출하는 단계를 포함할 수 있다.After performing step 752, the method 700 includes a step 756 of further searching in the DBMS 140 for the e-books extracted as a result. In operation 756, a unique number of the e-book searched in operation 752 and a word for searching other than the text may be input to the DBMS 140 to extract a unique number of the e-book that satisfies the text and bibliographic information.
일 실시예에서, 방법(700)은 752 단계 수행 후 756 단계 전, 검색 엔진(130)에서 추출된 전자책들을 미리 정해진 크기를 갖는 집합으로 분할하는 단계(754)를 더 포함할 수 있다. 이 실시예에서, 756 단계는 754 단계에서 분할된 각 집합에 대하여 순서대로 DBMS(140) 검색을 수행하는 단계를 포함할 수 있다. In one embodiment, the method 700 may further include dividing 754 the e-books extracted by the search engine 130 into a set having a predetermined size, before step 756 after performing step 752. In this embodiment, step 756 may include performing a DBMS 140 search in order on each set divided in step 754.
예컨대, 미리 정해진 크기가 100이고, 검색 엔진(130)의 결과 추출된 전자책의 개수가 952라면, 754 단계에서 검색 결과는 10개의 집합으로 분할될 수 있다. 10번째 집합은 52개의 전자책의 고유 번호를 포함한다. For example, if the predetermined size is 100 and the number of e-books extracted as a result of the search engine 130 is 952, the search results may be divided into 10 sets in step 754. The tenth set contains the unique numbers of 52 e-books.
754 단계에서, 검색 엔진(130)의 검색 결과를 집합으로 분할한 후 756 단계에서 DBMS(140) 검색을 수행할 경우 사용자에게 빠른 검색을 제공할 수 있다. 일 실시예에서, 검색 엔진(130)은 입력된 본문 검색용 단어에 가장 관련도가 높은 순서로 결과를 출력하도록 구성될 수 있다. 754 단계에서 검색 엔진(130)에서 검색된 결과를 집합으로 분할하고, 756 단계에서 순서대로 DBMS(140)에서 서지 정보를 검색하는 경우 실질적으로 관련도의 내림차순으로 출력되는 결과를 얻을 수 있다.In operation 754, the search results of the search engine 130 may be divided into sets, and when the DBMS 140 search is performed in operation 756, a quick search may be provided to the user. In an embodiment, the search engine 130 may be configured to output the results in the order most relevant to the input text search word. In operation 754, the search results of the search engine 130 may be divided into sets, and when the bibliographic information is searched by the DBMS 140 in order in operation 756, the search results may be substantially output in descending order of relevance.
756 단계 이후, 도시되지는 않았지만 사용자의 추가적인 지시를 나타내는 입력, 예컨대 결과로 추출된 전자책들 중 하나를 선택받는 것에 기초하여, 선택된 전자책의 고유 번호와 본문 검색용 단어를 검색 엔진(130)에 입력함으로써 해당 전자책의 페이지별 검색 결과를 추출하는 단계를 더 포함할 수 있다.After operation 756, the search engine 130 searches for the unique number of the selected e-book and the word for the text search based on the selection of an e-book, which is not shown, indicating an additional instruction of the user, for example, one of the extracted e-books. The method may further include extracting a search result for each page of the corresponding e-book by inputting in the.
도 7에 도시된 단계는 예시적인 것이며, 실시 형태에 따라 추가, 반복, 생략 또는 분리될 수 있음에 유의한다. 예컨대, 730 단계에서 검색 범위에 따라 개인화 영역인 경우 742, 744 단계가 실시되고 비 개인화 영역인 경우 752-756 단계가 실시되는 것으로 예시되었으나, 744 단계에서 도출된 본문 검색 결과에 대하여 다시 서지사항이나 분류를 한정하여 DBMS(140) 검색을 수행할 수 있다. 마찬가지로, 756 단계에서 도출된 검색 결과에 대하여 본문 검색용 키워드를 입력하여 검색 엔진(130) 검색을 수행할 수 있다.Note that the steps shown in FIG. 7 are exemplary and may be added, repeated, omitted or separated according to embodiments. For example, in step 730, steps 742 and 744 are performed in the personalized area according to the search range, and steps 752-756 are performed in the non-personalized area. DBMS 140 can be searched by limiting the classification. Similarly, the search engine 130 may be searched by inputting a keyword for text search on the search result derived in step 756.
본원에 개시된 장치 실시예들에 있어서, 도시된 구성요소들의 배치는 발명이 구현되는 환경 또는 요구사항에 따라 달라질 수 있다. 예컨대, 일부 구성요소가 생략되거나 몇몇 구성요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성요소들의 배치 순서 및 연결이 변경될 수 있다.In the device embodiments disclosed herein, the arrangement of the components shown may vary depending on the environment or requirements on which the invention is implemented. For example, some components may be omitted or several components may be integrated and implemented as one. In addition, the arrangement order and connection of some components may be changed.
본원에 개시된 방법 실시예들에 있어서, 도시된 단계들의 배치는 발명이 구현되는 환경 또는 요구사항에 따라 달라질 수 있다. 예컨대, 일부 단계가 생략되거나 몇몇 단계들이 통합되어 하나로 실시될 수 있다. 또한, 일부 단계들의 배치 순서 등이 변경될 수 있다.In the method embodiments disclosed herein, the arrangement of the steps shown may vary depending on the environment or requirements on which the invention is implemented. For example, some steps may be omitted or some steps may be combined and implemented as one. In addition, the arrangement order of some steps may be changed.
본 발명 및 그 다양한 기능적 구성요소들은 특정 실시예들로 설명되었으나, 본 발명은 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 이들의 조합으로 구현될 수 있으며, 시스템, 서브시스템, 구성요소들 또는 이들의 서브 구성요소들로 활용될 수 있음을 이해해야 한다. 소프트웨어로 구현되는 경우, 본 발명의 요소들은 필요한 작업들을 수행하기 위한 명령어들/코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독가능 매체와 같은 머신 판독가능 매체, 컴퓨터 프로그램 제품 내에 저장될 수 있으며, 또는 케리어 웨이브로 구체화되는 컴퓨터 데이터 신호 또는 케리어에 의해 변조된 신호에 의해 전송 매체 또는 통신 링크를 통해 전송될 수 있다. 머신 판독가능 매체 또는 프로세서 판독가능 매체는 머신(예컨대, 프로세서, 컴퓨터 등)에 의해 판독되고 실행가능한 형태로 정보를 저장 또는 전송할 수 있는 임의의 매체를 포함할 수 있다.While the invention and its various functional components have been described in particular embodiments, the invention may be implemented in hardware, software, firmware, middleware, or a combination thereof, and the system, subsystem, components or sub-configurations thereof. It should be understood that they can be used as elements. If implemented in software, the elements of the invention are instructions / code segments for performing the necessary tasks. The program or code segments may be stored in a machine readable medium, such as a processor readable medium, a computer program product, or via a transmission medium or communication link by a computer data signal embodied in a carrier wave or a signal modulated by a carrier. Can be sent. Machine readable media or processor readable media may include any medium that can store or transmit information in a form readable and executable by a machine (eg, processor, computer, etc.).
이러한 본원 발명은 실시예를 참고하여 설명되고 도시되었으나, 당해 분야에서 통상적 지식을 가진 자라면, 첨부된 특허청구범위에 의해 정해지는 본원발명의 기술적 사상 및 범위를 벗어나지 않고 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. Although the present invention has been described and illustrated with reference to the embodiments, those skilled in the art, various modifications and equivalent other embodiments without departing from the spirit and scope of the present invention defined by the appended claims It will be appreciated that examples are possible.

Claims (20)

  1. 전자 문서를 입력받는 단계,Receiving an electronic document,
    상기 전자 문서에 포함된 객체 및 상기 객체의 좌표값을 추출하는 단계, 및Extracting an object included in the electronic document and a coordinate value of the object, and
    상기 객체의 좌표값에 기초하여 객체들을 클러스터링하여 그룹을 형성하는 단계Clustering objects based on the coordinate values of the object to form a group
    를 포함하는 전자책 데이터 생성 방법.E-book data generation method comprising a.
  2. 제1항에 있어서,The method of claim 1,
    상기 그룹 내 객체의 좌표값을 분석하여 동일한 라인에 해당되는 객체를 식별하는 단계Identifying an object corresponding to the same line by analyzing coordinate values of the objects in the group
    를 더 포함하는 전자책 데이터 생성 방법.E-book data generation method further comprising.
  3. 제2항에 있어서,The method of claim 2,
    라인의 진행 방향에 기초하여 상기 동일한 라인에 해당되는 객체의 순서를 결정하는 단계Determining an order of objects corresponding to the same line based on a moving direction of the line
    를 더 포함하는 전자책 데이터 생성 방법.E-book data generation method further comprising.
  4. 제3항에 있어서,The method of claim 3,
    상기 그룹의 범위, 상기 동일한 라인에 해당되는 객체, 및 상기 객체의 순서 중 적어도 하나의 오류를 보정하는 단계Correcting an error of at least one of a range of the group, an object corresponding to the same line, and an order of the objects
    를 더 포함하는 전자책 데이터 생성 방법.E-book data generation method further comprising.
  5. 제1항에 있어서, 상기 객체는 텍스트 및 그림을 포함하고,The method of claim 1, wherein the object includes text and a picture,
    상기 그림을 설명하는 텍스트 객체로서 테이블 텍스트를 생성하는 단계Generating table text as a text object describing the figure
    를 더 포함하는 전자책 데이터 생성 방법.E-book data generation method further comprising.
  6. 객체의 좌표값에 기초하여 객체들을 클러스터링하여 형성된 그룹을 포함하는 전자책 데이터의 고유 번호와 서지 정보를 저장하는 데이터 베이스 관리 시스템(DBMS)과 네트워크를 통해 연동하는 전자책 검색 장치에서 전자책을 검색하기 위한 방법으로서,Search for e-books in an e-book retrieval device that interoperates over a network with a database management system (DBMS) that stores bibliographic information and a unique number of e-book data including groups formed by clustering objects based on coordinates of objects As a way to
    사용자로부터 개인화 영역인지 비개인화 영역인지를 나타내는 검색 범위를 입력받는 단계,Receiving a search range indicating whether a personalized area or a non-personalized area is input from a user;
    사용자로부터 본문 검색용 단어 또는 본문 외 검색용 단어를 키워드로서 입력받는 단계,Receiving a word for text search or a word for text search from a user as a keyword,
    상기 검색 범위가 개인화 영역인 경우, 데이터 베이스 관리 시스템(DBMS)으로 상기 키워드에 대한 검색을 요청하는 단계, 및Requesting a search for the keyword to a database management system (DBMS) if the search range is a personalization area; and
    상기 DBMS로부터 검색 결과를 수신하는 단계Receiving a search result from the DBMS
    를 포함하는 전자책 검색 방법.E-book search method comprising a.
  7. 제6항에 있어서, The method of claim 6,
    상기 전자책 검색 장치는 상기 네트워크를 통해 상기 전자책 데이터의 본문과 상기 고유 번호를 저장하는 검색 엔진과 연동하고,The e-book retrieval device is linked with a search engine for storing the body and the unique number of the e-book data through the network,
    상기 DBMS로 상기 키워드에 대한 검색을 요청하는 단계는, 본문 외 검색용 단어로 상기 DBMS에서 검색을 수행하도록 요청하는 단계를 포함하고,The requesting of the search for the keyword to the DBMS includes: requesting to perform a search in the DBMS with a search word outside the main text.
    상기 검색 결과는, 전자책의 고유 번호를 포함하며,The search result includes a unique number of the e-book,
    상기 전자책의 고유 번호와 상기 본문 검색용 단어를 검색 엔진에 입력하여 검색을 요청하는 단계, 및Requesting a search by inputting a unique number of the e-book and the text search word into a search engine, and
    상기 검색 엔진으로부터 검색 결과를 수신하는 단계Receiving a search result from the search engine
    를 더 포함하는 전자책 검색 방법.E-book search method comprising more.
  8. 제6항에 있어서,The method of claim 6,
    상기 전자책 검색 장치는 상기 네트워크를 통해 상기 전자책 데이터의 본문과 상기 고유 번호를 저장하는 검색 엔진과 연동하고,The e-book retrieval device is linked with a search engine for storing the body and the unique number of the e-book data through the network,
    상기 검색 범위가 비개인화 영역인 경우, 검색 엔진으로 상기 키워드에 대한 검색을 요청하는 단계, 및If the search range is an unpersonalized area, requesting a search engine for the keyword, and
    상기 검색 엔진으로부터 검색 결과를 수신하는 단계Receiving a search result from the search engine
    를 더 포함하는 전자책 검색 방법.E-book search method comprising more.
  9. 제8항에 있어서,The method of claim 8,
    상기 검색 엔진으로 상기 키워드에 대한 검색을 요청하는 단계는, 본문 검색용 단어로 상기 검색 엔진에서 검색을 수행하도록 요청하는 단계를 포함하고,Requesting a search for the keyword from the search engine includes requesting a search from the search engine with a word for text search,
    상기 검색 엔진으로부터 수신된 검색 결과는, 적어도 하나의 전자책의 고유 번호를 포함하며,The search result received from the search engine includes a unique number of at least one e-book,
    상기 적어도 하나의 전자책의 고유 번호와 상기 본문 외 검색용 단어를 DBMS에 입력하여 검색을 요청하는 단계, 및Requesting a search by inputting a unique number of the at least one e-book and a word for searching other than the text into a DBMS, and
    상기 DBMS로부터 검색 결과를 수신하는 단계Receiving a search result from the DBMS
    를 더 포함하는 전자책 검색 방법.E-book search method comprising more.
  10. 제9항에 있어서,The method of claim 9,
    상기 적어도 하나의 전자책의 고유 번호와 상기 본문 외 검색용 단어를 DBMS에 입력하여 검색을 요청하는 단계는, Requesting a search by inputting a unique number of the at least one e-book and a word for searching other than the text into a DBMS,
    상기 적어도 하나의 전자책의 고유 번호를 미리 정해진 개수를 갖는 집합으로 분할하는 단계, 및Dividing the unique number of the at least one e-book into a set having a predetermined number, and
    각 집합에 속하는 전자책의 고유 번호를 순서대로 상기 DBMS에 입력하여 검색을 요청하는 단계Requesting a search by inputting unique numbers of e-books belonging to each set to the DBMS in order
    를 포함하는 전자책 검색 방법.E-book search method comprising a.
  11. 전자 문서를 입력받는 전자 문서 입력부,An electronic document input unit for receiving an electronic document,
    상기 전자 문서에 포함된 객체 및 상기 객체의 좌표값을 추출하는 데이터 추출부, 및A data extraction unit for extracting an object included in the electronic document and a coordinate value of the object, and
    상기 객체의 좌표값에 기초하여 객체들을 클러스터링하여 그룹을 형성하는 그룹 설정부A group setting unit for forming a group by clustering the objects based on the coordinate value of the object
    를 포함하는 전자책 데이터 생성 장치.E-book data generating device comprising a.
  12. 제11항에 있어서,The method of claim 11,
    상기 그룹 내 객체의 좌표값을 분석하여 동일한 라인에 해당되는 객체를 식별하는 라인 구별부Line distinguishing unit for identifying the object corresponding to the same line by analyzing the coordinate value of the object in the group
    를 더 포함하는 전자책 데이터 생성 장치.E-book data generating device further comprising.
  13. 제12항에 있어서,The method of claim 12,
    라인의 진행 방향에 기초하여 상기 동일한 라인에 해당되는 객체의 순서를 결정하는 객체 순서 결정부An object order determiner that determines an order of objects corresponding to the same line based on a moving direction of a line
    를 더 포함하는 전자책 데이터 생성 장치.E-book data generating device further comprising.
  14. 제13항에 있어서,The method of claim 13,
    상기 그룹의 범위, 상기 동일한 라인에 해당되는 객체, 및 상기 객체의 순서 중 적어도 하나의 오류를 보정하는 편집부An editing unit to correct at least one error among the range of the group, the object corresponding to the same line, and the order of the object
    를 더 포함하는 전자책 데이터 생성 장치.E-book data generating device further comprising.
  15. 제11항에 있어서, 상기 객체는 텍스트 및 그림을 포함하고,The method of claim 11, wherein the object includes text and a picture,
    상기 그림을 설명하는 텍스트 객체로서 테이블 텍스트를 생성하는 편집부An editing unit for generating table text as a text object describing the above picture
    를 더 포함하는 전자책 데이터 생성 장치.E-book data generating device further comprising.
  16. 네트워크를 통해 전자책 검색 서비스를 제공하는 전자책 시스템으로서,An e-book system that provides an e-book search service through a network,
    사용자로부터 개인화 영역인지 비개인화 영역인지를 나타내는 검색 범위와 본문 검색용 단어 또는 본문 외 검색용 단어를 키워드로서 입력받는 전자책 검색 장치, 및An e-book retrieval device that receives a search range indicating whether the personalized area or the non-personalized area is input by a user and a word for text search or a word for text search as a keyword,
    객체의 좌표값에 기초하여 객체들을 클러스터링하여 형성된 그룹을 포함하는 전자책 데이터의 고유 번호 및 서지 정보를 저장하는 데이터 베이스 관리 시스템(DBMS)을 포함하고, A database management system (DBMS) that stores bibliographic information and a unique number of e-book data including a group formed by clustering objects based on coordinates of the object,
    상기 전자책 검색 장치는, 상기 검색 범위가 개인화 영역인 경우, 상기 DBMS로 상기 키워드에 대한 검색을 요청하고,If the search range is a personalization area, the e-book search device requests a search for the keyword from the DBMS,
    상기 DBMS는, 상기 전자책 검색 장치로부터 검색 요청을 수신한 것에 응답하여 본문 외 검색용 단어로 서지 정보를 검색하여 해당하는 전자책의 고유 번호를 추출하는, 전자책 시스템.And the DBMS, in response to receiving a search request from the e-book retrieval device, retrieves bibliographic information by a word for retrieval out of the text, and extracts a unique number of the corresponding e-book.
  17. 제16항에 있어서, The method of claim 16,
    상기 전자책 데이터의 고유 번호 및 본문을 저장하는 검색 엔진을 더 포함하고,Further comprising a search engine for storing the unique number and body of the e-book data,
    상기 전자책 검색 장치는, 상기 DBMS로부터 전자책의 고유 번호를 포함하는 검색 결과를 수신하고, 수신된 전자책의 고유 번호와 상기 본문 검색용 단어를 검색 엔진에 입력하여 검색을 요청하고,The e-book searching device receives a search result including the unique number of the e-book from the DBMS, requests the search by inputting the unique number of the received e-book and the text search word into a search engine,
    상기 검색 엔진은 상기 전자책 검색 장치로부터 검색 요청을 수신한 것에 응답하여 본문 검색용 단어로 본문을 검색하여 해당하는 전자책의 고유 번호를 추출하는, 전자책 시스템.And the search engine searches for a text using a text search word in response to receiving a search request from the e-book search apparatus, and extracts a unique number of the corresponding e-book.
  18. 제16항에 있어서,The method of claim 16,
    상기 전자책 데이터의 고유 번호 및 본문을 저장하는 검색 엔진을 더 포함하고,Further comprising a search engine for storing the unique number and body of the e-book data,
    상기 전자책 검색 장치는, 상기 검색 범위가 비개인화 영역인 경우, 상기 검색 엔진으로 상기 키워드에 대한 검색을 요청하고,If the search range is an unpersonalized area, the e-book search device requests a search for the keyword from the search engine,
    상기 검색 엔진은 상기 전자책 검색 장치로부터 검색 요청을 수신한 것에 응답하여 본문 검색용 단어로 본문을 검색하여 해당하는 전자책의 고유 번호를 추출하는, 전자책 시스템.And the search engine searches for a text using a text search word in response to receiving a search request from the e-book search apparatus, and extracts a unique number of the corresponding e-book.
  19. 제18항에 있어서,The method of claim 18,
    상기 전자책 검색 장치는, 상기 검색 엔진으로부터 적어도 하나의 전자책의 고유 번호를 포함하는 검색 결과를 수신하고, 수신된 적어도 하나의 전자책의 고유 번호와 상기 본문 외 검색용 단어를 DBMS에 입력하여 검색을 요청하고,The e-book search apparatus receives a search result including the unique number of at least one e-book from the search engine, inputs the received unique number of the at least one e-book and the word for out-of-body text into a DBMS. Request a search,
    상기 DBMS는 상기 전자책 검색 장치로부터 검색 요청을 수신한 것에 응답하여 본문 외 검색용 단어로 서지 정보를 검색하여 해당하는 전자책의 고유 번호를 추출하는, 전자책 시스템.And the DBMS retrieves bibliographic information by a word for searching out of the text in response to receiving a search request from the e-book searching device, and extracts a unique number of the corresponding e-book.
  20. 제19항에 있어서,The method of claim 19,
    상기 전자책 검색 장치는, 상기 검색 엔진으로부터 적어도 하나의 전자책의 고유 번호를 수신하는 것에 응답하여, 상기 적어도 하나의 전자책의 고유 번호를 미리 정해진 개수를 갖는 집합으로 분할하고, 각 집합에 속하는 전자책의 고유 번호를 순서대로 상기 DBMS에 입력하여 검색을 요청하도록 더 구성되는, 전자책 시스템.In response to receiving the unique number of the at least one e-book from the search engine, the e-book searching apparatus divides the unique number of the at least one e-book into a set having a predetermined number and belongs to each set. And request a search by inputting the unique number of the e-book into the DBMS in order.
PCT/KR2012/004567 2011-06-08 2012-06-08 Electronic book system, electronic book data formation, searching device, and method for same WO2012169841A2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20110055248 2011-06-08
KR10-2011-0055248 2011-06-08
KR20120045505 2012-04-30
KR10-2012-0045505 2012-04-30
KR10-2012-0061536 2012-06-08
KR1020120061536A KR101364178B1 (en) 2011-06-08 2012-06-08 Electronic book system, apparatus for generating and searching for electronic book and method thereof

Publications (3)

Publication Number Publication Date
WO2012169841A2 true WO2012169841A2 (en) 2012-12-13
WO2012169841A3 WO2012169841A3 (en) 2013-03-07
WO2012169841A9 WO2012169841A9 (en) 2013-05-02

Family

ID=47296633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/004567 WO2012169841A2 (en) 2011-06-08 2012-06-08 Electronic book system, electronic book data formation, searching device, and method for same

Country Status (1)

Country Link
WO (1) WO2012169841A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016108407A1 (en) * 2015-01-02 2016-07-07 삼성전자 주식회사 Annotation providing method and device
CN113656553A (en) * 2021-08-19 2021-11-16 掌阅科技股份有限公司 Paper-electricity synchronous retrieval method, electronic equipment and computer storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079490A (en) * 2003-03-07 2004-09-16 김효한 A preparation method for the production of multimedia electronic book data
US20050187937A1 (en) * 2004-02-25 2005-08-25 Fuji Xerox Co., Ltd. Computer program product, device system, and method for providing document view
KR20060084032A (en) * 2005-01-17 2006-07-21 오에스에스 주식회사 Electronic document management system and it's operating method
US20070124295A1 (en) * 2005-11-29 2007-05-31 Forman Ira R Systems, methods, and media for searching documents based on text characteristics
KR20080048027A (en) * 2005-08-09 2008-05-30 잘락 코포레이션 Methods and apparatuses to assemble, extract and deploy content from electronic documents
US20110043869A1 (en) * 2007-12-21 2011-02-24 Nec Corporation Information processing system, its method and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040079490A (en) * 2003-03-07 2004-09-16 김효한 A preparation method for the production of multimedia electronic book data
US20050187937A1 (en) * 2004-02-25 2005-08-25 Fuji Xerox Co., Ltd. Computer program product, device system, and method for providing document view
KR20060084032A (en) * 2005-01-17 2006-07-21 오에스에스 주식회사 Electronic document management system and it's operating method
KR20080048027A (en) * 2005-08-09 2008-05-30 잘락 코포레이션 Methods and apparatuses to assemble, extract and deploy content from electronic documents
US20070124295A1 (en) * 2005-11-29 2007-05-31 Forman Ira R Systems, methods, and media for searching documents based on text characteristics
US20110043869A1 (en) * 2007-12-21 2011-02-24 Nec Corporation Information processing system, its method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016108407A1 (en) * 2015-01-02 2016-07-07 삼성전자 주식회사 Annotation providing method and device
CN113656553A (en) * 2021-08-19 2021-11-16 掌阅科技股份有限公司 Paper-electricity synchronous retrieval method, electronic equipment and computer storage medium

Also Published As

Publication number Publication date
WO2012169841A9 (en) 2013-05-02
WO2012169841A3 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
US9514216B2 (en) Automatic classification of segmented portions of web pages
US8700494B2 (en) Identifying product variants
WO2018113241A1 (en) Page presentation method and device, server and storage medium
US9400808B2 (en) Color description analysis device, color description analysis method, and color description analysis program
WO2011053046A2 (en) System and method for preparing excel-based analysis reports
WO2012108623A1 (en) Method, system and computer-readable recording medium for adding a new image and information on the new image to an image database
JP2007026386A (en) Image search system and method
US20080250007A1 (en) Document Characteristic Analysis Device for Document To Be Surveyed
US20100217769A1 (en) Related content display device and system
CN103430172A (en) Search apparatus, search method, and program
CN112597182A (en) Data query statement optimization method and device, terminal and storage medium
WO2022252822A1 (en) Information presentation method and apparatus, and device and medium
WO2019039673A1 (en) Apparatus and method for automatically extracting product keyword information on basis of artificial intelligence-based web page analysis
WO2008041367A1 (en) Document searching device, document searching method, document searching program
WO2012169841A2 (en) Electronic book system, electronic book data formation, searching device, and method for same
CN107908749B (en) Character retrieval system and method based on search engine
WO2011062378A2 (en) Method and apparatus for displaying and arranging data 3-dimensionally
WO2017179778A1 (en) Search method and apparatus using big data
WO2022097891A1 (en) Method for extracting same-structured data, and apparatus using same
CN114637866A (en) Information management method and device for digital new media
Tabarcea et al. Framework for location-aware search engine
KR101407555B1 (en) Electronic book system, apparatus for generating and searching for electronic book and method thereof
CN113407678A (en) Knowledge graph construction method, device and equipment
JP5746912B2 (en) Method, system and computer readable recording medium for refining a web document using text pattern extraction
WO2018147625A1 (en) Apparatus and method for searching for make-up product

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: 12796209

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12796209

Country of ref document: EP

Kind code of ref document: A2