System and method for generating living documents and interactive editing
The system addresses the challenge of creating effective website content by integrating interactive text generation and structured editing within website construction systems, using hierarchical data structures and machine learning to guide users in content creation and adapt to legal and regulatory changes.
Patent Information
- Application Number
- JP2023132303
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-05-30
- Filing Date
- 2023-08-15
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2040-05-27
AI Technical Summary
Existing website construction systems lack the ability to support users in creating the actual content of each text component and do not provide sufficient guidance or recommendations for creating website content for specific purposes, often resulting in users starting with blank screens or meaningless placeholder text, and there is a lack of interactive and suitable natural language generation systems for website content creation.
A system that integrates interactive generation and structured editing of text with the internal data structure of a website building system, utilizing a hierarchical data structure, information collection, and analysis engines to provide guided text content creation, including data collection, rule repositories, and machine learning for text handling, allowing users to select from recommended text options and edit text components interactively.
Enables users to create high-quality website content efficiently by combining predefined content, user inputs, and machine-generated suggestions, ensuring consistency and relevance, while supporting SEO optimization and adapting to legal and regulatory changes through a living document generator.
Smart Images

Figure 0007702992000005 
Figure 0007702992000006 
Figure 0007702992000007
Abstract
Description
Technical Field
[0001] This application claims priority from U.S. Provisional Patent Application Nos. 62 / 854,324 and 62 / 854,329, filed May 30, 2019, both of which are incorporated herein by reference.
[0002] The present invention generally relates to website construction systems, and more particularly to text content generation.
Background Art
[0003] Website construction systems are used by both beginners and experts to create interactive websites. Existing website construction systems are based on a visual editing model, and most website construction systems typically provide a plurality of templates with templates including complete sample websites, website sections, single pages, or sections of pages.
[0004] Website construction system users (also called designers, subscribers, subscribing users, or site editors) may design websites, and end users of the websites (the "users' users") may access the websites created by the users. End users typically access the system in read-only mode, but the website construction system (and the website) can allow end users to make changes to the website, such as adding or editing data records, adding comments to news articles, adding blog entries to blogs, etc. The website construction system can actually permit multiple levels of users (i.e., two or more levels) and assign different permissions and capabilities to each level. Users of the website construction system (especially in the full or partial online configurations described below) can register with the website construction system server that manages access by the user, their website, and end users.
[0005] The website construction system may be a stand-alone system or may be incorporated within a larger editing system. It may also be online (i.e., the application is edited and stored on a server), offline, or partially online (the website is edited locally but uploaded to a central server for publication). The website construction system can use an internal data architecture to store website construction system-based sites, and this architecture can organize the internal data of the sites being handled and the elements within the system. This architecture may be different from the external view of the site (as seen by an end user, etc.). Also, usually, it is different from the way HTML pages sent to a browser are organized.
[0006] For example, the internal data architecture can include additional properties for each element within a page (creator, creation time, access permission, link to a template, SEO (search engine optimization) related information, etc.) that are related to the editing and maintenance of the site in the website construction system but are not even visible externally to an end user (or some editing users). The website construction system can implement some of its functions (including both editing and runtime functions) on a server or a set of servers and some of its functions on client elements. The website construction system can also dynamically determine whether to execute some functions on the server or on the client platform.
[0007] The website construction system typically processes the creation and editing of visually designed applications (such as websites) consisting of pages, containers, and components. Pages are displayed separately and may contain components. Components can include not only atomic components but also containers.
[0008] The website construction system can support a hierarchical arrangement of components that uses atomic components (such as text, images, shapes, videos, etc.) and various types of container components (such as normal containers, single-page containers, multi-page containers, gallery containers, etc.). Sub-pages contained within a container component are called mini-pages, and each of them can contain multiple components. Depending on the container component, some display only one mini-page at a time, while others display multiple mini-pages simultaneously.
[0009] A component may have little content or may have internal content. An example of the first category is a star-shaped component that has no internal content (although it has color, size, position, and several other parameters). An example of the second category is a text paragraph component. Its internal content includes not only font, formatting, and layout information but also internal text. Of course, this content can vary from one instance of the text paragraph component to another. Components with content are often called fields (such as "text fields").
[0010] On a page, a template, a general page template, or a component template can be used. Specific cases of templates include the use of an application master page that contains components replicated on all other normal pages, the use of an application header or footer (repeated on all pages), etc. Templates can be used for the entire page or a page section. The website construction system can provide inheritance between templates, pages, or components, and may include multiple-level inheritance, multiple inheritance, and diamond inheritance (i.e., A inherits from B and C, and both B and C inherit from D).
[0011] The visual arrangement of components within a page is referred to as layout. A website building system can also support dynamic layout processing, i.e., a process in which the editing of a given component (or other changes that affect it, such as externally driven content changes) can affect other components, as further described in U.S. Patent Application Publication No. 2013 / 0219263, titled "Website Design System Integrating Dynamic Layout and Dynamic Content," which was published on August 22, 2013, assigned to the common assignee of the present invention, and incorporated herein by reference.
[0012] A website building system can be extended using third - party applications and their components, as well as list applications (such as those described in U.S. Patent Application Publication No. 2014 / 0282218, titled "Website Building System Integrating Data Lists with Dynamic Customization and Adaptation," which was published on September 18, 2014, assigned to the common assignee of the present invention, and incorporated herein by reference). These third - party applications and list applications can be added to and integrated into a designed website.
[0013] Such third - party applications and list applications can be pre - included in the design environment of the website building system, purchased (or acquired) through several distribution mechanisms, such as from an application store (integrated with or external to the website building system), or directly from the vendor of the third - party application.
[0014] Third-party applications may be hosted on the web site building system vendor's own server, the third-party application vendor's server, or a third-party's server infrastructure.
[0015] The web site building system may also allow adding procedural code to some or all of the system's entities. Such code can be written in a standard language (such as JavaScript), an extended version of a standard language, or a language specific to a particular web site building system. The executed code may refer to the web site building system itself or APIs provided by external providers. The code can also refer to the internal structure and objects of the web site building system, such as pages, components, and their attributes.
[0016] Procedural code elements can be activated via event triggers that can be associated with user activities (such as mouse movement and clicks, page transitions, etc.), activities related to other users (such as the underlying database or specific database records updated by other users), system events, or other types of conditions.
[0017] The activated code can be executed within the client elements of the web site building system, on the server platform, or using a combination of two or dynamically determined execution platforms. Such a system is described in U.S. Patent Application Publication No. 2018 / 0293323, entitled "System and Method for Smart Interaction Between Website Components" (published on October 11, 2018), assigned to the common assignee of the present invention, and incorporated herein by reference.
[0018] Typical site creation can be based on several models, including a visual editing model (where the user edits a previously created site) and an automatic site generation model or a combination thereof, as shown in FIG. 1, and is described in U.S. Patent No. 10,073,923, entitled "System and Method for the Creation and Update of Hierarchical Websites Based on Collected Business Knowledge," granted on September 11, 2018, assigned to the common assignee of the present invention, and incorporated herein by reference.
[0019] FIG. 1 shows a system 100 comprising a typical web site construction system 5 that communicates with a client system operated by a WBS vendor staff 61, a site designer 62 (i.e., the user), a site user 63 (i.e., the user's user), and an external system 70. The web site construction system 5 can further comprise a WBS (website building system) site manager 10, an object marketplace 15, a WBS RT (Runtime) server 20, a WBS (web site construction system) editor 30, a site generation system 40, and a WBS content management system (CMS: content management system) 50. It can be understood that the elements of FIG. 1 can function as described in U.S. Patent No. 10,073,923.
[0020] In the visual editing model, the user (designer) edits the site based on one or more website templates. The provider of the website building system can provide multiple site (or other) templates, and each template can include a complete sample website, website section, single page, or page section. The user can have the option to start from an empty site (basically a "blank page" template), but usually starts from an actual site template.
[0021] The provider of the website building system can provide site templates ranging from very general ones (such as mobile sites, e-stores) to more specific ones (such as law firms, restaurants, flower shops) to very specific ones (such as commercial real estate law firms or Spanish tapas restaurants). Such templates are typically stored in a repository accessible to the users of the website building system and are typically classified according to business type, subtype, or industry. Templates can also be created (and classified) according to not only business type but also style, color range, or other parameters. Site templates can be extended with additional (typically backend) functionality, services, and code to become full-fledged vertical solutions integrated with the website building system.
[0022] Therefore, the user's initial experience when creating a site using the visual editor of the website building system typically involves the user selecting a template (e.g., according to style or industry type / subtype), and in some cases a blank template, and then editing the template in the visual editor including editing content, logic, layout, and attributes. Such editing can include (in particular) adapting the template and its elements to the details of the user's business. The user can then publish the modified site.
[0023] Under the site generation model, the website construction system generates an initial site for the user based on a selected template, which may be modified by filling in common elements of information in some cases, and in some cases enables follow-up editing of the generated site. This filling is necessary because various information (such as business names and descriptions of management teams) is included in multiple locations within the pages of the template. Therefore, the user may sometimes have to change the business name (for example) in multiple locations throughout the template.
[0024] Furthermore, some template elements (for example, common product pages) may appear multiple times, and each instance displays details of different instances of the underlying entity (for example, different products offered on the site). Such multiple instances may be specified manually (for example, details of different people in the company's management team), or may be derived dynamically from an external database (for example, product details from a "products for sale" database). Such a configuration is often known as a "repeater".
[0025] Fields can also be included in the template. For example, the website construction system may allow the template designer to specify fields (also called "placeholders") for inserting values within the template, such as {CompanyName}, {ProductName}, {ProductPrice}, etc. The user can also specify the values of the fields defined in the template selected for the website.
[0026] The website construction system can enable the user to input not only simple or complex values (such as text and images), but also additional (non-field) information such as the selection of included pages or website areas, colors, style information, links, formatting options, website display options, decorative elements (such as borders and backgrounds), etc.
[0027] Before selecting a template, the website building system can also allow the user to enter some of this additional information and use this information to assist in the selection of the template (e.g., by narrowing down the set of proposed templates). For example, the user can select a certain general color scheme (e.g., pastel colors) or style (e.g., business / formal), and then the system can use this selection to narrow down the set of proposed templates.
[0028] The system may also display a series of views or questionnaires to allow the user to enter values or make selections (for both the defined fields and the above additional information). The system can further create a connection (or binding) between the multiple instance elements of the template (described earlier in this specification) and an internal or external database that provides the data instances used to generate the displayed instances.
[0029] Once a template is selected and its fields and additional information are specified (e.g., through a questionnaire or through binding to a data source), the website building system can generate a website that includes the combined information. The user can then publish the site (either through the website building system or by other means).
[0030] As described in U.S. Patent No. 10,073,923, a website building system can perform semi - automatic site creation using different models. Under this model, the system can collect information about the user and the user's website requirements from a plurality of sources, including, for example, internal system repositories that provide information specific to certain industries (such as differentiating between real estate lawyers and personal injury lawyers), such as user - filled questionnaires, existing user presence (such as existing websites or social media presences), industry sources (such as general trading websites), offline information, and basic template information for certain industries.
[0031] The system may also collect external information from other sites, both inside and outside the system. Such information can affect, for example, the selection of provided questionnaires and layout elements, proposed defaults, etc. Such information is also typically collected statistically or generally to protect the privacy, anonymity, and legal rights (such as copyright) of users without disclosing information belonging to any single user. Such information can be found based on information provided by the user, which can be direct (such as an existing website address) or indirect (business names and geographical addresses that can be used to find business - related information).
[0032] The information collected is analyzed, placed in a repository of content elements, mapped to layout elements that present content from the content elements, and the layout elements are combined to form a site. The layout element mapping, selection, and combination process can be fully automatic or semi - automatic (i.e., including user interaction).
[0033] To support the above functions, a website construction system typically maintains a series of repositories stored on one or more servers or server farms. Such repositories can typically include a user information / profile repository, a WBS (Website Construction System) component repository, a WBS site repository, a business intelligence (BI) repository, an edit history repository, a third-party application store repository, and so on. The system can also include site / content creation-related repositories such as a questionnaire type repository, a content element type repository, a layout element type repository, a design kit repository, a filled questionnaire repository, a content element repository, a layout element repository, a rule repository, a family / industry repository, and so on.
Summary of the Invention
[0034] Accordingly, according to a preferred embodiment of the present invention, a website construction system (WBS) includes at least one processor and a text content generator and a living document generator implemented on the at least one processor. The text content generator generates a living document from a plurality of document sections stored in a storage device. The text content generator selects document sections as a function of the attributes of the website designer or end user. The living document generator updates the living document when at least one of the legal environment, business environment, and website environment related to the living document changes.
[0035] Furthermore, according to a preferred embodiment of the present invention, the living document generator includes a monitoring engine, a policy knowledge engine (PKE), and a notification engine. The monitoring engine monitors internal and external data sources for changes that affect the living document. The PKE recommends changes to the content of the section text of the living document after analyzing the impact of external legal and / or regulatory source data on the living document, and the notification engine notifies at least one of the designer and the WBS vendor staff of the changes recommended by the PKE.
[0036] Furthermore, according to a preferred embodiment of the present invention, the text content generator has an HDS editor. The HDS editor enables the designer to select one of the recommended section text options in one section text and enables pre-publication editing and post-publication editing of the section text and the section text options.
[0037] Furthermore, according to a preferred embodiment of the present invention, the living document generator has an analysis engine that analyzes at least one of an internal data source of the WBS and an external online data source and an external offline data source to determine WBS information and business operational information related to the living document.
[0038] Furthermore, according to a preferred embodiment of the present invention, the business environment can be the designer's business operations and activities and the business operations of other designers in similar businesses and product portfolios. The legal environment can be applicable laws, regulations, rules, directives, guidelines, standards, industry standards, and considerations for the external environment. The website environment can be the designer's website, the WBS information about the designer's website, and the websites of designers in similar or equivalent businesses.
[0039] Furthermore, according to a preferred embodiment of the present invention, PKE detects changes to the content of the section text and correlates the changes in the section text with changes to the associated website.
[0040] Furthermore, according to a preferred embodiment of the present invention, the analysis engine detects changes to the designer's website in a business similar to the current website.
[0041] Furthermore, according to a preferred embodiment of the present invention, the living document generator includes a tagging device that associates tags with the section text content. The tags list the type of section, the geography it relates to, the type of law, the type of document, the legal code it relates to, and / or its legal source.
[0042] Furthermore, according to a preferred embodiment of the present invention, PKE updates the tags when updating the section text content.
[0043] Furthermore, according to a preferred embodiment of the present invention, the living document generator includes an association table, a linked entity graph, and / or a machine learning engine to associate attributes with the section text content.
[0044] Furthermore, according to a preferred embodiment of the present invention, the internal data source of the WBS includes the WBS elements used in the website belonging to the designer, the codes related to the WBS elements, the information collected from the designer, the business information related to the website, the operational information of the website, the cookies of the website, and the site commercial database information.
[0045] Furthermore, according to a preferred embodiment of the present invention, the external online data source and the external offline data source have legal and regulatory online and offline repositories.
[0046] Furthermore, according to a preferred embodiment of the present invention, the analysis engine has a machine learning engine that generates the content of the section text based on the website.
[0047] According to a preferred embodiment of the present invention, a method for WBS is also provided. The method includes the step of generating a living document from a plurality of document sections, and this step includes the step of selecting document sections as a function of the attributes of the website designer or end user. The method also includes the step of updating the living document when at least one of the legal environment, business environment, and website environment related to the living document changes.
[0048] Furthermore, according to a preferred embodiment of the present invention, the generating step includes the step of monitoring internal and external data sources for changes that affect the living document, the step of recommending changes to the content of the section text of the living document after analyzing the impact of external legal and / or regulatory source data on the living document, and the step of notifying at least one of the designer and WBS vendor staff of the changes.
[0049] Furthermore, according to a preferred embodiment of the present invention, the generating step includes the step of enabling the designer to select one of the recommended options for the section text in one section text, and the step of enabling pre-publication editing and post-publication editing of the section text and the options for the section text.
[0050] Furthermore, according to a preferred embodiment of the present invention, the updating step includes the step of analyzing at least one of the internal data source of the WBS and external online and offline data sources to determine the WBS information and business operational information related to the living document.
[0051] Furthermore, according to a preferred embodiment of the present invention, the recommending step includes detecting a change to the content of the section text and correlating the change in the section text with a change to a related website.
[0052] Furthermore, according to a preferred embodiment of the present invention, the analyzing step includes detecting changes to a designer's website in a business similar to the current website.
[0053] Furthermore, according to a preferred embodiment of the present invention, the updating step includes associating tags with the section text content. The tags list the type of section, the geography it relates to, the type of law, the type of document, the legal code it relates to, and / or its legal source.
[0054] Furthermore, according to a preferred embodiment of the present invention, the recommending step includes updating the tags when updating the section text content.
[0055] Furthermore, according to a preferred embodiment of the present invention, the recommending step includes using an association table, a linked entity graph, and / or a machine learning engine to associate attributes with the section text content.
[0056] Furthermore, according to a preferred embodiment of the present invention, the analyzing step includes generating the content of the section text using machine learning based on the website. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The subject matter regarded as the invention is particularly pointed out and distinctly claimed at the end of the specification. However, the invention, together with its objects, features, and advantages, may be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings, regarding both its construction and method of operation.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12A
Figure 12B
Figure 12C
Figure 13A
Figure 13B
Figure 13C
Figure 13D
Figure 14
Figure 15A
Figure 15B
Figure 16
Figure 17
Figure 18
[0058] To simplify and clarify the description, it can be understood that the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, if considered appropriate, reference numerals may be repeated between the drawings to indicate corresponding or similar elements.
Best Mode for Carrying Out the Invention
[0059] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
[0060] The applicant has noticed that existing website construction systems do not support users in creating the actual content of each text component and do not provide sufficient guidance and recommendations on what the best practices are for creating website content for specific purposes. Usually, only empty components are provided without text, or only placeholder text is provided. In the case of non-text content (such as images and videos), there are often many available repositories (which the user can select) or easy ways to generate such content (such as using a camera).
[0061] In the case of text content, it can be understood that simple pre-written text is often insufficient (and very common). Also, there is no easy way to quickly view and select from a large amount of standard text, and starting with a "blank screen" is extremely difficult for most users (a phenomenon known as "writer's block"). Therefore, most website building systems can simply fill in meaningless sample text (such as the well-known "Lorem Ipsum") in the text component. Also, the applicant has noticed that users often do not publish the site at all because they cannot enter the text elements they need or are not satisfied with the text they have written.
[0062] Solutions for natural language generation (NLG) (such as those using templates, rule engines, or machine learning) exist in the art. Existing NLG systems typically aim to provide the automatic generation of stand-alone text content such as form letters, news articles, weather forecasts, or chatbot responses. Such solutions are typically non-interactive and not very suitable for use in website creation.
[0063] The applicant has also found that the inadequacies described above can be overcome by a system that integrates the interactive generation and structured editing of text with the internal data structure of a website building system and incorporates it into the information collected as part of the automated site generation process described above (including the user's own data and that of other websites). The process of text generation is integrated with an interactive alternative text selection process that includes data collection, an analysis engine, a rule repository, and follow-up text component editing, as will be described in detail below. Such a process can be particularly useful within the site creation and editing processes of a website building system.
[0064] This system includes a text content generator based on a website construction system, and this text content generator based on the website construction system includes a hierarchical data structure (HDS) that describes a hierarchy of text element substitutes (for a given field role, as described in more detail below), an information collection element, information collection that supports the collection of information including both information related to the current user and cloud source information related to other users, and perhaps a rule set and analysis engine for text handling rules based on an AI / ML engine and natural language processing, filtering, ranking, diversifying, ordering, and adapting of text options, and a dialog hierarchical data structure editor that can support dialog text selection and ordering based on this hierarchical data structure, an analysis engine, and integrates a combination of the collected information for creating text content for the website construction system site. It should be understood that the hierarchical data structure can also be regarded as having nodes and subtrees that describe field content, text paragraphs, and sentences, as discussed in more detail below.
[0065] Accordingly, the final text is a combination of the predefined content of the hierarchical data structure, additional system adaptations, user operations and selections, user information and cloud sourcing data, and information embedded in placeholders and free text based on user writing or editing.
[0066] Referring now to Figure 2, Figure 2 shows a system 200 for the interactive generation and structural editing of text content for a website construction system, according to an embodiment of the present invention. It can be understood that the text generation process is integrated with an interactive alternative selection process that includes a basic data collection subsystem, an analysis engine and rule repository, and follow-up text component editing as described in detail below.
[0067] The system 200 described below can be understood to be aimed at website construction along with text generation. However, in alternative embodiments, the system 200 can also use the same technology for other object types, such as elements within a text stream (e.g., a text flow including embedded images) or other types of composite objects that can be composed from sections (e.g., components of a background music playlist composed from a sequence of music tracks).
[0068] The system 200 can include elements of the system 100 as described in U.S. Patent No. 10,073,923 together with a Text Content Generator (TCG) system 80. In a typical embodiment, the constructed site can consist of sections (such as layout elements or sub-page sections) that serve a particular purpose, and it can be understood that the site consists of a similar composition of objects (e.g., a 5-tuple consisting of a title / subtitle / text paragraph / button / media [image]). Some sections may include multiple such sets, such as a section that describes a list that may show multiple such 5-tuples.
[0069] For each unique text field (e.g., a combination of section / business type), the WBS vendor staff 61 can define the role and corresponding set of options for the text content defined in a particular hierarchical data structure (e.g., title / subtitle / text paragraph / button). All of these text elements can include placeholders that are filled from information collected by the site generation system 40.
[0070] It should be understood that the system 200 can also provide integration with an external system 70 that can include external text-related services such as text writing, editing, adaptation, review, and translation services. This can be a conventional offline service (such as a translation agency) or an Internet-based service provider (such as FIVERR from fiverr.com).
[0071] Next, refer to FIG. 3 showing the elements of the TCG system 80. The TCG system 80 can include a role determiner 81, an HDS (hierarchical data structure) / rule handler 82, an analysis engine 83, an HDS editor 84, a visual editing coordinator 85, a text generator 86, an HDS / rule coordinator 87, an HDS SEO builder 88, a text kit interface 89, and a data gatherer 95.
[0072] The role determination unit 81 can determine the role of the text field, and the HDS / rule handler 82 can be responsible for the management of roles, the hierarchical data structure and rules including their operations (definition and instance processing), and the update of their repositories in the CMS55 accordingly. The HDS / rule handler 82 can process both the stored (CMS55) HDS / rule data structure and the in-memory structure. The analysis engine 83 provides services related to the analysis of information (based on machine learning, artificial intelligence, natural language processing, or predefined rules), presents text option recommendations to the user, and can change the recommendations into roles, rules, and hierarchical data structures. The visual editing coordinator 85 can coordinate between the HDS editor 84 and the WBS editor 30. The HDS / rule coordinator 87 can coordinate among all of the above elements, between the role determination unit 81, the HDS / rule handler 82, the analysis engine 83 and the data collection unit 95, and between the repositories in the CMS55, and exchange hierarchical data structure definitions and definitions, rules, and artificial intelligence information for the analysis engine 83 and the like. The text generator 86 can generate the final text used for further editing and site generation. The HDS SEO builder 88 can further generate specific SEO-related information using the information available in the instances of the hierarchical data structure, the text kit interface 89 can provide text kit extraction and kit reintegration functions, and the data collection unit 95 can collect the information used by the analysis engine 83. The functions of these elements will be described in more detail below.
[0073] Now, refer to FIG. 4 showing the elements of the HDS / rule handler 82. The HDS / rule handler 82 can include an orderer 821, a deleter 822, a creator 823, a filterer 824, a ranker 825, a diversifier 826, a node adapter 827, and a rule adapter 828. The functions of these elements will be described in more detail below.
[0074] Now, refer to FIG. 5 showing the elements of the analysis engine 83. The analysis engine 83 can include an AI (artificial intelligence) / ML (machine learning) engine 831, an NLP (natural language processing) engine 832, and a rule engine 833. The functions of these elements will be described in more detail below. It can be understood that different embodiments of the system 200 can implement only one or two of the elements of the analysis engine 83. Next, refer to FIG. 6 showing the elements of the HDS editor 84. The HDS editor 84 can further include an analysis-based text creator 841, an HDS instance creator 842, an HDS creator / editor 843, a role creator / editor 844, and a rule creator / editor 845. The functions of these elements will be described in more detail below.
[0075] The HDS editor 84 may be understood to provide a unified editing environment for both the setup of definitions in a hierarchical data structure (e.g., by the WBS vendor staff 61) and the editing of local instances in a hierarchical data structure (e.g., by the site designer 62). In an alternative embodiment, the system 200 can provide separate editing environments for each task, for example, by splitting the HDS editor 84 into separate definition editing (optionally integrating rule editing) and instance editing tools. This definition editing environment can use the HDS creator / editor 843 to create definitions of basic hierarchical data structures, which can be understood to be manual or automatic, or a combination of the two. The manual creation of the definition of the hierarchical data structure may be based on a visual editing environment that supports the creation of the hierarchical data structure or a text transformation table (such as the example of "about us" described below). The automatic creation may be based on, for example, the analysis of a significant number of text samples for a given role in order to detect common structures and substructures and place them in a proposed hierarchy that can be edited by the HDS editor 84. Such text samples may be collected using the data collection unit 95, and the trace analysis may be performed using the analysis engine 83 (particularly including the NLP engine 832). It can also be understood that the described procedures for creating and editing the definition of the hierarchical data structure can also be used to create a set of compliance rules for the application and operation of the generated hierarchical data structure.
[0076] As described above, hierarchical data structure definition editing is typically stored with the WBS vendor staff 61, but it can be understood that the system 200 can make some or all of this functionality available to the site designer 62. This is typically done in the context of creating a private variation of a hierarchical data structure definition that may be specific to a given field, page, website, website area, or specific user (for use within multiple sites). Such a private variation can implement an inheritance relationship with the original hierarchical data structure definition. The system 200 may similarly allow a user to perform rule editing for local rule variations. Such private variations can, for example, allow adding a sub - hierarchy of private paragraphs or text hierarchical data structures to a private variation of a specific hierarchical data structure offering, or making other changes that better reflect the user's preferences. The system 200 may also allow a user to create full - scale hierarchical data structure definitions (possibly including private rules specific to them), which may also be transferable to other users or sold via the object marketplace 15.
[0077] In the following, referring to FIG. 7, as described above, a typical group of types of repositories that may be held within the content management system of the associated website construction system (CMS55) is shown. In addition to the repositories of the CMS50 described in U.S. Patent No. 10,073,923, it can be understood that the CMS55 can also include a TPA (Third Party Application) store 521, an AAI (Additional Administrative Information) repository 522, a text HDS repository 523, a TCG field role repository 524, and a TCG analysis rule repository 525. Of course, all of the various repositories of the CMS55 can be used by the WBS editor 30 and the site generation system 40 during the website creation process.
[0078] Next, refer to FIG. 8 showing the functions of the TCG system 80 during an editing session. In a typical usage scenario, it can be understood that a user can call the TCG system 80 while using a website construction system during site generation or review processes or within the WBS editor 30 (as will be described in more detail below). As described above, the user is typically a website designer 62. It can be understood that WBS vendor staff 61 may use the TCG system at runtime to (for example) edit templates. Further, it can be understood that site user 63 may use the TCG system 80 if given certain editing rights including text creation or editing (such as a user updating product description text within an auction site).
[0079] It can also be understood that the TCG system 80 may be called by the WBS editor 30 and the site generation system 40 during a website construction process. In an alternative embodiment, the TCG system 80 is stand-alone and can operate without participating modules.
[0080] A user can select a text field that requires text input (via the HDS editor 84) during (for example) a page editing session. The role determination unit 81 can receive the field, determine its role (as will be described in more detail hereinbelow), and transfer it to the analysis engine 83, which can search for one or more proposed hierarchical data structure definitions for that role.
[0081] The analysis engine 83 can send the proposed hierarchical data structure definition to the HDS / rule handler 82. The HDS / rule handler 82 can provide them to the HDS editor 84 (which can present the recommended hierarchical data structure or text options to the user). Subsequently, the user can edit the hierarchical data structure (via the HDS editor 84) as needed. It can be understood that the editing may include changes to the hierarchical data structure definition itself (such as selection of branches, deletion of elements, rearrangement of nodes, etc.) similar to actual text editing, as will be described in detail below. The HDS instance creator 842 can create a hierarchical data structure instance from the hierarchical data structure definition (to be described in more detail below). The association of field roles and field roles can be stored in the repositories 523 and 524.
[0082] It can be understood that the editing may also include the input of placeholder text values. The HDS editor 84 may refer to the analysis engine 83 or directly to the CMS 55 to provide guidelines for handling text editing and hierarchical data structure changes.
[0083] The HDS editor 84 can send the hierarchical data structure instance to the HDS / rule handler 82 and to the text generator 86 to generate the final text of the field (optionally including backlinks or other associations with the underlying hierarchical data structure instance).
[0084] The HDS / rule handler 82 can also record the resulting text and the updated hierarchical data structure in the CMS 55 (including updates to the EH (editing history) repository 511 and the text HDS repository 523).
[0085] The placeholder text may come from multiple places, including the user himself (via the HDS editor 84), the CMS 55, or the site generation system 40 itself. Therefore, it can be further understood that the HDS / rule handler 82 may be directly bypassed to the text generator 86.
[0086] Since the text field already has a determined role and hierarchical data structure, it can also be understood that re-editing the text field can use a reduced workflow pattern (at a later stage of the editing process). This may be regarded as a maintenance workflow rather than a creation workflow.
[0087] Another workflow may be the setup workflow used by the WBS vendor staff 61 when creating the initial hierarchical data structure specification, the initial role assignment and rules used by the analysis engine 83, using the role creator / editor 844, the HDS creator 843 / editor, and the rule creator editor 845.
[0088] The updated text may also be used as part of SEO (Search Engine Optimization), and may be sent to the HDS SEO builder 88, as will be described in more detail below.
[0089] It can be understood that not all elements of the TCG system 80 may be activated during an editing session. For example, the analysis engine 83 may be activated to select a role for a field (requiring non-hierarchical data structure operations), and the HDS / rule handler 82 may be activated by the visual editing coordinator 85 to adapt the hierarchical data structure to the changes made to the text by the user during a text editing session of the WBS editor 30 (without including the analysis engine 83).
[0090] Also, the role of the text field (used during editing / execution) may be set up by the user 5 via the WBS vendor staff 61 (via the role creator / editor 844), or by the role determination unit 81 via the analysis of the website elements described in detail below. The hierarchical data structure can be set up via the WBS vendor staff 61 (via the HDS creator / editor 843) in the same way as the rules used by the analysis engine 83 stored in the TCG analysis rule repository 525.
[0091] Next, refer to FIG. 9 showing the elements of the data collection unit 95. The data collection unit 95 can include an internal data collection unit 951 and an external data collection unit 952 for collecting information from internal and external sources into the website construction system (as will be described in more detail below in relation to the analysis engine 83). The data collection unit 95 can further include a collective source data collection unit 953 for collecting collective source information used to support the testing of the hierarchical data structure. The functions of these elements are similar to the functions of the internal data collection unit 44, the external collection unit 43, and the collective source data analyzer 423 as described in U.S. Patent No. 10,073,923. The internal data collection unit 951, the external data collection unit 952, and the collective source data analyzer 953 access the same data sources using similar browser and data extraction techniques, but it can be understood that the collected data will be analyzed by the analysis engine 83 as will be described in more detail below.
[0092] It can be understood that the user may also edit the text generated by the WBS editor 30, similar to the HDS editor 84. In this scenario, the user can interact with the HDS editor 84 via the visual editing coordinator 85 to create the final text. In an alternative embodiment, the visual editing coordinator 85 can directly adapt the hierarchical data structure from the CMS 55 by bypassing the HDS editor 84 and sending it to the WBS editor 30. It can also be understood that the user may return to the HDS editor 84 in the future to benefit from the structured editing of the text. The visual editing coordinator 85 can provide the necessary adjustments and editing history tracking to maintain the integration between the text freely edited by the WBS editor 30 and its structural hierarchical data structure-based representation.
[0093] In an alternative embodiment, the TCG system 80 may be used outside of the website construction system (e.g., in a stand-alone configuration or while still being hosted on the server of the website construction system vendor). In this scenario, the TCG system 80 can operate with a limited version of the system 200 and can interact with the website construction system for the necessary information directly (e.g., online) or via the information sent to it by the website construction system. Alternatively, the TCG system 80 can include some sub-elements of the system 200 (such as elements of the CMS 55 or the WBS editor 30). Such a configuration may be useful, for example, for large-scale text creation or editing by an external text creation / translation agency as described above in this specification.
[0094] The TCG system 80 may be used directly via its own dedicated UI, or may be implemented (via an API or web service) to be used by or incorporated into another system that provides the necessary UI.
[0095] The following description focuses on features related to system 200 and it can be understood that it does not necessarily include all features available in the website construction system. System 200 may also implement a subset of the described features and does not necessarily implement all of the described features.
[0096] The following describes an application created by the website construction system and accessed by an end user as a website. Further, it can be understood that system 200 is applicable to other categories of online applications accessed using specific client software. Such client software can be run stand-alone or activated from a browser (such as the Adobe Flash plugin). End users can access these websites using client software on a normal PC (as shown in FIG. 2), but can also access them on smartphones, tablet computers, and other desktop, mobile, and wearable devices. Alternatively, system 200 may be applicable to a system for generating games, mobile applications, native applications, or other application types, as described in U.S. Patent No. 9,996,566, entitled "Visual Design System for Generating a Visual Data Structure Associated with a Semantic Composition Based on a Hierarchy of Components," issued on June 12, 2018, and assigned to the common assignee of the present invention and incorporated herein by reference.
[0097] In particular, the system 200 is applicable to a visual design system used to create development environments for stand-alone applications such as development environments for desktop applications (for use with personal computers), development environments for mobile applications (for use with smartphones and tablets), development environments for client-server applications, and development environments for non-browser web applications (for use with environments such as Adobe's Flash Player), plugin development environments, systems for creating plugins and other add-on elements for other systems (web browsers or others), and shop builders, i.e., systems focused on creating e-shops (or e-commerce sites).
[0098] Furthermore, system 200 may be used to generate text content that is not a normal text component within an application. Exemplary uses include text provided as part of a UI or as part of a communication message, such as actionable widget cards described in U.S. Patent Application Publication No. 2018 / 0174229, titled "Actionable Widget Cards," published on June 21, 2018, which is assigned to a common assignee of the present invention and incorporated herein by reference. These are cards that provide users with information / recommendations (such as recommended blog post text for recently released products or other marketing materials) that can be sent to the user via multiple communication channels (such as email, chat, application message queues, etc.). Another example is text posted to a social network (such as Facebook® or Twitter®), and in this scenario, system 200 can adapt the text or provide an appropriate hierarchical data structure based on the desired delivery channel (e.g., provide short text for Twitter® and long text for blog posts). Yet another example is text integrated into a non-application environment / content, such as text embedded in a video (e.g., captions or displayed text) or audio content (e.g., text-to-speech). System 200 may also be useful in creating printed materials as part of a page design or layout system, and in this case as well, it can provide appropriate text alternatives for the provided space or other considerations related to the printed creation design.
[0099] The following discussion also focuses on websites hosted by providers of website building systems, particularly websites that provide an online presence for small and medium-sized enterprises such as hotels, law firms, and restaurants. Such businesses are often classified by family and industry as described in U.S. Patent No. 10,073,923. A family defines a general type or category of business, such as schools, clinics, law firms, etc. An industry is a specific industry or knowledge domain type. For example, in the case of the school family, the system can support multiple industries (i.e., school types) such as art, engineering, and music schools. Of course, system 200 can also be applied to additional types of websites and other non-web digital creations as described hereinabove.
[0100] As described above, system 200 supports the user in interactively creating the text content of text fields within the generated website. Such fields can typically have an associated role in relation to the field and its function within the page or page section that contains it. The role may or may not be unique within the site, page, or page section. For example, a "About Us" page that describes a business can have one "Our Company" text field, one "Main Services" text field, and multiple "Team Member" text fields.
[0101] The role of a text field can be determined in several ways. One way is for the role of the field to be pre-defined. For example, the field may be part of a template (e.g., at the site, page, or page section level) that defines the role for some or all of that text field. The role determination unit 81 can assist the WBS vendor staff 61 or the website designer in assigning such pre-defined roles to the associated text fields.
[0102] In the context of a site generation system as described in U.S. Patent No. 10,073,923, a text field can be part of a layout element, layout group, or preset page section used by the site generation system to construct a given page. The role determination unit 81 can assign a role to a lower-level content element where a given layout element / layout group / preset page section is matched or (directly) to the layout element / layout group / preset page section itself. Such an assignment can be made at the HDS definition level (in the case of vendor staff 61) or the HDS instance level (in the case of user 62).
[0103] The role determination unit 81 may also provide a list of possible roles to the user via the HDS editor 84, from which the user may select an appropriate role (e.g., at the setup stage). It should be understood that the system 200 can further provide a search engine for role selection using operations typically provided by a search engine (such as a synonym search) since the number of potential roles can be very large.
[0104] The role determination unit 81 can also determine and rank a set of possible roles based on additional information available for the website construction system or based on the analysis performed by the analysis engine 83 (as will be described in more detail below). Such information and analysis by the analysis engine 83 can include, for example, predefined information or user-specified information about the pages or page sections included (e.g., for a text field within the "About Us" page, only roles such as "Company Description", "Our Team", etc. are provided). It can also be understood that information entered by the user for the current field and other fields (such as the role selected for a previous text field) may also be included. The analysis engine 83 can also use information from the current or previous interactions with other users and information collected from the same and other users that may be evaluated according to the user's profile information (e.g., a real estate attorney in the United States typically uses a role such as "Area of Expertise" on the front page of the site).
[0105] The role determination analysis performed by the analysis engine 83 can also include other types of analysis of the current or other site areas, optionally including analysis of the site layout, components, component content, geometric or other component relationships, and the site edit history. For example, the user creates 3 sets of [image + text], and assigns the role "Manager's Biography" to each of the 3 text fields. Next, the user creates a 4th such [image + text] set that is geometrically aligned with the previous 3 sets. In this case, it is very likely that the role of the 4th text field is also "Manager's Biography".
[0106] In another example, the role determination unit 81 may determine that the text field is related to a nearby image field and that the displayed image is a person's face. This can be based on, for example, image metadata / name / description, or image content analysis. In such a scenario, it is reasonable to expect that the role of the text field is related to the person's details, information, or biography.
[0107] It can also be understood that the role determination unit 81 can perform automatic field role determination using available information (such as the collected information described above in this specification) without requiring additional user interaction.
[0108] Alternatively, the role determination unit 81 may perform an analysis based on user input. One specific type of analysis is to have the user type a free-form example of the desired type of content (into the field). The role determination unit 81 can then analyze this content using the NLP engine 832 (as will be described in more detail below in relation to the analysis engine 83). The NLP engine 832 can recognize a specific field role (if required) and, in some cases, additional information regarding the required content, and provide the user with a specially written content transformation (described in more detail below) that serves the same purpose.
[0109] It can be understood that the text entered by the user is not used as a normal search key (i.e., as used in a search engine). Rather, the role determination unit 81 instructs the NLP engine 832 to extract the user's intent and then search the HDS repository 523 for the current role or related roles that include text alternatives that serve the same intent, even if the text used for the substitution is completely different from or unrelated to what was provided by the user.
[0110] Also, the analysis method used by the role determination unit 81, such as that described above, may be similar to the functions of the NLP engine 4211 of U.S. Patent No. 10,073,923, as well as various types of geometric and semantic analyses as described with respect to the POS locator 250 of U.S. Patent Publication No. 2015 / 0074516, titled "System and Method for Automated Conversion of Interacive Sites and Applications to Support Mobile and Other Display Environments", which was published on March 12, 2015, assigned to the common assignee of the present invention, and incorporated herein by reference. The analysis described herein may also be used by the HDS / rule handler 82 to rank the hierarchical data structure and the list of hierarchical data structure nodes / subtrees not only in the order in which they are presented (i.e., their "search rank"), but also to be presented to the user for selection.
[0111] As described above in this specification, once the role of a text field is known, the TCG system 80 can use that knowledge to create the content of a particular field. This can be done by retrieving (from the HDS repository 523) the appropriate hierarchical data structure associated with the role determined by the analysis engine 83. The system 200 may use additional collected information (as described above for the role determination unit 81 and possibly for user selection) to associate multiple hierarchical data structures with a given role in order to select the hierarchical data structure to use.
[0112] Next, refer to FIG. 10 showing the sub-elements of the HDS repository 523. For each hierarchical data structure, the HDS repository 523 can store its field role association 5231, its HDS definition 5232, and its HDS local instance 5233. It can be understood that a single role can have multiple hierarchical data structure definitions, and the HDS local instance 5233 can contain editing context information. Thus, the HDS repository 523 can remember the current selections and modifications made by the user, including those that do not appear in the current display but are retained when the user returns.
[0113] It can be understood that the hierarchical data structure describes various options for the elements of the generated text placed in the text field, including additional attributes that provide the information required for the various analysis and selection elements described above. The hierarchical levels may resemble a node structure, but the types of nodes are different. For example, the nodes consist of "option selection nodes" (single nodes) and "ordered sets" that have a sibling relationship with the nodes or end nodes. In the case of "any" node, the user needs to select one of the provided alternative sub-nodes (which are determined and ranked as described in detail below).
[0114] The "ordered set" node is a sub-tree consisting of the sequence of the given sub-nodes. The user can perform various editing operations on this sequence, such as changing the order of the sub-nodes or deleting sub-nodes.
[0115] Returning to FIG. 4 which illustrates the elements of the HDS / rule handler 82. The HDS / rule handler 82 can be used to modify the hierarchical data structure and adapt rules as will be described in more detail below. When creating the first version for the user to edit, the HDS / rule handler 82 can implement any ordering / ranking / diversification based on the recommendations made by the analysis engine 83 (e.g., selecting the nodes to display and in what order at each displayed hierarchical data structure level).
[0116] During the editing session, the HDS / rule handler 82 can provide back-end processing for the displayed hierarchical data structure, and this back-end processing can include consulting with the analysis engine 83 about the recommendations during editing. In this scenario, the HDS editor 84 can be a front-end (which can be executed on the client, server, or both), and the HDS / rule handler 82 can provide an interface to the hierarchical data structure.
[0117] As described above in this specification, the modification to the hierarchical data structure can be done using an analysis initiated by the system that, for example, analyzes common changes made by multiple users and infers that a permanent change should be made to the hierarchical data structure definition. This can be fully system-initiated (e.g., a background process executed at a given frequency) or triggered by a specific user activity (e.g., when the Nth user makes a similar change).
[0118] The HDS / rule handler 82 can also process hierarchical data structure changes initiated by the visual editing coordinator 85 based on the "normal" editing of the text (generated by the TCG system 80) in the text fields that affect the hierarchical data structure of the text fields.
[0119] As described above in this specification, the HDS / rule handler 82 can process operations and modifications on entities such as roles, rules, nodes, subtrees, results from the analysis engine 83, etc. It can be understood that the functionality of the HDS / rule handler 82 can be applied depending on the entity being handled in question, i.e., the role, the hierarchical data structure, or the node itself.
[0120] The orderer 821 generally orders entities, the deleter 822 generally deletes entities, the creator 823 creates new entities, the filterer 824 generally filters entities, the ranker 825 generally ranks entities, the diversifier 826 diversifies entities, the node adapter 827 adapts changes to nodes, and the rule adapter 828 can adapt changes to the text content generation analysis rules in the TCG analysis rule repository 525.
[0121] Also, an orderer 821, a filterer 824, a ranker 825, and a diversifier 826 can function in a similar manner to layout ranker and filter 45, ranker 48, and diversifier 49, as described in U.S. Patent No. 9,747,258, entitled "System and Method for the Creation and use of Visually-Diverse High-Quality Dynamic Layouts", which was granted on August 29, 2017, assigned to a common assignee of the present invention, and incorporated herein by reference. In particular, ranker 825 can be executed according to parameters such as the frequency at which a given option is selected (by the current user, other users such as those described above, or other "similar" users), a particular selection (text generated based on selections that were used, saved, or actually published), and other selections made by the user for other fields (e.g., comparing the alternative text of a field to selections made for other fields). Orderer 821 can order based on combining ranking information and diversity information, as described in U.S. Patent No. 9,747,258.
[0122] Next, refer to FIG. 11 showing an example of a hierarchical data structure. A typical embodiment where hierarchies can be used can be Level 1 (L1), Document (Optional Selection Node), Level 2 (L2), Paragraph ("Ordered Set" Node), Level 3 (L3), Sentence Position ("Ordered Set" Node), and Level 4 (L4) Sentence Variation (Optional Selection Node). Other levels may include Content Variation ("Ordered Set" Node), and end nodes such as words / punctuation marks, placeholders / additional elements. Additional end node elements may also include objects embedded in the text (such as images and graphics), hyperlinks (indicating within or outside a website), and embedded website elements (such as action buttons, "mail" links, etc.). Thus, a user ("our company") creating the content of a text field for a given role can select one of the possible content variations, each of which consists of an ordered set of paragraphs, as shown (as a mere example) in the following table. Each paragraph may be composed of a plurality of sentence positions, each of which may be filled by one of a set of sentence variations. Each sentence variation consists of words, punctuation marks, and placeholders. FIG. 11 can also be considered a partial hierarchical data structure reflecting some of the text options included in the following table.
[0123]
Table 1
Table 2
Table 3
Table 4
[0124] The table above shows a simplified example of a single content transformation of the "About Us" document (*XXX* is a placeholder). Of course, this example provides multiple variations for the "location" sentences (location (any location), locations, and single location) depending on the enterprise's location setup (defined internally or collected from external business information), and the user can choose which location to retain. This may also be implemented using rules, as discussed in more detail below.
[0125] It can be understood that the hierarchy is typically created such that the ordered sequences at each level can be freely edited. Thus, for example, the sentences of a particular paragraph are typically written to function well in any combination or order, as seen in the table above. In fact, in one embodiment, the orderer 821 can randomly rearrange some or all of the sub-nodes of the sibling "ordered set" nodes. This has the advantage of making different sites clearer to each other based on the same hierarchical data structure. Such a randomized selection of paragraphs / sentences is better from the perspective of the WBS vendor 61 (i.e., the created sites are more diverse), and also from the perspective of search engine optimization (since search engines may penalize multiple sites that appear similar).
[0126] It can also be understood that the hierarchical data structure can include "fixed" elements, for example, sentences that cannot be changed, moved, or have no alternatives (if the user decides to select a sub-hierarchy that includes such sentences). However, such elements can be modified as part of normal text field editing in the WBS editor 30.
[0127] The deleter 822 can delete nodes as a result of user editing, and the creator 823 can accordingly create new nodes (based on user editing and the input text). Also, it may provide functions similar to the deletion and creation of other entities such as roles and complete hierarchical data structures.
[0128] In an alternative embodiment, the system 200 can use different hierarchies, including hierarchies with more or fewer levels, or hierarchies that use additional or different node types. Further, as discussed in more detail below, the hierarchy can be dynamic as it can be modified during operation based on recommendations made by the analysis engine 83.
[0129] In some embodiments, the hierarchical data structure may also reuse specific subtrees that can be hooked at different locations. Thus, the original version of the hierarchical data structure (before user modification) may be a directed acyclic graph with a single root.
[0130] Of course, a placeholder is an internal field marker that can be filled with information such as company names, personal names, etc., as described above in this specification. The placeholder may be site global (e.g., company name) or local to a given page or site area (specific product details of a multi-product site). The system 200 can have this information from previous interactions with the user through a generation questionnaire, from other locations within the website, or from other sources (e.g., the user's social network presence), as described in U.S. Patent No. 10,073,923.
[0131] As described above, the user can interact with the TCG system 80 and edit the hierarchical data structure via the HDS editor 84 that supports the execution of the above hierarchical data structure operations for a given text field. When entering the text field, the user can use the "help me write" button added to the WBS editor 30 to launch the HDS editor 84 (for example).
[0132] It should be understood that the HDS editor 84 can enable the user to preview the proposed alternatives generated by the analysis engine 83 based on the hierarchical structure of the selected fields according to the filtering / ranking / diversification described above in relation to the HDS / rule handler 82. Placeholders are marked as such and may be filled with initial values (if known).
[0133] The HDS editor 84 may also allow the user to browse and select alternatives at all levels (for example, having text positions with multiple alternatives via option selection nodes).
[0134] Other capabilities of the HDS editor 84 can be understood to be the ability to allow the user to edit the sequence, such as deleting or moving elements (such as sentences), or entering or editing placeholder values. Some embodiments of the system 200 may allow the user to insert new text within the HDS editor 84 without entering a separate editing session in the WBS editor 30, as will be discussed in more detail below.
[0135] The HDS editor 84 may also provide an option that enables modifications to the hierarchy that are actually applied only to the local hierarchical data structure instance associated with the field. This can be the case, for example, when the user wants to move a sentence from one paragraph to another paragraph of the same field (or the whole of another field). Such a move can detach the hierarchical data structure subtree associated with the moved sentence from its original position (within the hierarchical data structure subtree of one paragraph) and reattach it to the hierarchical data structure subtree of another paragraph.
[0136] In an alternative embodiment, the HDS editor 84 may allow final text editing at this point, although this functionality is typically reserved for the text component editor (within the WBS editor 30) of the website construction system. Such editing may include the insertion of additional text, deletion of nodes, and any editing of text elements. In this embodiment, the HDS editor 84 can further comprise an analysis-based text creator 841 based on analyzing an image associated with a text field (via an image feature analysis engine) and creating a matching written description or caption for a particular image.
[0137] In the editing mode (refer back to FIG. 8), it should be understood that the HDS editor 84 can load the initial version of the hierarchical data structure from the HDS repository 523 as described above in this specification. However, the HDS editor 84 can start the analysis engine 83 to determine an initial text offering (which can include filtering, ranking, diversifying, selecting, reordering, and deleting elements of the initial hierarchical data structure via the HDS / rule handler 82 as described in this specification) in order to create the initial version of the hierarchical data structure to be edited. This can include selecting the highest-ranked combination so that the user can start immediately from the best offer that the TCG system 80 can make. As described above, the actual modifications to the hierarchical data structure are managed by the HDS / rule handler 82 (which functions as the data management backend for the front end of the HDS editor 84). The user can always change this proposed hierarchical data structure via the HDS editor 84. During re-editing, the HDS editor 84 can use the saved editing context from the previous session as described in more detail below.
[0138] Now refer to FIGS. 12A, 12B, and 12C, which show an exemplary user interface for the HDS editor 84. FIG. 12A shows the editing of a placeholder indicating the services offered by a company ([A]). FIG. 12B shows a browsing screen. It can be understood that the "<" and ">" buttons ([B]) can switch to different top surface alternative texts (i.e., hierarchical data structures). FIG. 12C shows the selection of alternative texts when the mouse passes over a sentence where options are available, and the pop-up menu ([C]) shows the different options available for this sentence. It can also be understood that the filtered, ranked, and displayed alternative texts already include the updated placeholder values when available.
[0139] Furthermore, if the HDS editor 84 is given the ability to reorder and remove specific sub-elements (e.g., sentences), it can be understood that the HDS editor 84 can provide a "physical building block" UI metaphor, similar to a children's game where blocks with text captions are placed.
[0140] The HDS editor 84 may also allow the user to edit an instance of a hierarchical data structure for each role specific to a given text field on a given page. The edited instance is initialized using the role-based hierarchical data structure (where elements are selected according to filtering and ranking algorithms), but later changes are made to a specific hierarchical data structure instance for this field.
[0141] The HDS editor 84 may also provide for the saving of the editing context. Next, refer to FIGS. 13A - 13D showing changes to a simple hierarchical data structure. In FIG. 13A, the top level has three possible choices (via the "select one" node) of A, B, and C. Each of these consists of a sequence of sub-nodes (e.g., sentences), A1 - A3, B1 - B2, and C1 - C4.
[0142] The user can start with alternative A, for example, by deleting A2 (for example), changing the order of the remaining A1 and A3, and generating the final sequence A3, A1 as shown in FIG. 13B (instead of A1, A2, A3). After this, the user can change their mind, switch to alternative C, and edit it, for example, by changing the order of C2 and C3 as shown in FIG. 13C.
[0143] The HDS editor 84 can save the editing context, so that if the user decides to leave alternative C and return to alternative A, the user will return to the edited alternative A (i.e., A3, A1) as shown in FIG. 13D, rather than the original alternative A (A1, A2, A3).
[0144] The context is saved at all levels, and thus it can be understood that each subtree is saved along with its changes. Since the context is an instance per field, if there are multiple product pages in an e-store, for example, each containing a product description, the context is saved individually for each field instance of the product description. HDS / rule handler 82 may save the saved context to the HDS local instance repository 5233 along with a "visual context" that describes the current user's selections.
[0145] As described above in this specification, the original version of the hierarchical data structure can be a directed acyclic graph (having multiple hooks / recursive subtrees) rather than a simple tree. When the user starts editing the hierarchical data structure via the HDS editor 84, the repeated subtrees are replicated (by the HDS instance creator 842) for each place where they are referenced. This is necessary because different copies of the repeated subtree can be modified in different ways. The replication can be deferred until the actually repeated subtree is actually modified (i.e., using lazy evaluation in the HDS instance creator 842).
[0146] The user can instruct the HDS editor 84 to complete the editing and instruct the text generator 86 to generate text into the text field. The HDS editor 84 can also warn the user (via a popup or other user interface element) if some of the required placeholders are not filled or if the original sample text (typically) not relevant to the user's business is included.
[0147] As described above in this specification, the HDS editor 84 can call the analysis engine 83 to determine the appropriate hierarchical data structure for the relevant text field.
[0148] In the case of an option selection node, it can be understood that the HDS / rule handler 82 can filter, order, and diversify the proposed sub-nodes, and in the case of any sibling "ordered set" nodes, it can provide the set and its order. In the case of a placeholder, the analysis engine 83 can determine the value selected for the placeholder from the information available as described above in this specification.
[0149] For clarity, it can be understood that the initial (stored) hierarchical data structure definition for a given role includes complete node type information (i.e., which sub-nodes are related to a given node and what is their order). However, the HDS editor 84 can call the analysis engine 83 to determine which combinations can be displayed, and the HDS / rule handler 82 can modify the stored hierarchical data structure instance (as described above in this specification) to determine which alternatives to present to the user at various levels and in what order.
[0150] As described above, the analysis engine 83 is activated when the HDS editor 84 is initialized (to provide recommendations for the initial selection displayed), and is also operated online during the editing of the hierarchical data structure via the HDS editor 84. This is done to affect the options presented to the user (e.g., when the user wants to review alternatives for a given text), and perhaps also to affect recommendations or automatically affect the operation (e.g., when the user makes a certain editing change, the rules may automatically provide or affect additional changes).
[0151] Now, refer to FIG. 5 showing the elements of the analysis engine 83. The analysis engine 83 may further include an AI / ML engine 831, an NLP engine 832, and a rule engine 833. As described above, the analysis engine 83 provides all services for the TCG system 80 based on artificial intelligence / machine learning, natural language processing, and general rules. Among its tasks, the analysis engine 83 can assist the role determination unit 81 in selecting the role of the text field and select a hierarchical data structure for a given field and role.
[0152] It can be understood that the elements of the HDS / rule handler 82 can be activated as a result of the analysis performed by the AI / ML engine 831, the NLP engine 832, or the rule engine 833, as will be described in more detail below.
[0153] The analysis engine 83 can use the rules stored in the TCG analysis rule repository 525. The rules may be predefined by the WBS vendor staff 61 or may be created and developed as a result of, for example, artificial intelligence, machine learning, website analysis, crowdsourcing, etc., as will be described in more detail below.
[0154] As described above, for example, due to changes to the input data evaluated by the analysis engine 83 that change the ranking and display order of alternative text options provided to the user when editing unselected elements of the text, the proposed alternatives at each tree level can change over time, so the analysis engine 83 can be reused in re-editing. Examples include changes in the popularity of a given text option that affect areas of the hierarchical data structure that the user has not yet edited (based on the analysis of selections made by other users).
[0155] The diversifier 826 can select an alternative hierarchical data structure based on these alternatives from the HDS repository 523 to provide a set of various text options, i.e., a set of text options different from each other and from the currently selected text.
[0156] The rules can also be understood to potentially recommend or influence adaptation. That is, the node adapter 827 may apply changes to the hierarchical data structure such as removal of nodes / subtrees as a result of text changes to existing nodes (and the rule adapter 828 may also adapt changes to the rules accordingly as a result of the analysis engine 83). Thus, the analysis engine 83 may determine that a separate birch company address sentence is no longer necessary when the user edits the "Company Description" node in the "About Us" field and specifies the company address.
[0157] The analysis engine 83 may also apply a set of rules that determine any of the above based on the available input information. The analysis engine 83 can analyze input information including any of the information detailed above for the role determination unit 81 for use in determining the role of the field as well as additional information (such as that collected by the internal data collection unit 951 and the external data collection unit 952). Such information can include predefined template information, user-specified information, site generation system information, and field information of the current and other fields (including non-text fields that can still be analyzed, e.g., image fields analyzed by an image understanding algorithm). Other input information considered by the analysis engine 83 (and collected by the collection unit 95) can also include information collected from users of the website construction system and other users, including profile information, analysis of the current and other sites (both inside and outside the website construction system), related field information, and any draft text entered into the field.
[0158] The analysis engine 83 can also analyze information including aggregated source information (collected by the aggregated source data collection unit 953) from current site end users or other sites of the system 200 (such as sites using the same template or hierarchical data structure), such as information regarding the success of the site, collected business intelligence (BI) and usage statistics, information regarding the popularity of specific pages, and information regarding explicit end user rankings (e.g., in a system having a question such as "how useful was this page" in a blog and support article system). It may also analyze information regarding measurement of user engagement (such as tracking of a user's biological feedback like reading time, mouse movement, page scroll, eye movement detection), and information regarding implicit tests indicating user understanding of the content (designed by the system).
[0159] Naturally, the system 200 can further use any of the techniques described in U.S. Patent No. 10,073,923 for the collection and analysis of aggregated source data. Thus, the analysis engine 83 can evaluate and analyze information from what other users have done, including both designer information and end user information. Such analysis can be performed on a large scale statistically and is subject to user privacy, anonymity, and legal rights.
[0160] In addition, the analysis engine 83 can also examine (e.g., via the internal data collection unit 951) and guide its operation using explicit hints included in elements of a web page, website, or website construction system. Such hints can be applicable to any analysis and recommendation executed by the analysis engine 83, such as field role determination / selection, selection of a hierarchical data structure for a given role / field, and customization of the hierarchical data structure for a specific hierarchical data structure (both initial and in editing). Such hints can be included in the user profile using entity (content element / type, layout element / type, etc.) of the site generation system 40, template (at all levels, site, page, section, etc.) component definitions and instances, and additional applications (third-party applications, list applications, etc.) along with additional site information (codes related to the site, metadata, etc.) in website-level data or settings.
[0161] Thus, for example, the rule can specify a different preferred order for paragraphs or specific sentences within the "Our Services" page of a U.S. real estate attorney compared to that of a European real estate attorney. Such rules may be predefined or dynamically created based on an analysis of the actual usage patterns by the relevant users.
[0162] It will be understood that the rules can also be horizontal. That is, the recommendation for a given field X may depend on the selected elements and their order with respect to other regions of field X or another field Y (on the same page or a different page of the website). For example, based on the user's response for a given field, the analysis engine 83 can detect that the user prefers a specific style and prioritize that style for other fields. The TCG analysis rule repository 525 can also include rules that function best together.
[0163] As described above in this specification, the analytics engine 83 can use a repository of predefined rules (created by the WBS vendor staff 61 and stored in the TCG analytics rule repository 525), which can also be dynamically modified as described in more detail below in this specification. The AI / ML engine 831 can use artificial intelligence and machine learning (and in particular deep learning) to analyze input data and user activity and generate recommendations for the HDS / rule handler 82 regarding node filtering, ranking, diversification, and ordering. It should be understood that the AI / ML engine 831 can modify its own data structures (such as neural network models) based on its interaction with the system 200 and its learning process. The AI / ML engine 831 can also save an updated version of such data structures to the ML / AI repository 515 or a separate corresponding repository within the CMS 55.
[0164] Also, it can be understood that as the use of the system 200 increases, the input information becomes statistically significant for additional (more detailed) segments of the population. Thus, for example, once a sufficient number of construction-related businesses use the system 200, the system 200 can provide better results for such businesses. This process creates a set of positive feedback loops, thereby improving the system 200.
[0165] It can also be understood that in this scenario, there can be two levels of feedback loops between the website building system and the designer and between the designer and the end user. For each level, the system 200 can deploy multiple feedback loops as the loop unfolds for each user segment. It is understood that the feedback loop can be regarded as a characteristic of the general interaction of the system 200 (for example, the interaction between the designer 62 and the site user 63) as a result of the behavior of the system 200. Therefore, this is not an explicit element supported by a specific subsystem element of the system 200.
[0166] As described above in this specification, the analysis engine 83 uses the rule engine 833, as well as the analysis based on the AI / ML engine 831 and the NLP engine 832, and the data collected by the data collection unit 95, to enable the HDS / rule handler 82 to make decisions regarding how to behave with respect to the filtering, ranking, and ordering of the hierarchical data structure, nodes, and roles. However, the system 200 can also use the collected data to extend or modify the hierarchical data structure and possibly the rules associated therewith using the node adapter 827 and the rule adapter 828.
[0167] In particular, as the number of users of the system 200 (and the amount of data collected from them) increases, the analysis engine 83 can analyze user responses to detect specific patterns. These may include, in particular, repeated edit changes added to the generated text.
[0168] For example, a given hierarchical data structure node X (e.g., a paragraph) is composed of a sequence of three sub-nodes A, B, C (e.g., sentences) in this order. Based on the editing operations of the user who selected node X, it was found that most of them change the order of the three sub-nodes to C, A, B. Further, this iterative editing operation is assumed to be consistent among a large number of users (also a majority). In such a scenario, the analysis engine 83 can determine that the hierarchical data structure should be rearranged to present the C, A, B sequence first, saving the extra editing operations that would be performed by most users, and accordingly instruct the HDS / rule handler 82.
[0169] As the number of users increases, it can be understood that the analysis engine 83 can perform a more detailed analysis taking into account specific parameters of the users (such as details of the user's profile or information about the user's site). Thus, if a sufficient number of photographers in Spain make a given editing change, the analysis engine 83 can decide to pre-apply the repeated changes to future users who are also photographers in Spain.
[0170] It can be understood that the changes to the hierarchical data structure are not limited to changes in the ordering of sub-nodes (or optional filtering and ranking). The node adapter 827 can also delete sub-nodes (in some cases, using the deleter 822).
[0171] Also, in a typical embodiment, it can be understood that the addition of text cannot be done via the HDS editor 84 (which is typically limited to operating on existing hierarchical data structures). However, the user can add additional text via the WBS editor 30 that can be incorporated into the hierarchical data structure via the visual editor coordinator 85.
[0172] The NLP engine 832 may analyze text added by multiple users to the same hierarchical data structure node to detect common themes and text, or to generate a common denominator text, and use the results of such analysis to instruct the node adapter 827 and the rule adapter 828 to expand the hierarchical data structure by adding additional nodes and possibly related rules.
[0173] Thus, if a statistically significant number of photographers add one of three possible similar sentences to their business description, the NLP engine 832 can detect such occurrences through its natural language analysis and instruct the node adapter 827 to create additional sub-nodes that expand the "business description" node. In this scenario, the node adapter 827 can create one "any" sub-node and three end nodes (for the three sentences).
[0174] In an alternative embodiment, the analysis engine 83 can present the results of the above analysis to the WBS vendor staff 61 responsible for content authoring (and thus the creation and maintenance of the hierarchical data structure). The WBS vendor staff 61 can then use this information to determine whether to update any hierarchical data structure.
[0175] It can be understood that such results can include, for example, usage statistics, success information of the text used (based on BI (Business Information) or end-user feedback as described above), or other types of information collected by the data collection unit 95 as described hereinabove.
[0176] In addition, the information can include common variations of the text described by the user for specific roles and specific text components within the template. It can be understood that such information can greatly facilitate the creation and maintenance of the HDS repository 523. For example, the WBS vendor staff 61 can also manually delete unpopular or ineffective options or create new alternative text based on commonly used text.
[0177] It can be understood that the user can edit the generated text when editing the inclusion page using the WBS editor 30. Such editing may disconnect the connection between the generated text, the original hierarchical data structure, and the selection and ordering of the sub-elements of the hierarchical data structure.
[0178] However, when such visual editing is performed, the text field does not match the saved hierarchical data structure editing context of the field. If the user wants to return to the HDS editor 84 and rework the text, there is a possibility of losing the changes made in the WBS editor 30. Furthermore, some of the possible editing changes, such as merging two sentences into a single combined sentence, cannot be represented in the hierarchical data structure.
[0179] It can be understood that the ability to return to the HDS editor 84 may be important in some cases. Therefore, the system may use the visual editing coordinator 85 (if only partially) to attempt to maintain the correspondence between the text structure and the HDS structure.
[0180] In the case of a placeholder, system 200 can support the continuous maintenance of placeholder information during visual editing. Thus, the visual editing coordinator 85 can lock the placeholder against accidental changes and thus refresh the value of the placeholder (e.g., when the underlying data changes). Alternatively, system 200 can allow the placeholder to be refreshed when the underlying value changes, but warn the user and flag these placeholders as modified in the WBS editor 30.
[0181] In an alternative embodiment, the HDS editor 84 may be integrated with the WBS editor 30. A single combined editor can provide both a hierarchical data structure editor service and a visual editor service. The same text fields underlying the data structure represent both hierarchical data structure information and text field information. In some editing operations (such as text concatenation), the association of the hierarchical data structure in this area may be removed. The visual editing coordinator 85 can provide tracking of editing changes, and the user can apply "return to generated text" to specific text areas (rather than the entire field).
[0182] In another alternative embodiment, system 200 can maintain a back pointer from the in-field text structure to the hierarchical data structure. Thus, changes made during editing are also sent to the visual editing coordinator 85 and, if possible, applied to the hierarchical data structure instance of the field. This can also be implemented by saving a series of edit change records that are reapplied to the hierarchical data structure later.
[0183] Once the content is finalized and approved by the user for the text fields, the text generator 86 can linearize the hierarchical data structure and generate the text for the text fields. This is the text that will be displayed on the website when the site is generated using the site generation system 40, or when it is inserted in some other way into the web pages displayed to the site designer 62 and the site user 63.
[0184] Also, it can be understood that the system 200 can also be useful for the SEO (Search Engine Optimization) of the website being built, as different sites created using the same template use different text contents and are not very similar. The HDS SEO builder 88 can further use the information available in the hierarchical data structure instance of the site to inject specific SEO-related information (such as keywords and metadata) into the generated / edited site for access by the relevant spiders / search engines.
[0185] In one embodiment, the hierarchical data structure can include SEO keywords associated with nodes at all levels (e.g., associated with part or all of a sentence or paragraph). When a specified node is selected, the SEO keywords associated with that node are added to the META header of the page.
[0186] The NLP engine 832 can also extract SEO keywords from the text that is added or modified when editing the text generated by the WBS editor 30. In particular, the system 200 may assume that the changes made by the WBS editor 30 to the text generated by the TCG system 80 are more important in relation to or specific to the current site. Thus, such specific text modifications can be good candidates for keyword extraction for the META header of the page.
[0187] In another embodiment, system 200 may use information from pre - defined SEO keywords and metadata of the site. These can be selected by the user, either by the user or as part of a template (site or otherwise) (for example, a bakery template may have "bread, cake, ···"). Such information can be added to the information collected by data collection unit 95 to determine any filtering, ranking, and ordering of hierarchical data structure nodes by HDS / rule handler 82.
[0188] System 200 may also support integration by using services external to the website building system to provide text kit extraction and kit reintegration capabilities. Text kit interface 89 can extract and reintegrate text kits that include associations with all text field contents related to their locations on the website. The extracted text may sometimes include only the current field content or an extended portion of the related hierarchical data structure. The kit can include information regarding a single text field or multiple text fields.
[0189] The kit may also include additional related information. For example, the kit can include business classification information (such as business family and industry) or other metadata. This information can be used by translation market sites (such as Fiverr.com) to classify required service requests and route them to the correct place within the market. It can be understood that the reintegration of the text kit requires extracting the modified text kit and reintegrating it into the website.
[0190] A related website building system may also support having text fields with multiple versions (for example, for each language) stored in parallel. In such a scenario, hierarchical data structures and text kits may also be required to support such multiple versions.
[0191] The TCG system 80 (and in particular the user activities and selections when interacting with it) is understood to be able to affect other components of the system 200 that do not directly relate to any particular text field. The affected area can include additional user interaction with the WBS editor 30, similar to other parts of the system 200.
[0192] For example, a user's activity within the TCG system 80 can affect how the system 200 provides content for non - text fields to the user. Thus, the selections a user makes when creating the text content of the "About Us" field can affect the type of image, video, or audio provided to the user for non - text fields. The effects can include, for example, changing the selection and ranking of provided media objects, or including additional media sources in a provided media collection. A user who selects the "Service - Oriented" branch in the hierarchical data structure of "About Us" for a given field / role can be provided with media that emphasizes human interaction (in a given business / industry). On the other hand, a user who selects the "Product - Oriented" branch in this hierarchical data structure can be provided with media that emphasizes products typical of a given industry.
[0193] It can be understood that such a "reverse hint" mechanism can have many possible embodiments that can also be combined. In one embodiment, elements (such as nodes) of the TCG system 80 can include reverse hints provided to the WBS editor 30, and these can be provided to the WBS editor 30 together with the linearized text generated via the text generator 86. In another embodiment, the WBS editor 30 can include (for example) recommended components of the proposed media. The recommender can negotiate with the analysis engine 83 (and / or directly with the appropriate elements of the CMS 55) to provide media recommendations to the editing user working within the WBS editor 30.
[0194] Accordingly, the system 200 can generate text to assist in building a website having a final text that is a combination of pre - defined content of a hierarchical data structure, additional system adaptations, user operations and selections, information entered into placeholders, and free text based on user writing or editing.
[0195] As described above, the TCG system 80 generates legal text and legal documents on a website. An example of a website legal document is a site policy. During the creation of a website, the TCG system 80 collects both the website and internal system and external environment data related to its business, and then uses them to generate website text and legal documents. The applicant recognizes that TCG, and other state - of - the - art text and document generation systems, are designed to generate "correct at the time of going to press" text and documents.
[0196] However, the Applicant recognizes that site policies and other legal documents are living documents that may be changed frequently due to changes in applicable laws and regulations and other external environmental considerations, and may require the addition or editing of paragraphs or may affect the entire document. Business owners and website designers 62 must constantly monitor these changes that may affect the content of their living legal documents.
[0197] The Applicant further recognizes that website designers 62 who build and host websites for themselves or other business owners using the WBS200 are interested not only in changes to the external environment such as the above-described legal environment that can trigger document updates, but also in changes to the business environment and the website environment. The business environment can include business operations, the business operations of other designers in similar businesses, and the product portfolio. For example, a company can start selling a new product line or start operating in a new geography. The website environment can be the designer's website portfolio, the websites of other designers on the WBS, and / or materials from external websites. The legal environment can further include regulations, directives, guidelines, standards, industry standards, and the like.
[0198] Next, refer to FIGS. 14 and 15A, 15B. FIG. 14 is similar to FIG. 2 above, but shows a Living Document Generator (LDG) 300 configured and operating in accordance with a preferred embodiment of the present invention. The LDG 300 is implemented within the WBS 200 and, like the TCG system 80, includes an LDG engine 301 and a TCG system 80'. Since the TCG system 80' utilizes many of the same elements as the TCG system 80, similar elements have the same reference numerals.
[0199] Within the LDG300, the TCG system 80' can generate the initial LDG section text 303 for the living document 302 and other legal documents in the manner described above. According to a preferred embodiment of the present invention, the LDG engine 301 can monitor both internal and external sources for any changes that may affect the composition of the LDG section text 303 within the living document 302. Next, the LDG engine 301 can coordinate the notification of affected users and the update of the document, as described below.
[0200] Figures 15A and 15B show details of the TCG system 80' and the LDG engine 301. The LDG engine 301 includes an LDG coordinator 305, a policy knowledge engine (PKE) 306, a PKE repository 308, an LDG tagger 315, an LDG tag repository 309, an LDG user repository 310, a monitoring engine 312, a notification engine 313, and a workflow engine 314. The LDG engine 301 can interface with multiple parts of the TCG system 80', specifically the specific HDS / rule handler 82', the HDS / rule coordinator 87', the analysis engine 83', the data collection unit 95', the HDS editor 84', and the CMS 55, which will be described in more detail below.
[0201] As described above in this specification, the TCG system 80' can assist the website designer 62 in creating living documents 302 such as site policies, terms of use documents, condition documents, privacy policy documents, cookie policy documents, shipping policies, necessary site documents related to GDPR, user-generated content policies, end-user license agreements (EULA), return and refund policies, etc. These documents include a number of LDG section texts 303, and the exact number and content of which depend on internal and external factors as described above. The applicant further recognizes that living documents are not limited to policy documents, nor are they limited to non-legal documents that are part of the website.
[0202] Similar to TCG80, TCG80' can present a designer 62 with templates containing empty fields and guide the designer through the process of selecting text blocks to fill each of these fields. The TCG system 80' utilizes many methods to provide the user with the best text selection.
[0203] The LDG300 operates in a similar manner to the TCG generator 80, adding an LDG engine 301 to create an initial living document, monitor internal and external environmental changes that may affect the living document 302, analyze the impact on and necessary changes to the living document, notify the document designer 62 and the HDS creator (usually the WBS vendor staff 61) of material changes that may affect those documents, and coordinate updates to the HDS and the documents.
[0204] The underlying HDS text structure that can be used in the LDG section text 303 of the living document 30 can include placeholders (e.g., for a business name), similar to the placeholders described above in this specification. TCG80' can fill these placeholders when generating documents using the collected information.
[0205] The LDG300 typically outputs a base document (e.g., a policy) or a set of documents that form only the initial recommendations. The website designer 62 is typically responsible for editing the output documents and their final forms. Such editing may be required to ensure that the WBS vendor is not legally responsible for the content of the final policy document edited by the designer 62.
[0206] The LDG300 can support a site that incorporates multiple living documents 302 for a specific purpose. For example, the LDG300 may support the creation of multiple terms-of-use documents to be displayed to end users of the site arriving from different geographical or regulatory regions. This difference can range from simple localization (e.g., translation) to compliance with the laws and regulations of different regions. In this case, the LDG300 can enable the website designer 62 to define rules for the site to display different versions to different end users, and these rules can take into account information collected at runtime from the accessing end user. Alternatively, the LDG300 can instruct rules that control such version selection.
[0207] The analysis engine 83’ and PKE306 can jointly determine which HDS text sections are presented to the designer 62 to add the LDG section text 303, and how to order and select them (including multiple levels of the hierarchy). The analysis engine 83’ and PKE306 can further use AI / machine learning techniques (including the use of deep learning), and be trained on the changes and edits made to the living document 62 previously proposed by the designer community (current designer 62 and other designers) to make better recommendations in the future. Such training can incorporate specific designer parameters (as AI training data features) to better train the engine for specific designer categories.
[0208] The LDG engine 301 can focus on the elements selected by the designer 62 (the entire living document 302 or the LDG section text 303 or its subsections), and later track the changes made to laws, rules, and regulations. Therefore, the LDG engine 301 can warn the relevant designer 62 of the WBS200 when changes to the underlying laws, rules, and regulations related to this living document 302 actually used by the designer 62 have been made (or are about to be made). Such warnings can range from simply helpful to actually suggesting new or revised versions of various relevant policies.
[0209] Similarly, LDG300 can detect changes to regulations either through a mechanism that enables direct (explicit) reporting by the designer 62 or through analysis of edits and selections (rule- or AI / ML-based) made by the user. For example, if many users in country X modify the proposed terms of use document to reference the new regulation Y, LDG300 may generate a warning or other notification to the WBS vendor staff 61. Such notifications can be analyzed internally and used to improve the proposed text base as well as the rules for text selection and ordering. It can be understood that the designer 62 only reports the changes to be evaluated and is not permitted to directly modify the underlying rule repository. In an alternative embodiment, LDG300 can allow a specific user to edit a specific part of the rule repository conditional on approval from the WBS vendor staff 61.
[0210] The LDG engine 301 can generate additional explanatory materials or documents that help the designer 62 understand different policy document sections and subsections. The materials generated in this way may be accessible in a text editing environment (the general WBS editor 30 or the HDS editor 84’). Such materials may be adjusted according to the parameters of the designer 62 (e.g., the proficiency level of the designer 62 or other details).
[0211] The data collection unit 95’ can collect additional internal data, external data, and derived data used by the analysis engine 83’ and the PKE 306 to determine which elements to include in the (generated living document 302) and how to arrange them.
[0212] Examples of internal data can include the following. (1) Analysis of WBS elements used in websites belonging to designer 62 (blogs, e-commerce...). This can be vertical elements or functions, third-party applications, WCAs, or inserted components. Such elements can provide their own hints or subsections for related documents. For example, a blog element or TPA can have its own hints and / or inserted text elements for terms of use documents, privacy policies, etc. WBS elements may provide different proposed text elements for different heterogeneous types of a given document type (for example, there may be multiple categories of privacy policies, and a given TPA may have specific text to be inserted into each of these categories). (2) Analysis of code or other functional elements related to website elements. (3) Information collected from designer 62 via an information input interface such as a form, questionnaire interface, visual wizard, chat interface, or voice interface. (4) Information related to the site belonging to designer 62, particularly information regarding its business operations. This can include, for example, the physical location of the business (or other relevant jurisdictional information applicable to the business), the business name, and other information available or collected in the business, as described in U.S. Patent No. 10,073,923, entitled "SYSTEM AND METHOD FOR THE CREATION AND UPDATE OF HIERARCHICAL WEBSITES BASED ON COLLECTED BUSINESS KNOWLEDGE", filed on June 29, 2017, and incorporated herein by reference. (5) Information collected from the site itself, as well as operational information such as site usage information, site elements, or site attributes. As an example, LDG300 may use an API that analyzes cookies on a particular site to transfer data into a table in a cookie policy document that displays existing cookies and cookie parameters. LDG300 can import additional information available in WBS200 about those cookies (such as the purpose of the cookies) for some or all of the cookies in the table and add it to the displayed table. (6) Commercial DB information of the underlying site, such as product and sales information. In particular, such information may include information about the geography (and related jurisdiction areas) of on-site clients related to the creation of legal documents, as well as information available in WBS CMS55.
[0213] Examples of external data sources can include online law and regulation repositories such as the legal pages of EU websites, as well as offline law and regulation sources.
[0214] Examples of derived data sources may be specific AI / ML engines that generate appropriate policies and terms based on content or service data provided by a site (e.g., based on specific products, product categories, or service categories provided by the site). Such derived data may be available from the WBS200 (presumably in a structured manner). An exemplary AI / ML engine may be the one described in U.S. Patent Application No. 16 / 878,831, entitled "SYSTEM AND METHOD FOR INTEGRATING ON-LINE MACHINE LEARNING FEEDBACK LOOP IN TO WEBSITE BUILDING SYSTEM SERVICES," filed on May 20, 2020, which is shared by the present applicant and incorporated herein by reference. This can help the LDG300 to "understand" the legal needs of the designer 62 and propose better and more specific policies based on data collected from other users (and specific parameters and characteristics of other users).
[0215] Now, refer to FIG. 16 showing the living document and LDG tags. To make a document a living document, the LDG tagger 315 enables the designer 62 and / or vendor staff 61 to add LDG tags 304 to all LDG section texts 303 and store the LDG tags in the LDG tag repository 309. The LDG engine 301 can utilize the metadata in the LDG tags 304 to keep the living document 302 alive. The metadata included in the LDG tags 304 can include which data sources were used to determine the necessity of the section text 303 by the analysis engine 83' and PKE 306, which data sources were used to shape the content of the section text 303 by the analysis engine 83' and PKE 306, which areas require the current version of the section text 303, which designers 62 and WBS staff 61 need to be notified if this section text needs to be updated, and other related metadata. User data can be stored in the LDG user repository 310.
[0216] The LDG tags 304 can typically include a set of attributes related to the use and update of the living document 302. For example, the LDG tags 304 in FIG. 16 list the LDG section ("Introduction"), the geography it is related to ("EU"), the legal type ("Product Liability"), the document type ("EULA"), its legal code ("X, Y, Z"), and its legal source ("WWW.EULAW.COM"). Other attributes that may affect its update may also be listed.
[0217] When the living document 302 is created, the LDG tag 304 is created and stored, the LDG coordinator 305 can operate at runtime and adjust the monitoring, analysis, notification, and update functions within the LDG engine 301. First, the monitoring engine 312, together with the data collection unit 95', can monitor the original data sources and any new data sources for important changes in both the legal and business environments. When a data source is updated or a change is observed, the analysis engine 83' and the PKE 306 can analyze whether the change is significant and requires document updates, whether they are information and require information notification to the user, or whether there are no significant changes and they can be ignored.
[0218] An example of this monitoring phase can be for websites operating in the European Union and the United States. In this case, the monitoring engine 312 and the data collection unit 95' can discover that the United Kingdom has voted to leave the EU as part of "Brexit". As a result of this action, some website legal documents may need to be changed and updated. The analysis engine 83' can analyze the metadata within the LDG tag 304 that identifies the geographical regions to which the section text 303 applies. It can also analyze business operational data to identify revenue levels, product portfolios, staffing levels, and other data. The PKE 306 is something like a system advocate that analyzes legal codes and regulations, their applicability to each section text 303, and the current operational parameters from the analysis engine 83'. If the PKE 306 indicates that the text section 303 needs to be updated, the LDG coordinator 305 can initiate a user notification via the notification engine 313 and update it via the workflow engine 314.
[0219] Referring now to FIG. 17, the LDG content of two different documents 302 and their associated LDG tags 304A and 304B are shown. In the Brexit example described above, the LDG tag 304 of the EULA section text 303 can indicate the area to which it applies. Thus, the LDG tag 304A of the USA EULA can include a geography tag listing the US, the LDG tag 304B of the EU EULA can list the EU, the LDG tag 304A can also list the US code of the legal code attribute, and the LDG tag 304B can list the EU code of the legal code attribute.
[0220] In the case of the EU EULA, it may need to be updated due to the UK's departure from the EU, while the similar section text 303 of the California, USA EULA may not need to be updated.
[0221] A further example of the monitoring phase could be when designer 62 can add a new product to the website portfolio. The monitoring engine 312 and the data collection unit 95' can pass the change data to the analysis engine 83' and the PKE 306. In this case, the analysis engine 83' can identify that this is the first potentially dangerous "extreme sports" product to be added to the product portfolio. The PKE 306 can then determine whether such a change to the product catalog would require adding a new section to the terms and conditions document 302 or generating a new document 302.
[0222] As another example, PKE306 can detect that multiple e-shops (set up by various designers) have started shipping a particular product (e.g., smoking-related products) related to specific regulatory requirements (e.g., selling only to people over a certain age or only during a given time period). PKE306 may not have complete information about these related regulatory requirements and may also vary between different e-shops (e.g., they may result from different versions of rules related to different locales). However, PKE306 can detect correlations, for example, it can detect changes made to the related document 302 by some e-shops immediately before or after an e-shop starts shipping a particular product or product category. PKE306 can further check such correlations while considering (for example) related designers or other parameters of the website. PKE306 can alert the WBS vendor staff 61 or other related designers 62 (described further below).
[0223] Now, refer to FIG. 18 showing the update of the living document 302. In the previous example, PKE306 and the analysis engine 83’ can analyze the metadata within the LDG tag 304 to identify which current term and conditional document sections are being used. If a new section is required, PKE306 can create the required section text 303 for all required documents 302, pass them to the LDG coordinator 305, initiate a user notification via the notification engine 313, and update via the workflow engine 314. FIG. 18 shows how documents 302 for different regions, in this case, the United States and the EU, may require the addition of different section texts 303 in this text version C for the EU and version R for the United States.
[0224] If the analysis engine 83’ and PKE306 can identify important changes that may affect the living document, the LDG coordinator 305 can notify the designers affected via the notification engine 313. The notification engine 313 can review the user metadata within the LDG tag 304 to identify all designers who need to update the section text 303. The notification engine 313 can send a notification that includes the urgency level, timeline, affected document 302 and section text 303, source data, and recommended actions. If an update may be required, the notification engine 313 may include timeline information for the delivery of the updated text. The designer 62 can then decide whether to create their own update, wait for the update generated by the system, or wait for some other response. The notification engine 313 can also create a notification for the WBS vendor staff 61 regarding the need to create system-wide updates for the designer 62 and the need to update the HDS section text used during the initial creation and subsequent updates of the document 302. These notifications can include the same information as those sent to the designer 62 but can also include additional information such as the correct internal legal expert required to consider any text changes, internal priority levels, and other vendor-specific information. When the updates are created, approved, and uploaded, the notification system 313 can notify the designer 62 of the availability of the updates and information on how to update those documents. Other notifications may also be generated for designers 62 who are indirectly and not affected. The notifications can be delivered via several channels such as email, app notifications, and via the WBS editor 30 or other parts of the system 100.
[0225] The workflow engine 314 can coordinate updates to the document 302 and the section text 303. Any suitable data or metadata collected by the data collection unit 95’ can be passed to the analysis engine 83’ and the PKE 306. Then, some or all of this data can be passed to the workflow engine 314 together with the data generated by the analysis engine 83’ and the PKE 306. This may include recommended edits and updates generated by the PKE 306. The PKE 306 can propose edits in several ways. These may be based, for example, on text correlation - detecting that text section A has been replaced by text section B in an existing regulation (available from an external source) and correlating text A to the text used in the existing LDG document 302 and proposing to change it to B (in whole or in part). The correlation can also be done from designer to designer. For example, detecting that a particular designer has made certain changes (as described above) and detecting that these changes are correlated (e.g., many designers have changed version A to version B), and proposing to apply this change to other relevant occurrences of A (e.g., in the same business line). As described above, such proposed edits are typically reviewed by the WBS vendor staff 61 or the designer 62 to ensure accuracy and due to liability issues. The workflow engine 314 can then distribute this data to the designer 62 and the WBS vendor staff 61 for use in generating and updating document templates, the document 302, and the section text 303.
[0226] The workflow engine 314 may also monitor the affected documents 302 and section text 303 for updates. If the updates are not made by the designer, the workflow engine 314 may notify the designer 62 via the notification engine 313 that action is required. Next, the workflow engine 314 can monitor changes made to the website (e.g., implementation of proposed edits), or the workflow engine 314 can receive notifications from the system (e.g., the designer 62 received and responded to a message). Similarly, the workflow engine 314 can notify the WBS vendor staff 61 that the HDS and templates require updates and can remind them until such updates are made or rejected.
[0227] If either the designer 62 or the WBS vendor 61 wishes to update the document 302 or the section text 303, they can use the WBS editor 30 and the HDS editor 84'. The WBS editor 30 may allow the designer 62 to directly update the document 302 and the section text 303 without these updates being saved to the HDS editor 81' for use in subsequent creation of the document 302 or the section text 303. The document 302 may be generated by the text generator 86 and the site generation system 40 as described above. When such direct updates are made, the PKE 306 can analyze the updated document, and the LDG tagger 315 can update the LDG tag 304. If the designer 62 updates the HDS, wishes to use these updates to update the document 302 and the section text 303, and create subsequent documents 302 and section texts 303, they can use either the WBS editor 30 or the HDS editor 84'. In this case, the PKE 306 can analyze the HDS entry, and the LDG tagger 315 can update the LDG tag 304. Thereafter, when the designer 62 uses the updated HDS to update the document 302 and the text section 303, the PKE 306 can analyze the updates to the document 302, and the LDG tag 315 can update the LDG tag 304. Also in this case, the document 302 can be generated by the text generator 86 and the site generation system 40 as described hereinabove. It can be understood that the HDS editor 84' is different from the HDS editor 84 in that it adds post-editing of the HDS.
[0228] It can be understood that LDG 300 uses tags, but this is merely one possible embodiment. In an alternative embodiment, LDG 300 can utilize an association table, a linked entity graph (e.g., a linked graph of the various entities involved), an implicit mechanism (e.g., using an ML engine to provide connection, on-the-fly text analysis / understanding), or any other mechanism.
[0229] Unless otherwise specified, throughout this specification, discussions using terms such as "processing," "calculating," "computing," "determining," etc. refer to the actions and / or processes of any type of general-purpose computer, such as a client / server system, a mobile computing device, a smart appliance, or a similar electronic computing device, that manipulate and / or transform physical quantities, such as physical quantities within the registers and / or memories of a computing system, into other data similarly represented as physical quantities within the memories, registers, or other such information storage, transmission, or display devices of the computing system.
[0230] Embodiments of the present invention can include an apparatus for performing the operations of this specification. This apparatus may be specially constructed for the desired purpose or may include a general-purpose computer or a client / server configuration selectively activated or reconfigured by a computer program stored in a computer. The resulting apparatus can transform a general-purpose computer into an inventive element as described herein when commanded by software. The instructions can define a device of the present invention that operates with the computer platform of its choice. Such a computer program can be stored in any type of computer-readable storage medium, including, but not limited to, any type of disk such as an optical disk, a magneto-optical disk, a read-only memory (ROM), volatile and non-volatile memories, a random access memory (RAM), an electrically programmable read-only memory (EPROM), an electrically erasable and programmable read-only memory (EEPROM), a magnetic or optical card, a flash memory, a disk on key, or any other type of medium suitable for storing electronic instructions and capable of being coupled to a computer system bus.
[0231] The processes and displays presented in this specification are, in essence, not related to any particular computer or other device. Various general-purpose systems may be used with programs according to the teachings of this specification, or it may prove convenient to construct more specialized devices to perform the desired method. The desired structure for various of these systems will become apparent from the following description. Further, embodiments of the invention are not described with reference to any particular programming language. It is understood that various programming languages may be used to implement the teachings of the invention as described herein.
[0232] Particular features of the invention have been illustrated and described herein, but many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the claims are intended to cover all such modifications and changes as fall within the spirit and scope of the invention.
Claims
1. A website construction system (WBS), comprising at least one processor, a living document generator that, when executed by the at least one processor, generates a living document for a designer's website of the WBS, the living document describing at least one policy for the website and including at least one tag for representing a set of attributes related to the use and update of at least one section of the living document, the at least one tag including at least one tag containing metadata, a monitoring engine that, when executed by the at least one processor, monitors changes to the living document from internal and external sources of the WBS, a designer that, when executed by the at least one processor, reviews the metadata and updates the living document according to the output of the monitoring engine, the designer being a notification engine that identifies the designer using the WBS and also provides a timeline and urgency level for distribution of the updated living document, A website construction system comprising the above components.
2. The at least one tag is one of a tag listing the type of section, the geography it relates to, the type of law, the type of document, the law code related thereto, and / or its legal source. The website construction system according to Claim 1.
3. The living document generator includes a tagging device that associates the at least one tag with the at least one section. The website construction system according to Claim 1.
4. The system further includes at least one database for storing the living document, information about the designer, and the at least one tag. The website construction system according to Claim 1.
5. The system further includes a policy knowledge engine that recommends changes to the section text content of the living document according to the output of the monitoring engine. The website construction system according to Claim 1.
6. The policy knowledge engine updates the at least one tag according to changes to the section text content. The website construction system according to Claim 5.
7. The living document generator includes an analysis engine that analyzes an internal data source of the WBS and at least one of an external online data source and an external offline data source to determine WBS information and business operational information related to the living document. The website construction system according to claim 1.
8. At least one of the external online data source and the external offline data source includes at least one of legal and regulatory online and offline repositories. The website construction system according to claim 7.
9. The analysis engine includes a machine learning engine that generates section text content according to the analysis. The website construction system according to claim 7.
10. A method executed by a computer for a website construction system (WBS), comprising: generating, by at least one processor, a living document for a designer of a website of the WBS, the living document describing at least one policy for the website and including at least one tag for representing a set of attributes related to the use and update of at least one section of the living document, the at least one tag including at least one tag containing metadata; monitoring, by the at least one processor, changes to the living document from internal and external sources of the WBS; identifying, by the at least one processor, a designer who needs to review the metadata and update the living document according to the output of the monitoring step, the designer using the WBS, and also providing a timeline and urgency level for distribution of the updated living document; A method having the above steps.
11. The at least one tag is one of a tag listing a section type, a geography it is related to, a legal type, a document type, a legal code related thereto, and / or its legal source. The method according to claim 10.
12. The generating step includes associating the at least one tag with the at least one section. The method according to claim 10.
13. The WBS further includes at least one database that stores the living document, information about the designer, and the at least one tag. The method according to claim 10.
14. The method according to claim 10, further comprising, by the at least one processor, recommending a change to the section text content of the living document according to the output of the monitoring step. The method according to claim 10.
15. The recommending step includes updating the at least one tag according to a change to the section text content. The method according to claim 14.
16. The generating step includes analyzing at least one of an internal data source of the WBS and at least one of an external online data source and an external offline data source to determine WBS information and business operational information regarding the living document. The method according to claim 10.
17. At least one of the external online data source and the external offline data source includes at least one of legal and regulatory online and offline repositories. The method according to claim 16.
18. The analyzing step includes generating section text content using machine learning according to the analysis. The method according to claim 16.
Citation Information
Patent Citations
File management apparatus, file management system, file management method and file management program
JP2019056958A
Multi-jurisdictional electronic-commerce legal products, methods of production and methods of conducting business therewith
US20060282396A1
System and method for automated compliance verification
US20130246291A1
Web site creator using templates
US6684369B1
Creation and update of hierarchical websites based on collected business knowledge
WO2017208135A1