Computer implementation methods for proposing query terms, computer program products for proposing query terms, and computer processing systems for proposing query terms (query term proposal).

The method enhances query term suggestions by using a semi-structured corpus to determine positional relationships, addressing the limitations of existing methods by providing contextually relevant query terms.

JP7838903B2Active Publication Date: 2026-04-01INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-10
Publication Date
2026-04-01

AI Technical Summary

Technical Problem

Existing query suggestion methods in enterprise environments fail to provide relevant query term suggestions due to insufficient term relationships in search logs and lack of information on search order, often suggesting irrelevant terms.

Method used

A computer implementation method that utilizes a semi-structured corpus to determine positional relationships between terms, suggesting candidate terms as additional query terms based on their relevance to a species term, enhancing search results.

Benefits of technology

Improves the relevance of search results by suggesting query terms that are contextually relevant, leveraging the positional relationships within the semi-structured corpus.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007838903000002
    Figure 0007838903000002
  • Figure 0007838903000003
    Figure 0007838903000003
  • Figure 0007838903000004
    Figure 0007838903000004
Patent Text Reader

Abstract

To provide a computer-implemented method for suggesting a query term, a computer program product for suggesting the query term, and a computer processing system for suggesting the query term.SOLUTION: A computer-implemented method is provided for suggesting a query term. The method includes obtaining a seed term and a candidate term. The method further includes retrieving two nodes respectively indicating the seed term and the candidate term from a semi-structured corpus. The method also includes determining, by a processor device, whether the candidate term includes details of information on the seed term based on a positional relation between the two nodes in the semi-structured corpus. The method additionally includes suggesting the candidate term as an additional query term in response to a positive determination. The method further includes performing a query with the candidate term as the additional query term in response to a suggestion of use acceptance to enhance query answer retrieval results.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention generally relates to queries, and more specifically to a proposal of query terminology. [Background technology]

[0002] Query suggestion is a feature that helps search engine users refine their search queries. A typical implementation of this feature utilizes the relationships between terms that appear together in search log records and their content data. However, in enterprise environments, content data changes rapidly, and search logs do not contain sufficient term relationships. Furthermore, using term correlations in content data has the drawback of not providing information on search order. For example, "car insurance" might be suggested for the query "windshield," but "car insurance" is largely irrelevant to a user searching for "windshield." Therefore, the method of suggesting query terms needs to be improved. [Overview of the project] [Problems that the invention aims to solve]

[0003] This invention provides a computer implementation method for suggesting query terms, a computer program product for suggesting query terms, and a computer processing system for suggesting query terms. [Means for solving the problem]

[0004] According to aspects of the present invention, a computer implementation method for suggesting query terms is provided. The method includes obtaining a species term and a candidate term. The method further includes searching a semi-structured corpus for two nodes that represent the species term and the candidate term, respectively. The method also includes, by a processor device, determining whether the candidate term contains details about the species term based on the positional relationship between the two nodes in the semi-structured corpus. In response to a positive determination, the method further includes suggesting the candidate term as an additional query term. In response to a proposed use, the method further includes executing the query with the candidate term as the additional query term to improve the query's response search results.

[0005] According to another aspect of the present invention, a computer program product for suggesting query terms is provided. The computer program product includes a non-temporary computer-readable storage medium in which program instructions are implemented. The program instructions are executable by a computer and cause the computer to execute a method. The method includes obtaining a species term and a candidate term by a processor device. The method further includes searching a semi-structured corpus for two nodes representing the species term and the candidate term, respectively, by the processor device. The method also includes determining by the processor device whether the candidate term contains details about the species term based on the positional relationship between the two nodes in the semi-structured corpus. The method further includes suggesting the candidate term as an additional query term in response to a positive determination by the processor device. The method further includes executing the query with the candidate term as the additional query term in response to a proposed use agreement in order to improve the query's answer search results.

[0006] In yet another embodiment, a computer processing system for suggesting query terms is provided. The computer processing system includes a memory device for storing program code. The computer processing system further includes a processor device operably coupled to the memory device for storing program code for retrieving a species term and a candidate term. The processor device further executes program code for retrieving two nodes from a semi-structured corpus, one representing the species term and the other representing the candidate term. The processor device also executes program code for determining whether the candidate term contains details about the species term, based on the positional relationship between the two nodes in the semi-structured corpus. In response to a positive determination, the processor device further executes program code for suggesting the candidate term as an additional query term. In response to a proposal for use, the processor device further executes program code for executing the query using the candidate term as the additional query term, in order to improve the query's response search results.

[0007] These and other features and advantages will become apparent from the following detailed description of the exemplary embodiment, which will be read in conjunction with the attached drawings.

[0008] The following description will detail preferred embodiments with reference to the following figures. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is a block diagram showing an exemplary computing device according to one embodiment of the present invention. [Figure 2] Figure 2 is a flowchart showing an exemplary method according to one embodiment of the present invention. [Figure 3] Figure 3 is a flowchart illustrating an exemplary method according to one embodiment of the present invention. [Figure 4] Figure 4 shows an exemplary portion of a corpus tree according to one embodiment of the present invention. [Figure 5] FIG. 5 is a diagram showing an exemplary corpus tree according to an embodiment of the present invention. [Figure 6] FIG. 6 is a diagram showing an exemplary part of a corpus tree according to an embodiment of the present invention. [Figure 7] FIG. 7 is a diagram showing an exemplary part of a corpus tree according to an embodiment of the present invention. [Figure 8] FIG. 8 is a diagram showing an exemplary part of HTML code according to an embodiment of the present invention. [Figure 9] FIG. 9 is a diagram showing an exemplary search log, semi-structured corpus, features of positive samples, and features of negative samples according to an embodiment of the present invention. [Figure 10] FIG. 10 is a block diagram showing an exemplary cloud computing environment having one or more cloud computing nodes with which a local computing device used by a cloud consumer communicates according to an embodiment of the present invention. [Figure 11] FIG. 11 is a block diagram showing a set of functional abstraction layers provided by a cloud computing environment according to an embodiment of the present invention. **DETAILED DESCRIPTION OF THE INVENTION**

[0010] Embodiments of the present invention are aimed at proposing query terms.

[0011] Embodiments of the present invention use a semi-structured corpus to restrict the search order of two terms from the relationship between corpus nodes containing each of the two terms. In a simple example, the relationship between one of the two nodes and the other of the two nodes can be a sub-node relationship.

[0012] As an example, in the present invention, when a term pair A, B (species and proposal) is given, it can include the following. (1) Node N containing A and B A and N BRetrieve them from the corpus respectively. Here, N X ={nodes containing term X}. (2) Read the configuration of the positional restriction R for two nodes N A and N B . The positional restriction R maps (n A , n B ) ∈ N A xN B to its score ∈ [0, 1]. The score indicates the possibility of node n a containing the details of the information at n b . (3) Determine the confidence level of B according to the score.

[0013] Each corpus is configured in a tree-like structure. These trees are constructed using corpus nodes. A corpus node is a specific point within the structure of the corpus and is utilized to construct its basic structure. Usually, corpus nodes are grouped based on, for example, geographical location, genre of conversation, gender and age of the speaker, dialect of the speaker, target language / source language, etc. Here, the present invention proposes query terms using the positional information in the corpus.

[0014] FIG. 1 is a block diagram showing an exemplary computing device 100 according to an embodiment of the present invention. The computing device 100 is configured to propose query terms.

[0015] The computing device 100 may be implemented as any type of computing device or computer device capable of performing the functions described herein, including, but not limited to, computers, servers, rack-based servers, blade servers, workstations, desktop computers, laptop computers, notebook computers, tablet computers, mobile computing devices, wearable computing devices, network equipment, web equipment, distributed computing systems, processor-based systems, or consumer electronic devices or combinations thereof. In addition, or alternatively, the computing device 100 may be implemented as one or more compute threads, memory threads, or other components of a rack, thread, computing chassis, or physically disassembled computing device. As shown in Figure 1, the computing device 100 exemplary includes a processor 110, an input / output subsystem 120, memory 130, data storage 140, and a communication subsystem 150, or other components and devices commonly found in a server or similar computing device, or combinations thereof. Of course, in other embodiments, the computing device 100 may include other or additional components, such as those commonly found in a server computer (e.g., various input / output devices). Furthermore, in some embodiments, one or more of the exemplary components may be incorporated into or otherwise form part of another component. For example, the memory 130, or a part thereof, may be incorporated into the processor 110 in some embodiments.

[0016] The processor 110 may be implemented as any type of processor capable of performing the functions described herein. The processor 110 may be implemented as a single processor, multiple processors, one or more central processing units (one or more CPUs), one or more graphics processing units (one or more GPUs), one or more single or multicore processors, one or more digital signal processors, one or more microcontrollers, or other one or more processors or one or more processing / control circuits.

[0017] Memory 130 may be implemented as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. In operation, memory 130 may store various data and software used during the operation of computing device 100, such as operating systems, applications, programs, libraries, and drivers. Memory 130 may be communicably coupled to processor 110 via I / O subsystem 120 and may be implemented as circuitry or components, or both, to facilitate input / output operations with processor 110, memory 130, and other components of computing device 100. For example, I / O subsystem 120 may be implemented as a memory controller hub, input / output control hub, platform controller hub, integrated control circuitry, firmware devices, communication links (e.g., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.), or other components and subsystems, or combinations thereof, to facilitate input / output operations. In some embodiments, the I / O subsystem 120 may form part of a system-on-a-chip (SOC) and be integrated onto a single integrated circuit chip together with the processor 110, memory 130, and other components of the computing device 100.

[0018] The data storage device 140 may be implemented as one or more devices of any type configured for short-term or long-term storage of data, such as memory devices and circuits, memory cards, hard disk drives, solid-state drives, or other data storage devices. The data storage device 140 can store program code for suggesting query terms. The communication subsystem 150 of the computing device 100 may be implemented as any network interface controller or other communication circuit, device, or assembly thereof that can enable communication between the computing device 100 and other remote devices over a network. The communication subsystem 150 may be configured to achieve such communication using any one or more communication technologies (e.g., wired or wireless) and associated protocols (e.g., Ethernet, InfiniBand®, Bluetooth®, Wi-Fi®, WiMAX, etc.).

[0019] As shown in the figure, the computing device 100 may also include one or more peripheral devices 160. Peripheral devices 160 may include any number of additional input / output devices, interface devices, or other peripheral devices or combinations thereof. For example, in some embodiments, peripheral devices 160 may include a display, a touchscreen, a graphics circuit, a keyboard, a mouse, a speaker system, a microphone, a network interface, or other input / output devices, interface devices, or peripheral devices or combinations thereof.

[0020] Of course, the computing device 100 may also include other elements (not shown), as well as omit certain elements, as can be readily contemplated by those skilled in the art. For example, various other input devices or output devices, or both, may be included in the computing device 100, depending on specific implementations of the same, as can be readily understood by those skilled in the art. For example, various types of wireless or wired inputs or both, or output devices, or both, may be used. Furthermore, additional processors, controllers, memory, etc., in various configurations may also be available. In addition, in another embodiment, a cloud configuration may be used (see, for example, Figures 10-11). These and other variations of the processing system 100 can be readily contemplated by those skilled in the art, given the teachings of the invention provided herein.

[0021] As used herein, the terms “hardware processor subsystem” or “hardware processor” may refer to a processor, memory (including RAM, one or more caches, etc.), software (including memory management software), or a combination thereof, that work together to perform one or more specific tasks. In useful embodiments, a hardware processor subsystem may include one or more data processing elements (e.g., logic circuits, processing circuits, instruction execution devices, etc.). One or more data processing elements may be a central processing unit, a graphics processing unit, or a separate processor or arithmetic element-based controller (e.g., logic gates, etc.), or a combination thereof. A hardware processor subsystem may include one or more onboard memories (e.g., caches, dedicated memory arrays, read-only memory, etc.). In some embodiments, a hardware processor subsystem may include one or more memories (e.g., ROM, RAM, Basic Input / Output System (BIOS), etc.) that may be onboard or offboard, or may be dedicated for use by the hardware processor subsystem.

[0022] In some embodiments, the hardware processor subsystem may include and execute one or more software elements. These one or more software elements may include an operating system, one or more applications, or specific code, or both, to achieve a specified result.

[0023] In other embodiments, the hardware processor subsystem may include specialized circuits dedicated to performing one or more electronic processing functions to achieve a specified result. Such circuits may include one or more application-specific integrated circuits (ASICs), FPGAs, or PLAs, or a combination thereof.

[0024] These and other variations of the hardware processor subsystem are also intended in accordance with embodiments of the present invention.

[0025] Figures 2 and 3 are flowcharts illustrating an exemplary method 200 according to an embodiment of the present invention.

[0026] In block 210, the species term and candidate term are retrieved.

[0027] In block 220, search the semi-structured corpus for two nodes, one representing a species term and the other a candidate term.

[0028] In block 230, it is determined whether a candidate term contains detailed information about a species term based on the positional relationship between two nodes in the semi-structured corpus.

[0029] In one embodiment, block 230 includes at least one of blocks 230A to 230D.

[0030] In block 230A, a predetermined positional constraint is determined for two nodes that a candidate term must satisfy in order to contain detailed information about the species term.

[0031] In block 230B, a trained model is used that takes the shortest path from a species term to a candidate node as input and outputs a score indicating the degree of the candidate term, which includes details about the species term.

[0032] In block 230C, a condition for the set of directions in the semi-structured corpus is to construct the shortest path between two nodes. This condition is used to determine whether a candidate term contains detailed information about a species term.

[0033] In block 230D, the shortest path between two nodes is constructed as a condition for a set of node type and direction pairs in the semi-structured corpus. This condition is used to determine whether a candidate term contains detailed information about a species term.

[0034] In block 240, in response to a positive determination, candidate terms are suggested as additional query terms.

[0035] In one embodiment, block 240 may include block 240A.

[0036] In block 240A, candidate terms are prioritized for proposal if they appear in a large number of nodes in the semi-structured corpus (e.g., more than 5%, although other percentages can be used depending on the domain) and appear in the upper layers of the semi-structured corpus. For example, the upper layers can be considered to represent more than half of the semi-structured corpus. This prioritization can also be applied when there are multiple candidate terms for proposal.

[0037] In block 250, in response to the proposed usage agreement, a query is executed to add candidate terms as query terms.

[0038] Figure 4 shows an exemplary portion 400 of a corpus tree according to one embodiment of the present invention.

[0039] Part 400 includes a first node 410 corresponding to insurance menus and a second node 420 corresponding to automobile insurance. The criterion for a relationship is that it is a subnode.

[0040] The following example is insufficient regarding the relationship between two nodes. Windshield → Car insurance (not good) Replacement → Windshield (not good)

[0041] The following example shows a good relationship (subnode) between two nodes. Windshield → Crack (Good)

[0042] Figure 5 shows an exemplary corpus tree 500 according to one embodiment of the present invention.

[0043] Circled A represents "windshield". Circled B represents "replacement". Circled C represents "puncture". In tree 500, "div" represents the parent node and "li" represents the child node.

[0044] R(n A ,n C )=0

[0045] R(n A ,n B )=1

[0046] It should be understood that R can be configured to prohibit backward proposals.

[0047] n B ga n A If it is thought that the information in n should be detailed, then R should be configured to be high. For example, n A This is a caption, n B This is content.

[0048] Next, a simplified implementation version according to an embodiment of the present invention will be described.

[0049] In the simplified implementation, nB ga n A If it is a descendant of, or only if, then R=1.

[0050] While this approach can be applied to some XML (Extensible Markup Language) files, it cannot fully represent the structure of HTML (Hyper-Text Markup Language).

[0051] Next, a flexible implementation version according to an embodiment of the present invention will be described.

[0052] In a flexible implementation, R is n A from n B It is composed of the constraint of the shortest path.

[0053] This approach is also applicable when semantic dependencies are not represented by ancestor-descendant pairs.

[0054] The following is an example of a definition of R using the shortest path.

[0055] If B has moved from A and is within the path, then R=1

[0056] (Path 1) Up to the most recent ancestor of li / p

[0057] (Pass 2) Up to one li / p forward siblings

[0058] (Pass 3) Down to the descendants at depth 10

[0059] Otherwise, R=0

[0060] These three paths are illustrated in Figure 5.

[0061] Figure 6 shows an exemplary portion 600 of a corpus tree according to one embodiment of the present invention. Portion 600 exemplifies path 1 601, path 2 602, and path 3 603.

[0062] Figure 7 shows an exemplary portion 700 of a corpus tree according to one embodiment of the present invention.

[0063] Part 700 includes a tire node 710 and a windshield node 720. The tire node 710 includes the subnodes "punctured" and "stolen". The windshield node 720 includes the subnodes "cracked", "broken", "replaced", and "stone".

[0064] In part 700, the visually "replaced" part looks like a child of the "windshield" 720.

[0065] Figure 8 shows an exemplary portion 800 of HTML code according to one embodiment of the present invention.

[0066] In contrast to section 700 of the corpus tree in Figure 7, section 800 of the HTML code shows that "replaced" does not belong to a child node of "windshield".

[0067] Next, we will describe the learning R according to an embodiment of the present invention.

[0068] R can be automatically configured by learning the shortest paths between nodes, including terms from search log records as positive samples of spatial relationships.

[0069] For each record in the search log, (1) Retrieve the node in the semi-structured corpus that contains each term in the record. Example: node containing "windshield", node containing "replaced" (2) For each pair of node A containing a term and node B containing other terms, (2A) Create feature vectors in the format (node ​​type, direction) corresponding to the nodes on the shortest path from A to B. (2B) Create a feature for negative samples by adding one node outside the path to the subpath. For example, you can add one "up" movement or one "sibling" movement.

[0070] Figure 9 shows an exemplary search log 910, a semi-structured corpus 920, positive sample features 930, and negative sample features 940 according to one embodiment of the present invention.

[0071] Search log 910 contains nodes with the terms "car", "cover", and "bicycle" on the first line / level, and "windshield" and "replaced" on the next line / level.

[0072] In the semi-structured corpus 920, circled "A" means "windshield," and circled "B" means "replaced."

[0073] Regarding the types of nodes in the semi-structured corpus 920,

[0074] "div" refers to the "div" tag, which represents a box area in an HTML file.

[0075] "h2" refers to the "h2" tag, which represents a second-level heading in an HTML file.

[0076] "ul" refers to the "ul" tag in HTML files, which represents an unordered list.

[0077] "li" refers to the "li" tag in an HTML file, which represents an item in an unordered list.

[0078] "p" represents the "p" tag, which indicates a paragraph in an HTML file.

[0079] From the semi-structured corpus 920, the features of positive samples include the following: (h2, up), (ul, sibling), (li, down), (p, down)

[0080] From the semi-structured corpus 920, the features of negative samples include the following: (h2, up), (div, up) (h2, up), (ul, sibling), (div, sibling)

[0081] Depending on the implementation, the following options can be adopted.

[0082] (1) Features can include a count. Example: (div, up, 1), (div, up, 2)

[0083] TIFF0007838903000001.tif12165

[0084] In one embodiment, one or more blocks of method 200 in Figure 2 can be executed in the cloud.

[0085] While this disclosure includes a detailed description of cloud computing, the implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention can be implemented in any other type of computer environment that is currently known or may be developed in the future.

[0086] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and deployed with minimal administrative effort or interaction with service providers. This cloud model may include at least five characteristics, at least three service models, and at least four implementation models.

[0087] The characteristics are as follows:

[0088] On-demand self-service: Cloud consumers can unilaterally prepare computing power, such as server time and network storage, automatically as needed, without requiring human interaction with service providers.

[0089] Broad network access: Computing power is available over the network and accessible through standard mechanisms. This facilitates utilization by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, PDAs).

[0090] Resource pooling: A provider's computing resources are pooled and delivered to multiple consumers using a multi-tenant model. Various physical and virtual resources are dynamically allocated and reallocated as needed. Generally, consumers have a sense of location independence because they do not manage or know the exact location of the resources provided. However, consumers may be able to identify the location at a higher level of abstraction (e.g., country, state, data center).

[0091] Rapid Elasticity: Computing power can be prepared quickly and flexibly, allowing it to scale out automatically and immediately, and to be quickly released and scale in immediately. To consumers, the computing power available for preparation often appears unlimited and can be purchased in any quantity at any time.

[0092] Measured Services: Cloud systems leverage metric capabilities at a certain level of abstraction, appropriate for the type of service (e.g., storage, processing, bandwidth, active user accounts), to automatically control and optimize resource usage. Resource usage can be monitored, controlled, and reported, providing transparency to both service providers and consumers.

[0093] The service model is as follows:

[0094] Software as a Service (SaaS): The functionality offered to consumers is the ability to use the provider's applications, which run on a cloud infrastructure. These applications can be accessed from various client devices via thin client interfaces such as web browsers (e.g., webmail). Consumers do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application functions. However, this does not apply to configuring a limited number of user-specific applications.

[0095] Platform as a Service (PaaS): The functionality offered to consumers is the ability to deploy applications they have created or acquired to cloud infrastructure using programming languages ​​and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, and storage, but they can control the deployed applications and, in some cases, the configuration of their hosting environment.

[0096] Infrastructure as a Service (IaaS): The functionality provided to consumers is the provision of processors, storage, networking, and other basic computing resources that enable consumers to deploy and run any software, including operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but they can control the operating system, storage, and deployed applications, and in some cases, partially control certain network components (e.g., host firewalls).

[0097] The deployment model is as follows:

[0098] Private Cloud: This cloud infrastructure is operated exclusively for a specific organization. This cloud infrastructure can be managed by that organization or a third party and can reside on-premises or off-premises.

[0099] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common interests (e.g., mission, security requirements, policies, and compliance). This cloud infrastructure can be managed by the organization or a third party and can reside on-premises or off-premises.

[0100] Public Cloud: This cloud infrastructure is provided to a large number of people or large industry groups and is owned by organizations that sell cloud services.

[0101] Hybrid Cloud: This cloud infrastructure combines two or more cloud models (private, community, or public). While maintaining the unique entities of each model, they are bound together by standards or individual technologies to achieve data and application portability (e.g., cloud bursting for load balancing across clouds).

[0102] Cloud computing environments are service-oriented environments that emphasize statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is the infrastructure, which includes a network of interconnected nodes.

[0103] Figure 10 shows an exemplary cloud computing environment 1050. As shown, the cloud computing environment 1050 includes one or more cloud computing nodes 1010. Local computer devices used by cloud consumers (e.g., PDAs or mobile phones 1054A, desktop computers 1054B, laptop computers 1054C, or automotive computer systems 1054N, or a combination thereof) can communicate with these nodes. The nodes 1010 can communicate with each other. The nodes 1010 can be grouped physically or virtually (not shown) in one or more networks, such as the private, community, public, or hybrid clouds or a combination thereof. This allows the cloud computing environment 1050 to provide infrastructure, platforms, or software as a service, or a combination thereof, without requiring cloud consumers to maintain resources on their local computer devices. Please note that the types of computer devices 1054A to N shown in Figure 10 are merely examples, and the computing node 1010 and the cloud computing environment 1050 can communicate with any type of electronic device via any type of network, a network addressable connection (e.g., using a web browser), or both.

[0104] Next, Figure 11 shows a set of functional abstraction layers provided by the cloud computing environment 1050 (Figure 10). It should be understood that the components, layers, and functions shown in Figure 11 are illustrative only, and embodiments of the present invention are not limited to these. As illustrated, the following layers and corresponding functions are provided.

[0105] The hardware and software layer 1160 includes hardware components and software components. Examples of hardware components include a mainframe 1161, a reduced instruction set computer (RISC) architecture-based server 1162, a server 1163, a blade server 1164, a storage device 1165, and a network and network components 1166. In some embodiments, the software components include network application server software 1167 and database software 1168.

[0106] The virtualization layer 1170 provides an abstraction layer. From this layer, virtual entities such as virtual servers 1171, virtual storage 1172, virtual networks 1173 including virtual private networks, virtual applications and operating systems 1174, and virtual clients 1175 can be provided.

[0107] For example, the management layer 1180 can provide the following functions: Resource preparation 1181 enables the dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing 1182 enables cost tracking as resources are used within the cloud computing environment and billing or invoicing for the consumption of these resources. For example, these resources may include licenses for application software. Security enables not only protection of data and other resources, but also identification and verification of cloud consumers and tasks. The user portal 1183 provides consumers and system administrators with access to the cloud computing environment. Service level management 1184 enables the allocation and management of cloud computing resources to ensure that requested service levels are met. Service Level Agreement (SLA) planning and execution 1185 enables the pre-arrangement and procurement of cloud computing resources that are expected to be needed in the future in accordance with the SLA.

[0108] Workload layer 1190 provides examples of capabilities available in a cloud computing environment. Examples of workloads and capabilities available from this layer include mapping and navigation 1191, software development and lifecycle management 1192, virtual classroom education delivery 1193, data analysis processing 1194, transaction processing 1195, and query term suggestion 1196.

[0109] The present invention may be a system, method, or computer program product or combination thereof, integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium storing computer-readable program instructions for causing a processor to perform aspects of the present invention.

[0110] A computer-readable storage medium can be a tangible device capable of holding and storing instructions used by an instruction execution device. Examples of computer-readable storage media may be electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or appropriate combinations thereof. More specific examples of computer-readable storage media include portable computer diskettes, hard disks, RAM, ROM, EPROM (or flash memory), SRAM, CD-ROM, DVD, memory stick, floppy disk, punch cards, or grooved raised structures, and mechanically encoded devices on which instructions are recorded, and appropriate combinations thereof. Computer-readable storage devices as used herein should not be interpreted as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through optical fiber cables), or electrical signals transmitted through wires.

[0111] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computer device / processor. Alternatively, they can be downloaded to an external computer or external storage device via a network (e.g., the Internet, LAN, WAN, or wireless network, or a combination thereof). The network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers or edge servers, or a combination thereof. A network adapter card or network interface within each computer device / processor receives computer-readable program instructions from the network and transfers them for storage in a computer-readable storage medium in the respective computer device / processor.

[0112] The computer-readable program instructions for performing the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk and C++, and procedural programming languages ​​such as the C programming language or similar programming languages. The computer-readable program instructions can be executed as a standalone software package, either entirely on the user's computer or partially on the user's computer. Alternatively, they can be executed partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including LANs and WANs, or to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), and programmable logic arrays (PLAs), can execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions in order to customize the electronic circuits for the purpose of performing aspects of the present invention.

[0113] Each aspect of the present invention is described herein with reference to flowcharts or block diagrams, or both, of methods, apparatus (systems), and computer program products according to embodiments of the present invention. Each block in a flowchart or block diagram, or both, and combinations of multiple blocks in a flowchart or block diagram, or both, can be executed by computer-readable program instructions.

[0114] The above computer-readable program instructions may be provided to a processor of a general-purpose computer, a dedicated computer, or other programmable data processing device for the purpose of producing a machine. This allows these instructions, executed via the processor of such computer or other programmable data processing device, to form means for performing functions / operations identified in one or more blocks in a flowchart or block diagram, or both. The above computer-readable program instructions may further be stored in a computer-readable storage medium capable of instructing a computer, programmable data processing device, or other device, or a combination thereof, to function in a particular manner. This allows the computer-readable storage medium containing the instructions to constitute a product containing instructions that perform functions / operations identified in one or more blocks in a flowchart or block diagram, or both.

[0115] Alternatively, a computer execution process may be generated by loading computer-readable program instructions into a computer, another programmable data processing device, or other device, and executing a series of operational steps on the computer, other programmable device, or other device. This ensures that the instructions executed on the computer, other programmable device, or other device perform functions / operations identified in one or more blocks in a flowchart, block diagram, or both.

[0116] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions containing one or more executable instructions for performing a specific logical function. In some other implementations, the functions shown within a block may be executed in an order different from the order shown in each diagram. For example, two consecutively shown blocks may actually be executed substantially simultaneously, depending on the functions involved, or, in some cases, in reverse order. Each block in a block diagram or flowchart, or both, and combinations of multiple blocks in a block diagram or flowchart, or both, may be executed by a dedicated hardware-based system that performs a specific function or operation, or by a combination of dedicated hardware and computer instructions.

[0117] In this specification, any reference to “one embodiment” or “embodiment” of the present invention, and to other variations thereof, means that certain features, structures, properties, etc., described in relation to the embodiment are included in at least one embodiment of the present invention. Accordingly, expressions such as “in one embodiment” or “in an embodiment” and other variations appearing elsewhere in this specification do not necessarily all refer to the same embodiment.

[0118] The use of any of the following " / ", "and / or", or "at least one of", for example, "A / B", "A or B or both", or "at least one of A and B", is intended to encompass the selection of only the first listed option (A), or only the second listed option (B), or both options (A and B). As further examples, in the case of "A, B, or C, or a combination thereof" and "at least one of A, B, and C", such expressions are intended to encompass the selection of only the first listed option (A), or only the second listed option (B), or only the third listed option (C). Or, it encompasses the selection of only the first and second listed options (A and B), or only the first and third listed options (A and C), or only the second and third listed options (B and C), or all three options (A, B, and C). This can be extended to the number of listed items so that it can be easily understood by anyone with ordinary knowledge of this and related technologies.

[0119] While preferred embodiments of the system and method (these are illustrative and not intended to limit) have been described, it should be noted that modifications and variations may be made in light of the above teachings by those skilled in the art. Therefore, it will be understood that modifications may be made to specific embodiments disclosed that fall within the scope of the invention as schematically represented by the appended claims. Thus, while aspects of the invention have been described with the level of detail and specificity required by patent law, what is claimed and intended to be protected by the patent is set forth in the appended claims.

Claims

1. A computer implementation method for proposing query terms, To obtain species terms and candidate terms, Searching for two nodes from a semi-structured corpus, one representing the species term and the other representing the candidate term, The processor device determines, based on the positional relationship between the two nodes in the semi-structured corpus, whether the candidate term contains details about the species term. In response to a positive determination, the aforementioned candidate terms are proposed as additional query terms, In order to improve the query's response search results, in response to the proposed usage agreement, the query is executed using the candidate terms as the additional query terms, Computer implementation methods, including those mentioned above.

2. The determination includes determining predetermined positional constraints for the two nodes that the candidate term must satisfy in order to include details of the information relating to the species term. The computer implementation method according to claim 1.

3. The determination involves using a trained model that inputs the shortest path from the species term to the candidate node and outputs a score indicating the degree of the candidate term, which includes details about the species term. The computer implementation method according to claim 2.

4. The aforementioned terms are included in the query to which the candidate terms are added in response to the proposed usage agreement. The computer implementation method according to claim 1.

5. When the candidate term appears in a descendant node of one of the two nodes containing the query term, the candidate term is determined to contain details about the species term. The computer implementation method according to claim 1.

6. The shortest path between the two nodes is configured as a condition relating to the set of node types in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer implementation method according to claim 1.

7. The shortest path between the two nodes is configured as a condition relating to a set of directions in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer implementation method according to claim 1.

8. The shortest path between the two nodes is configured as a condition relating to a set of node type and direction pairs in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer implementation method according to claim 1.

9. If the candidate term appears in more than 5% of the nodes in the semi-structured corpus, and appears in the upper layers of the semi-structured corpus, the candidate term is given priority for proposal, and the upper layers exceed half the number of nodes in the semi-structured corpus. The computer implementation method according to claim 1.

10. Parameters for prioritizing the proposal of the candidate term over other candidate terms that have non-shortest paths to the species term are learned by learning the shortest paths between the species term and the candidate term in the semi-structured corpus. The computer implementation method according to claim 1.

11. The positive samples for learning are used in the same way as the negative samples, the positive samples have the shortest path, and the negative samples are modified positive samples added to the existing path to extend the existing path to the non-shortest path. The computer implementation method according to claim 10.

12. A computer program for proposing query terms, wherein the computer program includes program instructions, and the program instructions are executable by a computer. The processor device acquires the species term and candidate term, The processor device searches the semi-structured corpus for two nodes, one representing the species term and the other representing the candidate term, respectively. The processor device determines, based on the positional relationship between the two nodes in the semi-structured corpus, whether the candidate term contains details about the species term. The processor device, in response to a positive determination, proposes the candidate term as an additional query term. The processor device, in order to improve the search results of the query, executes the query using the candidate terms as the additional query terms in response to the proposed usage agreement, A computer program that causes the aforementioned computer to execute the following.

13. The determination includes determining predetermined positional constraints for the two nodes that the candidate term must satisfy in order to include details of the information relating to the species term. The computer program according to claim 12.

14. The determination involves using a trained model that inputs the shortest path from the species term to the candidate node and outputs a score indicating the degree of the candidate term, which includes details about the species term. The computer program according to claim 13.

15. The aforementioned terms are included in the query to which the candidate terms are added in response to the proposed usage agreement. The computer program according to claim 12.

16. When the candidate term appears in a descendant node of one of the two nodes containing the query term, the candidate term is determined to contain details about the species term. The computer program according to claim 12.

17. The shortest path between the two nodes is configured as a condition relating to the set of node types in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer program according to claim 12.

18. The shortest path between the two nodes is configured as a condition relating to a set of directions in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer program according to claim 12.

19. The shortest path between the two nodes is configured as a condition relating to a set of node type and direction pairs in the semi-structured corpus, and the condition is for determining whether the candidate term contains details about the species term. The computer program according to claim 12.

20. A computer processing system for proposing query terms, A memory device for storing program code, The system includes a processor device operably coupled to the memory device for storing program code, wherein the program code is To obtain species terms and candidate terms, Searching for two nodes from a semi-structured corpus, one representing the species term and the other representing the candidate term, Based on the positional relationship between the two nodes in the semi-structured corpus, it is determined whether the candidate term contains details about the species term. In response to a positive determination, the aforementioned candidate terms are proposed as additional query terms, In order to improve the query's response search results, in response to the proposed usage agreement, the query is executed using the candidate terms as the additional query terms, A computer processing system that performs this task.

Citation Information

Patent Citations

  • Retrieval device, retrieval method, and program

    JP2013196435A

  • Validating search queries in data analysis systems

    JP2020522788A

  • Implementing an expanded search and providing expanded search results

    US20090094211A1

  • Using feedback to create and modify candidate streams

    US20190197180A1

  • Query suggestions based on entity collections of one or more past queries

    US9342626B1