Using large language models to generate view-based accessibility information

EP4743878A1Pending Publication Date: 2026-05-20GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
GOOGLE LLC
Filing Date
2024-09-17
Publication Date
2026-05-20

AI Technical Summary

Technical Problem

Existing accessibility services require users with disabilities to interact with each individual element on a screen to receive accessibility information, which is time-consuming and difficult, especially with unknown or unintuitive screen layouts.

Method used

A computing system applies a large language model to accessibility information associated with an application, generating a summary of the content included in a graphical user interface, which can be presented to the user via text-to-speech synthesis.

Benefits of technology

This approach provides users with a quicker and more user-friendly experience by summarizing the content of a graphical user interface, reducing the need for users to navigate through each element individually.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024047050_03042025_PF_FP_ABST
    Figure US2024047050_03042025_PF_FP_ABST
Patent Text Reader

Abstract

A computing system retrieves, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface associated with an application executing at a computing device. The information associated with the plurality of user interface elements may be generated by the application programming interface. The computing system converts the information into structured text. The computing system generates, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model. The computing system then sends, to the computing device, the summary of the content included in the graphical user interface, wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface.
Need to check novelty before this filing date? Find Prior Art

Description

USING LARGE LANGAUGE MODELS TO GENERATE VIEW-BASED ACCESSIBILITY INFORMATIONCROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of US Provisional Patent Application No. 63 / 587,018, filed September 29, 2023, which is incorporated by reference herein in its entirety.BACKGROUND

[0002] Accessibility services are designed to assist users with disabilities in interacting with devices and applications. For example, accessibility services may provide users with visual impairments the ability to easily understand the content presented to them on a screen. However, accessibility information is not always readily available for many use-cases within any given device space. For example, users are often required to interact with each individual element on the entire screen to receive information about the content being presented to them, which can be time consuming and difficult, especially when the screen layout is unknown or unintuitive. As such, there is a need to improve accessibility services so that users with disabilities can receive a more user-friendly experience when interacting with devices and applications.SUMMARY

[0003] In general, techniques of this disclosure are directed to techniques for providing a summary of content included in a graphical user interface to a user by applying a large language model to accessibility information associated with an application. A computing device (e.g., a smartphone or other user computing device) may include an accessibility service (e.g., an accessibility service) that includes an application programming interface (API) configured to gather view accessibility information from one or more applications executing at the computing device. In some examples, the accessibility service may analyze content displayed by the computing device in response to a triggering user input (e.g., mechanically (such as by pressing a button), by gesture recognition / control (such as triple tapping on a screen), by audio input (such as a verbal command), etc.) or automatically (such that no triggering user input is required, provided that the user has given explicit permission for the accessibility service to analyze the content of the screen without such user input). In some examples, the accessibility information may be generated by the API, such thatapplications can still be accessible to users even when developers do not provide accessibility information. A computing system in communication with the computing device may retrieve, using the API, the accessibility information. The accessibility information may be associated with a plurality of user interface elements included in a graphical user interface associated with an application executing at the computing device. The computing system may then convert the accessibility information into structured text (e.g., an extensible markup language (XML) structure) and apply a machine learning model (e.g., a large language model (LLM)) to the structured text. The machine learning model may interpret the structured text and generate a summary of the content included in the graphical user interface associated with the application executing at the computing device. The summary of the content may be sent to the computing device from the computing system. In some examples, the summary of the content may be presented to the user via a text-to-speech synthesis technique, such that the user can quickly and easily understand the elements being presented to them.

[0004] In one example, the disclosure is directed toward a method that includes retrieving, by a computing system and using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface. The method further includes converting, by the computing system, the information into structured text, and generating, by the computing system and using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model. The method further includes outputting, by the computing system, the summary of the content included in the graphical user interface.

[0005] In another example, the disclosure is directed toward a computing system comprising one or more processors, and one or more storage devices that store instructions. The instructions, when executed by the one or more processors, cause the one or more processors to retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface. The instructions further cause the one or more processors to convert the information into structured text, and generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model. The instructions further cause the one or more processors to output the summary of the content included in the graphical user interface.

[0006] In another example, the disclosure is directed toward a non-transitory computer- readable storage medium encoded with instructions. The instructions, when executed by one or more processors, cause one or more processors to retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface. The instructions further cause the one or more processors to convert the information into structured text, and generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model. The instructions further cause the one or more processors to output the summary of the content included in the graphical user interface.

[0007] In another example, the disclosure is directed toward a computer program product for generating a summary of content included in a graphical user interface, the computer program product comprising one or more instructions. The one or more instructions, when executed by at least one processor, cause the at least one processor to retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface. The one or more instructions further cause the at least one processor to convert the information into structured text, and generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model. The one or more instructions further cause the at least one processor to output the summary of the content included in the graphical user interface.

[0008] The details of one or more examples of the disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF THE FIGURES

[0009] FIG. 1 is a conceptual diagram illustrating an example computing system for providing a summary of content included in a graphical user interface to a user, in accordance with one or more techniques of this disclosure.

[0010] FIG. 2 is a block diagram illustrating another example computing system configured to apply a machine learning module to accessibility information, in accordance with one or more techniques of this disclosure.

[0011] FIG. 3 is a conceptual diagram illustrating a machine learning module configured to apply a language model to accessibility information, in accordance with one or more techniques of this disclosure.

[0012] FIG. 4 is a conceptual diagram illustrating a text-to-speech synthesis for providing a summary of the content included in a graphical user interface to a user, in accordance with one or more techniques of this disclosure.

[0013] FIG. 5 is a flowchart illustrating an example operation for providing a summary of the content included in a graphical user interface to a user, in accordance with one or more techniques of this disclosure.DETAILED DESCRIPTION

[0014] FIG. 1 is a conceptual diagram illustrating an example computing system for providing a summary of content included in a graphical user interface to a user, in accordance with one or more techniques of this disclosure. In the example of FIG. 1, a user 120 interacts with computing device 112 that is in communication with computing system 100. In some examples, some or all of the components and / or functionality attributed to computing system 100 may be implemented or performed by computing device 112. While not explicitly shown in the example of FIG. 1, computing system 100 may be implemented on a plurality of computing devices that may include, but are not limited to, portable, mobile, or other devices, such as mobile phones (including smartphones), laptop computers, desktop computers, tablet computers, smart television platforms, server computers, mainframes, etc. In some examples, computing system 100 may represent a cloud computing system that provides one or more services via network 101. That is, in some examples, computing system 100 may be a distributed computing system.

[0015] As described above, some or all of the components and / or functionality attributed to computing system 100 may be implemented or performed by computing device 112. The computing system 100 may communicate with computing device 112 via network 101. Network 101 may include any public or private communication network, such as a cellular network, Wi-Fi network, a direct cell-to-satellite communication network, or other type of network for transmitting data between computing system 100 and computing device 112. In some examples, network 101 may represent one or more packet switched networks, such as the Internet. Computing device 112 may send and receive data to and from computing system 100 across network 101 using any suitable communication techniques. For example, computing system 100 and computing device 112 may each be operatively coupled tonetwork 101 using respective network links. Network 101 may include network hubs, network switches, network routers, etc., that are operatively inter-coupled thereby providing for the exchange of information between computing device 112 and computing system 100. In some examples, network links of network 101 may be Ethernet, ATM or other network connections. Such connections may include wireless and / or wired connections, including satellite network connections.

[0016] As shown in the example of FIG. 1, computing device 112 includes one or more user interface (UI) components (“UI components 102”). UI components 102 of computing device 112 may be configured to function as input devices and / or output devices for computing device 112. UI components 102 may be implemented using various technologies. For instance, UI components 102 may be configured to receive input from user 120 through tactile, audio, and / or video feedback. Examples of input devices include a presence-sensitive display, a presence-sensitive or touch-sensitive input device (such as that shown in FIG. 1), a mouse, a keyboard, a voice responsive system, video camera, microphone or any other type of device for detecting a command from user 120. In some examples, a presence-sensitive display includes a touch-sensitive or presence-sensitive input screen, such as a resistive touchscreen, a surface acoustic wave touchscreen, a capacitive touchscreen, a projective capacitance touchscreen, a pressure sensitive screen, an acoustic pulse recognition touchscreen, or another presence-sensitive technology. That is, UI components 102 of computing device 112 may include a presence-sensitive device that may receive tactile input from user 120. UI components 102 may receive indications of the tactile input by detecting one or more gestures from user 120 (e.g., when user 120 touches or points to one or more locations of UI components 102 with a finger or a stylus pen).

[0017] UI components 102 may additionally or alternatively be configured to function as an output device by providing output to user 120 using tactile, audio, or video stimuli. Examples of output devices include a sound card, a video graphics adapter card, or any of one or more display devices, such as a liquid crystal display (LCD), dot matrix display, light emitting diode (LED) display, microLED, miniLED, organic light-emitting diode (OLED) display, e- ink, or similar monochrome or color display capable of outputting visible information to user 120. Additional examples of an output device include a speaker, a haptic device, or other device that can generate intelligible output to a user. For instance, UI components 102 may present output to user 120 as a graphical user interface that may be associated with functionality provided by computing device 112. In this way, UI components 102 may present various user interfaces of applications executing at or accessible by computing device112 (e.g., an electronic message application, an Internet browser application, etc.). User 120 may interact with a respective user interface of an application to cause computing device 112 to perform operations relating to a function provided by the application.

[0018] In some examples, UI components 102 of computing device 112 may detect two- dimensional and / or three-dimensional gestures as input from user 120. For instance, a sensor of UI components 102 may detect the user's movement (e.g., moving a hand, an arm, a pen, a stylus, etc.) within a threshold distance of the sensor of UI components 102. UI components 102 may determine a two- or three-dimensional vector representation of the movement and correlate the vector representation to a gesture input (e.g., a hand-wave, a pinch, a clap, a pen stroke, etc.) that has multiple dimensions. In other words, UI components 102 may, in some examples, detect a multi-dimension gesture without requiring the user to gesture at or near a screen or surface at which UI components 102 output information for display. Instead, UI components 102 may detect a multi-dimensional gesture performed at or near a sensor which may or may not be located near the screen or surface at which UI components 102 output information for display.

[0019] In the example of FIG. 1, computing system 100 includes user interface (UI) module 104. Module 104 may perform operations described herein using hardware, software, firmware, or a mixture thereof residing in and / or executing at computing system 100. Computing system 100 may execute module 104 with one processor or with multiple processors. In some examples, computing system 100 may execute module 104 as a virtual machine executing on underlying hardware. Module 104 may execute as one or more services of an operating system or computing platform or may execute as one or more executable programs at an application layer of a computing platform.

[0020] UI module 104, as shown in the example of FIG. 1, may be operable by computing system 100 to perform one or more functions, such as receive input and send indications of such input to other components associated with computing system 100. UI module 104 may also receive data from components associated with computing system 100. Using the data received, UI module 104 may cause other components associated with computing system 100, such as UI components 102, to provide output based on the data. For instance, UI module 104 may send data to UI components 102 of computing device 112 to display a GUI, such as GUI 116.

[0021] As shown in the example of FIG. 1, GUI 116 is an example representation of a time application. GUI 116 includes a plurality of user interface elements. For example, GUI 116 includes button 118A for an “Alarm”, button 118B for a “Clock”, button 118C for a “Timer”,and button 118D for a “Stopwatch”. User 120 may toggle between the various buttons included in GUI 116 to access different functionalities and / or user interfaces provided by the application. In the example of FIG. 1, GUI 116 represent the user interface for the “Clock” functionality, as shown by highlighted button 118B. GUI 116 includes the word “Clock” in the top left comer, the time “12: 17” beneath “Clock”, and the date, “Fri, 31 Mar” beneath the time. In the center of GUI 116 is “Summarize” button 114, which user 120 may interact with to generate a summary of the content included in GUI 116. For example, computing device 112 may receive an indication of a gesture from user 120 that is detected at summarize button 114, wherein the indication of the gesture is provided by user 120 manually through a tap on the screen. In some examples, the indication of a gesture may be an audible input, whereby the gesture is provided by user 120 via, for example, voice command. For example, a user may say the command “summarize”. The indication may then be sent to computing system 100, wherein computing system 100 may then execute the techniques described herein for providing a summary of the content included in GUI 116 to user 120. In some examples, the indication of the gesture is provided by user 120 by using gesture control, such as by providing the gestures described above (e.g., a hand-wave, a pinch, a clap, a pen stroke, etc.) or by tapping the screen in a certain manner (e.g., triple tapping the screen). As such, the techniques described herein for providing a summary of the content included in GUI 116 to user 120 may be executed by computing system 100 in response to an indication of a variety of gestures. In this way, a user is not required to perform a certain gesture in order to receive a content summary of an application, which may cause the application to be much more accessible and user-friendly to the user.

[0022] As described above, accessibility for all users, including those with disabilities, is a critical aspect of modern technology as it aims to ensure that digital experiences are inclusive and user-friendly. In most applications, developers must hard-code accessibility features to create products and services that cater to users with visual, auditory, motor, and cognitive impairments. For example, an operating system may have an accessibility framework that offers a comprehensive set of features and services that facilitate interaction for users with disabilities. For instance, an accessibility framework may include a service that currently allows users to drag their finger across the screen and have the user interface elements they are hovered over read aloud to them. While such a feature can enable users to navigate an interface and read on-screen text, users are often required to navigate through an entire screen before they can find the specific function or information they may be searching for, which may be time consuming and difficult when there are a large number of user interfaceelements. As such, providing a summary of the content included in a user interface may provide users a much easier interaction with applications. Additionally, as mentioned, developers are often required to hard-code accessibility features for users. The techniques described in this disclosure employ a new accessibility service that may run consistently in the background of a device and is configured to generate accessibility information using an API. In this way, applications can still be accessible to users even when developers do not provide or hard-code accessibility information within their applications.

[0023] In accordance with techniques of this disclosure, computing system 100 may include an accessibility service module 108 that provides a summary of content included in GUI 116 to user 120 by applying a machine learning model to accessibility information. Specifically, accessibility service module 108 may retrieve accessibility information from computing device 112 via API module 106 and then apply ML module 110 to the retrieved accessibility information. Computing system 100 may then generate a summary of content included in the GUI 116 by at least applying ML module 110 to the accessibility information, and then send the summary of the content included in GUI 116 to computing device 112, wherein GUI 116 is associated with an application executing computing device 112, such as the time application in the example of FIG. 1.

[0024] In general, user 120 is provided with an opportunity to provide input to control whether programs or features of computing device 112 and / or computing system 100 can collect and make use of user information (e.g., user 120’s personal data, information about user 114’s current location, current speed, motion, location history, etc.), or to dictate whether and / or how computing device 112 and / or computing system 100 may receive content that may be relevant to user 120. Other user information may include data that includes the context of user usage, either obtained from an application itself or from other sources. Examples of usage context may include breadth of share (sharing publicly, or with a large group, or privately, or a specific person), context of share, etc. When permitted by the user, additional data can include the state of the device, e.g., the location of the device, the apps running on the device, etc. In addition, certain data may be treated in one or more ways before it is stored or used by computing device 112 and / or computing system 100 so that personally identifiable information is removed. For example, a user’s identity may be treated so that no personally identifiable information can be determined about the user, or a user’s geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level), so that a particular location of a user cannot be determined. Thus, user 120 may have control over how information is collected about them and used bycomputing device 112 and / or computing system 100. For example, user 120 may be prompted by computing device 112 to provide explicit consent for computing device 112 and / or computing system 100 to retrieve and / or store any or all of user 120’s data.

[0025] As described above, with explicit consent from user 120, accessibility service module 108 may run continuously and be configured to monitor the content of the active user interface of one or more applications. In an example involving computing device 112, with explicit consent from user 120, accessibility service module 108 may run continuously in the background of computing device 112 and be configured to monitor the content of the active user interface of one or more applications executing at computing device 112. In other words, API 106 receives explicit consent from user 120 to gather view accessibility information from one or more applications. As described above, accessibility service module 108 may analyze content of a graphical user interface in response to a triggering input (e.g., an input provided mechanically (such as by pressing a button), by gesture recognition / control (such as triple tapping on a screen), by audio (such as a verbal command), etc.), or automatically (such that no triggering user input is required), again provided that a user has given explicit permission for the accessibility service to analyze the content of the screen. In some examples, API module 106 may provide information about user interface elements, events, and actions to assistive technologies (e.g., screen readers, magnification gestures, switch devices, etc.) provided by accessibility service module 108. In some examples, API module 106 may be configured to enable the exchanging of data in a standardized format. For example, API module 106 may support REST (Representational State Transfer), which is a widely-used architectural style for building APIs that use HTTP (Hypertext Transfer Protocol) to exchange data between applications.

[0026] API module 106 may be configured to generate a stream of accessibility events as the user interacts with computing device 112 and applications executed on computing device 112. In some examples, these events may represent actions and changes in a user interface, such as button presses, text changes, and screen transitions (e.g., user 120 toggling between buttons 118A-118D on GUI 116). With explicit consent from user 120, accessibility service module 108 may receive and analyze these events to better understand how user 120 interacts with an application executing on computing device 112.

[0027] In some examples, API module 106 may also be configured to model the user interface elements of GUI 116 as a hierarchy of accessibility nodes. Each node may correspond to a user interface element, such as buttons 118A-118D, summarize button 114, the time, date, other text fields, images, etc. displayed on GUI 116.

[0028] API module 106 may be configured retrieve accessibility actions from applications executed on computing device 112. “Accessibility actions” may refer to different types of inputs that can be detected at a location associated with a UI component 102, such as mechanical inputs (e.g., a clicking of a button, a swiping of a screen, etc.), audio input (e.g., verbal command), or gesture control (e.g., triple tapping on a screen, hand wave, assistive gestures, etc.). As such, accessibility actions may provide users the ability to interact with an application in multiple ways according to their needs. For example, in the case where user 120 is unable to provide a mechanical input, accessibility service module 108 may provide user 120 the ability to trigger a "click" action on summarize button 114 when user 120 provides a voice command such as “summarize”.

[0029] In some examples, API module 106 may be configured to retrieve descriptive text (i.e., content descriptions) for user interface elements that may not have visible text labels, such as images or icons. In this way, accessibility service module 108 can convey the meaning and purpose of these elements to visually impaired users who cannot see them. In other words, API module 106 may be configured to retrieve information pertaining to every element included in GUI 116, no matter the type of element or whether accessibility information has been provided by developers.

[0030] For example, computing system 100 may retrieve information associated with the plurality of user interface elements included in GUI 116 via API module 106, wherein the information includes one or more of a node type, textual content associated with a node, an action that can be performed on a node, a relationship between one or more nodes, or a plurality of accessibility features included in a node.

[0031] In some examples, accessibility service module 108 may also provide users the ability to configure various accessibility options according to their needs. For example, user 120 may be able to adjust the user interface elements of a GUI, such as text size, enable color correction, set up magnification gestures, and configure gesture-based navigation for GUI 116.

[0032] In some examples, the information retrieved by API module 106 from computing device 112 may be stored by computing system 100 to identify potential accessibility issues and / or better understand how user 120 interacts with computing device 112.

[0033] As described above, in general, accessibility service module 108 may send information (e.g., location information, other contextual information, etc.) to ML module 110 only if computing system 100 receives permission from the user of computing device 112 to send the information. For example, in situations discussed here in which computing system100 and / or computing device 112 may collect, transmit, or may make use of personal information about a user (e.g., location information, financial information, etc.), the user may be provided with an opportunity to control whether programs or features of computing system 100 can collect user information (e.g., information about a user’s social network, a user’s social actions or activities, a user’s profession, a user’s preferences, or a user’s current location), or to control whether and / or how computing system 100 and / or computing device 112 may store and share user information.

[0034] In addition, certain data may be treated in one or more ways before it is stored, transmitted, or used so that personally identifiable information is removed. For example, a user’s identity may be treated so that no personally identifiable information can be determined about the user. Thus, the user may have control over how information is collected about the user and stored, transmitted, and / or used in accordance with techniques of this disclosure.

[0035] FIG. 2 is a block diagram illustrating another example computing system configured to apply a machine learning module to accessibility information, in accordance with one or more techniques of this disclosure. As shown in the example of FIG. 2, computing system 200 includes processors 224, one or more communication channels 230, one or more user interface components (UIC) 232, one or more communication units 228, and one or more storage devices 238. Storage devices 238 of computing system 200 may include user interface module 204, and accessibility service module 208. As shown in the example of FIG.2, accessibility service module 208 further includes API module 206, machine learning module 210, XML conversion module 244, and accessibility information storage 242. Some or all of the components and / or functionality attributed to computing system 200 may be implemented or performed by a computing device in communication with computing system 200. Computing system 200, user interface module 204, accessibility service module 208, API module 206, machine learning module 210, and user interface (UI) components 232 may be similar if not substantially similar to computing system 100, user interface module 104, accessibility service module 108, API module 106, machine learning module 110, and user interface (UI) components 102 of FIG. 1, respectively.

[0036] The one or more communication units 228 of computing system 200, for example, may communicate with external devices by transmitting and / or receiving data at computing system 200, such as to and from remote computer systems or computing devices. Example communication units 228 include a network interface card (e.g., such as an Ethernet card), an optical transceiver, a radio frequency transceiver, or any other type of device that can sendand / or receive information. Other examples of communication units 228 may be devices configured to transmit and receive Ultrawideband®, Bluetooth®, GPS, 3G, 4G, and Wi-Fi®, etc. that may be found in computing devices, such as mobile devices and the like.

[0037] As shown in the example of FIG. 2, communication channels 230 may interconnect each of the components as shown for inter-component communications (physically, communicatively, and / or operatively). In some examples, communication channels 230 may include a system bus, a network connection (e.g., to a wireless connection as described above), one or more inter-process communication data structures, or any other components for communicating data between hardware and / or software locally or remotely.

[0038] One or more I / O devices 234 of computing system 200 may receive inputs and generate outputs. Examples of inputs are tactile, audio, kinetic, and optical input, to name only a few examples. Input devices of I / O devices 234, in one example, may include a touchscreen, a touchpad, a mouse, a keyboard, a voice responsive system, a video camera, buttons, a control pad, a microphone or any other type of device for detecting input from a human or machine. Output devices of I / O devices 234, may include, a sound card, a video graphics adapter card, a speaker, a display, or any other type of device for generating output to a human or machine.

[0039] User interface module 204, accessibility service module 208, API module 206, machine learning module 210, XML conversion module 244, and accessibility information storage 242 (hereinafter “modules 204-244”) may perform operations described herein using software, hardware, firmware, or a mixture of hardware, software, and firmware residing in and executing on computing system 200 or at one or more other computing devices (e.g., a cloud-based application - not shown). For example, some or all of modules 204-244 may be included in and executable on a local computing device, such as computing device 112 of FIG. 1. As such, the techniques described herein may all be implemented locally on a computing device.

[0040] Computing system 200 may execute one or more of modules 204-244, with one or more processors 224 or may execute any or part of one or more of modules 204-244 as or within a virtual machine executing on underlying hardware. One or more of modules 204-244 may be implemented in various ways, for example, as a downloadable or pre-installed application, remotely as a cloud application, or as part of the operating system of computing system 200. Other examples of computing system 200 that implement techniques of this disclosure may include additional components not shown in FIG. 2.

[0041] In the example of FIG. 2, one or more processors 224 may implement functionality and / or execute instructions within computing system 200. For example, one or more processors 224 may receive and execute instructions that provide the functionality of UIC 232, communication units 228, one or more storage devices 238 and an operating system to perform one or more operations as described herein. For example, one or more processors 224 may receive and execute instructions that provide the functionality of some or all of modules 204-244 to perform one or more operations and various functions described herein. The one or more processors 224 include a central processing unit (CPU). Examples of CPUs include, but are not limited to, a digital signal processor (DSP), a general-purpose microprocessor, a tensor processing unit (TPU); a neural processing unit (NPU); a neural processing engine; a core of a CPU, VPU, GPU, TPU, NPU or another processing device, an application specific integrated circuit (ASIC), a field programmable logic array (FPGA), or other equivalent integrated or discrete logic circuitry, or other equivalent integrated or discrete logic circuitry.

[0042] One or more storage devices 238 within computing system 200 may store information, such as accessibility information or other data discussed herein, for processing during the operation of computing system 200. In some examples, one or more storage devices of storage devices 238 may be a volatile or temporary memory. Examples of volatile memories include random access memories (RAM), dynamic random-access memories (DRAM), static random-access memories (SRAM), and other forms of volatile memories known in the art. Storage devices 238, in some examples, may also include one or more computer-readable storage media. Storage devices 238 may be configured to store larger amounts of information for longer terms in non-volatile memory than volatile memory. Examples of non-volatile memories include magnetic hard disks, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories. Storage devices 238 may store program instructions and / or data associated with the modules 204-244 of FIG. 2.

[0043] As described with respect to FIG. 1, computing system 200 may retrieve, using API module 206, information associated with a plurality of user interface elements included in a graphical user interface associated with an application executing at a computing device. API module 206 may retrieve the information responsive to receiving an indication of a gesture detected at a computing device. UI module 204 may interpret the indication or other inputs detected at the computing device. UI module 204 may relay information about the inputs detected at the computing device to one or more associated platforms, operating systems,applications, and / or services executing at the computing device to cause the computing device to perform a function. UI module 204 may also receive information and instructions from one or more associated platforms, operating systems, applications, and / or services executing at the computing device (e.g., accessibility service module 208) for generating and / or outputting a summary of the content included in a GUI, wherein the GUI is associated with an application executing at the computing system. In addition, UI module 204 may act as an intermediary between the one or more associated platforms, operating systems, applications, and / or services executing at the computing device and various output devices of the computing device (e.g., speakers, LED indicators, vibrators, etc.) to produce output (e.g., graphical, audible, tactile, etc.) with the computing device.

[0044] Accessibility service module 208 may be implemented on a computing device in various ways. For example, accessibility service module 208 may be implemented as a downloadable or pre-installed application or “app.” In another example, accessibility service module 208 may be implemented as part of an operating system of a computing device.

[0045] Accessibility information storage 242 is a storage repository for the accessibility information received by computing system 200 from a computing device via API module 206. In some examples, the accessibility information may be associated with a “view hierarchy” of a GUI of an application executed on the computing device, wherein the graphical user interface may be represented as a tree of GUI views. In some examples, this hierarchy may demonstrate a hierarchy of information presented via a GUI, such as a category, subcategory, and sub-subcategory. In some examples, the information associated with the plurality of user interface elements may include one or more of a node type, textual content associated with a node, an action that can be performed on a node, a relationship between one or more nodes, or a plurality of accessibility features included in a node. The retrieved accessibility information may be stored in accessibility information storage 242 for use by other modules of accessibility service module 208, such as XML conversion module 244. In some examples, accessibility information storage 242 may operate, at least in part, as a cache for accessibility information retrieved from computing device 112 (e.g., using one or more communication units 228) or other computing devices. In general, accessibility information storage 242 may be configured as a database, flat file, table, or other data structure stored within storage device 238. In some examples, accessibility information storage 242 is shared between various modules executing at computing system 200 (e.g., between one or more of modules 204-244 or other modules not shown in FIG. 2). In other examples, a different data repository is configured for a module executing at computingsystem 200 that requires a data repository. Each data repository may be configured and managed by different modules and may store data in a different manner. In some examples, computing system 200 may receive and store accessibility information from a computing device over a specified period of time.

[0046] In an example accessibility service, accessibility information may be known as “AccessibilityNodelnfo”, which may be a class that represents a node of a window content as well as actions that can be requested from its source. In the example of FIG. 2, accessibility service module 208 may retrieve the “AccessibilityNodelnfo” information from computing device 112, in which the information is presented as a tree of accessibility node infos, which may or may not map one-to-one to the view hierarchy of an application’s user interface. In some examples, it may be difficult to apply a machine learning model, such as a large language model, to accessibility information that is written in a variety of languages and / or formats. As such, computing system 200 may employ XML conversion module 244 to convert accessibility information retrieved from computing device 112 into structured text. For example, API module 206 may retrieve accessibility information from computing device 112 in the form of any structure or programming language. XML conversion module 244 may then convert the accessibility information into an extensible Markup Language (XML). For example, XML conversion module 244 may determine the types of accessibility information to include in the XML representation. More specifically, XML conversion module 244 may analyze various attributes, such as content descriptions, roles, states, actions, and / or other relevant properties of user interface elements. XML conversion module 244 may further generate structured text that represents the hierarchy of the user interface elements and their associated accessibility information. XML conversion module 244 may map the accessibility information to XML attributes or elements for each UI element. If the UI elements have parent-child relationships, this hierarchy may be reflected in the XML structure. In some examples, XML conversion module 244 may determine how to represent accessibility information based on complexity. In some examples, as mentioned above, API module 206 may generate accessibility information associated with the user interface elements of an application if the accessibility information is not already provided. In some examples, API module 206 may also generate or otherwise retrieve contextual information that helps interpret the accessibility information. For example, the information may include information about the current screen, application, or context in which the UI elements are presented. XML conversion module 244 may receive this information and generate a more accurate and effective XML (or other structured text) representation. In some examples,XML conversion module 244 may alternatively convert the accessibility information into other structured text types, such as, but not limited to, HTML, JSON, CSV, INI Files, etc. In this way, the accessibility information retrieved by API module 206 can be provided to ML module 210 in a standardized format. In some examples, the structured text may be stored in accessibility information storage 242.

[0047] In some implementations, the accessibility information may be preprocessed, which may include extracting one or more additional features from raw data. For example, feature extraction techniques may be applied to the accessibility information to generate one or more new, additional features.

[0048] In some examples, the user interface generated on a computing device may include user interface elements that change and / or are updated frequently (e.g., a timer, a slideshow of images, etc.). As such, the accessibility information retrieved by API module 206 may need to be updated with respect to any changes that occur on the computing device. Thus, in some implementations, the accessibility information may be sequential in nature. In some instances, the sequential accessibility information may be generated by sampling or otherwise segmenting a stream of accessibility information. As one example, frames may be extracted from a video. In some implementations, however, the sequential accessibility information may be made non- sequential through summarization, in which the summary of the content generated by computing system 200 includes information about the updated and / or changing user interface elements. In some examples, the graphical user interface elements may be divided into static and dynamic objects. Static objects may be attributed to elements of a GUI that do not change appearance after initially being rendered (e.g., company logos, menu options, etc.). Dynamic objects, however, may be tied to those elements of a GUI that may change in appearance from one render to the next (e.g., text fields, animations, etc.).

[0049] Computing system 200 may apply machine learning module 210 to the structured text generated by XML conversion module 244. As described herein, machine learning module 210 may employ a large language model (LLM) that can interpret the structured text and generate a summary of the content included in the GUI associated with an application executing at a computing device and / or the computing system. In some examples, machine learning module 210 may implement other machine-learned models that may be used in place of or in conjunction with LLM model that is described with respect to FIG. 3. Machine learning module 210 may perform various types of natural language processing (NLP) based on the accessibility information, or “input data”. For example, machine learning module 210 may summarize, translate, or organize the input data. Machine learning module 210 may userecurrent neural networks (RNNs) and / or transformer models (self-attention models), such as GPT-3, BERT, and T5. In some implementations, machine learning module 210 may perform classification, summarization, name generation, regression, clustering, anomaly detection, recommendation generation, and / or other tasks.

[0050] In some implementations, machine learning module 210 may perform various types of classification based on the input data. For example, machine learning module 210 may perform binary classification or multiclass classification. In binary classification, the output data may include a classification of the input data into one of two different classes. In multiclass classification, the output data may include a classification of the input data into one (or more) of more than two classes. The classifications may be single-label or multilabel. Machine learning module 210 may perform discrete categorical classification in which the input data is simply classified into one or more classes or categories.

[0051] In cases in which machine learning module 210 performs classification, machine learning module 210 may be trained using supervised learning techniques. For example, machine learning module 210 may be trained on a training dataset that includes training examples labeled as belonging (or not belonging) to one or more classes.

[0052] In some implementations, machine learning module 210 may perform regression to provide output data in the form of a continuous numeric value. The continuous numeric value may correspond to any number of different metrics or numeric representations, including, for example, currency values, scores, or other numeric representations. In examples, machine learning module 210 may perform linear regression, polynomial regression, or nonlinear regression. In examples, machine learning module 210 may perform simple regression or multiple regression. As described above, in some implementations, a Softmax function or other function or layer may be used to squash a set of real values respectively associated with two or more possible classes to a set of real values in the range (0, 1) that sum to one.

[0053] Machine learning module 210 may perform various types of clustering. For example, machine learning module 210 may identify one or more clusters to which the input data most likely corresponds. Machine learning module 210 may identify one or more clusters within the input data. That is, in instances in which the input data includes multiple objects, documents, or other entities, machine learning module 210 may sort the multiple entities included in the input data into a number of clusters. In some implementations in which machine learning module 210 performs clustering, machine learning module 210 may be trained using unsupervised learning techniques.

[0054] Machine learning module 210 may, in some cases, act as an agent within an environment. For example, machine learning module 210 may be trained using reinforcement learning, which will be discussed in further detail below.

[0055] In some implementations, machine learning module 210 may include a parametric model while, in other implementations, machine learning module 210 may include a nonparametric model. In some implementations, machine learning module 210 may include a linear model while, in other implementations, machine learning module 210 may include a non-linear model.

[0056] As described above, machine learning module 210 may be or include one or more of various different types of machine-learned models. Examples of such different types of machine-learned models are provided below for illustration. One or more of the example models described below may be used (e.g., combined) to provide the output data in response to the input data. Additional models beyond the example models provided below may be used as well.

[0057] In some implementations, machine learning module 210 may be or include one or more classifier models such as, for example, linear classification models; quadratic classification models; etc. Machine learning module 210 may be or include one or more regression models such as, for example, simple linear regression models; multiple linear regression models; logistic regression models; stepwise regression models; multivariate adaptive regression splines; locally estimated scatterplot smoothing models; etc.

[0058] In some implementations, machine learning module 210 may be or include one or more artificial neural networks (also referred to simply as neural networks). A neural network may include a group of connected nodes, which also may be referred to as neurons or perceptrons. A neural network may be organized into one or more layers. Neural networks that include multiple layers may be referred to as “deep” networks. A deep network may include an input layer, an output layer, and one or more hidden layers positioned between the input layer and the output layer. The nodes of the neural network may be connected or non- fully connected.

[0059] In some examples, machine learning module 210 may be or include one or more generative networks such as, for example, generative adversarial networks. Generative networks may be used to generate new data such as artificial feedback texts.

[0060] In an example in which the input data does not include feature embeddings, one or more neural networks may be used to provide an embedding based on the input data. For example, the embedding may be a representation of knowledge abstracted from the input datainto one or more learned dimensions. In some instances, embeddings may be a useful source for identifying related entities. In some instances, embeddings may be extracted from the output of the network, while in other instances embeddings may be extracted from any hidden node or layer of the network (e.g., a close to final but not final layer of the network). Embeddings may be useful for performing auto-suggest next video, product suggestion, entity or object recognition, etc. In some instances, embeddings are useful inputs for downstream models. For example, embeddings may be useful to generalize input data (e.g., search queries) for a downstream model or processing system.

[0061] In some implementations, machine learning module 210 may perform or be subjected to one or more reinforcement learning techniques such as Markov decision processes; dynamic programming; Q functions or Q-learning; value function approaches; deep Q- networks; differentiable neural computers; asynchronous advantage actor-critics; deterministic policy gradient; etc.

[0062] In some implementations, machine learning module 210 may be an autoregressive model. In some instances, an autoregressive model may specify that the output data depends linearly on its own previous values and on a stochastic term. In some instances, an autoregressive model may take the form of a stochastic difference equation. One example of an autoregressive model is WaveNet, which is a generative model for raw audio.

[0063] In some implementations, machine learning module 210 may include or form part of a multiple model ensemble. As one example, bootstrap aggregating may be performed, which may also be referred to as “bagging.” In bootstrap aggregating, a training dataset is split into a number of subsets (e.g., through random sampling with replacement) and a plurality of models are respectively trained on the number of subsets. At inference time, respective outputs of the plurality of models may be combined (e.g., through averaging, voting, or other techniques) and used as the output of the ensemble.

[0064] One example ensemble is a random forest, which may also be referred to as a random decision forest. Random forests are an ensemble learning method for classification, regression, and other tasks. Random forests are generated by producing a plurality of decision trees at training time. In some instances, at inference time, the class that is the mode of the classes (classification) or the mean prediction (regression) of the individual trees may be used as the output of the forest. Random decision forests may correct for decision trees' tendency to overfit their training set.

[0065] Another example ensemble technique is stacking, which can, in some instances, be referred to as stacked generalization. Stacking includes training a combiner model to blend orotherwise combine the predictions of several other machine-learned models. Thus, a plurality of machine-learned models (e.g., of the same or different type) may be trained based on training data. In addition, a combiner model may be trained to take the predictions from the other machine-learned models as inputs and, in response, produce a final inference or prediction. In some instances, a single-layer logistic regression model may be used as the combiner model.

[0066] Another example of ensemble techniques is boosting. Boosting may include incrementally building an ensemble by iteratively training weak models and then adding to a final strong model. For example, in some instances, each new model may be trained to emphasize the training examples that previous models misinterpreted (e.g., misclassified). For example, a weight associated with each of such misinterpreted examples may be increased. One common implementation of boosting is AdaBoost, which may also be referred to as Adaptive Boosting. Other example boosting techniques include LPBoost; TotalBoost; BrownBoost; xgboost; MadaBoost, LogitBoost, gradient boosting; etc. Furthermore, any of the models described above (e.g., regression models and artificial neural networks) may be combined to form an ensemble. As an example, an ensemble may include a top-level machine-learned model or a heuristic function to combine and / or weight the outputs of the models that form the ensemble.

[0067] In some implementations, multiple machine-learned models (e.g., that form an ensemble may be linked and trained jointly (e.g., through backpropagation of errors sequentially through the model ensemble). However, in some implementations, only a subset (e.g., one) of the jointly trained models is used for inference.

[0068] In some implementations, machine learning module 210 may be used to preprocess the input data for subsequent input into another model. For example, machine learning module 210 may perform dimensionality reduction techniques and embeddings (e.g., matrix factorization, principal components analysis, singular value decomposition, word2vec / GLOVE, and / or related approaches); clustering; and even classification and regression for downstream consumption. Many of these techniques have been discussed above and will be further discussed below.

[0069] In some implementations, during training, the input data may be intentionally deformed in any number of ways to increase model robustness, generalization, or other qualities. Example techniques to deform the input data include adding noise; changing color, shade, or hue; magnification; segmentation; amplification; etc.

[0070] In response to receipt of the input data, machine learning module 210 may provide the output data. As examples, in various implementations, the output data may include content, either stored locally on the user device or in the cloud, that is relevantly shareable along with the initial content selection.

[0071] In some implementations, the output data may influence downstream processes or decision-making. As one example, in some implementations, the output data, or the summary of the content, may be interpreted and / or acted upon by a rules-based regulator.

[0072] The techniques of the present disclosure may be implemented by or otherwise executed on one or more computing devices (e.g., computing device 112 of FIG. 1). Examples of such computing devices include user computing devices (e.g., laptops, desktops, and mobile computing devices such as tablets, smartphones, wearable computing devices, etc.); embedded computing devices (e.g., devices embedded within a vehicle, camera, image sensor, industrial machine, satellite, gaming console or controller, or home appliance such as a refrigerator, thermostat, energy meter, home energy manager, smart home assistant, etc.); other computing devices; or combinations thereof. Computing system 200 that implements machine learning module 210 or other aspects of the present disclosure may include a number of hardware components that enable the performance of the techniques described herein.

[0073] Machine learning module 210 described herein may be trained according to one or more of various different training types or techniques. For example, in some implementations, machine learning module 210 may be trained using supervised learning, in which machine learning module 210 is trained on a training dataset that includes instances or examples that have labels. The labels may be manually applied by experts, generated through crowdsourcing, or provided by other techniques (e.g., by physics-based or complex mathematical models). In some implementations, if the user has provided consent, the training examples may be provided by the user computing device. In some implementations, this process may be referred to as personalizing the model.

[0074] In some implementations, backward propagation of errors may be used in conjunction with an optimization technique (e.g., gradient-based techniques) to train machine learning module 210 (e.g., when the machine-learned model is a multi-layer model such as an artificial neural network). For example, an iterative cycle of propagation and model parameter (e.g., weights) update may be performed to train machine learning module 210. Example backpropagation techniques include truncated backpropagation through time, Levenberg- Marquardt backpropagation, etc.

[0075] In some implementations, machine learning module 210 described herein may be trained using unsupervised learning techniques. Unsupervised learning may include inferring a function to describe hidden structure from unlabeled data. For example, a classification or categorization may not be included in the data. Unsupervised learning techniques may be used to produce machine-learned models capable of performing clustering, anomaly detection, learning latent variable models, or other tasks.

[0076] Machine learning module 210 may be trained using semi-supervised techniques which combine aspects of supervised learning and unsupervised learning. Machine learning module 210 may be trained or otherwise generated through evolutionary techniques or genetic algorithms. In some implementations, machine learning module 210 described herein may be trained using reinforcement learning. In reinforcement learning, an agent (e.g., model) may take actions in an environment and learn to maximize rewards and / or minimize penalties that result from such actions. Reinforcement learning may differ from the supervised learning problem in that correct input / output pairs are not presented, nor sub-optimal actions explicitly corrected.

[0077] In some implementations, one or more generalization techniques may be performed during training to improve the generalization of machine learning module 210. Generalization techniques may help reduce overfitting of machine learning module 210 to the training data. Example generalization techniques include dropout techniques; weight decay techniques; batch normalization; early stopping; subset selection; stepwise selection; label smoothing; etc.

[0078] In some implementations, machine learning module 210 described herein may include or otherwise be impacted by a number of hyperparameters, such as, for example, learning rate, number of layers, number of nodes in each layer, number of leaves in a tree, number of clusters; etc. Hyperparameters may affect model performance. Hyperparameters may be hand selected or may be automatically selected through the application of techniques such as, for example, grid search; black-box optimization techniques (e.g., Bayesian optimization, random search, etc.); gradient-based optimization; etc. Example techniques and / or tools for performing automatic hyperparameter optimization include Hyperopt; Auto-WEKA; Spearmint; Metric Optimization Engine (MOE); etc.

[0079] In some implementations, various techniques may be used to optimize and / or adapt the learning rate when the model is trained. Example techniques and / or tools for performing learning rate optimization or adaptation include Adagrad; Adaptive Moment Estimation (ADAM); Adadelta; RMSprop; etc.

[0080] In some implementations, transfer learning techniques may be used to provide an initial model from which to begin training of machine learning module 210 described herein.

[0081] In some implementations, machine learning module 210 described herein may be included in different portions of computer-readable code on a computing device. In one example, machine learning module 210 may be included in a particular application or program and used (e.g., exclusively) by such particular application or program. Thus, in one example, a computing device may include a number of applications, and one or more of such applications may contain its own respective machine learning library and machine-learned model(s).

[0082] In another example, machine learning module 210 described herein may be included in an operating system of a computing device (e.g., in a central intelligence layer of an operating system) and may be called or otherwise used by one or more applications that interact with the operating system. In some implementations, each application may communicate with the central intelligence layer (and model(s) stored therein) using an application programming interface (API) (e.g., a common, public API across all applications).

[0083] In some implementations, the central intelligence layer may communicate with a central device data layer. The central device data layer may be a centralized repository of data for the computing device. The central device data layer may communicate with a number of other components of the computing device, such as, for example, one or more sensors, a context manager, a device state component, and / or additional components. In some implementations, the central device data layer may communicate with each device component using an API (e.g., a private API).

[0084] The technology discussed herein refers to servers, databases, software applications, and other computer-based systems, as well as actions taken, and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein may be implemented using a single device or component or multiple devices or components working in combination.

[0085] Databases and applications may be implemented on a single system or distributed across multiple systems. Distributed components may operate sequentially or in parallel.

[0086] In addition, the machine learning techniques described herein are readily interchangeable and combinable. Although certain example techniques have been described, many others exist and may be used in conjunction with aspects of the present disclosure.

[0087] In some implementations, transfer learning (TL) may be used. Transfer learning involves reusing a model and its model parameters obtained while solving one problem and applying it to a different but related problem. Models trained on very large data sets may be retrained or fine-tuned on additional data. Often, all model designs and their parameters on a source model are copied except output layer(s). The output layers(s) are often called the head, and other layers are often called the base. The source parameters may be considered to contain the knowledge learned from the source dataset and this knowledge may also be applicable to a target dataset. Fine-tuning may include updating the head parameters with the body parameters being fixed or updated in a later step.

[0088] Thus, machine learning module 210 may apply a large language model, in combination with or not in combination with one or more of the machine learning techniques described above, to the structured text to generate the summary of content included in the graphical user interface associated with an application executing at a computing device. Computing system 200 may then send the summary included in the graphical user interface to a computing device, wherein the graphical user interface is associated with an application executing at the computing device. In some examples, computing system 200 may output, by an audio output device or other I / O device 234 of computing system 200, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at computing system 200.

[0089] Specifically, as described later with respect to FIG. 4, the summary of content may be converted to speech using a text-to-speech synthesis technique executed by a computing device and / or the computing system, in which the summary is read aloud to a user of the computing device and / or computing system.

[0090] FIG. 3 is a conceptual diagram illustrating a machine learning module configured to apply a language model to accessibility information, in accordance with one or more techniques of this disclosure. As described above, ML module 310 can be or include one or more transformer-based neural networks, such as a large language model module 352. Large language model module 352 may implement, for example, the Pathways Language Model developed by Google. Transformer-based neural networks may refer to a type of deep learning architecture specifically designed for handling sequential data, such as text or time series. In other words, transformer-based neural networks like LLMs may be configured to perform natural language processing (NLP) tasks, such as question-answering, machine translation, text summarization, and sentiment analysis. Language model module 352 may be configured to perform tasks such as classification, sentiment analysis, entity extraction,extractive question answering, summarization, re-writing text in a different style, ad copy generation, and concept ideation.

[0091] Transformer-based neural networks may utilize a self-attention mechanism, which allows the model to weigh the importance of different elements in a given input sequence relative to each other. The self-attention mechanism may help language model module 352 effectively capture long-range dependencies and complex relationships between elements, such as words in a sentence.

[0092] Language model module 352 may include an encoder and a decoder that operate to process and generate sequential data, such as structured text. Both the encoder and decoder may include one or more of self-attention mechanisms, position-wise feedforward networks, layer normalization, or residual connections. In some examples, the encoder may process an input sequence and create a representation that captures the relationships and context among the elements in the sequence. The decoder may then obtain the representation generated by the encoder and produce an output sequence. In some examples, the decoder may generate the output one element at a time (e.g., one word at a time), using a process called autoregressive decoding, where the previously generated elements are used as input to predict the next element in the sequence.

[0093] In some examples, language model module 352 may generate summary file 356 that includes the summary of the content included in a user interface by determining a set of information types included in the structured text. An information type may be or otherwise include a topic, theme, point, subject, purpose, intent, keyword, etc. In some examples, language model module 352 may determine the information type by leveraging a selfattention mechanism to capture the relationships and dependencies between words in the input sequence. For example, language model module 352 may tokenize (e.g., split) a sequence of words or subwords, which language model module 352 may convert into vectors (e.g., numerical representations) that language model module 352 can process. Language model module 352 may use the self-attention mechanism to weigh the importance of each token in relation to the others. In this way, language model module 352 may identify patterns and relationships between the tokens, and in turn the words corresponding to the tokens, that indicate one or more information types of the accessibility information.

[0094] In general, language model module 352 may excel at performing NLP tasks, such as generating text and other content. However, with respect to specific types of content (e.g., specific information types), language model module 352 may have an increased likelihood of generating false or inaccurate information. To address the issue of generating falseinformation, language model module 352 may be configured to exclude the generation of content relating to a set of excluded information types. For example, the set of excluded information types may include one or more of phone numbers, addresses, web addresses, etc. Thus, the accessibility information in the form of structured text may be passed in language model module 352 with certain perquisites, or “rules” that can be stored in rules storage 354. The rules may also be text inputs such as, for example, “What will this XML look like when rendered?”, “Have your answer avoid technical terms and class names.”, and “Keep your description short.” In other words, rules storage 354 may store a plurality of text inputs that further specify how summary file 356 should be generated by language model module 352. In other words, language model module 352 is applied to the structured text in accordance with the one or more pre-defined rules stored in rules storage 354, which may include, for example, one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content. Because language model module 352 can interpret the rules along with the structured text, computing system 200 can provide a more accurate and user-friendly summary of the content included in the user interface.

[0095] Language model module 352 may generate summary file 356 based on the view hierarchy of a GUI and the determined one or more information types of the accessibility information. For example, the summary file 356 may include a description including general view structure and semantic information associated with the graphical user interface. Summary file 356 may include a description that, for example, includes the text for any headings presented on a GUI, but not the text for any text bodies presented on the GUI. For example, with respect to FIG. 1, summary file 356 may include a text document that includes a concise description of the time, date, and various buttons / functions provided by GUI 116 and present information pertaining to each element in order of location from the top to the bottom of GUI 116.

[0096] Although primarily described herein as being a transformer-based neural network, language model module 352 may be or otherwise include one or more other types of neural networks. For example, language model module 352 may be or include an autoencoder. In some examples, the aim of an autoencoder is to learn a representation (e.g., a lowerdimensional encoding) for a set of data, typically for the purpose of dimensionality reduction. For example, in some examples, an autoencoder can seek to encode the input data and the provide output data that reconstructs the input data from the encoding. Recently, the autoencoder concept has become more widely used for learning generative models of data.In some examples, the autoencoder can include additional losses beyond reconstructing the input data. Language model module 352 may be or include one or more other forms of artificial neural networks such as, for example, deep Boltzmann machines, deep belief networks, stacked autoencoders, etc. Any of the neural networks described herein can be combined (e.g., stacked) to form more complex networks.

[0097] In some examples, language model module 352 can be or include one or more feed forward neural networks. In feed forward networks, the connections between nodes do not form a cycle. For example, each connection can connect a node from an earlier layer to a node from a later layer. In some examples, language model module 352 can be or include one or more recurrent neural networks. In some examples, at least some of the nodes of a recurrent neural network can form a cycle.

[0098] Recurrent neural networks can be especially useful for processing input data that is sequential in nature. For example, a recurrent neural network can pass or retain information from a previous portion of the input data sequence to a subsequent portion of the input data sequence through the use of recurrent or directed cyclical node connections. Sequential input data may include words in a sentence (e.g., for natural language processing, speech detection or processing, etc.). In some examples, sequential input data can include time-series data (e.g., sensor data versus time or imagery captured at different times). In some examples, sequential input data may include time-series data (e.g., sensor data versus time or imagery captured at different times). For example, a recurrent neural network may analyze sensor data versus time to detect or predict a swipe direction, to perform handwriting recognition, etc. Sequential input data may include words in a sentence (e.g., for natural language processing, speech detection or processing, etc.); notes in a musical composition; sequential actions taken by a user (e.g., to detect or predict sequential application usage); sequential object states; etc.

[0099] Example recurrent neural networks may include long short-term (LSTM) recurrent neural networks, gated recurrent units, bi-direction recurrent neural networks, continuous time recurrent neural networks, neural history compressors, echo state networks, Elman networks, Jordan networks, recursive neural networks, Hopfield networks, fully recurrent networks, sequence-to- sequence configurations, etc.

[0100] In some examples, language model module 352 can be or include one or more convolutional neural networks. In some examples, a convolutional neural network can include one or more convolutional layers that perform convolutions over input data using learned filters. Filters can also be referred to as kernels. Convolutional neural networks can be especially useful for vision problems such as when the input data includes imagery such asstill images or video. However, convolutional neural networks can also be applied for natural language processing.

[0101] Machine learning module 310 may include training module 350 that trains (e.g., pretrain, fine-tune, etc.) language model module 352. Training module 350 may pre-train language model module 352 on a large and diverse corpus of text. This dataset may cover a wide range of topics and domains to ensure language model module 352 learns diverse linguistic patterns and contextual relationships. Training module 350 may train language model module 352 to optimize an objective function. The objective function may be or include a loss function, such as cross-entropy loss, that compares (e.g., determines a difference between) output data generated by the model from the training data and labels (e.g., ground-truth labels) associated with the training data. For example, the objective function of language model module 352 may be to correctly predict the next word in a sequence of words or correctly fill in missing words as much as possible.

[0102] By leveraging language model module 352, the accessibility service provided by computing system 200 may decrease the time and / or effort required to summarize the content on a user interface. That is, by presenting the user of a computing device and / or computing system with a summary of their screen that is concise and understandable (e.g., avoids technical terms, etc.), the techniques of this disclosure may reduce the time and effort that a disabled user will need to understand the content being presented to them.

[0103] In some examples, training module 350 may continuously or periodically train language model module 352. In some examples, training module 350 may fine-tune language model module 352 by using feedback in the training process. For example, UI component 232 of FIG. 2 may receive a user input via a computing device and / or computing system that selects feedback (e.g., thumbs up, thumbs down, etc.) relating to a summary of content that is presented to the user. In some examples, the feedback may indicate whether the summary of the content is accurate or inaccurate, correct or incorrect, high quality or low quality, etc. UI module 204 may receive this feedback and may send it to accessibility service module 208. Accessibility service module 208 may transmit the feedback to machine learning module 210 (specifically to training module 350), in which training module 350 uses the feedback for training. For example, training module 350 may convert the feedback into labeled data for supervised training. Additionally or alternatively, training module 350 may fine-tune language model module 352 by monitoring the relationship between the performance of language model module 352 and user feedback, and iterate the fine-tuning process as necessary (e.g., to receive more positive user feedback and less negative user feedback). Inthis way, the techniques of this disclosure may establish a feedback loop that continuously improves the quality of the output (i.e, summary file 356) of language model module 352.

[0104] FIG. 4 is a conceptual diagram illustrating a text-to-speech synthesis technique executed to provide an output including a summary of the content included in a graphical user interface to a user, in accordance with one or more techniques of this disclosure. Computing system 400 may be similar if not substantially similar to computing system 100 of FIG. 1 and computing system 200 of FIG. 2. Computing device 412 may be similar if not substantially similar to computing device 112 of FIG. 1. User interface (UI) components 402 may be similar if not substantially similar to UI components 102 of FIG. 1 and / or UI components 232 of FIG. 2. Network 401 may be similar if not substantially similar to network 101 of FIG. 1.

[0105] As described above, computing system 400 generates a summary of content included in the graphical user interface associated with an application executing at computing device 412, or in some examples, executing at computing system 400, wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface. Computing system 400 may then send the summary of the content to computing device 412. In some examples, computing system 400 may output, by an audio output device of computing system 400, the summary of the content. As shown in the example of FIG. 4, summary 460 is provided to user 420 by UI components 402. Summary 460 reads as follows: “The screen shows a clock with the time 12: 17 and the date Friday the 31st of March. There is also a button to add a city. There are also buttons for setting alarms, timers, and stopwatches.” Summary 460, in other words, is a concise description of the summary of the content included in a graphical user interface, such as GUI 116 of FIG. 1. Summary 460, in this example, is read aloud to user 420 by the employment of a text-to-speech synthesis technique.

[0106] Automated text-to-speech algorithms utilize a narration model to read aloud the text of a text document in a manner that mimics a human narrator. In some examples, computing system 400 may be configured to perform automated text-to-speech processing of summary file 356 generated by machine learning module 310 of FIG. 3 in order to produce summary 460. In other examples, computing device 412 may be configured to perform automated text- to-speech processing to produce summary 460. Automated text-to-speech processing may refer to one or more text-to-speech algorithms (e.g., a generative adversarial network - GAN - model) that synthesizes a text file (such as summary file 356 of FIG. 3) to produce summary 460. In this way, a summary of the content of any user interface, and any givenlayout, generated on a user computing device can be presented to a user without the user having to manually navigate through the entire user interface. Thus, users with disabilities may receive a more user-friendly experience when interacting with devices and applications as they may be able to more quickly and easily understand the content being presented to them.

[0107] As described above, the techniques described herein may all be implemented locally on a computing device, such as computing device 412. For example, computing device 412 may retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface associated with an application executing at computing device 412. Computing device 412 may then convert the information into structured text, and generate, using a machine learning model (e.g., a large language model), a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text. Computing device 412 may then output the summary of the content included in the graphical user interface to user 420, wherein the graphical user interface is associated with an application executing at computing device 412.

[0108] FIG. 5 is a flowchart illustrating an example operation for outputting by applying a language model, in accordance with one or more techniques of this disclosure. Computing system 100 retrieves, using an application programming interface generated by API module 106, information associated with a plurality of user interface elements included in graphical user interface 116 (582). In some examples, GUI 116 is a GUI associated with an application executing at computing device 112. In some examples, computing system 100 receives an indication of a gesture detected at a location of computing device 112. In some examples, the indication of the gesture is provided by user 120 manually or by using gesture control. In some examples, the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed on a node, a relationship between one or more nodes, or a plurality of accessibility features included in a node. In some examples, the information associated with the plurality of user interface elements is generated by API module 106. XML conversion module 244 of computing system 100 then converts the information into structured text (584). Machine learning module 210 of computing system 100 then generates, using large language model module 352, a summary of content included in graphical user interface 116 by at least applying large language model module 352 to the structured text (586). In some examples, large language model module 352 is applied to the structured text in accordancewith one or more pre-defined rules stored in rules storage 354 that include one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content. Computing system 100 then outputs summary file 356 that includes a summary of the content included in graphical user interface 116 (588). In some examples, computing system 100 sends, to computing device 112, summary file 356. In some examples, summary file 356 includes a description including general view structure and semantic information associated with graphical user interface 116. In some examples, summary file 356 is processed by a text-to-speech algorithm to produce summary 460, wherein summary 460 is read aloud by computing device 112 to user 120. In some examples, computing system 400 outputs summary 460 by an audio output device 234 of computing system 400, wherein summary 460 includes a summary of the content included in a graphical user interface associated with an application executing at computing system 400.

[0109] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer- readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that may be accessed by one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.

[0110] By way of example, and not limitation, such computer-readable storage media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection is properly termed a computer- readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.[OHl] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structures or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and / or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.

[0112] The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of intraoperative hardware units, including one or more processors as described above, in conjunction with suitable software and / or firmware.

[0113] It is to be recognized that, depending on the example, certain acts or events of any of the techniques described herein may be performed in a different sequence, may be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the techniques). Moreover, in certain examples, acts or events may be performed concurrently, e.g., through multi -threaded processing, interrupt processing, or multiple processors, rather than sequentially.

[0114] In some examples, a computer-readable storage medium comprises a non-transitory medium. The term “non-transitory” indicates that the storage medium is not embodied in acarrier wave or a propagated signal. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in RAM or cache).

[0115] Example 1 : A method includes retrieving, by a computing system and using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; converting, by the computing system, the information into structured text; generating, by the computing system and using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and outputting, by the computing system, the summary of the content included in the graphical user interface.

[0116] Example 2: The method of example 1, wherein outputting the summary of the content included in the graphical user interface further comprises: sending, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

[0117] Example 3: The method of example 1, wherein outputting the summary of the content included in the graphical user interface further comprises: outputting, by an audio output device of the computing system, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing system.

[0118] Example 4: The method of any of examples 1 through 3, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

[0119] Example 5: The method of any of examples 1 through 4, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

[0120] Example 6: The method of any of examples 1 through 5, wherein the machine learning model is applied to the structured text in accordance with one or more pre-defined rules including one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content.

[0121] Example 7: The method of any of examples 1 through 6, wherein the summary of the content includes a description including general view structure and semantic informationassociated with the graphical user interface.

[0122] Example 8: The method of any of examples 1 through 7, wherein the computing system retrieves the information automatically or responsive to one or more of a mechanical input, an audio input, or gesture control.

[0123] Example 9: A computing system includes: one or more processors; and one or more storage devices that store instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to: retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; convert the information into structured text; generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and output the summary of the content included in the graphical user interface.

[0124] Example 10: The computing system of example 9, wherein to output the summary of the content included in the graphical user interface further, the one or more processors are further configured to: send, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

[0125] Example 11 : The computing system of example 9, wherein to output the summary of the content included in the graphical user interface further, the one or more processors are further configured to: output, by an audio output device of the computing system, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing system.

[0126] Example 12: The computing system of any of examples 9 through 11, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

[0127] Example 13: The computing system of any of examples 9 through 12, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

[0128] Example 14: The computing system of any of examples 9 through 13, wherein the machine learning model is applied to the structured text in accordance with one or more predefined rules including one or more of unauthorized terms, unauthorized class names,unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content.

[0129] Example 15: The computing system of any of examples 9 through 14, wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface.

[0130] Example 16: The computing system of any of examples 9 through 15, wherein the one or more processors retrieve the information automatically or responsive to one or more of a mechanical input, an audio input, or gesture control.

[0131] Example 17: A non-transitory computer-readable storage medium encoded with instructions that, when executed by one or more processors, cause one or more processors to: retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; convert the information into structured text; generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and output the summary of the content included in the graphical user interface.

[0132] Example 18: The non-transitory computer-readable medium of example 17, wherein to output the summary of the content included in the graphical user interface further, the one or more processors are further configured to: send, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

[0133] Example 19: The non-transitory computer-readable medium of example 17, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

[0134] Example 20: The non-transitory computer-readable medium of any of examples 17 through 19, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

[0135] Example 21 : The non-transitory computer-readable medium of any of examples 17 through 20, wherein the machine learning model is applied to the structured text in accordance with one or more pre-defined rules including one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content.

[0136] Example 22: The non-transitory computer-readable medium of any of examples 17 through 21, wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface.

[0137] Example 23: The non-transitory computer-readable medium of any of examples 17 through 22, wherein the one or more processors retrieve the information automatically or responsive to one or more of a mechanical input, an audio input, or gesture control.

[0138] Example 24: A computer program product for generating a summary of content included in a graphical user interface, the computer program product comprising one or more instructions that, when executed by at least one processor, cause the at least one processor to: retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; convert the information into structured text; generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and output the summary of the content included in the graphical user interface.

[0139] Example 25: The computer program product of example 24, wherein to output the summary of the content included in the graphical user interface further, the one or more processors are further configured to: send, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

[0140] Example 26: The computer program product of example 24, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

[0141] Example 27: The computer program product of any of examples 24 through 26, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

[0142] Example 28: The computer program product of any of examples 24 through 27, wherein the machine learning model is applied to the structured text in accordance with one or more pre-defined rules including one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content.

[0143] Example 29: The computer program product of any of examples 24 through 28,wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface.

[0144] Example 30: The computer program product of any of examples 24 through 29, wherein the one or more processors retrieve the information automatically or responsive to one or more of a mechanical input, an audio input, or gesture control.

[0145] Various examples have been described. These and other examples are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:

1. A method comprising: retrieving, by a computing system and using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; converting, by the computing system, the information into structured text; generating, by the computing system and using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and outputting, by the computing system, the summary of the content included in the graphical user interface.

2. The method of claim 1, wherein outputting the summary of the content included in the graphical user interface further comprises: sending, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

3. The method of claim 1, wherein outputting the summary of the content included in the graphical user interface further comprises: outputting, by an audio output device of the computing system, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing system.

4. The method of any of claims 1-3, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

5. The method of any of claims 1-4, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

6. The method of any of claims 1-5, wherein the machine learning model is applied to the structured text in accordance with one or more pre-defined rules including one or more of unauthorized terms, unauthorized class names, unauthorized lengths of the summary of the content, or unauthorized rendering of the summary of the content.

7. The method of any of claims 1-6, wherein the summary of the content includes a description including general view structure and semantic information associated with the graphical user interface.

8. The method of any of claims 1-7, wherein the computing system retrieves the information automatically or responsive to one or more of a mechanical input, an audio input, or gesture control.

9. A computing system comprising: one or more processors; and one or more storage devices that store instructions, wherein the instructions, when executed by the one or more processors, cause the one or more processors to: retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; convert the information into structured text; generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and output the summary of the content included in the graphical user interface.

10. The computing system of claim 9, wherein to output the summary of the content included in the graphical user interface further, the one or more processors are further configured to: send, to a computing device, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing device.

11. The computing system of claim 9, wherein to output the summary of the contentincluded in the graphical user interface further, the one or more processors are further configured to: output, by an audio output device of the computing system, the summary of the content included in the graphical user interface, wherein the graphical user interface is associated with an application executing at the computing system.

12. The computing system of any of claims 9-11, wherein the information associated with the plurality of user interface elements is generated by the application programming interface.

13. The computing system of any of claims 9-12, wherein the information associated with the plurality of user interface elements further includes one or more of a node type, textual content associated with a node, an action that can be performed using a node, a relationship between one or more nodes, or a plurality of accessibility features included in the node.

14. A non-transitory computer-readable storage medium encoded with instructions that, when executed by one or more processors of a computing device, cause the one or more processors to perform any of the methods of claim 1-8.

15. A computer program product for generating a summary of content included in a graphical user interface, the computer program product comprising one or more instructions that, when executed by at least one processor, cause the at least one processor to: retrieve, using an application programming interface, information associated with a plurality of user interface elements included in a graphical user interface; convert the information into structured text; generate, using a machine learning model, a summary of content included in the graphical user interface by at least applying the machine learning model to the structured text, wherein the machine learning model is a large language model; and output the summary of the content included in the graphical user interface.