Task-specific graph set analysis and visualization
Patent Information
- Application Number
- JP2024150480
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-14
- Filing Date
- 2024-09-02
- Publication Date
- 2025-03-27
Smart Images

Figure 2025042593000001_ABST
Abstract
Description
[Technical field]
[0001] The embodiments discussed in this disclosure relate to task-specific graph set analysis and visualization. [Background technology]
[0002] Advances in the field of graph data analysis and exploration have led to the development of analysis and visualization frameworks that can be used for local and global analysis of graphs in a graph dataset. Such local and global analysis may include determining a set of graph properties (e.g., number, density, diameter, etc. of nodes, cycles, edges, loops, or disjoint sets) and a subsequent characterization of the graph based on the determined graph properties. A distribution of values or range of values associated with each graph property in the set of graph properties may facilitate the generation of a graph visualization. The graph visualization may facilitate graph exploration at a local or global level, comparison between graphs in the graph dataset, determining relationships between graphs, and suitability of graphs in the graph dataset to be used as training data for the generation of a graph machine learning model. However, such visualization of a graph dataset may be applicable to simple graphs such as small molecules, citation networks, or knowledge graphs. For complex data instances, such general graph analysis based on graph property computation may not be feasible. Furthermore, visualizing complex datasets individually at a local level or collectively as groups (at a global level) may be complex.
[0003] The subject matter claimed in this disclosure is not limited to embodiments that operate only in environments as described above or that overcome any of the decisions as described above. Rather, this background is provided only to illustrate one example technology area where some embodiments described in this disclosure may be practiced. Summary of the Invention
[0004] According to an aspect of an embodiment, the method may include a set of operations, the set of operations may include receiving a set of data instances, each data instance of the set of data instances may be associated with a domain. The set of operations may further include applying a set of simplification rules to the received set of data instances. The set of operations may further include determining a set of simplified representations associated with the received set of data instances based on the application of the set of simplification rules. The set of operations may further include applying a set of transformation rules to the received set of data instances. The set of operations may include determining a set of graph representations associated with the received set of data instances based on the application of the set of transformation rules. The set of operations may further include executing a set of first lambda functions on the set of representations including the determined set of simplified representations and the determined set of graph representations. The set of operations may further include determining a set of instance properties associated with the set of representations based on the execution of the set of first lambda functions. The set of operations may further include analyzing the set of representations based on the determined set of instance properties. The set of actions may further include controlling rendering of first information associated with the set of representations based on the analysis of the set of representations.
[0005] The object and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims.
[0006] Both the foregoing general description and the following detailed description are offered by way of example and are illustrative and are not limitations of the invention as claimed. [Brief description of the drawings]
[0007] Example embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings.
[0008] [Figure 1] FIG. 1 illustrates an example of an environment relevant to the analysis and visualization of task-specific graph sets. [Diagram 2] FIG. 1 is a block diagram illustrating an exemplary electronic device for analysis and visualization of task-specific graph sets. [Figure 3A] FIG. 1 depicts an execution pipeline for analysis and visualization of task-specific graph sets. [Figure 3B] FIG. 1 depicts an execution pipeline for analysis and visualization of task-specific graph sets. [Figure 4] FIG. 11 is a flowchart illustrating an example of a method for determining the second information and the third information. [Diagram 5] FIG. 13 is a flowchart illustrating an example of a method for generating a bug-of-word vector. [Figure 6] FIG. 13 is a flowchart illustrating an example of a method for determining a set of first lambda functions. [Figure 7] FIG. 1 illustrates an example scenario in which an electronic user interface (UI) displays first information. [Figure 8] FIG. 1 depicts an example scenario of a single instance view. [Figure 9A] FIG. 2 depicts an example scenario of executing a first set of lambda functions on a set of expressions associated with text data. [Figure 9B] FIG. 1 depicts an example scenario of executing a first set of lambda functions on a set of representations associated with protein data. [Figure 10] FIG. 1 depicts a flowchart of an example method for analyzing and visualizing task-specific graph sets.
[0009] All figures are in accordance with at least one embodiment described in this disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Some embodiments described in this disclosure relate to methods and systems for analysis and visualization of task-specific graph sets. In this disclosure, a set of data instances may be received. Each data instance of the set of data instances may be associated with a domain. A set of simplification rules may then be applied to the received set of data instances. Based on the application of the set of simplification rules, a set of simplified representations associated with the received set of data instances may be determined. A set of transformation rules may then be applied to the received set of data instances. Based on the application of the set of transformation rules, a set of graph representations associated with the received set of data instances may be determined. A set of first lambda functions may be executed on the set of representations. The set of representations may include the determined set of simplified representations and the determined set of graph representations. Based on the execution of the set of first lambda functions, a set of instance characteristics associated with the set of representations may be determined. Based on the determined set of instance characteristics, the set of representations may be analyzed. Based on the analysis of the set of representations, rendering of first information associated with the set of representations may be controlled.
[0011] In accordance with one or more embodiments of the present disclosure, the field of graph analysis, exploration, and visualization may be improved by configuring a computing device to enable a computing system to perform task-specific graph set analysis and visualization, compute specific data instance characteristics, and render an embedded viewer for visualization of a single data instance or a set of data instances. The computing system may receive a set of data instances. Each data instance of the set of data instances may be associated with a domain. The computing system may apply a set of simplification rules to the received set of data instances. The computing system may determine a set of simplified representations associated with the received set of data instances based on the application of the set of simplification rules. The computing system may apply a set of transformation rules to the received set of data instances. The computing system may determine a set of graph representations associated with the received set of data instances based on the application of the set of transformation rules. The computing system may execute a first set of lambda functions on the set of representations, which may include the determined set of simplified representations and the determined set of graph representations. The computing system may determine a set of instance characteristics associated with the set of representations based on the execution of the set of first lambda functions. The computing system may analyze the set of representations based on the determined set of instance characteristics. The computing system may control rendering of first information associated with the set of representations based on the analysis of the set of representations.
[0012] It may be preferred that Graphical Neural Networks (GNNs) may be used for modeling and representing complex data, tabular data, protein data, language data, and images. Such data may first be converted into a graph for training machine learning models. A set of graph properties, e.g., cycle count, density, etc., may be mathematically calculated to characterize the graph. The collective use of graph property distributions allows data scientists to visualize and analyze graphical datasets. Such approaches of graphical dataset visualization may be used for simple graphs such as small molecules, citation networks, or knowledge graphs. However, for complex data, such general graph analysis and property calculations may be insufficient. Thus, there is a need for efficient techniques for analysis and visualization of task-specific graph sets.
[0013] The present disclosure may provide a method for facilitating analysis and visualization of task-specific graph sets. For such analysis and visualization, the electronic device of the present disclosure may employ a method that may convert complex data instances (e.g., text data, protein data, etc.) into simplified representations. The method may further convert the complex data instances into a set of graph representations. The simplified and graph representations may be used to train a graph machine learning model. Furthermore, the method may enable customized data instance characteristic calculation based on the type and complexity of the data instance. The customized data instance characteristic calculation may include determining a tested and validated lambda function that corresponds to the characteristics of the complex data instance. The method may also facilitate integration of the original data view with the framework-provided view. The integration allows correlations between the simplified and graph representations and their corresponding data instances to be determined.
[0014] In some embodiments, the disclosed electronic device may display first information based on a first user input indicating a user selection of a view type. An instance set view may allow a user to select a group of simplified representations or a group of graphical representations that the user wants to view at one time. A single instance view may allow a user to see a simplified representation, a graphical representation, and an embedded data instance view at one time. To understand the relationship between the simplified representation, the graphical representation, and the embedded data instance view, the electronic device may determine a correlation between the simplified representation, the graphical representation, and the embedded data instance view.
[0015] Embodiments of the present disclosure will now be described with reference to the accompanying drawings.
[0016] FIG 1 is a diagram depicting an example of an environment relevant to analyzing and visualizing task-specific graph sets in accordance with at least one embodiment described in this disclosure. With reference to FIG 1, an environment 100 is shown. The environment 100 may include an electronic device 102, a server 104, a database 106, and a communication network 108. The electronic device 102 and the server 104 may be communicatively coupled to each other via the communication network 108. The database 106 may include a set of data instances 110. Further shown in FIG 1 is a user 112, which may be associated with or operate the electronic device 102.
[0017] The electronic device 102 may include suitable logic, circuitry, and interfaces that may be configured to perform task-specific graph set analysis and generate visualizations of simplified and graph representations extracted from the complex data instances. The electronic device 102 may further be configured to receive the set of data instances 110 and may apply a set of simplification rules to the received set of data instances 110. The electronic device 102 may determine a set of simplified representations associated with the received set of data instances 110 based on the application of the set of simplification rules. The electronic device 102 may further apply a set of transformation rules to the received set of data instances 110. The electronic device 102 may determine a set of graph representations associated with the received set of data instances 110 based on the application of the set of transformation rules. The electronic device 102 may execute a first set of lambda functions on the set of representations including the determined set of simplified representations and the determined set of graph representations. The electronic device 102 may determine a set of instance properties associated with the set of representations based on the execution of the set of first lambda functions. The electronic device 102 may analyze the set of representations based on the determined set of instance characteristics. The electronic device 102 may control rendering of first information associated with the set of representations based on the analysis of the set of representations.
[0018] Examples of electronic device 102 include, but are not limited to, a computing device, a hardware-based annealer device, a digital annealer device, a quantum-based or quantum-inspired annealer device, a smartphone, a cellular phone, a mobile phone, a gaming console, a mainframe machine, a server, a computer workstation, and / or a consumer electronics (CE) device.
[0019] The server 104 may include suitable logic, circuitry, and interfaces that may be configured to transmit the set of data instances 110 to the electronic device 102. In some embodiments, the server 104 may receive the set of data instances 110 from the electronic device 102. The server 104 may apply a set of simplification rules to the received set of data instances 110. The server 104 may determine a set of simplified representations associated with the received set of data instances 110 based on the application of the set of simplification rules. The server 104 may apply a set of transformation rules to the received set of data instances 110. The server 104 may determine a set of graph representations associated with the received set of data instances 110 based on the application of the set of transformation rules. The server 104 may execute a first set of lambda functions on the set of representations including the determined set of simplified representations and the determined set of graph representations. The server 104 may determine a set of instance properties associated with the set of representations based on the execution of the set of first lambda functions. The server 104 may analyze the set of representations based on the determined set of instance characteristics. The server 104 may control rendering of first information associated with the set of representations based on the analysis of the set of representations.
[0020] The server 104 may be implemented as a cloud server and may perform operations through web applications, cloud applications, HTTP requests, repository operations, file transfers, etc. Other examples of the server 104 include, but are not limited to, a database server, a file server, a web server, a media server, an application server, a mainframe server, or a cloud computing server.
[0021] In at least one embodiment, the server 104 may be implemented as multiple distributed cloud-based resources through the use of a number of techniques that may be familiar to those of skill in the art. Those skilled in the art will appreciate that the scope of the present disclosure may not be limited to the implementation of the server 104 and the electronic device 102 as two separate entities. In certain embodiments, the functionality of the server 104 may be incorporated in whole or at least in part into the electronic device 102 without departing from the scope of the present disclosure.
[0022] The database 106 may include suitable logic, interfaces, and / or code that may be configured to store the set of data instances 110. The database 106 may be derived from data in a relational or non-relational database, or a set of comma separated values (csv) files in traditional data storage or big data storage. The database 106 may be stored or cached on a device, such as a server (e.g., server 104) or the electronic device 102. The device storing the database 106 may be configured to receive a query for the set of data instances 110 from the electronic device 102. In response, the database 106 device may be configured to retrieve and provide the queried set of data instances 110 to the electronic device 102 based on the received query. In some embodiments, the database 106 may be hosted on multiple servers stored at the same location or different locations. Operations of the database 106 may be performed using hardware, including a processor, a microprocessor (e.g., for performing one or more operations or for controlling the execution of one or more operations), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some other cases, the database 106 may be implemented using software.
[0023] The communication network 108 may include a communication medium over which the electronic device 102 and the server 104 (as well as the device hosting the database 106) may communicate. The communication network 108 may be one of a wired connection or a wireless connection. Examples of the communication network 108 include, but are not limited to, the Internet, a cloud network, a cellular or wireless mobile network (e.g., Long Term Evolution and 5G New Radio), a Wireless Fidelity (Wi-Fi) network, a satellite network (e.g., a network of a set of low-earth orbit satellites), a personal area network (PAN), a local area network (LAN), or a metropolitan area network (MAN). Various devices in the environment 100 may be configured to connect to the communication network 108 according to wired and wireless communication protocols. Examples of such wired and wireless communication protocols include, but are not limited to, Transmission Control Protocol / Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, IEEE 802.11, Light Fidelity (Li-Fi), 802.16, IEEE 802.11s, IEEE 802.11g, multi-hop communications, wireless access points (APs), device-to-device communications, cellular communications protocols, and Bluetooth (registered trademark) (BT) communications protocols.
[0024] The set of data instances 110 may include complex data that may need to be parsed and converted into simplified and graphical representations by the electronic device 102. In an embodiment, the set of data instances 110 may be a set of textual data sets. In another embodiment, the set of data instances 110 may be a set of protein data.
[0025] During operation, the electronic device 102 may receive a set of data instances 110. Each data instance in the set of data instances 110 may be associated with a domain. The domain may indicate a type of the set of data instances 110. In an example, the domain may be a text data domain, where the set of data instances 110 may include text data, such as text documents. In another example, the domain may be a protein data domain, where the set of data instances 110 may include protein data, such as structures of protein molecules. Each data instance in the set of data instances 110 may be a complex data representation. Further details regarding receiving the set of data instances 110 are provided, for example, in FIG. 3A.
[0026] The electronic device 102 may further apply a set of simplification rules to the set of received data instances 110. When the set of received data instances 110 may be complex, the set of received data instances 110 may be simplified based on the application of the set of simplification rules. The set of simplification rules may be domain specific. For example, for data instances related to a textual data domain, a first simplification rule in the set of simplification rules may be to determine word and phrase tokens from each paragraph (i.e., data instance). A second simplification rule in the set of simplification rules may be to apply tokenization to each sentence of each paragraph. A third simplification rule may be to generate a bag-of-words vector for each sentence. Similarly, for data instances related to a protein data domain, a simplification rule in the set of simplification rules may be to record the coordinates and atom types for each atom of each protein (i.e., data instance). Details regarding the application of the set of simplification rules are further provided, for example, in FIG. 3A.
[0027] The electronic device 102 may further determine a set of simplified representations associated with the received set of data instances 110 based on application of the set of simplification rules. The set of simplified representations may be like the received set of data instances 110. Further details regarding determining the set of simplified representations are provided further, e.g., in FIG. 3A.
[0028] The electronic device 102 may further apply a set of transformation rules to the received set of data instances 110. The set of transformation rules may be specific for each domain to which the data instances of the set of data instances 110 may be associated. For example, for data instances related to a text data domain, a first transformation rule in the set of transformation rules may be to parse all sentences in each paragraph (i.e., data instance) into a parse tree. A second transformation rule in the set of transformation rules may be to merge the parse trees into a graph. For data instances related to a protein data domain, a first transformation rule in the set of transformation rules may be to record information associated with the backbone atoms of each protein (i.e., data instance). A second transformation rule in the set of transformation rules may be to store edge information of the corresponding protein atoms that may be connected to the backbone atoms. Details regarding the application of the set of transformation rules are further provided, for example, in FIG. 3A.
[0029] The electronic device 102 may further determine a set of graph representations associated with the set of received data instances 110 based on application of the set of transformation rules. The set of graph representations may not strictly resemble the set of received data instances 110, although a correlation may exist between the set of graph representations and the set of received data instances 110. Further details regarding the determination of the set of graph representations are provided, for example, in FIG. 3A.
[0030] The electronic device 102 may further execute a set of first lambda functions on the set of representations including the set of determined simplified representations and the set of determined graph representations. In the case of two-dimensional graphs, it may be appreciated that graph properties (e.g., density, connectivity, and cycles) associated with the two-dimensional graphs may be calculated based on standard algorithms. However, in the case of complex data (e.g., the set of data instances 110), the calculation of standard graph properties may not be useful for analyzing, exploring, or visualizing the data instances of the set of data instances 110. For task-specific analysis of complex data instances, user-defined or customized properties of the data instances may need to be determined. According to an embodiment, the customized properties of the data instances may correspond to the checked and tested lambda functions (i.e., the set of first lambda functions). The set of first lambda functions may be applied to the set of representations (i.e., each simplified representation of the set of simplified representations and each graph representation of the set of graph representations), and based on such application, a sortable value may be determined as an output. Further details regarding the implementation of the first set of lambda functions are provided, for example, in FIG. 3A.
[0031] The electronic device 102 may further determine a set of instance properties associated with the set of representations based on the execution of the set of first lambda functions. The set of first lambda functions may be applied to the set of representations to determine the set of instance properties. The lambda executor may treat the set of first lambda functions as anonymous functions that may be applicable to a data structure such as a graph or simplified representation of the data instance to determine statistics and / or instance properties associated with the data instance. The lambda function may take as input one data instance of the set of received data instances 110, either in a simplified form or a graphical representation of the corresponding data instance, and take as output a set of instance properties associated with each of the set of received data instances 110. Details regarding the determination of the set of instance properties are further provided, for example, in FIG. 3A.
[0032] The electronic device 102 may analyze the set of representations based on the determined set of instance characteristics. Each simplified representation (corresponding to a data instance in the set of data instances 110) and each graph representation (corresponding to a data instance in the set of data instances 110) may be analyzed based on the determined set of instance characteristics. Further details regarding the analysis of the set of representations are provided further, e.g., in FIG. 3A.
[0033] The electronic device 102 may control rendering of first information associated with the set of representations based on the analysis of the set of representations. The set of representations may include a set of simplified representations and a set of graphical representations. Thus, based on the analysis of the set of representations, the first information may be determined. The determined first information may be displayed on a display device associated with the electronic device 102. Further details regarding the rendering of the first information are provided, for example, in FIG. 3B.
[0034] The disclosed electronic device 102 may thus be used for analysis and visualization of task-specific graph sets. Traditionally, a user may visualize and analyze data instances individually. However, the disclosed electronic device 102 allows a user 112 to globally visualize and analyze a received set of data instances 110. Furthermore, the disclosed electronic device 102 allows a user 112 to interactively explore relationships between sets of instance properties and sets of expressions. Furthermore, a set of instance properties may be determined for analysis of complex data instances, since standard graph properties may not be useful in the analysis of complex data instances.
[0035] Modifications, additions, or deletions may be made to Figure 1 without departing from the scope of the present disclosure. For example, environment 100 may include more or fewer elements than shown and described in this disclosure. For example, in some embodiments, environment 100 may include electronic device 102 but not database 106. Further, in some embodiments, the functionality of each of database 106 and server 104 may be incorporated into electronic device 102 without departing from the scope of the present disclosure.
[0036] Figure 2 is a block diagram representing an example electronic device for analysis and visualization of task-specific graph sets in accordance with at least one embodiment described in this disclosure. Figure 2 will be described with elements from Figure 1. With reference to Figure 2, a block diagram 200 of an electronic device 102 is shown. The electronic device 102 may include a processor 202, a memory 204, a network interface 206, and input / output (I / O) devices 208 (including a display device 208A).
[0037] The processor 202 may include suitable logic, circuits, and interfaces that may be configured to execute a set of instructions stored in the memory 204. The processor 202 may be configured to execute program instructions associated with various operations performed by the electronic device 102. For example, some of the operations may include receiving a set of data instances 110. The processor 202 may control the rendering of an electronic user interface (UI) having one or more UI elements configured to display first information including a set of representations associated with the received set of data instances 110. The processor 202 may receive a first user input via the displayed electronic UI indicating a user selection of a view type associated with the set of representations, where the view type corresponds to at least one of a single instance view or an instance set view. The processor 202 may apply a set of simplification rules to the received set of data instances 110. The processor 202 may determine a set of simplified representations associated with the received set of data instances 110 based on the application of the set of simplification rules. The processor 202 may apply a set of transformation rules to the received set of data instances 110. The processor 202 may determine a set of graph representations associated with the received set of data instances 110 based on application of the set of transformation rules. The processor 202 may execute a first set of lambda functions on the set of representations including the determined set of simplified representations and the determined set of graph representations. The processor 202 may determine a set of instance properties associated with the set of representations based on execution of the first set of lambda functions. The processor 202 may analyze the set of representations based on the determined set of instance properties. The processor 202 may control rendering of first information associated with the set of representations based on the analysis of the set of representations and the received first user input via the displayed electronic UI. The processor 202 may be implemented based on a number of processor technologies known in the art.Examples of processor technologies include, but are not limited to, a central processing unit (CPU), an X86-based processor, a reduced instruction set computing (RISC) processor, an application specific integrated circuit (ASIC) processor, a multiple instruction set computing (CISC) processor, a graphical processing unit (GPU), a co-processor, or combinations thereof.
[0038] 2 as a single processor, processor 202 may include any number of processors configured to individually or collectively perform or direct the performance of any number of operations of electronic device 102 as described in this disclosure. Moreover, one or more processors may reside in one or more different electronic devices, e.g., in different servers. In some embodiments, processor 202 may be configured to interpret and / or execute program instructions stored in memory 204 and / or process data stored in memory 204. After program instructions are loaded into memory 204, processor 202 may execute the program instructions.
[0039] The memory 204 may include suitable logic, circuitry, and interfaces that may be configured to store one or more instructions executed by the processor 202. The one or more instructions stored in the memory 204 may be executed by the processor 202 to perform various operations of the processor 202 (and the electronic device 102). The memory 204 may be configured to store the set of data instances 110, the set of simplification rules, the set of simplified representations, the set of transformation rules, the set of graph representations, the set of first lambda functions, the set of instance properties, and the first information. Examples of implementations of the memory 204 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a hard disk drive (HHD), a solid state drive (SSD), a CPU cache, and / or a secure digital (SD) card.
[0040] The network interface 206 may include appropriate logic, circuits, and interfaces that may be configured to facilitate communication between the processor 202 and the device hosting the server 104 and the database 106 (and / or other devices in the environment 100) via the communications network 108. The network interface 206 may be implemented using various known technologies to support wired or wireless communication of the electronic device 102 with the communications network 108. The network interface 206 may include, but is not limited to, an antenna, a radio frequency (RF) transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, or local buffer circuitry. The network interface 206 may be configured to communicate via wireless communication with a network, such as the Internet, an intranet, or a wireless network, such as a cellular telephone network, a wireless local area network (LAN), a satellite network, and a metropolitan area network (MAN). The wireless communication may be configured to use one or more of a number of communication standards, protocols, and technologies, such as Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE), Fifth Generation (5G) New Radio (NR), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, or IEEE 802.11n), Voice over Internet Protocol (VoIP), Light Fidelity (Li-Fi), Worldwide Interoperability for Microwave Access (Wi-MAX), protocols for email, instant messaging, and short message service (SMS).
[0041] The I / O devices 208 may include appropriate logic, circuits, and interfaces that may be configured to receive input from the user 112 and provide output based on the received input. For example, the I / O devices 208 may receive a user selection of a view type associated with a set of representations based on a first user input from the user 112. Additionally, the I / O devices 208 may render an electronic UI. The I / O devices 208, which may include a variety of input and output devices, may be configured to communicate with the processor 202. Examples of the I / O devices 208 include, but are not limited to, a touch screen, a keyboard, a mouse, a joystick, a microphone, a display device (e.g., the display device 208A), and a speaker.
[0042] The display device 208A may include appropriate logic, circuitry, and interfaces that may be configured to display the first information associated with the set of representations. The display device 208A may be a touch screen that may enable a user to provide user input through the display device 208A. The touch screen may be at least one of a resistive touch screen, a capacitive touch screen, or a thermal touch screen. The display device 208A may be implemented with a number of known technologies, such as, for example, but without limitation, at least one of a liquid crystal display (LCD) display, a light emitting diode (LED) display, a plasma display, or an organic LED (OLED) display technology, or other display devices. According to an embodiment, the display device 208A may refer to a display screen of a head mounted device (HMD), a smart glasses device, a see-through display, a projection-based display, an electrochromic display, or a transparent display.
[0043] Modifications, additions, or deletions may be made to the example electronic device 102 without departing from the scope of the present disclosure. For example, in some embodiments, the example electronic device 102 may include any number of other components that may not be explicitly shown or described for the sake of brevity.
[0044] 3A and 3B are diagrams depicting an execution pipeline for analysis and visualization of task-specific graph sets according to an embodiment of the present disclosure. FIGs. 3A and 3B are described with elements from FIGs. 1 and 2. With reference to FIGs. 3A and 3B, an execution pipeline 300 is shown. The exemplary execution pipeline 300 may include a set of operations that may be performed by one or more components of FIG. 1, such as the electronic device 102. The operations may include a data simplification operation 302, a data transformation operation 304, a lambda function execution operation 306, and a data visualization and analysis operation 308. The set of operations may be performed by the electronic device 102 for analysis and visualization of task-specific graph sets as described herein. 3A, the example execution pipeline 300 may further include a set of data instances 110, a set of simplification rules 302A, a set of transformation rules 304A, a first set of lambda functions 306A, a set of simplified representations 310, a set of graph representations 312, a set of instance properties 314, and an embedded data instance viewer 316. Further, as shown in FIG. 3B, the execution pipeline 300 may include a single instance view 318, a first user interface (UI) element 318A, an embedded data instance view 318B, a simplified rendering view 318C, a graph rendering view 318D, an instance set view 320, a second UI element 320A, a third UI element 320B, a simplified / graph rendering view 320C, a simplified / graph rendering view 320D, a simplified / graph rendering view 320E, and a simplified / graph rendering view 320F.
[0045] 3A, in an embodiment, the processor 202 may be configured to receive a set of data instances 110. Each data instance in the set of data instances 110 may be associated with a domain. The set of data instances 110 may include complex data instances that may need to be simplified and transformed for analysis and visualization of a task-specific graph set of the data instances. For example, a domain associated with a data instance in the set of data instances 110 may be a text data domain or a protein data domain. A data instance associated with a text data domain may be a paragraph instance, and a data instance associated with a protein data domain may be a protein molecular structure instance.
[0046] For integrated exploration and visualization of complex data instances, such as the set of data instances 110, the set of data instances 110 may need to be simplified and transformed. Thus, the electronic device 102 may transform the set of data instances 110 into a simplified format and a graphical representation format.
[0047] At 302, a data simplification operation may be performed. In an embodiment, the processor 202 may be configured to apply a set of simplification rules 302A to the set of received data instances 110. The processor 202 may determine a set of simplified representations 310 associated with the set of received data instances 110 based on the application of the set of simplification rules 302A. The set of simplification rules 302A applied to the data instances may depend on the domain with which the data instances may be associated. The set of simplified representations 310 closely resemble the set of received data instances 110. For example, when the set of simplified representations 310 and the set of received data instances 110 are viewed side-by-side, the user 112 may directly see the overall similarity in the entire set of received data instances 110 (macro / global level) or in parts of the set of received data instances 110 (micro / local level). Details regarding the determination of the set of simplified representations 310 are further provided, for example, in FIG. 4 and FIG. 5.
[0048] At 304, an operation of data transformation may be performed. In an embodiment, the processor 202 may be configured to apply a set of transformation rules 304A to the set of received data instances 110. The processor 202 may determine a set of graphical representations 312 associated with the set of received data instances 110 based on the application of the set of transformation rules 304A. It may be noted that the set of received data instances 110 may be a non-graphical data set. Thus, the set of received data instances 110 may be transformed into the set of graphical representations 312. To transform the set of data instances 110 into the set of graphical representations 312, the set of transformation rules 304A may be applied. The set of transformation rules 304A may depend according to the domain of the set of received data instances 110. Upon application of the set of transformation rules 304A, the set of graphical representations 312 may be determined.
[0049] The set of graph representations 312 may be in a format that can be used for training graph machine learning models and for an explainable graph machine learning (GXAI) pipeline. The information provided in the set of received data instances 110 may be reduced and / or increased by the expansion of the set of graph representations 312. Such reduction and / or expansion of information may improve the accuracy of a machine learning (ML) model trained on the set of graph representations 312. The set of graph representations 312 may not resemble the original data instances, such as the set of received data instances 110. However, correlations between parts of the set of graph representations 312 and the set of received data instances 110 may exist. Details regarding the determination of the set of graph representations 312 are further provided, for example in FIG. 4 and FIG. 5.
[0050] At 306, an operation of lambda function execution may be performed. In an embodiment, the processor 202 may be configured to execute a first set of lambda functions 306A on the set of expressions including the determined set of simplified expressions 310 and the determined set of graph expressions 312. The first set of lambda functions 306A that may be executed may depend on the domain of the received set of data instances 110. In an example, the domain associated with the received set of data instances 110 may be a text data domain, where the first set of lambda functions 306A that may be executed on the set of expressions may be language specific. In another example, the domain associated with the set of data instances 110 may be a protein data domain, where the first set of lambda functions 306A that may be executed on the set of expressions may be molecule specific. Further details regarding lambda function execution are provided, for example, in FIG. 6.
[0051] In an embodiment, the processor 202 may be configured to determine a set of instance characteristics 314 associated with the set of representations based on the execution of the first set of lambda functions 306A. It may be noted that the first set of lambda functions 306A may be used to determine the set of instance characteristics 314 that may conform to the domain of the set of data instances 110. Thus, the set of instance characteristics 314 may correspond to a set of custom instance characteristics. It may be appreciated that standard graph characteristic values such as cycle count, density, etc. may be too general to effectively represent the characteristics of the determined set of graph representations 312. The determination of the set of instance characteristics 314 allows the user 112 to visually understand the differences between the data instances. Furthermore, the determination of the set of instance characteristics 314 allows the user 112 to sort and select a subset of the received set of data instances 110 for review and analysis.
[0052] As discussed, the set of instance properties 314 associated with the set of expressions may depend on the domain of the set of received data instances 110. In an example, the domain associated with the set of received data instances 110 may be a text data domain, where the set of instance properties 314 may be the total number of nouns, pronouns, verbs, adverbs, adjectives, etc. present in the set of received data instances 110. In another example, the domain associated with the set of received data instances 110 may be a protein data domain, where the set of instance properties 314 may be the number of molecules present in the set of received data instances 110, the number of backbone atoms present in the set of received data instances 110, the volume of the set of received data instances 110, and the length of the backbone atoms present in the set of received data instances 110.
[0053] At 308, data visualization and analysis operations may be performed. In an embodiment, the processor 202 may be configured to analyze the set of representations based on the determined set of instance characteristics 314. Based on the analysis of the set of representations, first information associated with the set of representations may be determined. The first information associated with the set of representations may be rendered on a display device, such as display device 208A.
[0054] In an embodiment, the processor 202 may be further configured to receive a first user input indicating a user selection of a view type associated with the set of representations. The view type may correspond to a portion of the set of representations or an analysis of the set of representations that the user 112 may want to view. Here, the first user input indicating the user selection of the view type may be received via the I / O device 208. Based on the received first user input, the first information may be determined. The first information may then be rendered on the display device 208A.
[0055] 3B, in an embodiment, the view type may correspond to a single instance view 318. The single instance view 318 may be a complex data visualizer that may analyze a single instance in detail. It may be noted that opening multiple uncoordinated viewer windows for comparative analysis may often be ineffective for the user 112. Thus, the single instance view 318 may be used to analyze a single instance in detail.
[0056] In the single instance view 318 based on user input, a single instance may be selected and displayed on the display device 208A. In an embodiment, the single instance view 318 may include a first UI element 318A that may be configured to accept a user selection of a single data instance from the received set of data instances 110. The single instance view 318 may include an embedded data instance view 318B that may be configured to render the single data instance selected by the user. The single instance view 318 may include a simplified rendering view 318C that is configured to render a simplified representation associated with the single data instance selected by the user. The single instance view 318 may further include a graph rendering view 318D that is configured to render a graph representation associated with the single data instance selected by the user.
[0057] 3B, the first UI element 318A may be a single instance selector. In the example, the domain of the set of received data instances 110 may be a text data domain. Furthermore, the set of received data instances 110 may have a set of “10” text documents. Here, the second text document may be selected as the single data instance based on the user input received via the first UI element 318A. The embedded data instance view 318B may render the second text document. A simplified representation of the second text document may be determined based on the set of simplification rules 302A. Then, the simplified rendering view 318C may render the determined simplified representation of the second text document. A graph representation associated with the second text document may be determined based on the set of transformation rules 304A, and the graph rendering view 318D may render the determined graph representation associated with the second text document. Thus, the single instance view 318 may display both the determined simplified representation and the determined graph representation.
[0058] In another example, the domain of the received set of data instances 110 may be a protein data domain. Furthermore, the received set of data instances 110 may have a set of “10” protein datasets (e.g., “10” protein molecular structures). Here, a third protein dataset may be selected as a single data instance based on user input received via the first UI element 318A. The embedded data instance view 318B may render the third protein dataset. A simplified representation of the third protein dataset may be determined based on the set of simplification rules 302A. Thereafter, the simplified rendering view 318C may render the determined simplified representation of the third protein dataset. A graph representation associated with the third protein dataset may be determined based on the set of transformation rules 304A, and the graph rendering view 318D may render the determined graph representation associated with the third protein dataset.
[0059] It may be appreciated that a domain expert, such as a user 112, may be accustomed to seeing original data, such as data instances. Displaying the original data, the simplified representation, and the graphical representation, such as a data instance, together in a single instance view 318, allows the domain expert to understand how a machine learning model uses a received set of data instances 110.
[0060] 3B, in an embodiment, the view type may correspond to an instance set view 320. The instance set view 320 may allow a user 112 to select a set of data instances based on instance characteristics. The instance set view 320 may be used to compare similar or dissimilar data instances.
[0061] In the instance set view 320, the instance characteristics may be selected and displayed on the display device 208A. In an embodiment, the instance set view 320 may include a second UI element 320A that may be configured to accept a user selection of an instance characteristic from the determined set of instance characteristics. The instance set view 320 may further include a third UI element 320B that may be configured to accept a user selection of a plurality of data instances from the received set of data instances 110. The instance set view 320 may further include a plurality of simplified rendering views, e.g., simplified / graph rendering views 320C-320F, that may be configured to render a plurality of simplified representations in the determined set of simplified representations 310. Additionally or alternatively, the instance set view 320 may include a plurality of graph rendering views, e.g., simplified / graph rendering views 320C-320F, that may be configured to render a plurality of graph representations in the determined set of graph representations 312.
[0062] 3B, in an example, the domain of the received set of data instances 110 may be a text data domain. Further, the received set of data instances 110 may include a text document including “100” paragraphs, where each paragraph may correspond to a data instance. The determined set of instance characteristics 314 may be a total number of nouns, a total number of pronouns, a total number of verbs, a total number of adverbs, and a total number of adjectives. The determined set of instance characteristics 314 may be provided as a drop-down menu, and a user selection may be received. The number of nouns may be selected as the selected instance characteristic based on a user selection received via a user input provided in the second UI element 320A. The first to fourth paragraphs may be selected as the plurality of data instances from the received set of data instances 110 based on a user selection received via a third UI element 320B. The set of simplified representations associated with the first through fourth paragraphs may be rendered via multiple simplified rendering views, e.g., simplified / graph rendering views 320C-320F. In some cases, instead of rendering the set of simplified representations associated with the first through fourth paragraphs, the set of graph representations 312 associated with the first through fourth paragraphs may be rendered via multiple graph rendering views, e.g., simplified / graph rendering views 320C-320F. Thus, at a given point in time, the instance set view 320 may display either the determined set of simplified representations associated with the first through fourth paragraphs or the determined graph representations associated with the first through fourth paragraphs.
[0063] In an embodiment, the processor 202 may be configured to receive a second user input indicating a user selection of at least one of an instance property in the set of determined instance properties 314, a simplified representation in the set of determined simplified representations 310, or a graph representation in the set of determined graph representations 312. The processor 202 may be configured to determine first information based on the received second user input, where the second user input may be received via the I / O device 208. In an example, an instance property such as a noun (in the case of a text domain corresponding to a set of paragraphs in a language) present in the parse tree may be selected based on the second user input. The selected instance property may be determined as the first information. The selected instance property such as a noun in the parse tree may then be displayed. In another example, a simplified representation in the set of determined simplified representations may be selected based on the received second user input. The selected simplified representation may be determined as the first information and displayed. In another example, one of the graph representations, such as the first parse tree, of the set of determined graph representations 312 may be selected based on the received second user input. The selected graph representation, such as the first parse tree, may be determined as the first information and may be displayed on the display device 208A.
[0064] In this way, the disclosed electronic device 102 can use the same framework to visualize and analyze the set of received data instances 110 of different domains. The set of received data instances 110 of different domains can be transformed into a set of graph representations 312. The set of graph representations 312 can be used for graph machine learning. Furthermore, for each domain transformation, the method of obtaining the set of graph representations 312 can be different. Such incorporation of task-specific simplification and transformation techniques allows the disclosed electronic device 102 to use the same methodology and the same user interface for various data types, such as protein data and language data. Furthermore, the disclosed electronic device 102 can visualize and analyze multiple instances in the set of received data instances 110 side-by-side. Furthermore, the disclosed electronic device 102 can enable switching between simplified and graph representations on the electronic UI.
[0065] FIG. 4 is a diagram illustrating a flowchart of an example method for determining the second information and the third information, according to an embodiment of the present disclosure. FIG. 4 is described with elements from FIG. 1, FIG. 2, FIG. 3A, and FIG. 3B. With reference to FIG. 4, a flowchart 400 is shown. The method illustrated in the flowchart 400 may begin at 402 and may be performed by any suitable system, apparatus, or device, such as the example electronic device 102 of FIG. 1 or the processor 202 of FIG. 2. Although illustrated in separate blocks, steps and operations associated with one or more blocks of the flowchart 400 may be divided into additional blocks, combined into fewer blocks, or deleted, depending on the particular implementation.
[0066] At block 402, a check may be performed to determine whether the domain corresponds to a protein data domain. In an embodiment, the processor 202 may be configured to determine whether the domain corresponds to a protein data domain. It may be understood that the protein data domain may also be referred to as a molecular data domain. Protein data may include a plurality of atoms, such as carbon atoms, hydrogen atoms, oxygen atoms, nitrogen atoms, and sulfur atoms (as well as various organic and inorganic atoms and compounds). Each atom of the plurality of atoms may be connected to one or more other atoms of the plurality of atoms by one or more bonds. The processor 202 may analyze the received set of data instances 110 to determine whether the domain of the received set of data instances 110 is a protein data domain.
[0067] At block 404, atoms from the set of received data instances 110 may be extracted based on the determination that the domain corresponds to a protein data domain. In an embodiment, the processor 202 may be configured to extract atoms from the set of received data instances 110 based on the determination that the domain corresponds to a protein data domain. The set of received data instances 110 may include a plurality of atoms. The processor 202 may process the set of received data instances 110 to extract atoms from each data instance. In an example, the set of received data instances 110 may include a plurality of atoms having carbon atoms, hydrogen atoms, oxygen atoms, nitrogen atoms, and sulfur atoms (as well as various organic and inorganic atoms and compounds). Atoms may be extracted from the set of received data instances 110.
[0068] At block 406, a check may be performed to determine whether the current atom is a backbone atom for each atom. In an embodiment, the processor 202 may be configured to determine whether the current atom is a backbone atom for each atom. It may be understood that a backbone atom may be an atom that may be connected to two or more atoms such that the backbone atom is the main atom (or one of the main atoms) of a molecule. For example, a nitrogen atom, an alpha carbon atom, and a series of carbon atoms may form a backbone structure. For example, a nitrogen atom may form a bond with an alpha carbon atom, and an alpha carbon atom may form a bond with a carbon atom. Thus, the alpha carbon atom may be a backbone atom. Each atom may be analyzed to determine whether the current atom is a backbone atom. If the current atom is not a backbone atom, control may pass to block 408. If the current atom is a backbone atom, control may pass to block 410.
[0069] At block 408, for each atom, coordinates of the current atom and second information indicative of an atom type of the current atom may be determined based on the determination that the current atom is not a backbone atom. In an embodiment, the processor 202 may be configured to determine coordinates of the current atom and second information indicative of an atom type of the current atom based on the determination that the current atom is not a backbone atom. Here, the determination of the set of simplified representations 310 may be further based on the determined second information. In an example, the atom type may indicate the name of the atom. For example, the current atom may be analyzed to determine whether the current atom is a carbon atom, a hydrogen atom, an oxygen atom, a nitrogen atom, or a sulfur atom. Furthermore, the current atom may be associated with a particular coordinate. Second information indicative of the coordinates of the current atom may be determined. In an example, an Angstrom coordinate of the current atom may be determined. Here, the second information may include an "X" orthogonal Angstrom coordinate, a "Y" orthogonal Angstrom coordinate, and a "Z" orthogonal Angstrom coordinate of the current atom. Similarly, second information of other atoms may be determined. Based on the determined second information, a set of simplified representations 310 may be determined.
[0070] As discussed, if the current atom is a backbone atom, control may pass to block 410. At block 410, third information indicative of the coordinates of the current atom and the edge between the previous atom and the current atom may be determined based on the determination that each of the previous atom and the current atom may be a backbone atom. In an embodiment, the processor 202 may be configured to determine the third information indicative of the coordinates of the current atom and the edge between the previous atom and the current atom based on the determination that each of the previous atom and the current atom may be a backbone atom. Here, the determination of the set of graph representations 312 may be further based on the determined third information. As discussed, a backbone atom may be an atom that may be connected to at least two other atoms. In an example, an alpha carbon atom may be the current atom. A nitrogen atom may form one or more bonds with an alpha carbon atom. Here, the nitrogen atom may be the previous atom. The number of edges and the type of edges that may exist between the nitrogen atom and the alpha carbon atom may be determined. Additionally, the angstrom coordinates of the alpha carbon atom may be determined. That is, an "X", "Y", and "Z" orthogonal Angstrom coordinate of the alpha carbon atom may be determined. The third information may indicate the number and type of edges that may exist between the previous alpha carbon atom and the current alpha carbon atom. Further, the third information may indicate the Angstrom coordinate of the alpha carbon atom. Based on the determined third information, a set of graph representations 312 may be determined. That is, one or more graphs may be generated based on the number and type of edges that may exist between the nitrogen atom and the alpha carbon atom and the determined "X", "Y", and "Z" orthogonal Angstrom coordinate of the alpha carbon atom. Control may pass to an end.
[0071] Although flowchart 400 is depicted as separate operations, such as 402, 404, 406, 408, and 410, in particular embodiments, such separate operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the particular implementation, without departing from the essence of the disclosed embodiments.
[0072] FIG. 5 is a diagram illustrating a flowchart of an example of a method for generating a bug-of-word vector according to an embodiment of the present disclosure. FIG. 5 is described with elements from FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, and FIG. 4. Referring to FIG. 5, a flowchart 500 is shown. The method illustrated in the flowchart 500 may begin at 502 and may be performed by any suitable system, apparatus, or device, such as the example electronic device 102 of FIG. 1 or the processor 202 of FIG. 2. Although illustrated as separate blocks, steps and operations associated with one or more blocks of the flowchart 500 may be divided into additional blocks, combined into fewer operations, or eliminated, depending on the particular implementation.
[0073] At block 503, it may be determined whether the domain corresponds to a text data domain. In an embodiment, the processor 202 may be configured to determine whether the domain corresponds to a text data domain. The text data may include a number of words, sentences, paragraphs, or documents. The processor 202 may analyze the received set of data instances 110 to determine whether the domain of the received set of data instances 110 is a text data domain.
[0074] At block 504, paragraphs may be extracted from the set of received data instances 110 based on the determination that the domain corresponds to a text data domain. In an embodiment, the processor 202 may be configured to extract paragraphs from the set of received data instances 110 based on the determination that the domain corresponds to a text data domain. It may be appreciated that text data may include multiple paragraphs. For example, the set of received data instances 110 may include “150” paragraphs. In such a case, analysis of the set of received data instances 110 as a whole may be complex and time consuming. Therefore, multiple paragraphs may be identified and extracted from the set of received data instances 110.
[0075] At block 506, phrase tokens may be generated for each extracted paragraph. In an embodiment, the processor 202 may be configured to generate phrase tokens for each extracted paragraph. In an embodiment, a phrase token may be the smallest word, such as an article, a noun, a pronoun, etc. Each extracted paragraph may be parsed to generate articles, nouns, and pronouns, for example, as phrase tokens. In an example, phrase tokens for a first paragraph may be generated as "a", "an", "the", "he", "she", "they", "Joseph", and "Mary". Phrase tokens for a second paragraph may be generated as "a", "an", "table", "do", "did", "Mark", and "Mathew".
[0076] At block 508, tokenization may be applied to each sentence in each extracted paragraph based on the generated phrase tokens. In an embodiment, the processor 202 may be configured to apply tokenization to each sentence in each extracted paragraph based on the generated phrase tokens. It may be appreciated that each sentence in each extracted paragraph may include multiple words. In an embodiment, each word of a sentence may be extracted based on the application of tokenization to the corresponding sentence. In an embodiment, each word of a sentence may be extracted. Then, tokenization may be applied to the corresponding sentence. Based on the application of tokenization, certain generated phrase tokens may be removed from the corresponding sentence. In an example, a first sentence in a first paragraph may be “John is traveling to Washington on 20th August by flight”. Phrase tokens for the first paragraph may be generated as “a”, “an”, “the”, “is”, “she”, “they”, “John”, and “Mary”. Based on the generated phrase tokens, tokenization may be applied to the first sentence of the first paragraph. Based on the application of tokenization to the first sentence of the first paragraph, "is" and "John" may be removed.
[0077] At block 510, a bug-of-words vector associated with the set of received data instances 110 may be generated based on the application of tokenization, whereby the determination of the set of simplified expressions 310 may be further based on the generated bug-of-words vector. In an embodiment, the processor 202 may be configured to generate a bug-of-words vector associated with the set of received data instances 110 based on the application of tokenization, whereby the determination of the set of simplified expressions 310 may be further based on the generated bug-of-words vector. In an example, the set of received data instances 110 may include “5” paragraphs. The first paragraph may include “5” sentences, the second paragraph may include “10” paragraphs, the third paragraph may include “8” sentences, the fourth paragraph may include “7” sentences, and the fifth paragraph may include “6” sentences. A vocabulary of the set of received data instances 110 may be determined. The number of distinct words used in the set of received data instances 110 may be, for example, “300”. In the example, the total number of words in the set of received data instances 110 may be “1000”. Thus, for each sentence, a vector may be generated with a size of “1” row and “300” columns. Thus, the vector will include “300” entities arranged in “1” row and “300” columns. Each entity may be associated with a word. If the word associated with the entity is present in the sentence, the value of the corresponding entity will be “1”. If the word associated with the entity is not present in the sentence, the value of the corresponding entity will be “0”. A first bug-of-words vector associated with the first paragraph is generated by combining the vectors associated with each sentence of the first paragraph. Since the first paragraph may include “5” sentences, the size of the first bug-of-words vector generated will be “5” rows and “300” columns, where each row may be associated with a sentence and each column may be associated with a word.Based on the generated first bag-of-words vector, a set of simplified representations 310 may be determined.
[0078] At block 512, a set of sentences may be extracted from the set of received data instances 110 based on the determination that the domain corresponds to a text data domain. In an embodiment, the processor 202 may be configured to extract a set of sentences from the set of received data instances 110 based on the determination that the domain corresponds to a text data domain. In an example, the set of received data instances 110 may include “400” sentences, where each sentence may be extracted from the set of received data instances 110 based on a sentence extraction technique. In an embodiment, a sentence extractor may be used to extract the set of sentences. The sentence extractor may look for a full stop, such as a period “.”, to extract the sentences.
[0079] At block 514, the set of extracted sentences may be converted into a set of parse trees. In an embodiment, the processor 202 may be configured to convert the set of extracted sentences into a set of parse trees. It may be appreciated that a parse tree may also be referred to as a syntax tree. A parse tree may represent multiple words of a sentence in the form of a tree. The parse trees may be determined based on different syntactic categories of the sentence based on the grammar (e.g., parts of speech) of the language. Each sentence of the set of extracted sentences may be converted into a parse tree to determine the set of parse trees.
[0080] At block 516, the set of parse trees may be merged to obtain a graph. In an embodiment, the processor 202 may be configured to merge the set of parse trees to obtain a graph. The determination of the set of graph representations 312 may then be further based on the obtained graph. In an example, the received set of data instances 110 may include “320” sentences. The processor 202 may determine a parse tree for each sentence. Thus, the set of parse trees determined for the “320” sentences includes “320” parse trees. The “320” parse trees may be merged to obtain a graph. Based on the obtained graph, the set of graph representations 312 may be determined. Control may pass to an end.
[0081] Although flowchart 500 is depicted as separate operations, such as 502, 504, 506, 508, 510, 512, 514, and 516, in particular embodiments, such separate operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the particular implementation, without departing from the essence of the disclosed embodiments.
[0082] FIG. 6 is a diagram depicting a flowchart of an example method for determining a set of first lambda functions according to an embodiment of the present disclosure. FIG. 6 is described with elements from FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, FIG. 4, and FIG. 5. With reference to FIG. 6, a flowchart 600 is shown. The method depicted in the flowchart 600 may begin at 602 and may be performed by any suitable system, apparatus, or device, such as, for example, the example electronic device 102 of FIG. 1 or the processor 202 of FIG. 2. Although depicted as separate blocks, steps and operations associated with one or more blocks of the flowchart 600 may be divided into additional blocks, combined into fewer operations, or eliminated, depending on the particular implementation.
[0083] At block 602, a syntax check may be applied to each lambda function of the set of second lambda functions to determine whether the corresponding lambda function is syntactically correct. In an embodiment, the processor 202 may be configured to apply a syntax check to each lambda function of the set of second lambda functions to determine whether the corresponding lambda function is syntactically correct. The set of second lambda functions may be available from a database. It may be appreciated that each lambda function may have a proper syntax that may have to be followed in order to apply the corresponding lambda function to the set of expressions. The syntax check may be used to determine whether the syntax of each second lambda function of the set of second lambda functions is correct. For example, in the case of Python, a syntax checker such as “PyChecker” may be used for the syntax check.
[0084] At 604, a third lambda function may be determined from the set of second lambda functions based on applying a syntax check and determining that the set of third lambda functions is syntactically correct. In an embodiment, the processor 202 may be configured to determine a third lambda function from the set of second lambda functions based on applying a syntax check and determining that the set of third lambda functions is syntactically correct. A syntax check may be applied to each lambda function in the set of second lambda functions to determine whether the corresponding second lambda function is syntactically correct. If the second lambda function is syntactically correct, the corresponding second lambda function may be added to the set of third lambda functions. Thus, the set of third lambda functions may include one or more second lambda functions in the set of second lambda functions that are syntactically correct. In other words, the set of third lambda functions may be a subset of the set of potentially syntactically correct second lambda functions.
[0085] At 606, each of the determined set of third lambda functions may be tested on a subset of the set of expressions to determine whether the corresponding lambda function is valid. In an embodiment, the processor 202 may be configured to test each of the determined set of third lambda functions on a subset of the set of expressions to determine whether the corresponding lambda function is valid. In an embodiment, each third lambda function of the determined set of third lambda functions may be applied to a subset of the set of expressions. The subset of the set of expressions may be a sample of the set of expressions against which the determined set of third lambda functions may be tested. For example, a third lambda function associated with the textual data domain may be “glambda_descriptive()”, where “glambda_descriptive()” may be a lambda function that may be defined to determine the number of nouns, the number of pronouns, the number of adjectives, and the number of adverbs in a parse tree. "glambda_descriptive()" may be executed on a parse tree to determine whether "glambda_descriptive()" is enabled. If "glambda_descriptive()" is enabled, executing "glambda_descriptive()" on a parse tree may provide the number of nouns, pronouns, adjectives, and adverbs in the corresponding parse tree. If "glambda_descriptive()" is not enabled, executing "glambda_descriptive()" on a parse tree may fail.
[0086] At 608, a set of first lambda functions 306A may be determined from the set of determined third lambda functions based on testing the set of determined third lambda functions and determining that the set of first lambda functions is valid. In an embodiment, the processor 202 may be configured to determine the set of first lambda functions 306A from the set of determined third lambda functions based on testing the set of determined third lambda functions and determining that the set of first lambda functions is valid. The set of first lambda functions may be a subset of the set of third lambda functions that may be valid lambda functions. Here, one or more third lambda functions in the set of determined third lambda functions that have been successfully tested may be determined as the set of first lambda functions 306A. In an example, the third lambda function associated with the text data domain may be “glambda_descriptive()”. “glambda_descriptive()” may be successfully tested on the parse tree. Thus, "glambda_descriptive()" may be included in the first set of lambda functions 306A. The first set of lambda functions may be applied to each of the set of expressions.
[0087] In an embodiment, the processor 202 may be further configured to generate a first sample reduction associated with the set of simplified representations 310. It may be appreciated that the set of simplified representations 310 determined from the set of received data instances 110 may be complex data, and therefore may be large in number or include a large number of nodes. As such, testing the set of determined third lambda functions against the set of simplified representations 310 may take a significant amount of time. To reduce the testing time, the set of simplified representations 310 may be downsampled to generate the first sample reduction. For example, the set of simplified representations 310 may be sampled by “32” samples to generate the first sample reduction.
[0088] In an embodiment, the processor 202 may be further configured to generate a second sample reduction associated with the set of graph representations 312. It may be appreciated that the set of received data instances 110 may be complex data, and therefore the set of graph representations 312 determined from the set of received data instances 110 may also be large in number or include a large number of nodes. As such, testing the determined set of third lambda functions against the set of simplified representations 310 may take a significant amount of time. To reduce the testing time, the set of graph representations 312 may be downsampled to generate the second sample reduction. For example, the set of graph representations 312 may be sampled by “22” samples to generate the second sample reduction.
[0089] In an embodiment, the processor 202 may be further configured to apply a test execution of the determined set of third lambda functions to each of the generated first sample reduction and the generated second sample reduction. The determined set of third lambda functions may be tested with respect to the generated first sample reduction and the generated second sample reduction. Since the sizes of the generated first sample reduction and the generated second sample reduction are smaller than the overall sizes of the set of simplified representations 310 and the set of graph representations 312, the test time of the determined set of third lambda functions is short.
[0090] In an embodiment, the processor 202 may be further configured to determine, for each of the determined set of third lambda functions, whether the applied test execution is completed within a predefined time. The determination of the set of first lambda functions 306A may be further based on a determination that, for each of the set of first lambda functions 306A, the applied test execution is completed within a predefined time. The determined set of third lambda functions may be executed for each of the generated first sample reductions and the generated second sample reductions. Then, a subset of the determined set of third lambda functions that can be successfully executed within a predefined time may be determined as the set of first lambda functions 306A. Thus, during testing of the determined set of third lambda functions, time limit checks and completion checks may be used to determine the set of first lambda functions 306A. Control may be passed to an end.
[0091] Although flowchart 600 is depicted as separate operations, such as 602, 604, 606, and 608, in particular embodiments, such separate operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the particular implementation, without departing from the essence of the disclosed embodiments.
[0092] FIG. 7 is a diagram depicting an example scenario in which an electronic user interface (UI) displays first information, according to at least one embodiment described in the present disclosure. FIG. 7 is described with elements from FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, FIG. 4, FIG. 5, and FIG. 6. With reference to FIG. 7, an example scenario 700 is shown. The example scenario 700 may include a simplified representation 702, a graph representation 704, a data instance 706, a framework UI 708, and a framework server 710. The framework UI 708 may include a framework embedded viewer 712 and an embedded viewer 714. The framework server 710 may include simplified representation metadata 710A, graph representation metadata 710B, and embedded viewer metadata 710C. The framework embedded viewer 712 may include a UE element 712A and a UE element 712B. The embedded viewer 714 may include a UE element 714A and a view control 714B. The framework server 710 may further include an interrelated computational model 716. The set of actions associated with the scenario 700 will now be described.
[0093] With reference to scenario 700, framework server 710 may determine simplified representation 702 and graph representation 704 of data instance 706. Framework server 710 may store simplified representation 702 and graph representation 704, where simplified representation metadata 710A and graph representation metadata 710B may correspond to metadata associated with determined simplified representation 702 and determined graph representation 704. Framework server 710 may then use correlation computation model 716 to determine a correlation between determined simplified representation 702 and determined graph representation 704 by computing a correlation between simplified representation metadata 710A and graph representation metadata 710B. Based on the correlation determination, framework server 710 may determine embedded viewer metadata 710C.
[0094] 7, the framework built-in viewer 712 and the embedded viewer 714 may be rendered on the display device 208A of the electronic device 102. The framework UI 708 may be an electronic user interface (UI) that may be used to display the determined simplified representation 702 and the determined graphical representation 704. The UI element 712A may display the simplified representation 702. The UI element 712B may display the graphical representation 704. In some embodiments, a first user input may be received indicating a user selection of a view type associated with the set of representations. Based on the user selection of the view type, first information may be determined. The first information may be rendered on the display device 208A of the electronic device 102.
[0095] To synchronize the embedded viewer 714 with the framework embedded viewer 712, an application programming interface (API), such as a view control 714B, associated with the embedded viewer 714 may be controlled. Based on the determined embedded viewer metadata 710C, the framework server 710 may calculate changes that may need to be sent to the API associated with the embedded viewer 714 so that the embedded viewer 714 can be synchronized with the framework embedded viewer 712. The embedded viewer metadata 710C may then be sent to the view control 714B of the embedded viewer 714. It may be noted that the framework client-server architecture may not need to be changed to update the embedded viewer metadata 710C. With reference to FIG. 7, based on the user selection of the view type, the data instance 706, and the embedded viewer metadata 710C, the UI element 712A may provide a visualization of the raw data, such as the data instance 706. In some embodiments, the operations of the framework server 710 may be performed by the processor 202 of the electronic device 102. Additionally, operations associated with the electronic device 102 may be performed by the framework server 710 .
[0096] It should be noted that scenario 700 in FIG. 7 is merely an example, and such example should not be construed as limiting the scope of the present disclosure.
[0097] Figure 8 is a diagram depicting an example scenario of a single instance view in accordance with at least one embodiment described in this disclosure. Figure 8 is described in conjunction with elements from Figures 1, 2, 3A, 3B, 4, 5, 6, and 7. With reference to Figure 8, an example scenario 800 is shown. The example scenario 800 may include a UI element 802, a UI element 804, and a UI element 806. A set of actions associated with the scenario 800 will now be described.
[0098] With reference to scenario 800, UI element 802 may represent a data instance of a protein data domain. Processor 202 may determine a simplified representation and a graphical representation of the data instance. UI element 804 may display the simplified representation of the data instance. UI element 806 may display the graphical representation of the data instance. Thus, user 112 may view the data instance, the simplified representation, and the graphical representation at once. Such display of the data instance, the simplified representation, and the graphical representation may help user 112 gain insight from the data instance, the simplified representation, and the graphical representation.
[0099] It should be noted that scenario 800 in FIG. 8 is merely an example, and such example should not be construed as limiting the scope of the present disclosure.
[0100] FIG. 9A is a diagram depicting an example scenario of executing a set of first lambda functions on a set of expressions associated with text data, according to at least one embodiment described in this disclosure. FIG. 9A is described with elements from FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, FIG. 4, FIG. 5, FIG. 6, FIG. 7, and FIG. 8. With reference to FIG. 9A, an example scenario 900A is shown. The example scenario 900A may include a pipeline 902. The pipeline 902 may include a set of code 902A and a set of code 902B. A set of operations associated with the scenario 900A will now be described.
[0101] 9A, pipeline 902 may include code set 902A and code set 902B. Code set 902A may define a lambda function called “glambda_convoluted()” and a lambda function called “glambda_descriptive().” “glambda_convoluted()” may be a lambda function that may determine parameters associated with a length and height of a tree associated with the text data, where the tree may be a parse tree of the text data. “glambda_descriptive()” may be a lambda function that may determine parameters associated with a length of adjectives, a length of adverbs, a length of nouns, a length of pronouns, and a length of verbs present in the tree associated with the text data. Code set 902A may print an output obtained based on execution of “glambda_convoluted()” and an output obtained based on execution of “glambda_descriptive().”
[0102] It should be noted that scenario 900A in FIG. 9A is merely an example, and such example should not be construed as limiting the scope of the present disclosure.
[0103] FIG. 9B is a diagram depicting an example scenario of executing a set of first lambda functions on a set of representations associated with protein data, according to at least one embodiment described in the present disclosure. FIG. 9B is described with elements from FIG. 1, FIG. 2, FIG. 3A, FIG. 3B, FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG. 8, and FIG. 9A. With reference to FIG. 9B, an example scenario 900B is shown. The example scenario 900B may include a pipeline 904. The pipeline 904 may include a set of code 904A. A set of operations associated with the scenario 900B will now be described.
[0104] 9B, the pipeline 904 may include a code set 904A. The code set 904A may define a lambda function called “glambda_structure_count()”, a lambda function called “glambda_backbone_count()”, a lambda function called “glambda_structure_volume()”, and a lambda function called “glambda_backbone_length()”. “glambda_structure_count()” may be a lambda function that may determine the number of structures, such as structure “v”. “glambda_backbone_count()” may be a lambda function that may determine the number of backbone atoms in a structure, such as structure “v”. “glambda_structure_volume()” may be a lambda function that may determine the volume of a structure, such as structure “v”. “glambda_backbone_length()” may be a lambda function that may determine the length of a backbone atom in a structure, such as structure “v”.
[0105] It should be noted that scenario 900B of FIG. 9B is merely an example, and such example should not be construed as limiting the scope of the present disclosure.
[0106] FIG. 10 is a diagram depicting a flowchart of an example method for analyzing and visualizing task-specific graph sets according to an embodiment of the present disclosure. FIG. 10 is described with elements from FIGS. 1, 2, 3A, 3B, 4, 5, 6, 7, 8, 9A, and 9B. With reference to FIG. 10, a flowchart 1000 is shown. The method depicted in the flowchart 1000 may begin at 1002 and may be performed by any suitable system, apparatus, or device, such as the example electronic device 102 of FIG. 1 or the processor 202 of FIG. 2. Although depicted as separate blocks, steps and operations associated with one or more blocks of the flowchart 1000 may be divided into additional blocks, combined into fewer operations, or eliminated, depending on the particular implementation.
[0107] At block 1002, a set of data instances 110 associated with a domain may be received. In an embodiment, the processor 202 may be configured to receive the set of data instances 110 associated with a domain. Further details regarding receiving the set of data instances 110 are provided further, e.g., in FIG.
[0108] At block 1004, an electronic UI (e.g., framework UI 708 of FIG. 7 ) may be displayed. The electronic UI may have one or more UI elements configured to display first information including a set of representations associated with the received set of data instances 110. In an embodiment, the processor 202 may be configured to display an electronic UI (e.g., framework UI 708 of FIG. 7 ) that may have one or more UI elements configured to display first information including a set of representations associated with the received set of data instances 110. Further details regarding display of the electronic UI are provided, for example, in FIG. 3B .
[0109] At block 1006, a first user input may be received indicating a user selection of a view type associated with the set of representations. In an embodiment, the processor 202 may be configured to receive, via the displayed electronic UI, a first user input indicating a user selection of a view type associated with the set of representations, where the view type may correspond to at least one of a single instance view or an instance set view. Details regarding receiving the first user input are provided further, e.g., in FIG. 3A.
[0110] At block 1008, the set of simplification rules 302A may be applied to the received set of data instances 110. In an embodiment, the processor 202 may be configured to apply the set of simplification rules 302A to the received set of data instances 110. Further details regarding the application of the set of simplification rules 302A are provided further, e.g., in FIG.
[0111] At block 1010, a set of simplified representations 310 associated with the received set of data instances 110 may be determined based on application of the set of simplification rules 302A. In an embodiment, the processor 202 may be configured to determine the set of simplified representations 310 associated with the received set of data instances 110 based on application of the set of simplification rules 302A. Details regarding the determination of the set of simplified representations 310 are provided further, e.g., in FIG. 3A.
[0112] At block 1012, the set of transformation rules 304A may be applied to the received set of data instances 110. In an embodiment, the processor 202 may be configured to apply the set of transformation rules 304A to the received set of data instances 110. Further details regarding the application of the set of transformation rules 304A are provided further, e.g., in FIG.
[0113] At block 1014, a set of graph representations 312 associated with the received set of data instances 110 may be determined based on application of the set of transformation rules 304A. In an embodiment, the processor 202 may be configured to determine the set of graph representations 312 associated with the received set of data instances 110 based on application of the set of transformation rules 304A. Details regarding the determination of the set of graph representations 312 are provided further, e.g., in FIG. 3A.
[0114] At block 1016, a first set of lambda functions 306A may be performed on a set of representations including at least one of the determined set of simplified representations 310 or the determined set of graphical representations 312. In an embodiment, the processor 202 may be configured to perform the first set of lambda functions 306A on a set of representations including at least one of the determined set of simplified representations 310 or the determined set of graphical representations 312. Details regarding the execution of the first set of lambda functions 306A are provided further, e.g., in FIG.
[0115] At block 1018, a set of instance properties 314 associated with the set of representations may be determined based on the execution of the first set of lambda functions 306 A. In an embodiment, the processor 202 may be configured to determine the set of instance properties 314 associated with the set of representations based on the execution of the first set of lambda functions 306 A. Further details regarding the determination of the set of instance properties 314 are provided further, e.g., in FIG.
[0116] At block 1020, the set of representations may be analyzed based on the determined set of instance characteristics 314. In an embodiment, the processor 202 may be configured to analyze the set of representations based on the determined set of instance characteristics 314. Further details regarding the analysis of the set of representations are provided further, e.g., in FIG.
[0117] At block 1022, the rendering of the first information associated with the set of representations may be controlled via the displayed electronic UI based on the analysis of the set of representations and the received first user input. In an embodiment, the processor 202 may be configured to control the rendering of the first information associated with the set of representations via the displayed electronic UI based on the analysis of the set of representations and the received first user input. Further details regarding the rendering of the first information are provided further, e.g., in FIG. 3B. Control may pass to an end.
[0118] Although flowchart 1000 is depicted as separate operations, such as 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, and 1022, in particular embodiments, such separate operations may be further divided into additional operations, combined into fewer operations, or eliminated, depending on the particular implementation, without departing from the essence of the disclosed embodiments.
[0119] Various embodiments of the present disclosure may provide one or more non-transitory computer-readable storage media configured to store instructions that, in response to being executed, cause a system (e.g., an example electronic device 102) to perform an operation. The operation may include receiving a set of data instances 110 associated with a domain. The operation may further include applying a set of simplification rules 302A to the received set of data instances 110. The operation may further include determining a set of simplified representations 310 associated with the received set of data instances 110 based on the application of the set of simplification rules 302A. The operation may further include applying a set of transformation rules 304A to the received set of data instances 110. The operation may further include determining a set of graph representations 312 associated with the received set of data instances 110 based on the application of the set of transformation rules 304A. The operations may further include executing a first set of lambda functions 306A on a set of representations including at least one of the determined set of simplified representations 310 or the determined set of graph representations 312. The operations may further include determining a set of instance properties 314 associated with the set of representations based on the execution of the first set of lambda functions 306A. The operations may further include analyzing the set of representations based on the determined set of instance properties 314. The operations may further include controlling rendering of first information associated with the set of representations based on the analysis of the set of representations.
[0120] Various embodiments of the present disclosure may provide one or more non-transitory computer-readable storage media configured to store instructions that, in response to being executed, cause a system (e.g., an example electronic device 102) to perform an operation. The operation may include receiving a set of data instances 110 associated with a domain. The operation may further include displaying an electronic UI (e.g., framework UI 708 of FIG. 7 ) that may include one or more UI elements configured to display first information including a set of representations associated with the received set of data instances 110. The operation may further include receiving a first user input via the displayed electronic UI indicating a user selection of a view type associated with the set of representations, the view type may correspond to at least one of a single instance view or an instance set view. The operation may further include applying a set of simplification rules 302A to the received set of data instances 110. The operation may further include determining a set of simplified representations 310 associated with the received set of data instances 110 based on the application of the set of simplification rules 302A. The operations may further include applying the set of transformation rules 304A to the received set of data instances 110. The operations may further include determining a set of graphical representations 312 associated with the received set of data instances 110 based on the application of the set of transformation rules 304A. The operations may further include executing a first set of lambda functions 306A on the set of representations including at least one of the determined set of simplified representations 310 or the determined set of graphical representations 312. The operations may further include determining a set of instance properties 314 associated with the set of representations based on the execution of the first set of lambda functions 306A. The operations may further include controlling rendering of first information associated with the set of representations based on the analysis of the set of representations and the received first user input via the displayed electronic UI.
[0121] As used in this disclosure, the term "module" or "component" may refer to a specific hardware implementation configured to perform the operations of the module or component, and / or a software object or software routine that may be stored and / or executed by general-purpose hardware of a computing system (e.g., computer-readable medium, processing device, etc.). In some embodiments, different components, modules, engines, and services described in this disclosure may be implemented as objects or processes that run on a computing system (e.g., as separate threads). Although some of the systems and methods described in this disclosure are generally described as being implemented in software (stored and / or executed by general-purpose hardware), specific hardware implementations or combinations of software and specific hardware implementations are also possible and contemplated. In this specification, a "computing entity" may be any computing system as previously defined in this disclosure, or any module or combination of modules running on a computing system.
[0122] Terms used in this disclosure, particularly in the appended claims (e.g., the body of the appended claims), are generally intended to be “open” terms (e.g., the word “including” should be interpreted as meaning “including, but not limited to,” the word “having” should be interpreted as meaning “having at least,” the word “includes” should be interpreted as meaning “including, but not limited to,” etc.).
[0123] Moreover, when a specific number is intended in an introduced claim recitation, such intent is clearly stated in the claim, and in the absence of such intent, such intent does not exist. For example, to facilitate comprehension, the following appended claims may use introductory phrases such as "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to suggest that when a claim recitation is introduced with an indefinite article such as "a" or "an," a particular claim containing the introduced claim recitation is limited to instances containing only one of the recitations, even if the same claim contains both an introductory phrase such as "one or more" or "at least one" and an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be construed to mean "at least one" or "one or more"). The same is true when a definite article is used to introduce a claim recitation.
[0124] Moreover, even when a particular number is explicitly stated in an introduced claim recitation, one of ordinary skill in the art will understand that such recitation should generally be interpreted to mean at least the recited number (e.g., a recitation that simply states "two items," without any other qualifiers, means at least two items, or more than two items). Furthermore, when language like "at least one of A, B, and C, etc." or "one or more of A, B, and C, etc." is used, such structure is generally intended to include only A, only B, only C, both A and B, both A and C, both B and C, and / or all of A, B, and C, etc.
[0125] Furthermore, any disjunctive word and / or disjunctive phrase expressing two or more alternative terms, whether in the specification, claims, or drawings, should be understood to contemplate the possibility of including one of those terms, either one of those terms, or both of those terms. For example, the phrase "A or B" should be understood to include the possibilities of "A or B" or "A and B."
[0126] All examples and conditional language given in this disclosure are intended for educational purposes to aid the reader in understanding the concepts and inventions contributed by the inventors to the advancement of the art, and should not be construed as being limited to such specifically given examples and conditions. Although embodiments of the present disclosure have been described in detail, various changes, substitutions, and alterations may be made thereto without departing from the spirit and scope of the present disclosure.
[0127] In addition to the above embodiments, the following supplementary notes are disclosed. (Appendix 1) 1. A processor-implemented method comprising: receiving a set of data instances associated with a domain; applying a set of simplification rules to the received set of data instances; determining a set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining a set of graph representations associated with the set of received data instances based on application of the set of transformation rules; performing a first set of lambda functions on a set of representations comprising at least one of the determined set of simplified representations or the determined set of graphical representations; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling rendering of first information associated with the set of representations based on an analysis of the set of representations; The method according to claim 1, (Appendix 2) determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining, based on a determination that the current atom is not a backbone atom, second information indicative of coordinates of the current atom and an atom type of the current atom; determining the set of simplified representations is further based on the determined second information; The method described in Appendix 1. (Appendix 3) determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining third information indicative of a coordinate of the current atom and an edge between the previous atom and the current atom based on a determination that each of the previous atom and the current atom is a backbone atom; The determination of the set of graphical representations is further based on the determined third information. The method described in Appendix 1. (Appendix 4) determining whether the domain corresponds to a text data domain; extracting paragraphs from the received set of data instances based on a determination that the domain corresponds to the text data domain; generating phrase tokens from each of the extracted paragraphs; applying tokenization to each sentence of each of the extracted paragraphs based on the generated phrase tokens; generating a bag-of-words vector associated with the set of received data instances based on the application of the tokenization; determining the set of simplified representations is further based on the generated bag-of-word vectors; The method described in Appendix 1. (Appendix 5) determining whether the domain corresponds to a text data domain; extracting a set of sentences from the received set of data instances based on a determination that the domain corresponds to the text data domain; converting the extracted set of sentences into a set of parse trees; merging the set of parse trees to obtain a graph; determining the set of graph representations is further based on the obtained graph; The method described in Appendix 1. (Appendix 6) applying a syntax check to each lambda function in the second set of lambda functions to determine whether the corresponding lambda function is syntactically correct; determining a set of third lambda functions from the second lambda functions based on applying the syntax check and determining that the third set of lambda functions is syntactically correct; testing each of the determined set of third lambda functions against a subset of the set of expressions to determine whether the corresponding lambda function is valid; determining the set of first lambda functions from the determined set of third lambda functions based on testing the determined set of third lambda functions and determining that the set of first lambda functions is valid. The method described in Appendix 1. (Appendix 7) generating a first sample reduction associated with the set of simplified representations; generating a second sample reduction associated with the set of graph representations; applying a test run of the determined set of third lambda functions to each of the generated first sample reductions and the generated second sample reductions; and for each of the determined set of third lambda functions, determining whether the applied test execution completes within a predefined time; determining the set of first lambda functions is further based on determining that, for each of the set of first lambda functions, the applied test execution completes within the predefined time. The method described in Appendix 6. (Appendix 8) receiving a first user input indicating a user selection of a view type associated with the set of representations; and determining the first information based on the received first user input. The method described in Appendix 1. (Appendix 9) the view type corresponds to at least one of a single instance view or an instance set view; The method described in Appendix 8. (Appendix 10) The single instance view is a first user interface element configured to accept a user selection of a single data instance from the received set of data instances; an embedded data instance view configured to render a single data instance selected by a user; a simplified rendering view configured to render a simplified representation associated with a single data instance selected by a user; or A graph rendering view configured to render a graphical representation associated with a single data instance selected by a user. At least one of 10. The method according to claim 9. (Appendix 11) The instance set view includes: a second user interface element configured to accept a user selection of an instance property within the determined set of instance properties; a third user interface element configured to accept a user selection of a plurality of data instances from the received set of data instances; a plurality of simplified rendering views configured to render a plurality of simplified representations in the determined set of simplified representations; or a plurality of graph rendering views configured to render a plurality of graph representations in the determined set of graph representations. At least one of 10. The method according to claim 9. (Appendix 12) receiving a second user input indicating a user selection of at least one of an instance property in the determined set of instance properties, a simplified representation in the determined set of simplified representations, or a graph representation in the determined set of graph representations; and determining the first information based on the received second user input. The method described in Appendix 1. (Appendix 13) In response to being executed, the electronic device receiving a set of data instances associated with a domain; applying a set of simplification rules to the received set of data instances; determining a set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining a set of graph representations associated with the set of received data instances based on application of the set of transformation rules; performing a first set of lambda functions on a set of representations comprising at least one of the determined set of simplified representations or the determined set of graphical representations; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling rendering of first information associated with the set of representations based on an analysis of the set of representations; One or more non-transitory computer-readable storage media configured to store instructions to cause a computer to perform operations having the following characteristics: (Appendix 14) The operation includes: determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining, based on a determination that the current atom is not a backbone atom, second information indicative of coordinates of the current atom and an atom type of the current atom; determining the set of simplified representations is further based on the determined second information; 14. One or more non-transitory computer-readable storage media as described in Clause 13. (Appendix 15) The operation includes: determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining third information indicative of a coordinate of the current atom and an edge between the previous atom and the current atom based on a determination that each of the previous atom and the current atom is a backbone atom; The determination of the set of graphical representations is further based on the determined third information. 14. One or more non-transitory computer-readable storage media as described in Clause 13. (Appendix 16) The operation includes: determining whether the domain corresponds to a text data domain; extracting paragraphs from the received set of data instances based on a determination that the domain corresponds to the text data domain; generating phrase tokens from each of the extracted paragraphs; applying tokenization to each sentence of each of the extracted paragraphs based on the generated phrase tokens; generating a bag-of-words vector associated with the set of received data instances based on the application of the tokenization; determining the set of simplified representations is further based on the generated bag-of-word vectors; 14. One or more non-transitory computer-readable storage media as described in Clause 13. (Appendix 17) The operation includes: determining whether the domain corresponds to a text data domain; extracting a set of sentences from the received set of data instances based on a determination that the domain corresponds to the text data domain; converting the extracted set of sentences into a set of parse trees; merging the set of parse trees to obtain a graph; determining the set of graph representations is further based on the obtained graph; 14. One or more non-transitory computer-readable storage media as described in Clause 13. (Appendix 18) The operation includes: applying a syntax check to each lambda function in the second set of lambda functions to determine whether the corresponding lambda function is syntactically correct; determining a set of third lambda functions from the second lambda functions based on applying the syntax check and determining that the third set of lambda functions is syntactically correct; testing each of the determined set of third lambda functions against a subset of the set of expressions to determine whether the corresponding lambda function is valid; determining the set of first lambda functions from the determined set of third lambda functions based on testing the determined set of third lambda functions and determining that the set of first lambda functions is valid. 14. One or more non-transitory computer-readable storage media as described in Clause 13. (Appendix 19) The operation includes: generating a first sample reduction associated with the set of simplified representations; generating a second sample reduction associated with the set of graph representations; applying a test run of the determined set of third lambda functions to each of the generated first sample reductions and the generated second sample reductions; and for each of the determined set of third lambda functions, determining whether the applied test execution completes within a predefined time; determining the set of first lambda functions is further based on determining that, for each of the set of first lambda functions, the applied test execution completes within the predefined time. 19. One or more non-transitory computer-readable storage media as described in Clause 18. (Appendix 20) A memory configured to store instructions; coupled to the memory and capable of executing the instructions; receiving a set of data instances associated with a domain; displaying an electronic UI having one or more user interface (UI) elements configured to display first information including a set of representations associated with the received set of data instances, the set of representations including at least one of a set of simplified representations or a set of graphical representations; receiving a first user input via the displayed electronic UI indicating a user selection of a view type associated with the set of representations, the view type corresponding to at least one of a single instance view or an instance set view; applying a set of simplification rules to the received set of data instances; determining the set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining the set of graph representations associated with the set of received data instances based on application of the set of transformation rules; executing a first set of lambda functions on the set of expressions; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling the rendering of the first information associated with the set of representations based on the analysis of the set of representations and the first user input received via the displayed electronic UI; A processor configured to execute a process having the steps of: An electronic device having: [Explanation of symbols]
[0128] 100 Environment 102 Electronic Devices 104 Server 106 Database 108 Communication Network 110 Data Instance Pair 112 users 202 Processor 204 Memory 206 Network Interface 208 Input / Output (I / O) Devices 208A Display Device 300 Execution Pipeline 302 Data Simplification Actions 302A Simplified Rules Set 304 Data conversion operation 304A Conversion rule set 306 Lambda Function Execution Actions 306A First set of lambda functions 308 Data Visualization and Analysis Operations 310 Simplified Expression Set 312 Pairs of Graph Representations 314 Instance Property Set 316 Embedded Data Instance Viewer 318 Single Instance View 318A 1st UI element 318B Embedded Data Instance Views 318C Simplified Rendering View 318D Graph Rendering View 320 Instance Set View 320A 2nd UI element 320B 3rd UI element 320C~F Simplified / Graph Rendering View 702 Simplified Expressions 704 Graph Representation 706 Data Instances 708 Framework UI 710 Framework Server 710A Simplified Representation Metadata 710B Metadata for Graph Representations 710C Embedded Viewer Metadata 712 Framework Built-in Viewer 712A~B, 714A, 802~806 UE element 714 Embedded Viewer 714B View Control 716 Correlation Calculation Model
Claims
1. 1. A processor-implemented method comprising: receiving a set of data instances associated with a domain; applying a set of simplification rules to the received set of data instances; determining a set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining a set of graph representations associated with the set of received data instances based on application of the set of transformation rules; performing a first set of lambda functions on a set of representations comprising at least one of the determined set of simplified representations or the determined set of graphical representations; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling rendering of first information associated with the set of representations based on an analysis of the set of representations; The method according to claim 1,
2. determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining, based on a determination that the current atom is not a backbone atom, second information indicative of coordinates of the current atom and an atom type of the current atom; determining the set of simplified representations is further based on the determined second information; The method of claim 1.
3. determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining third information indicative of a coordinate of the current atom and an edge between the previous atom and the current atom based on a determination that each of the previous atom and the current atom is a backbone atom; determining the set of graphical representations is further based on the determined third information; The method of claim 1.
4. determining whether the domain corresponds to a text data domain; extracting paragraphs from the received set of data instances based on a determination that the domain corresponds to the text data domain; generating phrase tokens from each of the extracted paragraphs; applying tokenization to each sentence of each of the extracted paragraphs based on the generated phrase tokens; generating a bag-of-word vector associated with the set of received data instances based on the application of the tokenization; determining the set of simplified representations is further based on the generated bag-of-word vectors; The method of claim 1.
5. determining whether the domain corresponds to a text data domain; extracting a set of sentences from the received set of data instances based on a determination that the domain corresponds to the text data domain; converting the extracted set of sentences into a set of parse trees; merging the set of parse trees to obtain a graph; determining the set of graph representations is further based on the obtained graph; The method of claim 1.
6. applying a syntax check to each lambda function in the second set of lambda functions to determine whether the corresponding lambda function is syntactically correct; determining a set of third lambda functions from the second lambda functions based on applying the syntax check and determining that the third set of lambda functions is syntactically correct; testing each of the determined set of third lambda functions against a subset of the set of expressions to determine whether the corresponding lambda function is valid; determining the set of first lambda functions from the determined set of third lambda functions based on testing the determined set of third lambda functions and determining that the set of first lambda functions is valid. The method of claim 1.
7. generating a first sample reduction associated with the set of simplified representations; generating a second sample reduction associated with the set of graph representations; applying a test run of the determined set of third lambda functions to each of the generated first sample reductions and the generated second sample reductions; and for each of the determined set of third lambda functions, determining whether the applied test execution completes within a predefined time; determining the set of first lambda functions is further based on determining that, for each of the set of first lambda functions, the applied test execution completes within the predefined time. The method according to claim 6.
8. receiving a first user input indicating a user selection of a view type associated with the set of representations; and determining the first information based on the received first user input. The method of claim 1.
9. the view type corresponds to at least one of a single instance view or an instance set view; The method according to claim 8.
10. The single instance view is a first user interface element configured to accept a user selection of a single data instance from the received set of data instances; an embedded data instance view configured to render a single data instance selected by a user; a simplified rendering view configured to render a simplified representation associated with a single data instance selected by a user; or A graph rendering view configured to render a graphical representation associated with a single data instance selected by a user. at least one of 10. The method of claim 9.
11. The instance set view includes: a second user interface element configured to accept a user selection of an instance property within the determined set of instance properties; a third user interface element configured to accept a user selection of a plurality of data instances from the received set of data instances; a plurality of simplified rendering views configured to render a plurality of simplified representations in the determined set of simplified representations; or a plurality of graph rendering views configured to render a plurality of graph representations in the determined set of graph representations. at least one of 10. The method of claim 9.
12. receiving a second user input indicating a user selection of at least one of an instance property in the determined set of instance properties, a simplified representation in the determined set of simplified representations, or a graph representation in the determined set of graph representations; and determining the first information based on the received second user input. The method of claim 1.
13. In response to being executed, the electronic device receiving a set of data instances associated with a domain; applying a set of simplification rules to the received set of data instances; determining a set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining a set of graph representations associated with the set of received data instances based on application of the set of transformation rules; performing a first set of lambda functions on a set of representations comprising at least one of the determined set of simplified representations or the determined set of graphical representations; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling rendering of first information associated with the set of representations based on an analysis of the set of representations; One or more non-transitory computer-readable storage media configured to store instructions to cause a computer to perform operations having the following characteristics:
14. The operation includes: determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining, based on a determination that the current atom is not a backbone atom, second information indicative of coordinates of the current atom and an atom type of the current atom; determining the set of simplified representations is further based on the determined second information; 14. One or more non-transitory computer-readable storage media as recited in claim 13.
15. The operation includes: determining whether the domain corresponds to a protein data domain; extracting atoms from the set of received data instances based on a determination that the domain corresponds to the protein data domain; For each atom, determining whether the current atom is a backbone atom; determining third information indicative of a coordinate of the current atom and an edge between the previous atom and the current atom based on a determination that each of the previous atom and the current atom is a backbone atom; determining the set of graphical representations is further based on the determined third information; 14. One or more non-transitory computer-readable storage media as recited in claim 13.
16. The operation includes: determining whether the domain corresponds to a text data domain; extracting paragraphs from the received set of data instances based on a determination that the domain corresponds to the text data domain; generating phrase tokens from each of the extracted paragraphs; applying tokenization to each sentence of each of the extracted paragraphs based on the generated phrase tokens; generating a bag-of-word vector associated with the set of received data instances based on the application of the tokenization; determining the set of simplified representations is further based on the generated bag-of-word vectors; 14. One or more non-transitory computer-readable storage media as recited in claim 13.
17. The operation includes: determining whether the domain corresponds to a text data domain; extracting a set of sentences from the received set of data instances based on a determination that the domain corresponds to the text data domain; converting the extracted set of sentences into a set of parse trees; merging the set of parse trees to obtain a graph; determining the set of graph representations is further based on the obtained graph; 14. One or more non-transitory computer-readable storage media as recited in claim 13.
18. The operation includes: applying a syntax check to each lambda function in the second set of lambda functions to determine whether the corresponding lambda function is syntactically correct; determining a set of third lambda functions from the second lambda functions based on applying the syntax check and determining that the third set of lambda functions is syntactically correct; testing each of the determined set of third lambda functions against a subset of the set of expressions to determine whether the corresponding lambda function is valid; determining the set of first lambda functions from the determined set of third lambda functions based on testing the determined set of third lambda functions and determining that the set of first lambda functions is valid.
14. One or more non-transitory computer-readable storage media as recited in claim 13.
19. The operation includes: generating a first sample reduction associated with the set of simplified representations; generating a second sample reduction associated with the set of graph representations; applying a test run of the determined set of third lambda functions to each of the generated first sample reductions and the generated second sample reductions; and for each of the determined set of third lambda functions, determining whether the applied test execution completes within a predefined time; determining the set of first lambda functions is further based on determining that, for each of the set of first lambda functions, the applied test execution completes within the predefined time.
20. One or more non-transitory computer-readable storage media as recited in claim 18.
20. A memory configured to store instructions; coupled to the memory and capable of executing the instructions; receiving a set of data instances associated with a domain; displaying an electronic UI having one or more user interface (UI) elements configured to display first information including a set of representations associated with the received set of data instances, the set of representations including at least one of a set of simplified representations or a set of graphical representations; receiving a first user input via the displayed electronic UI indicating a user selection of a view type associated with the set of representations, the view type corresponding to at least one of a single instance view or an instance set view; applying a set of simplification rules to the received set of data instances; determining the set of simplified representations associated with the set of received data instances based on application of the set of simplification rules; applying a set of transformation rules to the received set of data instances; determining the set of graph representations associated with the set of received data instances based on application of the set of transformation rules; executing a first set of lambda functions on the set of expressions; determining a set of instance properties associated with the set of expressions based on execution of the first set of lambda functions; analyzing the set of representations based on the determined set of instance properties; controlling, via the displayed electronic UI, the rendering of the first information associated with the set of representations based on the analysis of the set of representations and the received first user input; A processor configured to execute a process having the steps of: An electronic device having: