Dynamic Faceted Ranking

Supervised machine learning algorithms dynamically generate and rank facets, addressing inefficiencies and errors in current techniques by enhancing the accuracy and speed of search results through automated facet generation and ranking.

JP7805073B2Active Publication Date: 2026-01-23INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023538129
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-22
Filing Date
2021-10-19
Publication Date
2026-01-23
Estimated Expiration
2041-10-19

AI Technical Summary

Technical Problem

Current facet generation techniques are manual and unsupervised, leading to inefficiencies and human errors in generating and ranking facets, which affects the accuracy and speed of search results.

Method used

Implementing supervised machine learning algorithms to dynamically generate and rank facets based on a pre-stored taxonomy database, using a search engine algorithm to analyze queries, and employing a facet selection algorithm to determine similarity and prioritize facets for display on a user interface.

Benefits of technology

This approach enhances the efficiency of facet generation and reduces human error, providing accurate and dynamic ranking of search results without manual intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007805073000001
    Figure 0007805073000001
  • Figure 0007805073000002
    Figure 0007805073000002
  • Figure 0007805073000003
    Figure 0007805073000003
Patent Text Reader

Abstract

A computer system, computer program product, and method are provided, the method including: analyzing an executed query by identifying a plurality of index markers based on a pre-stored taxonomy database associated with the executed query; generating a plurality of facets based on the analysis of the executed query, where the generated plurality of facets are search results; selecting at least two facets in the generated plurality of facets by determining a quantitative similarity value between each facet and a plurality of identified index markers associated with the executed query; dynamically ranking the selected facets by prioritizing the selected facets using a supervised machine learning algorithm based on a calculated overall score associated with an assigned weighted value for each selected facet in the generated plurality of facets; and displaying the dynamically ranked facets in a user interface of a computing device associated with a user.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of ranking techniques, and more specifically to dynamic facet ranking techniques. [Background technology]

[0002] Search filters are specific product attributes, such as size, color, price, or brand, that viewers can use to narrow search results for a particular category listing. Applying multiple filters allows for broad product selection and narrowing down to a narrower selection, and allows end users to obtain the most relevant search results based on the selected criteria. Filters are advanced tools that help users find information. Filters analyze a given set of content and filter out items that do not meet certain conditions.

[0003] Faceted navigation extends the idea of ​​filters to more complex structures that attempt to describe all the different aspects of an object to maximize flexibility in information retrieval. Ideally, faceted navigation offers multiple filters, one for each different aspect of the content. Faceted navigation is more flexible and useful than systems that offer only one or two different types of filters, especially for very large content sets. Summary of the Invention [Means for solving the problem]

[0004] Embodiments of the present invention provide computer systems, computer program products, and methods, which include analyzing an executed query by identifying a plurality of indicative markers based on a pre-stored taxonomy database associated with the executed query; generating a plurality of facets based on the analysis of the executed query, where the generated plurality of facets are search results; selecting at least two facets from the generated plurality of facets by determining a quantitative similarity value between each facet and a plurality of identified indicative markers associated with the executed query; dynamically ranking the selected facets by prioritizing the selected facets using a supervised machine learning algorithm based on a calculated overall score associated with an assigned weighted value for each selected facet in the generated plurality of facets; and displaying the dynamically ranked facets within a user interface of a computing device associated with a user. [Brief explanation of the drawings]

[0005] [Figure 1] FIG. 1 is a functional block diagram illustrating an environment having a computing device connected to or in communication with another computing device in accordance with at least one embodiment of the present invention. [Figure 2] FIG. 2 is a flowchart diagram illustrating operational steps for dynamically ranking facets using a supervised machine learning algorithm in accordance with at least one embodiment of the present invention. [Figure 3] FIG. 3 is an exemplary diagram illustrating dynamic ranking facets within a query in accordance with at least one embodiment of the present invention. [Figure 4] FIG. 4 illustrates a block diagram of components of a computing system within the computing display environment of FIG. 1 according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0006] Embodiments of the present invention recognize the need for improvements to facet generation techniques because facet generation remains manual and unsupervised. A facet is a classification of data based on an executed query. For example, a filter that supports a query in a database is an example of a facet. Current facet generation techniques manually generate facets for documents as annotations or tags before creating a document index, which increases the time it takes to generate facets and reduces the efficiency of the facet generation techniques. Furthermore, current facet generation techniques require manual effort to generate facets, which is an unsupervised task and therefore allows for unnecessary errors, particularly human error. Facet generation techniques typically have a ranking process that is also unsupervised, thereby introducing unnecessary errors due to human error. Embodiments of the present invention improve the efficiency of current facet generation techniques by dynamically generating facets and dynamically ranking the generated facets. Embodiments of the present invention use supervised machine learning algorithms to dynamically generate facets and dynamically rank the generated facets, thereby eliminating unnecessary errors, particularly human error. An embodiment of the present invention includes receiving data in the form of an executed query; analyzing the received data using a search engine algorithm; generating a plurality of facets based on the analysis of the received data using the search engine algorithm, wherein the generated plurality of facets are defined as results; dynamically selecting at least two facets from the generated plurality of facets using a facet selection algorithm; dynamically ranking the selected facets from the generated plurality of facets using a supervised machine learning algorithm; and dynamically ranking the generated facets by displaying the dynamically ranked facets on a user interface of a computing device.

[0007] 1 is a functional block diagram of a computing environment 100 according to an embodiment of the present invention. The computing environment 100 includes a computing device 102 and a server computing device 108. The computing device 102 and the server computing device 108 may be desktop computers, laptop computers, dedicated computer servers, smartphones, wearable technology, or any other computing devices known in the art. In some embodiments, the computing device 102 and the server computing device 108 may represent computing devices that utilize multiple computers or components to function as a single pool of seamless resources when accessed over a network 106. In general, the computing device 102 and the server computing device 108 may represent any electronic device or combination of electronic devices capable of executing machine-readable program instructions, as described in more detail with respect to FIG. 4.

[0008] The computing device 102 may include a program 104. The program 104 may be a standalone program on the computing device 102. In another embodiment, the program 104 may be stored on the server computing device 108. In this embodiment, the program 104 improves the efficiency of the facet generation technique by dynamically ranking the generated facets using a supervised machine learning algorithm, and eliminates unnecessary errors, particularly human error, using a supervised machine learning algorithm, a facet selection algorithm, a search engine algorithm, and an artificial intelligence algorithm. In this embodiment, the program 104 dynamically ranks the generated facets by receiving data in the form of an executed query. In this embodiment, the program 104 defines a query as a search for information in a database. The program 104 then analyzes the received data by identifying index markers associated with the received data using a search engine algorithm. In this embodiment, the program 104 defines an index marker as a factor that assists in classifying the received data in the database. In another embodiment, the program 104 defines an index marker as an embedding vector. Next, program 104 generates a plurality of facets based on an analysis of the received data using a search engine algorithm, where the generated plurality of facets is defined as a result. In this embodiment, program 104 defines a facet as a dynamic classification or annotation associated with the received data. Next, program 104 dynamically selects at least two facets from the generated plurality of facets using a facet selection algorithm. In this embodiment, program 104 dynamically selects at least two facets based on the determined similarity among the plurality of facets. In this embodiment, program 104 defines dynamic selection as training a model associated with classifying the received data based on the analysis.For example, the program 104 dynamically selects facets based on each of the topic classification and the type classification. The program 104 then assigns a weighted value to each index marker associated with each selected facet, calculates an overall score by summing the weighted values ​​assigned for the index markers, and dynamically ranks the selected facets within the generated facets by prioritizing the selected facets based on the calculated overall score for each selected facet using a supervised machine learning algorithm. The program 104 then displays the dynamically ranked facets on a user interface of the computing device 102. In another embodiment, the program 104 stores the dynamically ranked facets in the server computing device 108 via the network 106.

[0009] In another embodiment, program 104 transmits the received data in the form of the executed query to a search engine module (not shown) to analyze the received data for a plurality of identified index markers. In this embodiment, program 104 transmits instructions to the search engine module to identify index markers in the received data using a search engine algorithm.

[0010] In another embodiment, program 104 sends the generated plurality of facets to a facet selection module (not shown) to dynamically select at least two facets in the generated plurality of facets that meet or exceed a predetermined threshold of similarity. In this embodiment, program 104 sends instructions to the facet selection module to dynamically select at least two facets in the generated plurality of facets using a facet selection algorithm based on the determined similarity between the at least two facets and the executed query.

[0011] In another embodiment, program 104 sends the selected facets in the generated plurality of facets to a facet ranker module (not shown), which dynamically ranks the selected facets based on the calculated overall scores associated with each facet. In this embodiment, program 104 sends instructions to the facet ranker module to dynamically rank the selected facets by prioritizing the selected facets based on the calculated overall scores of each selected facet using a supervised machine learning algorithm.

[0012] Network 106 can be a local area network (LAN), a wide area network (WAN), such as the Internet, or a combination of the two, and can include wired, wireless, or fiber optic connections. In general, network 106 can be any combination of connections and protocols that support communication between computing device 102 and server computing device 108, and specifically, programs 104, in accordance with a desired implementation of the present invention.

[0013] The server computing device 108 communicates with the computing device 102 via the network 106 and stores the plurality of generated facets. In another embodiment, the server computing device 108 stores the program 104. In another embodiment, the server computing device 108 stores a database (not shown). The server computing device 108 may be a single computing device, a laptop, a cloud-based collection of computing devices, a collection of servers, and other known computing devices. In this embodiment, the server computing device 108 may communicate with the computing device 102. In another embodiment, the server computing device 108 may communicate with the program 104. In another embodiment, the program 104 may store a database of executed queries, generated facets, and ranked facets within the server computing device 108.

[0014] FIG. 2 is a flowchart diagram 200 illustrating operational steps for dynamically ranking facets using a supervised machine learning algorithm in accordance with at least one embodiment of the present invention.

[0015] In step 202, program 104 receives data from a user. In this embodiment, program 104 receives data from a user in the form of an executed query. In this embodiment, and in response to receiving data associated with the user's personal information, program 104 receives an opt-in / opt-out permission from the user before receiving data associated with the user. For example, program 104 receives clothing data based on an executed query of a clothing manufacturer database.

[0016] In step 204, program 104 analyzes the received data. In this embodiment, program 104 analyzes the received data by identifying a plurality of index markers associated with the executed query in the received data using a search engine algorithm. In this embodiment, program 104 defines the index marker as a classification of data in the received data. In this embodiment, a classification is defined as information that distinguishes one index marker from the rest of the index markers in the plurality of index markers. For example, program 104 identifies the make, model, and number of seats of the automobile as a classification of automobiles. In another embodiment, program 104 analyzes the received data by identifying a classification based on the executed query associated with the received data. For example, program 104 identifies "sweater" as an index marker in the executed query of a database of clothing manufacturers and "slacks" as another index marker in the executed query of a database of clothing manufacturers, and the identified "sweater" and "slacks" are index classifications of clothing. In another example, the program 104 identifies the color, make, and model as indicia markers for an automobile.

[0017] In step 206, program 104 generates a plurality of facets based on the analysis of the received data. In this embodiment, program 104 defines the generated plurality of facets as results of the executed query associated with the received data. In this embodiment, program 104 generates the plurality of facets by matching at least one of the identified index markers to the executed query associated with the user's received data using a search engine algorithm. For example, program 104 matches a black index marker in an automobile database to the executed query for a black sedan using the search engine algorithm. In this embodiment, program 104 identifies requested information within the executed search and determines a positive match between at least one facet and at least one index marker within the plurality of facets by identifying requested information within the executed search and information associated with the requested information within the results. For example, program 104 may execute a query for sneakers in a clothing manufacturer database and generate a color annotation, a size annotation, and a style annotation as facets associated with the executed query, where each facet further categorizes the results of the executed query by providing information associated with each generated facet.

[0018] In another embodiment, program 104 generates multiple facets associated with each submitted query. In this embodiment, program 104 divides the submitted query into key terms, and program 104 generates multiple facets for each key term associated with the submitted query. In this embodiment, program 104 identifies key terms in the submitted query by analyzing the submitted query for a predetermined set of terms based on a pre-stored database of terms associated with the generated facets. In this embodiment, and in response to identifying key terms, program 104 isolates the key terms and generates multiple facets for each isolated key term. For example, program 104 analyzes the submitted user query as "black sedan," and program 104 generates multiple facets associated with the key terms black and car, and multiple facets associated with another key term, four-door car. In this example, color and number of doors are within the predetermined set of terms in the pre-stored database associated with the generated facets. In another embodiment, program 104 generates a plurality of facets based on a search for relevant documents for an executed query executed by program 104. In this embodiment, program 104 defines relevant documents as documents that contain topic and type information that matches within the document as the executed query.

[0019] In step 208, program 104 dynamically selects at least two facets from the generated plurality of facets. In this embodiment, program 104 dynamically selects at least two facets from the generated plurality of facets by using a facet selection algorithm to determine a quantified similarity between the generated plurality of facets and the analysis of the executed query. In this embodiment, program 104 defines at least two facets from the generated plurality of facets as dynamic because they are selected without human input and constantly change based on the executed query. In this embodiment, program 104 establishes a similarity threshold associated with the executed query and determines a quantified similarity by matching each facet with the plurality of identified indicator markers associated with the executed query. In this embodiment, each positive match is assigned a value of 1, and each unsuccessful match is assigned a value of zero. For example, a positive match of color receives a value of 1, a positive match of manufacturer origin receives a value of 1, a positive match of sedan receives a value of 1, and an unsuccessful match of rear-wheel drive receives a value of zero. In this example, program 104 determines that the value associated with the executed query is 3 based on an aggregation of the positive match values ​​associated with each determined similarity for each facet. In this embodiment and in response to aggregating the assigned values ​​associated with the determined similarity for each facet, program 104 dynamically selects at least two facets that meet or exceed a predetermined threshold of similarity. In this embodiment, the predetermined threshold of similarity is defined as an aggregated value of 2. For example, program 104 dynamically selects a facet associated with color due to its similarity to the executed query of "black sedan" according to type and topic, and dynamically selects a facet associated with texture due to its similarity to the executed query of "wool socks" according to type and topic.

[0020] In another embodiment, the program 104 trains a facet selection module by determining a quantified similarity within each facet, identifying a plurality of features associated with search results based on the executed query, where the search results are based on the determined similarity within each facet, and dynamically selecting at least two identified features within each facet based on a knowledge graph score using a facet selection algorithm. In this embodiment, the knowledge graph score is defined as the identified features having a calculated strength of relationship between each identified feature and the determined similarity for each facet. In another embodiment, the knowledge graph score has been derived using techniques that are the subject of other disclosures, such as dimension reduction techniques, when the number of identified features and the number of facets are very large. Examples of identified features associated with the search results are the proportion of document titles that contain a facet, the proportion of document text that contains a facet, a Boolean indicating the frequency of the facet in the title, a Boolean indicating the frequency of the facet in the document text, and the minimum index of a facet in the text across all returned results. In this embodiment, the program 104 trains the facet selection module by continually updating it based on selected features that have a predetermined knowledge graph score.

[0021] In step 210, program 104 dynamically ranks the selected facets using a supervised machine learning algorithm. In this embodiment, program 104 dynamically ranks the selected facets in the generated plurality of facets by assigning a weighted value to each index marker associated with each facet in the generated plurality of facets, calculating an overall score by summing the assigned weighted values ​​of the index markers for each facet in the generated plurality of facets, and prioritizing the selected facets based on the calculated overall score of each facet. In this embodiment, program 104 defines the above action as dynamic because program 104 selects at least two facets in the generated plurality of facets without human input and constantly changes based on the executed query. In this embodiment, program 104 receives user preferences associated with the plurality of index markers, where the ranking of the user preferences changes the assigned weight value of each index marker in the plurality of markers. For example, program 104 assigns a value of 1 to the type, topic, word, and feature matches for facet A and calculates an overall score for facet A as 4. In this example, program 104 assigns a value of 1 to the type and topic matches for facet B and calculates an overall score for facet B as 2. In this example, program 104 dynamically ranks facet A in a higher priority order than facet B based on the calculated overall score for facet A being greater than the calculated overall score for facet B. In another example, program 104 receives a user preference that prioritizes the type facet over the word facet. In this example, program 104 assigns a weighted value of 3 to the positive matches for the type facet and a weighted value of 2 to the positive matches for the word facets.

[0022] In this embodiment, program 104 assigns a weight value to each identified index marker associated with each facet by quantifying each match with the identified index marker associated with the executed query. In this embodiment, each match is assigned a weighted value of 1. In other embodiments, and in response to receiving additional information from the user that a particular index marker has a higher priority than the rest of the identified index markers, matches of that particular index marker are assigned a weighted value greater than 1.

[0023] In this embodiment, and in response to assigning weighted values ​​to the identified index markers, program 104 uses an artificial intelligence algorithm to calculate an overall score for the selected facet by summing the assigned weighted values ​​of the index markers for each facet in the generated facets. In another embodiment, program 104 calculates the overall score based on knowledge graph features associated with a facet rank module that assigns values ​​to a plurality of dimensional vectors associated with the executed query. In this embodiment, the calculated overall score is proportional to the strength of the relationship between the index markers associated with each facet and the index markers associated with the executed query. In another embodiment, program 104 defines the strength of the relationship as a quantified similarity. In this embodiment, a knowledge graph is defined as a collection of interlinked descriptions of entities, objects, events, or concepts.

[0024] In this embodiment, program 104 prioritizes the selected facets based on the calculated overall scores of the selected facets. In this embodiment, program 104 prioritizes the selected facets by using a supervised machine learning algorithm to position selected facets with higher calculated overall scores higher than selected facets with lower calculated overall scores. In this embodiment, program 104 defines supervised machine learning as a machine learning task that learns a function that maps inputs to outputs based on example input and output pairs and infers the function from labeled training data consisting of a set of training examples. In another embodiment, and in response to sending the selected facets to a facet ranker module, program 104 sends instructions to the facet ranker module to dynamically rank the selected facets based on the calculated overall scores associated with each facet using a supervised machine learning algorithm.

[0025] In step 212, program 104 displays the ranked and selected facets within a user interface stored on computing device 102. In this embodiment, program 104 displays the ranked and selected facets within the user interface as display output. In this embodiment, program 104 defines display output as output on an electronic display, or a hardcopy printout, or other auxiliary display that takes into account display elements related to the executed query associated with the user. For example, program 104 displays the ranked facets as prompted labels within a clothing manufacturer database that assists a user in interacting with the database and identifying items that meet or exceed a predetermined threshold of similarity to the user's initial executed query.

[0026] 3 is an exemplary diagram illustrating dynamic ranking facets within a query in accordance with at least one embodiment of the present invention. In this embodiment, search engine module 302, facet selection module 304, and facet ranker module 306 are within program 104. In another embodiment, program 104 communicates with search engine module 302, facet selection module 304, and facet ranker module 306, respectively, as depicted in FIG. 3.

[0027] In FIG. 3 , the search engine module 302 receives instructions from the program 104 to analyze submitted data from a user. In this embodiment, the program 104 sends instructions to the search engine module 302 to identify index markers in the submitted data associated with the user using a search engine algorithm. In this embodiment, the submitted data is defined as an executed query. In this embodiment, the program 104 generates a plurality of facets based on the analysis of the submitted data by the search engine module 302. The program 104 then sends instructions to the facet selection module 304 to select at least two facets from the generated plurality of facets. In this embodiment, the program 104 sends instructions to the facet selection module 304 to dynamically select at least two facets by using a facet selection algorithm to determine a quantified similarity of a plurality of identified index markers associated with each facet to a plurality of identified index markers associated with the executed query. The program 104 then sends instructions to the facet ranker module 306 to dynamically rank the selected facets. In this embodiment, program 104 sends instructions to facet ranker module 306 to dynamically rank the selected facets within the generated plurality of facets by prioritizing the selected facets based on the calculated overall score associated with each facet within the generated plurality of facets using a supervised machine learning algorithm. Program 104 then displays the dynamically ranked facets within a user interface on computing device 102.

[0028] 4 illustrates a block diagram of components of a computing system within computing environment 100 of FIG. 1, in accordance with one embodiment of the present invention. It should be understood that FIG. 4 is only provided as an illustration of one implementation and is not intended to imply any limitation with regard to the environments in which different embodiments may be implemented. Many modifications to the illustrated environment may be made.

[0029] The programs described herein are identified based on the application in which they are implemented in particular embodiments of the invention. However, it should be understood that any particular program nomenclature herein is used merely for convenience, and therefore the present invention should not be limited to use in any particular application specified or implied, or specified and implied, by such nomenclature.

[0030] Computing system 400 includes a communications fabric 402 that provides communications between cache 416, memory 406, persistent storage device 408, communications unit 412, and one or more input / output (I / O) interfaces 414. Communications fabric 402 can be implemented with any architecture designed to pass data or control information, or a combination thereof, between processors (e.g., microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system. For example, communications fabric 402 can be implemented with one or more buses or crossbar switches.

[0031] Memory 406 and persistent storage 408 are computer-readable storage media. In this embodiment, memory 406 comprises random access memory (RAM). In general, memory 406 can comprise any suitable volatile or non-volatile computer-readable storage medium. Cache 416 is high-speed memory that improves the performance of one or more computer processors 404 by retaining recently accessed data and data near recently accessed data from memory 406.

[0032] The program 104 may be stored in persistent storage 408 and in memory 406 for execution by one or more of the respective computer processors 404 via cache 416. In one embodiment, persistent storage 408 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 408 may include a solid-state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0033] The media used by persistent storage 408 may also be removable. For example, a removable hard disk may be used for persistent storage 408. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage 408.

[0034] Communications unit 412, in these examples, provides for communication with other data processing systems or devices. In these examples, communications unit 412 includes one or more network interface cards. Communications unit 412 may provide communications through the use of either or both physical and wireless communications links. Programs 104 may be downloaded to persistent storage 408 via communications unit 412.

[0035] One or more I / O interfaces 414 enable input and output of data to and from mobile devices, approval devices, or other devices that may be connected to the server computing device 108, or a combination thereof. For example, the I / O interface 414 may provide connection to an external device 420, such as a keyboard, keypad, touchscreen, or any other suitable input device, or a combination thereof. The external device 420 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, such as the program 104, may be stored on such portable computer-readable storage media and loaded onto the persistent storage device 408 via the one or more I / O interfaces 414. The one or more I / O interfaces 414 also connect to a display 422.

[0036] Display 422 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.

[0037] The present invention may be a method or a computer program product, or a combination thereof. The computer program product may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0038] The computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. The computer-readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. A non-exhaustive list of more specific examples of the computer-readable storage medium includes 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 disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as a punch card or a ridge structure in a groove in which instructions are recorded, or any suitable combination thereof. As used herein, the computer-readable storage medium should not be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted over an electrical wire.

[0039] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing device / 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, or a wireless network, or a combination thereof. The network may be comprised of copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing device / processing device receives the computer-readable program instructions from the network and transmits the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing device / processing device.

[0040] The computer-readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, such as object-oriented programming languages, e.g., Smalltalk, C++, etc., or conventional procedural programming languages ​​(e.g., the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, partially on the user's computer as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any kind of network, such as a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., over the Internet using an Internet Service Provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), may execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuitry to perform aspects of the invention.

[0041] Aspects of the present invention are described herein with reference to flowchart illustrations or block diagrams, or combinations thereof, of methods, apparatus (systems), and computer program products or computer programs according to embodiments of the invention. It will be understood that each block of the flowchart illustrations or block diagrams, or combinations thereof, and combinations of blocks in the flowchart illustrations or block diagrams, or combinations thereof, can be implemented by computer-readable program instructions.

[0042] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts identified in one or more blocks of the flowchart diagrams or block diagrams, or a combination thereof, to produce a machine. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer-programmable data processing apparatus or other device, or a combination thereof, to function in a particular manner, such that a computer-readable storage medium having stored instructions includes an article of manufacture including instructions that implement aspects of the functions / acts identified in one or more blocks of the flowchart diagrams or block diagrams, or a combination thereof.

[0043] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device such that the instructions, which execute on the computer, other programmable data processing apparatus, or other device, implement the functions / acts identified in one or more blocks of the flowchart diagrams or block diagrams, or a combination thereof, to cause the computer, other programmable apparatus, or other device to perform a series of operational steps to generate a computer-implemented process.

[0044] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products or computer programs according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing one or more specified logical functions. In some alternative implementations, the functions shown in the blocks may occur out of the order shown in the figures. For example, two blocks shown in succession may actually be accomplished as a single step performed simultaneously, substantially simultaneously, partially, or fully in a time-overlapping manner, depending on the functionality involved, or the blocks may be performed in the reverse order. It should be noted that each block of the block diagrams or flowchart diagrams or combinations thereof, and combinations of multiple blocks in the block diagrams or flowchart diagrams or combinations thereof, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations, or may execute a combination of special-purpose hardware and computer instructions.

[0045] The description of various embodiments of the present invention has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terms used in this specification have been selected to best explain the principles of the embodiments, practical applications, or technical improvements over technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-implemented method comprising: receiving data from a user in the form of an executed query and analyzing the received data by identifying a plurality of index markers associated with the executed query in the received data, wherein identifying the plurality of index markers is performed by identifying the index markers associated with the executed query in a classification database associated with the executed query; generating a plurality of facets by querying the query associated with the received data, wherein the generated facets are defined as results of the executed query associated with the received data; determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query, and selecting at least two facets within the generated plurality of facets such that an aggregate value of the similarity values ​​meets or exceeds a predetermined threshold; dynamically ranking the selected facets by prioritizing the selected facets based on a calculated overall score associated with an assigned weighted value for each selected facet in the generated plurality of facets using a supervised machine learning algorithm; and Displaying the dynamically ranked facets within a user interface of a computing device associated with a user. Including, The method.

2. 2. The computer-implemented method of claim 1, wherein generating the plurality of facets comprises matching at least one of the identified index markers to the executed query associated with the data received from the user.

3. 3. The computer-implemented method of claim 2, wherein matching the at least one identified index marker to the executed query includes identifying requested information in the executed query and information associated with the requested information in the results that is a positive match.

4. separating the analysis of the executed query into key terms by identifying terms within the analysis of the executed query; placing the plurality of identified words in a database separate from the remainder of the plurality of identified words; and generating a plurality of facets for each identified term located in the other database associated with the analysis of the executed query; The computer-implemented method of claim 1 , further comprising:

5. selecting at least two facets from the generated plurality of facets; determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query by calculating a knowledge graph score based on a set of cases where identified features of each facet of the generated plurality of facets have a positive match; establishing a predetermined threshold associated with the determined similarity value; and Dynamically selecting at least two facets that meet or exceed the predetermined threshold based on the calculated knowledge graph scores associated with the identified features of each facet.

10. The computer-implemented method of claim 1, comprising:

6. dynamically ranking the selected facets; assigning a weighted value to each index marker associated with each facet in the generated plurality of facets; calculating an overall score by summing the assigned weighted values ​​of a plurality of index markers for each facet in the generated plurality of facets; and using the supervised machine learning algorithm to prioritize the selected facets based on the calculated overall score for each facet.

10. The computer-implemented method of claim 1, comprising:

7. 7. The computer-implemented method of claim 6, wherein prioritizing the selected facets includes using the supervised machine learning algorithm to rank selected facets with high calculated overall scores higher than selected facets with low calculated overall scores.

8. A computer program comprising: receiving data from a user in the form of an executed query and analyzing the received data by identifying a plurality of index markers associated with the executed query in the received data, wherein identifying the plurality of index markers is performed by identifying the index markers associated with the executed query in a classification database associated with the executed query; generating a plurality of facets by querying the query associated with the received data, wherein the generated facets are defined as results of the executed query associated with the received data; determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query, and selecting at least two facets within the generated plurality of facets such that an aggregate value of the similarity values ​​meets or exceeds a predetermined threshold; dynamically ranking the selected facets by prioritizing the selected facets based on a calculated overall score associated with an assigned weighted value for each selected facet in the generated plurality of facets using a supervised machine learning algorithm; and Displaying the dynamically ranked facets within a user interface of a computing device associated with a user. The computer program causing a computer to execute each step of the method comprising:

9. 9. The computer program product of claim 8, wherein generating the plurality of facets comprises matching at least one of the identified index markers to the executed query associated with the data received from the user.

10. 10. The computer program product of claim 9, wherein matching the at least one identified index marker to the executed query comprises identifying requested information in the executed query and information associated with the requested information in the results that is a positive match.

11. separating the analysis of the executed query into key terms by identifying terms within the analysis of the executed query; placing the plurality of identified words in a database separate from the remainder of the plurality of identified words; and generating a plurality of facets for each identified term located in the other database associated with the analysis of the executed query; The computer program of claim 8 , further comprising:

12. selecting at least two facets from the generated plurality of facets; determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query by calculating a knowledge graph score based on a set of cases where identified features of each facet of the generated plurality of facets have a positive match; establishing a predetermined threshold associated with the determined similarity value; and Dynamically selecting at least two facets that meet or exceed the predetermined threshold based on the calculated knowledge graph scores associated with the identified features of each facet.

9. The computer program of claim 8, comprising:

13. dynamically ranking the selected facets; assigning a weighted value to each index marker associated with each facet in the generated plurality of facets; calculating an overall score by summing the assigned weighted values ​​of a plurality of index markers for each facet in the generated plurality of facets; and using the supervised machine learning algorithm to prioritize the selected facets based on the calculated overall score for each facet.

9. The computer program of claim 8, comprising:

14. 14. The computer program product of claim 13, wherein prioritizing the selected facets includes using the supervised machine learning algorithm to rank selected facets with high calculated overall scores higher than selected facets with low calculated overall scores.

15. 1. A computer system, comprising: one or more computer processors; one or more computer-readable storage media; and a plurality of program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more computer processors; It is equipped with the plurality of program instructions: a plurality of program instructions for receiving data from a user in the form of an executed query and analyzing the received data by identifying a plurality of index markers associated with the executed query within the received data, wherein identifying the plurality of index markers is performed by identifying the index markers associated with the executed query in a classification database associated with the executed query; a plurality of program instructions for generating a plurality of facets by querying the query associated with the received data, wherein the generated facets are defined as results of the executed query associated with the received data; a plurality of program instructions for determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query, and selecting at least two facets within the generated plurality of facets where an aggregate value of the similarity values ​​meets or exceeds a predetermined threshold; a plurality of program instructions for dynamically ranking the selected facets by prioritizing the selected facets based on a calculated overall score associated with an assigned weighted value for each selected facet in the generated plurality of facets using a supervised machine learning algorithm; and and a plurality of program instructions for displaying the dynamically ranked facets within a user interface of a computing device associated with a user. Including, The computer system.

16. 16. The computer system of claim 15, wherein the plurality of program instructions for generating the plurality of facets comprises a plurality of program instructions for matching at least one of the identified index markers to the executed query associated with the data received from the user.

17. 17. The computer system of claim 16, wherein the plurality of program instructions for matching the at least one identified index marker to the executed query comprises a plurality of program instructions for identifying requested information in the executed query and information associated with the requested information in the results that is a positive match.

18. the plurality of program instructions stored on the one or more computer-readable storage media comprising: a plurality of program instructions for separating the analysis of the executed query into key terms by identifying a plurality of terms within the analysis of the executed query; a plurality of program instructions for placing the plurality of identified words in a database separate from the remainder of the plurality of identified words; and a plurality of program instructions for generating a plurality of facets for each identified term located in the other database associated with the analysis of the executed query; 16. The computer system of claim 15, further comprising:

19. the plurality of program instructions for selecting at least two facets from the generated plurality of facets, a plurality of program instructions for determining a quantified similarity value between an index marker associated with each facet of the generated plurality of facets and an index marker resulting from the analysis of the executed query by calculating a knowledge graph score based on a set of cases where identified features of each facet of the generated plurality of facets have positive matches; a plurality of program instructions for establishing a predetermined threshold associated with the determined similarity value; and a plurality of program instructions for dynamically selecting at least two facets that meet or exceed the predetermined threshold based on the calculated knowledge graph score associated with the identified features of each facet; 16. The computer system of claim 15, comprising:

20. the plurality of program instructions for dynamically ranking the selected facets; a plurality of program instructions for assigning a weighted value to each index marker associated with each facet in the generated plurality of facets; a plurality of program instructions for calculating an overall score by summing the assigned weighted values ​​of a plurality of index markers for each facet in the generated plurality of facets; and a plurality of program instructions for using the supervised machine learning algorithm to prioritize the selected facets based on the calculated overall score of each facet.

16. The computer system of claim 15, comprising:

Citation Information

Patent Citations

  • Document data retrieval method, server, and program

    JP2008077137A

  • Device, method, and program

    JP2012018686A

  • Methods, systems, and devices for querying based on vertical search.

    JP2013525921A

  • Dynamic faceting for personalized search and discovery

    US20180189417A1