EP4244736A1 - Automatic generation of transformations of formatted templates using deep learning modeling - Google Patents
Automatic generation of transformations of formatted templates using deep learning modelingInfo
- Publication number
- EP4244736A1 EP4244736A1 EP21801724.2A EP21801724A EP4244736A1 EP 4244736 A1 EP4244736 A1 EP 4244736A1 EP 21801724 A EP21801724 A EP 21801724A EP 4244736 A1 EP4244736 A1 EP 4244736A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- template
- templates
- slide
- formatted
- trained
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
- G06F16/4393—Multimedia presentations, e.g. slide shows, multimedia albums
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
- G06N5/047—Pattern matching networks; Rete networks
Definitions
- Presentation templates typically have a lifecycle for usability as users continuously look for new content to enhance their presentations. In many cases, users may have preferences for specific styles and formats, but ultimately may seek some variation to help stand out and make their presentations unique.
- Traditionally a limited number of pre-existing templates may be presented to a user to choose from. To create a modified template, a user is required to take manual action if they are seeking something different from those pre-existing templates. This can be tedious for the user as well as inefficient for execution of applications/services, where the applications/services are required to process a plurality of user actions (and associated data) to enable the user to create a customized presentation template.
- pre-existing slide-based templates may be pre-generated by developers and provided as a starting point for a user to create a presentation document.
- these pre-existing templates still require developers to manually create the slide-based templates by providing design input including stylistic and layout input for the templates to be generated.
- design input including stylistic and layout input for the templates to be generated.
- contemplating usage of modeling to help improve the generation processing presents technical challenges when working with formatted templates. This is because slide-based presentation templates have a lot of layers of complexity that need to be considered including varying content types, varying content positioning, layering considerations, and numerous formatting considerations (including headings, bullet points), etc.
- the present disclosure applies trained artificial intelligence (Al) processing adapted for the purpose of automatically generating transformations of formatted templates.
- Pre-existing formatted templates e.g., slide-based presentation templates
- the trained Al processing is leveraged by the trained Al processing to automatically generate a plurality of high-quality template transformations that are desirable for users.
- the trained Al processing In transforming a formatted template, not only generates feature transformation of objects thereof but may also provide style transformations where attributes associated with a presentation theme may be modified for a formatted template or set of formatted templates.
- the trained Al processing is novel in that it is tailored for analysis of feature data of a specific type of formatted template.
- the trained Al processing converts a formatted template into a feature vector and utilizes conditioned generative modeling to generate one or more transformed templates using a representation of the feature data and feature data from one or more other formatted templates.
- Trained Al processing may further be tailored for working with formatted templates through the application of formatting rules specific to the type of formatted template that is being transformed.
- the trained Al processing of the present disclosure can satisfy stringent template format requirements and further support problem simplification using a conditioned generation approach for those sensitive yet hard to learn features that are specific to types of formatted templates.
- Figure 1 A illustrates an exemplary system diagram of components interfacing to enable automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- Figure IB illustrates an exemplary flow diagram of processing related to automatic generation of transformations of formatted templates associated with specific presentation themes, with which aspects of the present disclosure may be practiced.
- Figure 1C illustrates an exemplary flow diagram related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- Figure 2 illustrates an exemplary method related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- Figures 3A-3C illustrate exemplary processing device views associated with user interface examples for an improved user interface that is configured to enable provision of representations of transformations of slide-based formatted templates, with which aspects of the present disclosure may be practiced.
- Figure 4 illustrates a computing system suitable for implementing processing operations described herein related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- the present disclosure applies trained artificial intelligence (Al) processing adapted for the purpose of automatically generating transformations of formatted templates.
- Pre-existing formatted templates e.g., slide-based presentation templates
- the trained Al processing is leveraged by the trained Al processing to automatically generate a plurality of high-quality template transformations that are desirable for users.
- the trained Al processing In transforming a formatted template, not only generates feature transformation of objects thereof but may also provide style transformations where attributes associated with a presentation theme may be modified for a formatted template or set of formatted templates.
- the trained Al processing is novel in that it is tailored for analysis of feature data of a specific type of formatted template.
- the trained Al processing converts a formatted template into a feature vector and utilizes conditioned generative modeling to generate one or more transformed templates using a representation of the feature data and feature data from one or more other formatted templates.
- Trained Al processing may further be tailored for working with formatted templates through the application of formatting rules specific to the type of formatted template that is being transformed.
- the trained Al processing of the present disclosure can satisfy stringent template format requirements and further support problem simplification using a conditioned generation approach for those sensitive yet hard to learn features that are specific to types of formatted templates.
- the present disclosure solves technical problems in the field of automated generation of formatted templates better than technical solutions that attempt to generate templates from processing of image-based results.
- modeling may be applied to attempt to generate content transformations from image-based results.
- the present disclosure provides a technical advantage over image-based result modeling. Training of exemplary Al processing on the basis of feature data of formatted templates enables consumable template files to be accurately generated (e.g., through encoding and decoding) rather than relying on image-based results that need to be converted, analyzed and rendered to then become usable templates.
- image-based results there is no current process available to convert an image file back to a consumable template file because the shape of objects (e.g., edges and boxes thereof) are not strictly straight.
- trained Al processing is conditioned based on feature data of consumable templates. For example, feature data, that is analyzed in formatted templates and further used to train deep learning modeling, is conditioned on shape information including shape position information of objects presented in formatted templates. Among other types of feature data analyzed, this helps deep learning modeling, of the trained Al processing, better understand content of formatted templates and produce the best results when attempting to transform formatted templates including those instances where shape position information is being merged between different formatted templates.
- the trained Al processing is further configured to utilize feature data pertaining to style transformations of formatted templates to enhance transformation thereof.
- feature data pertaining to a presentation theme of a formatted template may be utilized to enhance transformation of a formatted template.
- An exemplary presentation theme is a collective set of visual style attributes that are applied to a formatted template (e.g., slide-based template).
- Non-limiting examples of visual style attributes of a theme that may be modifiable by the present disclosure to effect transformation of one or more formatted templates comprise but are not limited to: predefining layout attributes (e.g., grouping and/or layering of objects); colors scheme (including color scheme for a background of a slide); fonts (e.g., color, type, size); and visual effects, among other examples.
- a presentation theme thereby provides a presentation with a unified and harmonious appearance while minimizing the processing effort required to do so for formatted templates (e.g., a set of formatted templates).
- encoder networks and decoder networks of trained Al processing may be trained based on presentation themes of formatted templates.
- a first encoder network and a first decoder network may be trained based on feature data of a first theme of formatted templates (e.g., visual style attributes thereof).
- a second encoder network and a second decoder network may be trained based on feature data of a second theme of formatted templates (e.g., visual style attributes thereof).
- decoder networks applied to generate consumable templates for respective themes are swapped to create a style transformation of visual style attributes for formatted templates.
- encoder and/or decoder networks may be trained based on any number of presentation themes. For instance, feature data from multiple different themes may be utilized to effect transformation of a formatted template including visual style attributes thereof.
- feature data for objects of a first slide-based template are extracted.
- the first slide-based template is associated with a first presentation theme providing a first set of visual style attributes for the first slide-based template.
- Trained Al processing configured for generation of transformations of slide-templates, is applied to generate a transformation of the first slide-based template.
- Application of the trained Al processing is configured to execute a plurality of processing operations to generate a transformed template for the first slide-based template.
- feature data comprises shape information.
- Non-limiting examples of shape information comprise but are not limited to: shape position information of objects presented in the first slidebased template; shape type; shape fill type; shape color; and shape layering/grouping, among other examples.
- Feature data may further comprise feature data pertaining to any visual style attributes for the first slide-based template, which may be analyzed in coordination with the feature data for objects of the first slide-based template.
- the feature data of the first slide-based template may be encoded to generate a latent vector that provides a distributed representation of the feature data.
- the latent vector may then be propagated to a decoder network that is trained to analyze the latent vector and generate transformations of objects associated with a slidebased template.
- Object transformations may be modifications pertaining to objects themselves as well as the arrangement and layout of objects associated with the first slidebased template. Object transformation may occur based on analyze of the distributed representation of the feature data for the first slide-based template and in some cases correlation with a distributed representation of feature data for one or more other slidebased templates. Transformation may further comprise style transformations, which may occur based on a correlation with slide-based templates having a second presentation theme.
- the second presentation theme may be different from the first presentation theme and provides a second set of visual style attributes for objects thereof.
- the trained decoder network is further specialized in that it applies formatting rules specific to the type of formatted template (e.g., slide-based template) that is being generated. Decoding processing, using the trained decoder network, may then automatically generate a transformed template.
- the transformed template comprises: one or more transformations of the objects of the first slide-based template; and a style transformation modifying one or more visual style attributes of the first set of visual style attributes. For instance, a layout of objects of the first slide-based template may be modified such that location of the objects of the first slide-based template are rearranged in a new order.
- the transformed template modifies one or visual style attributes of the first set of visual style attributes associated with the first presentation theme.
- a color scheme of the first slide-based template may be modified based on a decoder network being trained based on the second presentation theme.
- Processing in the above identified example can be extended to generate additional transformed templates such as transformed template for a second slide-based template that is associated with a second presentation theme.
- processing may be applied to analyze a set of formatted templates (e.g., set of slide-based templates), where transformation thereof results in generation of a transformed set of formatted templates associated with a presentation theme.
- the trained Al processing of the present disclosure is further unique in that comprehensive application of deep learning modeling occurs. Rather than simply relying one type of deep learning model which may have its strengths and weaknesses, multiple deep learning models can be applied to provide the most comprehensive and most accurate templatized transformations. For instance, trained Al processing may apply two or more different types of trained generative deep learning models to provide the best possible transformations of formatted templates. Modeling that relies on pure random generation may struggle due to the sparseness of datapoints in a latent space. As such, trained Al processing is conditioned for guided generation and style transfer of formatted templates.
- Non-limiting examples of the two or more types of trained generative deep learning models comprise but are not limited to: a variable auto encoder (VAE), a generative adversarial network (GAN), a generative pre-trained transformer (GPT) and a Deepfake learning model.
- VAE variable auto encoder
- GAN generative adversarial network
- GTT generative pre-trained transformer
- Deepfake learning model a Deepfake learning model.
- different deep learning models may be trained on different features/attributes of formatted templates (e.g., one model on shape position information and another model on visual style attributes).
- multiple different types of deep learning models may be trained to focus on the same feature/attribute (e.g., shape position information) of a formatted template.
- Any arrangement of modeling described herein may be applied to effect the best possible transformations
- a selection as to how many iterations of different modeling is to be applied may pertain to a determination as to a timing requirement for returning results.
- transformed template candidates may be generated through application of each off: a conditioned VAE, a conditioned GAN and a conditioned GPT. Results may further be propagated to a Deepfake learning model to effect further transformed template candidates.
- processing described herein may selectively determine a number (and order) of deep learning models to apply that fit within time constraints for working with specific applications/services (e.g., latency requirements of an application or service).
- multiple sets of each type of generative deep learning model may be applied.
- a first VAE set (e.g., encoder/decoder) may be trained on formatted templates having a first presentation theme and a second VAE set (e.g., encoder/decoder) may be trained on formatted templates having a second presentation theme.
- any of a VAE, GAN or GPT may be utilized to generate transformation of a layout position/arrangement of objects of a formatted template and a Deepfake learning model may be utilized to generate an exemplary style transformation.
- trained Al processing is improved by conditioning applied deep learning models based on feature data of formatted templates (e.g., shape position information of objects thereof).
- Exemplary technical advantages provided by processing described in the present disclosure comprise but are not limited to: automated generation of transformation of formatted templates using state of the art deep generative learning modeling that generates consumable template files instead of image-based results; a comprehensive framework of trained Al processing that can be conditioned based on features of formatted templates and may comprise any type of deep generative modeling including: VAE; GAN; GPT; and Deepfake; supporting of training objective simplification (with conditioned generation) for those template features which are difficult to learn and generalize but also crucial to the generation quality; supporting of style transformation to generate more formatted templates with the style from one of the existing template families; supporting of utilization of feedback signals from postprocessing quality check and production experiments for model improvement that is targeted for template transformation; supporting of machine learning generated feedback that can be presented to users as creation guidance for creation of variations of formatted templates; new relevance ranking processing that can selectively curate results from formatted template transformation to determine the best possible output (and discard results that do not satisfy a threshold); improved quality and precision in generating exemplary transformed templates; an ability to leverage
- FIG. 1 A illustrates an exemplary system diagram 100 of components interfacing to enable automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- components illustrated in system diagram 100 may be executed by an exemplary computing system 401 (or multiple computing systems) as described in the description of FIG. 4.
- System diagram 100 describes components that may be utilized to execute processing operations described in flow diagram 120 (FIG. IB), flow diagram 160 (FIG. 1C), method 200 (FIG. 2) as well as processing described in and associated with visual diagrams of FIGS. 3A-3C and the accompanying description.
- interactions between components of system diagram 100 may be altered without departing from the spirit of the present disclosure.
- Exemplary components, described in system diagram 100 may be hardware and/or software components, which are programmed to execute processing operations described herein.
- components of system diagram 100 may each be one or more computing devices associated with execution of a specific service.
- Exemplary services may be managed by a software data platform (e.g., distributed software platform) that also provides, to a component, access to and knowledge of other components that are associated with applications/services.
- processing operations described in system diagram 100 may be implemented by one or more components connected over a distributed network, where a user account may be working with a specific profile established through a distributed software platform.
- System diagram 100 comprises user computing devices 102; an application/service component 104; a formatted template transformation component 106; a component for implementation of trained Al processing 108; and knowledge repositories 110.
- System diagram 100 comprises user computing device(s) 102.
- An example of a user computing device 102 is a computing system (or computing systems) as described in the description of FIG. 4.
- User computing device(s) 102 are intended to cover examples where a computing device is a client computing device that a user is utilizing to access an application or service such as presentation application/service.
- the user computing device(s) 102 is also intended to cover examples of computing devices that developers (e.g., users) utilize to review processing for automated generation of formatted templates.
- An exemplary application/service component 104 is configured to provide data for an exemplary application/service.
- the designation application/service is intended to cover any examples where an application or service is provided.
- Applications/services, provided through the application/service component 104 may be any type of programmed software.
- a presentation application/service is a slide-based presentation application/service (e.g., PowerPoint®).
- examples described herein are intended to work with any type of productivity application or service.
- a productivity application or service is configured for execution of tasks including the management of formatted templates including transformed templates automatically generated by the trained Al processing.
- productivity applications or services comprise but are not limited to: software development applications/services; word processing applications/services, spreadsheet applications/services, notes/notetaking applications/services, authoring applications/services, digital presentation applications/services, presentation broadcasting applications/services, search engine applications/services, email applications/services, messaging applications/services, web browsing applications/services, collaborative team applications/services, digital assistant applications/services, webpage building applications/service, directory applications/services, mapping services, calendaring services, electronic payment services, digital data storage or distributed data storage applications/services, web conferencing applications/services, call communication applications/services, language understanding applications/services, bot framework applications/services, networking applications/service, and social networking applications/services, among other examples.
- an exemplary productivity application/service may be a component of a distributed software platform providing a suite of productivity applications/services.
- a distributed software platform is configured to providing access to a plurality of applications/services, thereby enabling cross-application/service usage to enhance functionality of a specific application/service at run-time.
- Distributed software platforms may further manage tenant configurations/user accounts to manage access to features, applications/services, etc. as well access to distributed data storage (including user-specific distributed data storage).
- specific application/services including those of a distributed software platform
- the application/service component 104 is configured to provide data for user access to an application or service including provision of a GUI for user access to an application or service.
- representations of formatted templates, including transformed templates may be presented through a GUI of a presentation application or service (e.g., slide-based presentation application or service).
- a GUI of an application/ service may be further improved by providing GUI elements related to the provision of transformed templates.
- GUI menus may provide listings of any of: transformed templates; presentation themes and associated sets of transformed templates; GUI notifications of new content including newly added transformed templates; and GUI elements enabling users to provide user feedback on formatted templates and presentation themes, among other examples.
- the application/service component 104 may enable interfacing between applications/services so that notifications can be provided through a GUI of any type of application or service including one that is different from that in which formatted templates are accessed.
- transformed templates may be added for GUI presentation through a slide-based presentation application or service, where a notification of that added content may be provided through another modality (e.g., email, messaging, collaborative communication application/service, intelligent assistant, operating system (OS) notification).
- modality e.g., email, messaging, collaborative communication application/service, intelligent assistant, operating system (OS) notification
- Exemplary applications/services may interface with other components of system diagram 100 to enhance processing efficiency and functionality as described herein.
- the application/service component 104 is configured to interface with a user computing device(s) 102 as well as the formatted template generation component 106, component for implementation trained Al processing 108 and knowledge repositories 110 (e.g., of a distributed software platform).
- signal data may be collected and analyzed one or more of: the application/service component 104; the formatted template generation component 106, component for implementation trained Al processing 108 and, knowledge repositories 110, to enable contextual processing that may aid timing determinations comprising but not limited to: a determination as to when to update a listing of formatted templates (e.g., based on lifecycle determinations of templates, telemetric usage analysis and/or user feedback): determinations as to when to surface notifications of transformed templates that were automatically generated for users (e.g., based on analysis of user activity); and determinations as to when to update trained Al processing (e.g., re-train deep learning modeling with respect to specific features of formatted templates).
- a determination as to when to update a listing of formatted templates e.g., based on lifecycle determinations of templates, telemetric usage analysis and/or user feedback
- determinations as to when to surface notifications of transformed templates that were automatically generated for users e.g., based on analysis of user activity
- Non-limiting examples of signal data that may be collected and analyzed comprises but is not limited to: devicespecific signal data collected from operation of one or more user computing devices 102; user-specific signal data collected from specific tenants/user-accounts with respect to access to any of: devices, login to a distributed software platform, applications/services, etc.; and application-specific data collected from usage of applications/services.
- analysis of signal data may comprise identifying correlations and relationships between the different types of signal data, where telemetric analysis may be applied to generate the above identified timing determinations.
- the formatted template generation component 106 is one or more components configured for management of processing operations related to automatic generation of transformations of formatted templates. In doing so, the formatted template generation component 106 may be configured to execute any processing operations described herein, including those described in process flow 120 (FIG. IB), process flow 160 (FIG. 1C), method 200 (FIG. 2), and processing associated with visual diagrams of FIGS. 3A-3C.
- Non-limiting examples of types of processing operations executed by the formatted template generation component 106 comprise but are not limited to: management of data associated with a library of pre-existing formatted templates (e.g., stored on a distributed data storage); managing a lifecycle of formatted templates and/or presentation themes with respect to usage through applications/services; identifying/selecting formatted templates for training of Al processing; management of feature data of formatted templates (e.g., slide-based templates); executing pre-processing of formatted templates including extracting feature data from formatted templates and propagating feature data to the trained Al processing; interfacing with the trained Al processing to enable generation of transformations (e.g., transformed templates) of formatted templates; selecting a configuration of deep learning modeling to apply for generation of transformed templates; selection of an encoder network/decoder network configuration (e.g., selection of a number of encoders and/or decoders to apply); applying weighting to specific features/attributes based on the type of formatted template being evaluated; management of trained Al processing for generation
- the formatted template generation component 106 is configured to manage feature data pertaining to formatted templates. For instance, features or attributes associated with a slide-based template may be identified and usable to train the Al processing for real-time (or near real-time) automatic transformation of formatted templates.
- a point of novelty of the present disclosure is that Al processing is adapted for the specific purpose of automatic generation of transformations of formatted templates, which results in the generation of transformed templates. By training deep learning models on feature data of formatted templates, the trained Al processing is transformed over traditional machine learning applications and able to generate the best possible transformations of formatted templates.
- feature (or attribute) data of a formatted template comprises shape information of objects comprised in a formatted template (or set of formatted templates).
- shape information comprise but are not limited to: shape position information of objects presented in formatted templates; shape type; shape fill type; shape color; and shape layering/grouping, among other examples.
- trained Al processing can further be trained based on a presentation theme associated with a formatted template.
- a presentation theme associated with a formatted template.
- An exemplary presentation theme is a collective set of visual style attributes that are applied to a formatted template (e.g., slide-based template).
- Non-limiting examples of visual style attributes of a theme that may be usable to train Al processing, and subsequently modifiable to effect transformation of one or more formatted templates comprise but are not limited to: predefining layout attributes (e.g., grouping and/or layering of objects); colors scheme (including color scheme for a background of a slide); fonts (e.g., color, type, size); and visual effects, among other examples.
- layout attributes e.g., grouping and/or layering of objects
- colors scheme including color scheme for a background of a slide
- fonts e.g., color, type, size
- visual effects e.g., among other examples.
- the formatted template generation component 106 may be further configured to manage signal data to aid decisioning making processing that yields determinations made thereby.
- the formatted template generation component 106 is configured to select (or curate) formatted templates/sets of formatted templates for training processing as well as real-time (or near real-time) generation of transformed templates.
- determinations that may factor in analysis of signal data comprise but are not limited to: determining what formatted templates to utilize for training processing; determining what formatted templates to utilize for generation of transformations; determining what transformations to present to a user; determining a lifecycle state of a formatted template and/or presentation theme; and determining a timing of when to present a transformation or notification thereof to a user.
- user-signal data may be provided with respect to user feedback on specific formatted templates.
- User feedback may be useful to identify formatted templates and presentation themes that are popular amongst user as well as those that are not favored. Such data is useful to help select specific formatted templates and/or presentation themes that may be utilized to generate transformed templates.
- Yet another example of signal data that is useful to evaluate is application-specific signal data pertaining to usage of formatted templates. Signal data pertaining to usage of formatted templates may be retrieved directly from an application or service or provided as telemetry data generated based on analysis of usage of an application or service. In some examples, analysis of signal data may be investigated at a specific level (e.g., user level, group level, device level).
- the formatted template generation component 106 can help identify transformed templates that may be most contextually relevant to a user and provide the same to the user through an application/service. For instance, a transformed template may be extremely relevant to (or preferred by) a user and a different transformed template may be most relevant to another user.
- the formatted template generation component 106 may be further configured to manage a lifecycle of formatted templates and/or presentation themes.
- a lifecycle of a formatted template refers to a state of usage of the formatted template.
- a state of a formatted template that is in usage may be derived to help identify a timing as to when to update a library of pre-existing formatted templates.
- a library of formatted templates may be maintained in a data storage (e.g., distributed data storage), which an application/ service can access to provide representations of formatted templates for user usage through a GUI of an application/service.
- formatted templates may remain accessible for users, there may also be instances where it makes sense to add new templates (or themes) for users and/or retire some formatted templates and/or presentation themes. For instance, a formatted template (or theme) may not be used very often or simply be unpopular with users. As such, the formatted template generation component 106 can evaluate factors to determine whether a library of preexisting formatted templates should be updated. Update to a library of formatted templates may comprise but is not limited to: adding new transformed templates to the library and/or removing/replacing templates that be may be older, less popular, etc.
- the lifecycle of the formatted template may be derived from analyzing one or more of: a period of time that the formatted template has been in usage; a frequency of usage of the formatted template; and a popularity of the formatted template. Tracking of a time period that a template has been in usage may be an important indicator as to when it may be time to add new templates to the library and/or remove a template from usage. Developers may set variance time periods as checkpoints to identify a point in a lifecycle of formatted templates. A time period associated with a lifecycle of a formatted template may be set by developers and vary without departing from the spirit of the present disclosure.
- user interactions with formatted templates may be evaluated to generate a determination as to a state of a formatted template.
- User-signal data, application-specific signal data and/or telemetry data derived from usage of formatted templates may be analyzed to determine how often formatted templates are used. The same data may be used to help determine popularity of formatted templates as well as user feedback directly provided with respect to formatted templates (e.g., GUI feedback related to formatted templates including likes/dislikes) and user feedback indirectly provided (e.g., through other applications/services such a social networking applications/services, discussion in messaging/email about the formatted template or theme).
- a lifecycle of a formatted template may be automatically managed, where developers can set a metric (as identified above) to determine a state of a formatted template, relative to the lifecycle. Processing can then proceed to automatically notify developers as to that state of a formatted template.
- the formatted template generation component 106 may interface with the component for implementation of trained Al processing 108 to automatically identify a state of formatted template relative to the lifecycle.
- an Al model may be trained to execute classification processing that is configured to classify the state of formatted templates within a library of formatted templates.
- Metrics such as a time period that the formatted template has been in usage, the frequency of usage, the popularity, etc., may be determined and used to generate a classification of the state of formatted template.
- the lifecycle determination of a state of a formatted template may comprise generating a scoring metric that corresponds to the above described classification.
- a weighting may be applied to specific aspects to help truly judge whether it may be time to retire a formatted template. For instance, a higher weighting may be applied to metrics related to usage as some formatted templates may be in use for a long period of time but remain very popular.
- developers can set a weighting as they see fit without departing from the spirit of the present disclosure.
- Non-limiting examples of Al modeling that may be adapted to generate classification ranking/scoring as described herein are provided in the subsequent description of the component for implementation of trained Al processing 108.
- automatic management of a lifecycle of formatted templates may comprise generating a report that provides identification of states of formatted templates.
- the report can be periodically reviewed by developers.
- processing to generate transformations of formatted templates and/or presentation themes may occur automatically based on a result of this lifecycle analysis. That is, indication of a state of a formatted template through the lifecycle analysis may be a trigger for executing of processing to generate transformations of formatted templates and/or presentation themes.
- the formatted template generation component 106 is configured to select (or curate) formatted templates for training processing as well as real-time (or near real-time) generation of transformed templates.
- the formatted template generation component 106 may employ the component for implementation of trained Al processing 108 to aid with curation of formatted templates for training and/or generation of transformed templates.
- an Al model can be trained to execute a relevance ranking which can be applied to identify the most relevant formatted templates and/or presentation themes from the library of formatted templates.
- generation of the relevance ranking may comprise generating a scoring metric that corresponds to the relevance of formatted template, set of formatted templates, and/or presentation theme.
- An Al model may be trained to analyze signal data related to usage of formatted templates or the like. Another aspect that can be analyzed to generate a scoring metric for the relevance ranking is the determination of the lifecycle state of the formatted template. In some cases, a weighting may be applied to specific metrics to help contextually understand a relevance of a formatted template. However, it is to be understood that developers can set a weighting as they see fit without departing from the spirit of the present disclosure. Non-limiting examples of Al modeling that may be adapted to generate relevance ranking/scoring as described herein are provided in the subsequent description of the component for implementation of trained Al processing 108.
- the present disclosure provides an extensible solution that is configured to work with any number of formatted templates/sets of formatted templates/presentation themes that are selected for transformation.
- transformation of formatted templates may occur iteratively and in other cases multiple transformations may be occurring concurrently.
- processing described herein is applicable to work with any type of formatted template. While one example is a slide-based template that is usable to render a slide-based presentation, other types of formatted documents may comprise but not limited to: word processing templates; spreadsheet templates; web templates; notes templates; diagramming and illustration templates; portable document format (PDF) templates; and any other types of templates as known to one skilled in the field of art.
- PDF portable document format
- the component for implementation of trained Al processing 108 is one or more components configured for automatic generation of transformations of formatted templates. This processing includes the generation of transformed templates or sets of transformed templates that are usable to enable users to build presentation documents (e.g., slide-based presentations).
- the component for implementation of trained Al processing 108 may be configured to generate transformations strictly of presentation themes using processing similarly described herein. Presentation themes can be stored and managed in the same manner as described with respect to formatted templates.
- the trained Al processing of the present disclosure is configured to comprehensively apply deep learning modeling. Rather than simply relying one type of deep learning model which may have its strengths and weaknesses, multiple deep learning models can be applied to provide the most comprehensive and most accurate templatized transformations.
- trained Al processing may apply two or more different types of trained generative deep learning models to provide the best possible transformations of formatted templates. Modeling that relies on pure random generation may struggle due to the sparseness of datapoints in a latent space. As such, trained Al processing is conditioned for guided generation and style transfer of formatted templates.
- the two or more types of trained generative deep learning models comprise but are not limited to: one or more VAEs; one or more GANs; one or more GPTs; and one or more Deepfake learning models.
- different deep learning models may be trained on different features/attributes of formatted templates (e.g., one model on shape position information and another model on visual style attributes).
- multiple different types of deep learning models may be trained to focus on the same feature/attribute (e.g., shape position information) of a formatted template.
- Any arrangement of modeling described herein may be applied to effect the best possible transformations.
- a selection as to how many iterations of different modeling is to be applied may pertain to a determination as to a timing requirement for returning results. That determination may be made based on whether transformed templates are being asynchronous from user request for formatted templates.
- transformed template candidates may be generated through application of each off: a conditioned VAE, a conditioned GAN and a conditioned GPT. Results may further be propagated to a Deepfake learning model to effect further transformed template candidates.
- processing described herein may selectively determine a number (and order) of deep learning models to apply that fit within time constraints for working with specific applications/services (e.g., latency requirements of an application/service).
- multiple sets of each type of generative deep learning model may be applied.
- a first VAE set (e.g., encoder/decoder) may be trained on formatted templates having a first presentation theme and a second VAE set (e.g., encoder/decoder) may be trained on formatted templates having a second presentation theme.
- any of a VAE, GAN or GPT may be utilized to generate transformation of a layout position/arrangement of objects of a formatted template and a Deepfake learning model may be utilized to generate an exemplary style transformation.
- trained Al processing is improved by conditioning applied deep learning models based on feature data of formatted templates (e.g., shape position information of objects thereof).
- trained Al processing In cases where trained Al processing is applied, general application of trained Al processing including creation, training and update of generative deep learning modeling is known to one skilled the field of art. Above what is traditionally known, trained Al processing may be adapted to execute specific determinations described herein with reference to conditioning deep learning modeling for automatic generation of transformations of formatted templates. As previously identified, trained Al processing is uniquely conditioned based on feature data associated with formatted templates. Nonlimiting examples of feature data have been provided in the foregoing description.
- Feature data pertaining to one or more formatted templates and/or presentation themes may be a component of exemplary training data that is used to train exemplary modeling of the trained Al processing.
- Training data as referenced herein, is intended to cover data derived from analysis of feature data of formatted templates as well as formatting rules specific to the type of formatted template that is being transformed.
- Exemplary formatting rules may be set by developers, where the formatting rules are specific to a type of formatted template that is being transformed (e.g., slide-based templates).
- Non-limiting examples of formatting rules for formatted templates may comprise but are not limited to rules for: transforming specific types of objects including modification of specific shape types and shape position information; layout/arrangement rules for congruity between object types (e.g., using shape position information of respective objects); prioritization of specific types of objects (e.g., titles, headings; headers, footers, content specific listings/bullet points); spacing between objects; line breaks; indentation and justification; font formatting; fill type for specific objects; fill color for specific objects; visual effects; application of visual style attributes associated with a presentation theme; insertion of object placeholders; number of formatted templates to present in a set of formatted templates; applicability of visual style attributes with respect to objects (e.g., shape position information) of a formatted template; user preferences (e.g., user-specific formatting representations); and object sharpening and/or line straightening, among other examples.
- the formatting rules may be utilized to condition encoder and decoder networks and/or discriminators for generating transformed templates that satisfy the formatting rules, when evaluating formatted templates.
- General application of formatting rules for training of a generative deep learning model are known to one skilled in the field of art.
- formatting rules specific to formatted templates e.g., slide-based templates.
- one or more layers of a deep learning network are manipulated such that individual layers may store a set of one or more formatting rules.
- An output may be determined from an association between keys, denoting meaningful context, with values when formatted templates are utilized to train the Al processing.
- formatting rules are set indicating a layout/arrangement of a formatted template to foster congruity between object types (e.g., using shape position information of respective objects).
- a distribution from latent space analysis may utilize shape information, including shape position information of respective objects, to transform positional layout of objects for a formatted template.
- Training, based on formatting rules that foster congruity between objects, may direct a transformation of objects) in a manner that is optimal for a representation in a formatted template (e.g., slide-based template), where the formatting rules may be utilized to identify preferred arrangements of objects and/or avoid certain arrangements of objects.
- formatting rules may be applied to improve generation of transformed template.
- Analysis of shape information of specific object types of a formatted template may identify the inclusion of a rectangular title box (for a title of a slide-based template) and two or more square slide content portions, among other types of objects. Further, shape position information for those respective objects may be identified indicating positional placement within a formatted template.
- An exemplary formatting rule (or rules) may be applied that trains a deep learning model of the Al processing to reposition the rectangular title box in a prioritized location (e.g., top of slide or bottom of slide) and in manner that does overlap with the two or more square slide content portions.
- formatted rules may help identify potential modification thereof to foster congruity with the objects presented in the formatted template (based on analysis of shape information thereof). For instance, a visible line break may have originally be positioned horizontally between the rectangular title box and the two or more square slide content portions, where a transformation based on formatting rules may identify that this visible line break should keep separation therebetween whether the object of the visible line break is transformed in a vertical direction or repositioned at a different location and remaining in a horizontal arrangement.
- formatting rules may specify whether to add/remove object types based on identified shape position information.
- a layout of a formatted template can be improved to add more object items in a case where user feedback provided as formatted template guidance indicates that a layout of a formatted template can be improved.
- formatting rules may be set to train a deep learning model to maintain certain spacing between objects (e.g., based on analysis of shape position information for objects being included in a transformation).
- formatting rules can help identify technical instances where a shape of different objects can be changed within the parameters of a specific formatted template (e.g., slide-based template).
- a shape of an object such as rectangular title box may be changed to different shape (e.g., square, hexagon, triangle) if the formatting rules enable this when the entirety of objects for a formatted template are considered (e.g., objects and shape position thereof is being considered collectively).
- a specific learning model is trained to curate decoding results of transformed templates after raw results are generated.
- one or more decoder networks may generate results for transformed templates and a relevance ranking may be applied to determine which results are the best candidates for presentation to users.
- Exemplary relevance ranking evaluates the decoding results from the lens of applicable formatting rules.
- generation of the relevance ranking may comprise generating a scoring metric that corresponds to the relevance of a transformed template (candidate) with respect based on formatting rules specific to the type of template (e.g., slide-based templates).
- a weighting may be applied to specific formatting rules to help contextually understand a relevance of a formatted template.
- Exemplary Al processing may be applicable to aid any type of determinative or predictive processing including specific processing operations described about with respect to determinations, classification ranking/ scoring and relevance ranking/scoring.
- Encoders, decoders and discriminators, described herein may be trained Al modeling that is specifically configured for the purposes described herein. This may occur via any of: supervised learning; unsupervised learning; semi-supervised learning; or reinforcement learning, among other examples.
- Non-limiting examples of supervised learning that may be applied comprise but are not limited to: nearest neighbor processing; naive bayes classification processing; decision trees; linear regression; support vector machines (SVM) neural networks (e.g., deep neural network (DNN) convolutional neural network (CNN) or recurrent neural network (RNN)); and transformers, among other examples.
- SVM support vector machines
- DNN deep neural network
- CNN convolutional neural network
- RNN recurrent neural network
- transformers among other examples.
- Non-limiting of unsupervised learning that may be applied comprise but are not limited to: application of clustering processing including k-means for clustering problems, hierarchical clustering, mixture modeling, etc.; application of association rule learning; application of latent variable modeling; anomaly detection; and neural network processing, among other examples.
- Non-limiting of semi-supervised learning that may be applied comprise but are not limited to: assumption determination processing; generative modeling; low-density separation processing and graph-based method processing, among other examples.
- Nonlimiting of reinforcement learning that may be applied comprise but are not limited to: value-based processing; policy-based processing; and model-based processing, among other examples.
- an output of trained Al processing is a consumable formatted template. In some examples, this may require post-processing operations, as subsequently described, to improve the result and put the transformed template in a form that is ready for presentation to users.
- the formatted template generation component 106 may interface with distributed data storage to store transformed templates for recall, for example, in a library of formatted templates.
- knowledge repositories 110 may be accessed to obtain data for generation, training and implementation of the component for implementation of trained Al processing 108 as well the operation of processing operations by that of the application/service component 104 and the formatted template generation component 106.
- Knowledge resources comprise any data affiliated with a software application platform (e.g., Microsoft®, Google®, Apple®, IBM®) as well as data that is obtained through interfacing with resources over a network connection including third-party applications/services.
- Knowledge repositories 110 may be resources accessible in a distributed manner via network connection that may store data usable to improve processing operations executed by the formatted template generation component 106.
- Examples of data maintained by knowledge repositories 110 comprises but is not limited to: collected signal data (e.g., from usage of an application or service, devicespecific, user-specific); telemetry data including past usage of a specific user and/or group of users; corpuses of annotated data used to build and train Al processing classifiers for trained relevance modeling; access to entity databases and/or other network graph databases; web-based resources including any data accessible via network connection including data stored via distributed data storage; trained bots including those for natural language understanding; data for stored formatted templates including transformed templates (e.g., a library of formatted templates); and application/service data (e.g., data of applications/services managed by the application/service component 104) for execution of specific applications/services including electronic document metadata, among other examples.
- collected signal data e.g., from usage of an application or service, devicespecific, user-specific
- telemetry data including past usage of a specific user and/or group of users
- corpuses of annotated data used to build and train Al processing class
- knowledge repositories 110 may further comprise access to a cloudassistance service that is configured to extend language understanding processing including user context analysis.
- the cloud-assistance service may provide the formatted template generation component 106 and/or application/service component 104 with access to larger and more robust library of stored data for execution of language understanding/natural language understanding processing.
- Access to the cloud-assistance service may be provided when an application or service is accessing content in a distributed service-based example (e.g., a user is utilizing a network connection to access an application or service), as the data of the cloud-assistance service may be too large to store locally.
- the formatted template generation component 106 may be configurable to interface with a web search service, entity relationship databases, etc., to extend a corpus of data to make the most informed decisions when generating determinations for improving automatic generation of transformations of formatted templates.
- telemetry data may be collected, aggregated and correlated (e.g., by an interfacing application or service) to further provide the formatted template generation component 106 with on-demand access to telemetry data which can aid determinations generated thereby.
- Figure IB illustrates an exemplary flow diagram 120 of processing related to automatic generation of transformations of formatted templates associated with specific presentation themes, with which aspects of the present disclosure may be practiced.
- Flow diagram 120 illustrates non-limiting examples of processing executed by trained Al processing to automatically generate transformed templates.
- processing of flow diagram 120 may be executed by the component for implementation of trained Al processing 108 as described in the description of system diagram 100 (FIG. 1A).
- Flow diagram 120 begins with the identification of formatted templates for two or more different templatized themes (e.g., presentation themes as previously described).
- Templatized theme A 122 is intended to represent a first set of one or more formatted templates that are associated with a first presentation theme.
- Templatized theme B 124 is intended to represent a second set of one or more formatted templates that are associated with a second presentation theme. Exemplary presentation themes and attributes associated therewith have been described in the foregoing description of the present disclosure.
- a first encoder network 126 may be utilized to encode feature data related to one or formatted templates associated with templatized theme A 122
- a second encoder network 128 may be utilized to encode feature data related to one or formatted templates associated with templatized theme B 124.
- the first encoder network 126 and the second encoder network 128 may be the same encoder network.
- the trained Al processing may be configured to utilize one encoder network for feature extraction and latent vector generation and subsequently use two different decoder networks to generate transformed templates for formatted templates associated with respective presentation themes.
- first encoder network 126 and the second encoder network 128 may be different encoder networks.
- exemplary encoder networks and decoder networks may be set as neural networks and iteratively trained/optimized to learn the best possible encoding-decoding scheme for generating transformations. Developers can configure the trained Al processing in any manner they see fit, including setting a configuration of encoder networks and/or decoder networks.
- multiple different versions of trained Al processing may be generated, where a selective determination as to which to apply can be made at run-time. In most cases, the usage of two different encoder networks, each trained on data for specific presentation themes, produces more stable training and better transformation results.
- encoder networks are charged with extracting feature data for one or more formatted templates associated with the respective presentation theme and encoding that feature data.
- An encoder network may be a trained Al model such as a neural network model, examples of which have been previously described.
- Encoder networks of the present disclosure execute data compression, encoding a representation of extracted feature data as compressed data using fewer bits than the original representation). This generates a compact lower dimensional vector (e.g., latent vector) identifying a distributed representation of the feature data of the one or more formatted templates.
- Encoding processing including generation of an exemplary latent vector, is known to one skilled in the field of art.
- an exemplary latent vector is a representation of the encoded (compressed) data.
- Encoding processing may comprise execution of a plurality of encoding passes. Each encoding pass may vary due to sampling, where an encoding may be generated at random at any point (or points) of a distribution.
- Encoding feature data of a formatted template as a distribution over a latent space improves generative analysis as the feature data is presented in a form that is less complex and more convenient to process and analyze (and thereby generate transformations).
- an exemplary latent space is continuous distribution of data, which enables easier random sampling and interpolation. In turn, this further enables trained generative modeling to understand patterns and structural similarities between data points of a distributed representation.
- a trained decoder network configured to analyze the distribution representation of the feature data and generate transformations of feature data for formatted templates of a presentation theme.
- a latent vector 130 for feature data associated with template theme A 122 is generated.
- latent vector 130 may be a representation of the encoded (compressed) data in the form of a feature vector (dimensional vector).
- a feature vector, including latent vector 130 may focus on specific types of feature data of a formatted template.
- feature data, extracted from one or more formatted templates associated with a presentation theme may be shape information of objects associated with the one or more formatted templates thereof.
- a feature vector, such as latent vector 130 may be generated for shape position information associated with objects within a formatted template.
- latent vector 130 may be generated for shape position information of one or more formatted templates associated with template theme A 122.
- Encoder networks e.g., encoder network 126 and encoder network 128, may further be trained based on specific feature data including shape information (e.g., shape position information) to aid with extraction of specific feature data and generation of a feature vector.
- Latent vector 132 for feature data associated with template theme B 124 is generated.
- Latent vector 132 may be a representation of the encoded (compressed) data for feature data of one or more templates associated with template theme B 124, where a feature vector (dimensional vector) is generated therefor.
- feature data extracted from one or more formatted templates associated with template theme B 124, may be shape information of objects associated with the one or more formatted templates.
- latent vector 132 may be generated to specifically focus on shape position information associated with objects within a formatted template.
- Latent vectors described herein may then be propagated to decoder networks for decoding processing.
- a decoder network may be a trained Al model such as a neural network model as previously described.
- An exemplary decoder network is configured to decompress the encoded data and reconstruct representations therefrom to return the formatted template to a consumable template.
- a trained decoder network is further able to generate transformations of a formatted template through trained analysis of the latent vector in a latent space (e.g., the distributed representation of feature data).
- encodings may be generated at random from anywhere inside the distributed representation, the decoder network learns not only single points in latent space but also nearby points of reference as well. This allows the decoder network to understand and generate a range of variations of encodings during training processing and subsequently in real-time execution.
- Decoding processing including generative analysis of a distribution, is known to one skilled in the field of art. Above what it is traditionally known is that the decoding processing of the present disclosure is specifically configured to work with consumable formatted templates and not only reconstruct a formatted template but also generate transformations of feature data to create transformed templates.
- a decoder network may be trained based on training data that comprises feature data for formatted templates associated with a specific presentation theme. This enables the decoder network to become very familiar with visual style attributes that are associated with a specific presentation theme through iterative training. Training data associated with a decoder network may comprise any type of feature data associated with a formatted template as described in the foregoing.
- a decoder network is trained based on shape information (e.g., shape position information) of objects associated with formatted templates and further trained based on visual style attributes associated with a specific presentation theme.
- shape information e.g., shape position information
- a decoder network may be applied that is trained on the same presentation theme as the encoder network from which it received encoded data (e.g., a latent vector). This can effect transformations in both layout of objects as well as style transformations (e.g., color scheme of presentation theme may be modified/flipped).
- latent vector 130 for feature data associated with template theme A 122, is propagated to decoder network 136 (decoder network II or a second trained decoder network). Decoder network 136 is trained based on training data that comprises feature data for template theme B 124.
- Latent vector 132 for feature data associated with template theme B 124, is propagated to decoder network 134 (decoder network I or a first trained decoder network). Decoder network 134 is trained based on training data that comprises feature data for template theme A 122.
- decoder networks trained on specific presentation themes are swapped to transform the style of the two themes when generating transformations of formatted templates. This results in transformed templates being generated that mix feature data (e.g. objects and shape information from one formatted template with visual style attributes of another formatted template that is associated with a different presentation theme).
- a first transformed template 138 (transformed template AB) is generated that comprises: a transformation of objects (e.g., layout and/or type of object) from a formatted template that is associated with template theme A 122; and a style transformation based on visual style attributes associated with template theme B 124.
- a second transformed template 140 (transformed template BA) is generated that comprises: a transformation of objects (e.g., layout and/or type of object) from a formatted template that is associated with template theme B 124; and a style transformation based on visual style attributes associated with template theme A 122.
- style transformations may be reflective of analysis that mixes visual style attributes associated with each of template theme A 122 and template theme B 124 (e.g., color schemes may be mixed between the two presentation themes).
- the same concept may apply to object transformations pertaining to layout or object type.
- encoder networks and decoder networks can be trained on formatted templates for a plurality of presentation themes. This may further diversify transformations and provide an efficient way to generate a plurality of transformed templates.
- FIG. 1C illustrates an exemplary flow diagram 160 related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- Flow diagram 160 illustrates non-limiting examples of processing executed by trained Al processing and/or a formatted template transformation component 106 (of FIG. 1A) to automatically generate transformed templates.
- Flow diagram 160 is intended provide a fuller view of processing phases involved in automated generation of transformed templates from pre-existing formatted templates.
- Flow diagram 160 is further intended illustrate the comprehensive application of deep learning modeling (as part of the exemplary trained Al processing).
- Flow diagram 160 begins with a phase of pre-processing of formatted templates 162 (hereinafter “pre-processing phase 162”).
- the pre-processing phase 162 is intended to comprise a plurality of processing operations that prepare a formatted template (or presentation theme) for transformation via application of trained Al processing.
- the preprocessing phase 162 may first comprise identification of one or more formatted templates for transformation. Processing operations related to identification of formatted templates have been described in the foregoing description of system diagram 100 (FIG. 1 A), specifically with reference to the formatted template transformation component 106.
- formatted templates may be identified and selected/curated for transformation processing. In at least one example, this may comprise analyzing pre-existing formatted templates that are stored in a library of formatted templates. In some examples, this may be a programmed activity that occurs automatically without developers continuously requesting this analysis be executed.
- the pre-processing phase 162 may further comprise propagating data associated with one or more formatted templates to trained Al processing.
- this may comprise extracting feature data associated with a formatted template and propagating that feature data to one or more deep learning models that are configured as part of the trained Al processing.
- trained Al processing of the present disclosure is configured to generate transformations of the formatted templates.
- feature extraction of feature data of formatted templates occurs as part of application of the trained Al processing. In that case, data associated a consumable version of formatted template may be propagated to or identified for access to the formatted template.
- trained Al processing may be a comprehensive framework that can apply multiple different generative learning models to generate a variety of transformations.
- trained Al processing may apply two or more different types of trained generative deep learning models to provide the best possible transformations of formatted templates.
- Non-limiting examples of the two or more types of trained generative deep learning models comprise but are not limited to: one or more VAEs; one or more GANs; one or more GPTs; and one or more Deepfake learning models.
- Components of and processing related to operation of such deep learning modeling is known to one skilled in the field of art.
- general implementation and training of encoders, decoders and discriminators of generative modeling are known to one skilled in the field of art.
- an order of application of trained Al processing may be preprogrammed.
- the pre-processing phase 162 comprises processing operations related to selecting a configuration of deep learning models to apply. For instance, a transformation may be occurring on feature data that does not possess many layers of complexity.
- trained Al processing may be applied to change a font feature (e.g., color, style, size) that does not require significant model conditioning to achieve. In such cases, it may be practical to selectively apply more lightweight modeling to effect a transformation rather than one that is conditioned on very specific feature data (e.g., shape position information). In some instances, that may comprise applying deep learning modeling that relies on pure random generation.
- a pure generation deep learning modeling may struggle with more complex feature data specific to formatted templates due to the sparseness of datapoints in a latent space.
- a user may request a template transformation in real-time (or near real-time), where execution of a result is expected within a specific time due. Due to processing requirements, there is often latency between the time a request is made, and a result is returned. It may not be feasible to run trained Al processing in preprogrammed configurations for each of a VAE, GAN, GPT and Deepfake learning model. As such, latency requirements of applications/ services may be a factor in selecting a configuration of trained Al processing at run-time.
- Flow diagram 160 may proceed to a phase for generation of transformed templates using deep learning modeling 164 (hereinafter “generation phase 164”).
- generation phase 164 Occurrence of the generation phase 164 is where a combination of deep learning modeling is applied as trained Al processing to generate transformations of formatted templates.
- Non-limiting examples of deep learning modeling applied as trained Al processing have been described in the foregoing description.
- formatted templates have layers of complexity that made it difficult for traditional unconditioned processing to generate high quality consumable formatted templates. As such, deep learning modeling needs to be properly trained to produce the intended results of the present disclosure.
- the generation phase 164 may apply one of: a VAE, GAN or GPT to generate transformations of objects (e.g., a layout or arrangement of objects) for a transformed template; and further apply a Deepfake learning model to add a layer of style transformation to the transformed template.
- a VAE Virtual Machine
- GAN General Packets Layer
- Deepfake learning model to add a layer of style transformation to the transformed template.
- high quality representation of transformed templates can be automatically generated via the configuration of the trained Al processing as applied in the present disclosure.
- the generation phase 164 may be optionally configured to apply discriminators to curate transformed templates that are generated by respective deep learning modeling. Similar to the encoder and decoder networks, discriminators may be trained for the purpose of formatted template analysis. In doing so, discriminators are trained specifically for the purpose of evaluating the quality of the transformation of a formatted template. For example, a trained discriminator may attempt to determine if the formatted template being judged is fake or real. The trained discriminator may act as a curator to determine which transformed templates are high quality enough for presentation to users. The subset of transformed templates that do not satisfy a threshold set by a discriminator are discarded.
- Thresholds for discriminators may vary according to developer specifications, where the present disclosure is intended to cover any threshold for evaluating quality of a transformed template.
- user feedback may be utilized to train a discriminator to identify high quality transformation (e.g., is the formatted template real or fake). As a starting point, user feedback provides a baseline for judging the accuracy of a generation result.
- discriminators may be set as learning models, they may intelligently learn and update over time to better adapt to the complexities of formatted templated.
- discriminators may be trained based on formatting rules of formatted templates. Examples of formatting rules have been provided in the foregoing description. Discriminators trained based on formatting rules may periodically change, where formatting rules may be adapted over time by developers based on template creation guidance received from users (e.g., end users and/or developers). Optional discriminators may further be added and trained at the discretion of the developers.
- flow diagram 160 may proceed to a post-processing phase 166 ( hereinafter “post processing phase 166”).
- the post processing phase 164 of flow diagram 160 may be configured to generate consumable formatted templates as transformed templates. While those transformed templates may be high quality, they may not be perfect and presentation ready.
- the post-processing phase 166 may comprise processing operations to refine the transformed templates for presentation purposes. Any of the trained Al processing, the formatted template transformation component 106 (of FIG. 1A), or a combination thereof, may be utilized to apply a programmed algorithm to refine transformed templates for presentation.
- the trained Al processing may be configured to output raw results from transformation of a formatted template.
- the raw results may then be evaluated using a programmed algorithm that is configured to automatically refine the raw results from transformation of a formatted template.
- the algorithm for refinement may be programmed to evaluate various aspects of transformations under the lens of the formatting rules for formatted templates (previously described). Modifications to the transformed template may be made based on a result of applying the algorithm for refinement. For example, imaging associated with objects may be sharpened (including lines and edges).
- updated raw results may be converted back to a consumable formatted template.
- the transformed template is ready for quality review.
- quality review may be a manual review process by users (e.g., developers and/or end users).
- transformed templates may be previewed in a GUI of an application or service so that end users can provide feedback as to whether they like/dislike the transformed template.
- Quality review may further comprise identifying comments, criticisms, suggestions etc., all of which can be propagated as template creation guidance 170 that can be utilized to: update/train deep learning modeling of the trained Al processing; help developers determine how to manage a library of formatted templates; and help developers curate formatted templates for subsequent transformation, among other examples.
- the transformed template 168 may be output for storage and subsequent presentation. A lifecycle of the transformed template 168 may then be tracked as previously described in the description of system diagram 100 (FIG. 1 A).
- Figure 2 illustrates an exemplary method 200 related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- method 200 may be executed across an exemplary computing system 401 (or computing systems) as described in the description of FIG. 4.
- Exemplary components, described in method 200 may be hardware and/or software components, which are programmed to execute processing operations described herein.
- Non-limiting examples of components for operations of processing operations in method 200 are described in system diagram 100 (FIG. 1A), and processing operations executed thereupon further comprise those described in the description of flow diagram 120 (FIG. IB) and flow diagram 160 (FIG. 1C).
- Processing operations performed in method 200 may correspond to operations executed by a system and/or service that execute computer modules/programs, software agents, application programming interfaces (APIs), plugins, Al processing including application of trained data models, intelligent bots, deep learning modeling including neural networks, transformers and/or other types of machine-learning processing, among other examples.
- processing operations described in method 200 may be executed by a component such as the formatted template transformation component 106 (of FIG. 1 A) and/or a component for implementation of trained Al processing 108.
- processing operations described in method 200 may be implemented by one or more components connected over a distributed network.
- components may be executed on one or more network-enabled computing devices, connected over a distributed network, that enable access to user communications.
- Method 200 begins at processing operation 202, where data for formatted templates is accessed. Processing operations related to identification of formatted templates have been described in the foregoing description of system diagram 100 (FIG.
- formatted templates may be identified and selected/curated for transformation processing. In at least one example, this may comprise analyzing pre-existing formatted templates that are stored in a library of formatted templates. In some examples, this may be a programmed activity that occurs automatically without developers continuously requesting this analysis be executed.
- Flow of method 200 may then proceed to processing operation 204, where feature data associated with a formatted template is extracted.
- feature data comprises shape information.
- shape information comprise but are not limited to: shape position information of objects presented in the first slide-based template; shape type; shape fill type; shape color; and shape layering/grouping, among other examples.
- Feature data may further comprise feature data pertaining to any visual style attributes for the first slide-based template, which may be analyzed in coordination with the feature data for objects of the first slide-based template.
- feature data may be extracted from a slidebased template that is associated with a presentation theme (e.g., providing a first set of visual style attributes for the first slide-based template).
- This process may be repeated to train Al processing on specific formatted templates (and features thereof) or execute realtime processing to generate transformation of a formatted template.
- trained Al processing may be configured to generate transformation of only presentation themes and feature data related thereto. For instance, a library of presentation themes may also be maintained and managed to aid subsequent generation of transformed templates.
- a formatted template feature data can be extracted and analyzed for one or more formatted templates (e.g., a set of formatted templates) and/or a presentation theme (e.g., a presentation theme associated with a set of formatted templates).
- a presentation theme e.g., a presentation theme associated with a set of formatted templates.
- examples of transformed templates may comprise any instance where: new objects are created and/or a new arrangement of objects is created and/or a style transformation occurs for a formatted template.
- a transformed template may be created from a targeted analysis of a pre-existing formatted template or from a collective/aggregate analysis of a plurality of formatted templates and/or presentation themes that derived transformations from each of a plurality of pre-existing formatted templates to generate a complete transformed template.
- Flow of method 200 may then proceed to processing operation 206, where trained Al processing is applied to analyze formatted templates and generate transformations thereof.
- Processing operation 206 comprises applying deep learning modeling (e.g., two or more types of deep learning models) to generate transformations of slide-based templates. Transformation of slide-based templates including types of transformations generated by trained Al processing have been described in the foregoing description.
- trained Al processing may be applied to execute processing operations 204 through 218 of method 200. However, it is to be understood that trained Al processing may be configured to execute any processing operation of method 200.
- the trained Al processing is configured to encode (processing operation 208) feature data of a slide-based template for subsequent Al processing to be administered. Encoding of feature data of a formatted template converts a consumable formatted template into a compressed representation that can be analyzed by deep learning modeling of the trained Al processing. Processing operation 208 may further comprise generating a latent vector (e.g., feature vector) that provides a distributed representation of the feature data. The latent vector may then be propagated to a decoder network that is trained to analyze the latent vector and generate transformations of objects associated with a slidebased template.
- a latent vector e.g., feature vector
- Flow of method 200 may then proceed to processing operation 210, where trained decoder networking is applied to generate transformation of a formatted template (or multiple formatted templates).
- An exemplary decoder network is configured to decompress the encoded data (e.g., latent vector) and reconstruct representations therefrom to return the formatted template to a consumable template.
- a trained decoder network is further able to generate transformations of a formatted template through trained analysis of the latent vector in a latent space (e.g., the distributed representation of feature data).
- the decoder network learns not only single points in latent space but also nearby points of reference as well. This allows the decoder network to understand and generate a range of variations of encodings during training processing and subsequently in real-time execution.
- Decoding processing (processing operation 210) of the present disclosure is specifically configured to work with consumable formatted templates and not only reconstruct a formatted template but also generate transformations of feature data to create transformed templates.
- a decoder network may be trained based on training data that comprises feature data for formatted templates associated with a specific presentation theme. This enables the decoder network to become very familiar with visual style attributes that are associated with a specific presentation theme through iterative training.
- Training data associated with a decoder network may comprise any type of feature data associated with a formatted template as described in the foregoing.
- a decoder network is trained based on shape information (e.g., shape position information) of objects associated with formatted templates and further trained based on visual style attributes associated with a specific presentation theme.
- shape information e.g., shape position information
- a decoder network may be applied that is trained on the same presentation theme as the encoder network from which it received encoded data (e.g., a latent vector). This can effect transformations in layout/arrangement of objects, a form (e.g., shape of objects), the number of objects added to a layout arrangement, as well as style transformations (e.g., color scheme of presentation theme may be modified/flipped).
- decoder network In cases where a decoder network is trained on formatted template data associated with a specific presentation theme, applying that decoder network to transform formatted templates associated with a different presentation theme may result in even greater transformations of visual style attributes as compared to formatted templates having that original presentation theme. Essentially, decoder networks trained on specific presentation themes are swapped to transform the style of the two themes when generating transformations of formatted templates. This results in transformed templates being generated that mix feature data (e.g. objects and shape information from one formatted template with visual style attributes of another formatted template that is associated with a different presentation theme).
- feature data e.g. objects and shape information from one formatted template with visual style attributes of another formatted template that is associated with a different presentation theme.
- a trained decoder network is further specialized in that it applies formatting rules specific to the type of formatted template (e.g., slide-based template) that is being generated.
- Decoding processing using the trained decoder network, may then automatically generate a transformed template.
- the transformed template comprises: one or more transformations of the objects of the first slide-based template; and a style transformation modifying one or more visual style attributes of the first set of visual style attributes.
- a layout of objects of the first slide-based template may be modified such that location of the objects of the first slide-based template are rearranged in a new order.
- a layout/arrangement may be further modified by adding/removing objects to the layout or even changing the shape or type of an object therein.
- the transformed template modifies one or visual style attributes of the first set of visual style attributes associated with the first presentation theme.
- a color scheme of the first slide-based template may be modified based on a decoder network being trained based on the second presentation theme.
- trained Al processing is configured to generate (processing operation 214) consumable formatted templates that comprise transformation (e.g., transformed templates such as slide-based templates). However, in some examples, additional processing is applied to improve the generated result and producer higher quality transformed templates.
- method 200 may proceed to processing operation 216, where raw results of transformed templates are generated and propagated or review by one or more discriminators.
- one or more discriminators are applied for the purpose of evaluating the quality of the transformation.
- Application of exemplary discriminators, configured for formatted template evaluation have been described in the foregoing description. For example, a trained discriminator may attempt to determine if the formatted template being judged is fake or real. As such, a trained discriminator may act as a curator to determine which transformed templates are high quality enough for presentation to users.
- One or more transformed templates may be selected for output based on analysis of the formatted templates by the one or more discriminators.
- Flow of method 200 may then proceed to processing operation 218.
- formatted templates may be refined.
- the trained Al processing may be configured to output raw results from transformation of a formatted template.
- the raw results may then be evaluated using a programmed algorithm that is configured to automatically refine the raw results from transformation of a formatted template.
- the algorithm for refinement may be programmed to evaluate various aspects of transformations under the lens of the formatting rules for formatted templates (previously described). Modifications to the transformed template may be made based on a result of applying the algorithm for refinement. For example, imaging associated with objects may be sharpened (including lines and edges).
- updated raw results may be converted back to a consumable formatted template. At that point, the transformed template is ready for quality review.
- Flow of method 200 may then proceed to processing operation 220.
- quality review may be a manual review process by users (e.g., developers and/or end users).
- transformed templates may be previewed in a GUI of an application or service so that end users can provide feedback as to whether they like/dislike the transformed template.
- Quality review may further comprise identifying comments, criticisms, suggestions etc., all of which can be propagated as template creation guidance that can be utilized to: update/train deep learning modeling of the trained Al processing; help developers determine how to manage a library of formatted templates; and help developers curate formatted templates for subsequent transformation, among other examples.
- transformed templates are output for subsequent usage.
- this may comprise storing transformed templates (e.g., sets of transformed templates having a presentation theme) for subsequent access.
- processing operation 222 may comprise updating a library of formatted templates to include one or more transformed templates. In some instances, this may comprise replacing older (and less popular) templates, thereby providing a fresh update to the library of formatted templates. Additional examples of processing 222 may comprise categorizing transformed templates and/or labeling the same to aid storage and retrieval.
- An application or service may be configured to interface with a library of formatted templates to enable retrieval of formatted templates for presentation in a GUI of an application/service. This may occur automatically through interfacing between an application/service component 104 (FIG. 1 A) and a formatted template transformation component 106 (FIG. 1 A), or based on a request for formatted templates directly provided by a user (e.g., through a GUI of an application or service).
- An exemplary application or service may be a presentation application/service (e.g., slide-based presentation application/service) that renders GUI features (e.g., menus, listings, notifications, representations of individual transformed templates).
- GUI of an application or service may further be improved by providing GUI features that enable feedback to be provided on transformed templates.
- GUI features that enable feedback to be provided on transformed templates.
- This can include selectable GUI features that enable users to indicate whether they like (or dislike) transformed templates and/or presentation themes as well as provide comments/suggestions/critery.
- a rendering of a representation of a transformed template may be displayed in a development application or service to enable developers to visually understand how a transformed template would appear in a GUI rendering.
- flow of method 200 may proceed to processing operation 226.
- user feedback is received from users (e.g., end user and/or developer).
- that user feedback may be propagated as template creation guidance to update (processing operation 228) future iterations of trained Al processing.
- flow of method 200 may proceed to processing operation 228, where trained Al processing is updated through template guidance.
- template guidance may comprise user feedback.
- template guidance may take any form including analysis of signal data from usage of transformed templates and/or user actions pertaining thereto. Template guidance may also take the form of lifecycle determinations, which can help identify which formatted templates to replace/remove and/or which formatted templates should be used to generate new transformed templates. Method 200 may then be re-executed to continuously generate new transformed templates.
- Figures 3A-3C illustrate exemplary processing device views associated with user interface examples for an improved user interface that is configured to enable provision of representations of transformations of slide-based formatted templates, with which aspects of the present disclosure may be practiced.
- Figures 3A-3C provide nonlimiting front-end examples of processing described in the foregoing including system diagram 100 (FIG. 1A), flow diagram 120 (FIG. IB), flow diagram 160 (FIG. 1C) and method 200 (FIG. 2).
- Figure 3 A presents processing device view 300, illustrating a GUI of a presentation application or service (e.g., slide-based presentation application or service) that is configured to enable presentation of slide-based templates.
- a presentation application or service e.g., slide-based presentation application or service
- the GUI of the presentation application/service displays representation 302 of a slide-based template that has already been edited. It is recognized that applicability of the present disclosure extends not only to unedited formatted templates, but also those which have been edited by a user. Through the latter, the present disclosure can improve usability of applications/ services by providing automatic transformations of pre-existing slides so that a user can visually see how their presentations can be transformed.
- the representation 302 shown in processing device view 300 comprises a plurality of objects arranged in a layout as shown in processing device view 300.
- representation 302 comprises a first line object 304 and a second line object 306, representing vertical lines that frame other object portions of the slide-based template.
- the representation 302 further comprises a title box 308 providing a title (“Network Security Discussion Topics”) for the slide-based template.
- the representation 302 displays embedded content portions for providing slide content in the slide-based template.
- a first content portion 310 provides a layout for content associated with a first topic (“topic #1 : network vulnerabilities”) and a second content portion 312 provides a layout for content associated with a second topic (“topic #2: server configurations”). Processing of the present disclosure may be applied to generate a transformed template of the representation 302 shown in processing device view 300.
- Figure 3B presents processing device view 320, illustrating a continued example of the representation 302 that is shown in processing device view 300 (FIG. 3A).
- the example shown in processing device view 320 illustrates a non-limiting example of a transformed template from the representation shown in 302 (without the actual content added by a user).
- one or more transformations of the representation 302 may be provided through a GUI as a recommendation for transforming a current version of a slide.
- a transformed template as shown in processing device view 320, comprises object transformations of objects of the slide-based template including transformation of the objects themselves.
- the first line object 304 and a second line object 306 were represented as vertical lines that frame other object portions of the slide-based template.
- a modified object 324 is generated that combines vertical lines (304 and 306) and further changes layout positioning of the vertical lines.
- the representation shown in processing device view 320 further comprises transformation 326 of the title box 308 (of FIG. 3A) where the title box is re-located to a bottom portion of slide-based template and also comprises a color scheme change (e.g., white fill as compared to a black fill shown in representation 302).
- the transformation 326 to the title box further comprises the addition of a data object 328 that enables users to add visual content to that portion of the slide-based template (e.g., data object for icon and/or image insertion).
- the transformed template representation 302 displays embedded content portions for providing slide content in the slide-based template.
- object transformation and style transformation has been further applied to the content portions (originally shown as the first content portion 310 and the second content portion 312 in FIG. 3 A).
- a style transformation has been further applied to the first object portion 330.
- processing device view 320 shows transformations of a second object portion 332 is shown as changing the shape and positioning of that content portion as well as changing a representation of list items (bulleted list) within that content portion. As further illustrated, a style transformation has been further applied to the second object portion 332.
- Figure 3C presents processing device view 340, illustrating a continued example of the representation 302 that is shown in processing device view 300 (FIG. 3A).
- the example shown in processing device view 340 illustrates a non-limiting example of a transformed template from the representation shown in 302 (with the actual content previously added by a user).
- one or more transformations of the representation 302 may be provided through a GUI as a recommendation for transforming a current version of a slide.
- a transformed template as shown in processing device view 340, comprises object transformations of objects of the slide-based template including transformation of the objects themselves.
- the first line object 304 and a second line object 306 were represented as vertical lines that frame other object portions of the slide-based template.
- a first line object 346 and a second line object 348 are transformed into horizontal lines, where the layout thereof is automatically modified as compared with representation 302 (FIG. 3 A).
- the representation shown in processing device view 340 further comprises transformation 342 of the title box 308 (of FIG. 3A) where the title box comprises a positional object transformation as well as a style transformation (e.g., color scheme change (e.g., white fill as compared to a black fill shown in representation 302).
- style transformation e.g., color scheme change (e.g., white fill as compared to a black fill shown in representation 302).
- the representation 302 displays embedded content portions for providing slide content in the slide-based template.
- object transformation and style transformation has been further applied to the content portions (originally shown as the first content portion 310 and the second content portion 312 in FIG. 3 A).
- transformations of a first object portion 350 are shown as changing the shape and positioning of that content portion as well as effecting a style transformation (e.g., color scheme modification).
- processing device view 340 provides transformations of a second object portion 352 are shown as changing the shape and positioning of that content portion as well as effecting a style transformation (e.g., color scheme modification).
- FIG. 4 illustrates a computing system 401 suitable for implementing processing operations described herein related to automatic generation of transformations of formatted templates, with which aspects of the present disclosure may be practiced.
- computing system 401 may be configured to implement processing operations of any component described herein including exemplary formatted template transformation component(s) previously described (e.g., formatted template transformation component(s) 106 of FIG. 1A).
- computing system 401 may be configured as a specific purpose computing device that execute specific processing operations to solve the technical problems described herein including those pertaining to automatic generations of transformations of formatted templates such as slide-based formatted templates.
- Computing system 401 may be implemented as a single apparatus, system, or device or may be implemented in a distributed manner as multiple apparatuses, systems, or devices.
- computing system 401 may comprise one or more computing devices that execute processing for applications and/or services over a distributed network to enable execution of processing operations described herein over one or more applications or services.
- Computing system 401 may comprise a collection of devices executing processing for front-end applications/services, back-end applications/service or a combination thereof.
- Computing system 401 comprises, but is not limited to, a processing system 402, a storage system 403, software 405, communication interface system 407, and user interface system 409. Processing system
- Non-limiting examples of computer system 401 comprise but are not limited to: smart phones, laptops, tablets, PDAs, desktop computers, servers, smart computing devices including television devices and wearable computing devices including VR devices and AR devices, e-reader devices, gaming consoles and conferencing systems, among other non-limiting examples.
- Processing system 402 loads and executes software 405 from storage system 403.
- Software 405 includes one or more software components (e.g., 406a and 406b) that are configured to enable functionality described herein.
- computing system 401 may be connected to other computing devices (e.g., display device, audio devices, servers, mobile/remote devices, VR devices, AR devices, etc.) to further enable processing operations to be executed.
- software 405 directs processing system 402 to operate as described herein for at least the various processes, operational scenarios, and sequences discussed in the foregoing implementations.
- Computing system 401 may optionally include additional devices, features, or functionality not discussed for purposes of brevity.
- Computing system 401 may further be utilized to execute system diagram 100 (FIG. 1 A), flow diagram 120 (FIG. IB), flow diagram 160 (FIG. 1C) and method 200 (FIG. 2) and/or the accompanying description of FIGS. 3A-3C.
- processing system 402 may comprise processor, a micro-processor and other circuitry that retrieves and executes software 405 from storage system 403.
- Processing system 402 may be implemented within a single processing device but may also be distributed across multiple processing devices or sub-systems that cooperate in executing program instructions. Examples of processing system 402 include general purpose central processing units, microprocessors, graphical processing units, application specific processors, sound cards, speakers and logic devices, gaming devices, VR devices, AR devices as well as any other type of processing devices, combinations, or variations thereof.
- Storage system 403 may comprise any computer readable storage media readable by processing system 402 and capable of storing software 405. Storage system
- 403 may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, cache memory or other data.
- storage media include random access memory, read only memory, magnetic disks, optical disks, flash memory, virtual memory and non-virtual memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other suitable storage media, except for propagated signals. In no case is the computer readable storage media a propagated signal.
- storage system 403 may also include computer readable communication media over which at least some of software 405 may be communicated internally or externally.
- Storage system 403 may be implemented as a single storage device but may also be implemented across multiple storage devices or sub-systems co-located or distributed relative to each other.
- Storage system 403 may comprise additional elements, such as a controller, capable of communicating with processing system 402 or possibly other systems.
- Software 405 may be implemented in program instructions and among other functions may, when executed by processing system 402, direct processing system 402 to operate as described with respect to the various operational scenarios, sequences, and processes illustrated herein.
- software 405 may include program instructions for executing one or more formatted template transformation component(s) 406a as described herein.
- Software 405 may further comprise application/service component(s) 406b that provide applications/services as described in the foregoing description such as applications/ services that enable access to representations of formatted templates including slide-based presentation applications/services, among other examples.
- the program instructions may include various components or modules that cooperate or otherwise interact to carry out the various processes and operational scenarios described herein.
- the various components or modules may be embodied in compiled or interpreted instructions, or in some other variation or combination of instructions.
- the various components or modules may be executed in a synchronous or asynchronous manner, serially or in parallel, in a single threaded environment or multi -threaded, or in accordance with any other suitable execution paradigm, variation, or combination thereof.
- Software 405 may include additional processes, programs, or components, such as operating system software, virtual machine software, or other application software.
- Software 405 may also comprise firmware or some other form of machine-readable processing instructions executable by processing system 402.
- software 405 may, when loaded into processing system 402 and executed, transform a suitable apparatus, system, or device (of which computing system 401 is representative) overall from a general-purpose computing system into a specialpurpose computing system customized to execute specific processing components described herein as well as process data and respond to queries.
- encoding software 405 on storage system 403 may transform the physical structure of storage system 403. The specific transformation of the physical structure may depend on various factors in different implementations of this description. Examples of such factors may include, but are not limited to, the technology used to implement the storage media of storage system 403 and whether the computer- storage media are characterized as primary or secondary storage, as well as other factors.
- software 405 may transform the physical state of the semiconductor memory when the program instructions are encoded therein, such as by transforming the state of transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory.
- a similar transformation may occur with respect to magnetic or optical media.
- Other transformations of physical media are possible without departing from the scope of the present description, with the foregoing examples provided only to facilitate the present discussion.
- Communication interface system 407 may include communication connections and devices that allow for communication with other computing systems (not shown) over communication networks (not shown). Communication interface system 407 may also be utilized to cover interfacing between processing components described herein. Examples of connections and devices that together allow for inter-system communication may include network interface cards or devices, antennas, satellites, power amplifiers, RF circuitry, transceivers, and other communication circuitry. The connections and devices may communicate over communication media to exchange communications with other computing systems or networks of systems, such as metal, glass, air, or any other suitable communication media. The aforementioned media, connections, and devices are well known and need not be discussed at length here.
- User interface system 409 is optional and may include a keyboard, a mouse, a voice input device, a touch input device for receiving a touch gesture from a user, a motion input device for detecting non-touch gestures and other motions by a user, gaming accessories (e.g., controllers and/or headsets) and other comparable input devices and associated processing elements capable of receiving user input from a user.
- Output devices such as a display, speakers, haptic devices, and other types of output devices may also be included in user interface system 409.
- the input and output devices may be combined in a single device, such as a display capable of displaying images and receiving touch gestures.
- the aforementioned user input and output devices are well known in the art and need not be discussed at length here.
- User interface system 409 may also include associated user interface software executable by processing system 402 in support of the various user input and output devices discussed above.
- the user interface software and user interface devices may support a graphical user interface, a natural user interface, or any other type of user interface, for example, that enables front-end processing of exemplary applications/services described herein including rendering of: formatted templates including a set of formatted templates (e.g., having a specific presentation theme; representations of GUI elements presenting formatted templates including listings/menus for user selection of formatted templates; and notifications of automatic generation of transformed templates (e.g., transformations of formatted templates), among other examples.
- formatted templates including a set of formatted templates (e.g., having a specific presentation theme; representations of GUI elements presenting formatted templates including listings/menus for user selection of formatted templates; and notifications of automatic generation of transformed templates (e.g., transformations of formatted templates), among other examples.
- User interface system 409 comprises a graphical user interface that presents graphical user interface elements representative of any point in the processing described in the foregoing description including processing operations described in system diagram 100 (FIG. 1A), flow diagram 120 (FIG. IB), flow diagram 160 (FIG. 1 C), method 200 (FIG. 2) and front-end representations related to the description of FIGS. 3 A-3C.
- a graphical user interface of user interface system 409 may further be configured to display graphical user interface elements (e.g., data fields, menus, links, graphs, charts, data correlation representations and identifiers, etc.) that are representations generated from processing described in the foregoing description.
- Exemplary applications/services may further be configured to interface with processing components of computing device 401 that enable output of other types of signals (e.g., audio output, handwritten input) in conjunction with operation of exemplary applications/services (e.g., slide-based presentation application or service) described herein.
- processing components of computing device 401 that enable output of other types of signals (e.g., audio output, handwritten input) in conjunction with operation of exemplary applications/services (e.g., slide-based presentation application or service) described herein.
- Communication between computing system 401 and other computing systems may occur over a communication network or networks and in accordance with various communication protocols, combinations of protocols, or variations thereof. Examples include intranets, internets, the Internet, local area networks, wide area networks, wireless networks, wired networks, virtual networks, software defined networks, data center buses, computing backplanes, or any other type of network, combination of network, or variation thereof.
- the aforementioned communication networks and protocols are well known and need not be discussed at length here. However, some communication protocols that may be used include, but are not limited to, the Internet protocol (IP, IPv4, IPv6, etc.), the transfer control protocol (TCP), and the user datagram protocol (UDP), as well as any other suitable communication protocol, variation, or combination thereof.
- the exchange of information may occur in accordance with any of a variety of protocols, including FTP (file transfer protocol), HTTP (hypertext transfer protocol), REST (representational state transfer), Web Socket, DOM (Document Object Model), HTML (hypertext markup language), CSS (cascading style sheets), HTML5, XML (extensible markup language), JavaScript, JSON (JavaScript Object Notation), and AJAX (Asynchronous JavaScript and XML), Bluetooth, infrared, RF, cellular networks, satellite networks, global positioning systems, as well as any other suitable communication protocol, variation, or combination thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/095,603 US11900052B2 (en) | 2020-11-11 | 2020-11-11 | Automatic generation of transformations of formatted templates using deep learning modeling |
| PCT/US2021/053446 WO2022103518A1 (en) | 2020-11-11 | 2021-10-05 | Automatic generation of transformations of formatted templates using deep learning modeling |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4244736A1 true EP4244736A1 (en) | 2023-09-20 |
Family
ID=78483509
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP21801724.2A Withdrawn EP4244736A1 (en) | 2020-11-11 | 2021-10-05 | Automatic generation of transformations of formatted templates using deep learning modeling |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11900052B2 (en) |
| EP (1) | EP4244736A1 (en) |
| WO (1) | WO2022103518A1 (en) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12563071B1 (en) * | 2017-11-27 | 2026-02-24 | Fortinet, Inc. | Using generative artificial intelligence to interface with a knowledge graph |
| US11604929B2 (en) * | 2020-08-31 | 2023-03-14 | Google Llc | Guided text generation for task-oriented dialogue |
| US11694018B2 (en) * | 2021-01-29 | 2023-07-04 | Salesforce, Inc. | Machine-learning based generation of text style variations for digital content items |
| US11960864B2 (en) * | 2021-09-27 | 2024-04-16 | Microsoft Technology Licensing, Llc. | Creating applications and templates based on different types of input content |
| JP2025503806A (en) * | 2021-11-14 | 2025-02-05 | ブリア アーティフィシャル インテリジェンス リミテッド | Method for promoting the creation and use of visual content |
| US12450420B2 (en) * | 2022-03-24 | 2025-10-21 | Accenture Global Solutions Limited | Generation and optimization of output representation |
| CN115146601A (en) * | 2022-06-30 | 2022-10-04 | 北京三快在线科技有限公司 | Method and device for executing language processing task, readable storage medium and equipment |
| US20240046012A1 (en) * | 2022-08-05 | 2024-02-08 | Matercard Asia/Pacific Pte. Ltd. | Systems and methods for advanced synthetic data training and generation |
| WO2024145301A1 (en) * | 2022-12-27 | 2024-07-04 | Liveperson, Inc. | Methods and systems for implementing a unified data format for artificial intelligence systems |
| JP2026505418A (en) | 2023-02-10 | 2026-02-13 | ブリア アーティフィシャル インテリジェンス リミテッド | Content Generation, Use, and Attribution |
| US12549593B2 (en) | 2023-02-23 | 2026-02-10 | Reliaquest Holdings, Llc | Threat mitigation system and method |
| US20240289360A1 (en) * | 2023-02-27 | 2024-08-29 | Microsoft Technology Licensing, Llc | Generating new content from existing productivity application content using a large language model |
| US12135730B2 (en) * | 2023-03-01 | 2024-11-05 | Honeywell International Inc. | Apparatuses, computer program products, and computer-implemented methods for integrating third-party devices |
| AU2023210538A1 (en) | 2023-07-31 | 2025-02-20 | Canva Pty Ltd | Systems and methods for processing designs |
| AU2023210529A1 (en) * | 2023-07-31 | 2025-02-20 | Canva Pty Ltd | Systems and methods for processing designs |
| WO2025075720A1 (en) * | 2023-10-03 | 2025-04-10 | Integreon, Inc. | Dynamic presentation slide generation and formatting system and method using machine learning |
| WO2025116904A1 (en) * | 2023-11-30 | 2025-06-05 | Stem Ai, Inc. | Supervisor machine learning models for transforming states |
| WO2025116905A1 (en) * | 2023-11-30 | 2025-06-05 | Stem Ai, Inc. | Machine learning model multi-dimensional behavior identification |
| WO2025116908A1 (en) * | 2023-11-30 | 2025-06-05 | Stem Ai, Inc. | Agent-based modeling of machine-learning tasks |
| WO2025116907A1 (en) * | 2023-11-30 | 2025-06-05 | Stem Ai, Inc. | Machine learning model arrangement identification |
| US20260030443A1 (en) * | 2024-07-27 | 2026-01-29 | Elixir Technologies Corporation | System and method for pixel perfect conversion, retrospective synthesis and migration of portable document format (pdf) file into editable design templates |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7363581B2 (en) * | 2003-08-12 | 2008-04-22 | Accenture Global Services Gmbh | Presentation generator |
| US8510657B2 (en) * | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
| US20070079236A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Multi-form design with harmonic composition for dynamically aggregated documents |
| US9922096B2 (en) * | 2011-07-08 | 2018-03-20 | Yahoo Holdings, Inc. | Automated presentation of information using infographics |
| US8621341B2 (en) * | 2011-10-28 | 2013-12-31 | Microsoft Corporation | Theming engine |
| US8930810B2 (en) * | 2012-02-13 | 2015-01-06 | International Business Machines Corporation | User interface (UI) color scheme generation and management according to visual consistency of visual attributes in the color scheme |
| US10558886B2 (en) * | 2017-11-15 | 2020-02-11 | International Business Machines Corporation | Template fusion system and method |
| US10832219B2 (en) * | 2017-12-22 | 2020-11-10 | Microsoft Technology Licensing, Llc | Using feedback to create and modify candidate streams |
| US10657676B1 (en) * | 2018-06-28 | 2020-05-19 | Snap Inc. | Encoding and decoding a stylized custom graphic |
| US20200134090A1 (en) * | 2018-10-26 | 2020-04-30 | Ca, Inc. | Content exposure and styling control for visualization rendering and narration using data domain rules |
| WO2020210867A1 (en) * | 2019-04-15 | 2020-10-22 | Canva Pty Ltd | Systems and methods of generating a design based on a design template and another design |
| US11030257B2 (en) * | 2019-05-20 | 2021-06-08 | Adobe Inc. | Automatically generating theme-based folders by clustering media items in a semantic space |
| US11238650B2 (en) * | 2020-03-13 | 2022-02-01 | Nvidia Corporation | Self-supervised single-view 3D reconstruction via semantic consistency |
| US11989488B2 (en) * | 2020-04-15 | 2024-05-21 | Google Llc | Automatically and intelligently exploring design spaces |
| US10997369B1 (en) * | 2020-09-15 | 2021-05-04 | Cognism Limited | Systems and methods to generate sequential communication action templates by modelling communication chains and optimizing for a quantified objective |
| US12205037B2 (en) * | 2020-10-27 | 2025-01-21 | Raytheon Company | Clustering autoencoder |
-
2020
- 2020-11-11 US US17/095,603 patent/US11900052B2/en active Active
-
2021
- 2021-10-05 EP EP21801724.2A patent/EP4244736A1/en not_active Withdrawn
- 2021-10-05 WO PCT/US2021/053446 patent/WO2022103518A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022103518A1 (en) | 2022-05-19 |
| US11900052B2 (en) | 2024-02-13 |
| US20220147702A1 (en) | 2022-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11900052B2 (en) | Automatic generation of transformations of formatted templates using deep learning modeling | |
| US11748557B2 (en) | Personalization of content suggestions for document creation | |
| US12591415B2 (en) | Intelligent and predictive modules for software development and coding using artificial intelligence and machine learning | |
| US11847409B2 (en) | Management of presentation content including interjecting live feeds into presentation content | |
| US11733823B2 (en) | Synthetic media detection and management of trust notifications thereof | |
| US11909922B2 (en) | Automatic reaction-triggering for live presentations | |
| US20190250891A1 (en) | Automated code generation | |
| US11507677B2 (en) | Image classification modeling while maintaining data privacy compliance | |
| WO2020236345A1 (en) | Systems and methods for semi-automated data transformation and presentation of content through adapted user interface | |
| US12047704B2 (en) | Automated adaptation of video feed relative to presentation content | |
| US11829712B2 (en) | Management of presentation content including generation and rendering of a transparent glassboard representation | |
| CN118535137A (en) | Code automatic generation method and device, electronic device and storage medium | |
| Yao et al. | A survey on agentic multimodal large language models | |
| CN118863024A (en) | Artificial intelligence visualization modeling platform, method and electronic equipment | |
| Körner et al. | Mastering Azure Machine Learning: Perform large-scale end-to-end advanced machine learning in the cloud with Microsoft Azure Machine Learning | |
| NL2036579B1 (en) | A computer implemented method and use of an AI-aided automated assistant with improved security | |
| US20260064640A1 (en) | Automatic report population with machine learning models | |
| CN119377363A (en) | Dialogue data processing method, system and computer device | |
| KR20260022258A (en) | Method and apparatus for profiling webtoon artisit | |
| CN120669881A (en) | Method, apparatus, device, medium and program product for generating objects | |
| CN121235785A (en) | User profile updating methods, devices, computer equipment, and storage media |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20230510 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20250226 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
| 18W | Application withdrawn |
Effective date: 20250619 |