[go: up one dir, main page]

CN116136879A - Searching method, searching device, searching equipment and storage medium - Google Patents

Searching method, searching device, searching equipment and storage medium Download PDF

Info

Publication number
CN116136879A
CN116136879A CN202310152761.8A CN202310152761A CN116136879A CN 116136879 A CN116136879 A CN 116136879A CN 202310152761 A CN202310152761 A CN 202310152761A CN 116136879 A CN116136879 A CN 116136879A
Authority
CN
China
Prior art keywords
search
result
predicted
query
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310152761.8A
Other languages
Chinese (zh)
Inventor
李径云
申璞
李銮鑫
于阳
郭富有
李顺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Douyin Vision Co Ltd
Original Assignee
Douyin Vision Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Douyin Vision Co Ltd filed Critical Douyin Vision Co Ltd
Priority to CN202310152761.8A priority Critical patent/CN116136879A/en
Publication of CN116136879A publication Critical patent/CN116136879A/en
Priority to PCT/CN2024/076036 priority patent/WO2024174865A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to embodiments of the present disclosure, a search method, apparatus, device, and storage medium are provided. The method includes, in response to receiving a current query from a client device at a server, determining a target area associated with the current query; generating a prediction result for the current query based at least on target region history data corresponding to the target region; sending a prediction result to the client device; in response to the search engine generating search results for the current query, comparing the predicted results to the search results; and based on the result of the comparison, transmitting supplementary information related to the subsequent processing of the predicted result to the client device. Thus, the speed and accuracy of providing search services by the server can be improved.

Description

Searching method, searching device, searching equipment and storage medium
Technical Field
Example embodiments of the present disclosure relate generally to the field of computers and, more particularly, relate to search methods, apparatuses, devices, and computer-readable storage media.
Background
With the development of information technology, diversified and massive data resources are continuously generated. In order to find the required information from the vast amount of data, users typically search for the required information by way of a query. For example, a user may utilize a client device to send a query request to a server and receive corresponding query results from the server. Typically, the server requires a certain processing time to provide the corresponding search results after receiving the query request. However, in cases where the transmission resources, computing resources, etc. of the server are less adequate and/or the network infrastructure is less complete, the search results may take a longer time to provide from the server to the client device, resulting in a poor user experience.
Disclosure of Invention
In a first aspect of the present disclosure, a search method is provided. The method comprises the following steps: responsive to receiving the current query from the client device at the server, determining a target area associated with the current query; generating a prediction result for the current query based at least on target region history data corresponding to the target region; sending a prediction result to the client device; in response to the search engine generating search results for the current query, comparing the predicted results to the search results; and based on the result of the comparison, transmitting supplementary information related to the subsequent processing of the predicted result to the client device.
In a second aspect of the present disclosure, a search method is provided. The method comprises the following steps: transmitting, at the client device, the current query to the server; receiving, from a server, a prediction result for a current query, wherein the prediction result is generated based on target region history data corresponding to a target region, and the target region is associated with the current query; receiving, from the server, supplemental information related to subsequent processing of the predicted result, the supplemental information generated based on a comparison of the predicted result and search results generated by the search engine; and performing an operation on the prediction result based on the supplementary information.
In a third aspect of the present disclosure, a search apparatus is provided. The device comprises: a current region determination module configured to determine a target region associated with a current query in response to receiving the current query from the client device at the server; a prediction result generation module configured to generate a prediction result for the current query based at least on target region history data corresponding to the target region; the prediction result sending module is configured to send a prediction result to the client device; a comparison module configured to compare the predicted result with the search result in response to the search engine generating the search result for the current query; and a supplementary information transmitting module configured to transmit supplementary information related to the subsequent processing of the predicted result to the client device based on the result of the comparison.
In a fourth aspect of the present disclosure, a search apparatus is provided. The device comprises: a query sending module configured to send a current query to a server at a client device; a prediction result receiving module configured to receive a prediction result for a current query from a server, wherein the prediction result is generated based on target region history data corresponding to a target region, and the target region is associated with the current query; a supplemental information receiving module configured to receive supplemental information from the server regarding subsequent processing of the predicted result, the supplemental information generated based on a comparison of the predicted result and a search result generated by the search engine; and an operation execution module configured to execute an operation on the prediction result based on the supplemental information.
In a fifth aspect of the present disclosure, an electronic device is provided. The apparatus comprises at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. The instructions, when executed by at least one processing unit, cause the apparatus to perform the method of the first or second aspect.
In a sixth aspect of the present disclosure, a computer readable storage medium is provided. The computer readable storage medium has stored thereon a computer program executable by a processor to implement the method of the first or second aspect.
It should be understood that what is described in this summary is not intended to limit the critical or essential features of the embodiments of the disclosure nor to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The above and other features, advantages and aspects of embodiments of the present disclosure will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, wherein like or similar reference numerals denote like or similar elements, in which:
FIG. 1 illustrates a schematic diagram of an example environment in which embodiments of the present disclosure may be implemented;
FIG. 2 illustrates an exemplary interaction diagram of a search process according to some embodiments of the present disclosure;
FIG. 3 illustrates a schematic diagram of a search process performed at a server side according to some embodiments of the present disclosure;
FIG. 4 illustrates a schematic diagram of providing supplemental information according to some embodiments of the present disclosure;
FIG. 5 illustrates a flow chart of a search method performed at a server side according to some embodiments of the present disclosure;
FIG. 6 illustrates a flow chart of a search method performed at a client device in accordance with some embodiments of the present disclosure;
FIG. 7 illustrates a block diagram of a search apparatus according to some embodiments of the present disclosure;
FIG. 8 illustrates a block diagram of a search apparatus according to further embodiments of the present disclosure; and
fig. 9 illustrates a block diagram of an apparatus capable of implementing various embodiments of the present disclosure.
Detailed Description
It will be appreciated that prior to using the technical solutions disclosed in the embodiments of the present disclosure, the user should be informed and authorized of the type, usage range, usage scenario, etc. of the personal information related to the present disclosure in an appropriate manner according to the relevant legal regulations.
For example, in response to receiving an active request from a user, a prompt is sent to the user to explicitly prompt the user that the operation it is requesting to perform will require personal information to be obtained and used with the user. Thus, the user can autonomously select whether to provide personal information to software or hardware such as an electronic device, an application program, a server or a storage medium for executing the operation of the technical scheme of the present disclosure according to the prompt information.
As an alternative but non-limiting implementation, in response to receiving an active request from a user, the manner in which the prompt information is sent to the user may be, for example, a popup, in which the prompt information may be presented in a text manner. In addition, a selection control for the user to select to provide personal information to the electronic device in a 'consent' or 'disagreement' manner can be carried in the popup window.
It will be appreciated that the above-described notification and user authorization process is merely illustrative and not limiting of the implementations of the present disclosure, and that other ways of satisfying relevant legal regulations may be applied to the implementations of the present disclosure.
It will be appreciated that the data (including but not limited to the data itself, the acquisition or use of the data) involved in the present technical solution should comply with the corresponding legal regulations and the requirements of the relevant regulations.
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure have been illustrated in the accompanying drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather, these embodiments are provided so that this disclosure will be more thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be noted that any section/subsection headings provided herein are not limiting. Various embodiments are described throughout this document, and any type of embodiment may be included under any section/subsection. Furthermore, the embodiments described in any section/subsection may be combined in any manner with any other embodiment described in the same section/subsection and/or in a different section/subsection.
In describing embodiments of the present disclosure, the term "comprising" and its like should be taken to be open-ended, i.e., including, but not limited to. The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions are also possible below. The terms "first," "second," and the like, may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As mentioned briefly above, in cases where the transmission resources, computing resources, etc. of the server are less adequate and/or the network infrastructure is less complete, the search results may take a longer time to provide from the server to the client device. For example, where the server is located remotely or even overseas, the client device is typically a significant distance from the server. Especially in some areas the network infrastructure is poor, resulting in a large network transmission delay. In some cases, an insufficient number of equipment in the room where the server is located and the service demand continues to grow, resulting in a continuous degradation of transmission time, e.g., an increase in time per query of hundreds of milliseconds or even longer.
In order to solve the above and other potential problems, a search scheme is proposed according to the technical solution of the present disclosure. In this approach, a prediction result for a query is first provided to a client device, the prediction result being determined based on historical data of an area associated with the query. And then providing the supplemental information to the client device regarding subsequent processing of the predicted results to refine the overall search results. In contrast to schemes that traditionally provide search results in only one data transmission (e.g., one data packet) for one query request, the technical scheme according to the present disclosure may provide search results through multiple data transmissions (e.g., multiple data packets). In this way, by generating the predicted data and issuing it in advance before the search engine provides the search results, the time consumed by the search engine can be parallel to the generation and issuing of the predicted results, reducing service delay. Further, the extraction of the issued prediction results is determined based on historical data related to the query. This is advantageous for improving the accuracy of the prediction results, and thus reducing or even avoiding the subsequent delivery of supplemental information. In this way, reduction of service delay can be further facilitated.
Example Environment and interaction procedure
FIG. 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure may be implemented. A server 110 for providing a search service is shown in the environment 100, as is a client device 120 that uses the search service. The client device 120 sends a search request 101 to the server 120 based on user input (e.g., typed or spoken keywords) and receives search results 102 returned by the server 110.
In some embodiments, the client device 120 may have an application installed therein. The user may interact with the application via the client device 120 and/or an attached device of the client device 120 to initiate the search request 101. By way of example, the application may be a content sharing application that is at least capable of providing services related to media content to a user, such as browsing, commenting, forwarding, authoring, etc. of the media content. As used herein, "media content" may include a variety of forms including, but not limited to, images, video, audio, and the like.
Server 110 may be any type of server-side device with communication capabilities that may include, for example, a computing system, such as a mainframe, an edge computing node, a computing device in a cloud environment, and so forth. The server 110 may be a single server or may be a server cluster formed by a plurality of servers. Server 110 may also be a cloud computing service center or computing instance implemented by cloud computing resources. It should be understood that the above is merely an example of the server 110 and is not limiting, and that the server 110 may be a device having various forms or structures that may provide search services for the client device 120.
The client device 120 may be any type of terminal device having communication functions. The terminal device may be any type of mobile terminal, fixed terminal, or portable terminal, including a mobile handset, desktop computer, laptop computer, notebook computer, netbook computer, tablet computer, media computer, multimedia tablet, personal Communication System (PCS) device, personal navigation device, personal Digital Assistant (PDA), audio/video player, digital camera/camcorder, positioning device, television receiver, radio broadcast receiver, electronic book device, game device, or any combination of the preceding, including accessories and peripherals for these devices, or any combination thereof. Communication between the client device 120 and the server 110 may be through a wireless network or a wired network.
It should be understood that the structure and function of environment 100 are described above for illustrative purposes only and are not meant to suggest any limitation as to the scope of the disclosure. Some example embodiments of the present disclosure will be described below with continued reference to fig. 2 through 9.
FIG. 2 illustrates an exemplary interaction diagram 200 of a search process according to some embodiments of the present disclosure. The search process 200 of fig. 2 illustrates a process in which a server provides a search service for a client device. For ease of discussion, process 200 is described below with reference to server 110 and client device 120 in fig. 1. It should be understood that this is merely exemplary and is not intended to limit the present disclosure in any way. The servers and client devices in process 200 may be implemented as any other suitable devices.
As shown in fig. 2, client device 120 sends 205 a query to server 110. For ease of discussion, this query will be referred to hereinafter as the "current query". Upon receiving (210) the current query from the client device 120, the server 110 generates (215) a prediction result for the current query.
The predicted outcome may include one or more entries predicted from the current query. An entry for the predicted outcome may be media content (e.g., video, audio, image), user information, or other possible data that is predicted. For example, if the current query involves the persona of "Zhang Mou," the predicted results may include video, audio, images related to Zhang Mou, and may also include social account information of Zhang Mou, such as avatars, profiles, published media content, and so forth. It should be appreciated that the personal information included in the predicted outcome is compliant with the relevant regulations. For example, the user may have granted access to personal information, or the personal information returned to the client is processed.
In some embodiments, the predicted outcome may include all entries predicted from the current query, and the total number of entries may not be limited. Alternatively, in some embodiments, some restrictions may be placed on the predicted entry. For example, the prediction result may include only a predetermined number of entries (e.g., 4 entries) for the first screen presentation of the client device.
To obtain the prediction result, a variety of data sources may be used. Examples of data sources include historical queries over a period of time, candidate data created over a period of time, and profiles of users who initiated the current query. These data sources may be maintained by region. Accordingly, the server 110 determines a target region associated with the current query and then generates a prediction result in consideration of historical data of the target region. Having described the overall flow of process 200, an example embodiment of generating a prediction result using these data sources is described in detail below.
After generating the prediction, server 110 sends (220) the prediction to client device 120. In the description herein, the time consuming of transmitting the prediction result may include time consuming of data packing and time consuming of data transmission. Client device 120 receives 225 the prediction from server 110. Additionally, in some embodiments, the client device 120 may perform presentation-related preprocessing on the predicted results in response to receiving (225) the predicted results. For example, client device 110 may render but not present each entry in the prediction. In this way, the client device 110 may quickly adjust and present to the user subsequent to receiving supplemental information regarding the predicted structure. Therefore, the time consumption for presenting the result to the user is further shortened, and the user experience is improved.
The description continues on the server side. Upon receiving (210) the current query, the server 110 may generate search results for the current query through a local search engine or through a search engine in communication therewith. The search results may be generated using various known search engines, which are not described in detail herein. Similar to the content of the predicted results, the search results may include one or more entries determined by the search engine based on the current query, each of which may be media content (e.g., video, audio, images), user information, predicted other possible data, and so forth. It should be appreciated that the personal information included in the search results is also in compliance with relevant regulations. For example, the user may have granted access to personal information, or the personal information returned to the client is processed.
The process of generating search results for the current query may be performed in parallel with the process of generating (215) and/or transmitting (220) the predicted results, and in embodiments of the present disclosure, is not limited in their chronological relationship. Server 110, in response to the search engine generating search results for the current query, compares the predicted results to the search results (230). The server 110 then sends (235) supplemental information to the client device 120 regarding subsequent processing of the predicted outcome based on the outcome of the comparison. Accordingly, the client device 120 receives (240) the supplemental information from the server 110. The client device 120 then performs (245) an operation on the prediction result based on the supplemental information.
Depending on the result of the comparison, the supplemental information may include various suitable types of data and/or indications.
In some embodiments, the supplemental information may include update information generated based on the result of the comparison. The update information is used to update the predicted results to search results. Accordingly, the client device 120 updates the previously received prediction result to the search result based on the update information. If the client device 120 has previously rendered the prediction, a rendering update may be made and presented. For example, the updated results may indicate data and operations required to adjust the search results to the predicted results. Alternatively, the updated results may indicate a difference between the search results and the predicted results. In this case, the client device 120 may determine operations required to adjust the search results to the predicted results based on the differences.
Depending on the particular implementation of the search results and the predicted results, the update information may indicate the required update operations to the client device 120 in a correspondingly suitable manner. In some embodiments, the predicted results may include a first set of entries and the search results may include a second set of entries. In such an embodiment, the update result may indicate that a first set of entries arranged in a first order is updated to a second set of entries arranged in a second order. In this case, the update information may include, for example, but not limited to, deletion of an entry, addition of an entry, and/or replacement of an entry, and the like. For example, the predicted results include entry 1, entry 2, entry 3, and entry 4, while the search results include entry 1, entry 5, entry 3, and entry 4. The update information may indicate that entry 2 is replaced with entry 5.
Since the predicted results may be from historical queries, this results in that the specific content of the entries in the predicted results may not be up-to-date, and thus may be different in the predicted results and the search results, even for the same entry. In this context, the same item may refer to an item related to the same object or entity, e.g. an item related to the same video, an item of the same user. In view of this, in some embodiments, the update information may further indicate an update to the object description in the entry.
In particular, if an entry in the predicted result (also referred to as a first entry) and an entry in the search result (also referred to as a second entry) relate to the same object, the update information may indicate that the second entry has a different object description element than the first entry. The object description element may be present in an entry in the search result and not present in an entry in the predicted result; or may be different in search results and predicted results. Accordingly, the client device 120 may add the object description element to the previously received search results or modify the object description element originally present in the search results based on the supplemental information. As an example, if the entries in both the predicted result and the search result are user information for user a, the object description element may be the most recently published content for user a, such as video, photos, text, etc. As another example, if both the predicted result and the entry in the search structure relate to media content B, the object description element may be a praise, comment, forward number, etc. of media content B.
In some embodiments, the supplemental information may include an indication of how to process the search results. Specifically, the server 110 may determine the number of operations required to update the predicted result to the search result based on the result of the comparison (230). The number of operations may be, for example, the number of operations required to adjust the order of entries in the prediction result or to update the contents of the entries. If the number of operations is less than the first threshold number, a positive indication of the prediction result may be sent to the client device 120. Accordingly, the client device 120 may present the prediction results. If the client device 120 has previously rendered the prediction, the client device 120 may directly expose the rendered prediction. It should be appreciated that the particular value of the first threshold number may depend on requirements in terms of accuracy of query results, and the like. For example, if the requirements are severe, a positive indication may be sent only if the predicted result is consistent with the search result. As another example, if the requirements are relaxed, a positive indication may be sent even if the predicted outcome is slightly different from the search outcome (e.g., the same included entries but a different ordering).
If the number of operations required to update the predicted outcome to the search outcome is greater than the second threshold number, server 110 may send a negative indication of the predicted outcome to client device 120. Accordingly, the client device 120 foregoes rendering the predicted results. In this case, server 110 may send the search results to client device 120 for presentation. It should be appreciated that the second threshold number may depend on an estimate of the time required for the client device 120 to update the search results.
Conventionally, search results are provided in only one data transmission (e.g., one data packet) for one query request, respectively. In the example process 200, service delays can be reduced by generating and issuing predictive data in advance before a search engine provides search results, thereby enabling the search engine to consume time in parallel with the generation and issuing of predictive results.
Generation of prediction results
As mentioned above with reference to fig. 2, a variety of data sources may be used to generate the prediction results. One source of data may be historical queried data. For example, at least one historical query that matches the current query may be determined from the candidate historical queries, and a prediction result generated based on the matching historical queries.
In some embodiments, a historical query that matches a current query is not necessarily completely consistent with the current query in order to obtain more candidate entries for the predicted outcome. For example, if the current query and the historical query differ less semantically, then the two may be considered to be matching. As another example, a current query and a historical query may be considered matching if important features in the semantics of the current query and the historical query are consistent, e.g., the difference between terms that contributed to the current query and the historical query is less than a predetermined threshold. How the matching historical queries are determined will also be described in detail below with reference to FIG. 3.
To predict results for the current query, the server 110 may pre-build an appropriate database to store and maintain information related to candidate historical queries. In some embodiments, server 110 may store the most recent retrieval result for each query. Server 110 may then find the last query time that matched the current query and determine a predicted result based on the search results for the query. For example, the server 110 may determine a predicted result for the current query based on the last search result of the query of "Zhang Mou".
Alternatively or additionally, in some embodiments, the server 110 may pre-store information about queries that occur over a period of history (also referred to as a "second history period"). Such information may include the temporal distribution of query occurrences, frequency, search results each time, and so forth. For example, the time each query occurs over a period of time (e.g., the last 24 hours), the number of occurrences of entries in the search results, etc., may be calculated every hour.
In such embodiments, upon receiving the current query, server 110 may determine a number of historical queries that match the current query that occur during the historical time and may generate the prediction result based on the historical queries. By introducing historical queries over a period of time, more candidate data may be obtained. In this way, it may be advantageous to increase the hit rate of the prediction result, thereby reducing the update operation of the prediction result by the client device.
In some embodiments, the degree of discretization of the search results of the history queries (which may also be considered multiple searches of the same query) may be further considered when utilizing matching history queries. In particular, the degree of discretization of a plurality of historical search results for the plurality of historical queries may be determined, and the predicted results may be determined from the historical search results if the degree of discretization is low. A low degree of dispersion indicates that the historical search results are better and therefore can be used as predictive results. In some embodiments, if the degree of dispersion is determined to be less than the threshold degree of dispersion, a prediction result is determined based on the plurality of historical search results.
Sometimes the historical queries may be less real-time, e.g., the historical queries may include queries that were pushed forward for less than 24 hours from the current point in time. In view of this, in addition to or as an alternative to the historical query, in some embodiments, the data sources of the predicted outcomes may include newly created or newly published data, such as videos, images, text, etc., within a historical time (i.e., a first historical time period, e.g., the last 6 hours) that is closer to the current point in time, hereinafter referred to as "candidate search data". Then, a prediction result may be generated based on the candidate search data. In this way, streaming data can be used to supplement relatively real-time data, fusing the streaming data with offline statistical data to determine the prediction.
For example, data having a creation time within 6 hours from the request initiation time may be acquired from an offline data stream as candidate search data. In some embodiments, the candidate search data may be stored in a database, for example written to the same database as the historical queries. For example, the time stamp of the data creation may be taken as a score (score) and the count within 6 hours recorded under another key value (key). Server 110 may obtain candidate search data from the database and determine a prediction based thereon.
In some embodiments, it may be determined whether to use such more real-time candidate search data based on a predetermined policy. For example, if the number of historical queries matching the current query is less than a threshold number, data matching the current query may be determined from the candidate search data as at least a portion of the prediction results. As another example, if a set of historical queries matching the current query occur at a time near the current point in time, candidate search data may be used in generating the predicted results. The small number of matched historical queries or the recent centralized occurrence of matched historical queries may mean that the current query has strong real-time performance. Thus, candidate search data may be used in this case.
Information related to candidate historical queries and/or candidate search data may be stored in a database as pre-stored data, or referred to as historical data, for use as a predicted data source. As mentioned briefly above, the history data may be stored and maintained separately in different areas. The areas may be divided, for example, by geographic location, language type, administrative division, and the like. For example, different countries or regions located in the same continent may be divided into the same region, countries or regions in the same language of the official may be divided into the same region, and different regions may be distinguished according to administrative division of the countries and regions. It should be understood that the above description of regions is merely exemplary and not limiting, and that embodiments of the present disclosure may be divided into regions in a number of suitable ways. The historical data may include data associated with a region such as, but not limited to, historical queries that match the current query, candidate search data created over a recent period of time, and so forth.
With such historical data maintained per region, prediction per region can be made. Specifically, an area (hereinafter also referred to as a "first area") associated with the current user may be determined based on the profile of the current user. For example, the first area may be an area indicated in the current user registration information, or an area corresponding to a language used by the current user. As another example, the first region may be a region in which the current user is located when the current query is initiated. It should be appreciated that no matter what scheme the first region is determined, the user's authorization or permission should be obtained. Then, a prediction result may be determined based on the history data corresponding to the first region, as described above. In such an embodiment, the first region may be considered a target region.
In some embodiments, cross-region prediction may be performed for the current query. For example, if a result for the current query is not found in the history data corresponding to the first region, a region (hereinafter also referred to as "second region") corresponding to a history query (e.g., a last query) that matches the current query may be determined as the target region. Then, a prediction result may be determined based on the history data corresponding to the second region.
For example, a plurality of historical queries matching the current query may be looked up in the historical data corresponding to the second region and a prediction may be made based on the historical queries. As another example, the prediction may be based on candidate search data corresponding to the second region that is more real-time. By performing the cross-region prediction, the predicted data source can be further expanded, thereby improving the hit rate of the predicted result.
Alternatively or additionally, in some embodiments, the data source of the predicted outcome may include a profile of the current user who initiated the current query. The user's profile may include basic information about the user, such as which accounts the user is focusing on, praise information, comment content, forwarding situations, etc. Server 110 may determine whether the current query indicates another user associated with the current user based on the profile. If indicated, information related to the current user may be determined as at least a portion of the predicted outcome. For example, the server 110 may first determine that the current query "Zhang Sanj" has a "search user" intent. And then can determine that Zhang three is another user of interest to the current user based on the current user's profile. Accordingly, information of "Zhang San", such as identification information, introduction information, identity information, published media content list, etc., may be used as at least a part of the prediction result.
It should be appreciated that the use of the user profile in embodiments of the present disclosure has previously obtained authorization of the user. Furthermore, the use of user profiles is intended to provide services to users, and is not intended to expose sensitive and private information.
According to the technical scheme of the present disclosure, there are a plurality of data sources for determining the prediction result for the query, and the use strategies of these data sources can be flexibly adjusted/iterated, so that an accurate prediction result can be obtained. The prediction result obtained in this way may require only a small number of update operations, even no update operations. In addition, the technical scheme of the present disclosure can provide search results for the search request of the user rapidly, flexibly and accurately, and meanwhile, the constraint conditions are less, and the method and the device are suitable for wide application.
Example search procedure at server
Fig. 3 illustrates a schematic diagram of a process 300 of performing a search in accordance with some embodiments of the present disclosure. The process 300 may be implemented at a server side that provides a search service. For ease of discussion, the process 300 of FIG. 3 is described below with the aid of the environment 100 of FIG. 1, and in particular, the server 110. It should be understood that this is merely exemplary and is not intended to limit any of the embodiments of the present disclosure.
At block 310, the server 110 receives a query from the client device 120. In response to the query, server 110 may find and load information for the user initiating the query at client device 120. Server 110 may then execute two branches in parallel, one branch being the determination of conventional search results and the other branch being the generation and transmission of predicted results.
As shown in FIG. 3, at the determine branch of the conventional search results, process 300 proceeds to block 320 where server 110 determines the conventional search results for the query. In particular, server 110 performs an engine recall ordering, utilizing a search engine to generate search results for queries from client device 120. Recall is the process of obtaining a set of candidate content related to a query based on the input query. The ranking may be ranking the content in the candidate content set. If the relevant candidate content set cannot be recalled, even if the subsequent ranking method is very optimized, the search results for the query cannot be provided. Recall is therefore very important for search engines, which determines the quality of the search engine. Recall may be implemented by a variety of existing algorithms, such as word-based traditional recall, vector-based semantic recall, etc., and will not be described in detail herein.
The engine recall ordering process of block 320 is typically time consuming, e.g., 600ms. In embodiments according to the present disclosure, processing time may be reduced and processing efficiency may be improved by performing recall ordering of search engines (block 320) and associated processing of prediction data (blocks 330-350) in parallel.
In parallel with the engine recall ordering of block 320, at the generation and transmission branch of the prediction result, process 300 proceeds to block 330. At block 330, the server 110 generates a prediction result. As previously described, the prediction results may have a variety of data sources. For example, at least one historical query that matches the current query, candidate search data created over some historical period of time, a profile of the user that initiated the current query, and so forth.
In some embodiments, offline statistics may be utilized to determine the prediction results. Offline statistics are, for example, data related to historical queries over a period of time.
Offline statistics may be categorized by region, which may be divided by geographic location (e.g., by longitude, latitude, continent, etc.), language type, administrative division (e.g., by country, region, etc.), and so forth. The user's profile may include which region(s) the user is associated with. In this way, through the user's profile, the region associated with the querying user may be determined, resulting in offline statistics in the region, and thus one or more historical queries matching the current query.
If one or more historical queries matching the current query are not found in the offline statistics of the above region (also referred to as the first region), then the offline statistics of another region (also referred to as the second region) may be looked up. The second region may be determined, for example, in descending order with the same number of queries as the first region. For example, the second region may be determined from the first N countries (N is a positive integer, e.g., 8) that have the same number of queries as the first region and are the largest. For example, the N countries may be arranged in a descending order according to the same number of queries, and if the historical queries matched with the current query are not obtained in the offline statistics data in a certain area, the search may be continued by going to the area with the ranked query.
In some embodiments, to improve hit rate and maintainability, for each query, a region corresponding to the query may be recorded, and if the same query is subsequently received, a historical query matching the query may be directly determined from offline statistics in the recorded region. Alternatively, the historical query matching the query may be first looked up in the offline statistics of the current region, and in the event that no query is found, the recorded region may be looked up.
Historical queries that match queries received from client device 120 may be determined from offline statistics in a variety of ways. In some embodiments, this may be done by query normalization or normalization. Alternatively, in some embodiments, the historical queries for which the queries match may be determined by way of term matching.
In embodiments employing query normalization to determine matching historical queries, it may be determined whether two queries match based on semantics. For example, if one query is "hello, world" and the other query is "hello world", then because the semantics of the two queries are identical, the only difference is the punctuation used for assistance, the two queries can be considered to be matching.
In some embodiments, two stages of processing may be performed, taking into account the specificity of a portion of the languages. In the first level of processing, normalization may be done first using rules. Such rules include, for example, but are not limited to, converting multiple spaces into one space, removing punctuation marks, eliminating accent marks for certain languages (e.g., european language), and the like. Since such accent symbologies are typically emphasized without separate semantics, they are eliminated here for normalization. In the second stage of processing, the query may be first analyzed and terms in the query are normalized based on the analysis. Such normalization may have some effect on the meaning and may remove temporal, singular, and plural information. For example, the term "apples" contained in a query may be adjusted to "apples". Alternatively, in embodiments where term matching is employed to determine matching historical queries, each term after query analysis is segmented, the semantic contribution of each term to the overall query, also referred to as term importance, may be obtained, the intent of the query may be determined, and/or other information. By utilizing the information, a part of semantics corresponding to the query can be removed to exchange more matching historical queries, so that the hit rate is improved.
In addition to offline statistics, in some alternative or additional embodiments, streaming data may be used to provide relatively real-time results, i.e., to apply streaming data to the determination of predicted results. For example, candidate search data created over a historical period of time, such as creating data within the historical period of time (e.g., 6 hours nearest to the current time) from the request initiation time, may be obtained from an offline data stream. In some embodiments, candidate search data may be stored in a database. Server 110 may obtain candidate search data from the database and decide which portion of the data to package by a policy.
As another alternative for determining the predicted outcome, in some cases, the server 110 may determine the user's search intent, such as search content or search persona, from a query received from the client device 120. If a person is found to be involved in a user query and less data is relevant to the person, such as a user searching for a common friend, it is possible that there is little or no amount of historical query or related candidate search data for the query. In this case, in order to avoid that the predicted data is not available or is inaccurate, for example, the query from the client device 120 may sometimes include a unique identification of the user, such as uniq_id. By means of the unique identity of the user and the profile of the current user, it can be determined whether the current user wants to query for an object that is not his own friend or interest. If so, the accuracy and hit rate of the predicted result can be improved. In this way, for the case where the predicted data is of the user's intention and cannot be obtained, the predicted data of better quality can be obtained by querying the user profile.
After obtaining the predicted outcome, server 110 packages the predicted outcome at block 340. Since packaging may also be a relatively time-consuming process, such as 200ms, the processing efficiency of the server 110 may be effectively improved by this parallel processing approach. The server 110 then sends the packaged prediction data to the client device 120 at block 350.
The client device 120 may pre-process, such as render, the prediction data after receiving the prediction data. Since rendering is a relatively time consuming process, such as 200ms, before the client device 120 presents the final result for the query, which may be the predicted data or the predicted data may be the result after adjustment with the update information, the client device 120 may complete the relatively time consuming rendering operation in advance during a relatively long period of time when the server 110 determines the search result with the search engine, only after receiving a positive acknowledgement or update information from the server 110. In this way, the presentation efficiency of the client device 120 for the final result may be effectively improved.
After obtaining the predicted results and the search results, server 110 compares the two, e.g., at block 360, server 110 determines whether the predicted results hit the search results provided by the search engine after the recall ordering is performed. Based on the result of the comparison, the server 110 transmits supplementary information related to the subsequent processing of the predicted result to the client device 120. The supplemental information may include, for example, but is not limited to, a positive indication, a negative indication, update information, etc., for the prediction result.
In particular, if it is determined at block 360 that the prediction hits, server 110 may send a positive indication of the prediction to client device 120 at block 370. Upon receiving the positive indication, the client device 120 may then know that the prediction is accurate and may be presented without adjustment. If the predicted outcome misses, the server 110 may send a negative indication for the predicted outcome to the client device 120 at block 395. Upon receipt of the negative indication, the client device 120 may learn that the predicted outcome is inaccurate and may discard the predicted outcome directly. In the event that the predicted outcome is a partial hit, the server may generate update information for updating the predicted outcome to the search outcome based on the outcome of the comparison of both the predicted outcome and the search outcome at block 380 and send the update information to the client device 120 at block 390. The client device 120, upon receiving the update information, may update the previously received predicted results to search results and present the search results.
From the example process depicted in FIG. 3, the longer-time consuming engine recall ordering is parallel to prediction result generation, packaging, transmission, and optional client rendering from a time dimension. In contrast, in conventional schemes, the engine recall ordering, search result packaging, transmission, and client rendering are completely serial. Thus, in embodiments of the present disclosure, it is advantageous to increase search service speed.
Example procedure for generating supplemental information
Fig. 4 illustrates a schematic diagram of a process 400 of providing supplemental information in accordance with some embodiments of the present disclosure. The process 400 may be implemented at the server side. For ease of discussion, the process 400 of FIG. 4 is described below with the aid of the environment 100 of FIG. 1, and in particular, the server 110. It should be understood that this is merely exemplary and is not intended to limit any of the embodiments of the present disclosure.
At block 410, the server 110 initializes the predicted results and the search results. The prediction result may be obtained at block 215 or block 330, for example, and may include a plurality of entries (i.e., a sequence of entries) arranged in an order. The search results are, for example, a collection of multiple entries for the current query obtained by a search engine, which may be implemented as a sequence of entries. Server 110 may sort the entries in the predicted result and the search result separately to determine the order of the entries in the predicted result and the order of the entries in the search result.
At block 415, the server 110 reorders the prediction results. For example, server 110 may reorder entries in the predicted result that do not correspond to an order according to the order of the entries in the search result. In some embodiments, considering that it is the entries presented to the user that need to be expedited, at block 415 only a portion of the prediction results may be reordered, e.g., only the entries in the prediction results for the first screen presentation (such as the first 6 entries).
At block 420, a minimum edit distance is calculated for the entries in the predicted outcome and the entries in the search outcome. In an embodiment of the present disclosure, the edit distance is a quantitative measure of the degree of difference for a sequence of entries. The edit distance may be determined, for example, by determining how many times at least processing is required to change one sequence of entries to another sequence of entries. The edit distance may include, for example, a Levenshtein distance that allows operations such as entry addition, entry deletion, and entry replacement, and a Damerau-Levenshtein distance. The Damerau-Levenshtein distance is based on the Levenstein distance, allowing two adjacent entries to be swapped. The edit distance may be calculated in an unweighted or weighted manner. Each operation involved in editing distance may be given a different weight. For example, the weights of the swap, modify, add, and delete operations may be 0, 2, 1, and 3, respectively. It should be understood that the above examples of each operation and its weights are merely illustrative and not any limitations on the embodiments of the present disclosure. Embodiments of the present disclosure may set any suitable weight for an operation in the determination of edit distance.
Editing the sequence of entries of the predicted outcome as the sequence of entries of the search outcome may involve a plurality of editing paths, each editing path comprising one or more editing operations. The edit distance may be different for each edit path. Thus, a minimum edit distance to convert the entry sequence of the predicted result to an edit sequence of the search result may be calculated at block 420. In this way, the load on the client device 120 to edit the predicted results may be reduced, thereby increasing the speed of presentation of the search results.
At block 425, an editing operation is generated. For example, one or more editing operations to be performed may be deduced from the minimum editing distance obtained at block 420. Any suitable manner may be utilized herein to derive the editing operation corresponding to the minimum editing distance. The scope of the present disclosure is not limited in this respect.
At block 430, an entry update package is generated. According to the editing operation resulting from block 425, update information for adjusting the location of the entry in the prediction result may be generated and packaged into an update package.
At block 435, the entry order is checked. The order of entries in the adjusted predicted result is compared with the order of entries in the search result to determine if the two are consistent. After the verification is complete, at block 440, an update package for the entry subelement is generated. The entry sub-element may be the object description element described above. For example, for an item related to media content, the item subelement may include fields such as a praise number, a comment number, a reach number, and the like. For another example, for an entry related to user information, the entry sub-element may include a list of videos published by the user, and so on.
At block 445, a boundary condition check is performed. In this process, it may be checked whether the condition for returning the update package is satisfied. For example, the total number of replacement operations and addition operations cannot exceed 2.
If the boundary condition check is successful, at block 450, an additional update package is generated for the entry. The additional update package may include, for example, other information, such as colored eggs, etc., that is needed to inform the client device 120.
In block 455, the hit condition is fed back based on the result of the boundary condition check. If the result of the check indicates that no editing operation is required, a full hit is implied. In this case, the server 110 may send a positive indication to the client device 120, for example, setting the ACK in the indication to a value of 0. It will be appreciated that in this case, the entry update package generated at block 430 may or may not be null, and the child element update package generated at block 440 may or may not be null.
If the condition for returning the update package is not satisfied, for example, the total number of replacement operations and addition operations exceeds 2, a miss is implied. In this case, the server 110 may send a negative indication to the client device 120, e.g., setting the ACK in the indication to a value of-1. It will be appreciated that in this case, the entry update package generated at block 430 and the child element update package generated at block 440 may both be empty.
If the condition for returning the update package is satisfied, for example, the total number of replacement operations and addition operations is not more than 2, it means that the predicted result can be updated to the search result. In this case, the server 110 may send update information to the client device 120, which may be sent in the form of an update package, for example. The client device 120 may adjust the predicted results to the search results in accordance with the entry editing operations indicated by the updated information, thereby quickly obtaining more accurate search results in an efficient manner.
In some embodiments, the prediction results sent to the client device 120 include, for example, entries for the first screen presentation, so that the number of other entries to be provided to the client device 120 may be subsequently determined at block 460. For example, assuming that the first screen may present 6 entries at the client device 120, and a total of 10 entries for the first page presentation in the search results, then at block 460 a determination may be made as to the number of entries that also need to be provided to the client device 120, i.e., 4 entries.
Regarding the first transmission of the prediction result to the client device 120, this may be accomplished in a variety of ways. In some embodiments, if 6 items are required for the first screen, then M (M is an integer greater than or equal to 6) may be actually sent from the server 110 to the client device 120, and 6 items from these M items are selected for presentation at the first screen at the client device 120.
In some alternative embodiments, the first transmission may be performed from the server 110 to the client device 120 only for the items that are most likely to appear on the first screen, without concern for the order of the items.
In yet other alternative embodiments, different prediction outcome transmission policies may be determined for different sessions based on historical recall of the current query. Historical recall conditions may include a variety of information such as, but not limited to, how often the query was in the past 24 hours, how discrete the search results were, when the query was last searched, intent of the query, timeliness, the area in which the user making the query was (the area may be used to approximate a network infrastructure condition), performance scores for the client device, and so forth. The prediction result transmission policy may be made based on the above historical recall conditions and/or other information related to the current query. For example, for data with a relatively high hit rate, the number of entries sent from the server 110 to the client device 120 is reduced. For another example, the number of entries sent from the server 110 to the client device 120 is reduced for the case where server performance is poor, or where network infrastructure is poor. For another example, for data with a particularly low hit rate, the number of entries sent from server 110 to client device 120 is reduced. It should be appreciated that in such embodiments, the acquisition of the user's location area and/or client device performance score is previously authorized by the user.
Example methods and apparatus
Fig. 5 illustrates a flow chart of a search method 500 performed at a server side according to some embodiments of the present disclosure. The method 500 may be implemented at the server side. For ease of discussion, the method 500 of FIG. 5 is described below by taking the server 110 of FIG. 1 as an example. It should be understood that this is merely exemplary and is not intended to limit any of the embodiments of the present disclosure.
In block 505, the server 110, in response to receiving a current query from the client device 120, determines a target region associated with the current query. At block 510, the server 110 generates a prediction result for the current query based at least on target region history data corresponding to the target region.
In some embodiments, the target area history data includes at least one of: data of at least one historical query that matches the current query and is associated with the target region, candidate search data associated with the target region created during a first historical period, and the like.
In some embodiments, the at least one historical query comprises a plurality of historical queries that occur during a second historical period of time, and generating the prediction result comprises: determining a degree of discretization of a plurality of historical search results for a plurality of historical queries; and in response to determining that the degree of dispersion is less than the threshold degree of dispersion, determining a predicted outcome based on the plurality of historical search results.
In some embodiments, to generate the predicted outcome, the server 110 may determine data matching the current query from the candidate search data as at least a portion of the predicted outcome in response to determining that the number of at least one historical query is less than the threshold number.
In some embodiments, to generate the prediction result, server 110 may determine whether the current query indicates another user associated with the current user based on a profile of the current user that initiated the current query; and in response to determining that the current query indicates another user, determining information related to the current user as at least a portion of the predicted outcome.
In some embodiments, to determine the target region, the server 110 may determine a first region associated with the current user based on the profile of the current user initiating the current query; searching a result aiming at the current query in first area historical data corresponding to a first area; and determining a second area corresponding to the last query matched with the current query as a target area in response to the result of the current query not being found in the first area history data.
At block 520, the server 110 sends the prediction results to the client device 120. At block 530, server 110, in response to the search engine generating search results for the current query, compares the predicted results to the search results.
At block 540, the server 110 sends supplemental information to the client device 120 regarding subsequent processing of the predicted outcome based on the outcome of the comparison.
In some embodiments, to transmit the supplemental information, the server 110 may generate update information for updating the predicted result to the search result based on the result of the comparison, and transmit the update information to the client device 120.
In some embodiments, the predicted results include a first set of entries, the search results include a second set of entries, and the updated information indicates: the first set of entries arranged in the first order is updated to the second set of entries arranged in the second order. The update information may include at least one of: deletion of an entry, addition of an entry, and replacement of an entry.
In some embodiments, the first entry in the predicted outcome and the second entry in the search outcome relate to the same object, and the update information indicates: the second entry has a different object description element than the first entry.
In some embodiments, in response to the result of the comparison indicating that the number of operations required to update the predicted result to the search result is less than the first threshold number, server 110 may send a positive indication of the predicted result to client device 120. Alternatively, in response to the result of the comparison indicating that the number of operations required to update the predicted result to the search result is greater than the second threshold number, the server 110 may send a negative indication of the predicted result to the client device 120.
Fig. 6 illustrates a flow chart of a search method 600 performed at a client device according to some embodiments of the present disclosure. The method 600 may be implemented at the client device side. For ease of discussion, the method 600 of FIG. 6 is described below by taking the client device 120 of FIG. 1 as an example. It should be understood that this is merely exemplary and is not intended to limit any of the embodiments of the present disclosure.
At block 610, the client device 120 sends the current query to the server.
At block 620, the client device 120 receives a prediction result for the current query from the server. The prediction results are generated based on target region history data corresponding to a target region, and the target region is associated with the current query. In some embodiments, in response to receiving the prediction, the client device 120 may pre-process the prediction in connection with presentation.
At block 630, the client device 120 receives, from the server, supplemental information related to subsequent processing of the predicted outcome, the supplemental information generated based on a comparison of the predicted outcome and search results generated by the search engine.
At block 640, the client device 120 performs an operation on the prediction result based on the supplemental information.
In some embodiments, the client device 120 may update the predicted results to the search results based on the update information included in the supplemental information and present the search results.
In some embodiments, the predicted results include a first set of entries and the search results include a second set of entries. The client device 120 may update the first group of items arranged in the first order to the second group of items arranged in the second order according to the item editing operation indicated by the update information. The item editing operation may include at least one of: deletion of an entry, addition of an entry, and replacement of an entry.
In some embodiments, the first entry in the predicted result and the second entry in the search result relate to the same object. The client device 120 may update the first entry to have an object description element in response to the update information indicating that the second result has an object description element different from the first entry.
In some embodiments, the client device 120 may render the predicted outcome in response to the supplemental information including a positive indication of the predicted outcome, or may forgo rendering the predicted outcome in response to the supplemental information including a negative indication of the predicted outcome.
Fig. 7 illustrates a block diagram of a search apparatus 700 according to some embodiments of the present disclosure. The apparatus 700 may be implemented as or included in the server 110. The various modules/components in apparatus 700 may be implemented in hardware, software, firmware, or any combination thereof.
As shown, the apparatus 700 includes: a target region determination module 705 configured to determine a target region associated with a current query in response to receiving the current query from the client device at the server; a prediction result generation module 710 configured to generate a prediction result for the current query based at least on target region history data corresponding to the target region; a prediction result transmitting module 720 configured to transmit a prediction result to the client device; a comparison module 730 configured to compare the predicted results with the search results in response to the search engine generating search results for the current query; and a supplementary information transmitting module 740 configured to transmit supplementary information related to the subsequent processing of the predicted result to the client device based on the result of the comparison.
In some embodiments, the target area history data includes at least one of: data of at least one historical query that matches the current query and is associated with the target region, or candidate search data associated with the target region created during the first historical period.
In some embodiments, the at least one historical query comprises a plurality of historical queries occurring during a second historical period of time, and the prediction result generation module is further configured to: determining a degree of discretization of a plurality of historical search results for a plurality of historical queries; and in response to determining that the degree of dispersion is less than the threshold degree of dispersion, determining a predicted outcome based on the plurality of historical search results.
In some embodiments, the prediction result generation module 710 is further configured to: in response to determining that the number of at least one historical query is less than the threshold number, data matching the current query is determined from the candidate search data as at least a portion of the predicted results.
In some embodiments, the prediction result generation module 710 is further configured to: determining whether the current query indicates another user associated with the current user based on a profile of the current user initiating the current query; and in response to determining that the current query indicates another user, determining information related to the current user as part of the predicted outcome.
In some embodiments, the target region determination module 705 is further configured to: determining a first region associated with the current user based on a profile of the current user initiating the current query; searching a result aiming at the current query in first area historical data corresponding to a first area; and determining a second area corresponding to the history query matched with the current query as a target area in response to the result of the current query not being found in the first area history data.
In some embodiments, the supplemental information transmission module 740 is further configured to: generating update information for updating the predicted result to the search result based on the result of the comparison; and sending the update information to the client device.
In some embodiments, the predicted results include a first set of entries, the search results include a second set of entries, and the updated information indicates: the first set of entries arranged in the first order is updated to the second set of entries arranged in the second order. The update information may include at least one of: deletion of an entry, addition of an entry, and replacement of an entry.
In some embodiments, the first entry in the predicted outcome and the second entry in the search outcome relate to the same object, and the update information indicates: the second entry has a different object description element than the first entry.
In some embodiments, the supplemental information transmission module 740 is further configured to: a positive indication of the predicted outcome is sent to the client device in response to the outcome of the comparison indicating that the number of operations required to update the predicted outcome to the search outcome is less than the first threshold number, or a negative indication of the predicted outcome is sent to the client device in response to the outcome of the comparison indicating that the number of operations required to update the predicted outcome to the search outcome is greater than the second threshold number.
Fig. 8 illustrates a block diagram of a search apparatus 800 according to further embodiments of the present disclosure. The apparatus 800 may be implemented as or included in the client device 120. The various modules/components in apparatus 800 may be implemented in hardware, software, firmware, or any combination thereof.
As shown, the apparatus 800 includes a query sending module 810 configured to send a current query to a server at a client device; a prediction result receiving module 820 configured to receive a prediction result for a current query from a server, wherein the prediction result is generated based on target region history data corresponding to a target region, and the target region is associated with the current query; a supplemental information receiving module 830 configured to receive supplemental information from the server regarding subsequent processing of the predicted result, the supplemental information being generated based on a comparison of the predicted result and search results generated by the search engine; and an operation performing module 840 configured to perform an operation on the prediction result based on the supplementary information.
In some embodiments, apparatus 800 may further comprise a preprocessing module configured to, in response to receiving the prediction result, perform presentation-related preprocessing on the prediction result.
In some embodiments, the operation execution module 840 is further configured to: updating the predicted result to a search result based on update information included in the supplemental information; and presenting the search results.
In some embodiments, the predicted results include a first set of entries, the search results include a second set of entries, and the operation execution module 840 is further configured to: updating the first set of items arranged in the first order to the second set of items arranged in the second order according to the item editing operation indicated by the update information, wherein the item editing operation includes at least one of: deletion of an entry, addition of an entry, and replacement of an entry.
In some embodiments, the first entry in the predicted outcome and the second entry in the search outcome relate to the same object, and wherein the operation execution module 840 is further configured to: the first entry is updated to have an object description element in response to the update information indicating that the second result has an object description element different from the first entry.
In some embodiments, the operation execution module 840 is further configured to: presenting the predicted outcome in response to the supplemental information comprising a positive indication of the predicted outcome, or configured to forgo presenting the predicted outcome in response to the supplemental information comprising a negative indication of the predicted outcome.
Fig. 9 illustrates a block diagram that shows an electronic device 900 in which one or more embodiments of the disclosure may be implemented. It should be understood that the electronic device 900 illustrated in fig. 9 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 900 illustrated in fig. 9 may be used to implement the server 110 and/or the client device 120 of fig. 1.
As shown in fig. 9, the electronic device 900 is in the form of a general-purpose electronic device. Components of electronic device 900 may include, but are not limited to, one or more processors or processing units 910, memory 920, storage 930, one or more communication units 940, one or more input devices 950, and one or more output devices 960. The processing unit 910 may be an actual or virtual processor and is capable of performing various processes according to programs stored in the memory 920. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to increase the parallel processing capabilities of electronic device 900.
Electronic device 900 typically includes multiple computer storage media. Such a medium may be any available media that is accessible by electronic device 900, including, but not limited to, volatile and non-volatile media, removable and non-removable media. The memory 920 may be volatile memory (e.g., registers, cache, random Access Memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 930 may be a removable or non-removable medium and may include machine-readable media such as flash drives, magnetic disks, or any other medium that may be capable of storing information and/or data (e.g., training data for training) and may be accessed within electronic device 900.
The electronic device 900 may further include additional removable/non-removable, volatile/nonvolatile storage media. Although not shown in fig. 9, a magnetic disk drive for reading from or writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk may be provided. In these cases, each drive may be connected to a bus (not shown) by one or more data medium interfaces. Memory 920 may include a computer program product 925 having one or more program modules configured to perform the various methods or acts of the various embodiments of the disclosure.
The communication unit 940 enables communication with other electronic devices via a communication medium. Additionally, the functionality of the components of the electronic device 900 may be implemented in a single computing cluster or in multiple computing machines capable of communicating over a communications connection. Thus, the electronic device 900 may operate in a networked environment using logical connections to one or more other servers, a network Personal Computer (PC), or another network node.
The input device 950 may be one or more input devices such as a mouse, keyboard, trackball, etc. The output device 960 may be one or more output devices such as a display, speakers, printer, etc. The electronic device 900 may also communicate with one or more external devices (not shown), such as storage devices, display devices, etc., with one or more devices that enable a user to interact with the electronic device 900, or with any device (e.g., network card, modem, etc.) that enables the electronic device 900 to communicate with one or more other electronic devices, as desired, via the communication unit 940. Such communication may be performed via an input/output (I/O) interface (not shown).
According to an exemplary implementation of the present disclosure, a computer-readable storage medium having stored thereon computer-executable instructions, wherein the computer-executable instructions are executed by a processor to implement the method described above is provided. According to an exemplary implementation of the present disclosure, there is also provided a computer program product tangibly stored on a non-transitory computer-readable medium and comprising computer-executable instructions that are executed by a processor to implement the method described above.
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus, devices, and computer program products implemented according to the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable medium having the instructions stored therein includes an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The foregoing description of implementations of the present disclosure has been provided for illustrative purposes, is not exhaustive, and is not limited to the implementations disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the various implementations described. The terminology used herein was chosen in order to best explain the principles of each implementation, the practical application, or the improvement of technology in the marketplace, or to enable others of ordinary skill in the art to understand each implementation disclosed herein.

Claims (20)

1. A search method, comprising:
responsive to receiving a current query at a server from a client device, determining a target region associated with the current query;
generating a prediction result for the current query based at least on target region history data corresponding to the target region;
sending the prediction result to the client device;
in response to a search engine generating search results for the current query, comparing the predicted results to the search results; and
based on the result of the comparison, supplementary information relating to subsequent processing of the predicted result is transmitted to the client device.
2. The method of claim 1, wherein the target area history data comprises at least one of:
data of at least one historical query matching the current query and associated with the target region, or
Candidate search data associated with the target region created during a first historical period of time.
3. The method of claim 2, wherein the at least one historical query comprises a plurality of historical queries occurring over a second historical period of time, and generating the prediction result comprises:
determining a degree of discretization of a plurality of historical search results for the plurality of historical queries; and
in response to determining that the degree of dispersion is less than a threshold degree of dispersion, the predicted outcome is determined based on the plurality of historical search results.
4. The method of claim 2, wherein generating the prediction result comprises:
in response to determining that the number of the at least one historical query is less than a threshold number, data matching the current query is determined from the candidate search data as at least a portion of the predicted outcome.
5. The method of claim 1, further comprising:
determining, based on a profile of a current user that initiated the current query, whether the current query indicates another user associated with the current user; and
In response to determining that the current query indicates the other user, information related to the current user is determined as part of the prediction result.
6. The method of claim 1, wherein determining the target region comprises:
determining a first region associated with a current user initiating the current query based on a profile of the current user;
searching a result aiming at the current query in first area historical data corresponding to the first area; and
and determining a second area corresponding to the history query matched with the current query as the target area in response to the fact that the result of the current query is not found in the first area history data.
7. The method of claim 1, wherein transmitting the supplemental information comprises:
generating update information for updating the predicted result to the search result based on the result of the comparison; and
and sending the update information to the client device.
8. The method of claim 7, wherein the predicted outcome comprises a first set of entries, the search outcome comprises a second set of entries, and the updated information indicates:
Updating the first set of entries arranged in a first order to the second set of entries arranged in a second order, and comprising at least one of:
the deletion of an entry is performed,
the addition of an entry is made,
replacement of an entry.
9. The method of claim 7 or 8, wherein a first entry in the predicted outcome and a second entry in the search outcome relate to the same object, and the updated information indicates:
the second entry has a different object description element than the first entry.
10. The method of claim 1, wherein transmitting the supplemental information comprises:
in response to the result of the comparison indicating that the number of operations required to update the predicted result to the search result is less than a first threshold number, sending a positive indication of the predicted result to the client device, or
Responsive to the result of the comparison indicating that the number of operations required to update the predicted result to the search result is greater than a second threshold number, a negative indication of the predicted result is sent to the client device.
11. A search method, comprising:
transmitting, at the client device, the current query to the server;
Receiving, from the server, a prediction for the current query, wherein the prediction is generated based on target region history data corresponding to a target region, and the target region is associated with the current query;
receiving supplemental information from the server relating to subsequent processing of the predicted outcome, the supplemental information generated based on a comparison of the predicted outcome and search results generated by a search engine; and
and executing operation on the prediction result based on the supplementary information.
12. The method of claim 11, further comprising:
in response to receiving the predicted outcome, pre-processing the predicted outcome in connection with rendering.
13. The method of claim 12, wherein performing an operation on the prediction result comprises:
updating the prediction result to the search result based on update information included in the supplemental information; and
presenting the search results.
14. The method of claim 13, wherein the predicted outcome comprises a first set of entries, the search outcome comprises a second set of entries, and updating the predicted outcome to the search outcome comprises:
Updating the first group of items arranged in a first order to the second group of items arranged in a second order in accordance with an item editing operation indicated by the update information,
wherein the entry editing operation includes at least one of:
the deletion of an entry is performed,
the addition of an entry is made,
replacement of an entry.
15. The method of claim 13 or 14, wherein a first entry in the predicted outcome and a second entry in the search outcome relate to the same object, and updating the predicted outcome to the search outcome comprises:
the first entry is updated to have the object description element in response to the update information indicating that the second result has an object description element different from the first entry.
16. The method of claim 11, wherein performing an operation on the prediction result comprises:
in response to the supplemental information including a positive indication of the predicted outcome, presenting the predicted outcome, or
Responsive to the supplemental information including a negative indication of the predicted outcome, the predicted outcome is relinquished from being presented.
17. A search apparatus comprising:
a target region determination module configured to determine a target region associated with a current query in response to receiving the current query from a client device at a server;
A prediction result generation module configured to generate a prediction result for the current query based at least on target region history data corresponding to the target region;
a prediction result sending module configured to send the prediction result to the client device;
a comparison module configured to compare the predicted result to search results for the current query in response to a search engine generating the search results; and
and a supplementary information transmitting module configured to transmit supplementary information related to a subsequent process of the predicted result to the client device based on a result of the comparison.
18. A search apparatus comprising:
a query sending module configured to send a current query to a server at a client device;
a prediction receiving module configured to receive a prediction for the current query from the server, wherein the prediction is generated based on target region history data corresponding to a target region, and the target region is associated with the current query;
a supplemental information receiving module configured to receive supplemental information from the server regarding subsequent processing of the predicted result, the supplemental information generated based on a comparison of the predicted result and search results generated by a search engine; and
And an operation execution module configured to execute an operation on the prediction result based on the supplemental information.
19. An electronic device, comprising:
at least one processing unit; and
at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, which when executed by the at least one processing unit, cause the electronic device to perform the method of any one of claims 1 to 10 or the method of any one of claims 11 to 16.
20. A computer readable storage medium having stored thereon a computer program executable by a processor to implement the method of any one of claims 1 to 10 or the method of any one of claims 11 to 16.
CN202310152761.8A 2023-02-22 2023-02-22 Searching method, searching device, searching equipment and storage medium Pending CN116136879A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310152761.8A CN116136879A (en) 2023-02-22 2023-02-22 Searching method, searching device, searching equipment and storage medium
PCT/CN2024/076036 WO2024174865A1 (en) 2023-02-22 2024-02-05 Search method and apparatus, and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310152761.8A CN116136879A (en) 2023-02-22 2023-02-22 Searching method, searching device, searching equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116136879A true CN116136879A (en) 2023-05-19

Family

ID=86333468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310152761.8A Pending CN116136879A (en) 2023-02-22 2023-02-22 Searching method, searching device, searching equipment and storage medium

Country Status (2)

Country Link
CN (1) CN116136879A (en)
WO (1) WO2024174865A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680455A (en) * 2023-05-22 2023-09-01 北京百度网讯科技有限公司 Information display method, device, electronic device and storage medium
WO2024174865A1 (en) * 2023-02-22 2024-08-29 抖音视界有限公司 Search method and apparatus, and device and storage medium
CN119312393A (en) * 2024-09-27 2025-01-14 北京字跳网络技术有限公司 Data processing method, device, equipment, storage medium and program product
WO2025073184A1 (en) * 2023-10-03 2025-04-10 Huawei Cloud Computing Technologies Co., Ltd. Data query method and apparatus for adjusting data loading to reduce query latency

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372222A (en) * 2009-12-04 2017-02-01 谷歌公司 Location-based searching
CN112905927A (en) * 2021-03-19 2021-06-04 北京字节跳动网络技术有限公司 Searching method, device, equipment and medium
CN114238729A (en) * 2021-11-19 2022-03-25 中国建设银行股份有限公司 Geographic location information determination method, apparatus, device, medium and program product
CN114691961A (en) * 2022-03-30 2022-07-01 北京三快在线科技有限公司 Query word processing method and device, electronic equipment and storage medium
CN115168752A (en) * 2022-08-03 2022-10-11 中国平安财产保险股份有限公司 Big data query method and device, electronic equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617253B (en) * 2013-11-29 2018-01-30 百度在线网络技术(北京)有限公司 searching method, client and server
CN109101658B (en) * 2018-08-31 2022-05-10 优视科技新加坡有限公司 Information searching method and device, and equipment/terminal/server
CN112579897B (en) * 2020-12-16 2023-07-28 北京百度网讯科技有限公司 Information searching method and device
CN113094604B (en) * 2021-04-15 2022-05-03 支付宝(杭州)信息技术有限公司 Search result ordering method, search method and device
CN115438166A (en) * 2022-09-29 2022-12-06 招商局金融科技有限公司 Keyword and semantic-based searching method, device, equipment and storage medium
CN116136879A (en) * 2023-02-22 2023-05-19 抖音视界有限公司 Searching method, searching device, searching equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372222A (en) * 2009-12-04 2017-02-01 谷歌公司 Location-based searching
CN112905927A (en) * 2021-03-19 2021-06-04 北京字节跳动网络技术有限公司 Searching method, device, equipment and medium
CN114238729A (en) * 2021-11-19 2022-03-25 中国建设银行股份有限公司 Geographic location information determination method, apparatus, device, medium and program product
CN114691961A (en) * 2022-03-30 2022-07-01 北京三快在线科技有限公司 Query word processing method and device, electronic equipment and storage medium
CN115168752A (en) * 2022-08-03 2022-10-11 中国平安财产保险股份有限公司 Big data query method and device, electronic equipment and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024174865A1 (en) * 2023-02-22 2024-08-29 抖音视界有限公司 Search method and apparatus, and device and storage medium
CN116680455A (en) * 2023-05-22 2023-09-01 北京百度网讯科技有限公司 Information display method, device, electronic device and storage medium
WO2025073184A1 (en) * 2023-10-03 2025-04-10 Huawei Cloud Computing Technologies Co., Ltd. Data query method and apparatus for adjusting data loading to reduce query latency
US12405950B2 (en) 2023-10-03 2025-09-02 Huawei Cloud Computing Technologies Co., Ltd. Data query method and apparatus for adjusting data loading to reduce query latency
CN119312393A (en) * 2024-09-27 2025-01-14 北京字跳网络技术有限公司 Data processing method, device, equipment, storage medium and program product

Also Published As

Publication number Publication date
WO2024174865A1 (en) 2024-08-29

Similar Documents

Publication Publication Date Title
CN116136879A (en) Searching method, searching device, searching equipment and storage medium
US11570512B2 (en) Watch-time clustering for video searches
US20250245284A1 (en) Predicting non-observable parameters for digital components
US10650071B2 (en) Search and retrieval of keyed data maintained using a keyed database
US10931785B2 (en) Content delivery acceleration system
CN110275983B (en) Retrieval method and device of traffic monitoring data
US10255319B2 (en) Searchable index
US12443883B2 (en) Generating, using a machine learning model, request agnostic interaction scores for electronic communications, and utilization of same
CN110990533B (en) Method and device for determining standard text corresponding to query text
CN103593353B (en) Information search method, displaying information sorting weighted value determine method and its device
US20150379074A1 (en) Identification of intents from query reformulations in search
US12437021B2 (en) Search and retrieval of keyed data maintained using a keyed database
US20210337032A1 (en) Optimizing network utilization
WO2024020708A1 (en) Data processing method and apparatus for user profile, device, medium, and program
CN117251521B (en) Content searching method, content searching device, computer equipment, storage medium and product
CN110705251B (en) Text analysis method and device executed by computer
CN112084290B (en) Data retrieval method, device, equipment and storage medium
CN120541127A (en) Search enhancement method and electronic device
CN119311938A (en) A method, device, equipment and storage medium for content search
CN120803323A (en) Interface interaction method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination