System and method for semantic analysis of intelligent device discovery

Information

  • Patent Application
  • 20070282799
  • Publication Number
    20070282799
  • Date Filed
    June 02, 2006
    20 years ago
  • Date Published
    December 06, 2007
    18 years ago
Abstract
The present invention provides a method, system, and service of analyzing electronic documents in an intranet, where the intranet includes a plurality of web sites. In an exemplary embodiment, the method, system, and service include (1) crawling HTML content and text content in a set of the sites, (2) deep-scanning non-HTML content and non-text content in the set of sites, (3) reverse-scanning the set of sites, (4) performing a semantic analysis of the crawled content and the deep-scanned content, (5) correlating the results of the semantic analysis with the results of the reverse-scanning, and (6) comparing user navigation patterns and content from the members of the set of sites. In a further embodiment, the method, system, and service further include combining the results of the performing, the results of the correlating, and the results of the comparing.
Description

THE FIGURES


FIG. 1 is a flowchart of a prior art technique.



FIG. 2A is a flowchart in accordance with an exemplary embodiment of the present invention.



FIG. 2B is a flowchart in accordance with a further embodiment of the present invention.



FIG. 2C is a flowchart in accordance with an exemplary embodiment of the present invention.



FIG. 3 is a flowchart of the deep-scanning step in accordance with an exemplary embodiment of the present invention.



FIG. 4 is a flowchart of the reverse-scanning step in accordance with an exemplary embodiment of the present invention.



FIG. 5A is a flowchart of the performing step in accordance with an exemplary embodiment of the present invention.



FIG. 5B is a flowchart of the performing step in accordance with an exemplary embodiment of the present invention.



FIG. 5C is a flowchart of the performing step in accordance with an exemplary embodiment of the present invention.



FIG. 5D is a flowchart of the performing step in accordance with an exemplary embodiment of the present invention.



FIG. 6 is a flowchart of the computing step in accordance with an exemplary embodiment of the present invention.





DETAILED DESCRIPTION OF THE INVENTION

The present invention provides a method, system, and service of analyzing electronic documents in an intranet, where the intranet includes a plurality of web sites. In an exemplary embodiment, the method, system, and service include (1) crawling HTML content and text content in a set of the sites, (2) deep-scanning non-HTML content and non-text content in the set of sites, (3) reverse-scanning the set of sites, (4) performing a semantic analysis of the crawled content and the deep-scanned content, (5) correlating the results of the semantic analysis with the results of the reverse-scanning, and (6) comparing user navigation patterns and content from the members of the set of sites. In a further embodiment, the method, system, and service further include combining the results of the performing, the results of the correlating, and the results of the comparing.


Referring to FIG. 2A, in an exemplary embodiment, the present invention includes a step 212 of crawling HTML content and text content in a set of the sites, a step 214 of deep-scanning non-HTML content and non-text content in the set of sites, a step 216 of reverse-scanning the set of sites, a step 218 of performing a semantic analysis of the crawled content and the deep-scanned content, a step 220 of correlating the results of the semantic analysis with the results of the reverse-scanning, and a step 222 of comparing user navigation patterns and content from the members of the set of sites. Referring next to FIG. 2B, in a further embodiment, the present invention further includes a step 230 of combining the results of the performing, the results of the correlating, and the results of the comparing.


In an exemplary embodiment, the method, system, and service include (1) crawling HTML content and text content in a set of the sites, (2) deep-scanning non-HTML content and non-text content in the set of sites, (3) reverse-scanning the set of sites, (4) performing a semantic analysis of the crawled content and the deep-scanned content, (5) correlating the results of the semantic analysis with the results of the reverse-scanning, (6) comparing user navigation patterns and content from the members of the set of sites, and (7) combining the results of the performing, the results of the correlating, and the results of the comparing.


Referring to FIG. 2C, in an exemplary embodiment, the present invention includes a step 242 of crawling HTML content and text content in a set of the sites, a step 244 of deep-scanning non-HTML content and non-text content in the set of sites, a step 246 of reverse-scanning the set of sites, a step 248 of performing a semantic analysis of the crawled content and the deep-scanned content, a step 250 of correlating the results of the semantic analysis with the results of the reverse-scanning, a step 252 of comparing user navigation patterns and content from the members of the set of sites, and step 254 of combining the results of the performing, the results of the correlating, and the results of the comparing.


Crawlin

In an exemplary embodiment, crawling step 212 includes fetching documents from web sites in the intranet. Crawling step 212 includes crawling all HTML and text pages from the intranet (i.e. enterprise) web-sites, while honoring standard internet crawling practices (e.g. politeness, robots.txt, meta-tags such as no-index, no-follow). As each crawled document can contain links to other documents that may possibly be on different sites, crawling step 212 crawls only the set of sites targeted for analysis.


Crawling step 212 further includes (a) writing each crawled document to a file-based storage system and (b) annotating each crawled document. In an exemplary embodiment, the annotating includes de-tagging the document, generating hash and shingle values based on document content, determining domains, and/or determining sub-domains.


Once the annotating is complete, crawling step 212 generates the following 4-tuple entry for each annotated document:

    • Document-id Hash-value Size Domain/Sitename.


The tuple is used in performing step 218 (e.g., in duplicate analysis). Additionally, crawling step 212 writes the URLs crawled for each of the targeted sites to a central list for use in reverse-scanning step 216.
Deep-Scanning

Referring to FIG. 3, in an exemplary embodiment, if the text content for a member of the set of sites is greater than one megabyte, deep-scanning step 214 includes a step 310 of crawling the first megabyte of the text content of the member and a step 312 of using the first megabyte of the text content of the member for hash generation. In an exemplary embodiment, the deep-scanning fetches all static non-HTML content and non-text content (e.g., .pdf files, images, .exe files, Microsoft PowerPoint files) from the sites. For each URL fetched by deep-scanning, a tuple similar to the one generating in crawling step 212 is generated for duplicate analysis. In addition, the URL is written to a central list for reverse-scanning step 216.


Reverse-Scanning

Referring to FIG. 4, in an exemplary embodiment, reverse-scanning step 216 includes a step 410 of clustering the members of the set of sites into sitename-based sets, a step 412 of, for each of the sitename-based sets, generating a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set, and a step 414 of, for each of the sitename-based sets, scanning all IP addresses for the members of the sitename-based set. In an exemplary embodiment, reverse-scanning step 216 (a) takes a set of URLs and another set of IP addresses and (b) scans the set of IP addresses using the URLs to determine content overlap with the given URL set. Thus, for each URL-IP pair thus formed, a content hash is generated and compared against the content hash from the original URL.


In an exemplary embodiment, reverse-scanning step 216 fetches content from the sites in the same subnet as the targeted sites in order to perform an “intra-server” duplicate analysis. In an exemplary embodiment, reverse-scanning step 216 (a) checks for servers with open http ports in the same subnet as the targeted sites and (b) then makes GET calls to these http sites for the HTML pages that were found on the targeted servers (by replacing the sitename in the original URL with the sitename of the http site).


Performing

Referring to FIG. 5A, in an exemplary embodiment, performing step 218 includes a step 510 of performing exact duplicate detection on the text content of each member of the set of sites. In an exemplary embodiment, performing step 510 includes generating hash-values for the text content of each member of the set of sites and comparing these hash-values against each other. Referring to FIG. 5B, in an exemplary embodiment, performing step 218 includes a step 512 of performing near-duplicate detection on the text content of each member of the set of sites. In an exemplary embodiment, performing step 512 includes employing the near-duplicate detection technique described at the following URL:

    • http://www.informatik.uni-trier.de/˜ley/db/conf/cpm/cpm2000.html#Broder00


      Referring to FIG. 5C, in an exemplary embodiment, performing step 218 includes a step 514 of performing main topics detection on the text content of each member of the set of sites. In an exemplary embodiment, performing step 514 includes employing term identification techniques, classification techniques, and tfidf (term-frequency inverse document frequency) techniques. Referring to FIG. 5D, in an exemplary embodiment, performing step 218 includes a step 516 of aggregating topics in the text content of each member of the set of sites by organizational structure.


In an exemplary embodiment, performing step 218 (a) merges the set of tuples generated during crawling step 212 and deep-scanning step 214 and (b) compares the content hashes for each page on a site against pages from all other sites.


Correlating

In an exemplary embodiment, correlating step 220 includes correlating user navigation patterns from standard website analysis metrics and specific content from domains and reverse scanned site.


Combining Referring to FIG. 6 in an exemplary embodiment, combining step 230 includes a step 610 of listing the combined results in descending order of duplicate content. In an exemplary embodiment, listing step 610 generates an overlap report that contains information about the amount of overlap on each of the sites scanned. Additionally, the data from reverse-scanning of each site is added to the information of each site. The overlap report thus produced lists all sites in descending order of content that is overlapped.


In an exemplary embodiment, listing step 610 generates the overlap report for each site, where the overlap reports depicts the amount of duplicate content on that site, and the list of sites with which content is duplicated.


Conclusion

Having fully described a preferred embodiment of the invention and various alternatives, those skilled in the art will recognize, given the teachings herein, that numerous alternatives and equivalents exist which do not depart from the invention. It is therefore intended that the invention not be limited by the foregoing description, but only by the appended claims.

Claims
  • 1. A method of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the method comprising: crawling HTML content and text content in a set of the sites;deep-scanning non-HTML content and non-text content in the set of sites;reverse-scanning the set of sites;performing a semantic analysis of the crawled content and the deep-scanned content;correlating the results of the semantic analysis with the results of the reverse-scanning; andcomparing user navigation patterns and content from the members of the set of sites.
  • 2. The method of claim 1 further comprising combining the results of the performing, the results of the correlating, and the results of the comparing.
  • 3. The method of claim 1 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning comprises: crawling the first megabyte of the text content of the member; andusing the first megabyte of the text content of the member for hash generation.
  • 4. The method of claim 1 wherein the reverse-scanning comprises: clustering the members of the set of sites into sitename-based sets;for each of the sitename-based sets, generating a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, scanning all IP addresses for the members of the sitename-based set.
  • 5. The method of claim 1 wherein the performing comprises performing exact duplicate detection on the text content of each member of the set of sites.
  • 6. The method of claim 1 wherein the performing comprises performing near-duplicate detection on the text content of each member of the set of sites.
  • 7. The method of claim 1 wherein the performing comprises performing main topics detection on the text content of each member of the set of sites.
  • 8. The method of claim 1 wherein the performing comprises aggregating topics in the text content of each member of the set of sites by organizational structure.
  • 9. The method of claim 2 wherein the combining comprises listing the combined results in descending order of duplicate content.
  • 10. A system of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the system comprising: a crawling module configured to crawl HTML content and text content in a set of the sites;a deep-scanning module configured to deep-scan non-HTML content and non-text content in the set of sites;a reverse-scanning module configured to reverse-scan the set of sites;a performing module configured to perform a semantic analysis of the crawled content and the deep-scanned content;a correlating module configured to correlate the results of the semantic analysis with the results of the reverse-scanning; anda comparing module configured to compare user navigation patterns and content from the members of the set of sites.
  • 11. The system of claim 10 further comprising a combining module configured to combine the results of the performing module, the results of the correlating module, and the results of the comparing module.
  • 12. The system of claim 10 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning module comprises: a crawling module configured to crawl the first megabyte of the text content of the member; anda using module configured to use the first megabyte of the text content of the member for hash generation.
  • 13. The system of claim 10 wherein the reverse-scanning module comprises: a clustering module configured to cluster the members of the set of sites into sitename-based sets;for each of the sitename-based sets, a generating module configured to generate a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, a scanning module configured to scan all IP addresses for the members of the sitename-based set.
  • 14. The system of claim 10 wherein the performing module comprises a performing module configured to perform exact duplicate detection on the text content of each member of the set of sites.
  • 15. The system of claim 10 wherein the performing module comprises a performing module configured to perform near-duplicate detection on the text content of each member of the set of sites.
  • 16. The system of claim 10 wherein the performing module comprises a performing module configured to perform main topics detection on the text content of each member of the set of sites.
  • 17. The system of claim 10 wherein the performing module comprises an aggregating module configured to aggregate topics in the text content of each member of the set of sites by organizational structure.
  • 18. The system of claim 11 wherein the combining module comprises a listing module configured to list the combined results in descending order of duplicate content.
  • 19. A method of providing a service to analyze electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the method comprising: crawling HTML content and text content in a set of the sites;deep-scanning non-HTML content and non-text content in the set of sites;reverse-scanning the set of sites;performing a semantic analysis of the crawled content and the deep-scanned content,correlating the results of the semantic analysis with the results of the reverse-scanning; andcomparing user navigation patterns and content from the members of the set of sites.
  • 20. The method of claim 19 further comprising combining the results of the performing, the results of the correlating, and the results of the comparing.
  • 21. The method of claim 19 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning comprises: crawling the first megabyte of the text content of the member; andusing the first megabyte of the text content of the member for hash generation.
  • 22. The method of claim 19 wherein the reverse-scanning comprises: clustering the members of the set of sites into sitename-based sets;for each of the sitename-based sets, generating a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, scanning all IP addresses for the members of the sitename-based set.
  • 23. The method of claim 19 wherein the performing comprises performing exact duplicate detection on the text content of each member of the set of sites.
  • 24. The method of claim 19 wherein the performing comprises performing near-duplicate detection on the text content of each member of the set of sites.
  • 25. The method of claim 19 wherein the performing comprises performing main topics detection on the text content of each member of the set of sites.
  • 26. The method of claim 19 wherein the performing comprises aggregating topics in the text content of each member of the set of sites by organizational structure.
  • 27. The method of claim 20 wherein the combining comprises listing the combined results in descending order of duplicate content.
  • 28. A method of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the method comprising: crawling HTML content and text content in a set of the sites;deep-scanning non-HTML content and non-text content in the set of sites;reverse-scanning the set of sites;performing a semantic analysis of the crawled content and the deep-scanned content;correlating the results of the semantic analysis with the results of the reverse-scanning;comparing user navigation patterns and content from the members of the set of sites; andcombining the results of the performing, the results of the correlating, and the results of the comparing.
  • 29. The method of claim 28 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning comprises: crawling the first megabyte of the text content of the member; andusing the first megabyte of the text content of the member for hash generation.
  • 30. The method of claim 28 wherein the reverse-scanning comprises: clustering the members of the set of sites into sitename-based sets;for each of the sitename-based sets, generating a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, scanning all IP addresses for the members of the sitename-based set.
  • 31. The method of claim 28 wherein the performing comprises performing exact duplicate detection on the text content of each member of the set of sites.
  • 32. The method of claim 28 wherein the performing comprises performing near-duplicate detection on the text content of each member of the set of sites.
  • 33. The method of claim 28 wherein the performing comprises performing main topics detection on the text content of each member of the set of sites.
  • 34. The method of claim 28 wherein the performing comprises aggregating topics in the text content of each member of the set of sites by organizational structure.
  • 35. The method of claim 28 wherein the combining comprises listing the combined results in descending order of duplicate content.
  • 36. A system of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the system comprising: a crawling module configured to crawl HTML content and text content in a set of the sites;a deep-scanning module configured to deep-scan non-HTML content and non-text content in the set of sites;a reverse-scanning module configured to reverse-scan the set of sites;a performing module configured to perform a semantic analysis of the crawled content and the deep-scanned content;a correlating module configured to correlate the results of the semantic analysis with the results of the reverse-scanning;a comparing module configured to compare user navigation patterns and content from the members of the set of sites; anda combining module configured to combine the results of the performing module, the results of the correlating module, and the results of the comparing module.
  • 37. The system of claim 36 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning module comprises: a crawling module configured to crawl the first megabyte of the text content of the member; anda using module configured to use the first megabyte of the text content of the member for hash generation.
  • 38. The system of claim 36 wherein the reverse-scanning module comprises: a clustering module configured to cluster the members of the set of sites into sitename-based sets;for each of the sitename-based sets, a generating module configured to generate a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, a scanning module configured to scan all IP addresses for the members of the sitename-based set.
  • 39. The system of claim 36 wherein the performing module comprises a performing module configured to perform exact duplicate detection on the text content of each member of the set of sites.
  • 40. The system of claim 36 wherein the performing module comprises a performing module configured to perform near-duplicate detection on the text content of each member of the set of sites.
  • 41. The system of claim 36 wherein the performing module comprises a performing module configured to perform main topics detection on the text content of each member of the set of sites.
  • 42. The system of claim 36 wherein the performing module comprises an aggregating module configured to aggregate topics in the text content of each member of the set of sites by organizational structure.
  • 43. The system of claim 36 wherein the combining module comprises a listing module configured to list the combined results in descending order of duplicate content.
  • 44. A method of providing a service to analyze electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the method comprising: crawling HTML content and text content in a set of the sites;deep-scanning non-HTML content and non-text content in the set of sites;reverse-scanning the set of sites;performing a semantic analysis of the crawled content and the deep-scanned content;correlating the results of the semantic analysis with the results of the reverse-scanning;comparing user navigation patterns and content from the members of the set of sites; andcombining the results of the performing, the results of the correlating, and the results of the comparing.
  • 45. The method of claim 44 wherein, if the text content for a member of the set of sites is greater than one megabyte, the deep-scanning comprises: crawling the first megabyte of the text content of the member; andusing the first megabyte of the text content of the member for hash generation.
  • 46. The method of claim 44 wherein the reverse-scanning comprises: clustering the members of the set of sites into sitename-based sets;for each of the sitename-based sets, generating a list of Internet Protocol (IP) addresses with open http ports in the same subnet as the sitename-based set; andfor each of the sitename-based sets, scanning all IP addresses for the members of the sitename-based set.
  • 47. The method of claim 44 wherein the performing comprises performing exact duplicate detection on the text content of each member of the set of sites.
  • 48. The method of claim 44 wherein the performing comprises performing near-duplicate detection on the text content of each member of the set of sites.
  • 49. The method of claim 44 wherein the performing comprises performing main topics detection on the text content of each member of the set of sites.
  • 50. The method of claim 44 wherein the performing comprises aggregating topics in the text content of each member of the set of sites by organizational structure.
  • 51. The method of claim 44 wherein the combining comprises listing the combined results in descending order of duplicate content.
  • 52. A computer program product usable with a programmable computer having readable program code embodied therein of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the computer program product comprising: computer readable code for crawling HTML content and text content in a set of the sites;computer readable code for deep-scanning non-HTML content and non-text content in the set of sites;computer readable code for reverse-scanning the set of sites, computer readable code for performing a semantic analysis of the crawled content and the deep-scanned content;computer readable code for correlating the results of the semantic analysis with the results of the reverse-scanning; andcomputer readable code for comparing user navigation patterns and content from the members of the set of sites,
  • 53. A computer program product usable with a programmable computer having readable program code embodied therein of analyzing electronic documents in an intranet, wherein the intranet comprises a plurality of web sites, the computer program product comprising: computer readable code for crawling HTML content and text content in a set of the sites;computer readable code for deep-scanning non-HTML content and non-text content in the set of sites;computer readable code for reverse-scanning the set of sites;computer readable code for performing a semantic analysis of the crawled content and the deep-scanned content;computer readable code for correlating the results of the semantic analysis with the results of the reverse-scanning;computer readable code for comparing user navigation patterns and content from the members of the set of sites; andcomputer readable code for combining the results of the performing, the results of the correlating, and the results of the comparing.