Grass assistant for browser
By integrating a drafting assistant tool into the browser and utilizing generative AI models and web-based contextual modification prompts, the quality and security issues of web text input are addressed, achieving high-quality, relevant, and secure text generation while reducing user interaction and computational resource usage.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2024-10-01
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, when users type text on web pages, it is difficult to generate high-quality and relevant responses, and there is a risk of sensitive information leakage and information entry on untrusted websites.
By integrating a drafting assistant tool into the browser, the system utilizes a generative AI model to generate responses for text boxes, modifies prompts based on the webpage context to improve response quality and relevance, and provides security protection to prevent the entry of sensitive information and use on untrusted websites.
It improves the quality and relevance of text input, reduces the number of user interactions and computing resource usage, enhances security, and prevents the leakage of sensitive information and the entry of information on untrusted websites.
Smart Images

Figure CN121970046A_ABST
Abstract
Description
Drafting assistant for browsers
[0001] Related applications
[0002] This application claims priority to U.S. Patent Application No. 18 / 480,969, filed October 4, 2023, entitled “Drafting Assistant For A Browser,” the entire disclosure of which is incorporated herein by reference. Background Technology
[0003] Websites provide helpful information or functionality to users, and many users use the internet to research products, places, companies, and services, and to provide feedback on these items, posting on social media or news feeds. Therefore, many web pages include user interface elements configured to receive text input from users. Examples include web pages that allow users to leave comments about products, services, places, etc.; web pages that allow users to leave reviews or reply to reviews; web pages that allow users to post messages (e.g., web pages on social media websites); and web pages that include surveys. Summary of the Invention
[0004] The implementation involves a drafting assistant tool that uses generative AI to help users generate input for text boxes on web pages. For example, the drafting assistant could assist users in leaving comments, reviewing articles, providing survey responses, drafting social media posts, etc. The drafting assistant receives prompts from the user related to a general idea of what to include in the generated response. The assistant modifies the prompts before submitting them to a generative language model. Modifications to the prompts are additional words that provide guidance (instructions) to the generative language model when generating a response, making the response higher quality or more relevant. These additional words can be based on the context from the web page itself. Modifications to the prompts (instructions) can be hidden from the user, or in other words, can be added without being shown to the user. The modifications to the prompts (instructions) can be presented to the user. In some implementations, the drafting assistant may offer the user the opportunity to edit the additional words (modifications to the prompts) before submitting the modified prompts to the generative language model.
[0005] Details of one or more implementations are set forth in the accompanying drawings and the following description. Other features will be apparent from the description and drawings. Attached Figure Description
[0006] Figure 1 shows a sample browser interface illustrating the initiation of the drafting assistant tool, based on the implementation method.
[0007] Figure 2A shows a sample drafting assistant interface based on the implementation method.
[0008] Figures 2B and 2C show example drafting assistant interfaces with generated responses, depending on the implementation method.
[0009] Figure 3A shows an example drafting assistant interface based on the implementation method.
[0010] Figures 3B and 3C show example drafting assistant interfaces with generated responses, depending on the implementation method.
[0011] Figure 4A shows an example browser interface for initiating a drafting assistant tool, based on the implementation method.
[0012] Figures 4B and 4C show example drafting assistant interfaces based on the implementation method.
[0013] Figure 4D shows an example drafting assistant interface with the generated response, depending on the implementation method.
[0014] Figure 5 is a diagram illustrating the computing system and server used to implement the concepts described in this paper.
[0015] Figure 6 is a flowchart illustrating an example process for providing a drafting assistant tool, depending on the implementation method. Detailed Implementation
[0016] This disclosure relates to a drafting assistant tool for a browser that assists in drafting input in text boxes on a website. The drafting assistant tool is triggered (displayed, invoked) in association with a text box on a webpage. A text box is a user interface element in which a user can provide text input. Text input can be provided via a keyboard, touchscreen, voice (e.g., speech-to-text), etc., and can include numbers, letters, characters, emojis, etc. The drafting assistant tool helps the user generate the text for the text box, but uses context recognized from the webpage to guide response generation. Specifically, the drafting assistant tool can generate modified prompts from user suggestions, adding additional words to help a large language model generate a response with increased relevance to the text box.
[0017] In other words, the implementation involves an assistant that helps the user generate prompts for a language model that generates responses for text boxes on a webpage. The implementation receives prompts from the user regarding input to the text boxes, generates modified prompts by incorporating contextual information identified from the webpage, and provides these modified prompts to a generative language model, which generates responses for these modified prompts. This response is then presented to the user and can be used as input to the text boxes. The implementation dynamically designs / enhances prompts based on the context of the webpage, thereby facilitating more accurate and relevant responses from the generative language model.
[0018] The technical solution provided by the drafting assistant tool offers a novel interface that supports a continuous and / or guided human-computer interaction process for providing responses (inputs) to textual user interface elements. Specifically, the tool adds context to user prompts from a generative language model to improve the relevance and quality of the returned responses. In other words, the drafting assistant uses intelligent understanding of web pages and text boxes to help users generate new content for the text boxes. While the drafting assistant tool interface is displayed, the content of the web page is maintained (e.g., persisted) in the browser. At least one technical effect of this tool is the integration of the generative language model with the browser, which reduces the number of interactions the user needs to make with the computing device to utilize the large language model. Additionally, the drafting assistant tool uses intelligence to modify prompts based on the web page context to improve the quality and relevance of the generated responses. In other words, responses generated using the drafting tool are more likely to require no editing and are more likely to be suitable for and relevant to the web page, thereby reducing user interaction with the computing device and the use of computing resources when generating responses.
[0019] In some implementations, another technical effect can be ensuring security. For example, some implementations can calculate a webpage's credibility score and use this score to protect users. This protection can include words added to the prompt designed to protect users from providing sensitive details in text input boxes. In other words, if the webpage's credibility score meets an untrustworthiness threshold, some implementations can generate words to be included in the modified prompt, signaling to the large language model that certain information about the user (e.g., personal information) should not be included in the generated response (such as address, identifier, birthday, etc.), even if such information is present in the user-provided prompt. As another example, some implementations can add words to the prompt to signal to the model that a response should be generated for untrustworthy sites (e.g., phishing sites). Some implementations can use credibility scores to prevent modified prompts from being provided for text input boxes on some webpages. In other words, some implementations may not trigger the tool on webpages with credibility scores that fail to meet a credibility threshold.
[0020] Modifications can include words relevant to the context of the current webpage. Context can be extracted from the webpage or the webpage's website (domain). Therefore, context can include the visible content of the webpage, the webpage's metadata (invisible content), including metadata describing the attributes of text boxes, etc. Context can include attributes or content of the domain to which the webpage belongs. For example, in some implementations, the drafting tool can use, for example, an index generated by a search engine to identify the content of the domain that can be used to generate the added prompt. This addition can include words instructing the model to limit the response to x characters (based on attributes of the text box discovered from HTML or text describing the text box); words instructing the model to draft the response in the style of x, where x can be the type of text box (e.g., review, comment, social media post, etc.) and / or the domain of the webpage (e.g., in the style of classified ads, in the style of newspaper reviews); words instructing the model to avoid using terms like y (e.g., where a boilerplate or small print on the webpage or a page associated with the domain indicates that y should not be used), etc. If the browser determines a website is problematic (e.g., through a trustworthiness assessment performed by the browser), the implementation can also help users avoid entering information on untrustworthy websites, for example, by adding "please write answer in the style of a person responding on an untrustworthy site," "exclude personal information from your response," or "do not include account information in your response." This can be done with the user having the opportunity to edit the modification.
[0021] In some implementations, the browser drafting assistant can be integrated into the browser, for example, in the browser's side panel or as a floating window. This ensures that the browser drafting assistant cannot be imitated (e.g., parodied) by third parties or web page content owners. This can be implemented as a security feature, allowing users to distinguish legitimate drafting assistant content provided by the drafting assistant tool from other content that can be inserted by third parties or by providers of web pages or other resources. Therefore, the technical problem of content imitation can be avoided by integrating a context search area within the browser. The technical effect of integrating a context search area within the browser is to prevent imitation.
[0022] The implementation described in this paper achieves improved guided human-computer interaction for obtaining multi-line input from web pages. The drafting assistant uses contextual information from the web page to help the large language model better understand the context in which the multi-line text input occurs, and thus uses a single user interface—i.e., an interface integrated into the browser—to generate higher quality and more relevant responses. This results in less user interaction with the computing device to complete the task, for example, because the user does not need to switch interfaces to use the generative language model to help generate the text in the text box, and because the possibility of revisions (rounds of using the generative language model) can be reduced due to the improved response quality based on modifications relevant to the web page context.
[0023] The browser described herein can execute on a computing device. For example, the browser can execute on a laptop. In some implementations, the browser can execute on a mobile device or on any other device with limited available screen space. Although many implementations shown and described herein are displayed in landscape mode, any implementation described herein can be rendered in portrait mode. Similarly, implementations described herein in portrait mode can be rendered in landscape mode.
[0024] The drafting assistant tool includes a novel user interface and new browser functionality. The novel user interface helps users compose responses for multi-line text boxes and integrates a connection to a generative language model into the application, eliminating the need for a separate window and minimizing user actions. Specifically, the drafting assistant tool includes intelligence that extracts context from resources (e.g., web pages and / or websites) and uses that context in conjunction with prompts from the user to obtain the text for the multi-line text box without navigating away from the original web page. The drafting assistant tool can generate words to be added to the prompt based on the context, and these words can be added to the prompt, for example, generating a modified prompt before the request is sent to the generative language model. The generative language model can be a general generative language model, for example, a generative language model configured (trained) to respond to user prompts on any topic. Therefore, the implementation can use an existing model but generate modified prompts that help that existing model better formulate responses to the text box. In other words, the implementation generates engineered prompts that can be better tailored to the model and can cause the generative language model to increase the relevance of the generated responses and reduce editing rounds. Generative language models can reside on the user's device. These models can be accessible via a network, for example. Drafting tools enable users to obtain responses from text boxes with fewer resources (less input and less navigation). Drafting assistant tools can be displayed in various ways and presented at different levels of detail.
[0025] Figure 1 illustrates an example browser interface for initiating a drafting assistant tool, according to a specific implementation. Figure 1 is a diagram of browser 110 displaying resource W1 within display area 120 of browser 110. In some implementations, display area 120 may be within tab 112 of browser 110. Browser 110 includes an address bar area 114. The address of webpage W1 may be displayed in address bar area 114 (e.g., input address area 113). If the browser window is associated with a user profile, the address bar area may include a user icon 111 representing the profile of the user associated with the browser window. Address bar area 114 includes an app menu control 108. App menu control 108 may be a selectable control that brings up an options menu provided by browser 110, such as settings options or other functionalities. Other controls, icons, etc., may also be included in address bar area 114. Address bar area 114 may be controlled by and / or associated with browser 110 (e.g., a browser application). Since the address bar area 114 is controlled by the browser 110, web page W1 and / or the provider of web page W1 cannot access the content displayed in the address bar area 114 or trigger actions provided by the actionable elements of the address bar area 114.
[0026] The webpage W1 in Figure 1 includes visible text content C1, such as text or images. Webpage W1 also includes a multiline text box TB1. The text box TB1 is any text box that receives text from the user, for example, via typing, gesture-to-text, speech-to-text, etc. In some implementations, a multiline text box such as TB1 may exclude text boxes that are expected to have or enforce a specific format—such as the format of an email address, phone number, date, etc. In the example of Figure 1, the user has given focus to the text box TB1. In response to giving focus to the text box TB1, the browser displays (makes it visible, shows) a tool affordance 125. The tool affordance 125 may be a selectable control configured to open a drafting assistant tool. For example, displaying the affordance may be implemented to display selectable UI controls. In some implementations, the tool affordance 125 may be a selectable icon. In some implementations, the tool affordance 125 may be a menu option. For example, in some implementations, the user can right-click in the text box TB1 to bring up a menu. Tool indicator 125 can be a menu option in a right-click menu. Furthermore, although shown in / near a multiline text box TB1, tool indicator 125 can be located in other areas, such as in the address bar area 114 or in the address input area 113. In some implementations, tool indicator 125 can be displayed in response to determining that the text box TB1 meets other criteria besides receiving focus—for example, the text box TB1 accepts at least a minimum number of characters, emojis, numbers, etc.
[0027] Figure 2A illustrates an example drafting assistant user interface 230 according to an implementation. In some implementations, browser 110 may be configured to display the drafting assistant user interface 230 in response to a selection of tool enablement 125. In the example of Figure 2A, the drafting assistant user interface 230 may be located within a side panel area controlled by browser 110. However, in some implementations, the drafting assistant user interface 230 may be displayed in a pop-up window, a floating window, an overlay window, etc. In the example of Figure 2A, the address bar area 114 of browser 110 and the drafting assistant user interface 230 may be part of an adjacent area. In other words, the browser may render the drafting assistant user interface 230 as part of the browser-controlled address bar area 114. This adjacent area (e.g., the combined address bar area 114 and the drafting assistant user interface 230) may be referred to as the browser action area. The browser action area is shown in Figure 2A by the gray area adjacent to the address bar area 114 and the drafting assistant user interface 230. The drafting assistant user interface 230 can be integrated into the browser 110 (e.g., the browser action area), preventing it from being imitated (e.g., mimicked) by third parties or the owners of the content of webpage W1. Because the drafting assistant user interface 230 is part of the browser 110's application, its integration is difficult to mimic. Since the drafting assistant user interface 230 and the address bar area 114 are contiguous, any background or theme applied to the address bar area 114 will flow into the drafting assistant user interface 230 (and will be contiguous with it) (as shown in the gray area). Third parties (e.g., providers of webpage W1) will find it difficult to mimic a continuous background within the browser 110's application.
[0028] Although not shown in Figure 2A, in some implementations, the drafting assistant user interface 230 is separated from the address bar area 114 by a visible dividing line between the address bar area and the drafting assistant user interface 230. This line can be eliminated (e.g., omitted) for security purposes. If provided, this is a line that a third party (e.g., the provider of webpage W1) cannot remove (e.g., erase, scribble over). In other words, similar to the address bar area 114, when provided, this is a line controlled (e.g., provided, eliminated) by the browser 110 (e.g., browser application). The combination of the drafting assistant user interface 230 and the address bar area 114 can be an indicator of the authenticity of the content in the drafting assistant user interface 230. When the drafting assistant user interface 230 and the address bar area 114 are combined, it indicates that the browser 110 (or the provider of the browser 110) is providing the tool enablement 125 and the drafting assistant user interface 230. In some implementations, when there is a dividing line between the drafting assistant user interface 230 and the address bar area 114, the information in the drafting assistant user interface 230 may be provided by an untrusted provider (e.g., a third party).
[0029] In some implementations, the drafting assistant user interface 230 may be triggered in response to the selection of a menu option, for example, from a menu displayed in response to the selection of app menu control 108. In some implementations, the drafting assistant user interface 230 may be triggered in response to a text box such as TB1 receiving focus. Having focus means that the user interface element is active, i.e., ready to receive input. In the example of FIG2A, the user may have initiated the drafting assistant by selecting the tool enablement 125 in FIG1 or by selecting a menu option (not shown) displayed in response to the selection of app menu control 108. In response to initiating the drafting assistant, in FIG2A, webpage W1 is displayed within display area 120', and the drafting assistant user interface 230 is also rendered within browser 110. Therefore, both webpage W1 and text box TB1 are displayed within display area 120', and the drafting assistant tool interface is rendered within the drafting assistant user interface 230 in browser 110. Display area 120' is different in size from display area 120 in FIG1. In other words, display area 120' occupies less area on the display than display area 120 to make room for drafting assistant user interface 230, but is otherwise the same as display area 120.
[0030] As shown in Figure 2A, in some implementations, the drafting assistant user interface 230 may include a prompt element 232. The prompt element 232 may be a text input box where the user can provide prompts for generating a response to the text box TB1. The prompt input area allows the user to provide details to be included in the response generated for the input box and / or details to help guide the generated response. The details provided by the user are referred to as prompts. In some implementations, the drafting assistant user interface 230 may include guiding text 231, which can help the user draft prompts. In some implementations, the guiding text 231 may be displayed in the prompt element 232. In some implementations, the drafting assistant user interface 230 may omit (not include) the guiding text 231. The drafting assistant user interface 230 may include a voice input control 233. The voice input control 233 can record the user's speech and convert the recorded content into text, which appears in the prompt element 232. In some implementations, the drafting assistant tool interface may include a close control 239. The close control 239 may be a selectable control configured to cause the browser 110 to remove (e.g., clear) the drafting assistant user interface 230 in response to being selected. In some implementations, removing (e.g., clearing) the drafting assistant user interface 230 automatically returns the display area 120' to the display area 120.
[0031] In some implementations, the drafting assistant user interface 230 may include a prompt modification element 235. The prompt modification element 235 may display additional words to be added to the prompt entered in the prompt element 232 before the request is sent to the generative language model. These additional words added to the prompt may be referred to as instructions, as they provide guidance to the model. In some implementations, the context is identified by analyzing the Document Object Model (DOM) for the text or metadata associated with the text box TB1. In some implementations, the context is identified by analyzing the accessibility tree for the text or metadata associated with the text box TB1. In some implementations, the context is identified by analyzing both the DOM and the accessibility tree for the text or metadata associated with the text box TB1. For example, the drafting assistant may examine the nodes associated with the text box TB1 (in the DOM, accessibility tree, or both) for attributes of the descriptive text box, such as character size limits, text describing the purpose of the text box TB1, etc. The context may include text and / or images represented in the web page content. The content extractor may be configured to exclude certain types of information from the context content. For example, excluded content may include user information, sensitive information, third-party information (e.g., content from a domain that does not match the domain of the webpage, such as advertising content), etc. In other words, content of webpage W1 obtained from sources unrelated to the domain of webpage W1 can be excluded. In some implementations, the content extractor can be a machine learning-based extraction model. For example, a machine learning model can be trained to exclude user information, sensitive information, third-party information, etc. In some implementations, a machine learning model can be used to identify the context and generate instructions (words to be added to the prompts). For example, the model can be provided with a DOM and / or accessibility tree, and the model can determine the context and / or generate instructions based on the context. This model can be a model running on the user's device. Additional instructions are generated by a drafting assistant tool, as explained in more detail with reference to Figure 5. Additional instructions are based on the context of webpage W1, including the context of text box TB1, as described herein.
[0032] In some implementations, the prompt modification element 235 may not be visible to the user. If it is visible to the user, in some implementations, the prompt modification element 235 can be edited by the user. In such implementations, the user can edit the text entered in the prompt element 232 and the prompt modification element 235. The drafting assistant user interface 230 may include a submit control 234. The submit control 234 may be a selectable control configured to, in response to being selected, cause the drafting assistant to use instructions (e.g., instructions from the prompt modification element 235) to modify the prompt (e.g., the text entered in the prompt element 232) and send the modified prompt to the generative language model. In other words, selection of the submit control 234 provides the modified prompt to the generative language model.
[0033] Figure 2B illustrates an example drafting assistant user interface 230 with a generated response, depending on the implementation. In the example of Figure 2B, browser 110 has received a response generated by the generative language model for the modified prompt and displays the response in response element 236. In some implementations, response element 236 is editable. In other words, in some implementations, the user can edit the generated response displayed in response element 236. The drafting assistant user interface 230 of Figure 2B includes an insert control 237 and a retry control 238. The insert control 237 can be a selectable control configured to copy the response displayed in response element 236 and paste it into text box TB1 in response to a selection. In other words, a selection of insert control 237 can use the response in response element 236 as text in text box TB1. A selection of insert control 237 can also close (remove) the drafting assistant user interface 230. The retry control 238 can be a selectable control configured to resubmit the modified prompt to the generative language model in response to a user selection. In some implementations, the user may be permitted to modify the prompt in prompt element 232 before selecting retry control 238. Therefore, the modified prompt provided to the generative language model in response to the selection of retry control 238 may differ from the modified prompt that generated the response displayed in response element 236 (the previous modified prompt). In some implementations, in response to the selection of retry control 238, the drafting assistant may add additional instructions as context, such as words indicating instructions to rewrite the generated response. In some implementations, the previous modified prompt and the response generated for that prompt may be provided as additional context for the generative model.
[0034] Figure 2C illustrates an example drafting assistant user interface 230' with two generated responses, depending on the implementation. In the example of Figure 2C, browser 110 has received a first response displayed in response element 236a and a second response displayed in response element 236b. Both responses are generated by a generative language model for a modified prompt. In some implementations, in response to receiving a selection of submit control 234, browser 110 can submit multiple separate requests to the generative language model (e.g., the two separate requests in the example of Figure 2C), each request producing a corresponding response. In some implementations, in response to receiving a selection of submit control 234, browser 110 can submit one request to the generative language model and receive multiple responses (e.g., the two responses in the example of Figure 2C). In some implementations, the drafting assistant may include words indicating the generation of multiple (e.g., two, three, four, etc.) responses, using special characters that can be used to identify the corresponding responses to define the instructions. In the example of Figure 2C, response elements 236a and 236b can be selectable; for example, each element can be configured like an insert control 237, but when selected, its corresponding response can be inserted into the text box TB1. In some implementations (not shown), the drafting assistant user interface 230' may include two insert controls 237, for example, one insert control for each response element.
[0035] Figure 3A illustrates an example drafting assistant user interface 330 according to an implementation. In some implementations, the drafting assistant can be configured to display the drafting assistant user interface 330 in response to a selection of the tool enablement 125. In the example of Figure 3A, the drafting assistant user interface 330 can be within a floating (pop-up) window. However, in some implementations, the drafting assistant user interface 330 can be in a side panel, overlay window, or other area of the browser interface. In the example of Figure 3A, the drafting assistant can be a browser extension or a service of browser 110.
[0036] In some implementations, the drafting assistant user interface 330 may be triggered in response to the selection of a menu option, for example, from a menu displayed in response to the selection of app menu control 108. In some implementations, as discussed above, the drafting assistant user interface 330 may be triggered in response to a text box such as TB1 receiving focus. In the example of FIG3A, the user may have initiated the drafting assistant by selecting the tool indicator 125 in FIG1 or by selecting a menu option (not shown) displayed in response to the selection of app menu control 108. As shown in FIG3A, in some implementations, the drafting assistant user interface 330 may include one or more elements discussed with respect to the drafting assistant user interface 230 of FIG2A, such as guide text 231, prompt element 232, voice input control 233, submit control 234, and close control 239. These elements operate as described above. FIG3A is an example in which the prompt modification is not visible to the user in the drafting assistant user interface 330. However, in some implementations, the drafting assistant user interface 330 may include a prompt modification element 235.
[0037] Figure 3B illustrates an example drafting assistant user interface 330 with a generated response, depending on the implementation. In the example of Figure 3B, the drafting assistant has received a response generated by the generative language model for the modified prompt, and displays the response in response element 236. In some implementations, response element 236 is editable. The drafting assistant user interface 330 of Figure 3B includes an insert control 237 and a retry control 238, which operate as described above with respect to Figure 2B.
[0038] Figure 3C illustrates an example drafting assistant user interface 330' with three generated responses, depending on the implementation. In the example of Figure 3C, the drafting assistant has received a first response displayed in response element 236a, a second response displayed in response element 236b, and a third response displayed in response element 236c. All three responses are generated by a generative language model for a modified prompt (e.g., using three different requests or using one request to the generative language model, resulting in the generation of these three responses). In some implementations, one or more of the responses may arrive at different times. In such implementations, user interface 330' may display response elements indicating that a response is expected but has not yet been received. For example, if a response corresponding to response element 236a has been received, but responses to response elements 236b and 236c have not yet been received, then response elements 236b and 236c may display placeholder elements. Placeholder elements may be text, icons, or text and icons. Placeholder elements provide an indication that a response is expected but has not yet been received. Placeholder elements may include text indicating that a response is loading or a message to wait. Placeholder elements may include a "Loading" icon. The loading icon may be a short, looping animation, such as a rotating circle. The text and / or icon may be replaced with the response when a response is received. In the example of Figure 3C, response elements 236a, 236b, and 236c may be selectable; for example, each element may be configured like an insertion control 237, but when selected, its corresponding response may be inserted into the text box TB1. In some implementations (not shown), the drafting assistant user interface 330' may include three insertion controls 237, for example, one insertion control for each response element.
[0039] Although discussed in the context of webpage W1, in some implementations, the content rendered in display area 120' may not be a webpage. As discussed herein, the content can be associated with any resource accessible via a network or stored on the user's device. Therefore, in some implementations, the content displayed in display area 120' can be an image, link, video, text, PDF file, etc.
[0040] Figure 4A illustrates an example browser interface for initiating a drafting assistant tool on a computing device with a limited display area, according to a specific implementation. The drafting assistant tool can be any of the implementations described above with respect to Figures 2A to 2C and / or Figures 3A to 3C, but because the screen is smaller than the screens shown in these previous figures, the drafting assistant tool can include fewer elements, or the elements can be represented differently, and / or include fewer different kinds of elements. Figure 4A is a diagram showing a browser 410 displaying resource W1 within a display area 420 of the browser 410. In some implementations, the display area 420 can be within a tab in the browser 410. The browser 410 includes an address bar area 414. The address of webpage W1 can be displayed in the address bar area 414 (e.g., the input address area 413). The address bar area 414 can include an app menu control 408. The app menu control 408 can be a selectable control that brings up an options menu provided by the browser 410, such as settings options or other functionalities. Other controls, icons, etc., can also be included in the address bar area 414. Address bar area 414 may be controlled by and / or associated with browser 410 (e.g., browser application). Because address bar area 414 is controlled by browser 410, web page W1 and / or the provider of web page W1 cannot access the content displayed in address bar area 414 or trigger actions provided by the actionable elements of address bar area 414.
[0041] The webpage W1 in Figure 4A includes visible text content C1, such as text or images. As described in Figure 1, webpage W1 also includes a multiline text box TB1. In the example of Figure 4A, the user has given focus to the text box TB1. In response to giving focus to the text box TB1, the browser displays (makes it visible, shows) a tooltip 425, which is similar to the tooltip 125 in Figure 1. Although shown as being in / near the multiline text box TB1, the tooltip 425 may be located in other areas, such as in the address bar area 414, the address input area 413, or in the footer of the browser 410. Additionally, the tooltip 425 may not be an icon, but may be a menu option as described above.
[0042] Figure 4B illustrates an example drafting assistant user interface 430 according to an implementation. In some implementations, the drafting assistant user interface 430 may be an overlay window. Due to the limited display area, the overlay window may partially obscure the display area 420. In some implementations, the drafting assistant user interface 430 of Figure 4B is still an area separate from the display area 420 but within the browser 410. Although the drafting assistant user interface 430 shown in Figure 4B is an overlay window at the bottom of the display area 420, implementations include overlay windows on either side or at the top of the display area 420. In some implementations, the position of the overlay window may depend on the device type and / or device orientation. As shown in Figure 4B, in some implementations, the drafting assistant user interface 430 may include one or more elements discussed with respect to the drafting assistant user interface 230 of Figure 2A, such as guide text 431, prompt element 432, voice input control 433, submit control 434, etc. These elements operate as described above. Figure 4B is an example of a drafting assistant user interface 430 in which prompts for modification are not visible to the user.
[0043] Figure 4C shows an example drafting assistant user interface 430 in which, for example, the prompt to modify element 435 is visible to the user. As discussed above, in some implementations, these modifications may not be editable by the user, and in some implementations, these modifications may be editable by the user. As shown in Figure 4C, the overlay window of the drafting assistant user interface 430' is further extended to display the prompt to modify element 435. This extension of the overlay window can cause the content of the webpage W1 displayed in the display area 420 to scroll. This scrolling can ensure that the text box TB1 corresponding to the drafting assistant user interface 430' (i.e., the text box for which the drafting assistant is opened) is visible in the display area 420. This scrolling can also be done when displaying a response from a generative language model, for example, as shown in Figure 4D.
[0044] Figure 4D illustrates an example drafting assistant user interface 430 with generated responses, depending on the implementation. In the example of Figure 4D, the drafting assistant has received a response generated by the generative language model for the modified prompt, and displays the response in response element 436. In some implementations, response element 436 is editable. The drafting assistant user interface 430 of Figure 4D includes an insert control 437 and a retry control 438, which operate similarly to the insert control 237 and retry control 238 described above with respect to Figure 2B. Although not shown in Figure 4D, in some implementations, the drafting assistant user interface 430 may include two or more generated responses, as described with respect to Figures 2C and 3C.
[0045] In some implementations, each generated response may be associated with a confidence level. The confidence level may be associated with the response of the generative language model. In some implementations, if the confidence level of a response fails to meet a confidence threshold, the drafting assistant may not display the response. Therefore, in some implementations, the drafting assistant may determine whether the confidence score associated with the response meets the confidence threshold, and in response to determining that the confidence score does not meet the confidence threshold, the drafting assistant may take a remedial action. This remedial action may be displaying a remedial message in the response element instead of the generated response. The remedial message may indicate that no response was generated, an error occurred, and / or the user should retry. In some implementations, the remedial action may include making the appended words generated by the drafting assistant editable if they are not yet editable. The remedial action may be displaying the response in the response element and adding a remedial message displayed with the response. The remedial message may indicate that the response does not have a high confidence level and may require editing. In some implementations, the remedial message may include more specific information, such as that the response may not be based on sufficient data, may not have sufficient support from other references, the response may have poor readability, and / or the response may contain inaccuracies. This specific information may be provided by the generative model.
[0046] Figure 5 is a diagram illustrating a system 500 including a computing system 502 and a server 540 for implementing the described concepts and various implementations shown and described herein. The computing system 502 can be a computing device with a limited screen size, such as a smartphone, smartwatch, smart glasses (e.g., A / R or V / R glasses), tablet computer, etc. The computing system 502 can also be a computing device with a larger screen size, such as a desktop computer, laptop computer, netbook, notebook computer, tablet computer, smart TV, game console running a browser, etc. Generally, the computing system 502 can represent any computing device executing a browser. As shown in Figure 5, the computing system 502 is configured to communicate with the server 540 and / or resource provider 510 (e.g., a web server) via a network 550. The computing system 502 includes at least a browser 520 and a drafting assistant 523. In some implementations, the browser 520 is configured to manage resource content, such as web page content, provided by the resource provider 510 (e.g., a web server). In some implementations, the browser 520 is configured to operate as one of several applications 528 executed via the operating system (O / S) 529. The browser 520 may be configured to implement parts of the user interface, windows, browser action areas, etc., as described in conjunction with the implementations described herein.
[0047] As shown in Figure 5, the computing system 502 includes several hardware components, including a communication module 561, one or more cameras 562, a memory 563, a central processing unit (CPU) and a graphics processing unit (GPU) 564, one or more input devices 567 (e.g., touchscreen, mouse, stylus, microphone, keyboard, etc.), and one or more output devices 568 (screen, speaker, vibrator, light emitter, etc.). These hardware components can be used to facilitate the operation of the browser 520, drafting assistant 523, and other functions of the computing system 502.
[0048] Browser 520 includes a user interface (UI) generator 521 configured to generate and / or manage various user interface elements of a browser such as browser 110 shown and described herein. For example, UI generator 521 may generate UI elements including various windows in browser 110, such as display area 120, drafting assistant user interface 230, and drafting assistant user interface 330, as shown at least in Figures 2A to 2C, and / or UI elements including various windows in browser 410, such as display area 420 and drafting assistant user interface 430, as shown at least in Figures 4A to 4D.
[0049] Browser 520 includes tab manager 522, which is configured to generate and / or manage various tabs (e.g., tab 112) of a browser such as browser 110 or browser 410. Browser 520 can be configured to provide / perform / assist in the performance of actions associated with actionable controls, such as links in a webpage, tool widgets 125 or 425, app menu controls 108, and controls in the drafting assistant user interface 230, such as voice input controls 233 or 433, submit controls 234 or 434, insert controls 237 or 437, retry controls 238 or 438, close controls 239, prompt elements 232 or 432, etc.
[0050] Browser 520 (e.g., via extension) includes or is modified to include Drafting Assistant 523. Drafting Assistant 523 is configured to generate and / or manage content rendering, such as content in Drafting Assistant User Interface 230, Drafting Assistant User Interface 330, and / or Drafting Assistant User Interface 430 (as shown at least in Figures 2A-2C, 3A-3C, and 4B-4D). Drafting Assistant 523 can also be configured to determine when the display of the Drafting Assistant User Interface is triggered. In other words, Drafting Assistant 523 can be configured to determine what event triggers the rendering of the Drafting Assistant User Interface (e.g., 230, 330, 430) and whether the triggering event has occurred. The triggering event may include a text input box receiving focus. The triggering event may exclude a text box from receiving focus when a text box meets a certain criterion. For example, if a text box with a desired format receives focus, Drafting Assistant 523 may determine that no triggering event has occurred because the generated response is not suitable for this type of text box. The triggering event may depend on user history. For example, with user permission, the drafting assistant 523 can learn which features describe text boxes where the user has historically used the drafting assistant and which features describe which features describe where the user has historically deactivated the drafting assistant (e.g., by not clicking tool widget 125, or by closing the drafting assistant user interface without generating a response or using the generated response). If a triggering event has occurred, the drafting assistant 523 can trigger a tool widget (tool widget 125 or 425).
[0051] In some implementations, the drafting assistant 523 may include a context extractor 524. In some implementations, a portion of the context extractor 524 may be part of the browser process. The context extractor 524 may be configured to identify the context associated with input to a text box on a webpage displayed by the browser 520. In other words, the context extractor 524 may be configured to identify which content associated with a resource displayed in the browser's display area is relevant to the text box for which the drafting assistant 523 was initiated. As described herein, the context extractor 524 may take the DOM tree and / or accessibility tree generated by the browser 520 for the resource as input and determine the context associated with the text box. The advantage of using both the DOM tree and the accessibility tree is the additional descriptive nodes in the accessibility tree for DOM elements such as images. In some implementations, the domain of the resource (e.g., the URL from the webpage) may be considered as the context associated with the input text box. In some implementations, the title of the webpage may be considered as the context associated with the input text box. The attributes of a text box—such as its maximum size—can be considered the context associated with the input text box. These attributes can be identified in the DOM tree and / or accessibility tree. The purpose or type of a text box can also be a context associated with the input text box. This purpose or type can be determined based on multiple factors, such as the text used to describe the text box (e.g., the text box's name / tag, text appearing alongside the text box, the page's domain, etc.). The type (vertical domain) of the page and / or the main entity of the page can also be a context associated with the text box. For example, context extractor 524 can be configured to determine whether a page falls under a specific vertical domain (such as shopping, entertainment, restaurants, etc.), which is typically associated with entities (e.g., items for sale, specific restaurants, specific entertainment venues, etc.). Context extractor 524 can be configured to identify the main entity that can be considered associated with the text box. In some implementations, context extractor 524 can use the length of other similar elements, such as other comments, other posts, other reviews, etc., as the context of the text box.
[0052] Context extractor 524 can be configured to ignore or exclude certain elements from the context. These elements may include user information, or in other words, elements provided by the user (e.g., associated with input controls), elements describing the user (e.g., username, profile information, account number, etc.). These elements may include sensitive information. Sensitive information may include age-restricted content (e.g., adult content, whether text or images). Sensitive information may include account information (e.g., from a financial institution's page). Sensitive information may include any personal information. Therefore, even if the webpage content includes such information, it may not be considered a context. In some implementations, when a resource is identified as a sensitive resource, all features of the drafting assistant tool may be disabled. For example, the drafting assistant tool may be disabled for some sensitive resources. In such implementations, if a resource is identified as a sensitive resource, tool enablement 125 or tool enablement 425 may not be displayed for text boxes and / or submit control 234 or control 434 may be inactive / disabled. In some implementations, if browser 520 includes a secure browsing service and that service has determined a webpage to be harmful, the webpage can be considered a sensitive webpage, and the drafting assistant can be disabled. In such implementations, browser 520 can calculate a credibility score for the webpage as part of the secure browsing service. In some implementations, the context extractor 524 can be a machine learning model executed on computing system 502. This model can be trained to detect the sensitivity of resources and / or calculate a credibility score for the webpage. The model can be trained to determine what to extract based on sensitivity. The model can be trained to exclude (e.g., ignore) certain types of information, such as user information or sensitive information. The credibility score generated for the website can be considered a credibility score for the webpage even if the webpage itself does not receive a credibility score.
[0053] Browser 520 can be configured to generate and / or manage content rendering associated with resources (e.g., webpage W1) in display areas 120 and / or 420 (including display area 120'), as shown. Resource content can be provided to computing system 502 by resource provider 510. Browser 520 and / or drafting assistant 523 can be configured to implement the process or part of the process described in conjunction with FIG. 6. As shown in FIG. 5, session data 527 (which can be stored in memory 563 (not shown)) can be managed or controlled by application 528. With user permission, session data 527 can include data associated with one or more browser sessions. In some implementations, session data 527 can include historical user data to help drafting assistant 523 determine when a triggering event occurs. Application information 526 can include information related to various applications operating within and / or executable by O / S 529.
[0054] As shown in Figure 5, the communication module 561 can be configured to facilitate communication with resource provider 510 and / or server 540 via network 550 through one or more communication protocols. Camera 562 can be used to capture one or more images, and memory 563 can be used to store information associated with browser 520 and / or drafting assistant 523, other applications 528, O / S 529, etc. CPU / GPU 564 can be used to process information and / or images associated with browser 520 and / or drafting assistant 523. The computing system 502 also includes one or more output devices 568, such as communication ports, speakers, displays, etc. The functionality described in this application can be implemented based on one or more policies 565 and / or preferences 566 stored in memory 563.
[0055] Figure 5 illustrates some aspects of server 540. For example, server 540 includes one or more processors 546 and one or more memory devices 548. In some implementations, server 540 may include or be accessible to a search index 544. Although shown as part of server 540, search index 544 may be communicatively connected to server 540. Search index 544 may be an index of web pages, an index of images, an index of products, an index of physical repositories, a news index, etc.
[0056] In an implementation where the drafting assistant 523 is associated with a search engine, the server 540 may include the drafting assistant 543. In an implementation with the drafting assistant 543, the drafting assistant 543 may be an application programming interface (API) configured to receive a request from the drafting assistant 523 including a modified prompt and to further modify the modified prompt, for example, by adding additional words (instructions) to the prompt before it is directed to the generative language model 545. To identify the additional words, the drafting assistant 543 may be configured to use a search index 544 to identify resources related to the terms and conditions associated with the domain of the webpage for which the drafting assistant was initiated—i.e., the webpage displayed by the browser 520. The terms and conditions resources may include additional context associated with the text box and may be used by the drafting assistant 543 to further modify the prompt. For example, the domain's terms and conditions may include restrictions on content submitted via the text box, such as prohibitions on vulgar, inflammatory, or racist language. These additional restrictions can be identified by the drafting assistant 543 and include words added to the prompt, for example, in the form of "do not use profanity, inflammatory, or racist language in the response." In some implementations, the drafting assistant 543 may add additional words configured to instruct the model to generate more than one (e.g., two, three, etc.) different responses to the modified prompt, separated from each other by special characters. In some implementations, this instruction for generating more than one response may be added by the drafting assistant 523.
[0057] In some implementations, with user permission, the drafting assistant 543 can be configured to determine contextual recommendations based on preference information. For example, this preference could come from the user's profile and could include user preferences considered when making contextual recommendations. In some implementations, with user permission, preferences can be inferred from browsing history.
[0058] Server 540 may include a generative language model 545. The generative language model 545 may be a large language model based on a transformer network configured to generate responses to prompts. Examples of such generative language models include, but are not limited to, GLaM, LaMDA, PaLM, GPT models, etc. The generative language model 545 may be any language model configured to respond to any prompt; that is, the generative language model 545 is a general model but may include some adjustments to ensure realism. In other words, the generative language model 545 does not require specialized training to respond to modified prompts, and its implementation can be integrated with existing generative language models. In some implementations, the generative language model 545 may be configured to receive requests from a drafting assistant 523 and provide responses to that drafting assistant. In some implementations, requests from the drafting assistant 523 may be routed through the drafting assistant 543. In this implementation, drafting assistant 543 can direct the request (modified prompt) from drafting assistant 523 to generative language model 545, and direct the response to the modified prompt generated by generative language model 545 to browser 520 and / or drafting assistant 523. Although not shown in Figure 5, in some implementations, generative language model 545 may be local to computing system 502 and may not require communication or network connection with server 540 to provide modified prompts to the model or receive responses.
[0059] Figure 6 is a flowchart illustrating an example method 600 that performs at least some of the concepts described in the various figures herein. Many elements of method 600 can be implemented by at least the system shown in Figure 5. Specifically, method 600 can be performed by a browser (e.g., browser 520) of computing system 502. Example method 600 is an example of a drafting assistant that adds context to user prompts for a generative language model, enabling the model to generate higher quality and more appropriate responses to text boxes. The drafting assistant can be triggered (invoked) by the user, for example, through interaction with icons, menu options, etc.
[0060] At step 602, the system may receive a prompt related to a text box on the webpage. This prompt may be obtained via a user interface provided in response to a call to the drafting assistant. At step 604, the system may obtain a context identified using the webpage. Step 604 may be executed concurrently with step 602. For example, the system may be obtaining a context while waiting for an input prompt. The context may be identified from the DOM tree. The context may be identified from the accessibility tree. The context may be identified from both the DOM tree and the accessibility tree. The context may be one or more attributes of the text box. The context may be a constraint associated with the text box. The context may be the character length of the text box. The context may be the type of the text box. The context may be the source (domain) of the webpage. The context may be the credibility score of the webpage and / or website (domain). The credibility score may be calculated or obtained by the browser. The credibility score may be calculated by the drafting assistant. The context may include the text in the text box or text near the text box. The context may include text already provided by the user in the text box.
[0061] At step 606, the system can use the context to generate one or more words to be added to the prompt. The additional words can be configured as instructions for the generative language model. For example, if the context is a credibility score that fails to meet a credibility threshold, the instructions could include "generate a response in the style of a person responding to a phishing site" or "do not include any personal information in your response." As another example, if the text associated with the text box includes a character limit, the instruction could be "please limit your response to x characters," where x is extracted from the context. As yet another example, the instruction could be "phrase your response as a comment," where the text box is identified as a comment text box, or the instruction could be "phrase your response in the style of newsite.com," where the text box appears on a webpage of newsite.com.
[0062] At step 608, the system may optionally display additional words to the user. In some implementations, additional words are not displayed to the user. In some implementations, the displayed words to be added to the prompt are editable by the user, i.e., displayed in editable user interface elements. In some implementations, the displayed words to be added to the prompt are not editable by the user. In some implementations, whether to display words to be added to the prompt may be based on the webpage's credibility score. In some implementations, whether to make the words to be added to the prompt editable may depend on the website associated with the web and / or the classification of the text boxes associated with the webpage. In some implementations, whether to make the added words editable may depend on the confidence score associated with the additional words (instructions). For example, the added words may be associated with a confidence score that fails to meet a credibility threshold, and the system may make such additional words editable by the user. The confidence score may be associated with the instruction through a model used to generate the instruction or otherwise as part of the generated instruction.
[0063] At step 610, the system can generate a modified prompt by adding words (recognized by the system) to the prompt (provided by the user). The system can generate a modified prompt by appending additional words to the prompt. In some implementations, additional words can also be obtained from a search index—for example, from terms and conditions resources (PDFs, documents, or web pages) associated with the webpage. At step 612, the system can provide the prompt to a generative language model. The generative language model can be on a client device. The generative language model can be browser-accessible, for example, on a server. The generative language model generates a response to the modified prompt. The words added to the user prompt help the generative language model generate a higher-quality response suitable for the text box.
[0064] At step 614, the system can receive a response from the generative language model and display the response to the user in a user interface generated by the drafting assistant. The user interface may include controls for responding to the response. These controls may include an insert control. If the user selects the insert control, at step 616, the system can receive the selection of the insert control, and at step 618, in response to the selection of the insert control, the system can insert the response into a text box on the webpage. In other words, the system pastes the generated response into the text box in response to the selection of the insert control. At step 622, the system can also remove the drafting assistant user interface after pasting the response into the text box or concurrently thereafter. Such selection of the insert control may be recorded in the user history with the user's permission to help determine when and / or whether to display the drafting assistant's toolkit to that user.
[0065] The control may include a cancel control. At step 620, the system may receive a selection of the cancel control, and in response to receiving such a selection, at step 622, the system may remove the drafting assistant user interface without pasting the response into a text box. Such a selection of the cancel control may be recorded in the user history with the user's permission to help determine when and / or whether to display the drafting assistant's toolkit for that user.
[0066] The control may include a retry control. At step 624, the system may receive a selection of the retry control. In response to the selection of the retry control, the system may restart all or part of method 600. For example, in some implementations, the selection of the retry control may cause the prompt received from the user to be deleted. In some implementations, the selection of the retry control may cause the system to generate another response based on the same modified prompt (i.e., to regenerate the response). In some implementations, the selection of the retry control may generate a new prompt that tells the generative language model to “draft a different response” using the previously modified prompt, and the previously generated response can serve as the context for the new prompt. Other similar retry responses fall within the disclosed implementations. In some implementations, the retry control may be disabled or may not be displayed depending on bandwidth. For example, if providing a prompt to the generative language model involves a network connection, the bandwidth / quality of that network connection may be poor, and the system may not allow retries, for example, by disabling or not displaying the retry control. Similarly, providing the model with the time between the request and the received response can be used to determine whether to disable the retry control.
[0067] In addition to the description above, users can be provided with controls that allow them to make choices regarding whether and when the features described herein enable the collection of user information (such as information about the user's use or withdrawal from the drafting assistant), when or whether the drafting assistant is active, and whether to send prompts to the server for selection. Furthermore, some data may be processed in one or more ways before it is stored or used, thereby removing personally identifiable information. For example, user identity may be processed to the point that the user's personally identifiable information cannot be determined, or the user's geographic location may be generalized (e.g., to the city, zip code, or state level) if location information is available, making it impossible to determine the user's specific location. Therefore, users can control what information is collected from them, how that information is used, and what information is provided to them.
[0068] Various implementations of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementations in one or more computer programs executable and / or interpretable on a programmable system, which includes at least one programmable processor, which may be dedicated or general-purpose and coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to send data and instructions to the storage system, at least one input device, and at least one output device.
[0069] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented using high-level procedural and / or object-oriented programming languages and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.
[0070] To provide interaction with the user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user) and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including auditory, verbal, or tactile input.
[0071] The systems and technologies described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or middleware components (e.g., an application server), or front-end components (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with the implementation of the systems and technologies described herein), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected via digital data communication (e.g., a communication network) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), and the Internet.
[0072] Several implementations have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the disclosed implementations.
[0073] Furthermore, the logical flow depicted in the diagram does not require the desired result to be achieved in the specific order or sequence shown. Additionally, other steps may be provided, or steps may be removed from the described flow, and other components may be added to or removed from the described system.
[0074] Clause 1. A method comprising: receiving from a user a prompt relating to input to a text box on a webpage; generating a modified prompt by adding instructions to the prompt based on a context identified using the webpage; providing the modified prompt to a generative language model; receiving a response generated by the generative language model for the modified prompt; and providing the response as input to the text box.
[0075] Clause 2. The method as described in Clause 1, wherein the context of the webpage includes restrictions associated with the text box, and the instruction includes instructions for the generative language model to restrict the response based on the restrictions.
[0076] Clause 3. As described in Clause 2, wherein the limitation is the character length of the text box.
[0077] Clause 4. The method as described in Clause 2, wherein the limitation is obtained from the text describing the text box.
[0078] Clause 5. The method as described in any one of Clauses 1 to 4, wherein the context of the webpage includes the type of the text box, and the instruction includes instructions to word the response based on the type.
[0079] Clause 6. The method as described in any one of Clauses 1 to 5, wherein the context of the webpage includes the source of the webpage, and the instruction includes an instruction to word the response in the style of the source.
[0080] Clause 7. The method of any one of Clauses 1 to 6, wherein the method further comprises: detecting focus on the text box; and providing a selectable icon in response to detecting the focus, the selectable icon being configured to present a user interface having elements for obtaining a prompt, wherein the prompt is obtained from the user interface.
[0081] Clause 8. The method of Clause 7, wherein the method further comprises: presenting the response in the user interface, the user interface further comprising: a control for regenerating the response, and a control for using the response; and providing the response as input to the text box in response to a selection of the control for using the response.
[0082] Clause 9. The method of Clause 8, wherein the method further comprises: in response to a selection of a control for regenerating the response; providing the modified prompt to the generative language model; receiving a second response generated by the generative language model; and presenting the second response in a user interface including controls for regenerating the response and controls for using the response.
[0083] Clause 10. The method of any one of Clauses 1 to 9, wherein the method further comprises: providing the instruction in an editable user interface element before providing the modified prompt to the generative language model.
[0084] Clause 11. The method as described in any one of Clauses 1 to 9, wherein the prompt is displayed in a first user interface element and the instruction is displayed in a second user interface element.
[0085] Clause 12. The method of any one of Clauses 1 to 11, wherein the instruction includes instructions for generating at least a first response and a second response to the modified prompt, the response being the first response, and the method further includes: presenting the first response and the second response for selection; and receiving a selection of the first response, wherein the first response is provided as input to the text box in response to receiving the selection.
[0086] Clause 13. The method of any one of Clauses 1 to 12 further includes: determining a credibility score for the webpage; determining that the credibility score meets an untrustworthiness threshold; and in response to determining that the credibility score meets the untrustworthiness threshold, the instruction includes an instruction to exclude personal information.
[0087] Clause 14. The method of any one of Clauses 1 to 13 further comprises: determining a credibility score for the webpage; determining that the credibility score meets an untrustworthiness threshold; and in response to determining that the credibility score meets the untrustworthiness threshold, the instruction includes an instruction to generate the response in the style of someone answering an untrustworthy site.
[0088] Clause 15. The method of any one of Clauses 1 to 14 further comprises: determining a credibility score for the webpage; and determining that the credibility score satisfies a credibility threshold; wherein the generation of the modified prompt occurs in response to determining that the credibility score satisfies the credibility threshold.
[0089] Clause 16. A method comprising: determining that a text box on a webpage receives focus; in response to determining that the text box receives focus, displaying a widget configured to initiate a drafting assistant tool in response to a selection of the widget; receiving a selection of the widget; and in response to receiving a selection of the widget: generating a prompt for a generative language model by adding instructions to instructions provided to a user based on the context of the text box identified using the webpage; providing the prompt to the generative language model; receiving a response generated by the generative language model for the prompt; and providing the response as input to the text box.
[0090] Clause 17. The method as described in Clause 16, wherein the user-provided instruction includes the content of the text box prior to receiving a selection of the display device.
[0091] Clause 18. The method of Clause 16 or 17 further comprises: in response to receiving a selection of the enablement: initiating the display of a drafting assistant user interface including a prompt element, guiding text, and a submit control, wherein providing the prompt to the generative language model occurs in response to receiving a selection of the submit control, wherein in response to receiving the response, the method comprises: displaying the response and an insert control in the drafting assistant user interface, and wherein providing the response as input to the text box occurs in response to receiving a selection of the insert control.
[0092] Clause 19. The method as described in Clause 18, wherein the insert control displays the response.
[0093] Clause 20. A computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform the method as described in any one of Clauses 1 to 18.
[0094] Clause 21. A system includes at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the system to perform any of the methods or operations disclosed herein.
Claims
1. A method comprising: Receive prompts from the user related to their input in the text boxes on the webpage; A modified prompt is generated by adding words to the prompt based on the context identified using the webpage; The modified prompt is provided to the generative language model; the response generated by the generative language model for the modified prompt is received. And provide the response as input to the text box.
2. The method of claim 1, wherein the context of the webpage includes constraints associated with the text box, and the words include instructions for the generative language model to constrain the response based on the constraints.
3. The method of claim 2, wherein the limitation is the character length of the text box.
4. The method of claim 2, wherein the limitation is obtained from the text describing the text box.
5. The method of any one of claims 1 to 4, wherein the context of the webpage includes the type of the text box, and the words include instructions for wording the response based on the type.
6. The method of any one of claims 1 to 5, wherein the context of the webpage includes the source of the webpage, and the words include instructions to phrase the response in the style of the source.
7. The method of any one of claims 1 to 6, further comprising: Detect the focus on the text box; And in response to detecting the focus, a selectable icon is provided, the selectable icon being configured to present a user interface with elements for obtaining the prompt, wherein the prompt is obtained from the user interface.
8. The method of claim 7, further comprising: The response is presented in the user interface, which further includes: a control for regenerating the response, and a control for using the response; and in response to a selection of the control for using the response, the response is provided as input to the text box.
9. The method of claim 8, further comprising, in response to selection of the control for regenerating the response: providing the modified prompt to the generative language model; receiving a second response generated by the generative language model; and presenting the second response in the user interface, the user interface including the control for regenerating the response and the control for using the response.
10. The method of any one of claims 1 to 9, further comprising: The words are provided in editable user interface elements before the modified prompts are provided to the generative language model.
11. The method of any one of claims 1 to 9, wherein the prompt is displayed in a first user interface element and the word is displayed in a second user interface element.
12. The method of any one of claims 1 to 11, wherein the words include instructions for generating at least a first response and a second response to the modified prompt, the response being the first response, and the method further includes: Present the first response and the second response for selection; and receiving a selection of the first response, wherein the first response is provided as input to the text box in response to receiving the selection.
13. The method of any one of claims 1 to 12, further comprising: Determine the credibility score of the webpage; The credibility score is determined to meet the untrustworthiness threshold. And in response to determining that the credibility score meets the untrustworthiness threshold, the words include instructions to exclude personal information.
14. The method of any one of claims 1 to 13, further comprising: Determine the credibility score of the webpage; The credibility score is determined to meet the untrustworthiness threshold. And in response to determining that the credibility score meets the untrustworthiness threshold, the words include instructions to generate the response in the style of someone answering an untrustworthy site.
15. The method of any one of claims 1 to 14, further comprising: Determine the credibility score of the webpage; And determining that the credibility score meets the credibility threshold; wherein the generation of the modified prompt occurs in response to determining that the credibility score meets the credibility threshold.
16. A system comprising: At least one processor; The system also includes a memory storing instructions that, when executed by the at least one processor, cause the system to perform operations including: receiving a prompt from a user related to input to a text box on a webpage; generating a modified prompt by adding words to the prompt based on a context identified using the webpage; providing the modified prompt to a generative language model; receiving a response generated by the generative language model for the modified prompt; and providing the response as input to the text box.
17. The system of claim 16, wherein the context of the webpage includes constraints associated with the text box, and the words include instructions for the generative language model to constrain the response based on the constraints.
18. The system of any one of claims 16 to 17, wherein the context of the webpage includes the type of the text box, and the words include instructions for wording the response based on the type.
19. The system of any one of claims 16 to 18, wherein the operation further comprises: Detect the focus on the text box; And in response to detecting the focus, a selectable icon is provided, the selectable icon being configured to present a user interface with elements for obtaining the prompt, wherein the prompt is obtained from the user interface.
20. The system of claim 19, wherein the operation further comprises: The response is presented in the user interface, which further includes: a control for regenerating the response, and a control for using the response; and in response to a selection of the control for using the response, the response is provided as input to the text box.
21. The system of any one of claims 16 to 20, wherein the operation further comprises: Before providing the modified prompts to the generative language model, the added words are provided in an editable user interface element.
22. A computer-readable medium storing instructions that, when executed by at least one processor, cause the at least one processor to perform an operation, the operation comprising: Ensure that the text box on the webpage receives focus; In response to determining that the text box has received focus, a display is shown, the display being configured to initiate a drafting assistant tool in response to a selection of the display; and a selection of the display is received. And in response to receiving a selection of the enabler: generating a prompt for the generative language model by adding additional words determined based on the context of the text box identified using the webpage to words provided by the user, providing the prompt to the generative language model, receiving a response generated by the generative language model for the prompt, and providing the response as input to the text box.
23. The computer-readable medium of claim 22, wherein the user-provided words include the content in the text box prior to receiving a selection of the display device.
24. The computer-readable medium of claim 22, wherein the operation further comprises, in response to receiving a selection of the enablement: initiating the display of a drafting assistant user interface including a prompt element, guiding text, and a submit control, wherein providing the prompt to the generative language model occurs in response to receiving a selection of the submit control, wherein, in response to receiving the response, the operation further comprises displaying the response and an insert control in the drafting assistant user interface, and wherein providing the response as input to the text box occurs in response to receiving a selection of the insert control.
25. The computer-readable medium of claim 24, wherein the insertion control displays the response.