A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. Copyright ©2006, Apple Inc., All Rights Reserved.
Embodiments of the invention relate to content filtering, and more particularly, to multimedia content filtering using latent semantic analysis.
The use of computer systems and the Internet for communication and obtaining information has grown drastically over the years. The Internet may be described as a collection of interconnected computer networks. The World Wide Web (“Web”) may be described as a collection of interconnected documents and other resources, linked by hyperlinks and Uniform Resource Locators (“URLs”). The Web may be accessed using a computer via the Internet, and are many other services available through the Web including e-mail, file sharing, and others. Through the Internet, millions of people worldwide have easy, virtually instant access to a vast and diverse amount of on-line information. Compared to encyclopedias and traditional libraries, the World Wide Web has enabled a sudden and extreme decentralization of information and data. The Web is a fast changing place, as web sites may change and new ones may come up all the time.
A content-control software, for example, Cyber Patrol™, squidGuard™, NetNanny™, NetBarrier™, ContentBarrier™, DansGuardian™ may be used to control and restrict material delivered over the Web to a user. Typical users of such software includes parents who wish to limit what web sites their children may view from home computers, schools performing the same function with regard to computers found at school, employers restricting what content may be viewed by employees while on the job, and the like.
Most existing content controls typically filter the access to web pages based on a list of banned sites. Some filters allow control of advertisements through features like blacklists, whitelists, and regular expression filters. Some web browsers include content filtering, which prevents certain external files from the blacklist from loading.
Typically, the existing content-controlling filters operate at a proxy server. These programs work by caching and filtering content before it is displayed in a user's browser. DansGuardian™ , an Open Source proxy software, in addition to a list of banned sites, has a static list of weighted phrases and words. DansGuardian™ may filter the web pages based on phrase matching and URL matching. DansGuardian™, however, ignores a new word that is not in the static list.
The proxy content controlling filters, however, may not control all web traffic going through the system.
Additionally, to adapt to the changes that happen on the Web, the existing content controlling filters solutions typically use neutral networks and baysian statistics methodologies.
Methods and apparatuses to filter multimedia content, e.g., web sites, are described. The multimedia content, in one embodiment, is analyzed for one or more parameters. The multimedia content is determined to be filtered based on the one or more parameters using a latent semantic mapping (“LSM”) filter. The one or more parameters may include information about a structure of the multimedia content. The structure of the multimedia content may include references (e.g., hyperlinks to other web pages), images (e.g., the number of images on a web page), textual and pictorial patterns, a size of the content, and the like. A tag that encapsulates the one or more parameters may be generated. The tag may then be provided to the LSM filter. In one embodiment, the LSM filter is trained to recognize the multimedia content based on the one or more parameters. In one embodiment, rating of the multimedia content is performed based on the one or more parameters.
In one embodiment, more than two categories are provided for a multimedia content. The multimedia content is classified in the more than two categories using the LSM filter. The more than two categories may be any combination of an explicit content category and a plurality of legitimate content categories; a legitimate content category and a plurality of explicit content categories; or a plurality of explicit content categories and a plurality of legitimate content categories. The multimedia content may be blocked based on the classifying. A reference to the multimedia content may be stored. In one embodiment, an LSM filter is trained to recognize the multimedia content among more than two categories.
In one embodiment, a blocked multimedia content is accepted to be unblocked in response to receiving an input from a user. In one embodiment, the unblocked multimedia content is added to a “white” list and/or may be used to train the LSM filter. Further, an unblocked multimedia content may be indicated to be in a first class or category (e.g., porn category), and to be added to a list and/or may be used to train an LSM filter.
In one embodiment, a multimedia content is converted or processed into a plain text. In one embodiment, the multimedia content, e.g., a web page is converted into the plain text using an HTML stripper. In one embodiment, strings within a Javascript or other executable scripts are extracted to convert the multimedia content into the plain text or into another format. The multimedia content is analyzed for one or more parameters. A tag may be generated that encapsulates the one or more parameters. In one embodiment, the tag includes a string of characters. Further, the tag is inserted into (or otherwise associated with) the plain text and both, as tokens, become input for the LSM filter. The LSM filter has a vector space. Tokens may be mapped into a vector space of the LSM filter. In one embodiment, one or more stop words may be removed from the plain text; this may be done to protect against false positives. A false positive may include, for example, a legitimate material that is wrongly classified as an objectionable material. Filtering of the multimedia content may be performed based on the mapping of the tokens in the vector space.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
The subject invention will be described with references to numerous details set forth below, and the accompanying drawings will illustrate the invention. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of the present invention. However, in certain instances, well known or conventional details are not described in order to not unnecessarily obscure the present invention in detail.
Reference throughout the specification to “one embodiment”, “another embodiment”, or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Methods and apparatuses to filter multimedia content based on one or more parameters using a latent semantic mapping filter and a system having a computer readable medium containing executable program code to filter multimedia content based on one or more parameters using a latent semantic mapping (“LSM”) filter are described below.
Other methods and other features are also described.
Generally, the term “multimedia” is referred to a media that uses multiple forms of information content and information processing (e.g., text, audio, graphics, animation, video, interactivity) to inform or entertain the (user) audience. The term “multimedia” also may refer to the use of (but not limited to) electronic media to store and experience multimedia content. On-line multimedia may be downloaded or streamed. Streaming multimedia may be live or on-demand. Multimedia content includes hypermedia content. The term “hypermedia” is referred to a combination of graphics, audio, video, text, and hyperlinks and generally offers a user interactivity to control progress of the content. World Wide Web is an example of hypermedia. Most of hypermedia content is typically delivered via electronic pages.
The web server 106 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server 106 can be part of an ISP which provides access to the Internet for client systems. The web server 106 is shown coupled to the server computer system 109 which itself is coupled to web content 118, which can be considered a form of a multimedia database. It will be appreciated that while two computer systems 106 and 109 are shown in
Client computer systems 101, 105, 114, and 115 can each, with the appropriate web browsing software, view HTML pages provided by the web server 106. The ISP 102 provides Internet connectivity to the client computer system 101 through a modem 103 which can be considered part of the client computer system 102. The client computer system can be a personal computer system, a network computer, a Web TV system, a handheld device, other such computer system, or other consumer electronic device. Similarly, the ISP 104 provides Internet connectivity for client systems 105, 114, and 115, although as shown in
Alternatively, a server computer system 116 can be directly coupled to the LAN 110 through a network interface 113 to provide files 117 and other services to the clients 114, 115, without the need to connect to the Internet through the gateway system 110. Furthermore, any combination of client systems 101, 105, 114, 115 may be connected together in a peer-to-peer network using LAN 110, Internet 119 or a combination as a communications medium. Generally, a peer-to-peer network distributes data across a network of multiple machines for storage and retrieval without the use of a central server or servers. Thus, each peer network node may incorporate the functions of both the client and the server described above.
Computer system 131 includes a processing unit 121 that may include a microprocessor, such as an Intel Pentium® microprocessor, Motorola Power PC® microprocessor, Intel Core™ Duo processor, AMD Athlon™ processor, AMD Turion™ processor, AMD Sempron™ processor, and any other microprocessor. Processing unit 121 may include a personal computer (PC), such as a Macintosh® (from Apple Inc. of Cupertino, Calif.), Windows®-based PC (from Microsoft Corporation of Redmond, Wash.), or one of a wide variety of hardware platforms that run the UNIX operating system or other operating systems. For one embodiment, processing unit 121 includes a general purpose computer system based on the PowerPC®, Intel Core™ Duo, AMD Athlon™, AMD Turion™ processor, AMD Sempron™, HP Pavilion™ PC, HP Compaq™ PC, and any other processor families. Processing unit 121 may be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor.
As shown in
It will be appreciated that computer system 131 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processing unit 121 and the memory 122 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
Network computers are another type of computer system that can be used with the embodiments of the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 122 for execution by the processing unit 121. A Web TV system, which is known in the art, is also considered to be a computer system according to the embodiments of the present invention, but it may lack some of the features shown in
It will also be appreciated that the computer system 131 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software is the family of operating systems known as Macintosh® Operating System (Mac OS®) or Mac OS X® from Apple Inc. of Cupertino, Calif. Another example of an operating system software is the family of operating systems known as Windows® from Microsoft Corporation of Redmond, Wash., and their associated file management systems. The file management system is typically stored in the non-volatile storage 124 and causes the processing unit 121 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 124.
As shown in
Next, operation 202 is performed that involves filtering the multimedia content based on the one or more parameters using a latent semantic mapping (“LSM”) filter. In one embodiment, the multimedia content is mapped into a vector space by the LSM filter based on one or more parameters, as described below. In one embodiment, the multimedia content is rated based on the one or more parameters, as described in further detail below.
In one embodiment, the one or more parameters extracted from the multimedia content, e.g., a web page, audio, video, and any other multimedia content, are encapsulated as a tag. For example, if a web page has 10 images, a tag may be turned on that indicates that more than a predetermined amount of images (e.g., five) are in that page. In one embodiment the tag that encapsulates the one or more parameters is a string of characters. In one embodiment, the tag is a string of characters that is considered by LSM filter 212 as one or more words. The textual nature of the tags makes them amenable to LSM processing no matter what original multimedia content they characterize. As such, the multimedia content characterized by the tags may be a web page, an audio, a video, and any other multimedia content. The tag is inserted into the multimedia content 213 to provide an input 214 into LSM filter 212. LSM filter 212 is first trained to recognize a specific set of multimedia contents based on the one or more parameters and then the data collected in the training phase is used to determine the legitimacy of new multimedia contents. Training of LSM filter 212 includes automatically reconfiguring the filter 212 based on the observed set of multimedia contents (data) that include one or more parameters. By inserting the tags into the multimedia content that is fed into LSM filter 212, the LSM filter 212 is trained to recognize the multimedia content based on word contents and additional characteristics of the multimedia content. The additional characteristics of the multimedia contents include for example, a structure of the multimedia content, e.g., specific structural patterns of explicit and legitimate multimedia contents. The LSM filter can be trained by being fed with a plurality of multimedia contents including legitimate and non-legitimate (“explicit”) contents, as described in further detail below and a human can indicate whether the content is one type or the other type in order to train the filter.
LSM filter 212 filters multimedia content 213 based on the one or more parameters encapsulated into the tag. In one embodiment, filter 212 uses the tag as a factor in determining a rating of the multimedia content 213. In one embodiment, the tags of input 214 can be weighted to have greater or lesser importance. For example, the textual pattern “USC section 2257” does not necessarily mean that the content is explicit, but the tag that encapsulates the information about this textual pattern is weighted so that the content receives a certain score towards material that is explicit. In one embodiment, the title of the web page may be weighted more than once, if the title appears in the text representation of the webpage two or three times in comparison with the size of the page. In one embodiment, an API core in LSM filter 212 allows to weigh a particular word more than once. As shown in
In one embodiment apparatus 210 is a socket filter, which operates at a kernel level, so it affects all web traffic that goes through a data processing system. In another embodiment, apparatus 210 is a proxy filter that operates at a proxy server of a data processing system. In yet another embodiment, apparatus 210 operates at a proxy server and at a kernel level.
During the conversion, the content 301 is analyzed for certain characteristics to determine one or more parameters associated with the overall structure of the multimedia content.
As shown in
Optionally, certain words, for example, stop words, are removed in block 308 from the text before feeding to LSM filter 309. The term “stop word” is typically referred to the top 100 most frequently used words in English, and other most frequently used words on the Internet, e.g., “click”, “password”, and the like. Another example of the stop words (reverse stop words) can be the words that are strongly associated with one particular category, for example, a non-legitimate category. For example word “sweet”, “teen” can be strongly associated with the non-legitimate category, but could in fact, occur in the legitimate category. The content filter may mistakenly block the multimedia content having such reverse stop words that provides a false positive. The false positive may include a legitimate material, for example, a legitimate web page, that is wrongly classified as an objectionable material. Removing of the reverse stop words can decrease the amount of the false positives and improve the accuracy of the LSM filter when the amount of training data is limited. In one embodiment, block 308 is included into LSM filter 309. In one embodiment, block 308 is an LSM filter interface.
As shown in
In one embodiment, the multimedia content is classified based on the mapping into vector space 310, and then the multimedia content is filtered based on the classification, as described in further detail below. In one embodiment, LSM filter 309 is trained to recognize the multimedia content based on the one or more parameters. Training of the filter 309 can be performed by analyzing legitimate and non-legitimate (“explicit”) contents, extracting tokens from these contents, and mapping the tokens into a vector space of the LSM filter 309, as described above.
Analyzing the multimedia content for one or more parameters is performed in operation 402, as described above. In one embodiment, operation 402 is performed during operation 401. In another embodiment, operation 402 follows operation 401. In yet another embodiment, operation 402 precedes operation 401. Next, at operation 403, a tag is generated that encapsulates the one or more parameters, as described above. Further, at operation 404, the tag is added into the text to provide tokens for an LSM filter. Optionally, operation 405 is performed that involves removing one or more stop words from the text before feeding the text to the LSM filter. Next, method 400 continues with operation 406 that involves mapping the tokens into a vector space of the LSM filter. Next, method 400 continues with operation 407 of filtering of the multimedia content based on the mapping. In one embodiment, the multimedia content is classified using the mapping, and then the multimedia content is filtered based on the classification, as described in further detail below.
As shown in
The interface 800 has the menu item automatic 802 to allow the user to request that the content filter is put into automatic mode. While in automatic mode, the content filter automatically classifies the multimedia content, and takes appropriate actions based on the classifying, as described above.
The user interface 800 has the menu item training 804 to allow the user to request that the content filter to be put into a training mode. While in training mode, the content filter is trained to recognize the kind of multimedia content that the user considers to filter out, as described above.
The user interface 800 has the menu item reset 805 to allow the user to request that the training of the content filter is reset to initial factory settings. The reset 805 causes the content filter to undo all of the previous training. In one embodiment, the training data may be deleted. In another embodiment, the training data may be kept but ignored.
The content filter user interface 800 has the menu item con
Referring back to
In one embodiment, if a user tries to access the multimedia content, e.g., a web site, that is blocked, then the user presses button 806. A message asking for a password can be displayed in response to pressing button 806.
Referring back to
If the multimedia content belongs to an explicit category, the multimedia content is blocked at operation 606. Optionally, a reference, e.g., a link, to the blocked multimedia content is stored in a memory at operation 607. In one embodiment, the tag to the multimedia content is stored a memory. In one embodiment, the multimedia content blocked in operation 606 may be added to the “black list”, be used to train the LSM filter, or both. Next, at operation 608, a determination is made whether a request from a user is received to accept the blocked content. If the request is received, an optional operation 609 can be performed that involves accepting the blocked multimedia content in response to the user's request. The previously blocked multimedia content can be provided to the user at operation 604 in response to the user request. Next, an optional operation 610 can be performed that involves adding the initially blocked at operation 606 multimedia content to a legitimate content list “white list” in response to the user request. In one embodiment, the initially blocked in operation 606 multimedia content in response to the user request may be added to the “white list”, be used to train the LSM filter, or both.
In the foregoing specification, embodiments of the invention have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5924105 | Punch et al. | Jul 1999 | A |
6041360 | Himmel et al. | Mar 2000 | A |
6295559 | Emens et al. | Sep 2001 | B1 |
6366947 | Kavner | Apr 2002 | B1 |
6374217 | Bellegarda | Apr 2002 | B1 |
7076527 | Bellegarda et al. | Jul 2006 | B2 |
7124081 | Bellegarda | Oct 2006 | B1 |
7149695 | Bellegarda | Dec 2006 | B1 |
7194464 | Kester et al. | Mar 2007 | B2 |
7343559 | Fujita et al. | Mar 2008 | B1 |
20020010757 | Granik et al. | Jan 2002 | A1 |
20020016786 | Pitkow et al. | Feb 2002 | A1 |
20020103789 | Turnbull et al. | Aug 2002 | A1 |
20020152237 | Cohen et al. | Oct 2002 | A1 |
20021911020 | Kaply et al. | Dec 2002 | |
20030009526 | Bellegarda et al. | Jan 2003 | A1 |
20030090510 | Shuping et al. | May 2003 | A1 |
20050060404 | Ahlander et al. | Mar 2005 | A1 |
20050132018 | Milic-Frayling et al. | Jun 2005 | A1 |
20050179076 | Lin et al. | Aug 2005 | A1 |
20060004716 | Hurst-Hiller et al. | Jan 2006 | A1 |
20060020714 | Girouard et al. | Jan 2006 | A1 |
20060101330 | Godley | May 2006 | A1 |
20060224997 | Wong et al. | Oct 2006 | A1 |
20060265417 | Amato et al. | Nov 2006 | A1 |
20070011616 | Ording | Jan 2007 | A1 |
20070174389 | Armstrong et al. | Jul 2007 | A1 |
20080046840 | Melton et al. | Feb 2008 | A1 |
Entry |
---|
“Customizing your computer—To display hidden files and folders” Windows XP Professional Product Documentation Dec. 30, 2007, XP002561535 (1 pg.). |
“Find and Return to Web Pages You've Recently Visited” microsoft.com Aug. 23, 2006, XP002561531. Retrieved from the Internet: URL:http://www.microsoft.com/windows/ie/ie6/using/howto/basics/history/button.mspx> (3 pgs.). |
Anonymous: “Awasu—Features” Internet citation Jan. 3, 2007, XP002561537. Retrieved from the Internet: URL:http://web.archive.org/web/20070103184812/www.awasu.com/features.php> (3 pgs.). |
EP Search Report for EP Application No. 09173177.8, mailed Jan. 28, 2010, (16 pgs.). |
Glenn Derene: “How Google's Simple Chrome Could Steer Web's Complex Future: Analysis” popularmechanics.com Sep. 2, 2008, XP002561529 Retrieved from the Internet: URL:http://www.popularmechanics.com/technology/industry/4280717.html> (3 pgs.). |
Jason Hiner: “Google Chrome: The five best new features” blogs.zdnet.com Sep. 3, 2008, XP002561528. Retrieved from the Internet: URL:http://blogs.zdnet.com/BTL/?p=9878> (3 pgs.). |
Josh Lowensohn: “FoxTab turns your browser tabs into a spectacle” cnet news Sep. 17, 2008, XP002561530. Retrieved from the Internet: URL:http://news.cnet.com/8301-17939—109-10044366-2.html> (2 pgs.). |
Kaasten S et al: “Designing an Integrated Bookmark/History System for Web Browsing” Mar. 1, 2000, Proceedings Western Computer Graphics Symposium, XX, XX, pp. 1-04 , XP008031090 p. 2, paragraph 2.2—p. 3, paragraph 3.4; figure 1 (4 pgs). |
PCT Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for PCT/US09/60391, mailed Dec. 7, 2009, (3 pgs.). |
Tommy A. Olsen: “Speed dial tips” my.opera.com Mar. 1, 2007, XP002561536. Retrieved from the Internet: URL:http://my.opera.com/toman/blog/show.dml/788600> (4 pgs.). |
“FoxTab Tab Switching Firefox Add-on” http://www.youtube.com/watch?v=JJhvGqj5yNM, Oct. 7, 2008, 2 pages, retrieved from the Internet on Jan. 25, 2011. |
Number | Date | Country | |
---|---|---|---|
20080228928 A1 | Sep 2008 | US |