US20090063452A1 - Search filtering - Google Patents
Search filtering Download PDFInfo
- Publication number
- US20090063452A1 US20090063452A1 US11/847,114 US84711407A US2009063452A1 US 20090063452 A1 US20090063452 A1 US 20090063452A1 US 84711407 A US84711407 A US 84711407A US 2009063452 A1 US2009063452 A1 US 2009063452A1
- Authority
- US
- United States
- Prior art keywords
- content items
- query
- user device
- search
- access
- 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.)
- Granted
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 137
- 238000012795 verification Methods 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000004044 response Effects 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 24
- 230000000977 initiatory effect Effects 0.000 claims 3
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 230000000366 juvenile effect Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013479 data entry Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- YHOPXCAOTRUGLV-XAMCCFCMSA-N Ala-Ala-Asp-Asp Chemical compound C[C@H](N)C(=O)N[C@@H](C)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@@H](CC(O)=O)C(O)=O YHOPXCAOTRUGLV-XAMCCFCMSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/435—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Definitions
- This document relates to search filtering.
- the rise of the Internet has enabled access to a wide variety of content items, e.g., video and/or audio files, web pages for particular subjects, news articles, etc.
- Content items of particular interest to a user can be identified by a search engine in response to a user query.
- search engine is the Google search engine provided by Google, Inc. of Mountain View, Calif., U.S.A.
- the query can include one or more search terms, and the search engine can identify and, optionally, rank the content items based on the search terms in the query and present the content items to the user (e.g., according to the rank).
- the content items that are identified in response to a query may include material that is inappropriate for a particular user.
- a juvenile may (intentionally or unintentionally) enter a query that will return adult-oriented content, and a search engine may identify material that is both appropriate and inappropriate for the juvenile.
- Various conventional processes have been developed to help prevent the serving of inappropriate content to particular users.
- some search engines can require that a user provide verification data to a verification service upon detecting a search instance that includes inappropriate content.
- a search engine can require that a user provide age verification data to an age verification service upon detecting a query that includes a “black-listed” search term or search results that include adult-oriented content. If the user's age cannot be verified, search results are not presented to the user.
- Such a verification process can degrade the user experience.
- a user may not be interested in the adult-oriented content per se, but may instead be interested in journal articles studying the effects of such content on society, e.g., the societal effects of pornography on young women.
- a query directed to this particular interest may include one or more black-listed terms or result in the identification of web sites that are inappropriate for some, e.g., juvenile, users. Accordingly, if the user is a juvenile, the user may not be able to access content that is appropriate for the user. Conversely, if the user is an adult, but the age verification service is not available, the user may not be able to access the content of interest.
- a query is received from a user device and a determination as to whether the query includes or is associated with a filter term is made. If the query is determined to include or be associated with (e.g., similar to, synonymous with, etc.) a filtering term, then filtered content items based on the query and the filtering term are identified and the filtered content items and access to a verification service that provides access approval or access denial for unfiltered content items that are responsive to the query are provided to the user device.
- a verification service that provides access approval or access denial for unfiltered content items that are responsive to the query are provided to the user device.
- a query is received from a user device, and unfiltered content items in an information corpus that are responsive to the query are identified.
- a determination is made as to whether the unfiltered content items that are responsive to the query include or are associated with a filtering term. If the unfiltered content items that are responsive to the query include or are associated with the filtering term, then the unfiltered content items are filtered based on the filtering term to generate filtered content items.
- the filtered content items and access to a verification service that provides access approval or access denial for the unfiltered content items are provided to the user device.
- a search instance associated with a user device is identified, and a determination is made as to whether the search instance includes or is associated with a filtering term. If the search instance is determined to include or be associated with a filtering term, then filtered content items in the search instance are identified, and the filtered content items and access to a verification service that provides access approval or access denial for unfiltered content items in the search instance are provided to the user device. Conversely, if the search instance is determine not to include a filtering term, then the unfiltered content items are provided to the user device.
- a system in another implementation, includes search access instructions and verification service access instructions.
- the search access instructions are stored in a computer readable medium and upon execution by a processing device configure the processing device to identify a search instance associated with a user device and determine if the search instance includes or is associated with a filtering term. In response to determining that the search instance includes or is associated with a filtering term, the processing device can identify filtered content items in the search instance and provide the filtered content items to the user device. Conversely, in response to determining that the search instance does not include or is not associated with a filtering term, the processing device can identify unfiltered content items in the search instance and provide the unfiltered content item to the user device.
- the verification service access instructions are stored in a computer readable medium and upon execution by a processing device configure the processing device to provide the user device access to a verification service in response to the processing device executing the search access instructions determining that the search instance includes a filtering term.
- FIG. 1 is a block diagram of an example search filtering system.
- FIG. 2 is an example search entry environment.
- FIG. 3 is an example filtered search results environment.
- FIG. 4 is an example verification service access environment.
- FIG. 5 is an example unfiltered search results environment.
- FIG. 6 is a flow diagram of an example search filtering process.
- FIG. 7 is a flow diagram of another example search filtering process.
- FIG. 8 is a flow diagram of another example search filtering process.
- FIG. 9 is a flow diagram of an example session classification process.
- FIG. 1 is a block diagram of an example search filtering system 100 .
- a search access engine 102 can access a data store of filtering terms 104 and a search engine 106 .
- the search access engine 102 and the data store of filtering terms 104 can be instantiations that are separate from the search engine 106 .
- the search access engine 102 , the data store of filtering terms 104 , and the search engine 108 can be an integrated instantiation, as indicated by the dashed line 108 .
- the search access engine 102 and the search engine 106 can be implemented in one or more networked server computers, e.g., a server farm.
- the search engine 106 can be configured to access and process information corpora 110 , e.g., thousands or even millions of content items, e.g., web-based documents, such as web pages, audio files, video files, image files, data files, blogs, etc.
- the information corpora 106 can be implemented as cached data stores that store web documents retrieved over the Internet and that are indexed by the search engine 106 to facilitate searching, identification and retrieval operations.
- Such searching, identification and retrieval operations can occur in response to a query 120 including one or more query terms QT from a user device 122 .
- Example user devices include personal computers, portable communication devices, set top boxes, or any other computer device operable to communicate data input by a user over a network, such as the Internet.
- the search engine 106 can identify one or more unfiltered content items (UCI) 124 .
- the unfiltered content items 124 can be provided to the user device in the form or search results.
- Example search results include landing page links, e.g., uniform resource locators (URL) that are resolved to web sites that provide access to a content item. Selection of the landing page link will thus direct a software application running on the user device 102 , e.g., a web browser, to the web site so that the user device 102 can access the content item.
- URL uniform resource locators
- the unfiltered content items 124 will be provided to the user device 122 .
- the unfiltered content items 124 that are identified in response to query terms 120 may include material that is inappropriate for a particular user.
- the search access engine 102 is configured to identify the search instance 130 associated with the user device 122 and determine if the search instance 130 includes or is associated with (e.g., related or synonymous or otherwise associated terms; flagged as a content item of particular content; etc.) one or more filtering terms 104 .
- the filtering terms 104 can, for example, include a list of terms that are associated with particular subject matter, e.g., adult-oriented content, expletive infused content, racially insensitive content, or other material that is desired to be filtered. If the search access engine 102 determines that the search instance 130 does not include any of the filtering terms 104 , as indicated by the search instance case 132 , then the search access engine 102 can provide the unfiltered content items 124 to the user device 122 (or allow the unfiltered content items 124 to be provided to the user device 122 ).
- filtered content items (FCI) 126 are identified and provided to the user device 122 .
- the filtered content items 126 are a subset of the unfiltered content items 124 , and the unfiltered content items are content items that are identified in the information corpora 110 for the search instance 130 .
- verification service access (VSA) instructions 140 are provided by the user device 122 . Upon execution by the user device 122 , the verification service access instructions 140 provide the user device access to a verification service 142 . The user of the user device 122 can thus access the verification service 142 to provide verification data.
- VSA verification service access
- the verification service 142 can, in response to the verification data (e.g., age verification data, membership verification data, etc.), provide access approval (AA) 144 or access denial (AD) 146 for unfiltered content items 124 that are responsive to the query 120 .
- the verification service 142 is an age verification service
- the user may be required to provide unique identification data, e.g., a name and a unique identification number that can be compared to an age verification database. If the verification data provided indicates the user is of the appropriate age (e.g., the age of majority), then the verification service 142 can provide access approval 144 to the search access engine 106 .
- the search access engine 106 can, in turn, provide the unfiltered content items 124 to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ). Otherwise, the search access engine 106 can preclude the provisioning of the unfiltered content items 124 to the user device 122 .
- the verification service access instructions 142 can comprises be a link to a verification service 142 landing page at which the user may provide verification data directly to the verification service 142 .
- the verification service access instructions 142 can be a user identification data input interface, e.g., editable data fields through which a user may provide verification data, and the search access engine 102 can forward the verification data to the verification service 142 .
- the search access engine 102 can instantiate a user device session, as illustrated by the dashed line 150 , and classify the device session as either an approved device session in response to receiving access approval from the verification service 142 , or as a denied device session in response to receiving access denial from the verification service 142 . Thereafter, the search access engine 102 can automatically provide unfiltered content items 124 to the user device 122 for device sessions that are classified as approved device sessions, and only provide filtered content items 126 to the user device 122 for device sessions that are classified as approved device sessions. The establishment of such a device session can eliminate or minimize the number of times a user must provide verification data to the verification service 142 , thus improving the user experience.
- the device session can be established in a variety of ways.
- the search access engine 102 can store a temporary data file, such as a cookie, associated with the user device 102 that is either stored at the user device 102 or on a server device on which the search access engine 102 is instantiated.
- the device session can be established by logging into a user account associated with the user.
- Other ways of establishing and maintaining a device session can also be used.
- a search instance 130 can be a query, e.g., the query 120 , received from the user device 122 .
- the query 120 can be compared to the filtering terms 104 to determine whether the query 120 includes or is associated with a filtering term.
- the query 120 can be segmented into query components, e.g., words, and compared to a keyword hash map of “black-listed” and “white-listed” terms to determine whether the query includes a filtering term 104 .
- a black-listed term may include the constituent component AA followed by the constituent component BB.
- a white-listed term may include the constituent component AA, followed by the constituent component BB, and followed by the constituent component CC.
- An example hash map could be as follows in a Level/Component/Status format:
- a filtering term in a query 120 can nevertheless be allowable if the filtering term is used in an approved context.
- the word “nude” alone may be deemed to be a filtering term 104 ; however, the term “nude expression” may be deemed to not be a filtering term, as the term “nude” in the context of “expression” may be related to a free speech subject.
- the query can be determined to include the filtering term if the query context of the filtering term is not an approved query context, or can be determined to not include the filtering term if the query context of the filtering term is an approved context.
- the search access engine 102 can generate a revised query based on the filtering term and provide the revised query to the search engine 106 to initiate a search of the information corpora 110 for content items that are responsive to the revised query. These content items that are responsive to the revised query can be identified as the filtered content items 126 .
- the search access engine 102 can provide the original query 120 to the search engine 106 to initiate a search for unfiltered content items, e.g., content items that are responsive to the original query. Examples of generating revised queries can include removing the filtering term from the query, or generating a negative Boolean term based on the filtering term. Other methods to generate a revised query can also be used.
- the search access engine 102 can provide the query 120 to the search engine 106 to initiate a search for unfiltered content items, e.g., content items that are responsive to the query 120 .
- the unfiltered content items 124 can thereafter be filtered by the filtering term 104 to exclude the content items that include the filtering term, and the resulting non-excluded content items can be identified as the filtered content items 126 .
- the request sent to the search engine 106 can be filtered prior to submission to the search engine 106 .
- a search instance 130 can be the unfiltered content items 124 identified in response to the query 120 .
- the search access engine 102 can determine whether the unfiltered content items 124 include a filtering term, and filter the unfiltered content items 124 based on any identified filtering term to generate the filtered content items 126 .
- the unfiltered content items 124 can be processed by the search access engine 102 to identify any filtering terms 104 present in the unfiltered content items 124 .
- Those unfiltered content items 124 that do not include filtering terms 104 can be identified as filtered content items 126 and be provided the user device 122 .
- the search access engine 102 can provide the entire set of unfiltered content items 124 to the user device 122 .
- FIG. 2 is an example search entry environment 200 .
- the search entry environment 200 can be a web page associated with the search engine 106 or the search access engine 102 .
- a query entry box 202 can be used to enter one or more query terms, e.g., QT 1 , QT 2 , and QT 3 .
- a search button 204 can be selected to submit the query terms to the search engine 106 to search of content items of a specified type 206 , e.g., “Web Pages,” that are response to the query terms. Pressing the search button 204 can cause the search accesses engine 102 to receive the query terms QT 1 , QT 2 and QT 3 .
- the search access engine 102 can determine if the query terms QT 1 , QT 2 and QT 3 include a filtering term or if the unfiltered content items 124 identified in the information corpora 110 in response to the query terms QT 1 , QT 2 and QT 3 include a filtering term and take the corresponding processing steps described above.
- FIG. 3 is an example filtered search results environment 300 .
- the filtered search results environment 300 can be a web page associated with the search engine 106 or the search access engine 102 .
- a query term box 302 displays the user entered query terms QT 1 , QT 2 and QT 3 , and a verification alert box 304 informs the user that the approximately 229 unfiltered content items including content items that are inappropriate for certain users, e.g., minors, have been identified. Accordingly, a portion of a list 306 of approximately 300 filtered content items are displayed.
- the verification alert box 302 includes a link 308 that the user may select to gain access to a verification service, e.g., an age verification service.
- FIG. 4 is an example verification service access environment 400 .
- the verification service access environment 400 can be a web page associated with the search engine 106 or the search access engine 102 , and can be accessed by selecting the link 308 in the filtered search results environment 300 .
- One or more user identification data input interfaces e.g., data entry interfaces 402 and 404 , can be presented to the user.
- a link 406 to the filtered search results environment 300 can also be provided.
- the first data entry interface 402 can request identification data for any user and provide the identification data provided by the user to the verification service 142 . If the verification service 142 responds with an access approval, an unfiltered search results environment 500 can be provided to the user device. Conversely, if the verification service 142 responds with an access denial, only the filtered content items 126 are provided to the user device 122 .
- the second data entry interface 404 can user login data for a user account.
- the user account can, for example, be maintained by the search access engine 102 or by some other entity.
- Each user account can include age verification data for a particular user, and can also include data indicating whether the verification service 142 has provided access approval or access denial for that user.
- an unfiltered search results environment 500 can be provided to the user device.
- logging into a user account can instantiate a device session that is classified according to the access approval data or access denial data stored in the user profile.
- FIG. 5 is an example unfiltered search results environment 500 .
- the unfiltered search results environment 500 can be a web page associated with the search engine 106 or the search access engine 102 .
- a portion of a list 504 of approximately 529 unfiltered content items is displayed.
- the list 504 thus includes all of the unfiltered content items 124 that are responsive to the query terms QT 1 , QT 2 and QT 3 .
- FIG. 6 is a flow diagram of an example search filtering process 600 .
- the process 600 can, for example, be implemented in the search filtering system 100 of FIG. 1 .
- Stage 602 identifies a search instance associated with a user device.
- the search access engine 102 can identify a search instance, e.g., a query form the user device 122 or a list of search results responsive to a query from the user device 122 .
- Stage 604 determines if a search instance includes or is associated with a filtering term.
- the search access engine 102 can determine if a search instance includes a filtering term as described above, e.g., by determining whether a query includes a filtering term; or whether the unfiltered content items include a filtering term; or whether a content item is flagged with a particular filtering term, e.g., classified as an adult-oriented web site, etc.
- stage 606 provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 608 identifies filtered content items in the search instance.
- the search access engine 102 can identify filtering terms in the query or can identify content items that include or are associated with a filtering term. These content items can be excluded from the search results, and the non-excluded content items can be identified as the filtered content items.
- Stage 610 provides the filtered content items to the user device.
- the search access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- Stage 612 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items in the search instance.
- the search access engine 102 can provide verification access instructions 140 , e.g., a landing page link, a user identification data input interface, etc. to the user device 122 .
- Stage 614 determines if access approval is received from the verification service.
- the search access engine 102 can process data received from the verification service 142 to determine whether access approval or access denial has been received.
- stage 614 determines that access approval is received from verification service, then the process proceeds to stage 606 , which provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 616 precludes the provisioning of the unfiltered content items to the user device. For example, the search access engine 102 will the only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- FIG. 7 is a flow diagram of another example search filtering process 700 .
- the process 700 can, for example, be implemented in the search filtering system 100 of FIG. 1 .
- Stage 702 receives a query from a user device.
- the search access engine can receive a query from the user device 122 .
- Stage 704 determines if the query includes or is associated with a filtering term. For example, the search access engine can compare the query to a list of filtering terms 104 .
- stage 706 provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 708 identifies filtered content items based on the query and the filtering term. For example, the search access engine 102 can modify a query to remove the filtering term, or revise the query, or can filter the content items that include the filtering term to exclude content items that are, in part, responsive to the filtering term. The non-excluded content items or content items responsive to the revised query can be identified as the filtered content items.
- Stage 710 provides the filtered content items to the user device.
- the search access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- Stage 712 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items that are responsive to or associated with the query term.
- the search access engine 102 can provide verification access instructions 140 , e.g., a landing page link, a user identification data input interface, etc. to the user device 122 .
- Stage 714 determines if access approval is received from the verification service.
- the search access engine 102 can process data received from the verification service 142 to determine whether access approval or access denial has been received.
- stage 714 determines that access approval is received from verification service, then the process proceeds to stage 706 , which provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 716 precludes the provisioning of the unfiltered content items to the user device. For example, the search access engine 102 will only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- FIG. 8 is a flow diagram of another example search filtering process 800 .
- the process 800 can, for example, be implemented in the search filtering system 100 of FIG. 1 .
- Stage 802 receives a query from a user device.
- the search access engine can receive a query from the user device 122 .
- Stage 804 identifies unfiltered content items that are responsive to the query in an information corpus.
- the search access engine 102 can provide the query to the search engine 106 to initiate a search of the information corpora 110 for content items that are responsive to the query.
- the responsive content items are identified as unfiltered content items.
- Stage 806 determines if the unfiltered content items include or are associated with a filtering term. For example, the search access engine 102 can identify unfiltered content items that include a filtering term.
- stage 808 provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 810 filters the unfiltered content items to generate filtered content items.
- the search access engine 102 can identify unfiltered content items that include a filtering term. These unfiltered content items can be excluded from the search results, and the non-excluded unfiltered content items can be identified as the filtered content items.
- Stage 812 provides the filtered content items to the user device.
- the search access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- Stage 814 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items that are responsive to the query term.
- the search access engine 102 can provide verification access instructions 140 , e.g., a landing page link, a user identification data input interface, etc. to the user device 122 .
- Stage 816 determines if access approval is received from the verification service.
- the search access engine 102 can process data received from the verification service 142 to determine whether access approval or access denial has been received.
- stage 816 determines that access approval is received from verification service
- the process proceeds to stage 808 , which provides the unfiltered content items to the user device.
- the search access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122 ).
- stage 818 precludes the provisioning of the unfiltered content items to the user device. For example, the search access engine 102 will only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122 ).
- FIG. 9 is a flow diagram of an example session classification process 900 .
- the process 900 can, for example, be implemented in the search filtering system 100 of FIG. 1 .
- Stage 902 instantiates a device session for the user device.
- the search access engine 102 can process and establish a user login to a user account from the user device 122 .
- Stage 904 classifies the device session according to receiving access approval or access denial from a verification service.
- the search access engine 102 can classify the device session as an approved session if the user account to which the user device 122 is logged into includes data indicating access approval for the user associated with the account.
- the search access engine 102 can classify the device session as a denied session if the user account to which the user device 122 is logged into includes data indicating access denial for the user associated with the account.
- Stage 906 provides the unfiltered content items or the filtered content items to the user device depending on the device session classification.
- the search access engine 102 can automatically provide unfiltered content items to a device with a device session classified as an approved session.
- the search access engine 102 can automatically preclude unfiltered content items being delivered to a device with a device session classified as a denied session.
- Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus.
- the tangible program carrier can be a propagated signal or a computer readable medium.
- the propagated signal is an artificially generated signal, e.g., a machine generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer.
- the computer readable medium can be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them.
- data processing apparatus encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers.
- the apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program does not necessarily correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read only memory or a random access memory or both.
- the essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, to name just a few.
- PDA personal digital assistant
- GPS Global Positioning System
- Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks.
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto optical disks e.g., CD ROM and DVD ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- LAN local area network
- WAN wide area network
- the computing system can include clients and servers.
- a client and server are generally remote from each other and typically interact through a communication network.
- the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client server relationship to each other.
Abstract
Description
- This document relates to search filtering.
- The rise of the Internet has enabled access to a wide variety of content items, e.g., video and/or audio files, web pages for particular subjects, news articles, etc. Content items of particular interest to a user can be identified by a search engine in response to a user query. One example search engine is the Google search engine provided by Google, Inc. of Mountain View, Calif., U.S.A. The query can include one or more search terms, and the search engine can identify and, optionally, rank the content items based on the search terms in the query and present the content items to the user (e.g., according to the rank).
- The content items that are identified in response to a query may include material that is inappropriate for a particular user. For example, a juvenile may (intentionally or unintentionally) enter a query that will return adult-oriented content, and a search engine may identify material that is both appropriate and inappropriate for the juvenile. Various conventional processes have been developed to help prevent the serving of inappropriate content to particular users. For example, some search engines can require that a user provide verification data to a verification service upon detecting a search instance that includes inappropriate content. For example, a search engine can require that a user provide age verification data to an age verification service upon detecting a query that includes a “black-listed” search term or search results that include adult-oriented content. If the user's age cannot be verified, search results are not presented to the user.
- Such a verification process, however, can degrade the user experience. For example, a user may not be interested in the adult-oriented content per se, but may instead be interested in journal articles studying the effects of such content on society, e.g., the societal effects of pornography on young women. A query directed to this particular interest, however, may include one or more black-listed terms or result in the identification of web sites that are inappropriate for some, e.g., juvenile, users. Accordingly, if the user is a juvenile, the user may not be able to access content that is appropriate for the user. Conversely, if the user is an adult, but the age verification service is not available, the user may not be able to access the content of interest.
- Apparatus, systems and methods for search filtering are disclosed. In one implementation, a query is received from a user device and a determination as to whether the query includes or is associated with a filter term is made. If the query is determined to include or be associated with (e.g., similar to, synonymous with, etc.) a filtering term, then filtered content items based on the query and the filtering term are identified and the filtered content items and access to a verification service that provides access approval or access denial for unfiltered content items that are responsive to the query are provided to the user device.
- In another implementation, a query is received from a user device, and unfiltered content items in an information corpus that are responsive to the query are identified. A determination is made as to whether the unfiltered content items that are responsive to the query include or are associated with a filtering term. If the unfiltered content items that are responsive to the query include or are associated with the filtering term, then the unfiltered content items are filtered based on the filtering term to generate filtered content items. The filtered content items and access to a verification service that provides access approval or access denial for the unfiltered content items are provided to the user device.
- In another implementation, a search instance associated with a user device is identified, and a determination is made as to whether the search instance includes or is associated with a filtering term. If the search instance is determined to include or be associated with a filtering term, then filtered content items in the search instance are identified, and the filtered content items and access to a verification service that provides access approval or access denial for unfiltered content items in the search instance are provided to the user device. Conversely, if the search instance is determine not to include a filtering term, then the unfiltered content items are provided to the user device.
- In another implementation, a system includes search access instructions and verification service access instructions. The search access instructions are stored in a computer readable medium and upon execution by a processing device configure the processing device to identify a search instance associated with a user device and determine if the search instance includes or is associated with a filtering term. In response to determining that the search instance includes or is associated with a filtering term, the processing device can identify filtered content items in the search instance and provide the filtered content items to the user device. Conversely, in response to determining that the search instance does not include or is not associated with a filtering term, the processing device can identify unfiltered content items in the search instance and provide the unfiltered content item to the user device. The verification service access instructions are stored in a computer readable medium and upon execution by a processing device configure the processing device to provide the user device access to a verification service in response to the processing device executing the search access instructions determining that the search instance includes a filtering term.
- The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
-
FIG. 1 is a block diagram of an example search filtering system. -
FIG. 2 is an example search entry environment. -
FIG. 3 is an example filtered search results environment. -
FIG. 4 is an example verification service access environment. -
FIG. 5 is an example unfiltered search results environment. -
FIG. 6 is a flow diagram of an example search filtering process. -
FIG. 7 is a flow diagram of another example search filtering process. -
FIG. 8 is a flow diagram of another example search filtering process. -
FIG. 9 is a flow diagram of an example session classification process. - Like reference numbers and designations in the various drawings indicate like elements.
-
FIG. 1 is a block diagram of an examplesearch filtering system 100. In an implementation, asearch access engine 102 can access a data store offiltering terms 104 and asearch engine 106. In some implementations, thesearch access engine 102 and the data store offiltering terms 104 can be instantiations that are separate from thesearch engine 106. In other implementations, thesearch access engine 102, the data store offiltering terms 104, and thesearch engine 108 can be an integrated instantiation, as indicated by thedashed line 108. - The
search access engine 102 and thesearch engine 106 can be implemented in one or more networked server computers, e.g., a server farm. Thesearch engine 106 can be configured to access and processinformation corpora 110, e.g., thousands or even millions of content items, e.g., web-based documents, such as web pages, audio files, video files, image files, data files, blogs, etc. In some implementations, theinformation corpora 106 can be implemented as cached data stores that store web documents retrieved over the Internet and that are indexed by thesearch engine 106 to facilitate searching, identification and retrieval operations. - Such searching, identification and retrieval operations can occur in response to a
query 120 including one or more query terms QT from auser device 122. Example user devices include personal computers, portable communication devices, set top boxes, or any other computer device operable to communicate data input by a user over a network, such as the Internet. - In response to the one or
more query terms 120, thesearch engine 106 can identify one or more unfiltered content items (UCI) 124. Theunfiltered content items 124 can be provided to the user device in the form or search results. Example search results include landing page links, e.g., uniform resource locators (URL) that are resolved to web sites that provide access to a content item. Selection of the landing page link will thus direct a software application running on theuser device 102, e.g., a web browser, to the web site so that theuser device 102 can access the content item. - Absent any monitoring of a
search instance 130, e.g., monitoring of the one ormore query terms 120 and/or theunfiltered content items 124, theunfiltered content items 124 will be provided to theuser device 122. As described above, however, theunfiltered content items 124 that are identified in response toquery terms 120 may include material that is inappropriate for a particular user. Thus, in some implementations, thesearch access engine 102 is configured to identify thesearch instance 130 associated with theuser device 122 and determine if thesearch instance 130 includes or is associated with (e.g., related or synonymous or otherwise associated terms; flagged as a content item of particular content; etc.) one ormore filtering terms 104. Thefiltering terms 104 can, for example, include a list of terms that are associated with particular subject matter, e.g., adult-oriented content, expletive infused content, racially insensitive content, or other material that is desired to be filtered. If thesearch access engine 102 determines that thesearch instance 130 does not include any of thefiltering terms 104, as indicated by thesearch instance case 132, then thesearch access engine 102 can provide theunfiltered content items 124 to the user device 122 (or allow theunfiltered content items 124 to be provided to the user device 122). - Conversely, if the
search access engine 102 determines that thesearch instance 130 includes or is associate with one or more filtering terms, e.g., filteringterm 104a as indicated by thesearch instance case 134, then filtered content items (FCI) 126 are identified and provided to theuser device 122. In some implementations, the filteredcontent items 126 are a subset of theunfiltered content items 124, and the unfiltered content items are content items that are identified in theinformation corpora 110 for thesearch instance 130. Additionally, verification service access (VSA)instructions 140 are provided by theuser device 122. Upon execution by theuser device 122, the verificationservice access instructions 140 provide the user device access to averification service 142. The user of theuser device 122 can thus access theverification service 142 to provide verification data. - The
verification service 142 can, in response to the verification data (e.g., age verification data, membership verification data, etc.), provide access approval (AA) 144 or access denial (AD) 146 forunfiltered content items 124 that are responsive to thequery 120. For example, if theverification service 142 is an age verification service, the user may be required to provide unique identification data, e.g., a name and a unique identification number that can be compared to an age verification database. If the verification data provided indicates the user is of the appropriate age (e.g., the age of majority), then theverification service 142 can provideaccess approval 144 to thesearch access engine 106. Thesearch access engine 106 can, in turn, provide theunfiltered content items 124 to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). Otherwise, thesearch access engine 106 can preclude the provisioning of theunfiltered content items 124 to theuser device 122. - In some implementations, the verification
service access instructions 142 can comprises be a link to averification service 142 landing page at which the user may provide verification data directly to theverification service 142. In other implementations, the verificationservice access instructions 142 can be a user identification data input interface, e.g., editable data fields through which a user may provide verification data, and thesearch access engine 102 can forward the verification data to theverification service 142. - The processing of a single search instance has been described. However, users may often submit multiple queries during a session. In some implementations, the
search access engine 102 can instantiate a user device session, as illustrated by the dashedline 150, and classify the device session as either an approved device session in response to receiving access approval from theverification service 142, or as a denied device session in response to receiving access denial from theverification service 142. Thereafter, thesearch access engine 102 can automatically provideunfiltered content items 124 to theuser device 122 for device sessions that are classified as approved device sessions, and only provide filteredcontent items 126 to theuser device 122 for device sessions that are classified as approved device sessions. The establishment of such a device session can eliminate or minimize the number of times a user must provide verification data to theverification service 142, thus improving the user experience. - The device session can be established in a variety of ways. For example, the
search access engine 102 can store a temporary data file, such as a cookie, associated with theuser device 102 that is either stored at theuser device 102 or on a server device on which thesearch access engine 102 is instantiated. Alternatively, the device session can be established by logging into a user account associated with the user. Other ways of establishing and maintaining a device session can also be used. - The determination of whether a
search instance 130 includes afiltering term 104 can be implemented by various processes. In some implementations, asearch instance 130 can be a query, e.g., thequery 120, received from theuser device 122. Thequery 120 can be compared to thefiltering terms 104 to determine whether thequery 120 includes or is associated with a filtering term. In one implementation, thequery 120 can be segmented into query components, e.g., words, and compared to a keyword hash map of “black-listed” and “white-listed” terms to determine whether the query includes afiltering term 104. For example, a black-listed term may include the constituent component AA followed by the constituent component BB. However, a white-listed term may include the constituent component AA, followed by the constituent component BB, and followed by the constituent component CC. An example hash map could be as follows in a Level/Component/Status format: -
- 1/AA/WL→2/BB/BL→3/CC/WL→4/NULL/NULL→3/EE/BL→4/NULL/NULL→2/FF/BL÷3/NULL/NULL
where “WL” indicates a while-listed term and “BL” indicates a “black-listed” term, i.e., a filtering term. In some implementations, queries that are not represented by the hash map can be deemed a white-listed term. Thus, if the query is “AADD,” or AABBDD”, the query is determined to not include a filtering term.
- 1/AA/WL→2/BB/BL→3/CC/WL→4/NULL/NULL→3/EE/BL→4/NULL/NULL→2/FF/BL÷3/NULL/NULL
- In some implementations, a filtering term in a
query 120 can nevertheless be allowable if the filtering term is used in an approved context. For example, the word “nude” alone may be deemed to be afiltering term 104; however, the term “nude expression” may be deemed to not be a filtering term, as the term “nude” in the context of “expression” may be related to a free speech subject. Thus, the query can be determined to include the filtering term if the query context of the filtering term is not an approved query context, or can be determined to not include the filtering term if the query context of the filtering term is an approved context. - In some implementations, if the
query 120 includes a filtering term, thesearch access engine 102 can generate a revised query based on the filtering term and provide the revised query to thesearch engine 106 to initiate a search of theinformation corpora 110 for content items that are responsive to the revised query. These content items that are responsive to the revised query can be identified as the filteredcontent items 126. Upon receiving anaccess approval 144, thesearch access engine 102 can provide theoriginal query 120 to thesearch engine 106 to initiate a search for unfiltered content items, e.g., content items that are responsive to the original query. Examples of generating revised queries can include removing the filtering term from the query, or generating a negative Boolean term based on the filtering term. Other methods to generate a revised query can also be used. - In some implementations, if the
query 120 includes a filtering term, thesearch access engine 102 can provide thequery 120 to thesearch engine 106 to initiate a search for unfiltered content items, e.g., content items that are responsive to thequery 120. Theunfiltered content items 124 can thereafter be filtered by thefiltering term 104 to exclude the content items that include the filtering term, and the resulting non-excluded content items can be identified as the filteredcontent items 126. Alternatively, the request sent to thesearch engine 106 can be filtered prior to submission to thesearch engine 106. - In some implementations, a
search instance 130 can be theunfiltered content items 124 identified in response to thequery 120. Thesearch access engine 102 can determine whether theunfiltered content items 124 include a filtering term, and filter theunfiltered content items 124 based on any identified filtering term to generate the filteredcontent items 126. For example, theunfiltered content items 124 can be processed by thesearch access engine 102 to identify anyfiltering terms 104 present in theunfiltered content items 124. Thoseunfiltered content items 124 that do not include filteringterms 104 can be identified as filteredcontent items 126 and be provided theuser device 122. Upon receiving anaccess approval 144, thesearch access engine 102 can provide the entire set ofunfiltered content items 124 to theuser device 122. -
FIG. 2 is an examplesearch entry environment 200. Thesearch entry environment 200 can be a web page associated with thesearch engine 106 or thesearch access engine 102. Aquery entry box 202 can be used to enter one or more query terms, e.g., QT1, QT2, and QT3. Asearch button 204 can be selected to submit the query terms to thesearch engine 106 to search of content items of a specifiedtype 206, e.g., “Web Pages,” that are response to the query terms. Pressing thesearch button 204 can cause the search accessesengine 102 to receive the query terms QT1, QT2 and QT3. Depending on the implementation, thesearch access engine 102 can determine if the query terms QT1, QT2 and QT3 include a filtering term or if theunfiltered content items 124 identified in theinformation corpora 110 in response to the query terms QT1, QT2 and QT3 include a filtering term and take the corresponding processing steps described above. -
FIG. 3 is an example filteredsearch results environment 300. The filteredsearch results environment 300 can be a web page associated with thesearch engine 106 or thesearch access engine 102. Aquery term box 302 displays the user entered query terms QT1, QT2 and QT3, and averification alert box 304 informs the user that the approximately 229 unfiltered content items including content items that are inappropriate for certain users, e.g., minors, have been identified. Accordingly, a portion of alist 306 of approximately 300 filtered content items are displayed. Theverification alert box 302 includes alink 308 that the user may select to gain access to a verification service, e.g., an age verification service. -
FIG. 4 is an example verificationservice access environment 400. The verificationservice access environment 400 can be a web page associated with thesearch engine 106 or thesearch access engine 102, and can be accessed by selecting thelink 308 in the filteredsearch results environment 300. One or more user identification data input interfaces, e.g., data entry interfaces 402 and 404, can be presented to the user. Additionally, alink 406 to the filteredsearch results environment 300 can also be provided. - The first
data entry interface 402 can request identification data for any user and provide the identification data provided by the user to theverification service 142. If theverification service 142 responds with an access approval, an unfilteredsearch results environment 500 can be provided to the user device. Conversely, if theverification service 142 responds with an access denial, only the filteredcontent items 126 are provided to theuser device 122. - The second
data entry interface 404 can user login data for a user account. The user account can, for example, be maintained by thesearch access engine 102 or by some other entity. Each user account can include age verification data for a particular user, and can also include data indicating whether theverification service 142 has provided access approval or access denial for that user. Thus, if a user logs into an account that includes data indicating that theverification service 142 has provided access approval for that user, then an unfilteredsearch results environment 500 can be provided to the user device. Conversely, if a user logs into an account that includes data indicating that theverification service 142 has not provided access approval for that user, then only filteredsearch results environment 500 can be provided to the user device. In some implementations, logging into a user account can instantiate a device session that is classified according to the access approval data or access denial data stored in the user profile. -
FIG. 5 is an example unfilteredsearch results environment 500. The unfilteredsearch results environment 500 can be a web page associated with thesearch engine 106 or thesearch access engine 102. A portion of alist 504 of approximately 529 unfiltered content items is displayed. Thelist 504 thus includes all of theunfiltered content items 124 that are responsive to the query terms QT1, QT2 and QT3. -
FIG. 6 is a flow diagram of an examplesearch filtering process 600. Theprocess 600 can, for example, be implemented in thesearch filtering system 100 ofFIG. 1 . -
Stage 602 identifies a search instance associated with a user device. For example, thesearch access engine 102 can identify a search instance, e.g., a query form theuser device 122 or a list of search results responsive to a query from theuser device 122. -
Stage 604 determines if a search instance includes or is associated with a filtering term. For example, thesearch access engine 102 can determine if a search instance includes a filtering term as described above, e.g., by determining whether a query includes a filtering term; or whether the unfiltered content items include a filtering term; or whether a content item is flagged with a particular filtering term, e.g., classified as an adult-oriented web site, etc. - If
stage 604 determines that the search instance does not include or is not associated with a filtering term, then stage 606 provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 604 determines that the search instance does include a filtering term, then stage 608 identifies filtered content items in the search instance. For example, thesearch access engine 102 can identify filtering terms in the query or can identify content items that include or are associated with a filtering term. These content items can be excluded from the search results, and the non-excluded content items can be identified as the filtered content items. -
Stage 610 provides the filtered content items to the user device. For example, thesearch access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
Stage 612 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items in the search instance. For example, thesearch access engine 102 can provideverification access instructions 140, e.g., a landing page link, a user identification data input interface, etc. to theuser device 122. -
Stage 614 determines if access approval is received from the verification service. For example, thesearch access engine 102 can process data received from theverification service 142 to determine whether access approval or access denial has been received. - If
stage 614 determines that access approval is received from verification service, then the process proceeds to stage 606, which provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 614 determines that access approval is not received from the verification service, then stage 616 precludes the provisioning of the unfiltered content items to the user device. For example, thesearch access engine 102 will the only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
FIG. 7 is a flow diagram of another examplesearch filtering process 700. Theprocess 700 can, for example, be implemented in thesearch filtering system 100 ofFIG. 1 . -
Stage 702 receives a query from a user device. For example, the search access engine can receive a query from theuser device 122. -
Stage 704 determines if the query includes or is associated with a filtering term. For example, the search access engine can compare the query to a list of filteringterms 104. - If
state 704 determines the query does not include or is not associated with a filtering term, then stage 706 provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 704 determines that the query includes or is associated with a filtering term, then stage 708 identifies filtered content items based on the query and the filtering term. For example, thesearch access engine 102 can modify a query to remove the filtering term, or revise the query, or can filter the content items that include the filtering term to exclude content items that are, in part, responsive to the filtering term. The non-excluded content items or content items responsive to the revised query can be identified as the filtered content items. -
Stage 710 provides the filtered content items to the user device. For example, thesearch access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
Stage 712 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items that are responsive to or associated with the query term. For example, thesearch access engine 102 can provideverification access instructions 140, e.g., a landing page link, a user identification data input interface, etc. to theuser device 122. -
Stage 714 determines if access approval is received from the verification service. For example, thesearch access engine 102 can process data received from theverification service 142 to determine whether access approval or access denial has been received. - If
stage 714 determines that access approval is received from verification service, then the process proceeds to stage 706, which provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 714 determines that access approval is not received from the verification service, then stage 716 precludes the provisioning of the unfiltered content items to the user device. For example, thesearch access engine 102 will only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
FIG. 8 is a flow diagram of another examplesearch filtering process 800. Theprocess 800 can, for example, be implemented in thesearch filtering system 100 ofFIG. 1 . -
Stage 802 receives a query from a user device. For example, the search access engine can receive a query from theuser device 122. -
Stage 804 identifies unfiltered content items that are responsive to the query in an information corpus. For example, thesearch access engine 102 can provide the query to thesearch engine 106 to initiate a search of theinformation corpora 110 for content items that are responsive to the query. The responsive content items are identified as unfiltered content items. -
Stage 806 determines if the unfiltered content items include or are associated with a filtering term. For example, thesearch access engine 102 can identify unfiltered content items that include a filtering term. - If
stage 806 determines that the unfiltered content items do not include or are not associated with a filtering term, then stage 808 provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 806 determines that the unfiltered content items do include a filtering term, then stage 810 filters the unfiltered content items to generate filtered content items. For example, thesearch access engine 102 can identify unfiltered content items that include a filtering term. These unfiltered content items can be excluded from the search results, and the non-excluded unfiltered content items can be identified as the filtered content items. -
Stage 812 provides the filtered content items to the user device. For example, thesearch access engine 102 can provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
Stage 814 provides the user device access to a verification service that provides access approval or access denial to unfiltered content items that are responsive to the query term. For example, thesearch access engine 102 can provideverification access instructions 140, e.g., a landing page link, a user identification data input interface, etc. to theuser device 122. -
Stage 816 determines if access approval is received from the verification service. For example, thesearch access engine 102 can process data received from theverification service 142 to determine whether access approval or access denial has been received. - If
stage 816 determines that access approval is received from verification service, then the process proceeds to stage 808, which provides the unfiltered content items to the user device. For example, thesearch access engine 102 can provide the unfiltered content items to the user device 122 (or allow the unfiltered content items to be provided to the user device 122). - If
stage 816 determines that access approval is not received from the verification service, then stage 818 precludes the provisioning of the unfiltered content items to the user device. For example, thesearch access engine 102 will only provide the filtered content items to the user device 122 (or allow the filtered content items to be provided to the user device 122). -
FIG. 9 is a flow diagram of an examplesession classification process 900. Theprocess 900 can, for example, be implemented in thesearch filtering system 100 ofFIG. 1 . -
Stage 902 instantiates a device session for the user device. For example, thesearch access engine 102 can process and establish a user login to a user account from theuser device 122. -
Stage 904 classifies the device session according to receiving access approval or access denial from a verification service. For example, thesearch access engine 102 can classify the device session as an approved session if the user account to which theuser device 122 is logged into includes data indicating access approval for the user associated with the account. Likewise, thesearch access engine 102 can classify the device session as a denied session if the user account to which theuser device 122 is logged into includes data indicating access denial for the user associated with the account. -
Stage 906 provides the unfiltered content items or the filtered content items to the user device depending on the device session classification. For example, thesearch access engine 102 can automatically provide unfiltered content items to a device with a device session classified as an approved session. Likewise, thesearch access engine 102 can automatically preclude unfiltered content items being delivered to a device with a device session classified as a denied session. - Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus. The tangible program carrier can be a propagated signal or a computer readable medium. The propagated signal is an artificially generated signal, e.g., a machine generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer. The computer readable medium can be a machine readable storage device, a machine readable storage substrate, a memory device, a composition of matter effecting a machine readable propagated signal, or a combination of one or more of them.
- The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
- A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- Additionally, the logic flows and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof. The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, to name just a few.
- Computer readable media suitable for storing computer program instructions and data include all forms of non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client server relationship to each other.
- While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
- Particular embodiments of the subject matter described in this specification have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
Claims (33)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/847,114 US8032527B2 (en) | 2007-08-29 | 2007-08-29 | Search filtering |
PCT/US2008/074842 WO2009029825A1 (en) | 2007-08-29 | 2008-08-29 | Search filtering |
KR1020107004670A KR101444923B1 (en) | 2007-08-29 | 2008-08-29 | Search filtering |
CN200880112382XA CN101836208B (en) | 2007-08-29 | 2008-08-29 | Search filtering |
US13/234,503 US8458211B2 (en) | 2007-08-29 | 2011-09-16 | Search query hash |
US13/234,546 US8429161B2 (en) | 2007-08-29 | 2011-09-16 | Search filtering |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/847,114 US8032527B2 (en) | 2007-08-29 | 2007-08-29 | Search filtering |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/234,546 Continuation US8429161B2 (en) | 2007-08-29 | 2011-09-16 | Search filtering |
US13/234,503 Continuation US8458211B2 (en) | 2007-08-29 | 2011-09-16 | Search query hash |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090063452A1 true US20090063452A1 (en) | 2009-03-05 |
US8032527B2 US8032527B2 (en) | 2011-10-04 |
Family
ID=40387831
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/847,114 Expired - Fee Related US8032527B2 (en) | 2007-08-29 | 2007-08-29 | Search filtering |
US13/234,503 Expired - Fee Related US8458211B2 (en) | 2007-08-29 | 2011-09-16 | Search query hash |
US13/234,546 Active US8429161B2 (en) | 2007-08-29 | 2011-09-16 | Search filtering |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/234,503 Expired - Fee Related US8458211B2 (en) | 2007-08-29 | 2011-09-16 | Search query hash |
US13/234,546 Active US8429161B2 (en) | 2007-08-29 | 2011-09-16 | Search filtering |
Country Status (4)
Country | Link |
---|---|
US (3) | US8032527B2 (en) |
KR (1) | KR101444923B1 (en) |
CN (1) | CN101836208B (en) |
WO (1) | WO2009029825A1 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193016A1 (en) * | 2008-01-25 | 2009-07-30 | Chacha Search, Inc. | Method and system for access to restricted resources |
US20100017414A1 (en) * | 2008-07-18 | 2010-01-21 | Leeds Douglas D | Search activity eraser |
CN102184245A (en) * | 2011-05-18 | 2011-09-14 | 华北电力大学 | Method for fast searching massive text data keywords |
CN102682037A (en) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | Data acquisition method, system and device |
US20140089661A1 (en) * | 2012-09-25 | 2014-03-27 | Securly, Inc. | System and method for securing network traffic |
CN103902714A (en) * | 2014-04-03 | 2014-07-02 | 北京国双科技有限公司 | Method and device for filtering keywords |
US20140229520A1 (en) * | 2013-02-13 | 2014-08-14 | Microsoft Corporation | Specifying link layer information in a url |
CN104809138A (en) * | 2014-01-28 | 2015-07-29 | 阿里巴巴集团控股有限公司 | Hash processing based vocabulary management method and device |
US20160171109A1 (en) * | 2014-12-12 | 2016-06-16 | Ebay Inc. | Web content filtering |
CN105989152A (en) * | 2015-03-02 | 2016-10-05 | 深圳市腾讯计算机系统有限公司 | Search engine service quality monitoring methods, apparatus and system |
WO2017114282A1 (en) * | 2015-12-29 | 2017-07-06 | 广州神马移动信息科技有限公司 | Information search device and method, search server and machine-readable storage medium |
US9813547B2 (en) * | 2015-05-20 | 2017-11-07 | Verizon Patent And Licensing Inc. | Providing content to a child mobile device via a parent mobile device |
WO2018040062A1 (en) * | 2016-09-02 | 2018-03-08 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for generating phrase blacklist to prevent certain content from appearing in search result in response to search queries |
US20180081974A1 (en) * | 2016-09-21 | 2018-03-22 | International Business Machines Corporation | Persistent filter content refinement system |
US10826871B1 (en) | 2018-05-17 | 2020-11-03 | Securly, Inc. | Managed network content monitoring and filtering system and method |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4939637B2 (en) * | 2010-08-20 | 2012-05-30 | 楽天株式会社 | Information providing apparatus, information providing method, program, and information recording medium |
KR101307105B1 (en) | 2010-08-20 | 2013-09-11 | 라쿠텐 인코포레이티드 | Information provisioning device, information provisioning method, and information recording medium |
US20120110064A1 (en) * | 2010-11-01 | 2012-05-03 | Google Inc. | Content sharing interface for sharing content in social networks |
KR101850886B1 (en) * | 2010-12-23 | 2018-04-23 | 네이버 주식회사 | Search system and mehtod for recommending reduction query |
KR101356035B1 (en) * | 2012-05-14 | 2014-01-29 | 한국과학기술원 | Method and system for removing abusive word |
US9330183B2 (en) | 2013-05-08 | 2016-05-03 | Facebook, Inc. | Approximate privacy indexing for search queries on online social networks |
CN103631908B (en) * | 2013-11-26 | 2017-07-25 | 百度在线网络技术(北京)有限公司 | The processing method of pornography, the processing method of information, client and server |
CN105354285B (en) * | 2015-10-30 | 2019-01-25 | 百度在线网络技术(北京)有限公司 | Knowledge searching method, device and the search engine being embedded in search engine |
US10146842B2 (en) * | 2015-11-19 | 2018-12-04 | Google Llc | Pre-instantiating native applications in background |
US10659299B1 (en) | 2016-06-30 | 2020-05-19 | Facebook, Inc. | Managing privacy settings for content on online social networks |
CN106484859A (en) * | 2016-09-30 | 2017-03-08 | 维沃移动通信有限公司 | A kind of conjunctive word exhibiting method and device |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019828A1 (en) * | 2000-06-09 | 2002-02-14 | Mortl William M. | Computer-implemented method and apparatus for obtaining permission based data |
US6360215B1 (en) * | 1998-11-03 | 2002-03-19 | Inktomi Corporation | Method and apparatus for retrieving documents based on information other than document content |
US20020083008A1 (en) * | 2000-12-22 | 2002-06-27 | Smith Christopher F. | Method and system for identity verification for e-transactions |
US20020103914A1 (en) * | 2001-01-31 | 2002-08-01 | International Business Machines Corporation | Apparatus and methods for filtering content based on accessibility to a user |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
US20040225647A1 (en) * | 2003-05-09 | 2004-11-11 | John Connelly | Display system and method |
US20040267731A1 (en) * | 2003-04-25 | 2004-12-30 | Gino Monier Louis Marcel | Method and system to facilitate building and using a search database |
US20060004716A1 (en) * | 2004-07-01 | 2006-01-05 | Microsoft Corporation | Presentation-level content filtering for a search result |
US20070061246A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Mobile campaign creation |
US20070192314A1 (en) * | 2006-01-27 | 2007-08-16 | Heggem Richard A | Business-oriented search |
US20070219979A1 (en) * | 2006-03-15 | 2007-09-20 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Live search with use restriction |
US20080104021A1 (en) * | 2006-10-30 | 2008-05-01 | Yigang Cai | Systems and methods for controlling access to online personal information |
US20080162540A1 (en) * | 2006-12-29 | 2008-07-03 | Yahoo! Inc. | Identifying offensive content using user click data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006621A1 (en) | 2002-06-27 | 2004-01-08 | Bellinson Craig Adam | Content filtering for web browsing |
KR20040008439A (en) | 2002-07-18 | 2004-01-31 | 삼성전자주식회사 | method for control of Frame Relay data traffic to in Asynchronous Transfer Mode system |
EP1383054A1 (en) | 2002-07-19 | 2004-01-21 | SCHLUMBERGER Systèmes | Data synchronization procedures for smartcards |
US6983280B2 (en) * | 2002-09-13 | 2006-01-03 | Overture Services Inc. | Automated processing of appropriateness determination of content for search listings in wide area network searches |
KR100501125B1 (en) * | 2003-03-28 | 2005-07-18 | 에스케이 텔레콤주식회사 | Policy verificating system of internet contents and method therefore |
JP2005107631A (en) | 2003-09-29 | 2005-04-21 | Dainippon Printing Co Ltd | Campaign management system |
JP2005107831A (en) | 2003-09-30 | 2005-04-21 | Netstar Inc | Url filtering system and browsing control method by url filtering |
-
2007
- 2007-08-29 US US11/847,114 patent/US8032527B2/en not_active Expired - Fee Related
-
2008
- 2008-08-29 CN CN200880112382XA patent/CN101836208B/en not_active Expired - Fee Related
- 2008-08-29 WO PCT/US2008/074842 patent/WO2009029825A1/en active Application Filing
- 2008-08-29 KR KR1020107004670A patent/KR101444923B1/en not_active IP Right Cessation
-
2011
- 2011-09-16 US US13/234,503 patent/US8458211B2/en not_active Expired - Fee Related
- 2011-09-16 US US13/234,546 patent/US8429161B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360215B1 (en) * | 1998-11-03 | 2002-03-19 | Inktomi Corporation | Method and apparatus for retrieving documents based on information other than document content |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
US20020019828A1 (en) * | 2000-06-09 | 2002-02-14 | Mortl William M. | Computer-implemented method and apparatus for obtaining permission based data |
US20020083008A1 (en) * | 2000-12-22 | 2002-06-27 | Smith Christopher F. | Method and system for identity verification for e-transactions |
US20020103914A1 (en) * | 2001-01-31 | 2002-08-01 | International Business Machines Corporation | Apparatus and methods for filtering content based on accessibility to a user |
US20040267731A1 (en) * | 2003-04-25 | 2004-12-30 | Gino Monier Louis Marcel | Method and system to facilitate building and using a search database |
US20040225647A1 (en) * | 2003-05-09 | 2004-11-11 | John Connelly | Display system and method |
US20060004716A1 (en) * | 2004-07-01 | 2006-01-05 | Microsoft Corporation | Presentation-level content filtering for a search result |
US20070061246A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Mobile campaign creation |
US20070192314A1 (en) * | 2006-01-27 | 2007-08-16 | Heggem Richard A | Business-oriented search |
US20070219979A1 (en) * | 2006-03-15 | 2007-09-20 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Live search with use restriction |
US20080104021A1 (en) * | 2006-10-30 | 2008-05-01 | Yigang Cai | Systems and methods for controlling access to online personal information |
US20080162540A1 (en) * | 2006-12-29 | 2008-07-03 | Yahoo! Inc. | Identifying offensive content using user click data |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193016A1 (en) * | 2008-01-25 | 2009-07-30 | Chacha Search, Inc. | Method and system for access to restricted resources |
US8577894B2 (en) * | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
US20100017414A1 (en) * | 2008-07-18 | 2010-01-21 | Leeds Douglas D | Search activity eraser |
US8180771B2 (en) * | 2008-07-18 | 2012-05-15 | Iac Search & Media, Inc. | Search activity eraser |
CN102682037A (en) * | 2011-03-18 | 2012-09-19 | 阿里巴巴集团控股有限公司 | Data acquisition method, system and device |
CN102184245A (en) * | 2011-05-18 | 2011-09-14 | 华北电力大学 | Method for fast searching massive text data keywords |
US20140089661A1 (en) * | 2012-09-25 | 2014-03-27 | Securly, Inc. | System and method for securing network traffic |
US10574560B2 (en) * | 2013-02-13 | 2020-02-25 | Microsoft Technology Licensing, Llc | Specifying link layer information in a URL |
US20140229520A1 (en) * | 2013-02-13 | 2014-08-14 | Microsoft Corporation | Specifying link layer information in a url |
CN104809138A (en) * | 2014-01-28 | 2015-07-29 | 阿里巴巴集团控股有限公司 | Hash processing based vocabulary management method and device |
CN103902714A (en) * | 2014-04-03 | 2014-07-02 | 北京国双科技有限公司 | Method and device for filtering keywords |
US20160171109A1 (en) * | 2014-12-12 | 2016-06-16 | Ebay Inc. | Web content filtering |
CN105989152A (en) * | 2015-03-02 | 2016-10-05 | 深圳市腾讯计算机系统有限公司 | Search engine service quality monitoring methods, apparatus and system |
US9813547B2 (en) * | 2015-05-20 | 2017-11-07 | Verizon Patent And Licensing Inc. | Providing content to a child mobile device via a parent mobile device |
WO2017114282A1 (en) * | 2015-12-29 | 2017-07-06 | 广州神马移动信息科技有限公司 | Information search device and method, search server and machine-readable storage medium |
CN108027820A (en) * | 2016-09-02 | 2018-05-11 | 百度时代网络技术(北京)有限公司 | For producing phrase blacklist to prevent some contents from appearing in the method and system in search result in response to search inquiry |
US20180218079A1 (en) * | 2016-09-02 | 2018-08-02 | Baidu Usa Llc | Method and system for generating phrase blacklist to prevent certain content from appearing in a search result in response to search queries |
WO2018040062A1 (en) * | 2016-09-02 | 2018-03-08 | Baidu.Com Times Technology (Beijing) Co., Ltd. | Method and system for generating phrase blacklist to prevent certain content from appearing in search result in response to search queries |
US11604843B2 (en) * | 2016-09-02 | 2023-03-14 | Baidu Usa Llc | Method and system for generating phrase blacklist to prevent certain content from appearing in a search result in response to search queries |
US20180081974A1 (en) * | 2016-09-21 | 2018-03-22 | International Business Machines Corporation | Persistent filter content refinement system |
US10839030B2 (en) * | 2016-09-21 | 2020-11-17 | International Business Machines Corporation | Persistent filter content refinement system |
US10826871B1 (en) | 2018-05-17 | 2020-11-03 | Securly, Inc. | Managed network content monitoring and filtering system and method |
US10911410B1 (en) | 2018-05-17 | 2021-02-02 | Securly, Inc. | Managed network content monitoring and filtering system and method |
US11108785B2 (en) | 2018-05-17 | 2021-08-31 | Securly, Inc. | Managed network content monitoring and filtering system and method |
US11265332B1 (en) | 2018-05-17 | 2022-03-01 | Securly, Inc. | Managed network content monitoring and filtering system and method |
US11329993B2 (en) | 2018-05-17 | 2022-05-10 | Securly, Inc. | Managed network content monitoring and filtering system and method |
Also Published As
Publication number | Publication date |
---|---|
WO2009029825A1 (en) | 2009-03-05 |
US20120011111A1 (en) | 2012-01-12 |
KR101444923B1 (en) | 2014-09-30 |
US8032527B2 (en) | 2011-10-04 |
CN101836208B (en) | 2013-06-05 |
US8429161B2 (en) | 2013-04-23 |
CN101836208A (en) | 2010-09-15 |
US8458211B2 (en) | 2013-06-04 |
US20120005197A1 (en) | 2012-01-05 |
KR20100074117A (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8032527B2 (en) | Search filtering | |
US9288285B2 (en) | Recommending content in a client-server environment | |
US10977253B2 (en) | System for providing contextualized search results of help topics | |
US11924644B2 (en) | Secure communication in mobile digital pages | |
US9959354B2 (en) | Utilizing user co-search behavior to identify search queries seeking inappropriate content | |
US20200252478A1 (en) | Dynamic application content analysis | |
JP2023515158A (en) | Interface and mode selection for digital action execution | |
JP7425126B2 (en) | Mute content across platforms | |
US9519710B1 (en) | Dynamic classification of attribute relevance and classification | |
US9754036B1 (en) | Adapting third party applications | |
US11869504B2 (en) | Systems and methods to verify trigger keywords in acoustic-based digital assistant applications | |
US20150169739A1 (en) | Query Classification | |
EP3729259B1 (en) | Assessing applications for delivery via an application delivery server | |
US20230259815A1 (en) | Machine learning techniques for user group based content distribution | |
CN112534771B (en) | System and method for verifying trigger keywords in an acoustic-based digital assistant application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AHN, JUNGHO;TANSUWAN, JUSTIN J.;LEE, JUNYOUNG;REEL/FRAME:021187/0154;SIGNING DATES FROM 20070831 TO 20080630 Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AHN, JUNGHO;TANSUWAN, JUSTIN J.;LEE, JUNYOUNG;SIGNING DATES FROM 20070831 TO 20080630;REEL/FRAME:021187/0154 |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044101/0405 Effective date: 20170929 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20231004 |