Checking consistency in data rendered on a user interface

WO2026175738A1PCT designated stage Publication Date: 2026-08-27ORANGE SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2026/053769
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-18
Filing Date
2026-02-12
Publication Date
2026-08-27

Smart Images

  • Figure EP2026053769_27082026_PF_FP_ABST
    Figure EP2026053769_27082026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for checking consistency, the method comprising: providing (105) an indication of consistency between at least one first element present in data rendered on at least one user interface (10) of at least one application currently being executed and at least one second element, the indication of consistency taking into account at least one response from at least one language model (30) to a query comprising the rendered data, the response designating the second element.
Need to check novelty before this filing date? Find Prior Art

Description

Description Title: Consistency Checking in Data Rendered on a User Interface Technical Domain

[0001] This disclosure falls within the domain of user support and automated content verification in computer application user interfaces. More specifically, it concerns a consistency check procedure, a computer program, an electronic device, and a corresponding computer system. Previous technique

[0002] Different approaches exist to verify the consistency of content displayed in the user interfaces of computer applications.

[0003] One known approach involves manual review of the content by the user or a dedicated operator. This method relies on human vigilance to detect inconsistencies in the displayed text, data, or graphics. However, it has significant limitations: it is time-consuming, prone to human error, and difficult to implement when a large volume of information needs to be verified.

[0004] Automated approaches also exist, based on predefined rules or specific validation algorithms. For example, some systems apply syntax checks (date formats, number structures, validation of required fields) or predetermined business rules. However, these approaches are often rigid and limited to cases known in advance.

[0005] There is therefore a need for an improved mechanism for verifying content displayed on user interfaces, which is capable of automatically detecting inconsistencies without requiring complex predefined rules. Summary

[0006] This disclosure improves the situation.

[0007] It is proposed, according to one aspect, a consistency verification method, the method comprising: a provision of an indication of consistency between at least a first element comprising data rendered on at least one user interface of at least one running application and at least a second element.

[0008] Thus, this application relates in particular to a consistency check procedure, the procedure comprising: providing an indication of consistency between at least one first element comprised of data rendered on at least one user interface of at least one running application and at least one second element accessible via a knowledge base and / or to which said rendered data gives access.

[0009] According to another aspect, a device is proposed comprising at least one processor adapted to provide an indication of consistency between at least a first element comprising data rendered on at least one user interface of at least one running application and at least a second element.

[0010] Such a device is suitable for implementing the process as defined herein, in any of its embodiments.

[0011] Thus, the present application relates in particular to a device comprising at least one processor adapted to provide an indication of consistency between at least a first element comprising data rendered on at least one user interface of at least one running application and at least a second element accessible via a knowledge base and / or to which said rendered data gives access.

[0012] In another aspect, a computer program is proposed that includes instructions for implementing all or part of a process as defined herein, in any of its embodiments, when executed by a processor. In another aspect, a non-transient, computer-readable recording medium is proposed on which such a program is recorded.

[0013] The proposed process may offer several technical advantages compared to existing techniques.

[0014] Thus, unlike techniques based on manual verification, the proposed process does not require constant human intervention. This automation can help reduce the user's cognitive load, prevent human error, and eliminate certain validation tasks.

[0015] Furthermore, unlike techniques based on predefined rules, considering a language model's response to a query containing the rendered data helps enable a thorough contextual evaluation of that data. This evaluation can help identify inconsistencies, such as semantic or logical ones, that would be difficult (or even undetectable) by simple syntactic or business logic validation.

[0016] Furthermore, the use of a language model in at least some embodiments can allow the proposed process to be adaptable to different types of content. This capability goes beyond traditional techniques, which are often restricted to specific formats or fixed rules.

[0017] The features described in the following paragraphs may optionally be implemented independently of each other or in combination with each other.

[0018] According to at least one embodiment, said consistency indication takes into account at least one response from at least one language model to a query including the returned data, said response designating said second element.

[0019] The language model can, for example, be a small language model (SLM) or a large language model (LLM) as described in more detail below.

[0020] In at least one embodiment, the method further includes, during a user action on a user interface actuator having a link with the first element, at least a temporary blocking of the user action.

[0021] Regardless of whether the blocking is temporary or not, and whatever the practical implementation details and the exact nature of the link between the actuator and the first element, the blocking prevents potentially erroneous actions (activated via the actuator). This can help improve the reliability of user interactions with the interface and can help avoid errors that could be costly or irreversible.

[0022] In at least one embodiment, the data is collected without interaction with the running application.

[0023] This allows for passive and continuous verification without disrupting the application's operation. In particular, it enables the analysis of dynamic or background content without requiring intrusive modifications to the application's code.

[0024] In at least one embodiment, the data collected provides access to said second element.

[0025] This means that consistency evaluation, in certain embodiments, is performed by directly comparing the information rendered in the running application, without relying on an external source. This approach can be particularly useful, in some embodiments, for identifying internal contradictions within the same display environment (for example, between application windows rendered on the same terminal) or between different sections of the same application.

[0026] In at least one embodiment, the second element belongs to a knowledge base assimilated by the language model.

[0027] The term "assimilated" in this context means that the knowledge base is learned (during a learning phase, for example) by the language model. This term encompasses various possible technical implementations. For example, the knowledge base can be used as a training dataset for the language model and become assimilated as a result of this use. The knowledge base can also be intrinsic to the language model, meaning it is contained within the language model and / or specific to it. Providing the model with a second element belonging to a knowledge base assimilated by the language model can help identify inconsistencies with respect to established facts or general consistency rules.

[0028] In at least one embodiment, the second element belongs to an external knowledge base that is at least partially accessible to the language model.

[0029] This helps to verify consistency with potentially restricted-access knowledge. Such an implementation can be particularly well-suited to environments requiring information validation against specialized, confidential, or regularly updated databases. It thus helps detect inconsistencies that would not be identifiable by a language model alone, by relying on specific sources that may not be publicly accessible.

[0030] In at least one embodiment, the language model's response includes an association between the first element and at least one of the following: a level of confidence, the second element, a source of information associated with the second element, a proposed replacement element, a type of inconsistency.

[0031] Associating the first element with a confidence level can represent a qualitative and / or quantitative indication of the language model's certainty regarding the consistency indicator. This can, for example, allow for a more nuanced interpretation of the language model's response, potentially helping to avoid a false positive when an inconsistency is detected, or strengthening the reliability of a consistency indicator.

[0032] Combining the first element with the second element can help clarify and / or justify an indication of consistency or inconsistency. By explicitly identifying the second element as the point of comparison, the user can, for example, more easily assess the relevance of the indication and, if necessary, determine whether to correct or confirm the detected consistency or inconsistency.

[0033] Associating the first element with a source of information related to the second element can support the indication of consistency by providing an explicit reference. Such an association can thus facilitate the validation of detected consistency by providing proof of accuracy, or help to contextualize a potential inconsistency by identifying a possible origin or explanation.

[0034] Associating the first element with a suggested replacement can help the user manage potential inconsistencies by proposing a valid alternative. This suggestion can effectively correct a detected inconsistency. Conversely, the absence of a relevant alternative can help confirm consistency.

[0035] Associating the first element with a type of inconsistency can provide a more precise indication of the nature of the potential inconsistency detected. This allows the user to better understand whether the inconsistency stems from a factual contradiction, a contextual error, a formatting discrepancy, or another cause. Conversely, the absence of an identified inconsistency type can help confirm consistency.

[0036] When several of these associations are combined (for example, when the first element is associated with a confidence level and an information source linked to the second element), the relevance and interpretability of the consistency indicator can be improved. Such a combination can allow the user to refine their decision-making by providing a set of complementary information, thus promoting more effective use of the process.

[0037] In at least one embodiment, the first element and / or the second element is of a textual, graphic, audio and / or video nature.

[0038] More generally, the first element and the second element can be of various natures (in particular of a different nature each), the proposed process being applicable to a wide range of use cases.

[0039] When the first and second elements are of distinct natures, for example, a text element compared to an audio element, the proposed method makes it possible to identify intermodal inconsistencies. This is particularly useful in contexts where information is expressed in different forms (e.g., subtitles vs. audio, text vs. images).

[0040] In at least one embodiment, the method includes, when providing the consistency hint and when the provided consistency hint indicates an inconsistency, an animation of the user interface to signal the inconsistency.

[0041] Adding a user interface animation to signal an inconsistency improves the user experience by making the detection visually identifiable. This can help reduce the risk of the user ignoring or failing to notice the inconsistency.

[0042] In at least one embodiment, the user interface animation includes at least one of the following actions: an alert, a provision of at least one extract of the response provided by the language model, highlighting the first element, highlighting the second element, providing a source of information associated with the second element, a proposal for a replacement element for the first element, a report of a type of inconsistency, a provision of a confidence level of the language model or a confidence score that takes into account this confidence level.

[0043] An alert can immediately draw the user's attention to the detected inconsistency, which is particularly useful for critical inconsistencies requiring rapid correction.

[0044] Providing at least one extract of the response provided by the language model, and / or reporting a type of inconsistency can help illustrate why an inconsistency was detected, thereby improving the user's understanding of the nature of the inconsistency.

[0045] Highlighting the first element can help the user quickly identify the part of the content that needs correction.

[0046] Highlighting the second element can facilitate comparison between the first and second elements, which can allow for better decision-making regarding the correction to be made.

[0047] Providing a source of information associated with the second element can help to support the reported inconsistency with external references, making the verification more credible.

[0048] Proposing a replacement element for the first element can improve the correction of the inconsistency by providing a directly usable alternative.

[0049] Providing the confidence level or confidence score can provide additional insight for decision-making regarding the need for correction.

[0050] In at least one embodiment, the method includes, after animation of the user interface, obtaining, via a human-machine interface, a consideration or a non-consideration of the reported inconsistency.

[0051] This can help improve the interaction between the user and the process. Such feedback can, in particular, prevent unnecessary blockages by allowing the user to explicitly indicate that a reported inconsistency is actually acceptable within the context of use. Furthermore, this feedback can be used to refine the criteria for detecting inconsistencies over time. For example, when a user consistently rejects a certain type of report, the process can take this into account to avoid excessive or irrelevant notifications in subsequent iterations. Conversely, when inconsistencies are regularly validated as relevant, the process can, for example, adapt its detection criteria to increase its sensitivity to similar inconsistencies.By enabling dynamic interaction with the user, this embodiment can thus contribute to improving the accuracy and acceptability of the consistency indications provided by the process.

[0052] In at least one embodiment, the device is a terminal and the application runs at least partially on the terminal.

[0053] This allows for local implementation of the proposed process without requiring a permanent connection to a remote server. This can offer several advantages, particularly in terms of responsiveness and the confidentiality of the processed data. Brief description of the drawings

[0054] Other features, details, and advantages will become apparent upon reading the detailed description below and analyzing the attached drawings, on which: Fig. 1

[0055] [Fig. 1] shows a functional architecture of a consistency check system, in an example implementation. Fig. 2

[0056] [Fig. 2] shows a sequence of a consistency check process when a detected inconsistency leads to a blocking of a user action, in an example implementation. Fig. 3

[0057] [Fig. 3] shows a sequence of a consistency check process when a detected inconsistency leads to a visual signal, in an example implementation. Fig. 4

[0058] [Fig. 4] shows a computer device suitable for implementing a consistency check process, in an example of an embodiment. Description of the implementation methods

[0059] The proposed technique concerns the verification of the consistency of data rendered on one or more user interfaces of one or more running applications.

[0060] In this context, an application refers to a computer program running on one or more computing devices that enables data processing and / or user interaction. Examples of such applications include office software, web browsers, business applications, operating system modules, and so on. In this context, a computing device running an application can be of any type, such as a mobile terminal, a personal computer, a connected device, or an augmented or virtual reality device.

[0061] A user interface refers to all the means by which an application and a user interact via the computer device(s) running the application. A user interface can include, for example, graphical elements displayed on a screen, sound elements played through a speaker, physical or tactile controls, and / or augmented or virtual reality interfaces.

[0062] A running application can render data in various forms, including displayed, streamed, or captured data.

[0063] The proposed technique is based on the analysis of a language model applied to all or part of the rendered data, in order to provide an indication of consistency between at least one element from the rendered data and an analysis reference.

[0064] The consistency indicator thus provided can reflect consistency or inconsistency, thereby facilitating the automatic detection of possible errors or contradictions.

[0065] Some technical explanations specific to language models are now provided to facilitate understanding of the proposed technique.

[0066] A language model is an artificial intelligence system designed to analyze, process, and generate text or other data based on a given input. A Large Language Model (LLM) is an advanced version of this type of model, based on a transformer-type neural network architecture. An LLM is capable of performing complex analyses while taking into account the overall context of the data it processes and can thus be used to identify logical, semantic, or factual relationships between different pieces of information. A Small Language Model (SLM) is an artificial intelligence system designed to understand and generate human language on a smaller scale compared to large language models. Some SLMs can, for example, be derived from large language models such as BERT (Bidirectional Encoder Representations from Transformers).Other known SLMs do not use transformer-type neural network technology.

[0067] When a language model is used for consistency checking, it can rely on a knowledge base to perform its analysis. A knowledge base can be of two types. An assimilated knowledge base corresponds to the information that was integrated into the language model during its training. This information is static and represents internal knowledge that the model can use without needing to access an external source. An external knowledge base consists of information that is dynamically accessible by the language model during its execution. Such a base can include specialized documents, regulatory databases, APIs providing real-time updated data, or even private databases containing information specific to an application domain.

[0068] When a language model is used with an external knowledge base, it can operate according to a Retrieval-Augmented Generation (RAG) approach, where it queries the external base to enrich its analysis with more accurate or more recent data than it contains itself.

[0069] Within the framework of the proposed technique, a language model, and more specifically an LLM, can be requested via a query including all or part of the returned data, in order to produce a response enabling the determination of an indication of consistency.

[0070] A request can contain rendered data in different forms. In some embodiments, the request can contain a raw representation of the rendered data, such as text extracted directly from a user interface. In other embodiments, the request can contain a transformed version of the rendered data, including reformulation, summarization, or preprocessing of the data before submission to the language model.

[0071] The query may contain only a portion of the returned data, for example, by selecting data deemed relevant for consistency checking. In some cases, the query may contain only a fragment of the returned data intended for analysis, without including the full context of the returned data.

[0072] Any suitable hardware and / or software may be used for the practical implementation of the proposed technique. In particular, the proposed technique may be implemented in the form of a method, a computer program, a computer device, or a computer system intended to provide such an indication of consistency. Generally, although aspects of the proposed technique may be described in this document as a method, a process, a device, a module, a system, a procedure, or a method, it should be noted that the proposed technique may also encompass computer memory that can be connected to a processor, which may be connected to a communication interface. This memory stores instructions that, when executed by such a processor, enable the implementation of the methods, processes, devices, modules, systems, procedures, or methods described in this document.

[0073] The proposed technique can be applied to various types of content and can give rise to different modes of intervention depending on the context of use, including for example a simple visual signal and / or a temporary or permanent blocking of a user action.

[0074] Some terms and expressions are now clarified for a better understanding of the possible application contexts of the proposed technique.

[0075] Rendered data refers to any information that can be collected and used by a running application, regardless of how it is disseminated or captured. This data can include both disseminated data, corresponding to information displayed or emitted by the application, and captured data, corresponding to information perceived via sensors or user input.

[0076] The data returned may include, but is not limited to, information of one or more types such as: visual information such as text displayed on the interface, including titles, input fields, notifications, or error messages, graphical information such as icons, buttons, images, animations, or graphics, visual representations whose interpretation allows information to be deduced, such as an icon indicating a low battery level or a network status indicator, video streams captured by a camera, for example in a videoconferencing, surveillance or augmented reality application context, audio information broadcast by the application, such as podcast playback, text-to-speech, or sound notifications, sound information captured by a microphone, for example for speech recognition, audio recording or ambient noise analysis, information from user interactions with the application, for example text entered via a keyboard or touchscreen, selections made by the user such as clicks, key presses or touch gestures, or data from gesture recognition or eye tracking, system and environmental information, such as metadata about the running application, for example the software version, network connection status or resources consumed, system settings, such as interface language, time zone or brightness level, location information, such as GPS coordinates or connection data to an identified local network, information from the application itself, including contextual elements extracted from event logs, recorded user actions, data exchanged with remote services via APIs or real-time communications, dynamic elements generated by the application, such as text suggestions or search results.

[0077] The term "renderings" is therefore not limited to data displayed on a screen, but encompasses any element accessible by an application, whether through active streaming or passive capture.

[0078] The term "first element," as used herein, refers to an elementary fragment of the rendered data. The first element is an identifiable unit of information that can be extracted from the rendered data for analysis during consistency checks. Depending on the nature of the rendered data, the first element could be, for example, a word, phrase, or paragraph in displayed text; an icon or button in a graphical interface; an audio or video clip; a numeric value from system metadata; a GPS location; a user selection; and so on. This fragment can be isolated as a processing unit as required by the process and can be static or dynamic, depending on how it is captured or delivered within the running application.

[0079] The term "second element," as used herein, refers to a comparison element used to assess the consistency of the first element. Depending on the use case and embodiment, the second element may be another elementary fragment of the rendered data—that is, another portion of information derived from the same rendered data as the first element—or it may be distinct from the rendered data. In particular, in some embodiments, the second element may originate from a knowledge base assimilated by a language model or from an external knowledge base.

[0080] For a given consistency check, there may be one or more first elements and one or more second elements.

[0081] For example, in the case of checking the consistency between a title and the content of an article displayed on a user interface, a first element may be the text of the title, while a second element may be the entire content of the article.

[0082] For example, in the case of analyzing an automatic transcription generated from an audio file, the first element may be a sentence extracted from the transcription, and the second elements may be both an extract from the corresponding audio signal and a reference from a language model responsible for verifying the correspondence between the extracted sentence and the extract from the corresponding audio signal.

[0083] Furthermore, a consistency check process may include several separate checks, each involving any number of first elements and any number of second elements.

[0084] Some first and / or second elements may be common to several consistency checks. For example, in an interface displaying information from multiple data sources, the same price value (first element) can be compared to several reference values ​​from different databases (second elements), each of which can be used for a separate check. Similarly, location information (first element) can be evaluated against a first database of points of interest and a second database of frequent routes, each used for different checks.

[0085] The ability to consider multiple first and second elements, as well as the possibility of performing several consistency checks, allows the proposed technique to find diverse applications, including in contexts where several criteria must be considered simultaneously. For example, in an error detection system for a structured document, it may be relevant to compare a date displayed in a table (first element) not only to another date from the same document (second element) but also to a date from an external source (another second element), each comparison constituting a distinct consistency check based on a common first element.

[0086] Figure 1 illustrates an example of the implementation of the proposed technique.

[0087] This implementation is described in a particular scenario, cited as a non-limiting example, in which the language model used is an LLM, a first element is textual in nature, at least from the point of view of the LLM, and a second element is also textual in nature, at least from the point of view of the LLM.

[0088] This means that: The request sent to the LLM contains a textual representation of the first element, independent of the native representation of the first element (plain text, text image, metadata, ...), and The response provided by the LLM contains a textual representation of the second element, regardless of the initial format of the second element.

[0089] In this scenario, we consider only one first element and one second element to simplify the explanation.

[0090] Figure 1 represents a user interface 10, an LLM 30 and a consistency checking system 20 comprising a series of logic modules defined by their function: a context analyzer 21, a text analyzer 22, an interaction manager 23, a contextual assistant 24, and an interface manager 25.

[0091] All or part of the modules shown can be implemented by a user terminal. A user terminal is a device or system on which one or more applications are running. These applications generate data that can be used by the consistency check system.

[0092] The user interface (UI) is a space where one or more interactions can occur between one or more users and one or more running applications. A user interface can, in particular, facilitate the use of a running application by one or more users.

[0093] Structurally, the user interface may include: one or more input devices such as keyboards, mice, touch interfaces, etc. and / or one or more output devices, for example visual output (screen, projector, etc.) or sound output (speaker).

[0094] In the context of the proposed technique, the user interface is a means by which the data rendered by one or more applications is presented to the user.

[0095] Functionally, the user interface may include: visual components such as windows, menus, icons, animations, interactive elements, and / or sound components, and / or multimedia components, etc.

[0096] The context analyzer 21 is a logical module configured to collect this rendered data and prepare it in a form usable by the rest of the consistency checking system 20. It can retrieve directly usable information, or apply transformations when the data is not immediately usable in the context of consistency checking.

[0097] In some cases, the rendered data is natively usable by the consistency checking system. For example, if the rendered data includes text displayed on the screen or metadata associated with the rendered data, the context analyzer can simply extract this text without further transformation.

[0098] However, the rendered data may be stored or rendered in another format, requiring conversion before it can be used. The context analyzer may therefore include one or more conversion modules capable of transforming rendered data from any input format into an output format usable by the rest of the system.

[0099] In the example considered, where the first element must be textual in nature, the context analyzer may include conversion modules allowing the extraction of text from other formats: an OCR converter (for Optical Character Recognition) can be used when the first element is text contained within an image, A speech-to-text converter can be used to transcribe audio content (such as speech) into text. A text extractor can be used when text is encapsulated in a structured format in order to isolate only relevant information.

[0100] More generally, when the output format of the first element is not necessarily textual, the context analyzer can include other types of converters suited to the nature of the data and the needs of the system.

[0101] For example, the context analyzer may include an image segmentation module, a sound pattern recognition module, a raw signal standardization module, etc.

[0102] The collection of returned data can be carried out in different ways. In the case of instantaneous collection, a single data collection is performed at a given moment (for example, when a user action is detected, such as the validation of a form).

[0103] When a sequential data collection method is implemented, multiple collections of rendered data can be performed over time. These captures can correspond to distinct moments (e.g., a capture performed regularly, for example, every 10 seconds) or to rolling time intervals (e.g., analysis of text changes over a rolling period, for example, 30 seconds). The collection can be periodic or aperiodic. In the case of periodic collection, the rendered data is gathered at regular time intervals that can vary widely depending on the implementation (and, for example, the intended applications). For example, the period between two consecutive capture moments, or the duration of a time interval covered by a capture, can be: 1 to 60 seconds, for example 10 seconds or 30 seconds for targeted applications requiring frequent updates, 1 to 30 minutes, for example 5 or 10 minutes for less urgent monitoring or analysis, 30 minutes to 6 hours, for example 1 or 2 hours for data collection on slow-evolving phenomena.

[0104] A collection can also be triggered by an event such as a change in the text displayed on the screen, detected via an interface refresh, a change in the state of an application (e.g. opening a new document, updating a web page, validating a transaction), a user action, such as selecting an item, entering text or executing a keyboard shortcut, a system notification, for example a change in connectivity or a security alert, etc.

[0105] Each collection of returned data can be used by the rest of the consistency checking system independently, or several successive collections over a time interval can be aggregated and used by the rest of the consistency checking system in aggregate form.

[0106] The text analyzer 22 is a logic module responsible for interacting with the LLM 30 in order to obtain an indication of consistency on a first element that is part of the rendered data collected by the context analyzer.

[0107] The text analyzer's role is to formulate and send queries, or "prompts", to the LLM and to receive responses from the LLM to these queries.

[0108] A possible example of interaction between the text analyzer and the LLM is now detailed.

[0109] In this example of interaction, an initial request, called a "root prompt", is passed to the LLM. This initial request, which is issued by any entity of the consistency checking system (for example, text analyzer 22, but not necessarily) defines a task to be performed.

[0110] An example of an initial query is provided for illustrative purposes: "You are an expert in detecting inconsistencies in the text displayed on the user's screen. The raw text is provided to you, and your objective is to identify all the inconsistencies it contains." Definition of an inconsistency: An inconsistency is a contradiction or incompatibility between two elements, such as sentences, data, or facts. Steps to follow: Step 1: Identify named entities, i.e., find names, addresses, telephone numbers, dates, etc. in the text. Step 2: Look for inconsistencies between entities: For example, a postal code that does not correspond to the city or a name that does not correspond to an email address. Step 3: Analyze the body of the text: Identify all inconsistencies, such as: Factual contradictions: Example: "I am unavailable today" and "Feel free to come see me today." Inconsistent titles: Example: Incorrect numbering such as "3. Action Plan" followed by "4. Action Plan." Thematic contradictions: Example: Talking about cycling in a text about teleworking. Date inconsistencies: Example: A signature date prior to the attestation date. Step 4: Check the calculations, identify any errors in the calculations or figures mentioned. Step 5 Returns a structured result in JSON format and summarizes the identified inconsistencies in the following format: { "inconsistency": [ { "phrase_1": "<premier extrait> ", "phrase_2": "<second extrait> ", "description of incoherence": " <description de la première incoherence»" },{ "phrase_1": "<premier extrait> ", "phrase_2": "<second extrait> ", "description of incoherence": " <description de la seconde incoherence»" } Add as many dictionaries as needed ] } If there are none, return: {"inconsistency": []} ».

[0111] In this example of interaction, the text analyzer then sends the LLM a running query containing the rendered data collected by the context analyzer, either in its raw form or after preprocessing by another module. This running query contains at least the first element that serves as the basis for the consistency check.

[0112] In this example of interaction, the text analyzer then receives a response from the LLM to the current query.

[0113] In accordance with the example initial request provided, this response is transmitted in a structured format (here in the form of a JSON object) and designates different elements depending on the result of the analysis performed by the LLM.

[0114] If at least one inconsistency is detected, the response follows a structure defined in the initial request and includes a list of detected inconsistencies, each entry being detailed according to the following elements: phrase_1: a first element from the collected data containing information identified as inconsistent, phrase_2: a second element allowing identification of the source of the inconsistency (e.g., a portion of the data collected or an external element used as a reference), and description_inconsistency: an explanation describing the nature of the inconsistency detected.

[0115] If no inconsistency is detected, the response follows a minimalist format, explicitly stating that no inconsistency has been identified.

[0116] The example of interaction thus described can be modified or supplemented in various ways.

[0117] Specifically, the initial request and the current request can be combined into a single request. This means that instead of sending a separate initial request defining the LLM's role, followed by a current request containing the data to be analyzed, a single consolidated request can be formulated, incorporating both the general instructions and the specific data to be analyzed. In this case, the root prompt is not sent as a separate instruction but is directly prefixed or integrated into the request containing the first element. This simplifies communication with the LLM and optimizes interactions by reducing the number of requests sent.

[0118] Furthermore, optionally, preprocessing can be applied to the collected data before it is sent to the LLM (e.g., removal of special characters, stop words, segmentation). This processing can be performed directly by the text analyzer, or it can be carried out upstream by the context analyzer or by one or more dedicated modules.

[0119] Furthermore, when the context analyzer performs multiple successive collections of rendered data, the text analyzer can transmit several distinct running queries to the LLM, corresponding to the different collections. Each running query contains at least one first element from a given collection, and for a given running query transmitted to the LLM, the LLM returns a response designating at least one second element matching that query. Successive running queries can be processed individually, with each LLM response interpreted independently of the others. Alternatively, multiple successive running queries can be correlated to identify changes or inconsistencies over time.

[0120] The response provided by the LLM to a current query can include different types of information depending on the implementation chosen and the parameters defined in the initial query and the current query.

[0121] This information helps to clarify the nature and reliability of the consistency indicator, by associating the first element with at least one of the following information categories: a level of confidence, the second element, a source of information associated with the second element, a proposed replacement element, a type of inconsistency.

[0122] In this context, a confidence level is a quantitative or qualitative indication of the LLM's certainty regarding the provided consistency indication. A confidence level can be expressed numerically (e.g., a probability from 0 to 1 or a percentage) or qualitatively (e.g., "high confidence," "moderate confidence," "low confidence"). Including a confidence level can be useful for weighting the analysis, for example, by avoiding false positives or prioritizing inconsistencies based on their criticality.

[0123] In this context, an information source associated with the second element could be a document, a knowledge base, etc. The information source can be provided in its original form and / or as a path or link, for example, as a hyperlink to a Uniform Resource Locator (URL) location and / or as any reference, interactive or not, that allows for manual verification. It can be provided directly by the LLM or identified by an external module. Such an information source aims, for example, to justify the detection of an inconsistency or to explain why consistency is confirmed.

[0124] In this context, a replacement element proposal is a suggestion of a coherent alternative to the first element in order, for example, to facilitate the correction of a detected inconsistency.

[0125] In this context, a type of inconsistency is the result of categorizing a detected inconsistency based on its nature. This could be a factual contradiction, a calculation error, a thematic inconsistency, a syntactic inconsistency, and so on. This categorization allows subsequent modules of the system to prioritize certain types of inconsistencies or to handle them differently depending on their severity.

[0126] Although the text analyzer in the example considered is designed to work with text, the proposed technique is not limited to textual analysis. The text analyzer can be replaced or supplemented by another type of analyzer depending on the nature of the initial element. For example, an image analyzer can be used to send images directly to the LLM, which requires specifying in the initial request that the LLM should analyze the consistency of visual content. For example, an audio analyzer can transmit an audio file, relying on an initial request asking the LLM to identify inconsistencies in dialogue or recording elements. For example, a signal analyzer can send raw data in a usable format, relying on an initial request adapted for analyzing trends or anomalies in time series.

[0127] Regardless of the type of data analyzed, the fundamental role of the analyzer (text, image, audio...) remains the same: to transmit the collected data to the LLM and receive a response enabling the formulation of an indication of the consistency of this collected data, this indication of consistency being more specifically relative to at least one first element contained in the collected data transmitted to the LLM.

[0128] More specifically, the analyzer acts as a logical interface between the data rendered from the user interface 10 via the context analyzer 21 and the LLM 30. It is responsible for transmitting relevant data to the LLM by integrating it into a usable format (text, image, sound, signal), while ensuring that the request is formulated consistently with the task assigned to the LLM, as defined in an initial request. It thus ensures the correct execution of the instructions contained in the initial request, by sending a properly structured current request and receiving a response from the LLM.

[0129] In addition, once the current query is transmitted to the LLM, the analyzer does not simply passively receive the LLM's response. Its role also includes transmitting a consistency indicator to the contextual assistant.

[0130] This transmission can take the form of a direct transmission, where the analyzer forwards the LLM's response in its entirety to the contextual assistant without modification. Alternatively, the analyzer can be configured to extract one or more relevant data points from the response provided by the LLM, for example, the first element, the second element, a (binary, for example) indicator of consistency / inconsistency, a confidence level, and / or a categorization of a detected inconsistency. Alternatively, the analyzer can be configured to reformulate the content of the LLM's response to adapt it to the contextual assistant's needs, for example, by structuring the response content differently before transmitting it to the contextual assistant.

[0131] The consistency indicator transmitted by the analyzer to the contextual assistant may therefore contain, but is not limited to, one or more of the following pieces of information: the first element, the second element, a consistency status, indicating whether the first element is consistent or inconsistent with respect to the second element, a textual description of the identified inconsistency or consistency a level of confidence, a type of inconsistency detected, a link to an external source of information if consistency was assessed based on external knowledge.

[0132] This mechanism allows the contextual assistant to have usable information adapted to its role, without needing to directly analyze one or more raw LLM responses.

[0133] The interaction manager 23 is responsible for detecting and interpreting "user actions", that is, actions requested by a user or actions offered to a user within one or more applications running on the user's terminal.

[0134] A user-initiated action refers to any interaction initiated by the user with the interface or system. A user-available action refers to any action that the user could potentially perform but has not yet requested. User actions can be detected at different levels, depending on the type of application or device used.

[0135] Depending on the context of use, the actions requested by a user and detected by the interaction manager may include: actions on documents and files (creating, modifying or deleting a document, saving or exporting a file, printing or sharing a document), communication actions (sending an email, message or file via a messaging application, publishing content on a social network or website, participating in a video conference, speaking, screen sharing) transactional actions (validation of an order or payment on an e-commerce application, electronic signature of a document, submission of a form or administrative declaration) security actions (connecting or disconnecting from a user account, changing system settings, accessing a protected resource requiring authentication), any other action (triggering a voice command on a smart assistant, enabling or disabling hardware features, etc.).

[0136] Depending on the context of use, the actions offered to a user and detected by the interaction manager may include: an action button displayed on an application's interface, a menu option or command available in an application's interface, a keyboard shortcut allowing for a quick action within an application's interface, a contextual suggestion displayed by an application.

[0137] When a user action is detected, the interaction manager 23 can transmit this information to the context assistant 24, in order to assess whether this action is relevant with regard to the consistency indication provided by the analyzer 22.

[0138] Contextual assistant 24 is configured to make decisions based on one or more consistency indicators provided by analyzer 22 and, where appropriate, one or more user actions detected by interaction manager 23.

[0139] When it receives an indication of consistency regarding a first element and a second element, the contextual assistant can, for example, use it to analyze a potential consequence of a user action.

[0140] Depending on the situation at hand, several types of decisions can be made by the contextual assistant.

[0141] For example, in a situation where the context assistant receives no indication of an inconsistency, it can be configured to prevent any user-visible action from being taken, allowing the user to interact normally with the interface(s) of the running application(s) without modifying those interface(s). The context assistant can nevertheless inform other modules that no inconsistency has been detected, which can be useful in certain operating modes (e.g., logging analyses).

[0142] For example, in a situation where the contextual assistant receives at least one indication of an inconsistency, a user interface animation of at least one affected application may be triggered to signal the inconsistency.

[0143] This animation may include one or more of the following actions: an alert, for example in the form of a message warning the user of a detected inconsistency (and optionally indicating the level of confidence in this detection), highlighting the first element, for example by framing or highlighting, highlighting the second element, for example by framing or highlighting when the second element is part of the data rendered by the user interface, or by a pop-up window including the second element in the opposite case, a display of an information source associated with the second element: for example, a link to a reference document explaining why an inconsistency was identified a proposal for an element intended to replace the first element, such as a suggestion for correction, a provision of an extract from the LLM's response explaining, for example, the reason for the reported inconsistency.

[0144] This interface animation is implemented by the interface manager 25 at the request of the contextual assistant 24.

[0145] For example, in a situation where the context assistant receives at least one indication of an inconsistency and one indication of detection of a user action, the context assistant can be configured to evaluate whether to intervene in the user action based on the detected inconsistency.

[0146] One possible consequence is a blocking of the user action.

[0147] Blocking can take the form of temporary inhibition, meaning the user action is disabled or delayed, with the interface momentarily preventing its execution. Blocking can also take the form of an explicit refusal, a message indicating, for example, that the action is not permitted due to a detected inconsistency. Finally, blocking can take the form of a confirmation request, requiring the user to confirm that they still wish to perform the action despite the reported inconsistency.

[0148] The interface manager 25 then applies the decision made by the context assistant 24, adjusting the display and behavior of the interactive elements of the user interface.

[0149] These adjustments may include, for example: an interception of an action requested by a user in order to prevent the execution of a command, a temporary or permanent masking of an action offered to a user, a graying out or removal of a button or menu option, disabling an input field, and / or a display of a request to confirm an action requested by the user.

[0150] Reference is now made to Figure 2, which shows a possible sequence of a consistency check process that can be implemented by the consistency check system 20. This possible sequence corresponds, specifically, to a situation where a detected inconsistency leads to a blocking of a user action.

[0151] The process begins with the collection of data 101 from the context analyzer, which extracts at least one initial element from the information available on the user interface. This collected data is then passed 102 to the text analyzer. The text analyzer processes this data and generates a current query 103 sent to the LLM 30, seeking an indication of consistency between the first element and a second element. The LLM analyzes 104 the query and returns a response containing an indication of inconsistency. This indication is then processed by the text analyzer, which extracts it into a usable form before passing it 105 to the context assistant.

[0152] In parallel, the interaction manager identifies 113 relevant user actions within the application's execution context. These actions can be solicited actions, meaning actions actually performed by the user (e.g., clicking a button, submitting a form), or offered actions, corresponding to interactions that remain available to the user on the interface (e.g., a visible but still inactive submit button). The interaction manager then signals 114 the detected actions to the contextual assistant, so that the contextual assistant can assess the relevance of an intervention.

[0153] The contextual assistant, upon receiving the inconsistency indication transmitted in 105 and the actions reported in 114, proceeds to analyze the interaction context.

[0154] For example, the contextual assistant can assess whether the detected user action has a semantic, functional, and / or display proximity link to the first element. A semantic link exists when the user action relates to content connected to the first element, for example, when a "Send email" button is associated with a text field containing information extracted from the rendered data. A semantic link is considered "direct" when there is an immediate and explicit connection between the detected user action and the first element. For example, if the first element is a keyword in a text, a "Search for more information" button placed nearby is considered directly related to that keyword, because the search action applies specifically to that keyword.A functional link is established when the user action depends on the first element for its execution, such as a "Save Document" button intended to save text containing the first element. A functional link is considered "direct" when the detected user action explicitly uses or manipulates the first element. For example, if the first element is a date in a displayed calendar, an "Add Event" button that opens a form pre-filled with that date is considered directly linked to that element. Display proximity is characterized by a close visual arrangement of the first element and the actuator on the user interface, suggesting an intuitive relationship for the user.

[0155] If no user action is detected, or if no action is deemed to be impacted by the inconsistency, the contextual assistant may decide not to actively intervene in the interface. If an inconsistency is detected and concerns a displayed element, the contextual assistant can generate and transmit an instruction to highlight this inconsistency, without a direct link to any user action. This instruction might, for example, command an alert to be displayed, the first or second element to be highlighted, or the addition of a contextual annotation explaining the nature of the inconsistency.

[0156] In cases where the inconsistency is associated with a user action identified in 114, the contextual assistant generates and transmits 115 specific instructions to the interface manager to restrict, modify, or condition the execution of that action. Unlike instructions transmitted in 111, which only concern the visual interface, instructions transmitted in 115 have a direct impact on the potential execution of a user action. These instructions can include temporarily inhibiting the action (e.g., making a button inactive), explicitly refusing the action (e.g., preventing the sending of an inconsistent document), or requesting confirmation that requires the user to manually validate the continuation of the action despite the reported inconsistency.

[0157] The interface manager applies these instructions by issuing command 116 to the user terminal. This command can result in disabling an interactive element, modifying the display to warn the user, or intercepting an event before its actual execution.

[0158] If the detected actuator is a "Send Email" button, the blocking mechanism can consist of disabling the button until the inconsistency is resolved, intercepting the send command and displaying a warning requesting correction, or making sending conditional upon explicit user confirmation. Similarly, if the actuator is a "Save Document" button, the restriction can include warning the user about the risk of saving an inconsistent document, temporarily disabling the button, or providing an alternative requiring additional validation before final saving.

[0159] When faced with this restriction, the user may be prompted to review the relevant information before attempting the action again. If the system requires confirmation, the interface may display a message requesting explicit validation before proceeding. The user can then either confirm their action despite the reported inconsistency or modify the relevant content to resolve the inconsistency.

[0160] In some embodiments, user correction or validation may trigger a new consistency check to dynamically adapt the consistency checking system's decision, thereby reassessing the relevance of a previously applied restriction or highlighting.

[0161] Reference is now made to Figure 2, which shows a possible flow of a consistency check process that can be implemented by the consistency check system 20. This possible flow corresponds, specifically, to a situation where a detected inconsistency leads to a visual signal on a user interface, without direct impact on a user action.

[0162] The collection 101 of the rendered data, their transmission 102 to the text analyzer, the generation and sending 103 of a current query, the analysis 104 by the LLM and the transmission 105 of a consistency indication to the contextual assistant, are identical to those described in Figure 2. For reasons of brevity, reference is made to the corresponding description.

[0163] Unlike the process shown in Figure 2, the contextual assistant here receives no user action to consider. Consequently, no action blocking instruction is generated, and the contextual assistant is limited to highlighting the detected inconsistency through a visual alert.

[0164] To achieve this, the contextual assistant generates instruction 121 for the interface manager, requesting the application of a visual indicator of the inconsistency. This instruction is analogous to the one described in 111 in Figure 2, except that it has no impact on the execution of user actions.

[0165] The interface manager applies instruction 122 by commanding a change to the display on the user interface. This notification can take several forms, including a visual alert, highlighting the first and / or second element, displaying an explanatory message about the inconsistency, or adding a contextual annotation indicating the source of the detected inconsistency.

[0166] The user thus retains full freedom to interact with the interface, but benefits from feedback designed to alert them to any potential inconsistencies. This implementation method is particularly well-suited to situations where it is preferable not to restrict the user, but simply to provide them with guidance to facilitate decision-making.

[0167] Figure 4 illustrates a computer device 40 adapted to implement all or part of the modules of the consistency check system 20. This device includes a memory 41, a processor 42 and a communication interface 43. It may be, for example, a user terminal that it is intended to assist.

[0168] Memory 41 is configured to store instructions executable by processor 42, enabling the execution of the various functions of the consistency checking system. It can also contain temporary data used during processing, such as initial elements extracted from the rendered data, queries addressed to the language model, or generated consistency hints.

[0169] The 42 processor is designed to execute instructions stored in memory and to process the data necessary for implementing the consistency check procedure. It can therefore perform functions such as analyzing rendered data, formulating and sending queries to the LLM, processing responses from the language model, and making decisions regarding the display or blocking of user actions.

[0170] The communication interface 43 allows the device 40 to exchange data with other entities, notably to query a remote LLM or receive information from a user terminal. It can be implemented in various forms, including network interfaces enabling remote communication, local interfaces ensuring integration with a terminal, or interfaces specific to embedded systems.

[0171] The LLM 30 can be integrated into the consistency check system 20 and run locally on the device 40, or it can be hosted on a remote platform accessible via the communication interface 43.

[0172] The user terminal can understand the device 40 and be configured to implement the consistency check system, allowing local execution of the process without relying on a remote server. Alternatively, the user terminal can be a simple user access point interacting with a separate device 40, for example, a remote server performing the consistency check and returning the results to the terminal.

Claims

Demands

1. A consistency verification method, the method comprising: a provision (105) of an indication of consistency between at least a first element comprised of data rendered on at least one user interface (10) of at least one running application and at least a second element accessible via a knowledge base and / or to which said rendered data gives access.

2. Method according to claim 1 wherein said consistency indication takes into account at least one response from at least one language model (30) to a query comprising the rendered data, said response designating said second element.

3. A method according to claim 1 or 2, further comprising, during a user action on a user interface actuator having a link with the first element, at least a temporary blocking (112, 116) of the user action.

4. A method according to any one of claims 1 to 3, wherein the data are collected (101, 102) without interaction with the running application.

5. A method according to any one of claims 1 to 4, wherein the second element belongs to a knowledge base assimilated by the language model and / or to an external knowledge base accessible at least in part to the language model.

6. A method according to any one of claims 1 to 5, wherein the language model's response comprises an association between the first element and at least one of: a confidence level, the second element, a source of information associated with the second element, a proposed replacement element, a type of inconsistency.

7. A method according to any one of claims 1 to 6, wherein the first element and / or the second element is of a textual, graphic, audio and / or video nature.

8. A method according to any one of claims 1 to 7, comprising, when providing the consistency indication and when the provided consistency indication indicates an inconsistency, an animation (122) of the user interface to signal the inconsistency.

9. A method according to claim 8, wherein the user interface animation comprises at least one of the following actions: an alert, a provision of at least one extract of the response provided by the language model, highlighting the first element, highlighting the second element, providing a source of information associated with the second element, a proposal for a replacement element for the first element, a report of a type of inconsistency, a provision of a confidence level of the language model or a confidence score that takes into account this confidence level.

10. Computer program comprising instructions for carrying out the method according to any one of claims 1 to 9 when this program is executed by a processor (42).

11. Device (40) comprising at least one processor (42) adapted to provide (105) an indication of consistency between at least a first element comprising data rendered on at least one user interface (10) of at least one running application and at least a second element accessible via a knowledge base or to which such rendered data gives access.

12. Device according to claim 11 wherein said consistency indicator takes into account at least one response from at least one language model (30) to a query comprising the rendered data, said response designating said second element.

13. Device according to claim 11 or 12, wherein said at least one processor (42) is further adapted to, during a user action on a user interface actuator having a link with the first element, at least a temporary blocking (112, 116) of the user action.

14. Device according to any one of claims 11 to 13, wherein the data is collected (101, 102) without interaction with the running application.

15. Device according to any one of claims 11 to 14, wherein the second element belongs to a knowledge base assimilated by the language model and / or to an external knowledge base accessible at least in part to the language model.