Method and system for generating connections between individual data sets based on semantics

By labeling data items with synonyms and ranking them by similarity, the method addresses the challenge of inconsistent terminology in data sets, revealing hidden connections and improving data accessibility.

CN119183559APending Publication Date: 2024-12-24ID BUSINESS SOLUTIONS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380029200.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-01-27
Filing Date
2023-01-27
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

Existing data classification and search methods fail to reveal all relevant data due to the use of various terms and synonyms for the same data, and they rely on known relationships, missing potential or previously unknown connections between data sets.

Method used

Assign labels to data items including a plurality of terms identifying the data item, including synonyms, and rank data items relative to each other by similarity or display them at a distance based on shared term frequency to determine new relationships.

Benefits of technology

Facilitates the discovery of previously unknown relationships and connections between data sets by normalizing diverse terminology, enhancing data democratization and searchability across multiple sources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119183559A_ABST
    Figure CN119183559A_ABST
Patent Text Reader

Abstract

A method and system for identifying connections between data items in an updatable data store, comprising: dynamically receiving a plurality of data items, each data item comprising one or more controlled words; displaying the dynamically received data items on a display; and identifying one or more connections between data items from different updatable sources based on the display. A method and system for identifying connections between data items in an updatable data store, further comprising: dynamically receiving a plurality of data items, each data item comprising one or more controlled words; defining the similarity between the data items; ranking the data items relative to each other based on the similarity between the data items; and identifying one or more connections between the data items from the different updatable sources based on the ranking. When the source of the data item is updated, the data item is also updated at the same time.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] When trying to utilize large amounts of data (e.g., large experimental data sets from multiple scientific teams studying various topics), some of the data generated by these research teams may be lost because the data are not indexed or referenced to make them searchable. In particular, laboratory notebooks or electronic workbooks may include large amounts of data, experimental protocols, results, etc. that have never been reviewed and made accessible. In addition, even when data is recorded digitally in a searchable format, the data to be searched must be known in advance in order to be input into a search tool. It may not be possible to find data that exists in a large data repository but is hidden therein due to the size of the data repository via typical search tools that rely on, for example, keywords or Boolean searches. Summary of the invention

[0002] In one aspect, the present technology relates to a method and system for identifying connections between data items in an updateable database, the method comprising: dynamically receiving multiple data items from an updateable data repository, the data items being provided by multiple updateable sources, each data item comprising one or more controlled phrases; displaying the dynamically received data items on a display; and identifying one or more connections between data items from different updateable sources based on the display; and simultaneously updating the dynamically received data items when the sources of the dynamically received data items are updated.

[0003] In an example of the above aspect, for each data item, each controlled word defines one or more characteristics of the data item. In another example, the characteristics include at least one of a drug, an experiment, a gene, a device, a chemical molecule, a research center, a research team, a location, and an event. In one example, the data item includes only controlled words. In another example, the displayed data items are separated by a distance related to the similarity between the displayed data items; and one or more connections are identified based on the distance. In another example, the similarity between two data items is defined by at least one of the number and frequency of controlled words shared by the two data items.

[0004] In yet another example of the above aspects, the method further includes defining a distance threshold, wherein identifying one or more connections includes: identifying data items separated by a distance less than the distance threshold. In another example, the data items are grouped on the display into one or more clusters, and the data items in each cluster share the same controlled wording. In one example, the updateable data repository includes an electronic notebook, also known as an electronic laboratory notebook. In another example, when the dynamically received data is updated, at least one connection is identified as a result.

[0005] In another aspect, the present technology relates to a data connection finder, which includes a data receiver; an updateable data repository functionally coupled to the data receiver; a processor operatively coupled to the data receiver, the updateable data repository, and a display device; and a memory coupled to the processor, the memory storing instructions. The instructions, when executed by the processor, perform a set of operations including: at the data receiver, dynamically receiving a plurality of data items from the updateable data repository, the data items being provided by a plurality of updateable sources, each data item including one or more controlled phrases; displaying the dynamically received data items on a display of the display device; and, via the processor, identifying one or more connections between data items from different updateable sources based on the display; and updating the dynamically received data items simultaneously when the sources of the dynamically received data items are updated.

[0006] In an example of the above aspect, on a display of a display device, displayed data items are separated by a distance related to a similarity between the displayed data items; and one or more connections are identified based on the distance. In another example, the similarity between two data items is defined by at least one of a number and a frequency of controlled phrases shared by the two data items. In another example, the set of operations further includes: defining a distance threshold; wherein identifying one or more connections includes: identifying data items separated by a distance less than the distance threshold. In another example, when the dynamically received data is updated, at least one connection is identified as a result via the processor.

[0007] In another aspect, the present technology relates to a method for identifying connections between data items in an updateable data repository, the method comprising: dynamically receiving a plurality of data items from the updateable data repository, the data items being provided by a plurality of updateable sources, each data item comprising one or more controlled phrases; defining similarities between the data items; ranking the data items relative to each other based on the similarities between the data items; and identifying one or more connections between the data items from different updateable sources based on the rankings; wherein, when the sources of the data items are updated, the data items are updated simultaneously.

[0008] In an example of the above aspect, the similarity between two data items is defined by at least one of the number and frequency of controlled terms shared by the two data items. In another example, for each given data item, the other data items are ranked separately based on the similarity between the given data item and each of the other data items. In another example, any two data items share the same rank. In another example, the method further includes: defining a ranking threshold; wherein identifying one or more connections includes: identifying data items that share a ranking higher than the ranking threshold. In another example, the method further includes: providing the one or more identified connections. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1A is a schematic diagram of an example of data normalization that facilitates searching across different data sets having different or synonymous descriptions of the same data item by using controlled wording in accordance with various aspects.

[0010] Figure 1B is a high-level block diagram of an example process for normalizing data according to various aspects.

[0011] Figure 2A is a schematic diagram of word distribution and word density of controlled wording in multiple data sources according to various aspects.

[0012] Figure 2B is a high-level block diagram illustrating an example system for discovering topic connections in accordance with various aspects.

[0013] Figure 3A It is a schematic diagram of the distribution of topics in multiple data sources according to various aspects.

[0014] Figure 3B is a high-level block diagram illustrating example data flow for interacting with a topic discovery graphical user interface in accordance with various aspects.

[0015] Figure 4 is a schematic diagram illustrating clustering data items from different data sets according to various aspects.

[0016] FIG. 5A to FIG. 5C is a schematic diagram illustrating labeled data items from different data sets according to various aspects.

[0017] Fig. 6A is a flow chart depicting a method for identifying connections between data items in an updateable data repository in accordance with various aspects.

[0018] Figure 6B is a flow chart depicting a method for identifying connections between data items in an updateable data repository in accordance with various aspects.

[0019] Figure 7 A block diagram of a computing device is depicted.

[0020] Figure 8 Selected modules of a discovery system configured for dynamic topic connection discovery of unstructured data input are schematically illustrated. DETAILED DESCRIPTION

[0021] There are a large amount of unstructured free texts (such as, for example, experimental data propagated throughout the world) and attached documents in various data repositories. These documents may include, for example, laboratory notebooks or electronic workbooks, pictures, PDF documents, or documents in other commonly used formats except word processing formats. Due to many factors including, for example, huge amounts of propagated data, these documents are usually difficult to search and / or find. Such data lack consistency in their descriptions usually, and this is usually because a single subject does not have the description of the various topics and concepts discussed therein.

[0022] For example, in the field of medical devices, the wordings described or included in, for example, drugs, genes, laboratory reports, scientific publications, scientific protocols, technical standards, chemical molecules, research centers, research teams, locations, adverse events, antibody types, anatomical features, biochemical substances, biotherapeutics, cell lines, cell types, company names, countries, medical devices, drug categories, clinical genetic variations, geographic locations, human phenotypes, mechanisms of action, mutations, nucleic acid sequences, peptide sequences, clinical stages, protein types, regulatory agencies, research codes, species, etc. are not always described in exactly the same way, making it challenging to search and / or find the data. As a result, when searching for data that has been generated in a given scientific field, researchers usually rely on people or entities that input data into, for example, laboratory notebooks or electronic workbooks to access and analyze the data. Therefore, these people or entities actually operate as gatekeepers of the information being sought. In other words, data democratization is usually lacking, and data democratization allows all parties to access data, and gatekeepers do not create bottlenecks for accessing data. In this case, the gatekeeper may be, for example, a person or entity responsible for entering data that is unstructured free text that is circulated in publications, etc., and uses terminology that may not be shared by other people or entities that are also entering data. As a result, for example, the flow of data between various research teams is slowed down, and the ability of researchers to access the data flow and utilize the data flow to make appropriate and useful searches is also slowed down.

[0023] There are several limitations to finding data in large data sets. Such limitations may include, for example, findability, where a user cannot find data through keyword searches or natural language processing due to a lack of consistency in the terms used to describe the data. Another limitation in processing large data sets may be interoperability, which hinders data analysis and may also lead to a loss of insight when analyzing the data due to a lack of consistency in terminology. In addition, although typical searches are based on known unknowns, where the objects of the search are already known in advance and are input into the search tool through, for example, keywords, Boolean searches, or natural language processing, potential or yet unknown relationships are generally not revealed by these search methods.

[0024] Therefore, it is not only necessary to coordinate the terms used when entering data in various laboratory notebooks, electronic workbooks, publications or other media, but also to annotate related data items so that they are identified as synonyms. For example, annotation related terms can be performed by adding identification ontology tags in the metadata of the terms or in the data repository. A given label can include various terms and synonyms of data items via, for example, named entity recognition (NER) or other methods. Labels can provide consistency in describing and referencing data items, as well as the possibility of finding various data items sharing the same label. It is also necessary to allow the use of various terms to search for data, so that the data model is dynamic, as long as different terms share the same label. As a result, potential or previously unknown relationships or connections between seemingly unconnected data sets can be revealed. In various aspects, the labels assigned to data items can include, for example, genes, drugs, experimental protocols, names of authors or inventors, dates of experiments or publications, locations of research teams, chemical molecules, research centers, research teams, adverse events, etc. Labels can also include multiple synonyms, so that searches based on any one of the multiple synonyms can generate the same data item.

[0025] Therefore, a technical problem arises due to the lack of data democratization, wherein existing data classification and search methods may not allow all relevant data to be revealed due to the use of various terms and synonyms for the same data. A solution to the technical problem may include assigning a label to each data item, the label including a plurality of terms identifying the data item, including synonyms of the data item. There is also a technical problem caused by the fact that typical search methods rely on knowledge sought before performing the search, or rely on known relationships between data items in various data sets, but do not reveal potential or previously unknown relationships between the various data sets. A solution to the technical problem may include ranking the data items relative to each other by similarity, or displaying the data items on a display at a distance that depends on the number and frequency of terms shared between the data items, and determining new, potential or previously unknown relationships between the data items based on the ranking or the distance separating the data items.

[0026] For illustration purposes, Figure 1A is a schematic diagram of an example of data normalization in accordance with various aspects that facilitates searching across different data sets having different or synonymous descriptions of the same data item by using controlled wording and / or semantic wording (also referred to as tags). Figure 1AIn the free-form text 100, the description of a given lab report may be described, for example, a scientific publication or protocol discussing various drugs, genes, diseases, treatments, etc. In addition, various synonyms for the same data item may be used for different experimental descriptions or data sources. The data source may be, for example, a laboratory notebook or an electronic workbook. For example, the disease description "2019 Coronavirus (COVID-19)" 110A may be used interchangeably with the virus "SARS COV-2 (SARS_COV-2)" 110B that causes COVID-19. However, the two descriptions "COVID-19" 110A and "SARS_COV-2" 110B have the same tag associated with them, which is stored in the metadata of the free-form text 100 or in a data repository. Therefore, the two terms "COVID-19" 110A and "SARS_COV-2" 110B refer to the same disease, and a tag may be generated to associate the two terms.

[0027] In various aspects, because one data source may use the description "COVID-19" 110A and another data source may use the description "SARS_COV-2" 110B, in the absence of consistency in these descriptions, a search for "SARS_COV-2" 110B across multiple data sets will reveal the description "SARS_COV-2" 110B, but may not reveal the description "COVID-19" 110A, even though the two terms refer to the same disease. In various aspects, various descriptions of the same disease "COVID-19" 110A may correspond to the same ontology and may be labeled with the same label (e.g., the label "DISEASE:COV19"), which may refer to the same disease regardless of the synonyms used in any other references or publications. For example, the ontology described in 110C shows that various synonyms for the disease COVID-19 are considered equivalent and are all labeled "DISEASE:COV19". Therefore, a label is created that includes various descriptions of the COVID-19 disease under controlled wording and / or semantic wording, also referred to as the label "DISEASE:COV19", and the label can be stored in the metadata of the document or in a separate data repository. As a result, it is possible for a researcher or user to search on a large amount of data generated by different sources and using different terms by using controlled wording and / or semantic wording (such as "DISEASE:COV19"), and such a search will reveal all versions or synonyms of the disease, such as "COVID-19" 110A or "SARS_COV-2" 110B. Alternatively, if a user or searcher searches for the term "SARS_COV-2" 110B, references to the description "COVID-19" 110A may also be returned to the searcher because both descriptions share the same controlled wording and / or semantic wording, in this case, the label "DISEASE:COV19".

[0028] Similarly, in various aspects, the gene name "ACE2" 120A is associated with "angiotensin converting enzyme 2" 120B, the latter being the protein expressed by the ACE2 gene. Thus, both descriptions can be assigned the same label for searches for that particular gene, and allow searchers searching for "ACE2" to also receive "angiotensin converting enzyme 2" as a result of their search. As a result, searching various data sources, lab notebooks, electronic workbooks, references, etc. can reveal more important results because the use of different descriptions can be normalized, making the data sources more searchable. Thus, information that was siloed due to personalized and non-consistent terminology can now be de-siloed and made available for search by a wider group of searchers.

[0029] Figure 1B is a high-level block diagram of an example process of data normalization and topic extraction based on various aspects. Figure 1A For example, various data sources, laboratory notebooks, electronic workbooks, references, etc. can be stored in data storage 160A and data storage 160B. Although for simplicity in Figure 1B Two data stores 160 are shown, but any number of data stores may be used in such a system 105. Document 150A and experiment 150B may be automatically tagged through a document tagging phase 170 using various techniques such as third-party software solutions. Synonyms for the same feature, such as a disease or gene name, may be represented as synonym 145A, synonym 145B, and synonym 145C. For example, synonyms for the disease may be found, such as Figure 1A "COVID-19" 110A or "SARS_COV-2" 110B as shown. Figure 1B Three synonyms are shown in , but any number of synonyms may be found by the document tagging stage 170 .

[0030] In the topic connection discovery phase 175, the topic 140 can be found to be connected to synonyms 145A, 145B, and 145C using an unsupervised machine learning model that discovers hidden features in the processed data without any prior information. Using factorization techniques, such as non-negative matrix factorization, topic modeling can be performed where the input is a term-document matrix (a table with the frequency of terms or words in each document or experiment) and linear algebra is used for topic modeling. Back Figure 1A Examples of controlled wording, such as “DISEASE:COV19”, can be used as a reference such as Figure 1A The topics 140 of the synonyms "COVID-19" 110A or "SARS_COV-2" 110B are shown. The topics 140 are then stored in the topic data store 160C. In this way, the words, documents, and topics are all related, so that the relationship can be visualized in a variety of ways.

[0031] Figure 2A 2 is a display 204 showing a term distribution histogram 210 and a term density graph 220 of controlled terms and / or semantic terms in multiple data sources in accordance with various aspects. In various aspects, when controlled terms and / or semantic terms such as drug, gene, treatment, etc. are collected in a free form from various data sets or data sources, and as described above with respect to Figure 1AWhen generated as discussed, controlled wording and / or semantic wording can be displayed based on the frequency of occurrence of controlled wording and / or semantic wording in one or more data sources or data sets. Controlled wording and / or semantic wording are displayed based on the frequency of occurrence of controlled wording and / or semantic wording in the form of a histogram in display 210 assigned to each word. Therefore, histogram 210 provides a visual indication of the relative frequency of various controlled wording and / or semantic wording and their relative importance within the scope of available data sets or data sources. Similarly, word density diagram 220 provides a diagram of these most frequently used controlled wording and / or semantic wording by displaying these controlled wording and / or semantic wording in a size proportional to the frequency of occurrence of the most frequently used controlled wording and / or semantic wording in an available data set or data source. In various aspects, display 204 can be searchable based on controlled wording and / or semantic wording via word search or natural language processing. In various aspects, display 204 may show only controlled terms and / or semantic terms, such that both histogram 210 and word density 220 display relative usage frequencies of the respective controlled terms and / or semantic terms. In an embodiment, display 204 is an example user interface of a topic connection discovery platform.

[0032] Figure 2B is a high-level block diagram illustrating an example system for discovering topic connections in accordance with various aspects. Figure 2B An embodiment of an example discovery system 200 is shown in which a user device 240 is connected to a subject connection discovery platform 230 via a network 202 to interact with documents via a user interface 204 displayed on the user device 240. Although some example features are shown, various other features are not shown for the sake of brevity and to not obscure relevant aspects of the example embodiments disclosed herein. In some embodiments, the user device 240 and the subject connection discovery platform 230 are computer-based components that can be interconnected via the network 202. Additional components of the example discovery system 200, such as the data storage 160, can also be connected to the network 202.

[0033] In some embodiments, one or more networks 202 can be used to communicatively interconnect various components of the discovery system 200. For example, each component such as the user device 240, the subject connection discovery platform 230, and the data storage 160 can include one or more network interfaces and corresponding network protocols for communicating through the network 202. The network 202 may include a wired and / or wireless network (e.g., any number and / or configuration of public and / or private computer networks) that can be coupled in an appropriate manner to transmit data. For example, the network 202 may include any device of a traditional data communication network, such as a local area network (LAN), a wide area network (WAN), a telephone network (such as a public switched telephone network (PSTN)), an intranet, the Internet, or any other suitable communication network or combination of communication networks. In some embodiments, the network 202 may include multiple different networks, subnetworks, and / or a virtual private network (VPN) may be used to limit communication between specific components. For example, the user device 240 may be on a restricted access network such that control data may be transmitted only between the user device 240 and the subject connection discovery platform 230, thereby enabling the subject connection discovery platform 230 to display documents through the user device 240 and enabling real-time discovery of experiments, laboratory notebooks, pictures, PDF documents, or other documents through a graphical user interface (GUI).

[0034] The user device 240 can be any suitable computer device, such as a computer, a computer server, a laptop computer, a tablet device, a netbook, an Internet self-service machine, a personal digital assistant, a mobile phone, a smart phone, a gaming device, or any other computing device. The user device 240 is sometimes referred to as a host, a client, or a client system. In some embodiments, the user device 240 can host or instantiate one or more applications to interface with the discovery system 200. For example, the user device 240 can be a personal computer or mobile device running a scientific discovery application, and the scientific discovery application is configured to provide a user interface for the subject connection discovery platform 230. In some embodiments, the user device 240 can be configured to directly access data accessible by the subject connection discovery platform 230 through the network 202. In some embodiments, one or more functions of the subject connection discovery platform 230 can be instantiated in the user device 240, and / or one or more functions of the user device 240 can be instantiated in the subject connection discovery platform 230.

[0035] The user device 240 may include one or more processors 242 for executing computing operations or instructions stored in the memory 244 for accessing planning data and other functions of the subject connection discovery platform 230 through the network 202. In some embodiments, the processor 242 may be associated with the memory 244 and the input / output device 246 for performing data display operations and discovery system management operations. The processor 242 may include any type of processor or microprocessor that interprets and executes instructions or operations. The memory 244 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions executed by the processor 242, and / or a read-only memory (ROM) or another type of static storage device that stores static information and instructions used by the processor 242, and / or any suitable storage element. In some embodiments, the user device 240 may allocate a portion of the memory 244 and / or another local storage device (in the user device 240 or attached to the user device 240) for storing discovery data for the user device 240, such as subject data. In some embodiments, the user device 240 may include one or more input / output (I / O) devices 246. For example, a graphical display, such as a monitor and / or a touch screen display, and / or other user interface components, such as a keyboard, a mouse, function buttons, a speaker, a vibration motor, a track pad, a pen, voice recognition, a biometric mechanism, and / or any number of supplemental devices to add functionality to the user device 240. The network interface 248 may include one or more wired or wireless network connections to the network 202. The network interface 248 may include a physical interface, such as an Ethernet port, and / or related hardware and software protocols for communicating over the network 202, such as a network interface card, a wireless network adapter, and / or a cellular data interface.

[0036] The user device 240 may include a plurality of modules or subsystems that are stored and / or instantiated in the memory 244 to be executed as instructions or operations by the processor 242. For example, the memory 244 may include a data manager 260 configured to provide a user interface for selectively creating, manipulating and displaying real-time, near-real-time and / or stored structured data for planning in the topic connection discovery platform 230. The memory 244 may include a dynamic theme generator 262 configured to dynamically generate themes in response to user input received at the user interface 204. For example, a new theme may be generated based on user input received that the selected keyword is associated with another keyword. The memory 244 may include a user interface manager 264 configured to provide a user interface 204 for generating, modifying and displaying data received at the user device 240. The memory 244 may include other modules (not shown) configured to perform the functions of the user interface 204, including making data values ​​as graphical user interface elements, such as control points, switches, sliders, and grid selection interfaces.

[0037] The subject connection discovery platform 230 may include a housing and a bus that interconnects at least one processor 232, at least one memory 234, at least one storage device 240, and at least one interface, such as an application programming interface 236 and / or a network interface 238. The housing (not shown) may include a chassis for installing various subassemblies of the subject connection discovery platform 230, locating any physical connector for the interface, and protecting the various subassemblies. Some housings may be configured to be installed in a rack system. The bus (not shown) may include one or more conductors that allow communication between the components of the subject connection discovery platform 230. The processor 232 may include any type of processor or microprocessor that interprets and executes instructions or operations. The memory 234 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions executed by the processor 232, and / or a read-only memory (ROM) or another type of static storage device that stores static information and instructions used by the processor 232, and / or any suitable storage element.

[0038] In some embodiments, the subject connection discovery platform 230 may include an application programming interface 236 configured to transfer data between the subject connection discovery platform 230, the data storage 160, and / or the user device 240 via the network 202. For example, the application programming interface 236 may include functionality for easily transferring data between components of the discovery system 200. In some embodiments, the subject connection discovery platform 230 may include multiple application programming interfaces 236 for communicating with different types of applications on the user device 240 and / or the data storage 160 via the network 202.

[0039] Network interface 238 may include one or more wired or wireless network connections to network 202. Network interface 238 may include a physical interface, such as an Ethernet port, and associated hardware and software protocols for communicating over network 202, such as a network interface card.

[0040] The storage device 240 may include one or more non-volatile memory devices configured to store data, such as a hard disk drive (HDD), a solid-state drive (SSD), a flash-based removable memory (e.g., a secure data (SD) card), an embedded memory chip, etc. In some embodiments, the storage device 240 is or includes a plurality of solid-state drives.

[0041] In some embodiments, each data storage device 240 may include a single media device, while in other embodiments, each data storage device 240 includes multiple media devices. In some embodiments, the media device includes a NAND-type flash memory or a NOR-type flash memory. In some embodiments, the storage device 240 may include one or more hard disk drives. In some embodiments, the storage device 240 may include a flash memory device, which in turn includes one or more flash die, one or more flash packages, one or more flash channels, etc. However, in some embodiments, one or more of the data storage devices 240 may have other types of non-volatile data storage media (e.g., phase change random access memory (PCRAM), resistance random access memory (ReRAM), spin transfer torque random access memory (STT-RAM), magnetoresistive random access memory (MRAM), etc.).

[0042] The topic connection discovery platform 230 may include a plurality of modules or subsystems that are stored and / or instantiated in the memory 234 to be executed as instructions or operations by the processor 232. For example, the memory 234 may include a connection generator subsystem 250 configured to generate connections between synonyms and topics of a dynamic topic generator 262 operating on the user device 240. The memory 234 may include a machine learning (ML) model generator subsystem 252 configured to generate a machine learning model based on data received from the data storage 160. The memory 234 may include a data storage subsystem 254 configured to store the received data in (one or more) storage devices 240 and / or the data storage 160 via the network 202. The memory 234 may include a keyword ranking analysis subsystem 256 configured to analyze keyword data for statistical metrics (e.g., repeated data values) and rank keywords based on the statistical metrics to form connections with topics. The memory 234 may include a data display subsystem 258 configured to selectively display data on a user device 240, which may be attached to the topic connection discovery platform 230 or remotely connected via the network 202. In some embodiments, the functionality of the ML model generator 252 may be integrated into the topic connection discovery platform 230 and instantiated in the memory 234 as a subset of the functionality of the ML model generation subsystem and / or the keyword ranking analysis subsystem 256.

[0043] In some embodiments, the discovery system 200 may include one or more remote and / or cloud-based resources for supporting the functionality of the subject connection discovery platform 230 and / or the user device 240. For example, the discovery system 200 may include a data storage 160 configured to host some, all, or selected portions of the storage functionality of the subject connection discovery platform 230, such as a cloud-based network attached storage system, a distributed storage system, or an on-premises data storage system. In some embodiments, most of the functionality described above for the subject connection discovery platform 230 may reside in the subject connection discovery platform 230, and select functionality may be configured to utilize additional resources in a network server (not shown) and / or the data storage 160. For example, the network server may be configured to support specialized and / or processing-intensive numerical algorithms to supplement the keyword ranking analysis subsystem 256, and / or the data storage 160 may be configured to support archiving of data for long-term storage.

[0044] Figure 3Ais a display 300 showing the distribution of topics in multiple data sources according to various aspects. For example, a topic may refer to any combination of controlled terms and / or semantic terms that define the topic. For example, a topic may be a specific combination of a drug, a disease that a drug is used to alleviate, a recommended treatment for alleviating a disease, a laboratory report (such as a scientific publication about a drug, a disease, or a treatment), etc. In various aspects, various topics can be displayed on an optional display 300 (i.e., a graphical user interface), and when one of the topics (e.g., topic 310) is selected, the various controlled terms and / or semantic terms 320 that make up the topic 310 can be displayed. Thus, when a given topic 310 is selected, a list of controlled terms and / or semantic terms 320 that make up the given topic is displayed. In other aspects, the display 320 includes displaying terms in a size proportional to the frequency of occurrence of the terms in the available data sources, similar to the above reference. Figure 2A Display 220 discussed.

[0045] Figure 3B The subject GUI interaction phase during normal operation is schematically shown, which may be performed in a computer-based discovery system 330 (eg, Figure 2B At block 332, a topic discovery graphical user interface (GUI) is loaded. For example, when the discovery system 200 is operating, the topic discovery GUI is loaded onto an application operating on a user device that is connected to the topic connection discovery platform. In some embodiments, the GUI is loaded with data from existing projects in the discovery system 330. In other embodiments, the GUI is loaded with data instantiated in a memory.

[0046] In some embodiments, the topic GUI interaction phase 334 can be initiated during or after loading the topic discovery GUI. For example, the topic connection discovery platform can be connected to the discovery system 330 and / or instantiated in a component of the discovery system 330. In some embodiments, the timing and length of the topic GUI interaction phase 334 can be continuous based on user input interactions with a user interface connected to the topic connection discovery platform.

[0047] In some embodiments, the subject GUI interaction phase 334 may be completed only once. In some embodiments, the subject GUI interaction phase 334 may be re-executed in response to events, changes, or updates that may change during data discovery (e.g., known data values, unexpected events, continuously updated data, emerging data patterns, etc.), wherein the data discovery generates new connections based on keyword rankings, as described above with respect to Figure 2B as described.

[0048] During the topic GUI interaction phase 334, data may be retrieved at box 340. For example, the discovery system 330 may include data from an existing project that may be retrieved during or after loading the topic discovery GUI. At box 342, an initial topic discovery GUI may be generated. For example, the topic discovery GUI may include keywords corresponding to data values, a grid of keywords, a size of each box in the grid based on the frequency of the keyword, and a numerical value corresponding to the aggregate count value of each keyword.

[0049] After the initial topic discovery GUI is generated at block 342, the GUI may be displayed at block 344. For example, the GUI may include an interactive grid showing keyword data tags based on topic connection discovery, color differentiation of groups of keywords, and a cluster node display GUI selectable by a user through a user interface on a user device connected to the discovery system 330, or instantiated in an interconnected topic connection discovery platform.

[0050] After the GUI is displayed at block 344, GUI input may be received at block 346. For example, as described above and as Figure 3A As shown, the grid box can be selected to display synonyms associated with the topic, where a control point can be selected at a user device connected to the discovery system 330 via a user interface, or a control point can be instantiated in an interconnected topic connection discovery platform. In addition, at block 346, other GUI inputs can be received, such as user input for generating a cluster node GUI that displays documents related to the topic.

[0051] After receiving the GUI input at box 346, mathematical calculations can be performed at box 348 to help present the topic discovery GUI at box 358. In some embodiments, mathematical calculations 348 can include keyword statistics analysis 350. For example, keyword statistics analysis can use mathematical calculations to determine the size and shape of the grid box. Keyword statistics analysis 350 can include one or more modules to determine the grid dimensions corresponding to the number of keywords counted in the document.

[0052] In some embodiments, mathematical calculations 348 may include display grid generation 352. For example, display grid generation 352 may include a graphical method of drawing grid boxes of varying sizes in the GUI based on received GUI input and data values ​​retrieved at block 340.

[0053] In some embodiments, the mathematical calculations 348 may include a synonym display ranking manager 354. For example, a keyword may correspond to a synonym, also referred to as a topic, of one or more controlled terms and / or semantic terms (e.g., genes, drugs, diseases, scientific publications, etc.). The synonym display ranking manager 354 may assign a data value to a particular controlled term based on the number of related keywords or topics connected to the particular controlled term stored in a data table. In an embodiment, the data retrieved at box 340 may be used as an initial value for the number of keywords based on existing data stored in memory, but as new documents and new connections are found to be connected to the topic, the synonym ranking may change based on the data value associated with the controlled term, thereby changing the display of synonyms within the topic discovery GUI. For example, based on a new document uploaded as a data source, a particular controlled term may be connected to a larger number of keywords for "COVID-19". The synonym display ranking manager 354 may track the data values ​​associated with the synonyms in the GUI.

[0054] In some embodiments, the mathematical calculations 348 may include a data lookup table 356. For example, the data lookup table may be instantiated with the data retrieved at block 340 to provide a baseline data set. In one embodiment, at block 336, the data lookup table 356 may receive uploaded data. The data lookup table 356 may also be used to store various mathematical calculations 348, such as increases or decreases in data values. Additionally, various constants and formulas may be used and stored relative to the data lookup table 356 to work in conjunction with the keyword statistical analysis 350, the display grid generation 352, and / or the synonym display manager 354.

[0055] Based on the mathematical calculations 348, a synonym GUI may be presented at block 358. For example, the synonym GUI may include at least one of: a grid box displayed corresponding to the calculated data values ​​of the display grid generation 352, depicting the grid box with a size proportional to the number of keywords counted in the document, color differentiation applied to different topics, tags appearing in association with the grid box based on the keywords they represent, and a word cloud depicting the keywords in different font sizes based on the number of keywords counted in the document, experiment, lab notebook, attachment, etc.

[0056] After the synonym GUI is presented at block 358, the dynamic GUI is presented at block 360. This includes updated data values ​​corresponding to the size of the grid boxes, the ordering of the grid boxes based on the synonym display ranking, and the color of the selected grid box modified based on the GUI input received at block 346. The subject GUI interaction phase 334 may be continually repeated as additional GUI input is received.

[0057] Figure 4is a schematic diagram showing clustering data items from different data sets according to various aspects. Figure 4 In accordance with various aspects, display 400 includes a plurality of clusters, such as clusters 420c, 420b, and 420c of data items 410, where the data items 410 in each cluster are from the same or different data sets. Figure 4 , each color dot in display 400 represents a single data item 410. In various aspects, data items 410 are from a plurality of different data sets, some of which are spaced apart and independent from one another. In various aspects, each data item 410 may be assigned one or more controlled terms and / or semantic terms, each semantic term or label identifying a characteristic of data item 410. For example, data item 410 may be assigned a label indicating that data item 410 includes a gene, another label indicating that data item 410 includes a drug, and yet another label indicating that data item 410 includes an experimental protocol. Figure 4 In the example shown, all data items that share the same controlled terminology and / or semantic terminology may be clustered together in clusters such as clusters 420a, 420b, and 420c, and may be displayed in the same color.

[0058] In various aspects, a cluster may include multiple data items that share the same labels, provided from a variety of data sources. For example, cluster 420a may include data items that share the following labels: drug, disease for which the drug is commonly used, and gene affected by the drug. Thus, even though the various data items are spread in various parts of the world, or even though the research teams may be working on different projects, all data items that share the same combination of controlled terms and / or semantic terms may be identified, such as publications, research papers, lab notebooks, research teams, etc. Even though the various entities are unaware of each other, Figure 4 It also allows users or searchers to identify at a glance connections between various entities, research teams, etc., thereby revealing previously unknown connections. Identifying these previously unknown connections can allow these entities to collaborate, exchange data and ideas, and generally facilitate and accelerate research in areas defined by the combination of controlled terms and / or semantic terms of the cluster.

[0059] In various aspects, the data items 410 included in cluster 420a are part of a cluster because they share the same combination (also referred to as a topic) of controlled terms and / or semantic terms (e.g., genes, drugs, diseases, scientific publications, etc.). For example, with reference to FIG. 1 above, the data items 410 included in cluster 420a may include controlled terms and / or semantic terms that identify diseases (e.g., a disease called "COVID-19", diseases such as "ovarian cancer" and "aneuploidy"), and this combination of controlled terms and / or semantic terms is included in, for example, publications from multiple different research teams located in various parts of the world. Therefore, because this particular combination of controlled terms and / or semantic terms that constitutes a topic can be shared by multiple other data items, all data items sharing the same topic can be clustered in cluster 420a. Similarly, cluster 420b may include data items 410 that share different topics or different combinations of controlled terms and / or semantic terms, and other specific topics or combinations of controlled terms and / or semantic terms can be shared by multiple other data items. These other data items may thus be clustered in cluster 420b. In various aspects, data items 410 may also be clustered based on the frequency of shared controlled terms and / or semantic terms in each data item. For example, a given cluster may include data items that discuss "COVID-19" the same number of times. In various aspects, data items 410 in each cluster, such as clusters 420a, 420b, and 420c, may be identified with a cluster-specific color. In various aspects, the same data item 410 may share different topics with different other data items and may therefore be represented in more than one cluster. In other aspects, a data item may be shown in only one cluster.

[0060] In various aspects, display 400 may thus allow for unpinning of information about a given topic or combination of controlled terms and / or semantic terms (e.g., drugs used for a given disease using a given experiment) and discovering, for example, that a research team in Puerto Rico and a research team in the Netherlands are both included in the same cluster 420a because they both share a label for the same topic or combination. This realization may not have been known prior to establishing display 400, and thus is a potential previously unknown relationship that is revealed as a result of display 400. Thus, Figure 4 Relationships between the various clusters 420a, 420b, and 420c are displayed, including topics that the various data items may have in common, even if these relationships or connections were previously unknown. This is referred to as unpinning the information. Once a relationship is discovered, such as between different data items or different clusters, the relationship can be further explored. Further exploration of the newly revealed relationship can be achieved, for example, by selecting various data items on the display to obtain additional information about the data items, as described below with reference to Figure 5CIn one embodiment, the example display 400 may be used as Figure 3B Generated as a portion of the topic discovery GUI shown in and described above.

[0061] FIG. 5A to FIG. 5C is a schematic diagram of a display 500 showing data items from multiple data sources according to various aspects. Figure 5A In the embodiment, each color point in the display 500 represents a single data item 510a, 510b, or 510c. In various aspects, the data items 510a, 510b, or 510c are not as described above with respect to Figure 4 The discussed clustering is not based on the shared number of controlled terms and / or semantic terms, or based on the shared frequency of controlled terms and / or semantic terms, but is displayed based on similarity to other data items. In various aspects, the similarity between two data items can be determined by the number of controlled terms and / or semantic terms they have in common. For example, the similarity can be proportional to the number of controlled terms and / or semantic terms they have in common. In various aspects, two data items with a high degree of similarity to each other can be displayed at a close distance to each other, while two data items with a low degree of similarity to each other can be displayed at a greater distance from each other. Figure 5A Data items 510a, 510b, or 510c corresponding to different semantic wording types (e.g., drug, gene, experiment) are shown. Figure 5A In FIG. 5 , data items 510 a , 510 b , or 510 c are displayed with distances between each other, which distances are related to their respective similarities. FIG. 5A to FIG. 5C Clusters that may be generated using one or more known clustering methods (including but not limited to: centroid-based clustering, density-based clustering, distribution-based clustering, hierarchical clustering, and graph-based clustering) are shown. K-means is a FIG. 5A to FIG. 5C The centroid-based clustering algorithm used in , but other clustering algorithms can also be used. The clustering described here relies on the clustering described above in Figure 2B Unsupervised machine learning as described in .

[0062] In every aspect, Figure 5AThe display of 500 can realize the following possibility: reveal the relationship between data items that are not part of the same experimental data set, not produced by the same research team, or even do not process the same disease or gene based on the distance that separates the data items. For example, data items 510b and 510c can be part of different data sets and can be generated by different research teams or publications in various parts of the world. However, the fact that data items 510b and 510c are close to each other in display 500 indicates that there is a potential or previously unknown relationship between them. In various aspects, by, for example, increasing the communication between those who generate the two data items 510b and 510c, it may be worth further exploring this potential or previously unknown relationship now revealed in display 500. For example, if data item 510b is a drug, and data item 510c is a disease, then even when there is no prior knowledge about any treatment of the disease in 510c including the drug in 510b, the drug in 510b can also be part of the possible treatment of the disease in 510c.

[0063] Different types of distance measures or similarities can be used for clustering, such as Euclidean distance, Manhattan distance, Chebyshev distance, Minkowski distance, Hamming distance, cosine similarity, and Jaccard similarity. FIG. 5A to FIG. 5C The examples described in use cosine similarity, but any valid metric that complies with the distance rules may be used.

[0064] As an illustrative example, a previously unknown or unstudied relationship between a disease (e.g., Covid) and a medical condition (e.g., breast cancer) may be revealed. Thus, if two data items are close to each other or a short distance apart in display 500, a relationship between the data items representing the disease and the condition may be revealed. Discovering such potential or previously unknown connections may open new avenues for treating the condition or for research, collaboration, and investigation. Further exploration of the newly revealed relationships may be accomplished by, for example, selecting various data items on the display to obtain additional information about the data items, such as Figure 5B As shown. Figure 5B , the selected data item 520a is surrounded by a plurality of other data items 520b in close proximity thereto, and thus appears to be a related data item of data item 520b. In this example, the selected data item 520a is a drug named "angiotensin" and appears to have connections to a large number of genes and experiments in other data items 520b. In other aspects, further selection of data item 520a may generate access to a data repository via, for example, the Internet to obtain further information about the selected drug, such as Figure 5C As shown. Figure 5CIn one embodiment, additional information related to the selected data item 520a may be provided. The additional information may include, for example, a molecular formula, a manufacturing company, research papers related thereto, treatments generally associated therewith, etc. FIG. 5A to FIG. 5B The display 500 in the embodiment can be used as Figure 3B In one embodiment, Figure 5C The example user interface depicted in Figure 3B Generated as a portion of the topic discovery GUI shown in and described above.

[0065] Fig. 6A 6 is a flow chart depicting a method for identifying connections between data items in an updateable data repository according to various aspects. For convenience purposes only, the method 600 is described using at least the example system 700 described below. However, it should be understood that the method 600 may be performed by any suitable system.

[0066] Operation 610 includes dynamically receiving multiple data items from an updateable data repository. For example, a data item can be an experimental result from different organizations, different researchers or different publications, and can be stored in an updateable data repository. Specifically, operation 610 includes dynamically receiving multiple data items, wherein when the data item is updated at the source, the content of the data item can be updated in real time. In various aspects, a data item can include controlled wording and / or semantic wording that defines its content or characteristics and provides the consistency of the terms of its content. For example, controlled wording and / or semantic wording can define drugs, experiments, genes, equipment, chemical molecules, research centers, research teams, locations, events, etc. in a manner that includes multiple synonyms, thereby facilitating the search for various data items. It should be noted that although the above examples have been discussed in the context of scientific research, various aspects can be applied to any other type of data item, publication (such as magazine publications, new publications, etc.) or any other type of data exchanged or published. Similarly, although the research team has been discussed above, a data set can be provided from any information generation team (such as a news team, an investigation team, a government organization, etc.). Furthermore, although pharmaceuticals are discussed above, any other class of objects, substances, services, or products may also be a source of data items.In various aspects, the data items include only controlled terms and / or semantic terms.

[0067] Operation 620 includes displaying the dynamically received data items on a display. For example, the data items may be displayed as described above with reference to Figure 4 5. In various aspects, data items may be grouped into clusters on the display, wherein all members of a given cluster share the same combination and / or frequency of controlled terms and / or semantic terms, as discussed above with respect to Figure 4As discussed above. In other aspects, data items can be displayed at a specific distance from each other, and the distance between the data items is related to the similarity between the data items, as discussed above with respect to Figure 5. For example, the higher the similarity between two data items, the shorter the distance between the two data items on the display. In various aspects, the similarity can be determined by the number of controlled terms and / or semantic terms shared by the data items, wherein the higher the number of controlled terms and / or semantic terms shared between the two data items, the higher the similarity between the two data items. In other aspects, the similarity can be determined by the frequency of controlled terms and / or semantic terms shared between the data items. For example, the display of the data items can be a two-dimensional display or a three-dimensional display.

[0068] Specifically, the similarity between the displayed data items is determined based on the number or frequency of controlled terms or semantic terms shared between the data items. For example, when data items A and B share a higher number or frequency of controlled terms or semantic terms than data items A and C, then the similarity between data items A and B is greater than the similarity between data items A and C. As a result, the distance between the displayed data items A and B may be smaller than the distance between the displayed data items A and C.

[0069] Operation 630 includes identifying a connection between data items from different updateable sources based on the display. In various aspects, during operation 630, identifying a connection between two data items can be based on a distance separating the two data items on the display. For example, a distance threshold can be defined, and a connection between any two data items can be identified when the distance separating the two data items is below the distance threshold. In various aspects, the connection can be revealed during a real-time update of the data items, wherein the connection between the two data items is not initially identified prior to the update, but the connection becomes identifiable when at least one of the data items is updated, the update causing the distance between the data items on the display (such as display 500 in FIG. 5 ) to be shorter, and thus may fall below the distance threshold for finding a connection.

[0070] Operation 640 includes determining whether any of the data items has been updated at the data source. If the data item has been updated, for example, if the experimental protocol has been updated, the data item that has been received during operation 610 is also updated in real time during operation 650.

[0071] During operation 650, according to various aspects, the data items dynamically received during operation 610 are updated simultaneously or in real time when the data items themselves are updated at the data source. For example, if a given experimental protocol is updated at the source of the data items, such as in a lab notebook of a given research team, the data received during operation 610 is also updated in real time during operation 650. Therefore, as the data items are updated, the display in operation 620 updates the position of the data items based on the updates. In this way, the new distance can separate the data items from other data items, and as a result of the real-time update of the data items, new connections can be identified in real time. On the other hand, if the updated distance becomes greater than the distance threshold discussed in operation 630, the previously identified connection may now appear to be unrelated after the data item is updated.

[0072] Figure 6B 605 is a flowchart depicting a method for identifying connections between data items in an updateable data repository according to various aspects. For convenience purposes only, the method 605 is described using at least the example system 700 described below. However, it should be understood that the method 605 can be performed by any suitable system.

[0073] Operation 615 includes dynamically receiving multiple data items from an updateable data repository. For example, the data items can be experimental results from different organizations, different researchers, or different publications, and can be stored in the updateable data repository. Specifically, operation 615 includes dynamically receiving multiple data items, wherein when the data items are updated at the source, the content of the data items can be updated in real time. In various aspects, the data items can include controlled wording and / or semantic wording that defines its content or characteristics and provides consistency of the terms of its content. For example, controlled wording and / or semantic wording can define data items in a manner that includes multiple synonyms, thereby facilitating searching for various data items. In various aspects, the data items only include controlled wording and / or semantic wording.

[0074] Operation 625 includes ranking the dynamically received data items relative to each other. In various aspects, for each given data item, the other data items are individually ranked relative to the given data item based on the similarity between the given data item and each of the other data items. For example, any two data items can be ranked relative to each other based on the similarity between them, and any two data items share the same ranking. For example, the higher the similarity between two data items, the higher the ranking they share. In various aspects, the similarity can be determined by the number of controlled terms and / or semantic terms shared by the data items, wherein the higher the number of controlled terms and / or semantic terms shared between the two data items, the higher the similarity between them. In other aspects, the similarity can be determined by the frequency of controlled terms and / or semantic terms shared between the data items.

[0075] Operation 635 includes identifying a connection between the data items based on respective rankings of the data items from different updateable sources. In various aspects, during operation 635, identifying a connection between two data items can be based on a ranking shared by the two data items. For example, a ranking threshold can be defined, and a connection between any two data items can be identified when the ranking shared by the two data items is above the ranking threshold. In various aspects, the connection can be revealed during real-time updating of the data items, where the connection between the two data items is not initially identified prior to the update, but the connection becomes identifiable when at least one of the data items is updated, the update causing the ranking between the data items to be higher, and thus may become above the ranking threshold for finding the connection.

[0076] Operation 645 includes determining whether any of the data items have been updated at the data source. If the data item has been updated, for example, if the experimental protocol has been updated, the data item that has been received during operation 615 is also updated in real time during operation 655.

[0077] During operation 655, according to various aspects, the data items dynamically received during operation 615 are updated simultaneously or in real time when the data items themselves are updated at the data source. For example, if a given experimental protocol is updated at the source of the data items, such as in a lab notebook of a given research team, the data received during operation 615 is also updated in real time during operation 655. Therefore, as the data items are updated, the ranking operation 625 updates the ranking between the data items and other data items based on the update. In this way, the new ranking can be shared by the data items and other data items, and as a result of the real-time updating of the data items, new connections can be identified in real time. On the other hand, if the updated ranking becomes below the ranking threshold discussed in operation 635, the connection previously identified after the data item update can now appear to be irrelevant.

[0078] Operation 665 includes providing the identified connection or the identified updated connection.In various aspects, the connection or updated connection can be provided to a third party, such as, for example, a user, a researcher, a data source, etc.

[0079] Figure 7A block diagram of a computing device according to various aspects is depicted. In the illustrated example, computing device 700 may include a bus 702 or other communication mechanism with similar functionality for transmitting information, and at least one processing element 704 (collectively referred to as processing element 704) coupled to bus 702 for processing information. As will be appreciated by those skilled in the art, processing element 704 may include multiple processing elements or cores, which may be packaged as a single processor or packaged in a distributed arrangement. In addition, multiple virtual processing elements 704 may be included in computing device 700 to provide control or management operations for displays 400 and 500 or methods 600 and 605 described above.

[0080] The computing device 700 may also include one or more volatile memories 706, which may, for example, include random access memory (RAM) or other dynamic memory component (s) coupled to the one or more buses 702 for use by at least one processing element 704. The computing device 700 may also include static non-volatile memory (s) 708 (e.g., read-only memory (ROM)) or other static memory components coupled to the bus 702 to store information and instructions for use by at least one processing element 704. A storage component 710, such as a storage disk or memory, may be provided to store information and instructions for use by at least one processing element 704. As will be appreciated, the computing device 700 may include a distributed storage component 712, such as a networked disk or other storage resource available to the computing device 700.

[0081] The computing device 700 may be coupled to one or more displays 714 for displaying information to a user. Optional user input device(s) 716, such as a keyboard and / or touch screen, may be coupled to the bus 702 for communicating information and command selections to at least one processing element 704. Optional cursor control or graphics input device 718, such as a mouse, trackball, or cursor direction keys, for communicating graphical user interface information and command selections to at least one processing element. The computing device 700 may also include input / output (I / O) components (e.g., serial connections, digital connections, network connections) or other input / output components for allowing intercommunication with other computing components and various components of the displays 400 and 500 or methods 600 and 605 described above.

[0082] In various embodiments, computing device 700 can be connected to one or more other computer systems via a network to form a networked system. Such a network may, for example, include one or more private networks or public networks, such as the Internet. In a networked system, one or more computer systems may store data and provide data to other computer systems. One or more computer systems that store and provide data may be referred to as servers or clouds in a cloud computing scenario. For example, one or more computer systems may include one or more network servers. For example, other computer systems that send data to and receive data from a server or cloud may be referred to as client devices or cloud devices. Various operations of displays 400 and 500 or methods 600 and 605 may be supported by the operation of a distributed computing system.

[0083] The computing device 700 is operable to control the components of the displays 400 and 500 or the operation of the methods 600 and 605 through a communication device such as the communication device 720, and process data provided from a data source, as discussed above with respect to the displays 400 and 500 or the methods 600 and 605. In some examples, the analysis results are provided by the computing device 700 in response to the at least one processing element 704 executing instructions contained in the memory 706 or 708 and performing operations on the received data items. The execution of the instructions contained in the memory 706 and / or 708 by the at least one processing element 704 may cause the displays 400 and 500 or the methods 600 and 605 to be operable to perform the methods described herein.

[0084] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processing element 704 for execution. Such media may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as disk storage 710. Volatile media include dynamic memory, such as memory 706. Transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise bus 702.

[0085] Common forms of computer readable media or computer program products include, for example, floppy disks, flexible disks, hard disks, magnetic tapes or any other magnetic media, CD-ROMs, Digital Video Disks (DVDs), Blu-ray Discs, any other optical media, thumb drives, memory cards, RAM, PROMs and EPROMs, FLASH-EPROMs, any other memory chip or cartridge, or any other tangible medium from which a computer can read.

[0086] Various forms of computer-readable media may be involved in transmitting one or more sequences of one or more instructions to processing element 704 for execution. For example, the instructions may initially be transmitted on a disk of a remote computer. The remote computer may load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computing device 700 may receive the data on the telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 702 may receive the data transmitted in the infrared signal and place the data on bus 702. Bus 702 transmits the data to memory 706, from which processing element 704 retrieves and executes the instructions. The instructions received by memory 706 and / or storage 708 may optionally be stored on storage device 710 before or after being executed by processing element 704.

[0087] According to various embodiments, the instructions for operating to be executed by the processing element to perform the method are stored on a computer readable medium. The computer readable medium can be a device for storing digital information. For example, the computer readable medium includes a compact disc read-only memory (CD-ROM) known in the art for storing software. The computer readable medium is accessed by a processor adapted to execute the instructions configured to be executed.

[0088] Figure 8 Schematically illustrates selected modules of a discovery system 800 configured for dynamic topic connection discovery of unstructured data input. Figures 1A to 3B , and similar elements and configurations shown in . For example, the discovery system 800 can be configured in a modeling platform similar to the subject connection discovery platform 230. In some embodiments, one or more of the selected modules can access a processor, memory, and other resources of a user device similar to the user device 240 or be instantiated in a processor, memory, and other resources of a user device similar to the user device 240. For example, the user device 240 and its embedded or attached computing resources can be configured with some or all of the functions of the UI controller 830 to provide real-time user interface interaction with data values ​​in a distributed manner at the edge of the discovery system 800 before selectively providing the data values ​​to other system components (e.g., a data modeling platform) for additional analysis and / or use in a subject discovery application.

[0089] The system 800 may include a bus 810 that interconnects at least one processor 812, at least one memory 814, and at least one interface (e.g., an application programming interface 816 and a network interface 818). The bus 810 may include one or more conductors that allow communication between the components of the discovery system 800. The processor 812 may include any type of processor or microprocessor that interprets and executes instructions or operations. The memory 814 may include a random access memory (RAM) or another type of dynamic storage device that stores information and instructions executed by the processor 812, and / or a read-only memory (ROM) or another type of static storage device that stores static information and instructions used by the processor 812, and / or any suitable storage element, such as a hard disk or solid-state storage element. In some embodiments, the processor 812 and the memory 814 may be computing resources that can be used to execute logic or software instructions stored in the memory 814, and computationally intensive tasks such as the UI rendering engine 836 may be configured to monitor and share these resources.

[0090] The application programming interface 816 may be configured to connect to one or more user devices and / or data modeling platforms. For example, the application programming interface 816 may include a software interface that enables data transfer and / or communication between applications operating on the user device 240 and / or the subject connection discovery platform 230.

[0091] Network interface 818 may include one or more wired or wireless network connections to a network similar to network 202. Network interface 818 may include a physical interface, such as an Ethernet port, and associated hardware and software protocols for communicating over the network, such as a network interface card or wireless adapter.

[0092] The system 800 may include one or more non-volatile memory devices 820 configured to store data. For example, the non-volatile memory device 820 may include multiple flash memory packages and / or one or more solid-state drives or hard disk drives organized as an addressable memory array. In some embodiments, the non-volatile memory device 820 may include multiple storage devices within, attached to, or accessible to the data modeling platform for storing and accessing data.

[0093] The discovery system 800 may include a plurality of modules or subsystems that are stored and / or instantiated in the memory 814 for execution as instructions or operations by the processor 812. For example, the memory 814 may include a UI controller 830 configured to control at least one user interface operating on the user device 240, capture and store user input from the user device, provide real-time analysis, and enable user access such as through a data display application 850. The memory 814 may include a data storage estimator configured to calculate an estimate of storage requirements based on usage. The memory 814 may include a data display application configured to provide a user interface for displaying and managing data values ​​and / or the discovery system 800.

[0094] The user interface (UI) controller 830 may include interface protocols, functions, parameters, and data structures for connecting to and controlling user interfaces operating on user devices, capturing and storing data from these user interfaces, and interacting with the data analysis module 840 and the data display application 850. For example, the user interface controller 830 may be an application and / or corresponding hardware in a data modeling platform that is configured to network and / or directly communicate with a set of associated user devices. The UI controller 830 may be configured as a central point for data planning from associated user devices, which enables analysis of user input captured by the analysis engine and presentation of transformed data to the user through the data display application 850. In some embodiments, the UI controller 830 may be divided between one or more data modeling platforms, servers, and / or user devices.

[0095] In some embodiments, the UI controller 830 may include multiple hardware and / or software modules configured to use the processor 812 and the memory 814 to process or manage the defined operations of the UI controller 830. For example, the UI controller 830 may include a UI grid display interface 832, a UI event capture interface 834, a UI rendering engine 836, and a UI template designer 838.

[0096] The UI grid display interface 832 may include a UI interface protocol and a set of functions, parameters, and data structures for using a user interface on an application operating on a user device, configuring the user interface, communicating with the user interface, and providing command messages to the user interface through an application programming interface 816 and / or a network interface 818. For example, the UI grid display interface 832 may include an API and a command set for interacting with an application in each user device to access one or more UI functions. In some embodiments, the UI grid display interface 832 may be configured to set UI configuration parameters for UI elements, such as sliders, switches, control points, lines connecting control points, and / or otherwise manage the operation of the user interface. For example, the UI grid display interface 832 may maintain a UI configuration table, a page, or a similar data structure, which includes entries for each user interface being managed and their respective user device-specific configuration parameters, activity control features, and other configuration and control information for managing the user interface.

[0097] The UI event capture interface 834 may include an interface protocol and a set of functions, parameters and data structures for receiving UI event data from an associated user device and / or user interface. For example, the UI event capture interface 834 may include a data channel and a related data buffer for managing multiple user interface events. In some embodiments, each user interface may be a dedicated data channel for continuously and / or selectively sending its event data to the UI event capture interface 834. For example, the received UI event data may be buffered by the UI event capture interface 834 before being transmitted to the UI rendering engine 836, the UI template designer 838 and the data analysis module 840. In some embodiments, the UI event capture interface 834 may be configured to transmit data to the data analysis module 840 during the theme GUI interaction phase. In some embodiments, the UI event capture interface 834 may receive or generate data based on the received data analysis.

[0098] In some embodiments, UI event capture interface 834 may include UI element manager 834.1, which is configured to identify and manage UI elements that send UI event data from user equipment. For example, UI element manager 834.1 can manage the status and state of each UI element. In some embodiments, UI element manager 834.1 can selectively send data to data analysis module 840 for data analysis, to identify data value patterns and / or provide notification of the availability and storage location of the data for analysis in non-volatile memory 820 to data analysis module 840. In some embodiments, UI element manager 834.1 may include configurable UI elements. For example, synonym GUI, grids of optional boxes, histograms, node clusters, word clouds and other UI elements can all be configured for specific processing, priority and timing, including selective allocation of computing resources to support each UI element.

[0099] The UI rendering engine 836 may include one or more rendering algorithms and a set of functions, parameters, and data structures for processing user input received from an associated user device and / or user interface to achieve a real-time or near real-time response to the received user input, wherein the response is a graphical rendering of a UI element in response to the received user input. In some embodiments, the UI rendering engine 836 may include a data processor 836.1 that is configured to determine different types of data represented by the UI elements and incorporate methods for processing the data accordingly.

[0100] In some embodiments, the data processor 836.1 can be configured for one or more data types, sometimes referred to as data classes, such as documents, experiments, lab notebooks, attachments, etc. The data processor 836.1 can interact with a UI control manager 836.2 (e.g., a software module) to track and manage the status of UI controls. In some embodiments, the UI rendering engine 836 can be configured for multiple data types and include a data processor trained for each data type. The data processor 836.1 can be configured to interact with other data including platform data 836.3. For example, the platform data 836.3 may include location information of UI elements, such as rendering canvas coordinates, graphic information about icons and other visual elements, and data types or classes. The UI event logic 836.4 may include multiple event conditions based on the detected data object and whether the UI event should be notified to other systems or subsystems. These event conditions may include a logical evaluation of one or more parameters from the output data, generally comparing the output data parameters with corresponding UI event threshold parameters to determine the UI event. As another example, UI event logic 836.4 may include descriptive information of UI event occurrences, such as gestures recognized, user input recognized on UI controls, such as dragging a UI element up, down, or in other directions. In some embodiments, UI control manager 836.2 may interact with control UI data 820.2 (e.g., graphical icon data for rendering purposes) stored in non-volatile memory 820. In some embodiments, platform data 836.3 may be stored in non-volatile memory 820 (e.g., a data table of metadata tags associated with uploaded data 420.1) as configuration values ​​820.3.

[0101] The UI template designer 838 can enable a template design of a user interface (UI) to represent data table values ​​838.1 corresponding to placeholder topic display values ​​838.2 from a data table 820.4 stored in the non-volatile memory 820. For example, the uploaded data 820.1 can be copied to the data table 820.4 so that placeholder topic display values ​​838.2 can be generated, such as various topic labels that have been found in the data set. The placeholder topic display values ​​838.2 can be generated by a data analysis module 840 having a data calculation engine 844 to create analyzed data values ​​844.1. For example, the uploaded data 820.1 may include data representing wording in a document, which is represented as a word-document matrix. Using system configuration values ​​838.3, which in some embodiments may correspond to configuration values ​​820.3 stored in the non-volatile memory 820, the UI template designer 838 can identify the placeholder topic display values ​​838.2 for use in a grid (e.g., Figure 3A820.3 in the non-volatile memory 820. For example, different user devices have display format values ​​838.4, such as screen resolution, number of pixels, screen size, etc.

[0102] In some embodiments, the UI template designer 838 may be configured to generate a font size value 838.5 calculated by the data calculation engine 844 in the data analysis module 840 based on the number of keywords counted in the document set, and further configured to determine a grid size value 838.6 proportional to the number of keywords. Figure 3A As shown, "coronavirus infection" is a label included in the upper left grid box, and its grid size value 838.6 is proportional to the number of counted keywords related to the label (or topic). When compared with other keywords listed in the word cloud GUI, the same label "coronavirus infection" is listed in the word cloud GUI with a font size proportional to the number of counted keywords. Therefore, the font size value 838.5 can be reflected in the font size of the topic displayed in the word cloud GUI as stored in non-volatile memory 820. In this example, the grid size value 838.6 can refer to the different sizes of each grid box in the grid, such as Figure 3A shown.

[0103] In some embodiments, the UI event logic 836.4 may include logic rules configured to trigger data analysis from the data analysis module 840. For example, the UI event logic 836.4 may be embodied in a rule engine that receives and / or maintains state information of UI elements and data table values ​​838.1, font size values ​​838.5, grid size values ​​838.6, and / or placeholder theme display values ​​838.2 to determine the color, size of the grid box, font size of the label, and / or other data analysis in response to user input at the UI event capture interface 834. In some embodiments, the UI event logic 836.4 may be configured to determine events used as triggers for generating various graphical user interface displays (e.g., cluster node GUI displays, grid GUI displays, and word cloud GUI displays). For example, the user input received at the UI event capture interface 834 may indicate that the user selects a theme in the GUI display. The selection may trigger the UI event logic 836.4 to display various GUIs using the UI event analyzer 844.3 and the data analysis module 840. In addition, the analyzed data values ​​844.1 can be presented by the topic connection manager 842. In addition, a synonym ranking generator 844.2 can be used to identify the ranking of synonyms, wherein the ranking determines the position of synonyms represented in the GUI as words or grid boxes higher than the synonyms with lower ranking. In addition, as described above, the topic connection manager 842 can generate new nodes in the cluster GUI, wherein the new nodes each represent a recently uploaded document that has counted keywords associated with the topic, wherein the cluster represents the topic. In some embodiments, the UI event logic 836.4 can generate an event notification and send it to the data display application 850 via the network to automatically generate new topic connections based on unsupervised machine learning of the clustering algorithm.

[0104] The data analysis module 840 may include multiple hardware and / or software modules configured to process or manage defined operations of the data analysis module 840 using the processor 812 and the memory 814. For example, the data analysis module 840 may include a topic connection manager 842, a data calculation engine 844, a connection discovery engine 846, and a topic distance calculator 848.

[0105] The topic connection manager 842 may include a data interface protocol and a set of functions, parameters, and data structures for managing connections between synonyms and topics based on thresholds, as described above and depicted in the associated figures. Figure 5A , each color point in display 500 represents a single data item 510a, 510b, or 510c. In various aspects, data items 510a, 510b, or 510c are not as described above with respect to Figure 4The discussed clustering is based on the number of shared controlled terms and / or semantic terms, or based on the frequency of shared controlled terms and / or semantic terms, but is displayed based on similarity to other data items. In various aspects, the similarity between two data items can be determined by the number of controlled terms and / or semantic terms they have in common. For example, the similarity can be proportional to the number of controlled terms and / or semantic terms they have in common. In various aspects, two data items with a high degree of similarity to each other can be displayed at a close distance to each other, while two data items with a low degree of similarity to each other can be displayed at a greater distance from each other.

[0106] Figure 5A Data items 510a, 510b, or 510c corresponding to different semantic wording types (e.g., drug, gene, experiment) are shown. Figure 5A In the embodiment of the present invention, data items 510a, 510b or 510c are displayed with a distance between each other, which is related to their corresponding similarity. For each given data item, other data items are ranked separately relative to the given data item based on the similarity between the given data item and each other data item. For example, any two data items can be ranked relative to each other based on the similarity between them, and any two data items share the same ranking. For example, the higher the similarity between the two data items, the higher the ranking they share. In various aspects, the similarity can be determined by the number of controlled terms and / or semantic terms shared by the data items, wherein the higher the number of controlled terms and / or semantic terms shared between the two data items, the higher the similarity between the two data items. In other aspects, the similarity can be determined by the frequency of controlled terms and / or semantic terms shared between the data items. Returning to the above illustrative example, a previously unknown or unstudied relationship between a disease (e.g., Covid) and a condition (e.g., breast cancer) can be revealed. Therefore, if two data items are close to each other or a short distance away in the display 500, the relationship between the data items representing the disease and the condition may be revealed. Discovering such potential or previously unknown connections may open new avenues for treating conditions or for research, collaboration, and investigation. Further exploration of newly revealed relationships can be accomplished by, for example, selecting various data items on the display to obtain additional information about the data items, such as Figure 5B As shown. Figure 5B , the selected data item 520a is surrounded by a plurality of other data items 520b that are in close proximity thereto and thus appears as a related data item of the data item 520b. The subject connection manager 842 manages connections between data items from different updateable sources based on the display. Thus, when a data item is updated, the display in operation 620 (e.g., Fig. 6A6 (shown) updates the location of the data item based on the update. In this way, the new distance can separate the data item from other data items, and as a result of the real-time update of the data items, new connections can be identified in real time. On the other hand, if the updated distance becomes greater than the distance threshold discussed in operation 630, the previously identified connection may now appear to be irrelevant after the data item is updated.

[0107] In some embodiments, the data analysis module 840 may include a data calculation engine 844 for generating data calculations in cooperation with user input received from the UI event capture interface 834. For example, the data calculation engine 844 may rely on the analyzed data values ​​844.1 to calculate relevant graphical data points for a cluster GUI determined by the topic distance calculator 848. As another example, the data calculation engine 844 may rely on the analyzed data values ​​844.1 to calculate relevant graphical grid size values ​​838.6 for a grid GUI based on system configuration values ​​838.3 and display format values ​​838.4. In some embodiments, the data calculation engine 844 may include a UI event analyzer 844.3 for analyzing the status of UI elements from the UI element manager 834.1, and using the UI event logic 836.4 to determine the position and font size of the wording in the word cloud GUI, as described above.

[0108] The connection discovery engine 846 may include a data interface protocol and a set of functions, parameters, and data structures for using machine learning to discover connections based on the above and FIG. 6A to FIG. 6B . Identifying a connection between two data items can be based on a ranking shared by the two data items. For example, a ranking threshold can be predefined, and a connection between the two data items can be identified when the ranking shared by any two data items is above the ranking threshold. In various aspects, a connection can be revealed during a real-time update of data items, where a connection between the two data items was not initially identified prior to the update, but becomes identifiable when at least one of the data items is updated, the update resulting in a higher ranking between the data items, and thus may become above the ranking threshold for finding a connection.

[0109] The data display application 850 may include a data interface protocol and a set of functions, parameters and data structures for managing the display of data at the user device through the user interface so as to view the user's continued interaction and view the unstructured data for the purpose of subject discovery. For example, the data display application 850 can operate a user interface on which the UI controller 830 generates a UI grid display interface 832 and uses a UI event capture interface 834 to record user input. In some embodiments, the uploaded data 820.1 appears on the data display application 850 as an interactive grid interface. In addition, the UI rendering engine 836 manages the rendering of the user interface on the data display application 850. For example, the discovery system 800 may support the continuous display and / or capture of user input at the user interface on the user device operating the data display application 850. In some embodiments, the UI display module includes a calculated data value 852.1 from the data calculation engine 844 and a graphical UI value 852.2 from the UI rendering engine. In some embodiments, the configuration value 820.3 is used by the data display application 850 to generate a user interface correctly formatted for the user device.

[0110] The data display application 850 may include interface protocols, functions, parameters, and data structures for providing a user interface to generate and modify data plans and / or display data in the discovery system 800, such as through the UI controller 830. For example, the data display application 850 may be a software application running on a user device that is integrated into the UI controller 830 and / or the data modeling platform, connected to the UI controller and / or the data modeling platform, or in network communication with the UI controller and / or the data modeling platform. In some embodiments, the data display application 850 may run on a computing device (e.g., a personal computer, mobile device, or other user device) separate from the UI controller 830. In some embodiments, the data display application 850 may be configured to interact with an API presented by the access / display manager.

[0111] In some embodiments, the data display application 850 may include a plurality of hardware and / or software modules configured to process or manage defined operations of the data display application 850 using the processor 812 and the memory 814. For example, the data display application 850 may include a UI display module 852.

[0112] The UI display module 852 may include a set of functions, parameters, and data structures for navigating and displaying data generated by the UI controller 830. For example, the UI display module 852 may include a graphical user interface and interactive controls for displaying lists, tables, thumbnails, or similar interface elements to select and display data for various purposes. In some embodiments, the UI display module 852 may enable a split-screen display of multiple data sets. This will enable the viewing user to identify different scenes with different themes that have been connected based on the underlying data, such as FIG. 5A to FIG. 5B shown.

[0113] The present disclosure describes some examples of the present technology with reference to the accompanying drawings, of which only some possible examples are shown. However, other aspects may be embodied in many different forms and should not be construed as being limited to the examples set forth herein. Instead, these examples are provided to make the present disclosure thorough and complete, and to fully convey the scope of possible examples to those skilled in the art.

[0114] Although specific examples are described herein, the scope of the present technology is not limited to those specific examples. Those skilled in the art will recognize other examples or improvements within the scope of the present technology. Therefore, specific structures, actions, or media are disclosed only as illustrative examples. According to the examples of the present technology, elements or components that are generally disclosed but not explicitly illustrated in combination may also be combined, unless otherwise stated herein. The scope of the present technology is defined by the attached claims and any equivalents thereof.

Claims

1. A method for identifying connections between data items in an updateable data repository, the method comprising: dynamically receiving a plurality of data items from the updateable data repository, the plurality of data items being provided by a plurality of updateable sources, each data item including one or more controlled phrases; displaying dynamically received data items on a display; as well as identifying, based on the display, one or more connections between data items from different updateable sources; Wherein, when the source of the dynamically received data item is updated, the dynamically received data item is updated simultaneously.

2. The method according to claim 1, wherein: For each data item, each controlled phrase defines one or more characteristics of the data item.

3. The method according to claim 1 or 2, wherein: The characteristic includes at least one of a drug, an experiment, a gene, a device, a chemical molecule, a research center, a research team, a location, and an event.

4. The method according to any one of claims 1 to 3, wherein: The data items include only controlled wording.

5. The method according to any one of claims 1 to 4, wherein: The displayed data items are separated by distances associated with similarities between the displayed data items; and The one or more connections are identified based on the distances.

6. The method according to any one of claims 1 to 5, wherein: The similarity between two data items is defined by at least one of the number and frequency of controlled phrases shared by the two data items.

7. The method according to any one of claims 1 to 6, further comprising: Define distance threshold; Wherein identifying the one or more connections comprises identifying data items separated by a distance less than the distance threshold.

8. The method according to any one of claims 1 to 7, wherein: The data items are grouped on the display into one or more clusters, the data items in each cluster sharing one of a same controlled wording and a same frequency of controlled wording.

9. The method according to any one of claims 1 to 8, wherein: The updateable data repository includes one or more laboratory electronic notebooks.

10. The method according to any one of claims 1 to 9, wherein: When the dynamically received data is updated, at least one connection is identified as a result.

11. A data connection finder, comprising: Data receiver; an updatable data repository functionally coupled to the data receiver; a display device functionally coupled to the data receiver; a processor operatively coupled to the data receiver, the updateable data repository, and the display device; as well as A memory coupled to the processor, the memory storing instructions that, when executed by the processor, perform a set of operations including: At the data receiver, dynamically receiving a plurality of data items from the updateable data repository, the plurality of data items being provided by a plurality of updateable sources, each data item including one or more controlled phrases; displaying the dynamically received data items on a display of the display device; as well as identifying, via the processor, one or more connections between data items from different updateable sources based on the display; Wherein, when the source of the dynamically received data item is updated, the dynamically received data item is updated simultaneously.

12. The data connection finder according to claim 11, wherein: On the display of the display device, the displayed data items are spaced apart by distances related to similarities between the displayed data items; as well as The one or more connections are identified based on the distances.

13. The data connection finder according to claim 11 or 12, wherein: The similarity between two data items is defined by at least one of the number and frequency of controlled phrases shared by the two data items.

14. The data connection finder according to any one of claims 11 to 13, wherein: The operation set also includes: Define distance threshold; Wherein identifying the one or more connections comprises identifying data items separated by a distance less than the distance threshold.

15. The data connection finder according to any one of claims 11 to 14, wherein: On the display of the display device, the data items are grouped into one or more clusters; as well as The data items in each cluster share the same controlled wording.

16. The data connection finder according to any one of claims 11 to 15, wherein: The updateable data repository includes one or more electronic notebooks.

17. The data connection finder according to any one of claims 11 to 16, wherein: When the dynamically received data is updated, at least one connection is identified via the processor as a result.

18. A method for identifying connections between data items in an updateable data repository, the method comprising: dynamically receiving a plurality of data items from the updateable data repository, the plurality of data items being provided by a plurality of updateable sources, each data item including one or more controlled phrases; Define similarity between data items; ranking the data items relative to each other based on similarities between the data items; as well as identifying one or more connections between data items from different updateable sources based on the ranking; Therein, when the source of a data item is updated, the data item is updated simultaneously.

19. The method according to claim 18, wherein: For each data item, each controlled phrase defines one or more characteristics of the data item.

20. The method according to claim 18 or 19, wherein: The data items include only controlled wording.

21. The method according to any one of claims 18 to 20, wherein: The similarity between two data items is defined by at least one of the number and frequency of controlled phrases shared by the two data items.

22. The method according to any one of claims 18 to 21, wherein: For each given data item, the other data items are ranked individually based on the similarity between the given data item and each of the other data items.

23. The method according to any one of claims 18 to 22, wherein: Any two data items share the same rank.

24. The method according to any one of claims 18 to 23, further comprising: Define ranking thresholds; Wherein identifying the one or more connections comprises identifying data items that share a rank higher than the rank threshold.

25. A method according to any one of claims 18 to 24, further comprising providing one or more identified connections.