Automated book creator
10623591 ยท 2020-04-14
Assignee
Inventors
Cpc classification
H04N1/0019
ELECTRICITY
H04N1/0048
ELECTRICITY
B41F17/02
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A method of automatically producing a book is disclosed. The book is generated from a database of source content items. As an example, a content item may be a cookery recipe. Typically, the source content items have been created for presentation on the web. The method includes the steps of processing the source content items to create publishable content items, allowing the user to select content items according to criteria, and then iteratively applying templates to the selected content items to optimize a print layout associated with each content item. The print layouts may be composed into a book, which may be automatically printed and sent to the user or to the user's order.
Claims
1. A method of producing a book, the method comprising: accessing a database of source content items; processing the source content items to create publishable content items by changing the source content items according to pre-set rules; providing a user interface and soliciting input of one or more filtering criteria from a user; presenting a selection of the publishable content items on the user interface, the presented publishable content items being selected according to the filtering criteria; providing on the user interface a facility for the user to further select from the presented content items, or request further or different content items to be presented, to define a group of user-selected content items; accessing a library of templates, and assigning a template to each of the user-selected content items; for each user-selected content item and assigned template: applying the user-selected content item to its assigned template using a set of parameters to generate a print layout; automatically testing the generated print layout against pre-set layout quality criteria; if the layout quality criteria are met, then finalizing the print layout; otherwise, adjusting the parameters of the user-selected content item as applied to the template, to optimize the print layout, and returning to automatically testing the generated print layout against pre-set layout quality criteria; composing the finalized print layouts into a final book layout; printing a book according to the final book layout.
2. The method according to claim 1, in which at least one filtering criterion is an absolute criterion.
3. The method according to claim 1, in which at least one filtering criterion is an extent-based criterion.
4. The method according to claim 1, in which publishable content items matching the filtering criteria are ranked by ranking rules, and in which the selection of content items presented to the user is a subset of the publishable content items matching the filtering criteria, according to the ranking.
5. The method according to claim 4, in which the ranking rules include one or more random rules.
6. The method according to claim 4, in which the ranking rules include one or more rules taking into account whether a particular content item has been rejected or selected by users in the past.
7. The method according to claim 1, in which a pre-set number of publishable content items are always presented on the user interface, and in which a presented publishable content item is swapped for a different publishable content item in response to a user input rejecting a presented publishable content item.
8. The method according to claim 1, in which processing the content items to create publishable content items includes stripping out hyperlinks.
9. The method according to claim 1, in which processing the content items to create publishable content items includes automatically flagging content items which require review, and manually reviewing and editing flagged content items.
10. The method according to claim 1, in which processing the content items to create publishable content items includes applying one or more automatic replacement rules to text in the content items.
11. The method according to claim 10, in which the replacement rules may be defined by a system operator via a system operator control portal.
12. The method according to claim 1, in which processing the content items to create publishable content items includes automatically assessing each content item against each template in the template library and making a determination as to compatibility of each content item with each template.
13. The method according to claim 12, in which the determination as to compatibility of each content item includes a non-binary value indicating the estimated presentation quality of the content item as applied to the template.
14. The method according to claim 1, in which the layout quality criteria includes a comparison of the height of a content item object with a pre-set comparator associated with the template.
15. The method according to claim 1, in which the layout quality criteria includes a count of single lines of text at the beginning or end of columns, in a generated print layout.
16. The method according to claim 1, in which the layout quality criteria includes a comparison of the number of bullet points in one column with the number of bullet points in an adjacent column.
17. The method according to claim 1, in which a visual user interface is provided for a system operator to design templates and insert new templates into the template library.
18. The method according to claim 1, further including automatically accepting a payment from a user, and collecting customer details required to dispatch the book.
19. A non-transient computer-readable medium containing instructions, which, when executed on a computer, cause the computer to carry out the method of claim 1.
20. A system adapted to carry out the method of claim 1, the system including a computer, or multiple computers connected by a data network, and software running on the computer(s) causing the computer(s) to carry out the method of claim 1.
Description
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
(1) For a better understanding of the present invention, and to show more clearly how it may be carried into effect, specific embodiments will now be described with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
(12) As used herein, the terms comprises, comprising, includes, including, has, having or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Also, use of a or an are employed to describe elements and components described herein. This is done merely for convenience and to give a general sense of the scope of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
(13) For a better understanding of the present invention, and to show more clearly how it may be carried into effect, specific embodiments will now be described with reference to the accompanying drawings, in which:
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
DESCRIPTION OF THE PREFERRED EMBODIMENT
(24) Referring firstly to
(25) In box 10 the source content items are accessed. The source content items may be stored on a local or remote database, which may be any suitable kind of data storage system. The source content items have been created and designed for use online. As such, there may be various features which make the source content items unsuitable for direct use in print. For example, hyperlinks will need to be removed and surrounding wording may need to be changed to accommodate removal of hyperlinks. The style and use of particular characters, for example or , & or and, may be inconsistent.
(26) Some basic transformation rules are hardcoded into the system in box 12. In addition, transformation rules defined by the system operator are applied in box 14. The transformation rules defined by the system operator may take account of particular features of the source content being accessed in a particular embodiment. Moreover, the system operator may continually update and tailor the rules so that an embodiment of the system improved over time. This may be done in addition to manual direct editing of individual content items by the system operator. This might be done in response to an automated flag which determines that a particular content item is probably not suitable for print, but cannot be automatically corrected.
(27) In box 16, all applicable rules, whether hardcoded or system-operator defined, are applied to source content items. This creates a repository in box 18 of publishable content items. The repository 18 of publishable content items may be transient, i.e. content items are processed in box 16 as they are called for by downstream parts of the system, but in embodiments of any significant size it is likely that the repository 18 will be in the form of a substantially complete, but transformed, copy of the source database 10.
(28) Where the repository 18 is made as a copy of the source database 10, it may be periodically refreshed in order to take account of updated rules, in particular updated system-operator-defined rules 14. This ensures that the publishable content items are always of the highest possible quality.
(29) On inspection, either manual, automatic, or a combination of the two (e.g. automated flagging followed by manual review) of the publishable content items 18, it may be determined that additional rules need to be added to the system to improve quality. This may be done by adding system-operator defined rules 14 via a system operator portal 20.
(30)
(31) As a result of the filtering 24 and ranking 26 processes, a sorted list of presentable content items 28 is generated. In many cases, this sorted list will still be too long to show to the user, and the highest ranked items on the list (say, the top 5 or 10) will be presented to the user, at least initially.
(32)
(33)
(34)
(35) In this embodiment, the user selects which chapters they want, up to a maximum number, and is then presented with content items for selection based on both user preferences 22 and chapter selections from interface 30.
(36)
(37) Once the printing service 40 produces the book, order status information is written back to the order record 32 (box 42).
(38)
(39) Global text replacement allows rules to be defined for replacement of text across content items. This may be used to enforce consistency of terminology and style, i.e. change & to and, change teaspoon to tsp. in an ingredients list, etc.
(40) Record specific replacement allows editing of individual content items. The system operator may search for particular records and make modifications to them, perhaps in response to customer feedback or to automatic or manual flagging of errors or inconsistencies. In some embodiments, content items which are commonly rejected by users may be flagged for review, in case the reason for rejection is an error in the content.
(41) Rejected content management identifies content items which are never, or rarely, selected so that they appear as part of the selection presented to users. This may be, for example, because they do not fit in any templates, or they fit in templates for only a small number of book formats. The content may be edited to correct this. Content items may also be underutilized if metadata has been set wrongly, so that the content item will be wrongly excluded at the filtering stage.
(42) Template management allows the system operator to make changes to templates for use within each book format. Preferably, this is via a visual editor similar to a desktop publishing package.
(43) Tag type ranking allows the system operator to manage how chapter selection is presented to the user, based on the tags in the underlying content items.
(44) Global tag addition allows the system operator to define and manage tags and categories of tags, i.e. add a new chapter which can be selected.
(45) Record specific tag addition and record specific tag override allows the system operator to link specific content items to specific tags (e.g. record that a particular recipe is associated with Christmas.)
(46) Extent preferences may be used to map tags and values in the metadata of content items to sliders (22d, e, f) in the user interface, including defining cut-off points. For example, a user may be presented with a difficulty slider from easy to hard. This may map to multiple metadata points, including discrete difficulty tags in content items which might be marked easy, intermediate or advanced, as well as value-based tags, for example there could be a tag for preparation time in minutes. The extent preferences allow the system operator to define how these different fields are taken into account when a user expresses a preference for recipes (for example) which are more or less difficult.
(47) Absolute preferences may be used in a similar way in order to map tags and values in the metadata of content items to binary choices in the interface.
(48)
(49) User preferences 22 are then applied to support filtering 24 and ranking 26 of results. The ranking may take into account (at step 27) rules input by the system operator portal 20. The user is then presented with a full list 28 of potential content items for each selected chapter. For each presented item, the user may reject it (step 29) or accept it (step 31). If it is rejected then the filtering 24 and ranking 26 steps are repeated to find another suitable item to replace the rejected content item. If the user accepts the item then it forms part of the book. When all items are selected (or in some embodiments this may start to happen in parallel, as soon as at least one item has been selected), each selected content item is allocated to a template from a template library in step 44. The content item is the applied to the template in step 46, according to parameters set in the system operator portal 20. At step 48, the iterative process of optimizing the application of the content item to the template is completed, resulting in a print layout. This is composed with print layouts from all the other content layouts to form a final book layout 50, which is then sent to the print service at step 52.
(50)
(51) Once each object is rendered, its size may be measured.
(52)
(53)
(54) It will be apparent to those skilled in the art that various modifications, combinations and variations can be made in the present invention without departing from the scope of the invention. Specific embodiments, features and elements described herein may be modified, and/or combined in any suitable manner. Thus, it is intended that the present invention cover the modifications, combinations and variations of this invention provided they come within the scope of the appended claims and their equivalents.