Abstract:
A web searching method isolates and presents relevant web pages based on analysis of keyword searches by a user and by users who have previously searched. First web pages are selected from a search result according to a keyword inputted by a user. Phrases in the first web pages are identified, and weightings of the phrases are computed. Phrases having higher weightings are selected. Related users previously requesting web pages related to the keyword are obtained and selected. Second web pages which were actually browsed by selected related users are obtained from the search result of the keyword, and phrases in the second web pages identified. Phrase intersections between the phrases from the second web pages and selected phrases from the first web pages are computed to realize an evaluation value of the selected related user. A help page showing searching histories of the related users is also displayed.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    Embodiments of the present disclosure relate to query processing, and more specifically relates to techniques for searching web pages. 
         [0003]    2. Description of Related Art 
         [0004]    People seeking information usually search the Internet using a web browser. One typically begin his/her search for information by pointing his/her web browser at a website associated with a search engine. The search engine allows a user to request web pages containing information related to a particular search term or phrase. 
         [0005]    Although the search terms and phrases may be used by the search engine to guide the information search, finding target web pages being sought from hundreds or even thousands of web pages by users is challenging. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]      FIG. 1  is a block diagram of one embodiment of a network environment for executing web searching method. 
           [0007]      FIG. 2  is a block diagram of one embodiment of an apparatus that executes the web searching method. 
           [0008]      FIG. 3  illustrates a flowchart of one embodiment of the web searching method. 
           [0009]      FIG. 4  is an example illustrating a help page which shows search histories of related users. 
       
    
    
     DETAILED DESCRIPTION 
       [0010]    In general, the word “module,” as used hereinafter, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, for example, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware. It will be appreciated that modules may comprise connected logic units, such as gates and flip-flops, and may comprise programmable units, such as programmable gate arrays or processors. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable storage medium or other computer storage device. 
         [0011]      FIG. 1  is a block diagram of one embodiment of a network environment for executing web searching method. The network environment is constituted by an application server  1 , a plurality of client devices  2 , and a web server  3 . The applicant server  1  is an apparatus that executes a web searching method. In another embodiment, the web server  3  can be used as the apparatus for executing the web searching method, thus, the network environment also can be constituted only by the plurality of client devices  2  and the web server  3 . 
         [0012]    The client devices  2  may include, but is not limited to, smart phones, personal digital assistants (PDA), notebooks, and desktops. Each of the client devices  2  includes a web browser which can be pointed at a website associated with a search engine to request web pages containing information related to search keywords from the web server  3 . 
         [0013]      FIG. 2  is a block diagram of one embodiment of the application server  1 , which is the apparatus that executes the web searching method. In one embodiment, the application server  1  includes a search system  10 , a storage device  20 , and a control device  30 . The application server  1  may be configured in numbers of other ways and may include other or different components. 
         [0014]    The search system  10  includes a plurality of function modules, such as a keyword obtaining module  100 , a related keyword analysis module  101 , a related user analysis module  102 , a displaying module  103 , and a storage module  104 . The function modules  100 - 104  may include computerized codes in the form of one or more programs, which provide at least the functions needed to execute the steps illustrated in  FIG. 3 . 
         [0015]    The storage device  20  may include some type(s) of non-transitory computer-readable storage medium, such as a hard disk drive, a compact disc, a digital video disc, or a tape drive. The storage device  20  stores the computerized codes of the function modules of the search system  10 . 
         [0016]    The control device  30  may be a processor, an application-specific integrated circuit (ASIC), or a field programmable gate array, (FPGA) for example. The control device  30  may execute the computerized codes of the function modules of the search system  10  to realize the functions of the search system  10 . 
         [0017]      FIG. 3  illustrates a flowchart of one embodiment of the web searching method. The method is executed by at least one processor of an electronic device, for example, the control device  30  of the application server  1 . Depending on the embodiment, additional steps in  FIG. 3  may be added, others removed, and the ordering of the steps may be changed. 
         [0018]    In step S 01 , the keyword obtaining module  100  obtains a keyword (hereinafter referred to as the first keyword) from a search engine of one of the client devices  2  operated by a user, and the storage module  104  records the first keyword and information of the user into the storage device  20 . The information of the user may be a username of the user, an Internet Protocol (IP) address of the client device  2  of the user, and other information. In one embodiment, when a user A opens a website associated with a search engine using a client  2 , and inputs a keyword, such as “computer” into the search engine, the keyword obtaining module  100  obtains the keyword “computer,” and then the storage module  104  records the keyword “computer” and the user A into the storage device  20 . 
         [0019]    When the search engine returns a search result including a plurality of web pages related to the first keyword, in step S 02 , the related keyword analysis module  101  selects a number of first web pages from the search result. The number of the first web pages may be N, where N is a positive integer. 
         [0020]    In step S 03 , the related keyword analysis module  101  identifies phrases appearing in the first web pages, and computes a weighting of each of the phrases in the first web pages. The phrases may be single words, for example, “computer,” “network,” and so on, or may be compound words, for example “computer network,” “authorized user” and so on. In one embodiment, the weighting of each of the phrases is computed using a weighting algorithm, such as term frequency-inverse document frequency (tf-idf) algorithm. The tf-idf algorithm is a numerical statistic which reflects how important a phrase is to a document in a collection or corpus. The tf-idf value increases proportionally to the number of times a word appears in the document, but is offset by the frequency of the word in the corpus, which alleviates the fact that some words are used more commonly. For example, when a number of phrases appearing in a single web page is 100, and a phrase “computer” appears 3 times in this single web page, then the term frequency (tf) value of the phrase “computer” in the webpage is 3/100, namely 0.03. However, when the phrase “computer” appears in 1,000 web pages, and a number of total web pages is 10,000,000, then the inverse document frequency (idf) of the phrase “computer” is log(10,000,000/1,000), namely 4. Thus, the weighting of the phrase “computer” in the total web pages is 0.03*4, namely 0.12. 
         [0021]    In step S 04 , the related keyword analysis module  101  ranks the identified phrases according to the weightings, and selects one or more of the phrases which have higher weightings. In one embodiment, a number of the selected phrases is R, where R is a positive integer. 
         [0022]    In step S 05 , the related user analysis module  102  obtains related users who have previously requested web pages related to the first keyword using the search engine. For example, the first keyword inputted into the search engine by the user is “computer”, the related user analysis module  102  obtains other users who have previously inputted “computer” into the search engine before, all such users being considered as the related users. As mentioned above in step S 01 , when a user inputs a keyword into the search engine, the keyword obtaining module  100  obtains and records this keyword and the user into the storage device  20 , thus the related user analysis module  102  can obtain the related users according to records in the storage device  20 . 
         [0023]    In step S 06 , the related user analysis module  102  selects one of the related users, and obtains a number of second web pages which a selected related user has previously browsed, from the search result returned according to the first keyword. The number of the second web pages may be M, where M is a positive integer. In one embodiment, when a user browses a web page by clicking a website of the web page, the web page can be marked with an tag indicating the user has previously browsed. The tag may include, such as “user A, true” indicating the user A has previously browsed this web page. 
         [0024]    In step S 07 , the related user analysis module  102  identifies phrases appearing in the second web pages, computes a phrase intersection between the phrases of the second web pages and the selected phrases of the first web pages, computes a number of the phrases in the phrase intersection, and computes an evaluation value of the selected related user according to the number of the selected phrases and the number of the phrases in the phrase intersection. In one embodiment, the evaluation value equals S over R, (V=S/R), where S is the number of the phrases in the phrase intersection and R is the number of the selected phrases. 
         [0025]    In step S 08 , the related user analysis module  102  determines if anyone in the related users has not been selected. The process goes back to step  06  when anyone in the related users has not been selected. Otherwise, the process goes to step S 09  when all the related users have been selected. 
         [0026]    In step S 09 , the displaying module  103  presents a help page which shows searching histories of the related users who have higher evaluation values. Referring to  FIG. 4 , an example is shown illustrating a help page which shows search histories of the related users. Using the help page, it can be known that, the related users who have higher evaluation values include a related user “a”, a related user “b”, and a related user “c”. The related user “a” has previously browsed a web page A, a web page B, and a web page C from the search result returned according to the first keyword. In addition, the related user “a” has further browsed a web page D from a search result returned according to a second keyword, where the second keyword may be a synonym of the first keyword. Similar, the related user “b” has previously browsed a web page E, and a web page F from the search result returned according to the first keyword. In addition, the related user “b” has further browsed a web page E and a web page F from a search result returned according to a third keyword, where the third keyword may also be a synonym of the first keyword. Furthermore, the help page also shows other web pages returned according to the first keyword, such as web page  1 , web page  2 , web page  3 , web page  4 , and so on. 
         [0027]    It should be emphasized that the above-described embodiments of the present disclosure, including any particular embodiments, are merely possible examples of implementations, set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.