# Context-Based Model for Browsing the Web Through Voice
## 5 Model Functionalities for Voice-Based Web Browsing
### Result Delivery and Voice Navigation  
Figure 7 illustrates the process in which the user makes a voice request to the model. The Multi-modal User Interface converts voice to text, and the Natural Language Translator parses the request to identify the user's intent. For intent detection, an agent was configured in Dialogflow [41], a Google Cloud platform designed to create conversational interfaces in mobile applications. Dialogflow was chosen due to its built-in natural language understanding (NLU) capabilities, which enable accurate intent recognition and entity extraction. Additionally, its integration with various platforms and support for multiple languages make it a robust solution for developing interactive and scalable conversational agents. The agent configuration includes the definition of entities, intents, parameters, and preset responses. The intentions addressed by the proposed model fall into three categories:  
1. Intent related to the modification of the user interface that allows interaction with images, videos, terms, or web pages (see Table 8);
2. Search intent that includes searching for images, videos, terms, or web pages;
3. Navigation intent that enables movement between web pages by following links, and interaction with menus and visual elements. The Natural Language Translator may also assign the classification \"unknown\" when the intent of the user's request does not fit into the above three categories. Therefore, it is necessary to manage this possibility and notify the user. As shown in Figure 7, when the Natural Language Translator detects that the user's intent is \"search\", the Search component processes the query and generates a list of ten content options sorted by relevance to the user. On the other hand, if the detected intent is \"navigation or user interface modification\", the request and the intent parameters generated by the Natural Language Translator are processed by the Operations component. The intent parameters represent essential data to execute specific actions. For example, if the intent is \"move the image\", a parameter might indicate the direction of movement or a relative amount, such as \"a little\" or \"more\". Once this information is received, the Operations component performs the following tasks:  
* Validation: it checks if the requested action can be performed in the current user interface or window;
* Parameter analysis: it interprets the intent parameters to determine the type of operation to be performed. For example, if the intent is \"increase volume\" with no associated parameters, the volume is increased by a default value. However, if there are parameters, such as \"two levels\", this amount is added to the current level. If the parameter specifies an end level, the volume is simply set to that value;
* Execution: it performs the corresponding operations, such as invoking methods or generating events in the Multi-modal User Interface to reflect the requested changes or navigation;
* Error handling: it handles problems related to validation, parameter analysis, or operation execution. After processing the user's request according to the detected intent, whether it is \"search\", \"navigation\", \"user interface modification\", or an \"unknown\" intent, the results of each process are sent to the Response Generator, as shown in Figure 7. This component creates responses based on the web content and the user's request, in addition to generating notifications about available navigation options and application messages in natural \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Images** & **Videos** & **Terms and Web Pages** & **Others** \\ \hline Move image & Play and pause & Select an option & Volume control \\ Rotate 90\({}^{\circ}\) & Forward and backward & Click on & Close user interface or application \\ Resize & Watch next video & Move page (up, down, left, and right) & Repeat response or instructions \\ See next image & Watch previous video & Zoom in and out & \\ See previous image & & & \\ \hline \hline \end{tabular}
\end{table}