Video search based on search intent

By detecting search intent and prioritizing video segments in video search systems, the method addresses the inefficiencies of current video search technologies, enhancing search efficiency and relevance for users.

WO2025065212A1PCT designated stage expired Publication Date: 2025-04-03MICROSOFT TECHNOLOGY LICENSING LLC +7
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/121359
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Current video search technologies are limited to video-level retrieval, making it inefficient for users to find specific information within videos, as retrieved videos may not exactly match the user's query.

Method used

The proposed method involves detecting the search intent of a query to determine whether video segment search is necessary. By receiving a query in natural language, the system recalls and ranks both videos and video segments relevant to the query, with video segments being prioritized when search intent indicates a need for them.

Benefits of technology

This approach ensures that video segments are searched only when intended, saving computational resources and improving search efficiency, while providing search results that align with the user's intent by prioritizing relevant video segments over videos.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023121359_03042025_PF_FP_ABST
    Figure CN2023121359_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure proposes a method, apparatus and computer program product for video search. A query in natural language may be received. A video set relevant to the query may be recalled from a video corpus. The video set may be ranked and filtered, to obtain a video subset. A video segment set relevant to the query may be recalled from a video segment corpus corresponding to the video corpus. The video segment set may be ranked and filtered, to obtain a video segment subset. It may be detected whether the query indicates video segment search intent. In response to detecting that the query indicates video segment search intent, the video subset and the video segment subset may be jointly ranked through prioritizing the video segment subset over the video subset, to produce a search result set for the query.
Need to check novelty before this filing date? Find Prior Art

Description

VIDEO SEARCH BASED ON SEARCH INTENTBACKGROUND

[0001] With the development of computer technology and network technology, people are increasingly acquiring their needed information through the network. Applications such as search engines may help people easily acquire information on the network. For example, a user may enter a query into a search box of a search engine. In response to receiving the query, content relevant to the query can be recalled from a pre-established index database. Subsequently, the recalled content can be ranked, and highest ranked content can be presented to the user via a search result page on the search engine.SUMMARY

[0002] This Summary is provided to introduce a selection of concepts that are further described below in the Detailed Description. It is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0003] Embodiments of the present disclosure propose a method, apparatus and computer-readable medium for video search. A query in natural language may be received. A video set relevant to the query may be recalled from a video corpus. The video set may be ranked and filtered, to obtain a video subset. A video segment set relevant to the query may be recalled from a video segment corpus corresponding to the video corpus. The video segment set may be ranked and filtered, to obtain a video segment subset. It may be detected whether the query indicates video segment search intent. In response to detecting that the query indicates video segment search intent, the video subset and the video segment subset may be jointly ranked through prioritizing the video segment subset over the video subset, to produce a search result set for the query.

[0004] It should be noted that the above one or more aspects comprise the features hereinafter fully described and particularly pointed out in the claims. The following description and the drawings set forth in detail certain illustrative features of the one or more aspects. These features are only indicative of the various ways in which the principles of various aspects may be employed, and this disclosure is intended to  include all such aspects and their equivalents.BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The disclosed aspects will hereinafter be described in connection with the appended drawings that are provided to illustrate and not to limit the disclosed aspects.

[0006] FIG. 1 illustrates an exemplary process for video segmentation according to an embodiment of the present disclosure.

[0007] FIG. 2 illustrates an exemplary process for detecting search intent of a query through a set of historical search results for the query according to an embodiment of the present disclosure.

[0008] FIG. 3 illustrates an exemplary process for video search based on search intent according to an embodiment of the present disclosure.

[0009] FIG. 4 illustrates an exemplary process for jointly ranking a video subset and a video segment subset according to an embodiment of the present disclosure.

[0010] FIG. 5 illustrates an exemplary process for filtering a search result set for a query according to an embodiment of the present disclosure.

[0011] FIG. 6 is a flowchart of an exemplary method for video search according to an embodiment of the present disclosure.

[0012] FIG. 7 illustrates an exemplary apparatus for video search according to an embodiment of the present disclosure.

[0013] FIG. 8 illustrates another exemplary apparatus for video search according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0014] The present disclosure will now be discussed with reference to several example implementations. It is to be understood that these implementations are discussed only for enabling those skilled in the art to better understand and thus implement the embodiments of the present disclosure, rather than suggesting any limitations on the scope of the present disclosure.

[0015] People can enter queries into search boxes of search engines or video websites to search for desired videos. Current video search is limited to video level retrieval. Upon receiving a query from a user, videos relevant to the query can be retrieved and presented to the user. For a specific query, such as "how to learn butterfly  stroke breath" , "the video demo that interprets how Transformer works" , etc., the retrieved and presented videos might not match the query exactly. Users need to spend time to find desired information from the videos.

[0016] Embodiments of the present disclosure propose video search based on search intent. After receiving a query in natural language, videos and / or video segments relevant to the query may be searched. Herein, a video refers to a data file originally crawled from the Web that contains a series of images and associated audio. The video crawled from the Web includes multiple portions that are segmented over time, and each portion is referred to as a video segment. It should be appreciated that, in the context of the present disclosure, when a portion of an original video can be crawled from the Web, the portion of the original video can be referred to as a video. The searched videos and / or video segments may be ranked, to produce a search result set for the query.

[0017] Search intent of the query may be detected. The search intent may be, e.g., video only search intent, video and video segment search intent, etc. For a given query, if there are lots of videos relevant to the query on the Web, search intent of the query might be video only search intent, since there might be no need to search video segments. If there are few videos even no video relevant to the query on the Web, search intent of the query might be video and video segment search intent, since video segments may need to be searched. For example, search intent of a query “salmon” might be video only search intent, since there should be lots of videos on the Web specifically introducing the salmon. Search intent of a query “how long to bake salmon” might be video and video segment search intent, since there may be few videos on the Web that specifically explains how long salmon should be baked, and such content may only be mentioned in some video segments. The embodiments of the present disclosure propose several implementations for detecting search intent of a query, e.g., through a machine learning-based classification model, a set of query evaluation rules, a set of historical search results for the query, etc.

[0018] Video segment search for a query may be triggered based on search intent of the query. If the search intent of the query is video only search intent, that is, the query does not indicate video segment search intent, the video segment search will not be triggered. In this case, only videos relevant to the query will be searched. If the search intent of the query is video and video segment search intent, that is, the query  indicates video segment search intent, the video segment search will be triggered. In this case, both videos and video segments relevant to the query will be searched. The above approach can ensure that video segment search is triggered only when the query indicates video segment search intent, which can save computational resources and improve search efficiency.

[0019] If the search intent of the query is video and video segment search intent, that is, the query indicates video segment search intent, both videos and video segments relevant to the query may be searched, and the searched videos and video segments can be jointly ranked, to produce a search result set for the query. The searched video segments may be prioritized over the searched videos in jointly ranking. This approach causes the video segments to be ranked above the videos in the search result set, thus enabling the search result set for the query to be consistent with the search intent of the query.

[0020] Various embodiments of the present disclosure will hereinafter be described in connection with the appended drawings.

[0021] FIG. 1 illustrates an exemplary process 100 for video segmentation according to an embodiment of the present disclosure.

[0022] A video corpus 102 includes a large number of videos crawled from the Web through web crawling and video extraction technologies. A video 104 may be a newly crawled video in the video corpus 102.

[0023] Firstly, a transcript 112 of the video 104 may be acquired. At 110, a transcript 112 may be extracted from the video 104. If the video 104 initially does not have a transcript, the process 100 may proceed to 120. At 120, audio 122 may be extracted from the video 104. Then, at 130, the audio 122 may be transcribed to the transcript 112.

[0024] Subsequently, the video 104 may be segmented into a plurality of video segments 150 based on the transcript 112 and a prompt 142 through a machine learning-based segmentation model 140. The prompt 142 may be manually written, or automatically created through a program. The prompt 142 can indicate an operation that the segmentation model 140 should perform and specify the requirements for the output of the segmentation model 140. The segmentation model 140 can segment the video 104 into the plurality of video segments 150 based on its understanding of the video 104. As illustrated in FIG. 1, each video segment in the plurality of video segments 150  is associated with a segment-level feature set. The segment-level feature set of each segment may include timestamp, length, title, description, etc. of the video segment.

[0025] The segmentation model 140 may be a Large Language Model (LLM) . Alternatively, the segmentation model 140 may be a lightweight model which is obtained through performing Knowledge Distillation with a LLM. Preferably, for a small number of videos with high exposure in the video search history, a LLM may be employed to perform the video segmentation, while for a large number of videos with low exposure in the video search history, a lightweight model distilled from a LLM may be employed to perform the video segmentation. Employing a LLM to perform the video segmentation can achieve optimal video segmentation quality, while obtaining training data for training a lightweight model. Employing a lightweight model distilled from a LLM to perform the video segmentation can achieve fast video segmentation, while ensuring good video segmentation quality.

[0026] Each video segment in the plurality of video segments 150 can be also associated with a video-level feature set of the video 104. The video-level feature set may include, e.g., title, description, clicked query, thumbnail, etc. of the video 104. The clicked query of the video 104 indicates which query's search result the video 104 was when it was clicked.

[0027] The process 100 may be performed on any video or any new crawled video on the Web, thereby constructing a video segment corpus. The video segment corpus can be used for performing video segment-level recalling and ranking for a given query.

[0028] It should be appreciated that the process 100 in FIG. 1 is merely an example of the process for video segmentation. Depending on actual application requirements, the steps in the process for video segmentation may be replaced or modified in any manner, and the process may comprise more or fewer steps. For example, in addition to the transcript 112 or the audio 122, other information, such as images, of the video 104 may also be utilized for the video segmentation. Accordingly, the segmentation model 140 may be a multimodal model capable of processing multimodal input.

[0029] According to the embodiments of the present disclosure, video search for a query can be performed based search intent of the query. The search intent may be, e.g., video only search intent, video and video segment search intent, etc. The embodiments of the present disclosure propose several implementations for detecting search intent of a query, that is, detecting whether the query indicates video segment search intent.

[0030] In an implementation, search intent of a query may be detected through a machine learning-based classification model. The classification model may be a binary classification model, e.g., a Transformer-based model. The classification model can, in response to receiving a query as input, automatically output a search intent classification result of the query.

[0031] In another implementation, search intent of a query may be detected through a set of query evaluation rules. The set of query evaluation rules may include, e.g., whether a length of the query exceeds a predetermined length, whether the query contains a word expressing doubt or inquiry, etc. The word expressing doubt or inquiry may be “how” , “steps to” , “way to” , etc. It may be determined whether the query satisfies at least one rule in the set of query evaluation rules. If it is determined that the query satisfies at least one rule in the set of query evaluation rules, it may be detected that the query indicates video segment search intent.

[0032] In yet another implementation, search intent of a query may be detected through a set of historical search results for the query. FIG. 2 illustrates an exemplary process 200 for detecting search intent of a query through a set of historical search results for the query according to an embodiment of the present disclosure.

[0033] Firstly, a set of historical search results for a query 202 may be obtained. The set of historical search results may include a set of historical videos 204 and a set of historical video segments 206. A query embedding 212 of the query 202 may be generated through a query encoder 210. The query encoder 210 may be a Transformer-based model. A set of video embeddings corresponding to the set of historical videos 204 may be generated through a video encoder 220. The video encoder 220 may be a Transformer-based model. The set of video embeddings may be provided to an aggregation module 230, to generate an average video embedding 232 of the set of historical videos 204. Similarly, a set of video segment embeddings corresponding to the set of historical video segment 206 may be generated through a video segment encoder 240. The video segment encoder 240 may be a Transformer-based model. The set of video segment embeddings may be provided to an aggregation module 250, to generate an average video segment embedding 252 of the set of historical video segment 206.

[0034] Subsequently, at 260, a first distance 262 between the query embedding 212 of the query 202 and the average video embedding 232 of the set of historical videos  204 may be calculated. At 270, a second distance 272 between the query embedding 212 of the query 202 and the average video segment embedding 252 of the set of historical video segments 206 may be calculated.

[0035] At 280, the first distance 262 and the second distance 272 may be compared, to output search intent 282. If the second distance 272 is less than the first distance 262, the set of historical video segment 206 are more relevant to the query 202 compared with the set of historical videos 204. Thus, video segments may need to be searched. In this case, the search intent 282 may be video and video segment search intent. The query 202 indicates video segment search intent. If the second distance 272 is larger than the first distance 262, the set of historical video segment 206 are less relevant to the query 202 compared with the set of historical videos 204. Thus, there might be no need to search video segments. In this case, the search intent 282 may be video only search intent. The query 202 does not indicate video segment search intent.

[0036] It should be appreciated that the process 200 in FIG. 2 is merely an example of the process for detecting search intent of a query through a set of historical search results for the query. Depending on actual application requirements, the steps in the process for detecting search intent of a query through a set of historical search results for the query may be replaced or modified in any manner, and the process may comprise more or fewer steps. In addition, the specific order or hierarchy of the steps in the process 200 is merely exemplary, and the process for detecting search intent of a query through a set of historical search results for the query may be performed in an order different from the described order.

[0037] FIG. 3 illustrates an exemplary process 300 for video search based on search intent according to an embodiment of the present disclosure.

[0038] A query 302 in natural language may be received. The query 302 may be provided by a user who expects to initiate video search. The query 302 may be received via a search box of a search engine of the user. Alternatively, the query 302 may be received via the user’s chat box with a chatbot.

[0039] At 310, search intent detection may be performed on the query 302, to obtain search intent 312 of the query 302. The search intent 312 may be, e.g., video only search intent, video and video segment search intent, etc. If the search intent 312 of the query 302 is video only search intent, the query 302 does not indicate video segment search intent; while if the search intent 312 of the query 302 is video and video segment search  intent, the query 302 indicates video segment search intent. The search intent detection at 310 may be performed through any of the implementations as described above. For example, the search intent detection at 310 may be performed through a machine learning-based classification model, a set of query evaluation rules, a set of historical search results for the query, etc.

[0040] At 320, video-level recalling may be performed. A video set 322 relevant to the query 302 may be recalled from a video corpus 304. The video corpus 304 contains a large number of videos crawled from the Web through web crawling and video extraction technologies. The video recalling operation at 320 can be performed in multiple approaches, such as a term-based retrieval approach, a vector-based retrieval approach, etc. The term-based retrieval approach may construct an inverted index for the video corpus 304, and perform video retrieval based on the index. The vector-based retrieval approach may learn an embedding of a query and an embedding of individual video through a twin-tower structure, and retrieve videos relevant to the query with an Approximate Nearest Neighbor (ANN) search algorithm. Preferably, the video recalling operation at 320 can be performed in both the term-based retrieval approach and the vector-based retrieval approach, thereby improving the efficiency of video recalling, which is particularly beneficial for recalling from the video corpus 304 containing a large number of videos.

[0041] At 330, the video set 322 may be ranked and filtered, to obtain a video subset 332. The operation at 330 may comprise video ranking and filtering at multiple levels. At each level, for each video in a current video set, a ranking score for the video may be generated based on a feature set of the video. The feature set of the video may include, e.g., a query to video-title relevance, a query to video-description relevance, etc. Next, the current video set may be ranked based on a ranking score set corresponding to the current video set, to obtain a ranked video set. Subsequently, high ranked videos may be extracted while low ranked videos may be removed from the ranked video set, so as to form a next video set for performing the video ranking and filtering at next level. At each level, the number of videos that need to be ranked will be less than that at the previous level. At the same time, a ranking model employed at each level has a more complex structure and better ranking performance than the previous ranking model. The video subset 332 may include high ranked videos extracted at the last level. The above process is a process from a rough ranking to a fine ranking. Such a process can  efficiently filter out, from the video set 322 containing a large number of videos, a predetermined number of videos that are most relevant to the query 302.

[0042] The recalling, ranking and filtering operations can also be performed on a video segment corpus 306 corresponding to the video corpus 304. The video segment corpus 306 may include a plurality of video segments corresponding to each video in the video corpus 304. The plurality of video segments can be obtained through the process described in conjunction with FIG. 1.

[0043] At 340, video segment-level recalling may be performed. A video segment set 342 relevant to the query 302 may be recalled from the video segment corpus 306. The video segment recalling operation at 340 can be performed in multiple approaches, such as a term-based retrieval approach, a vector-based retrieval approach, etc. Preferably, the video segment recalling operation at 340 can be performed in both the term-based retrieval approach and the vector-based retrieval approach, thereby improving the efficiency of video segment recalling, which is particularly beneficial for recalling from the video segment corpus 306 containing a large number of video segments. Preferably, the video segment recalling at 340 may be performed based on the search intent 312. For example, the video segment recalling at 340 may be performed in response to detecting that the query 302 indicates video segment search intent. In other words, if the query 302 does not indicate video segment search intent, the video segment recalling at 340 will not be triggered. The above approach can ensure that video segment search is triggered only when the query indicates video segment search intent, which can save computational resources and improve search efficiency.

[0044] At 350, the video segment set 342 may be ranked and filtered, to obtain a video segment subset 352. The operation at 350 may comprise video segment ranking and filtering at multiple levels. At each level, for each video segment in a current video segment set, a ranking score for the video segment may be generated based on a feature set of the video segment. The feature set of the video segment may include segment-level features, such as a query to segment-title relevance, a query to segment-description relevance, etc. Alternatively or additionally, the feature set of the video segment may include features of a video from which the video segment originated, such as a query to video-title relevance, a query to video-description relevance, etc. Next, the current video segment set may be ranked based on a ranking score set corresponding to the current video segment set, to obtain a ranked video segment set. Subsequently,  high ranked video segments may be extracted while low ranked video segments may be removed from the ranked video segment set, so as to form a next video segment set for performing the video segment ranking and filtering at next level. At each level, the number of video segments that need to be ranked will be less than that at the previous level. At the same time, a ranking model employed at each level has a more complex structure and better ranking performance than the previous ranking model. The video segment subset 352 may include high ranked video segments extracted at the last level. The above process is a process from a rough ranking to a fine ranking. Such a process can efficiently filter out, from the video segment set 342 containing a large number of video segments, a predetermined number of video segments that are most relevant to the query 302.

[0045] At 360, the video subset 332 and the video segment subset 352 may be jointly ranked, to produce a search result set 362 for the query 302. Preferably, the ranking at 360 may be performed based on the search intent 312. For example, if the search intent 312 is video and video segment search intent, that is, the query 302 indicates video segment search intent, the video segment subset 352 may be prioritized over the video subset 332 in jointly ranking. If the search intent 312 is video only search intent, that is, the query 302 does not indicate video segment search intent, the video subset 332 may be prioritized over the video segment subset 352 in jointly ranking. This approach enables the search result set for the query to be consistent with the search intent of the query. An exemplary process for jointly ranking the video subset and the video segment subset will be described later in conjunction with FIG. 4.

[0046] At 370, result filtering may be performed on the search result set 362, to obtain a filtered search result set 372. The result filtering may comprise various aspects. Through the filtering operations at 370, it can be ensured that only search results with high relevance to the query are presented to the user, and the diversity of search results can be improved. An exemplary process for filtering the search result set 362 will be described later in conjunction with FIG. 5.

[0047] At 380, the filtered search result set 372 may be presented to the user. In the case where the query 302 is received via a search box in a search engine, the filtered search result set 372 may be presented on a video search result page of the search engine. In the case where the query 302 is received via a chat box with a chatbot, the filtered search result set 372 may be presented on a chat interface with the chatbot. For each  search result in the filtered search result set 372, a title, description, thumbnail, etc. of the search result may be displayed. Preferably, when the search result is a video segment in a video, a timestamp of the video segment may be displayed. Alternatively or additionally, the position of the video segment in the video can be indicated through highlighting a time interval corresponding to the video segment in a time progress bar of the video. When a link or a thumbnail of a video segment is clicked, the video segment will be directly played, rather than playing from the beginning of a video containing the video segment.

[0048] It should be appreciated that the process 300 in FIG. 3 is merely an example of the process for video search based on search intent. Depending on actual application requirements, the steps in the process for video search based on search intent may be replaced or modified in any manner, and the process may comprise more or fewer steps. For example, after the query 302 is received, the query 302 can be rewritten through query understanding, e.g., synonym expansion, to generate multiple query paths. The generated query paths can be incorporated in the process 300, to supplement the search results of the query 302. In addition, after the video subset 332 and the video segment subset 352 are obtained, a plurality of video segments corresponding to the video subset 332 may be obtained. Accordingly, the jointly ranking at 360 can be performed on the video segment subset 352, the plurality of video segments corresponding to the video subset 332, and / or the video subset 332. Furthermore, the specific order or hierarchy of the steps in the process 300 is merely exemplary, and the process for video search based on search intent may be performed in an order different from the described order.

[0049] FIG. 4 illustrates an exemplary process 400 for jointly ranking a video subset and a video segment subset according to an embodiment of the present disclosure. The process 400 corresponds to the operation at 360 in FIG. 3.

[0050] At 402, a first intent feature value may be assigned to each video in a video subset, and a second intent feature value may be assigned to each video segment in a video segment subset. If it is detected that a query indicates video segment search intent, the first intent feature value assigned to a video may be set to be lower than the second intent feature value assigned to a video segment; while if it is not detected that a query indicates video segment search intent, or it is detected that a query does not indicate video segment search intent, the first intent feature value assigned to a video may be set to be higher than the second intent feature value assigned to a video segment.

[0051] At 404, for each video in the video subset, a ranking score for the video may be generated based at least on the first intent feature value. It should be appreciated that the ranking score for the video can be generated based on other features, such as similarity between the video and an arbitrary video in the video subset. The similarity can be obtained through, e.g., calculating a distance between an embedding of the video and an embedding of the arbitrary video.

[0052] At 406, for each video segment in the video segment subset, a ranking score for the video segment may be generated based at least on the second intent feature value. It should be appreciated that the ranking score for the video segment can be generated based on other features, such as similarity between the video segment and an arbitrary video segment in the video segment subset. The similarity can be obtained through, e.g., calculating a distance between an embedding of the video segment and an embedding of the arbitrary video segment.

[0053] At 408, the video subset and the video segment subset may be jointly ranked based on a ranking score set corresponding to the video subset and a ranking score set corresponding to the video segment subset.

[0054] In the process 400, in response to detecting that the query indicates video segment search intent, the first intent feature value assigned to a video may be set to be lower than the second intent feature value assigned to a video segment. Accordingly, a ranking score corresponding to a video might be lower than a ranking score corresponding to a video segment. In this way, the video segment subset can be prioritized over the video subset in jointly ranking. This approach causes the video segments to be ranked above the videos in a search result set for the query, thus enabling the search result set for the query to be consistent with the search intent of the query.

[0055] Considering similarity among videos or video segments when generating a ranking score for a video or a video segment causes the video or the video segment to obtain knowledge related to other videos or other video segments, which enables the generated score to comprehensively and accurately reflect the position of the video or the video segment in the video subset or the video segment subset, thereby improving the ranking quality.

[0056] It should be appreciated that the process 400 in FIG. 4 is merely an example of the process for jointly ranking a video subset and a video segment subset. Depending on actual application requirements, the steps in the process for jointly ranking a video  subset and a video segment subset may be replaced or modified in any manner, and the process may comprise more or fewer steps. In addition, the specific order or hierarchy of the steps in the process 400 is merely exemplary, and the process for jointly ranking a video subset and a video segment subset may be performed in an order different from the described order.

[0057] FIG. 5 illustrates an exemplary process 500 for filtering a search result set for a query according to an embodiment of the present disclosure. The process 500 corresponds to the operation at 370 in FIG. 3.

[0058] At 502, a search result set for a query may be obtained. As explained in conjunction with FIG. 3, the search result set is produced after a video subset and a video segment subset are jointly ranked, and thus each of the search result set has an associated ranking score.

[0059] At 504, a video and / or a video segment with a ranking score below a predetermined score threshold may be removed from the search result set. The score threshold may be predetermined based on desired search quality requirements. Usually, the video and / or the video segment with a ranking score below the predetermined score threshold has low relevance to the query. Removing, from the search result set, a video and / or a video segment with a ranking score below the predetermined score threshold can ensure that only search results with high relevance to the query are presented to the user.

[0060] At 506, a plurality of video segments originated from the same video may be identified from the search result set.

[0061] At 508, a video segment in the plurality of video segments with the highest ranking score may be identified.

[0062] At 510, the video segment with the highest ranking score may be retained. Other video segments in the plurality of video segments may be removed from the search result set.

[0063] Through the step 506 to the step 510, it can be ensured that when a plurality of video segments originated from the same video are included in the search result set, only the video segment with the highest ranking score is presented to the user. Since the user can view a full video when he or she is viewing a video segment in the video, there is no need to present multiple video segments within the same video. The above approach can avoid presenting multiple video segments originated from the same video  to the user, and improve the diversity of search results.

[0064] At 512, a video segment originated from a video in the search result set may be identified from the search result set.

[0065] At 514, one of the video segment and the video with a lower ranking score may be identified.

[0066] At 516, the one of the video segment and the video with the lower ranking score may be removed from the search result set.

[0067] Through the step 512 to the step 516, it can be ensured that when both a video segment originated from a video and the video are included in the search result set, only one of the video segment and the video with the higher ranking score is presented to the user. This operation can improve the diversity of search results.

[0068] The process 500 comprises various aspects of search result filtering, e.g., a first aspect including the step 504, a second aspect including the step 506 to the step 510, and a third aspect including the step 512 to the step 516. It should be appreciated that the above three aspects can be performed independently or in combination with each other. For example, after the step 502 of obtaining the search result for the query, any one or two of the above three aspects can be performed. In addition, the specific order or hierarchy of the steps in the process 500 is merely exemplary, and the process for filtering a search result set for a query may be performed in an order different from the described order.

[0069] FIG. 6 is a flowchart of an exemplary method 600 for video search according to an embodiment of the present disclosure.

[0070] At 610, a query in natural language may be received.

[0071] At 620, a video set relevant to the query may be recalled from a video corpus.

[0072] At 630, the video set may be ranked and filtered, to obtain a video subset.

[0073] At 640, a video segment set relevant to the query may be recalled from a video segment corpus corresponding to the video corpus.

[0074] At 650, the video segment set may be ranked and filtered, to obtain a video segment subset.

[0075] At 660, it may be detected whether the query indicates video segment search intent.

[0076] At 670, in response to detecting that the query indicates video segment search intent, the video subset and the video segment subset may be jointly ranked  through prioritizing the video segment subset over the video subset, to produce a search result set for the query.

[0077] In an implementation, the video segment corpus may include a plurality of video segments corresponding to each video in the video corpus. The plurality of video segments may be obtained through: acquiring a transcript of the video; and segmenting the video into the plurality of video segments based on the transcript and a prompt through a machine learning-based segmentation model, each video segment in the plurality of video segments being associated with a segment-level feature set, the segment-level feature set including at least one of timestamp, length, title, and description of the video segment.

[0078] In an implementation, the recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query may comprise: in response to detecting that the query indicates video segment search intent, recalling, from the video segment corpus, the video segment set relevant to the query.

[0079] In an implementation, the ranking and filtering the video segment set may comprise: ranking and filtering the video segment set based at least on a segment-level feature set of each video segment in the video segment set, the segment-level feature set including a query to segment-title relevance and / or a query to segment-description relevance.

[0080] In an implementation, the detecting whether the query indicates video segment search intent may comprise: detecting, through a machine learning-based classification model, whether the query indicates video segment search intent.

[0081] In an implementation, the detecting whether the query indicates video segment search intent may comprise: obtaining a set of query evaluation rules, the set of query evaluation rules including at least one of: whether a length of the query exceeds a predetermined length, and whether the query contains a word expressing doubt or inquiry; determining whether the query satisfies at least one rule in the set of query evaluation rules; and in response to determining that the query satisfies at least one rule in the set of query evaluation rules, detecting that the query indicates video segment search intent.

[0082] In an implementation, the detecting whether the query indicates video segment search intent may comprise: obtaining a set of historical search results for the query, the set of historical search results including a set of historical videos and a set of  historical video segments; calculating a first distance between a query embedding of the query and an average video embedding of the set of historical videos; calculating a second distance between the query embedding and an average video segment embedding of the set of historical video segments; determining whether the second distance is less the first distance; and in response to determining that the first distance is larger than the second distance, detecting that the query indicates video segment search intent.

[0083] In an implementation, the jointly ranking the video subset and the video segment subset may comprise: in response to detecting that the query indicates video segment search intent, assigning a first intent feature value to each video in the video subset and a second intent feature value to each video segment in the video segment subset, wherein the first intent feature value is lower than the second intent feature value; for each video in the video subset, generating a ranking score for the video based at least on the first intent feature value; for each video segment in the video segment subset, generating a ranking score for the video segment based at least on the second intent feature value; and jointly ranking the video subset and the video segment subset based on a ranking score set corresponding to the video subset and a ranking score set corresponding to the video segment subset.

[0084] The generating a ranking score for the video may be further based on similarity between the video and an arbitrary video in the video subset. The generating a ranking score for the video segment may be further based on similarity between the video segment and an arbitrary video segment in the video segment subset.

[0085] In an implementation, the method 600 may further comprise: removing, from the search result set, a video and / or a video segment with a ranking score below a predetermined score threshold.

[0086] In an implementation, the method 600 may further comprise: identifying, from the search result set, a plurality of video segments originated from the same video; identifying a video segment in the plurality of video segments with the highest score; and retaining the video segment with the highest score, and removing, from the search result set, other video segments in the plurality of video segments.

[0087] In an implementation, the method 600 may further comprise: identifying, from the search result set, a video segment originated from a video in the search result set; identifying one of the video segment and the video with a lower score; and  removing, from the search result set, the one of the video segment and the video with the lower score.

[0088] It should be appreciated that the method 600 may further comprise any other steps / processes for video search according to the embodiments of the present disclosure as mentioned above.

[0089] FIG. 7 illustrates an exemplary apparatus 700 for video search according to an embodiment of the present disclosure.

[0090] The apparatus 700 may comprise: a query receiving module 710, for receiving a query in natural language; a video recalling module 720, for recalling, from a video corpus, a video set relevant to the query; a video ranking and filtering module 730, for ranking and filtering the video set, to obtain a video subset; a video segment recalling module 740, for recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query; a video segment ranking and filtering module 750, for ranking and filtering the video segment set, to obtain a video segment subset; a search intent detection module 760, for detecting whether the query indicates video segment search intent; and a video and video segment jointly ranking module 770, for in response to detecting that the query indicates video segment search intent, jointly ranking the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query.

[0091] Furthermore, the apparatus 700 may further comprise any other modules configured for video search according to the embodiments of the present disclosure as mentioned above.

[0092] FIG. 8 illustrates another exemplary apparatus 800 for video search according to an embodiment of the present disclosure.

[0093] The apparatus 800 may comprise: a processor 810; and a memory 820 storing computer-executable instructions. The computer-executable instructions, when executed, may cause the processor 810 to: receive a query in natural language, recall, from a video corpus, a video set relevant to the query, rank and filter the video set, to obtain a video subset, recall, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query, rank and filter the video segment set, to obtain a video segment subset, detect whether the query indicates video segment search intent, and in response to detecting that the query indicates video segment search  intent, jointly rank the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query.

[0094] In an implementation, the recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query may comprise: in response to detecting that the query indicates video segment search intent, recalling, from the video segment corpus, the video segment set relevant to the query.

[0095] In an implementation, the ranking and filtering the video segment set may comprise: ranking and filtering the video segment set based at least on a segment-level feature set of each video segment in the video segment set, the segment-level feature set including a query to segment-title relevance and / or a query to segment-description relevance.

[0096] In an implementation, the detecting whether the query indicates video segment search intent may comprise: obtaining a set of historical search results for the query, the set of historical search results including a set of historical videos and a set of historical video segments; calculating a first distance between a query embedding of the query and an average video embedding of the set of historical videos; calculating a second distance between the query embedding and an average video segment embedding of the set of historical video segments; determining whether the second distance is less the first distance; and in response to determining that the first distance is larger than the second distance, detecting that the query indicates video segment search intent.

[0097] In an implementation, the jointly ranking the video subset and the video segment subset may comprise: in response to detecting that the query indicates video segment search intent, assigning a first intent feature value to each video in the video subset and a second intent feature value to each video segment in the video segment subset, wherein the first intent feature value is lower than the second intent feature value; for each video in the video subset, generating a ranking score for the video based at least on the first intent feature value; for each video segment in the video segment subset, generating a ranking score for the video segment based at least on the second intent feature value; and jointly ranking the video subset and the video segment subset based on a ranking score set corresponding to the video subset and a ranking score set corresponding to the video segment subset.

[0098] In an implementation, the computer-executable instructions, when executed, may further cause the processor 810 to: identify, from the search result set, a plurality of video segments originated from the same video; identify a video segment in the plurality of video segments with the highest score; and retain the video segment with the highest score, and remove, from the search result set, other video segments in the plurality of video segments.

[0099] In an implementation, the computer-executable instructions, when executed, may further cause the processor 810 to: identify, from the search result set, a video segment originated from a video in the search result set; identify one of the video segment and the video with a lower score; and remove, from the search result set, the one of the video segment and the video with the lower score.

[0100] It should be appreciated that the processor 810 may further perform any other steps / processes of the method for video search according to the embodiments of the present disclosure as mentioned above.

[0101] The embodiments of the present disclosure propose a computer program product for video search, comprising a computer program that is executed by a processor for: receiving a query in natural language; recalling, from a video corpus, a video set relevant to the query; ranking and filtering the video set, to obtain a video subset; recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query; ranking and filtering the video segment set, to obtain a video segment subset; detecting whether the query indicates video segment search intent; and in response to detecting that the query indicates video segment search intent, jointly ranking the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query. Furthermore, the computer program may be further executed for implementing any other steps / processes of the method for video search according to the embodiments of the present disclosure as mentioned above.

[0102] The embodiments of the present disclosure may be embodied in a computer-readable medium. The computer-readable medium may comprise instructions that, when executed, cause a processor to perform any operation of the method for video search according to the embodiments of the present disclosure as mentioned above.

[0103] It should be appreciated that all the operations in the methods described above are merely exemplary, and the present disclosure is not limited to any operations  in the methods or sequence orders of these operations, and should cover all other equivalents under the same or similar concepts. In addition, the articles “a” and “an” as used in this specification and the appended claims should generally be construed to mean “one” or “one or more” unless specified otherwise or clear from the context to be directed to a singular form.

[0104] It should also be appreciated that all the modules in the apparatuses described above may be implemented in various approaches. These modules may be implemented as hardware, software, or a combination thereof. Moreover, any of these modules may be further functionally divided into sub-modules or combined together.

[0105] Processors have been described in connection with various apparatuses and methods. These processors may be implemented using electronic hardware, computer software, or any combination thereof. Whether such processors are implemented as hardware or software will depend upon the particular application and overall design constraints imposed on the system. By way of example, a processor, any portion of a processor, or any combination of processors presented in the present disclosure may be implemented with a microprocessor, microcontroller, digital signal processor (DSP) , a field-programmable gate array (FPGA) , a programmable logic device (PLD) , a state machine, gated logic, discrete hardware circuits, and other suitable processing components configured for performing the various functions described throughout the present disclosure. The functionality of a processor, any portion of a processor, or any combination of processors presented in the present disclosure may be implemented with software being executed by a microprocessor, microcontroller, DSP, or other suitable platform.

[0106] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, threads of execution, procedures, functions, etc. The software may reside on a computer-readable medium. A computer-readable medium may include, by way of example, memory such as a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk, a smart card, a flash memory device, random access memory (RAM) , read only memory (ROM) , programmable ROM (PROM) , erasable PROM (EPROM) , electrically erasable PROM (EEPROM) , a register, or a removable disk. Although memory is shown separate from the processors in the various aspects  presented throughout the present disclosure, the memory may be internal to the processors, e.g., cache or register.

[0107] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein. All structural and functional equivalents to the elements of the various aspects described throughout the present disclosure that are known or later come to be known to those of ordinary skilled in the art are expressly incorporated herein and intended to be encompassed by the claims.

Claims

1.A method for video search, comprising:receiving a query in natural language;recalling, from a video corpus, a video set relevant to the query;ranking and filtering the video set, to obtain a video subset;recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query;ranking and filtering the video segment set, to obtain a video segment subset;detecting whether the query indicates video segment search intent; andin response to detecting that the query indicates video segment search intent, jointly ranking the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query.2.The method of claim 1, wherein the video segment corpus includes a plurality of video segments corresponding to each video in the video corpus, and the plurality of video segments is obtained through:acquiring a transcript of the video; andsegmenting the video into the plurality of video segments based on the transcript and a prompt through a machine learning-based segmentation model, each video segment in the plurality of video segments being associated with a segment-level feature set, the segment-level feature set including at least one of timestamp, length, title, and description of the video segment.3.The method of claim 1, wherein the recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query comprises:in response to detecting that the query indicates video segment search intent, recalling, from the video segment corpus, the video segment set relevant to the query.4.The method of claim 1, wherein the ranking and filtering the video segment set comprises:ranking and filtering the video segment set based at least on a segment-level feature set of each video segment in the video segment set, the segment-level feature set including a query to segment-title relevance and / or a query to segment-description relevance.5.The method of claim 1, wherein the detecting whether the query indicates video segment search intent comprises:detecting, through a machine learning-based classification model, whether the query indicates video segment search intent.6.The method of claim 1, wherein the detecting whether the query indicates video segment search intent comprises:obtaining a set of query evaluation rules, the set of query evaluation rules including at least one of: whether a length of the query exceeds a predetermined length, and whether the query contains a word expressing doubt or inquiry;determining whether the query satisfies at least one rule in the set of query evaluation rules; andin response to determining that the query satisfies at least one rule in the set of query evaluation rules, detecting that the query indicates video segment search intent.7.The method of claim 1, wherein the detecting whether the query indicates video segment search intent comprises:obtaining a set of historical search results for the query, the set of historical search results including a set of historical videos and a set of historical video segments;calculating a first distance between a query embedding of the query and an average video embedding of the set of historical videos;calculating a second distance between the query embedding and an average video segment embedding of the set of historical video segments;determining whether the second distance is less the first distance; andin response to determining that the first distance is larger than the second distance, detecting that the query indicates video segment search intent.8.The method of claim 1, wherein the jointly ranking the video subset and the video segment subset comprises:in response to detecting that the query indicates video segment search intent, assigning a first intent feature value to each video in the video subset and a second intent feature value to each video segment in the video segment subset, wherein the first intent feature value is lower than the second intent feature value;for each video in the video subset, generating a ranking score for the video based at least on the first intent feature value;for each video segment in the video segment subset, generating a ranking score for the video segment based at least on the second intent feature value; andjointly ranking the video subset and the video segment subset based on a ranking score set corresponding to the video subset and a ranking score set corresponding to the video segment subset.9.The method of claim 8, wherein:the generating a ranking score for the video is further based on similarity between the video and an arbitrary video in the video subset, and / orthe generating a ranking score for the video segment is further based on similarity between the video segment and an arbitrary video segment in the video segment subset.10.The method of claim 1, further comprising:removing, from the search result set, a video and / or a video segment with a ranking score below a predetermined score threshold.11.The method of claim 1, further comprising:identifying, from the search result set, a plurality of video segments originated from the same video;identifying a video segment in the plurality of video segments with the highest score; andretaining the video segment with the highest score, and removing, from the search result set, other video segments in the plurality of video segments.12.The method of claim 1, further comprising:identifying, from the search result set, a video segment originated from a video in the search result set;identifying one of the video segment and the video with a lower score; andremoving, from the search result set, the one of the video segment and the video with the lower score.13.An apparatus for video search, comprising:a processor; anda memory storing computer-executable instructions that, when executed, cause the processor to:receive a query in natural language,recall, from a video corpus, a video set relevant to the query,rank and filter the video set, to obtain a video subset,recall, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query,rank and filter the video segment set, to obtain a video segment subset,detect whether the query indicates video segment search intent, andin response to detecting that the query indicates video segment search intent, jointly rank the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query.14.The apparatus of claim 13, wherein the recalling, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query comprises:in response to detecting that the query indicates video segment search intent, recalling, from the video segment corpus, the video segment set relevant to the query.15.The apparatus of claim 13, wherein the ranking and filtering the video segment set comprises:ranking and filtering the video segment set based at least on a segment-level feature set of each video segment in the video segment set, the segment-level feature set including a query to segment-title relevance and / or a query to segment-description relevance.16.The apparatus of claim 13, wherein the detecting whether the query indicates video segment search intent comprises:obtaining a set of historical search results for the query, the set of historical search results including a set of historical videos and a set of historical video segments;calculating a first distance between a query embedding of the query and an average video embedding of the set of historical videos;calculating a second distance between the query embedding and an average video segment embedding of the set of historical video segments;determining whether the second distance is less the first distance; andin response to determining that the first distance is larger than the second distance, detecting that the query indicates video segment search intent.17.The apparatus of claim 13, wherein the jointly ranking the video subset and the video segment subset comprises:in response to detecting that the query indicates video segment search intent, assigning a first intent feature value to each video in the video subset and a second intent feature value to each video segment in the video segment subset, wherein the first intent feature value is lower than the second intent feature value;for each video in the video subset, generating a ranking score for the video based at least on the first intent feature value;for each video segment in the video segment subset, generating a ranking score for the video segment based at least on the second intent feature value; andjointly ranking the video subset and the video segment subset based on a ranking score set corresponding to the video subset and a ranking score set corresponding to the video segment subset.18.The apparatus of claim 13, wherein the computer-executable instructions, when executed, further cause the processor to:identify, from the search result set, a plurality of video segments originated from the same video;identify a video segment in the plurality of video segments with the highest score; andretain the video segment with the highest score, and remove, from the search result set, other video segments in the plurality of video segments.19.The apparatus of claim 13, wherein the computer-executable instructions, when executed, further cause the processor to:identify, from the search result set, a video segment originated from a video in the search result set;identify one of the video segment and the video with a lower score; andremove, from the search result set, the one of the video segment and the video with the lower score.20.A computer-readable medium for video search, comprising instructions that, when executed, cause a processor to:receive a query in natural language;recall, from a video corpus, a video set relevant to the query;rank and filter the video set, to obtain a video subset;recall, from a video segment corpus corresponding to the video corpus, a video segment set relevant to the query;rank and filter the video segment set, to obtain a video segment subset;detect whether the query indicates video segment search intent; andin response to detecting that the query indicates video segment search intent, jointly rank the video subset and the video segment subset through prioritizing the video segment subset over the video subset, to produce a search result set for the query.

Citation Information

Patent Citations

  • System and method for machine-assisted segmentation of video collections

    US20200110943A1

  • Facilitating contextual video searching using user interactions with interactive computing environments

    US20200334290A1

  • System and method for question-based content answering

    US20210365500A1