System and method for creating and editing textual content in a website building system

The website building system addresses the lack of text content generation by using an HDS editor and analysis engine with AI/ML and NLP to provide interactive text creation, enhancing user experience and site completion.

JP7723803B2Active Publication Date: 2025-08-14WIX COM
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024105617
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-11-28
Filing Date
2024-06-28
Publication Date
2025-08-14
Estimated Expiration
2038-11-28

AI Technical Summary

Technical Problem

Existing website building systems lack support for generating and guiding users in creating actual text content, often providing only empty components or placeholder text, leading to user frustration and incomplete site publication.

Method used

A website building system integrated with a hierarchical data structure (HDS) editor and analysis engine that provides interactive text generation and editing, utilizing AI/ML and NLP for recommendations, data collection, and rule-based analysis to generate and refine text content.

Benefits of technology

Enables users to create high-quality text content efficiently, overcoming writer's block and ensuring site completion by integrating data-driven recommendations and user interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007723803000007
    Figure 0007723803000007
  • Figure 0007723803000008
    Figure 0007723803000008
  • Figure 0007723803000009
    Figure 0007723803000009
Patent Text Reader

Abstract

To provide a text content generation system for website building (TCG).SOLUTION: A TCG system tool includes: a database storing a plurality of text options; a role determiner 81 to receive and determine a field role for an editable text field of a web site edited; an analysis engine 83 to make at least one text option recommendation from the database for the field role; a HDS editor 84 to enable a user to select one recommended text option for a text field and to edit a local instance of a basic hierarchical data structure of the text option; and a text generator 86 to linearize the local instance and to generate a text for a text field of a site generation system and / or an editor of the Website building system.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62 / 591,297, filed November 28, 2017, which is incorporated herein by reference.

[0002] <Technical field to which the invention pertains> The present invention relates generally to website building systems, and more particularly to text content generation. [Background technology]

[0003] Website building systems are used by both novices and experts to create interactive websites. Existing website building systems are based on a visual editing model, and most website building systems generally provide multiple templates, with templates potentially including complete sample websites, website sections, single pages, or sections of pages.

[0004] Users of the website construction system (also called designers, subscribers, subscribing users, or site editors) may design websites, and end users of the website ("user's 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 website) may allow end users to perform changes to the website, such as adding or editing data records, adding talkbacks to news articles, or adding blog entries to blogs. The website construction system may actually allow multiple levels of users (i.e., three or more levels), with different permissions and capabilities assigned to each level. Users of the website construction system (particularly in the fully or partially online configuration described below) may register with a website construction system server, which manages users, their websites, and access by end users.

[0005] A website building system may be a standalone system or embedded within a larger editing system. It may also be online (i.e., applications are edited and stored on a server), offline, or partially online (websites are edited locally but uploaded to a central server for publication). A website building system may use an internal data architecture to store a website building system-based site, and this architecture may organize the internal data and elements of the site being processed within the system. This architecture may differ from the appearance of the site (e.g., as seen by an end user) and is typically different from the way the HTML page sent to the browser is organized.

[0006] For example, the internal data architecture may include additional properties for each element in a page (such as author, creation time, access permissions, links to templates, SEO (search engine optimization) related information, etc.) that are related to editing and maintaining a site within the website building system but are not visible externally to end users (or even to some editing users). The website building system may implement some of its functionality (including both editing and runtime functionality) on a server or a collection of servers and some of its functionality on client elements. The website building system may also dynamically decide whether to execute some functionality on the server or on the client platform.

[0007] A website building system handles the creation and editing of visually designed applications (such as websites), which typically consist of pages, containers, and components. Pages are displayed separately and may contain components. Components can contain containers as well as atomic components.

[0008] A website building system can support hierarchical arrangement of components using various types of container components, including atomic components (text, image, shape, video, etc.) as well as other components (e.g., regular container, single-page container, multi-page container, gallery container, etc.). Subpages contained within a container component are called minipages, each of which may contain multiple components. Some container components display only one minipage at a time, while others display multiple minipages simultaneously.

[0009] Components may contain no content or may have internal content. An example of the first category is a star component, which has no internal content (although it has color, size, position, and other parameters). An example of the second category is a text paragraph component, whose internal content includes the inner text as well as font, formatting, and layout information. This content may, of course, vary from one instance of the text paragraph component to another. Components that have content are often called fields (e.g., "text field").

[0010] A page can use a template, a general page template, or a component template. Specific cases of templates include the use of an application master page that contains components that are duplicated in all other regular pages, or the use of an application header or footer (repeated on all pages). Templates may be used for complete pages or sections of pages. Website building systems can provide inheritance between templates, pages, or components, possibly including multi-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 called a layout. Website building systems may also support a dynamic layout process, in which editing a given component (or other changes affecting it, such as externally driven content changes) can affect other components, as further described in U.S. Patent Application Publication No. 2013 / 0219263, entitled "Website Design System Integrating Dynamic Layout and Dynamic Content," published August 22, 2013, assigned to the common assignee of the present invention, and incorporated herein by reference.

[0012] The website building system may be extended using third-party applications and components thereof, as well as list applications (as discussed in U.S. Patent Application Publication No. 2014 / 0282218, entitled "Website Building System Integrated Data Lists with Dynamic Customization and Adaptation," published 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 and integrated into the designed website.

[0013] Such third-party applications and list applications can be purchased (or obtained) through several distribution mechanisms, such as being pre-included in the website building system design environment, from an application store (integrated with the website building system or external), or directly from the third-party application vendor.

[0014] The third-party application may be hosted on the website building system vendor's own servers, on the third-party application vendor's servers, or on a fourth-party server infrastructure.

[0015] The website building system also allows procedural code to be added 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 specific website building system. The executed code may reference APIs provided by the website building system itself or by external providers. This code can also reference constructs and objects internal to the website building system, such as pages, components, and their attributes.

[0016] Procedural code elements can be activated via event triggers, which may be related to user activity (such as a mouse move or click, a page transition, etc.), other user-related activity (such as an underlying or specific database record being updated by another user), system events, or other types of conditions.

[0017] The enabled code can be executed within a client element of a website building system, on a server platform, or using a combination of the two or a dynamically determined execution platform. Such a system is described in U.S. Patent Publication No. 2018 / 0293323, "System and Method for Smart Interaction Between Website Components," published 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 editor model (where a user edits a previously created site) and an automatic site generation model or a combination thereof as referenced herein and shown in FIG. 1, and is described in U.S. Pat. No. 10,073,923, entitled "System and Method for Creating and Updating Hierarchical Websites Based on Collected Business Knowledge," patented September 11, 2018, assigned to the common assignee of the present invention, and incorporated herein by reference.

[0019] FIG. 1 illustrates a system 100 including a typical website construction system 5 in communication with client systems operated by WBS vendor staff 61, site designers 62 (i.e., users), site users 63 (i.e., users' users), and an external system 70. The website construction system 5 may further include a WBS (website construction system) site manager 10, a target market 15, a WBS RT (runtime) server 20, a WBS (website construction system) editor 30, a site generation system 40, and a WBS content management system (CMS) 50. It will be understood that the elements of FIG. 1 may function as described in U.S. Pat. No. 10,073,923. In a visual editor model, users (designers) edit sites based on one or more website templates.

[0020] A website building system provider may offer multiple site (or other) templates, each possibly including a complete sample website, a website section, a single page, or a section of a page. Users can start with an empty site (essentially a "blank page" template) but typically start with an actual site template. Website building system providers may offer site templates ranging from very general (e.g., a mobile site, an e-store) to more specific (e.g., a law firm, a restaurant, a florist) to very specific (e.g., a commercial real estate law firm or a Spanish tapas restaurant). Such templates are typically stored in a repository accessible to users of the website building system and are typically categorized according to business type, subtype, or industry. Templates may also be created (and categorized) according to style, color range, or other parameters, as well as business type. Site templates can be extended with additional (typically back-end) functionality, services, and code to become fully-fledged vertical solutions integrated with the website building system.

[0021] Thus, a user's initial experience when creating a site using a website building system's visual editor is typically for the user to select a template (e.g., according to style or industry type / subtype), possibly selecting a blank template, and then editing the template in the visual editor, including editing the content, logic, layout, and attributes. Such editing may include (among other things) adapting the template and its elements to the specifics of the user's business. The user can then publish the modified site.

[0022] In the site generation model, a website building system generates an initial site for a user based on a selected template, which may be modified by filling in general elements of information, potentially allowing for follow-up editing of the generated site. This fill-in-the-blanks format is necessary because the template contains various pieces of information (e.g., business name and management description) in multiple places within its pages. Thus, the user may have to change (for example) the business name in various places throughout the template.

[0023] Furthermore, some template elements (e.g., a generic product page) may appear multiple times, with each instance displaying details of a different instance of the underlying entity (e.g., a different product offered on the site). Such multiple instances may be specified manually (e.g., details of various people in a company's management team) or may be dynamically extracted from an external database (e.g., product details from a "products for sale" database). Such constructs are often known as "repeaters."

[0024] Templates can also contain fields. For example, a website building system allows a template designer to specify fields (also called "placeholders") to insert values into the template, such as {CompanyName}, {ProductName}, {ProductPrice}, etc. Users may also specify values for fields defined in the template selected for their website.

[0025] The website building system may allow the user to enter simple or complex values (such as text or images) as well as additional (non-field) information such as selection of included pages or website areas, color, style information, links, formatting options, website display options, and decorative elements (such as borders and backgrounds).

[0026] The website building system may also allow the user to enter some of this additional information before selecting a template, and use this information to aid in template selection (e.g., by narrowing the set of suggested templates). For example, the user may select a general color scheme (e.g., pastel) or style (e.g., business / formal), and this selection may then be used to narrow the set of suggested templates.

[0027] The system may also display a series of views or questionnaires to allow the user to enter values or selections (both for the defined fields and for the additional information described above). The system may further create connections (or bindings) between multi-instance elements of the template (as described herein above) and internal or external databases that provide the data instances used to generate the displayed instances.

[0028] 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 containing the combined information, and the user can then publish the site (through the website building system or otherwise).

[0029] Website building systems can perform semi-automated site creation using another model, as described in U.S. Patent No. 10,073,923, in which the system gathers information about the user and their website requirements from multiple sources, including, for example, user-filled questionnaires, existing user presence (such as existing websites or social media presence), industry sources (such as general-purpose transactional websites), offline information, and internal system repositories that provide information about specific industries, such as basic template information for specific industries (such as lawyers, restaurants, plumbers, graphic designers), which can be refined for specific industries (e.g., distinguishing real estate lawyers from personal injury lawyers).

[0030] The system may also collect external information from other sites, both internal and external to the system. Such information may influence, for example, the selection of surveys and layout elements provided, suggested defaults, etc. Such information may also be collected on an aggregate or summary basis, typically to avoid disclosing information belonging to any single user and to protect users' privacy, anonymity, and legal rights (such as copyright). Such information may be searched based on information provided by the user, which may be direct (e.g., an existing website address) or indirect (e.g., a business name and geographic address that may be used to search for information about a business).

[0031] The collected data is analyzed and placed into a repository of content elements, which are then mapped onto layout elements that present content from the content elements and combine the layout elements to form a site. The mapping, selection, and combination of layout elements may be fully automatic or semi-automatic (i.e., involving user interaction).

[0032] To support the above-described functionality, a website building system typically maintains a set of repositories stored on one or more servers or server farms. Such repositories may typically include a user information / profile repository, a WBS (website building system) component repository, a WBS site repository, a business intelligence (BI) repository, an edit history repository, a third-party application store repository, etc. The system may also include site / content creation related repositories such as a survey type repository, a content element type repository, a layout element type repository, a design kit repository, a completed survey repository, a content element repository, a layout element repository, a rule repository, a family / industry repository, etc. Summary of the Invention

[0033] According to a preferred embodiment of the present invention, there is provided a tool for a website building system, the tool including: a database that stores a plurality of text options, the text options based on information collected from the website building system and from sources external to the website building system, each HDS having nodes and subtrees representing field content, text paragraphs, and sentences; a role determiner for receiving and determining field roles for editable text fields of a website, the website being at least one edited and generated using the website building system; an analysis engine for making at least one text option recommendation from the database for the field role; an HDS editor that allows a user to select one recommended text option for the text field and edit a local instance of the HDS of the text options including at least the edit node and subtree of the local instance of the HDS; and a text generator that linearizes the local instance and generates text for the text field for at least one of a site generation system and an editor of the website building system (WBS).

[0034] Further, in accordance with a preferred embodiment of the present invention, the analysis engine analyzes the information and makes change recommendations regarding the configuration and content of the HDS, field roles, and rules where the analysis is rule-based. Further, in accordance with a preferred embodiment of the present invention, the rules are predetermined.

[0035] Still further, in accordance with a preferred embodiment of the present invention, the tool also includes an HDS / rule handler that manages modifications to at least one entity, the modifications being from the HDS editor, from text option recommendations, and from change recommendations from the analysis engine, and the at least one entity being one of a role, a rule, a node, and a subtree, and a data collector for collecting information.

[0036] Moreover, according to a preferred embodiment of the present invention, the tool includes at least one of an HDS SEO (Search Engine Optimization) builder for generating SEO-specific SEO information based on the generated text and providing SEO data for a data collector, and a text kit interface for providing text kit extraction and kit reintegration functions for external services to the website building system.

[0037] Additionally, in accordance with a preferred embodiment of the present invention, the tool further includes an HDS / Rules Coordinator for coordinating between the role determiner, analysis engine, HDS editor, text generator, database, HDS / Rules Handler, data collector, HDS SEO Builder, and TextKit interface.

[0038] Additionally, in accordance with a preferred embodiment of the present invention, the tool includes a visual editor coordinator that coordinates the editing session between the HDS editor and the editor of the website building system.

[0039] Furthermore, in accordance with a preferred embodiment of the present invention, the analysis engine includes at least one of an AI (artificial intelligence) / ML (machine learning) engine that analyzes the information and makes at least one text option recommendation and change recommendation using artificial intelligence and machine learning techniques, an NLP (natural language processor) engine that analyzes the information and makes at least one text option recommendation and change recommendation using natural language processing techniques, and a rules engine that determines the functionality of the HDS / rule handler for the entity according to the rules.

[0040] Additionally, in accordance with a preferred embodiment of the present invention, the HDS editor includes an HDS creator / editor to create and edit the base HDS definition, an HDS instance creator to create and edit HDS instances from the base layered data structure definition, a role creator / editor to create and edit the initial role assignments of the base HDS definition and a rule creator / editor to create and edit rules.

[0041] The HDS / rule handler includes an orderer that generically orders at least one entity, a deleter that generically deletes at least one entity, a creator that generically creates at least one entity, a filter that generically filters at least one entity, a ranker that generically ranks at least one entity, a diversifier that diversifies at least one entity, a node adapter that applies changes to the HDS, and a rule adapter that applies changes to the rules.

[0042] Furthermore, in accordance with a preferred embodiment of the present invention, the data collector includes at least one of an internal data collector for collecting information from within the website building system, an external data collector for collecting information from resources external to the website building system, and a crowdsourced data collector for collecting crowdsourced information for gathering crowdsourced information for testing the HDS.

[0043] Still further in accordance with a preferred embodiment of the present invention, the text field is at least part of one of a layout element, a layout group, and a preset page section.

[0044] Additionally, in accordance with a preferred embodiment of the present invention, the generated text includes placeholder text from at least one of a site generation system of a website building system, a data collector, a database, and a user.

[0045] Additionally, in accordance with a preferred embodiment of the present invention, the database stores, for each HDS, field role associations, HDS definitions, and HDS local instances.

[0046] Furthermore, in accordance with a preferred embodiment of the present invention, the nodes and subtrees include at least one of an option choice node, a series of nodes, and an end node.

[0047] Still further in accordance with a preferred embodiment of the present invention, end nodes include embedded objects having non-text data.

[0048] Furthermore, in accordance with a preferred embodiment of the present invention, the HDS editor preserves context during editing on the HDS.

[0049] Furthermore, in accordance with a preferred embodiment of the present invention, at least one of the text option recommendations and change recommendations are based on hints from a website building system.

[0050] Furthermore, according to a preferred embodiment of the present invention, the tool provides hints to the website building system based on at least one of an analysis engine of the website building system and user activity.

[0051] According to a preferred embodiment of the present invention, there is provided a website building system method, the method including: storing a plurality of text options, the text options based on information collected from the website building system and from sources external to the website building system, each HDS having nodes and subtrees representing field content, text paragraphs, and sentences; receiving and determining field roles for editable text fields of a website, the website being at least one edited and generated using the website building system; using an analysis engine to make at least one text option recommendation from a database for the field roles; enabling a user to select one recommended text option for the text field and edit a local instance of the HDS of text options including at least an edit node and subtree of the local instance of the HDS, linearizing the local instance and generating text for the text field for at least one of a site generation system and an editor of the website building system.

[0052] Further in accordance with a preferred embodiment of the present invention, the method includes using an analytics engine to analyze the information and make change recommendations regarding the configuration and content of the HDS, field roles and rules where the analysis is rule based.

[0053] Furthermore, in accordance with a preferred embodiment of the present invention, the rules are predetermined.

[0054] Still further, in accordance with a preferred embodiment of the present invention, the method includes managing modifications to at least one entity, the modifications including modifications from enabling user selection and editing, modifications from text option recommendations, and change recommendations from using the analysis engine, wherein the at least one entity is one of a role, a rule, a node, and a subtree; managing the modifications; and collecting information.

[0055] Furthermore, in accordance with a preferred embodiment of the present invention, the method includes at least one of generating SEO (Search Engine Optimization) specific SEO information based on generating text and providing SEO data for collecting information, and providing text kit extraction and kit reintegration functions for services external to the website building system.

[0056] Additionally, in accordance with a preferred embodiment of the present invention, the method includes coordinating between receiving and determining field roles, using an analysis engine, enabling user selection and editing, linearizing the local instance to generate text, storing, managing changes, collecting information, generating SEO-specific SEO information, and providing text kit extraction and kit reintegration.

[0057] Additionally, in accordance with a preferred embodiment of the present invention, the method includes coordinating an editing session between allowing a user to select and allowing editing and editors of the website building system.

[0058] Further, in accordance with a preferred embodiment of the present invention, using the analysis engine includes at least one of: analyzing the information using artificial intelligence and machine learning techniques to make at least one text option recommendation and change recommendation; analyzing the information using natural language processing techniques to make at least one text option recommendation and change recommendation; and determining a function for managing modifications related to the entity according to rules.

[0059] Additionally, in accordance with a preferred embodiment of the present invention, enabling a user to select and edit includes creating and editing a base HDS definition, creating and editing an HDS instance from the base HDS definition, creating and editing an initial role assignment for the base HDS, and creating and editing predefined rules.

[0060] Still further, in accordance with a preferred embodiment of the present invention, managing the changes includes ordering at least one entity, deleting at least one entity, creating at least one entity, filtering at least one entity, ranking at least one entity, diversifying at least one entity, applying the changes to the HDS, and applying the changes to the rules.

[0061] Additionally, in accordance with a preferred embodiment of the present invention, collecting information includes at least one of collecting information from within the website building system, collecting information from resources external to the website building system, and crowd-sourced information to test the HDS.

[0062] Further, in accordance with a preferred embodiment of the present invention, the text field is at least part of one of a layout element, a layout group, and a preset page section. Further, in accordance with a preferred embodiment of the present invention, the generated text includes placeholder text from at least one of a site generation system, an information collection, a database, and a user of the website building system.

[0063] Additionally, in accordance with a preferred embodiment of the present invention, storing stores, for each HDS, field role associations, HDS definitions, and HDS local instances.

[0064] Furthermore, in accordance with a preferred embodiment of the present invention, the nodes and subtrees include at least one of an option choice node, a series of nodes, and an end node.

[0065] Additionally, in accordance with a preferred embodiment of the present invention, end nodes include embedded objects having non-text data.

[0066] Additionally, in accordance with a preferred embodiment of the present invention, allowing a user to select and edit preserves context during editing of the HDS.

[0067] Still further, in accordance with a preferred embodiment of the present invention, at least one of the text option recommendations and change recommendations are based on hints from a website building system.

[0068] Additionally, according to a preferred embodiment of the present invention, the method includes providing hints to the website construction system based on at least one of using an analysis engine for the website construction system and user activity. [Brief explanation of the drawings]

[0069] The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. The invention, however, both as to organization and method of operation, together with its objects, features, and advantages, may best be understood by reading the following detailed description when read in conjunction with the accompanying drawings, in which: [Figure 1] 1 is a schematic diagram of an apparatus for creating and updating a hierarchical website. [Figure 2] 1 is a schematic diagram of an apparatus for interactive creation and configuration editing of textual content for a website building system, constructed and operative in accordance with the present invention; [Figure 3] 3 is a schematic diagram of the textual content generation system of FIG. 2 constructed and operative in accordance with the present invention; [Figure 4] 4 is a schematic diagram of the components of the HDS (Hierarchical Data Structure) / Rule Handler of FIG. 3 constructed and operative in accordance with the present invention; [Figure 5] FIG. 4 is a schematic diagram of the components of the analysis engine of FIG. 3 constructed and operative in accordance with the present invention; [Figure 6] 4 is a schematic diagram of components of the HDS editor of FIG. 3 constructed and operative in accordance with the present invention; [Figure 7] 4 is a schematic diagram of various repositories of the content management system of FIG. 3 constructed and operative in accordance with the present invention; [Figure 8] 4 is a schematic illustration of the workflow functionality of the system of FIG. 3 during editing, constructed and operative in accordance with the present invention; [Figure 9] 4 is a schematic diagram of the components of the data collector of FIG. 3 constructed and operative in accordance with the present invention; [Figure 10] 8 is a schematic diagram of the configuration of the text HDS repository of FIG. 7 constructed and operative in accordance with the present invention; [Figure 11] 1 is a schematic diagram of a sample hierarchical data structure constructed and operative in accordance with the present invention; [Figure 12A]4 is a schematic diagram of an exemplary user interface for the HDS editor of FIG. 3 constructed and operative in accordance with the present invention; [Figure 12B] 4 is a schematic diagram of an exemplary user interface for the HDS editor of FIG. 3 constructed and operative in accordance with the present invention; [Figure 12C] 4 is a schematic diagram of an exemplary user interface for the HDS editor of FIG. 3 constructed and operative in accordance with the present invention; [Figure 13A] 1 is a schematic illustration of modifications to a sample hierarchical data structure in which context is to be stored, constructed and operative in accordance with the present invention; [Figure 13B] 1 is a schematic illustration of modifications to a sample hierarchical data structure in which context is to be stored, constructed and operative in accordance with the present invention; [Figure 13C] 1 is a schematic illustration of modifications to a sample hierarchical data structure in which context is to be stored, constructed and operative in accordance with the present invention; [Figure 13D] 1 is a schematic illustration of modifications to a sample hierarchical data structure in which context is to be stored, constructed and operative in accordance with the present invention;

[0070] It will be appreciated that for simplicity and clarity of illustration, components shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the components may be exaggerated relative to other components for clarity. Furthermore, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous components. DETAILED DESCRIPTION OF THE INVENTION

[0071] 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.

[0072] The applicant has recognized that existing website building systems do not support users in creating the actual content of each text component, nor do they provide sufficient guidelines and recommendations on what are best practices in creating website content for specific purposes. Typically, only empty components are provided without text, or with only placeholder text. For non-text content (such as images and videos), there are often many available repositories (from which the user can choose) or easy ways to generate such content (e.g., using a camera).

[0073] It will be appreciated that for text content, simple pre-written text is often insufficient (and extremely common). Also, quickly viewing and selecting from large amounts of standard text is not easy, and starting with a "blank screen" is extremely difficult for most users (a phenomenon known as "writer's block"). Therefore, most website building systems may simply fill in text components with meaningless sample text (such as the well-known "Lorem Ipsum"). Applicant has also found that users often do not publish their sites at all because they are unable to fill in the required text elements or are not satisfied with the text they have written.

[0074] Solutions for natural language generation (NLG) exist in the art, such as those that use templates, rule engines, or machine learning. Current NLG systems typically aim to provide automatic generation of standalone text content such as form letters, news articles, weather forecasts, or chatbot responses. Such solutions are typically non-interactive and not well suited for use in website creation.

[0075] Applicant has also realized that the above-mentioned deficiencies can be overcome by a system that integrates the interactive generation and structured editing of text with the data structures of a website building system and incorporates it with information (including the user's own data and information from other websites) collected as part of the automated site generation process described above. The text generation process is integrated with an interactive text alternative selection process that includes data collection, an analysis engine, a rules repository, and follow-up text component editing, as described in more detail herein below. Such a process can be particularly beneficial within the site creation and editing process of a website building system.

[0076] The system includes a website building system-based text content generator that integrates a combination of: a hierarchical data structure (HDS) that describes text element alternative structures (for a given field role, as described in more detail herein below); information gathering elements and supporting the collection of information, including both information related to the current user and crowd-sourced information related to other users; a rule set and analysis engine for text processing rules based on an AI / ML engine and natural language processing; an interactive hierarchical data structure editor that can support interactive text selection and ordering based on the hierarchical data structure, the analysis engine, and the collected information; and creating text content for the website building system site. Of course, the hierarchical data structure can also be viewed as having nodes and subtrees that describe the content of fields, paragraphs of text, and sentences, as described in more detail herein below.

[0077] The final text is therefore a combination of predefined content in the hierarchical data structure, additional system adaptations, user manipulations and selections, information entered into placeholders and free text based on user writing or editing, and user information and crowdsourced data.

[0078] Reference is now made to Figure 2, which illustrates a system 200 for interactive generation and compositional editing of textual content for a website building system according to one embodiment of the present invention. It will be appreciated that the text generation process is integrated with an interactive alternative selection process, including an underlying data collection subsystem, an analysis engine and rules repository, and follow-up text component editing, as described in more detail herein below.

[0079] It will be understood that the system 200 described herein below is directed to website construction in conjunction with text generation, however, in alternative embodiments, the system 200 may use the same techniques for other object types, such as elements within a text stream (e.g., a text flow with embedded images), or for other types of composite objects that can be constructed from sections (e.g., a background music playlist component consisting of a sequence of music tracks).

[0080] System 200 may include elements of system 100 as described in U.S. Patent No. 10,073,923, along with a TCG (Textual Content Generator) system 80. In a typical embodiment, it will be understood that the constructed site will consist of sections (such as layout elements or partial page sections) that serve special purposes and are composed of similar configurations of objects (e.g., 5-tuples of title / subtitle / text paragraph / button / media [image]). Some sections may contain multiple such collections, such as a section describing a list that may represent multiple such 5-tuples.

[0081] For each unique text field (e.g., section / business type combination), WBS vendor staff 61 can define a role (e.g., for title / subtitle / text paragraph / button) and a set of corresponding text content options defined in a specific hierarchical data structure. All of these text elements may include placeholders that are filled from information gathered by site generation system 40. It should be appreciated that system 200 can also provide integration with external systems 70, which can include external text-related services such as text writing, editing, adaptation, review, and translation services. This can be a traditional offline service (e.g., a translation agency) or an internet-based service provider (e.g., FIVERR from fiverr.com).

[0082] Reference is now made to Figure 3, which illustrates elements of TCG system 80. TCG system 80 may include a role determiner 81, a HDS (Hierarchical Data Structure) / rule handler 82, an analysis engine 83, an HDS editor 84, a visual editor coordinator 85, a text generator 86, an HDS / rule coordinator 87, an HDS SEO builder 88, a TextKit interface 89, and a data collector 95.

[0083] The role determiner 81 can determine the role of a text field, and the HDS / rule handler 82 can be responsible for managing the rules accordingly, including the roles, hierarchical data structures, their manipulation (handling definitions and instances), and updating their repository in the CMS 55. The HDS / rule handler 82 can process both stored (CMS 55) and in-memory HDS / rule data structures. The analysis engine 83 can present recommendations to the user about text options and provide services related to analyzing information (based on machine learning, artificial intelligence, natural language processing, or predefined rules) to modify the recommendations for roles, rules, and hierarchical data structures. The visual editor coordinator 85 can coordinate between the HDS editor 84 and the WBS editor 30. The HDS / Rules Coordinator 87 exchanges (for example) hierarchical data structure definitions and rules and artificial intelligence information for the Analysis Engine 83 between all of the above elements, the Role Determiner 81, the HDS / Rules Handler 82, the Analysis Engine 83, and the Data Collector 95, and a repository within the CMS 55 for the Analysis Engine 83, etc. The Text Generator 86 can generate final text to be used for further editing and site generation. The HDS SEO Builder 88 can further use information available in the hierarchical data structure instances to generate specific SEO-related information, the Text Kit Interface 89 can provide text kit extraction and kit reintegration functionality, and the Data Collector 95 can collect information used by the Analysis Engine 83. The functionality of these elements is discussed in more detail herein below.

[0084] Reference is now made to Figure 4, which illustrates the elements of HDS / Rule Handler 82. HDS / Rule Handler 82 can include an orderer 821, a deleter 822, a creator 823, a filter 824, a ranker 825, a diversifier 826, a node adaptor 827, and a rule adaptor 828. The functionality of these elements is discussed in more detail herein below.

[0085] Reference is now made to FIG. 5, which illustrates elements of the analysis engine 83. The analysis engine 83 may include an AI (artificial intelligence) / ML (machine learning) engine 831, an NLP (natural language processing) engine 832, and a rules engine 833. The functionality of these elements is discussed in more detail herein below. It will be understood that different embodiments of the system 200 may implement only one or two of the elements of the analysis engine 83. Reference is now made to FIG. 6, which illustrates elements of the HDS editor 84. The HDS editor 84 may 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 functionality of these elements is discussed in more detail herein below.

[0086] It will be appreciated that the HDS editor 84 can provide a unified editing environment for both hierarchical data structure definition setting (e.g., by WBS vendor staff 61) and hierarchical data structure local instance editing (e.g., by site designer 62). In an alternative embodiment, the system 200 can provide separate editing environments for each task, for example, by dividing the HDS editor 84 into separate definition editing (possibly integrating rule editing) and instance editing tools. This definition editing environment can implement basic hierarchical data structure definition creation using the HDS generator / editor 843, which can be manual, automatic, or a combination of the two. Manual creation of hierarchical data structure definitions can be based on a visual editing environment that supports the creation of hierarchical data structures or text variable tables (e.g., as in the "About Us" example described herein below). Automatic creation can be based (for example) on the analysis of a large number of text samples for a given role to detect common structures and substructures and arrange them into optional suggested hierarchies that can be edited by the HDS editor 84. Such text samples may be collected using data collector 95, and follow-up analysis may be performed using analysis engine 83 (including, among other things, NLP engine 832). It will also be appreciated that the described procedures for creating and editing hierarchical data structure definitions may be used to create a set of matching rules for the application and behavior of the generated hierarchical data structure.

[0087] While hierarchical data structure definition editing (as described above in this specification) is typically reserved for WBS vendor staff 61, system 200 can make some or all of this functionality available to site designers 62. This is typically done in the context of creating private variants of hierarchical data structure definitions that can be specific to a given field, page, website, website region, or particular user (for use within multiple sites). Such private variants may implement an inheritance relationship with the original hierarchical data structure definition. System 200 may also allow users to perform rule editing on local rule variants. Such private variants may allow users to, for example, add private paragraph or sentence hierarchical data structure subhierarchies to a private variant for a particular hierarchical data structure offering, or make other changes that better reflect the user's preferences. System 200 can also allow users 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 target markets 15.

[0088] Reference is now made to Figure 7, which illustrates a typical grouping of repository types that may be maintained within the content management system (CMS 55) of the associated website building system, as described herein above. It will be appreciated that in addition to the repositories of CMS 50 described in U.S. Patent No. 10,073,923, CMS 55 may also include a TPA (third party application) store 521, an AAI (additional managed information) repository 522, a text HDS repository 523, a TCG field role repository 524, and a TCG analysis rules repository 525. Of course, all of the various repositories of CMS 55 may be used by WBS editor 30 and site generation system 40 during the website creation process.

[0089] FIG. 8 illustrates the functionality of the TCG system 80 during an editing session. It will be appreciated that in a typical usage scenario, a user may invoke the TCG 80 while using a website building system, either during the site creation or review process, or within the WBS editor 30 (as described in more detail herein below). As noted above, the user is typically a website designer 62. It will be appreciated that WBS vendor staff 61 may also use the TCG system at run time to edit templates (for example). Additionally, it will be appreciated that site users 63 may use the TCG system 80 if given certain editing privileges, including creating or editing text (such as a user updating product description text on an auction site).

[0090] It will also be appreciated that TCG system 80 may be invoked by WBS editor 30 and site creation system 40 in the website construction process. In another embodiment, TCG system 80 may operate alone and without intervening modules.

[0091] A user may (for example) select a text field requiring character input during a page editing session (via HDS editor 84). Role determiner 81 may receive the field, determine its role (as described in more detail herein below), and forward it to analysis engine 83, which may obtain one or more proposed hierarchical data structure definitions for the role.

[0092] The analysis engine 83 can send the proposed hierarchical data structure data to the HDS / rule handler 82. The HDS / rule handler 82 may then provide them to the HDS editor 84 (which may present the user with recommended hierarchical data structures or text options). The user can then edit the hierarchical data structure (via the HDS editor 84) as needed. It will be appreciated that editing may include changes to the hierarchical data structure definition itself (such as branch selection, element deletion, and node reordering, as described in more detail below) as well as actual text editing. The HDS instance creator 842 can create hierarchical data structure instances from the hierarchical data structure definition (as described in more detail below). Field roles and field-role associations may be stored in the repositories 523 and 524.

[0093] It will be understood that editing also includes entering placeholder text values. HDS editor 84 may consult analysis engine 83 or directly with CMS 55 to provide guidance on handling text edits and hierarchical data structure changes.

[0094] The HDS editor 84 may send the hierarchical data structure instance to the HDS / rule handler 82, which may send it to the text generator 86 to generate the final text for the field (possibly including a backlink or other association with the underlying hierarchical data structure instance).

[0095] The HDS / Rule Handler 82 may also record the resulting text and updated hierarchical data structure in the CMS 55 (including updates to the EH (Edit History) repository 511 and the Text HDS repository 523).

[0096] It will further be appreciated that the placeholder text may originate from multiple places, including the user themselves (via the HDS editor 84), the CMS 55, or from the site generation system 40 itself, and thus may bypass the HDS / rule handler 82 directly to the text generator 86.

[0097] It will also be appreciated that re-editing of text fields (at a later stage in the editing process) can use a reduced workflow pattern since the text fields already have their roles and hierarchical data structure determined, which may be considered a maintenance workflow rather than a creation workflow.

[0098] Another workflow may be a configuration workflow used by WBS vendor staff 61 when using the role creator / editor 844, HDS creator 843 / editor, and rule creator editor 845 to create the initial hierarchical data structure specification, initial role assignments, and rules used by the analysis engine 83.

[0099] The updated text may also be used as part of SEO (search engine optimization) and sent to HDS SEO Builder 88, as described in more detail herein below.

[0100] It will be appreciated that not all elements of the TCG system 80 may be invoked during an editing session. For example, the analysis engine 83 may be invoked to select roles for fields (which does not require hierarchical data structure manipulation), and the HDS / rules handler 82 may be invoked by the visual editor coordinator 85 to adapt the hierarchical data structure (not including the analysis engine 83) to changes made to text by a user during a WBS editor 30 text editing session.

[0101] It will also be understood that the roles of text fields (used at edit / runtime) may be set by the user 5 via the WBS vendor staff 61 (via the role creator / editor 844) or by the role determiner 81 via analysis of website elements as detailed herein below. The hierarchical data structure can be set not only by the WBS vendor staff 61 (via the HDS creator / editor 843) but also via rules used by the analysis engine 83 stored in the TCG analysis rules repository 525.

[0102] Reference is now made to FIG. 9, which illustrates elements of data collector 95. Data collector 95 may include internal data collector 951 and external data collector 952, which may collect information from internal and external sources into the website building system (as described in more detail herein below with respect to analysis engine 83). Data collector 95 may further include crowdsourced data collector 953, which may collect crowdsourced information used to support testing of hierarchical data structures. The functionality of these elements is similar to the functionality of internal data collector 44, external collector 43, and crowdsourced data analyzer 423, as described in U.S. Pat. No. 10,073,923. It will be understood that internal data collector 951, external data collector 952, and crowdsourced data collector 953 use similar browsers and data extraction techniques to access the same data sources, but the collected data is analyzed by analysis engine 83, as described in more detail herein below.

[0103] It will be appreciated that the user may also edit the generated text in the WBS editor 30, similar to the HDS editor 84. In this case, the user may interact with the HDS editor 84 via the visual editor coordinator 85 to create the final text. In an alternative embodiment, the visual editor coordinator 85 may directly adapt the hierarchical data structure from the CMS 55 by sending it to the WBS editor 30, bypassing the HDS editor 84. It will also be appreciated that the user may return to the HDS editor 84 in the future to benefit from structured editing of the text. The visual editor coordinator 85 may provide the necessary coordination and editing history tracking to maintain consistency between the text freely edited in the WBS editor 30 and its structured hierarchical data structure-based representation.

[0104] In alternative embodiments, TCG system 80 can be used outside of the website construction system (e.g., in a standalone configuration or while still hosted on the website construction system vendor server). In this case, TCG system 80 may operate with a limited version of system 200 and interact with the website construction system for necessary information, either directly (e.g., online) or via information sent from the website construction system. Alternatively, TCG system 80 can include some sub-elements of system 200 (e.g., elements of CMS 55 or WBS editor 30). Such a configuration may be useful, for example, for large-scale text creation or editing by an external text creation / translation company as described above in this specification.

[0105] The TCG system 80 may be used directly through its own dedicated UI, or may be implemented using or integrated into (via an API or web services) another system that provides the necessary UI.

[0106] It will be understood that the following description focuses on features relevant to system 200 and does not necessarily include all features available in a website building system. System 200 may also implement a subset of the described features, and not necessarily all described features.

[0107] The following describes applications created by a website-building system and accessed by end users as websites. It will be understood that system 200 is also applicable to other categories of online applications accessed using specific client software (proprietary or otherwise). Such client software may run standalone or may be launched from a browser (e.g., Adobe Flash plug-in). End users can connect to these websites not only through client software on a typical personal computer (shown in FIG. 2 ), but also on smartphones, tablet computers, and other desktop, mobile, or wearable devices. Alternatively, system 200 may be applicable to systems for generating games, mobile applications, native applications, or other types of applications, as described in U.S. Patent No. 9,996,566, entitled “Visual Design System for Generating Visual Data Structures Associated with Semantic Organizations Based on Hierarchies of Components,” issued June 12, 2018, which is assigned to the common assignee of the present invention and incorporated herein by reference.

[0108] In particular, system 200 is applicable to visual design systems, which may include desktop application development environments (e.g., for use with personal computers), mobile application development environments (e.g., for use with smartphones and tablets), client-server application development environments and non-browser web application development environments (for use with environments such as Adobe's Flash Player), plug-in development environments and systems for creating plug-ins and other add-on elements for other systems (web browsers or otherwise), and shop builders, i.e., visual design systems used to create standalone applications, such as systems focused on creating e-shops (or e-commerce sites).

[0109] Additionally, system 200 may be used to generate text content that is not a typical text component within an application. An example use could include text provided as part of a UI or as part of a communication message, such as the executable widget cards described in U.S. Patent Publication No. 2018 / 0174229, "Executable Widget Cards," published June 21, 2018, assigned to the common assignee of the present invention, and incorporated herein by reference. These could be cards that provide users with information / recommendations (e.g., recommended blog post text for recently launched products or other promotional materials) that can be sent to users via multiple communication channels (e.g., email, chat, application message queues, etc.). Another example is text to be posted to a social network (e.g., Facebook or Twitter), where system 200 could adapt the text or provide an appropriate hierarchical data structure based on the desired distribution channel (e.g., providing shorter text for Twitter or longer text for log posts). Yet another example is text integrated into non-application environments / content, such as text embedded in video (e.g., captions or displayed text) or audio content (e.g., via text-to-speech conversion). System 200 may also be useful in print production as part of a page design or layout system, again providing text alternatives appropriate to the provided space or other considerations related to the printed production design.

[0110] The following discussion also focuses on websites hosted by website building system providers, particularly those that provide an online presence for small businesses such as hotels, law firms, and restaurants. Such businesses are often categorized by their family and industry, as described in U.S. Patent No. 10,073,923. Family defines a general type or category of business, such as school, clinic, or law firm. Industry is a specific industry or knowledge domain type. For example, in the school family, the system may support multiple industries (i.e., school types), such as art, engineering, and music schools. Of course, system 200 may also be applied to additional types of websites and other non-web digital creations, as described herein above.

[0111] As described above, system 200 supports users in interactively creating text content for text fields within a generated website. Such fields may have a role associated with them that typically relates to the field and its function within the page or page section that contains it. Roles may or may not be unique within a site, page, or page section. For example, an "About Us" page describing a business may have one "Our Company" text field, one "Main Services" text field, and multiple "Team Member" text fields.

[0112] The role of a text field can be determined in many ways. One way is for the role of the field to be predefined. For example, the field may be part of a template (e.g., at the site, page, or page section level) that defines the role of some or all of its text fields. The role determiner 81 can assist the WBS vendor staff 61 or website designer in assigning such predefined roles to the associated text fields.

[0113] In the context of a site creation system such as that described in U.S. Patent No. 10,073,923, a text field may be part of a layout element, layout group, or preset page section used by the site creation system to compose a given page. The role determiner 81 may assign a role to the underlying content element to which a given layout element / layout group / preset page section is matched, or (directly) to the layout element / layout group / preset page section itself. Such assignment may occur at the HDS definition level (for vendor staff 61) or the HDS instance level (for users 62).

[0114] The role determiner 81 may also provide a list of possible roles from which the user can select (e.g., during the setup phase) an appropriate role via the HDS editor 84. It will be appreciated that the system 200 may further provide a search engine for role selection (as the number of potential roles may be very large) using operations typically provided by search engines (such as synonym searching).

[0115] The role determiner 81 can also determine and rank the set of possible roles based on additional information available to the website building system or to the analysis performed by the analysis engine 83 (described in more detail later in this specification). It should be understood that such information and analysis by the analysis engine 83 can include, for example, predefined or user-specified information about the containing page or page section (e.g., only providing roles such as "company description," "our team," etc. for a text field in an "about us" page). It can also include information entered by the user for the current or other fields (e.g., roles selected for previous text fields). The analysis engine 83 can also use information from previous interactions with the current or other users, and information collected from the same and other users (possibly evaluated according to the user's profile information) (e.g., real estate lawyers in the United States typically use roles such as "area of expertise," "...," etc. on the front page of their sites).

[0116] The role determination analysis performed by the analysis engine 83 may also include other types of analysis of current or other site regions, possibly including analysis of site layout, components, component content, geometric or other component relationships, and site editing history. For example, a user creates three [image+text] pairs and assigns the role "manager's biography" to each of the three text fields. The user then creates a fourth [image+text] pair that is geometrically aligned with the previous three pairs. In this case, the role of the fourth text field is very likely to also be "manager's biography."

[0117] In another example, the role determiner 81 may determine that a text field is associated with a nearby image field and that the displayed image is a person's face. This may be based on (for example) image metadata / name / description or image content analysis. In such a situation, it is reasonable to expect the role of the text field to relate to personal details, information, or biography.

[0118] It will also be appreciated that the role determiner 81 may use available information (such as the collected information described above in this specification) to make field role determinations automatically without requiring additional user interaction.

[0119] Alternatively, role determiner 81 may perform analysis based on user input. One particular type of analysis is to have the user type (into a field) a free-form example of the desired type of content. Role determiner 81 can then analyze this content using NLP engine 832 (as described in more detail below in connection with analysis engine 83). NLP engine 832 can recognize the specific field role (if this is required) and possibly additional information about the required content, and provide the user with professionally written content variants (described in more detail herein below) that serve the same purpose.

[0120] It will be appreciated that the user-entered text is not used as a typical search key (i.e., as used by a search engine). Rather, role determiner 81 may instruct NLP engine 832 to extract the user's intent and then search HDS repository 523 for current or related roles that contain alternative text that fulfills the same intent, even if the alternatives use entirely different or unrelated text than that provided by the user.

[0121] It will also be appreciated that the analysis methods used by role determiner 81 as described above may be similar to the functionality of NLP engine 4211 in U.S. Patent No. 10,073,923 and various types of geometric and semantic analyses as described with respect to POS locator 250 in U.S. Patent Publication No. 2015 / 0074516, entitled "System and Method for Automated Transformation of Interactive Sites and Applications to Support Mobile and Other Display Environments," published March 12, 2015, assigned to the common assignee of the present invention, and incorporated herein by reference. The analyses described herein above may also be used by HDS / rule handler 82 to rank the hierarchical data structures and lists of hierarchical data structure nodes / subtrees that are displayed to the user for selection, as well as the order in which they are presented (i.e., their "search rank").

[0122] As described above, once the role of a text field is known, that knowledge may be used by TCG system 80 to generate content for the particular field. This may be done by retrieving (from HDS repository 523) the appropriate hierarchical data structure associated with the role determined by analysis engine 83. System 200 may allow multiple hierarchical data structures to be associated with a given role, using additional collected information (as described above for role determiner 81 and possibly user selection) to select the hierarchical data structure to use.

[0123] Reference is now made to Figure 10, which illustrates the sub-elements of HDS repository 523. For each hierarchical data structure, HDS repository 523 can store its field role associations 5231, its HDS definitions 5232, and its HDS local instances 5233. It will be appreciated that a single role can have multiple hierarchical data structure definitions, and that HDS local instances 5233 can include editing context information. Thus, HDS repository 523 can remember 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.

[0124] It will be appreciated that the hierarchical data structure describes various options for the generated text element to be placed in the text field, including additional attributes that provide information necessary for the various analyses and selection elements described above. A hierarchical level may be associated with a node structure with nodes having various types. For example, a node may consist of an "option selection node" (single node), an "ordered set" of siblings of a node, or an end node. To select "one" node, the user must select one of the proposed alternative subnodes (determined and ranked as described in more detail herein below).

[0125] An "ordered set" node is a subtree consisting of a given ordered sequence of subnodes. The user can perform various editing operations on this sequence, such as changing the subnode order or deleting subnodes.

[0126] Reference is now made to Figure 4, which illustrates elements of HDS / rule handler 82. HDS / rule handler 82 may be used to modify the hierarchical data structure and adapt rules, as described in more detail herein below. It will be appreciated that when creating a first version for the user to edit, HDS / rule handler 82 may implement any ordering / ranking / diversification based on recommendations made by analysis engine 83 (e.g., selecting nodes to display and in what order per tier of the displayed hierarchical data structure).

[0127] During an editing session, the HDS / rule handler 82 may provide back-end processing of the displayed hierarchical data structure, which may include consulting with the analysis engine 83 for recommendations during editing. In this case, the HDS editor 84 may be the front end (although it may run on the client, the server, or both), and the HDS / rule handler 82 may provide an interface to the hierarchical data structure.

[0128] As described herein above, modifications to the hierarchical data structure may be made using, for example, system-initiated analysis that analyzes common changes made by multiple users and infers that persistent changes should be made to the hierarchical data structure definition. It will be appreciated that this can be entirely system-initiated (e.g., a background process that runs at a predetermined frequency) or triggered by specific user activity (e.g., when the Nth user makes a similar change).

[0129] The HDS / Rule Handler 82 may also process hierarchical data structure changes initiated by the Visual Editor Coordinator 85 based on "normal" edits of text (generated by the TCG system 80) within a text field that affect the hierarchical data structure of the text field.

[0130] As mentioned above, the HDS / Rule Handler 82 can process operations and modifications on entities such as roles, rules, nodes, subtrees, and results from the Analysis Engine 83. It will be appreciated that the functionality of the HDS / Rule Handler 82 may be applied depending on the handled entity in question, i.e., the role, the hierarchical data structure, or the node itself.

[0131] The orderer 821 generally orders entities, the deleter 822 generally deletes entities, the creator 823 creates new entities, the filter 824 generally filters entities, the ranker 825 generally ranks entities, the diversifier 826 diversifies entities, the node adaptor 827 adapts changes to nodes, and the rule adaptor 828 may adapt changes to text content generation analysis rules in the TCG analysis rule repository 525.

[0132] It will also be appreciated that the orderer 821, filter 824, ranker 825, and diversifier 826 may function similarly to the layout ranker and filter 45, ranker 48, and diversifier 49 described in U.S. Patent No. 9,747,258, entitled "System and Method for Creating and Using Visually Diverse, High-Quality Dynamic Layouts," issued August 29, 2017, assigned to the common assignee of the present invention, and incorporated herein by reference. In particular, the ranker 825 may operate according to parameters such as the frequency with which a given option is selected (by the current user, other users, or other "similar" users, as described above), the progress made in using a particular option (be it text generated based on the option used, saved, or actually exposed), or the similarity to other options made by the user for other fields (e.g., comparing the alternative text of a field with options made for other fields). The orderer 821 can order based on combining ranking information and diversity information, as described in US Pat. No. 9,747,258.

[0133] Reference is now made to FIG. 11 , which illustrates a sample hierarchical data structure. A typical embodiment in which a hierarchy can be used may be Level 1 (L1), document (option selection node); Level 2 (L2), paragraph ("ordered set" node); Level 3 (L3), sentence position ("ordered set" node); and Level 4 (L4), sentence variants (option selection node). Other levels may include end-node content variants ("ordered set" nodes) and words / punctuation and placeholders / additional elements. Additional end-node elements may also include objects embedded within the text (such as pictures or shapes), hyperlinks (pointing within or outside the website), and embedded website elements (such as action buttons, "email to" links, etc.). Thus, user-created text field content for a given role ("our company") can select one of the possible content variants, each constituting an ordered set of paragraphs, as illustrated in the following table: Each paragraph may consist of multiple sentence positions, each of which may be filled by one of a set of sentence variants. Each sentence variant consists of words, punctuation, and placeholders. Figure 11 can also be thought of as a partial hierarchical data structure that reflects some of the text options contained in the following tables (Tables 1-1 through 1-6):

[0134] [Table 1-1]

[0135] [Table 1-2]

[0136] [Table 1-3]

[0137] [Table 1-4]

[0138] [Table 1-5]

[0139] [Table 1-6]

[0140] The table above shows a simplified example of a single content variant (with the placeholder *XXX*) for an "About us" document. In this example, it is understood that depending on the company's location preferences (defined internally or gathered from external business information), there are multiple variants of the "location" sentence (location(anywhere), location(multiple), and single location) available for the user to choose which to retain. This may also be done using rules, as discussed in more detail later in this specification.

[0141] It will be appreciated that the hierarchy is typically created so that the ordered sequence at each level can be freely edited. Thus, for example, the sentences of a particular paragraph are typically written to work well in any combination or order, as seen in the table above. Indeed, in one embodiment, the orderer 821 can randomly rearrange some or all of the subnodes of sibling "order set" nodes. This has the advantage of making different sites based on the same hierarchical data structure more distinct from each other. Such randomized paragraph / sentence selection is better from the WBS vendor's 61 perspective (i.e., the created sites are more diverse) and from a search engine optimization perspective (since search engines may penalize multiple sites that appear similar).

[0142] It will be understood that a hierarchical data structure may also contain "fixed" elements, e.g., sentences that cannot be changed, cannot be moved, or have no alternatives (if the user decides to select a sub-hierarchy that contains such sentences), but such elements can be modified as part of normal text field editing in the WBS editor 30.

[0143] A deleter 822 can delete nodes as a result of user edits, and a creator 823 can create new nodes accordingly (and based on user edits and entered text), and may also provide similar functionality for deleting and creating other entities such as roles or even full hierarchical data structures.

[0144] In alternative embodiments, system 200 may use different hierarchies, including hierarchies with more or fewer levels, or hierarchies that use additional or different node types. Additionally, as discussed in more detail herein below, the hierarchies may be dynamic, as they may be modified during operation based on recommendations made by analysis engine 83.

[0145] In some embodiments, the hierarchical data structure may also reuse particular subtrees that may be hooked in various places. Thus, the original version of the hierarchical data structure (before user modification) may be a single-rooted directed acyclic graph.

[0146] It should be understood that placeholders are internal field markers that can be filled with information such as business names, people's names, etc., as described herein above. Placeholders can be site-global (e.g., company names) or local to a given page or site area (e.g., specific product details on a multi-product site). System 200 can have this information from previous interactions with the user, as described in U.S. Pat. No. 10,073,923, through generational surveys, from elsewhere within the website, or from other sources (e.g., the user's social network presence).

[0147] As discussed earlier herein, a user may interact with TCG system 80 and edit the hierarchical data structure via HDS editor 84, which supports performing the hierarchical data structure operations described above on a given text field. When entering a text field, a user can invoke HDS editor 84 using (for example) a "Help me write" button added to WBS editor 30.

[0148] It should be appreciated that the HDS editor 84 may allow the user to preview the proposed alternatives generated by the analysis engine 83 (as described in more detail herein below) based on the hierarchical structure of the selected fields, according to the filtering / ranking / diversification described above herein in connection with the HDS / rule handler 82. Placeholders may be marked as such and filled with initial values (if known).

[0149] The HDS editor 84 may also allow the user to view and select alternatives at all levels (eg, have a sentence position with multiple alternatives via an option selection node).

[0150] It will be appreciated that another feature of the HDS editor 84 may be the ability to allow a user to edit the sequence, for example, deleting and moving elements (such as sentences), and entering and editing placeholder values. Some embodiments of the system 200 may allow a user to insert new text within the HDS editor 84 without having to enter a separate editing session in the WBS editor 30, as described in more detail herein below.

[0151] The HDS editor 84 may also provide an option that allows a hierarchy to be modified so that it actually applies only to the local hierarchical data structure instance associated with the field. This may be the case, for example, when a user wants to move a sentence from one paragraph to another paragraph in the same field (or to another field entirely). Such a move may detach the hierarchical data structure subtree associated with the moved sentence from its original location (inside the hierarchical data structure subtree of one paragraph) and reattach it to the hierarchical data structure subtree of another paragraph.

[0152] In an alternative embodiment, the HDS editor 84 may allow final text editing at this point, although this functionality is typically reserved for the website building system's text component editor (within the WBS editor 30), and such editing may include inserting additional text, deleting nodes, and any editing of the text element. In this embodiment, the HDS editor 84 may further comprise an analysis-based text creator 841 based on (for example) analyzing the image associated with the text field (via an image feature analysis engine) and creating a matching description or caption for the particular image.

[0153] It should be understood that in edit mode (as shown in FIG. 8 , previously referenced herein), the HDS editor 84 may load an initial version of the hierarchical data structure from the HDS repository 523, as described herein above. However, the HDS editor 84 may also invoke the analysis engine 83 to determine initial text suggestions (which may include filtering, ranking, diversifying, selecting, reordering, and deleting elements of the initial hierarchical data structure via the HDS / rule handler 82, as described herein) to create the initial version of the hierarchical data structure to be edited. This may include selecting the highest-ranking combinations, so that the user can immediately start with the best suggestions the TCG system 80 can make. As described herein above, the actual modifications to the hierarchical data structure are managed by the HDS / rule handler 82 (which serves as a data management backend for the HDS editor 84 frontend). The user can modify this proposed hierarchical data structure at any time 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 herein below.

[0154] Reference is now made to Figures 12A, 12B, and 12C, which illustrate exemplary user interfaces for the HDS editor 84. Figure 12A illustrates editing a placeholder showing a company's proposed services ([A]). Figure 12B illustrates a browsing screen. It will be appreciated that the "<" and ">" buttons ([B]) allow for toggling between different top-level text alternatives (i.e., hierarchical data structures). Figure 12C illustrates alternative sentence selection when the mouse hovers over a sentence for which options are available, and a pop-up menu ([C]) shows the different options available for this sentence, ranked as filtered as described herein below. It will also be appreciated that the displayed alternative sentences already include updated placeholder values when available.

[0155] It will further be appreciated that given the ability to reorder and remove specific sub-elements (e.g., sentences), the HDS editor 84 can provide a "physical building block" UI metaphor, similar to a child's game in which blocks with text captions are placed.

[0156] The HDS editor 84 allows a user to edit a role-specific hierarchical data structure instance specific to a given text field on a given page. The edited instance is initialized using the role-specific hierarchical data structure (with element selection according to filters and ranking algorithms), but later changes are made to this field's specific hierarchical data structure instance.

[0157] The HDS editor 84 may also provide editing context saving. Reference is now made to Figures 13A-13D, which illustrate modifications to a simple hierarchical data structure. In Figure 13A, the top level has three possible alternatives (via the node "Select One 1"): A, B, and C. Each of these in turn consists of a series of subnodes (e.g., sentences) - A1-A3, B1-B2, and C1-C4.

[0158] A user can start (for example) with alternative A by deleting A2 and reordering the remaining A1 and A3, producing the final sequence A3, A1 (instead of A1, A2, A3) as shown in Figure 13B. After this, the user can change their mind and switch to alternative C and edit it, for example, also reordering C2 and C3 as shown in Figure 13C.

[0159] The HDS editor 84 can save the editing context so that if the user decides to leave alternative C and return to alternative A, they will return to the edited alternative A (i.e., A3, A1) rather than the original alternative A (A1, A2, A3), as shown in FIG. 13D.

[0160] It will be appreciated that context is saved at all levels, so each subtree is saved with its changes. Context is per field instance, so if (for example) an e-store has multiple product pages, each containing a product description, context is saved separately for each product description field instance. HDS / rule handler 82 may store the saved context in the HDS local instance repository 5233, along with a "visual context" that describes the current user selection.

[0161] As described above in this specification, the original version of a hierarchical data structure may be a directed acyclic graph (with multiple hooks / repeated subtrees) rather than a simple tree. When a user begins editing a hierarchical data structure via HDS editor 84, the repeated subtrees are duplicated (by HDS instance creator 842) for each place they are referenced. This is necessary because different copies of repeated subtrees may be modified in different ways. Duplication can be deferred until the actual repeated subtrees are actually modified (i.e., using a form of lazy evaluation in HDS instance creator 842).

[0162] The user can let the HDS editor 84 complete the edits and instruct the text generator 86 to generate the text into the text field. The HDS editor 84 can also alert the user (via a pop-up or other user interface element) if some of the required placeholders have not been filled in or if the original sample text (typically) is still included and is not relevant to the user's business.

[0163] As described herein above, the HDS editor 84 can invoke the analysis engine 83 to determine the appropriate hierarchical data structure for the associated text field.

[0164] It will be appreciated that in the case of an option choice node, the HDS / rule handler 82 can filter, order, and diversify the proposed subnodes, and in the case of any sibling "ordered set" nodes, can suggest sets and their ordering. In the case of placeholders, the analysis engine 83 can determine the value selected for the placeholder from available information, as described herein above.

[0165] For clarity, it will be understood that the initial (stored) hierarchical data structure definition for a given role includes complete node type information (i.e., which subnodes are associated with a given node and in what order). However, the HDS editor 84 can invoke 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 herein) to determine which alternatives to present to the user at various levels and in what order.

[0166] As described herein above, the analysis engine 83 is launched when the HDS editor 84 is initialized (to provide recommendations for the initial selections displayed) and operates online during hierarchical data structure editing via the HDS editor 84. This is done to influence the selections displayed to the user (e.g., if the user wants to consider alternatives for a particular sentence) and possibly to recommend or automatically influence behavior (e.g., if the user makes a particular editing change, rules may automatically suggest or influence additional changes).

[0167] Reference is now made to FIG. 5, which illustrates elements of the analysis engine 83. The analysis engine 83 may further include an AI / ML engine 831, an NLP engine 832, and a rules engine 833. As described herein above, the analysis engine 83 provides all the services of the TCG system 80 that are based on artificial intelligence / machine learning, natural language processing, and synthetic rules. In its work, the analysis engine 83 helps the role determiner 81 select roles for text fields and can select a hierarchical data structure for a given field and role.

[0168] It will be appreciated that elements of the HDS / rules handler 82 may be invoked as a result of analysis performed by the AI / ML engine 831, the NLP engine 832, or the rules engine 833, as described in more detail herein below.

[0169] The analytics engine 83 may use rules stored in the TCG analytics rules repository 525. It will be understood that the rules may be predefined by WBS vendor staff 61, or may be created and developed as a result of artificial intelligence, machine learning, website analysis, crowdsourcing, etc., as described in more detail herein below.

[0170] As described herein above, the analysis engine 83 may be used again in re-editing, as the suggested alternatives at each tree level may change over time due to, for example, changes in the input data evaluated by the analysis engine 83 that alter the ranking and display order of the alternative text options offered to the user when editing an unselected element of text. An example would be a change in the popularity of a given text option (based on analysis of selections made by other users) that affects an area of the hierarchical data structure that has not yet been edited by the user.

[0171] The diversifier 826 can select alternative layered data structures from the HDS repository 523 based on a collection of diverse text options, i.e., alternative layered data structures that provide text options that differ from each other and from the currently selected text.

[0172] It is understood that rules may also recommend or affect adaptations, i.e., node adapter 827 may apply changes to the hierarchical data structure, such as removing a node / subtree, as a result of a text change to an existing node (and rule adapter 828 may also adapt changes to rules accordingly as a result of analysis engine 83). Thus, analysis engine 83 may determine that when a user edits the "company description" node in the "about us" field, the user has specified a company address and therefore a separate company address sentence is no longer necessary.

[0173] The analysis engine 83 may also apply a set of rules to determine any of the above based on available input information. The analysis engine 83 can analyze input information, including any of the information detailed above for the role determiner 81 for use in determining field roles, as well as additional information (such as that collected by the internal data collector 951 and the external data collector 952). Such information may include predefined template information, user-specified information, site generation system information, and field information about the current and other fields (including non-text fields that may still be analyzed, e.g., image fields analyzed by image understanding algorithms). Other input information considered by the analysis engine 83 (and collected by the collector 95) may also include information collected from the user of the website building system and other users, including profile information, current and other site analyses (both internal and external to the website building system), associated field information, and any draft text entered into the fields.

[0174] The analytics engine 83 can also analyze information, including crowdsourced information (as collected by crowdsourced data collector 953) from end users of the current site or other sites in system 200 (e.g., sites that use the same template or hierarchical data structure), such as information about the site's success, collected business intelligence (BI) and usage statistics, information about the popularity of particular pages, and information about explicit end-user rankings (e.g., in systems that ask the question "How helpful was this page?", such as blog and support article systems). It can also analyze information about measures of user engagement (e.g., user biological feedback tracking such as reading time, mouse movements, page scrolling, eye movement detection) and information about implicit tests (created by the system or designers) that indicate user understanding of content.

[0175] Of course, system 200 can further use any of the techniques described in U.S. Patent No. 10,073,923 for crowd-sourced data collection and analysis. Thus, analysis engine 83 can evaluate and analyze information from other users' work, including both designer information and end-user information. Such analysis can be performed on a large-scale statistical basis and is subject to users' privacy, anonymity, and legal rights.

[0176] The analysis engine 83 can also use explicit hints contained in web pages, websites, or website-building system elements to guide its operations (e.g., via internal data collector 951). Such hints may be applicable to any analysis and recommendation performed by the analysis engine 83, such as those related to determining / selecting field roles, hierarchical data structure selection for given roles / fields, and hierarchical data structure customization for specific hierarchical data structures (both initially and during editing). Such hints can be included in user profiles, website-level data or settings, along with additional site information (e.g., code, metadata related to the site), site generation system 40 entities used to generate the site (e.g., content elements / types, layout elements / types), templates (all levels, site, page, section, etc.), component definitions and instances and added applications (e.g., third-party applications, list applications, etc.), etc.

[0177] Thus, for example, a rule may specify a different preferred order for paragraphs or specific sentences on the "Our Services" page of a real estate lawyer in the United States compared to a real estate lawyer in Europe. Such rules may be predefined or may be dynamically created based on an analysis of actual usage patterns by relevant users.

[0178] It will be appreciated that rules may be landscape-oriented; that is, recommendations for a given field X may depend on the elements selected and their order relative to other areas of field X or a separate field Y (on the same or another page of the website). For example, the analysis engine 83 may detect that a user prefers a particular style based on their responses to a given field and prioritize that style relative to other fields as well. The TCG analysis rules repository 525 may also include rules regarding which sentences work best together.

[0179] As described hereinabove, the analytics engine 83 may use a repository of predefined rules (created by WBS vendor staff 61 and stored in the TCG analytics rules repository 525), which may also be dynamically changed, as described in more detail herein below. The AI / ML engine 831 may use artificial intelligence and machine learning (and particularly deep learning) to analyze input data and user activity and generate recommendations to the HDS / rule handler 82 regarding node filtering, ranking, diversification, and ordering. It should be understood that the AI / ML engine 831 may modify its own data structures (e.g., neural network models) based on its interactions with the system 200 and its learning process. The AI / ML engine 831 may also store updated versions of such data structures in the ML / AI repository 515 or a separate, matching corresponding repository in the CMS 55.

[0180] It will also be appreciated that as use of system 200 increases, the input information becomes statistically significant to additional (more detailed) segments of the population. Thus, for example, once a sufficient number of related business establishments use system 200, system 200 may provide better results for such businesses. This process creates a set of positive feedback loops, thereby improving system 200.

[0181] It will also be appreciated that in this situation, there may be two levels of feedback loops: website building system <=> designer, and designer <=> user. Each level system 200 may develop multiple feedback loops as loops are developed for each user segment. It will be appreciated that feedback loops are considered a property of the overall system 200 interaction (e.g., the interaction between designer 62 and site user 63) as a result of system 200 behavior. Thus, it is not an explicit feature supported by specific subsystem elements of system 200.

[0182] As described above, the analytics engine 83 can use analytics based on the rules engine 833, and the AI / ML engine 831 and NLP engine 832, as well as data collected by the data collector 95, to make decisions about how the HDS / rules handler 82 should behave with respect to 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 its associated rules using the rules adapter 827 and node adapter 828.

[0183] 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 certain patterns, which may include, among other things, recurring editorial changes made to the generated text.

[0184] For example, a given hierarchical data structure node X (e.g., a paragraph) consists of a sequence of three subnodes A, B, and C (e.g., a sentence), in that order. Based on the editing actions of a user who selected node X, it is discovered that the order of the three subnodes has changed to C, A, and B. Furthermore, it is assumed that this repetitive editing behavior is consistent across a large number of users (also likely a majority). In such a case, analysis engine 83 may determine that the hierarchical data structure should be rearranged to present the C, A, and B sequence first, saving the extra editing actions that would be performed by most users, and instruct HDS / rule handler 82 accordingly.

[0185] It will be appreciated that as the number of users increases, the analysis engine 83 may perform a more detailed analysis that takes into account the users' specific parameters (such as details of their profile or information about their site), etc. Thus, if a sufficient number of Spanish photographers have made a given editing change, the analysis engine 83 may decide to proactively apply the repeated change to future Spanish photographer users.

[0186] It will be appreciated that modifications to the hierarchical data structure are not limited to changing the subnode order (or optional filtering and ranking). The node adapter 827 can also delete subnodes (possibly using the deleter 822).

[0187] It will also be appreciated that in typical embodiments, adding text cannot be done through the HDS editor 84 (which is typically limited to manipulating the existing hierarchical data structure). However, a user can add additional text through the WBS editor 30, which can be incorporated into the hierarchical data structure through the visual editor coordinator 85.

[0188] The NLP engine 832 may analyze text added to the same hierarchical data structure node by multiple users to detect common themes and text or generate text of common characteristics, and can use the results of such analysis to instruct the node adapter 827 and the rule adapter 828 to expand the hierarchical data structure adding additional nodes and possibly associated rules.

[0189] Thus, if a statistically significant number of photographers add one of three possible similar sentences to their business descriptions, the NLP engine 832 can detect such occurrences through its natural language analysis and instruct the node adapter 827 to create additional subnodes that extend the "business description" node. In this case, the node adapter 827 can create the subnode "Choice of One" and three end nodes (for the three sentences).

[0190] In an alternative embodiment, analysis engine 83 can present the results of the above analysis to WBS vendor staff 61 responsible for content authoring (and thus creating and maintaining the hierarchical data structure), who can then use the information to decide whether to update the hierarchical data structure.

[0191] It will be appreciated that such results may include (for example) usage statistics, success information of the text used (based on BI (business intelligence) or end-user feedback as described above), or other types of information collected by data collector 95 as described herein above.

[0192] This information may also include common text variations written by users for particular text components of particular roles or templates. It will be appreciated that such information can greatly facilitate the creation and maintenance of the HDS repository 523. For example, WBS vendor staff 61 can also manually remove unpopular or unsuccessful options or create new text alternatives based on commonly used text.

[0193] It will be appreciated that a user may edit the generated text when editing the containing page using WBS editor 30. Such edits may break the connection between the generated text and the original hierarchical data structure and the selection and ordering of hierarchical data structure subelements.

[0194] However, when such a visual editor is executed, the text fields do not conform to the field's saved hierarchical data structure editing context. If the user wants to return to the HDS editor 84 and rework the text, they may lose changes made in the WBS editor 30. Furthermore, there may be editing changes that cannot be represented in a hierarchical data structure, such as merging two sentences into one combined sentence.

[0195] It will be appreciated that in some cases it is important to be able to return to the HDS editor 84. Thus, the system can use the visual editor coordinator 85 to attempt to maintain correspondence (if only partial) between the text structure and the HDS structure.

[0196] For placeholders, the system 200 can support ongoing maintenance of placeholder information during visual editing. Thus, the visual editor coordinator 85 can lock placeholders against accidental changes and therefore refresh the placeholder values (e.g., when the underlying data changes). Alternatively, the system 200 allows placeholders to be refreshed for changes in underlying values, but alerts the user and flags those placeholders that have been modified in the WBS editor 30.

[0197] In an alternative embodiment, the HDS editor 84 may be integrated with the WBS editor 30. The single, combined editor can provide both hierarchical data structure editor services and visual editor services. The underlying data structure of the same text field will represent both hierarchical data structure information and text field information. Some editing operations (such as merging sentences) may break the hierarchical data structure association for this region. The visual editor coordinator 85 can provide tracking of editing changes and allow users to apply "return to generated text" to specific text regions (rather than the entire field).

[0198] In another alternative embodiment, the system 200 can maintain a back-pointer from the intra-field text structure to the hierarchical data structure. Thus, changes made during editing are also sent to the visual editor coordinator 85 and (possibly) applied to the hierarchical data structure instance for that field. This can also be implemented by saving a set of edit change records that are later reapplied to the hierarchical data structure.

[0199] Once the content is finalized and approved by the user for the text field, the text generator 86 can linearize the hierarchical data structure and generate the text for the text field. This is the text that will be displayed on the website when the site is generated using the site generation system 40 or inserted into the web pages displayed to the site designer 62 and site users 63.

[0200] It will also be appreciated that because different sites created using the same template will use different text content and will not be very similar, the system 200 can utilize SEO (search engine optimization) for the website being built. HDS SEO Builder 88 can further use 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 relevant spiders / search engines.

[0201] In one embodiment, a hierarchical data structure may include SEO keywords associated with nodes at all levels (e.g., associated with some or all of a sentence or paragraph). Selecting a particular node adds the SEO keywords associated with that node to the META header of the page.

[0202] The NLP engine 832 may also extract SEO keywords from text that is added or modified when editing text generated in the WBS editor 30. In particular, the system 200 can anticipate whether changes made in the WBS editor 30 to text generated by the TCG system 80 are important, unique, or relevant to the current site. Therefore, such specific text modifications may be good candidates for keyword extraction for the page's META header.

[0203] In another embodiment, the system 200 may use information from the site's predetermined SEO keywords and metadata, which may be specified by the user or part of a template (site or otherwise) selected by the user (e.g., a bakery template might include "bread, cake, . . . "). Such information may be added to the information collected by the data collector 95 to determine any filtering, ranking, and ordering of the hierarchical data structure nodes by the HDS / ruler handler 82.

[0204] System 200 can also support integration by providing text kit extraction and kit reintegration functionality to services external to the website building system. The text kit interface 89 can extract and reintegrate text kits containing all relevant text fields and all associations related to their location on the website. The extracted text can include only the current field content or an extended portion of the relevant hierarchical data structure. A kit may contain information about a single text field or multiple text fields.

[0205] The kit may also include additional relevant information. For example, the kit may include business classification information (such as business family and industry) or other metadata. This information may be used by translation marketplace sites (such as Fiverr.com) to categorize and route required service requests to the correct location within the marketplace. It will be appreciated that reintegrating a text kit requires extracting the modified text kit and reintegrating it into the website.

[0206] The associated website building system may also support having text fields with multiple versions (e.g., per language) stored in parallel. In such cases, a hierarchical data structure and TextKit may also be required to support such multiple versions.

[0207] It will be appreciated that TCG system 80 (and in particular user activities and choices when interacting with it) may affect other portions of system 200, including portions not directly related to a particular text field. Affected areas may include additional user interactions with WBS editor 30, as well as other portions of system 200.

[0208] For example, a user's activities within the TCG system 80 can affect how the system 200 provides content for non-text fields to the user. Thus, choices a user makes when creating text content for an "About Us" field can affect the types of images, video, or audio provided to the user for the non-text fields, including changing the selection and ranking of media objects provided or incorporating additional media sources into the provided media collection. A user (in a particular business / industry) who selects (for example) the "Service-Oriented" branch of the "About Us" hierarchical data structure for a given field / role may be provided with media that emphasizes human interaction. On the other hand, a user who selects the "Product-Oriented" branch of this hierarchical data structure may be provided with media that highlights products typical of the given industry.

[0209] It will be appreciated that there are many possible implementations of such "reverse hint" mechanisms, which may also be combined. In one embodiment, elements of the TCG system 80 (such as nodes) may include reverse hints that are provided to the WBS editor 30, which may be provided to the WBS editor 30 along with linearized text generated via the text generator 86. In another embodiment, the WBS editor 30 may include (for example) a suggested media recommender component. The recommender may consult the analysis engine 83 (or appropriate elements of the CMS 55 directly) to provide media recommendations to an editing user operating within the WBS editor 30.

[0210] Thus, the system 200 can generate text to support website construction with final text being a combination of predefined content in a hierarchical data structure, additional system adaptations, user actions and selections, information entered into placeholders, and free text based on user writing or editing.

[0211] Unless otherwise indicated, and as is evident from the above discussion, throughout this specification, discussions utilizing terms such as "processing," "computing," "calculating," "determining," and the like will be understood to refer to operations and / or processes of any type of general-purpose computer, such as a client / server system, mobile computing device, smart appliance, or similar electronic computing device, that manipulates and / or transforms physical quantities, such as physical quantities in the registers and / or memory of a computing system, into other data that are similarly represented as physical quantities in the memory, registers, or other such information storage, transmission, or display device of the computing system.

[0212] Embodiments of the present invention may include an apparatus for performing the operations described herein. This apparatus may be specially configured for the desired purposes, or may comprise a general-purpose computer or client / server configuration selectively activated or reconfigured by a computer program stored on the computer. The resulting apparatus, when instructed by software, can transform a general-purpose computer into an element of the present invention as discussed herein. The instructions can define a device of the present invention that operates with a desired computer platform. Such a computer program may be stored on any type of computer-readable storage medium, such as a disk, including, but not limited to, an optical disk, a magneto-optical disk, read-only memory (ROM), volatile and non-volatile memory, random access memory (RAM), electrically programmable read-only memory (EPROM), electrically erasable and programmable read-only memory (EEPROM), a magnetic or optical card, 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.

[0213] The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will be apparent from the description below. Additionally, embodiments of the present invention are not described with reference to any particular programming language. It will be understood that a variety of programming languages can be used to implement the teachings of the present invention as described herein.

[0214] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will readily occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

Claims

1. A tool for a website building system, the tool being implemented on at least one processor and memory, The tool may include: a database storing multiple text options, each associated with a field role; a role determiner that determines a field role for an editable text field on the website; an analysis engine that recommends at least one text option from the database for the field role; an HDS editor that allows a user to select a recommended text option for the text field; a text generator for generating text for the text field; A tool that includes:

2. 10. The tool of claim 1, wherein the field role is one of: predetermined, defined as part of a template, manually assigned, manually selected from a list of roles, defined according to user-entered text, and defined based on adjacent field roles.

3. The tool of claim 1 , wherein the text options are based on information collected internally from the website building system and information collected from external sources to the website building system.

4. The tool of claim 3 , wherein the analysis engine analyzes the information and makes recommendation of changes regarding the structure and content of the field roles.

5. The tool of claim 4 , wherein the analysis engine is rules-based.

6. The tool of claim 1 , further comprising a visual editor coordinator that coordinates an editing session between the HDS editor and an editor of the website building system.

7. The analysis engine An AI (artificial intelligence) / ML (machine learning) engine, an AI (artificial intelligence) / ML (machine learning) engine that analyzes the information and uses artificial intelligence and machine learning techniques to recommend the at least one text option and recommend the changes; and an NLP (natural language processing) engine that analyzes the information and uses natural language processing techniques to recommend the at least one text option and recommend changes; 5. The tool of claim 4, comprising at least one of:

8. The HDS editor includes: a hierarchical data structure (HDS) creation / editing unit for creating and editing a basic hierarchical data structure (HDS) definition for each text option associated with a field role; an HDS instance creation unit that creates and edits an HDS instance from the basic HDS definition; a role creation / editing unit that creates and edits initial role assignments for the basic HDS definition; a rule creation / editing unit that creates and edits the rules; The tool of claim 5 , comprising:

9. further comprising an HDS / rule handler for managing modifications to the at least one entity; the modifications are from the HDS editor, from the text option recommendations, and from the change recommendations from the analysis engine; The tool of claim 5 , wherein the at least one entity is one of a role, a rule, and a data collector that collects the information.

10. The HDS / rule handler: an orderer for generically ordering said at least one entity; a deleter for deleting said at least one entity; a creator for creating said at least one entity; a filter for filtering the at least one entity; a ranker for ranking the at least one entity; a diversifier for diversifying said at least one entity; a node adapter that applies the changes to the HDS; and The tool of claim 9 , comprising at least one rule adapter that applies changes to the rules.

11. 1. A method for a website building system, comprising: storing a plurality of text options in a database and associating each of the plurality of text options with a field role; determining a field role for an editable text field on the website; using an analysis engine to recommend at least one text option from said database for said field role; allowing a user to select one recommended text option for said text field; generating text for the text field; A method for providing

12. 12. The method of claim 11, wherein the field role is one of: predetermined, defined as part of a template, manually assigned, manually selected from a list of roles, defined according to user-entered text, or defined based on the roles of adjacent fields.

13. The method of claim 11 , wherein the text options are based on information collected internally from the website building system and information collected from sources external to the website building system.

14. The step of using the analysis engine includes: analyzing the information; making recommendations for changes to the structure and content of said field roles; The method of claim 13 further comprising:

15. 15. The method of claim 14, wherein analyzing the information is rule-based.

16. allowing the user to select one recommended text option; Coordinating an editing session between the editing of the website building system; The method of claim 11 further comprising:

17. using artificial intelligence and machine learning techniques to analyze the information and make the at least one text option recommendation and the modification recommendation; analyzing the information using natural language processing (NLP) techniques to recommend the at least one text option and to recommend the changes; 15. The method of claim 14, comprising at least one of:

Citation Information

Patent Citations

  • Web page authoring tool

    JP2003099257A

  • System and method for providing information in computer network

    JP2003281020A

  • Layout editing device and layout editing program

    JP2007108994A

  • Page data creation device and page data creation method

    JP2009053996A

  • Web page creation support device

    JP2009146186A