Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
The term "include" and variations thereof as used herein is meant to be inclusive in an open-ended manner, i.e., "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As described above, because the system of medical knowledge is complex, the search content presented by the search method of keyword matching in the prior art is too comprehensive and responsible, and the user cannot quickly find the content needed by himself. Some of these problems can be solved by configuring the search mode of the entity sug, such as inputting: the rehabilitation guidance of the total knee joint replacement can be retrieved from two key words of the total knee joint replacement and the rehabilitation guidance, but for sug, all common combinations are traversed once by an exhaustion method, and the calculation amount is large. Meanwhile, the two schemes cannot cover synonyms and related words with similar names of Chinese and English, such as: the total knee arthroplasty, also known as TKA, cannot be covered by the above two methods. Especially for more detailed content queries targeted, it is more difficult to retrieve the required knowledge content by one or several searches.
To address, at least in part, one or more of the above issues and other potential issues, an example embodiment of the present disclosure proposes a scheme for retrieving medical data. According to the scheme, the user intention can be collected in the searching process, and more accurate searching content feedback is finally carried out on the user. The disadvantages of prior art search schemes can be optimized based on feedback. The design of this search relates the technique of adding a knowledge graph to the search sug to the heat of the entity. .
Fig. 1 shows a schematic view of a system 100 for implementing a method for retrieving medical data according to an embodiment of the invention. As shown in fig. 1, the system 100 includes acomputing device 110 and a medicaldata management device 130 and anetwork 140. Thecomputing device 110 and the medicaldata management device 130 may interact data via a network 140 (e.g., the internet).
The medicaldata management apparatus 130, which may for example store one or more pieces of medical data. The medicaldata management device 130 may also transmit the stored medical data to thecomputing device 110. Medical data management devices are for example and without limitation: electronic computers, network servers, storage calculators, and the like. The medicaldata management apparatus 130, for example, collects medical data from a plurality of sources, such as electronic medical records, written records of medical record ward rounds, medical professional documents, audio ASR (speech recognition) records, OCR (character recognition) records of medical images, and the like, and may perform classification management of one or more pieces of the collected medical data.
With respect to thecomputing device 110, for example, for acquiring medical data from the medicaldata management device 130; and receives and retrieves data to be retrieved (searched).Computing device 110 may also generate sugs and knowledge-graphs based on the retrieval. Training and retrieval of medical data may be achieved by adjusting the knowledge-graph of the retrieved medical data. Thecomputing device 110 may receive data to be retrieved (searched) from a user or the medicaldata management device 130. By applying the methods provided by the present disclosure, thecomputing device 110 may perform retrieval of data to be retrieved (searched).
Computing device 110 may have one or more processing units, including special purpose processing units such as GPUs, FPGAs, ASICs, and the like, as well as general purpose processing units such as a CPU. Additionally, one or more virtual machines may also be running on eachcomputing device 110. In some embodiments, thecomputing device 110 and the medicaldata management device 130 may be integrated or may be provided separately from each other. In some embodiments,computing device 110 includes, for example, preprocessingunit 112,association determination unit 114,atlas determination unit 116,acquisition unit 118, andretrieval unit 120.
Apreprocessing unit 112, wherein thepreprocessing unit 112 is configured to extract the obtained sentence to be retrieved as an entity text block.
Anassociation determining unit 114, theassociation determining unit 114 configured to determine an associated text block associated with the entity text block and a search heat of the associated text block.
Amap determination unit 116, themap determination unit 116 configured to determine a knowledge map associated with the entity text block based on the determined associated text block and the search heat of the associated text block.
An obtainingunit 118, where the obtainingunit 118 is configured to obtain the entity prompt words and the entity relationships of the entity text blocks based on the knowledge graph.
Aretrieval unit 120, wherein theretrieval unit 120 is configured to execute retrieval based on the obtained entity cue words and entity relations, so as to obtain medical data matched with the sentence to be retrieved.
Fig. 2 shows a flow diagram of amethod 200 for retrieving medical data according to an embodiment of the present disclosure. Themethod 200 may be performed by thecomputing device 110 as shown in FIG. 1, or may be performed at theelectronic device 800 shown in FIG. 8. It should be understood thatmethod 200 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the present disclosure is not limited in this respect.
Instep 202, thecomputing device 110 may extract the retrieved sentence to be retrieved as a solid text block.
In one embodiment, thecomputing device 110 may retrieve the sentence to be retrieved from a user or other device and extract the retrieved sentence as a solid text block. The sentence to be searched may be medical terms such as "hip joint", "hip joint dislocation", etc., or may be a daily sentence including medical terms such as "how to treat hip joint dislocation", "prevent hip joint dislocation", etc.
After obtaining the sentence to be retrieved, thecomputing device 110 may extract the entity text block from the sentence to be retrieved. The extraction may be to decompose the sentence to be retrieved into a minimum text block according to a preset decomposition rule for processing. For example, the decomposition rule may be set to the smallest medical term, and then "how to treat hip dislocation" may be extracted as three text blocks of "treat", "hip joint", "dislocation".
Atstep 204, thecomputing device 110 may determine an associated text block associated with the entity text block and a search heat for the associated text block.
In one embodiment, thecomputing device 110 may determine the associated text blocks associated with the entity text block extracted instep 202 and the search heat of the associated text blocks. For example, thecomputing device 110 may determine one or more associated text blocks "hip", "total hip replacement", "hip arthritis", "developmental hip dysplasia", "hip dislocation", etc. associated with the solid text block "hip" extracted instep 202.
In one embodiment, one or more associated text blocks each correspond to a different degree of search warmth. The manner of calculating the search heat will be described in detail below. The degree of search heat will be used to determine the appropriate knowledge map to present and the cue words (sug).
Atstep 206, thecomputing device 110 may determine a knowledge-graph associated with the entity text block based on the determined associated text block and the search heat of the associated text block.
In one embodiment, thecomputing device 110 may present the determined associated text blocks based on the search popularity of the associated text blocks determined instep 204. The user may determine the desired associated text block in an input manner. Displaying a knowledge-graph associated with the entity text block based on the determined associated text block. The determined associated text block can be an entity which is matched with the maximum possible user input vocabulary through key words and is used for developing and displaying the relation entity in the atlas.
In one embodiment, a computing device may determine a number of views of an associated text block associated with an entity text block. The number of visits may be the number of times an associated text block associated with the entity text block is selected or determined by the user. Optionally, a browsing dwell time of an associated text block associated with the entity text block may also be determined. Such as the length of time a user remains upstream of the travel time of the associated text block associated with the entity text block. And performing weighted calculation on the determined browsing times and the browsing stay time so as to determine the searching heat of the associated text block associated with the entity text block.
The search heat degree v can be calculated based on the browsing times n and the browsing stay time t. The search heat degree v may be expressed as expression (1).
v=a×n+b×t(1)
In expression (1), a is a coefficient relating to the number of times of browsing n, and b is a coefficient relating to the browsing stay time period t.
The knowledge-graph and the associated text block establishing method will be described in detail below.
In one embodiment, since the presentation area may be limited, only direct connection relationships (e.g., triple relationships) may be presented in the presentation area. The knowledge graph can display the content in the knowledge graph according to the searching degree. And displaying the relation and the entity in the knowledge graph according to the distance and the distance according to the sequence of the search heat.
In one embodiment, thecomputing device 110 may obtain a determination regarding an entity word. Based on the determination, triples associated with the knowledge-graph associated with the entity text block are determined. Thecomputing device 110 presents the triples to obtain entity cues and entity relationships associated with the knowledge graph.
Atstep 208, thecomputing device 110 may obtain the entity prompt and the entity relationship for the entity text block based on the knowledge-graph.
In one embodiment, thecomputing device 110 may obtain entity hints words (sugs) and entity relationships determined by the user in the knowledge-graph based on the determination instep 206. For example, the user may select the entity prompt word "hip dislocation reduction" in the knowledge map of "hip joint", so that the entity relationship "operation site" between "hip joint" and "hip dislocation reduction" may be obtained according to the relationship of preset values.
Instep 210, thecomputing device 110 may perform a search based on the obtained entity cue words and entity relationships, thereby obtaining medical data matching the sentence to be searched.
In one embodiment, thecomputing device 110 may perform a search based on the entity cues and entity relationships acquired instep 208 to obtain medical data. For example, in the case where the user inputs "hip joint", a search is performed based on the entity cue word "hip dislocation reduction" and the entity relationship "operation site", thereby accurately acquiring medical data.
By using the technical means, the user can quickly and accurately search the content expected by the user in huge data.
In one embodiment,method 200 may further include building a medical database including the associated text blocks and the knowledge-graph.
The medical database can be constructed to store medical contents in a data crawler mode, an editor writing mode and the like. For example, a data crawler collects documents, videos, cases, etc. with medical knowledge characteristics within a range allowed by relevant regulations, and performs certain control and classification on content quality. Furthermore, existing books and documents can be accumulated in a medical database by manipulating the writing and reading operations of editors and collaborating doctors. The contents obtained by different modes are uniformly put into a medical database for management.
Meanwhile, the knowledge graph can be constructed through data mining. For example, medical entity recognition is performed on the basis of existing data, relationship extraction, synonym mining and normalization are performed, and medical data including the knowledge graph are constructed through review by professionals. The knowledge graph can also be constructed by manually combing the data by professionals, for example, by a management platform of the knowledge graph to record the data into a database. In the present disclosure, the knowledge graph is mainly an entity and an entity relationship, and is managed by a graph database storage manner.
The knowledge graph used in the present disclosure may be one type of NoSQL database, such as Neo4J graph database, arango db graph database, OrientDB graph database, FlockDB graph database, graph db graph database, InfiniteGraph graph database, Titan graph database, Cayley graph database, and the like. A knowledge graph is a non-relational database, which may also be referred to as a graph-oriented/based database. The basic meaning of a knowledge graph is to store and query data in a data structure such as a "graph". The data model is mainly embodied by nodes and edges, and compared with the traditional relational database, the method has the advantage of quickly solving complex relational problems, such as interpersonal relations in the social network.
Based on the established medical database and knowledge graph, the associated text block can be constructed. The associated text box may be implemented by a numeric tag. The tags are extracted from the entities of the knowledge graph, which contains resource tags, possibly entity names or entity aliases. The solid text blocks (e.g., "hip joints") may be mapped to one or more associated text blocks belonging to a knowledge map or medical data (e.g., "hip joints," "total hip arthroplasty," "hip arthritis," "developmental hip dysplasia," "hip dislocation"), etc. by labels, the mapping may be 1 to 1, 1 to N, N to 1.
By the technical means, data in a huge medical database can be correlated and stored in a knowledge map mode. This allows the user to expand the comprehensiveness of the search while reducing the noise of the search.
FIG. 3 illustrates a flow diagram of amethod 300 of determining a knowledge-graph associated with an entity text block in accordance with an embodiment of the present disclosure. Themethod 300 may be performed by thecomputing device 110 as shown in FIG. 1, or may be performed at theelectronic device 800 shown in FIG. 8. It should be understood thatmethod 300 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
Instep 302, thecomputing device 110 may perform a ranking of the determined search heat of the associated text blocks.
In one embodiment, thecomputing device 110 may perform ranking on the determined search heat of the associated text blocks. For example, thecomputing device 110 may perform an ordering of the search heat determined above for the one or more associated text blocks "hip," "total hip replacement," "hip arthritis," "developmental hip dysplasia," "hip dislocation," as determined for the strip search text block "hip".
Atstep 304, thecomputing device 110 may present the associated text block based on the results of the ranking.
In one embodiment, thecomputing device 110 may present the associated text block based on the results of the search popularity ranking. For example, thecomputing device 110 may present the associated text blocks according to the ranked results of the search heat of the one or more associated text blocks "hip," "total hip replacement," "hip arthritis," "developmental hip dysplasia," "hip dislocation" instep 302. For example, the associated text block of the top three of the hotness is shown as the entity cue word.
Atstep 306, thecomputing device 110 may obtain a selection of one of the plurality of associated text blocks.
In one embodiment, the user may select the related entity prompt and thecomputing device 110 may obtain a selection for one of the plurality of associated text blocks. That is, one or more of the associated text blocks "hip", "total hip replacement", "coxitis", "developmental hip dysplasia", "hip dislocation" are determined as the solid text blocks that the user wants to search for.
Atstep 308, thecomputing device 110 may determine the knowledge-graph of the selected one of the entity text blocks as the knowledge-graph associated with the entity text block.
In one embodiment, thecomputing device 110 may determine the knowledge-graph of the one entity text block selected instep 306 to be the knowledge-graph associated with the entity text block and present the knowledge-graph.
By the technical means, a user can determine a desired search target through the prompt words during searching, so that the database content is further displayed through the knowledge graph.
FIG. 4 shows a flow diagram of amethod 400 of presenting the associated text blocks based on the ranking results, in accordance with an embodiment of the present disclosure. Themethod 400 may be performed by thecomputing device 110 as shown in FIG. 1, or may be performed at theelectronic device 800 shown in FIG. 8. It should be understood thatmethod 400 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
Atstep 402, thecomputing device 110 may present a knowledge-graph of the associated text blocks that are most popular in search, where the knowledge-graph includes a plurality of entity text blocks.
In one embodiment, thecomputing device 110 may directly present a knowledge-graph of the associated text blocks that are most highly searched, wherein the knowledge-graph includes a plurality of entity text blocks. For example, when searching for "hip joint", the knowledge graph of the associated text block "hip joint" with the highest search heat is directly shown.
FIG. 5 shows a schematic diagram of a knowledge-graph according to an embodiment of the present disclosure. As shown, thecomputing device 110 may present a knowledge-graph of the associated text block with the highest degree of search, "hip", wherein the knowledge-graph includes a plurality of entity text blocks, such as "hip dislocation," "hip replacement," "muscle strength check," and the like. Entity text blocks in the knowledge-graph may be selected to search for more entities related to the associated text block. The knowledge graph can be enlarged and reduced through two fingers and can be moved by a single finger.
Specifically, the knowledge graph may adopt a dynamic human-computer interaction mode: the main view displays a page after a keyword such as 'hip joint' input in the input box is searched, and displays associated keywords and a corresponding knowledge graph, wherein an entity 'hip joint' corresponding to the keyword 'hip joint' is in a selected state; clicking 'view details' in the main view, and converting the main view into an interface change state. Displaying the expanded knowledge graph for the user to select entities in the knowledge graph; the knowledge graph in the interface change state can be zoomed through double-finger operation, for example, the knowledge graph in the interface change state is zoomed by double-finger operation near the entity 'supine position traction', the interface change state is converted into other interface change states, and the locally zoomed knowledge graph is displayed so that a user can click to perform selection operation conveniently; the user may select related entities in the knowledge graph as desired, e.g., clicking on the entity "supine traction" will present the user with search results based on "hip joints" and "supine traction".
Atstep 404, thecomputing device 110 may obtain a selection of one of the plurality of entity text blocks.
In one embodiment, thecomputing device 110 may obtain a selection of one of the plurality of entity text blocks. For example, in fig. 5, thecomputing device 110 may obtain user selection results regarding "supine position traction" of other entity text blocks in the knowledge-graph to further present the knowledge-graph of the other entity text blocks or to present search results in which the searched text block is associated with the other entity text blocks.
Atstep 406, thecomputing device 110 may determine the knowledge-graph of the selected one of the entity text blocks as the knowledge-graph associated with the entity text block.
In one embodiment, thecomputing device 110 may determine the knowledge-graph of the selected one entity text block as the knowledge-graph associated with the entity text block. For example, in fig. 5,computing device 110 may obtain a user's selection of the other entity text block "supine traction" in the knowledge-graph, thereby expanding the knowledge-graph of "supine traction". The user may continue to select a desired search target in the expanded knowledge graph. The knowledge-map may also be returned to the knowledge-map of the previously associated text block "hip" if there is no desired search target.
By the technical means, the user can determine the expected search target through the knowledge graph during searching, so that the database content is further determined through the knowledge graph.
FIG. 6 illustrates a flow diagram of amethod 600 of determining entity cues according to an embodiment of the disclosure. Themethod 600 may be performed by thecomputing device 110 as shown in FIG. 1, or may be performed at theelectronic device 800 shown in FIG. 8. It should be understood thatmethod 600 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
Atstep 602, thecomputing device 110 may perform ranking on the determined search heat of the associated text blocks.
In one embodiment,computing device 110 may perform the search directly outside of the knowledge-graph by relying on the cue words. For example, thecomputing device 110 may perform ranking on the determined search heat of the associated text blocks. For example, the search heat of one or more associated text blocks "hip", "total hip replacement", "coxitis", "developmental hip dysplasia", "hip dislocation", etc. is determined.
Atstep 604, thecomputing device 110 may determine the associated text block as an entity cue based on the results of the search hotness ranking.
In one embodiment, thecomputing device 110 may determine the associated text block as an entity cue based on the results of the search hotness ranking. For example, three related text blocks with top search heat in one or more related text blocks "hip", "total hip replacement", "coxitis", "developmental hip dysplasia", "hip dislocation", and the like may be determined as entity cues. The entity prompt words can be displayed after the words are input for the user to select.
Atstep 606, thecomputing device 110 may perform a search based on the entity cues determined by the search heat ranking and the entity relationships of the knowledge-graph to obtain medical data.
In one embodiment, thecomputing device 110 may perform the retrieval by the user selected entity prompt and the entity relationships in the associated or other selected knowledge-graph to obtain the medical data in the database. For example, the medical data in the database may be searched based on the cue word of "hip dislocation" and the entity relationship of "operation site", so as to accurately obtain the search result.
FIG. 7 shows a flowchart of amethod 700 of performing a search based on an obtained entity hint and an entity relationship, in accordance with an embodiment of the present disclosure. Themethod 700 may be performed by thecomputing device 110 as shown in FIG. 1, or may be performed at theelectronic device 800 shown in FIG. 8. It should be understood thatmethod 700 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the present disclosure is not limited in this respect.
Atstep 702, thecomputing device 110 may retrieve a tag associated with the entity cue.
In one embodiment, thecomputing device 110 determines the tag associated with the entity text block or entity cue to be retrieved based on determining the tag in the above-described method.
Atstep 704, thecomputing device 110 may retrieve the entity relationship associated with the tag.
In one embodiment, thecomputing device 110 may retrieve the entity relationship associated with the tag determined instep 702.
Atstep 706, thecomputing device 110 may feed back search results associated with the entity cue and entity relationships.
In one embodiment, thecomputing device 110 may feed back results based on the search associated with the entity hint words and based on the entity relationships, respectively, to obtain search results more broadly and reduce search omission.
Fig. 8 illustrates a schematic block diagram of an exampleelectronic device 800 that can be used to implement embodiments of the present disclosure. For example, thecomputing device 110 as shown in fig. 1 may be implemented by theelectronic device 800. As shown, theelectronic device 800 includes a Central Processing Unit (CPU) 801 that may perform various appropriate actions and processes according to computer program instructions stored in a Read Only Memory (ROM) 802 or loaded from a storage unit 808 into a Random Access Memory (RAM) 803. In therandom access memory 803, various programs and data required for the operation of theelectronic apparatus 800 can also be stored. The central processing unit 801, the read onlymemory 802 and therandom access memory 803 are connected to each other by a bus 804. An input/output (I/O)interface 805 is also connected to bus 804.
A plurality of components in theelectronic apparatus 800 are connected to the input/output interface 805, including: aninput unit 806, such as a keyboard, a mouse, a microphone, and the like; anoutput unit 807 such as various types of displays, speakers, and the like; a storage unit 808, such as a magnetic disk, optical disk, or the like; and a communication unit 809 such as a network card, modem, wireless communication transceiver, etc. The communication unit 809 allows thedevice 800 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The various processes and processes described above, such asmethods 200, 300, 400, 600, and 700, may be performed by the central processing unit 801. For example, in some embodiments,methods 200, 300, 400, 600, and 700 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 808. In some embodiments, some or all of the computer program can be loaded and/or installed ontodevice 800 via read onlymemory 802 and/or communications unit 809. When loaded into therandom access memory 803 and executed by the central processing unit 801, the computer program may perform one or more of the actions of themethods 200, 300, 400, 600, and 700 described above.
The present disclosure relates to methods, apparatuses, systems, electronic devices, computer-readable storage media and/or computer program products. The computer program product may include computer-readable program instructions for performing various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge computing devices. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.