# Patent

## Title
Automatically extracting by-line information

## Abstract

A by-line extraction system detects a set of potential headlines from a title meta-tag of a crawled document, selects a candidate headline from the set of potential headlines, and extracts the by-line information from the document using the location of the selected candidate headline. The system constructs the set of potential headlines based on the title meta-tag. The system selects a candidate headline by evaluating the set of potential headlines in order of the lengths of the potential headlines. The system extracts the by-line information from the document by using the location of the selected candidate headline to extract a string representing a date, a name, or a source located within a minimum distance from the location of the potential headline.

## Background
FIELD OF THE INVENTION
The present invention generally relates to text analysis of electronic documents. More specifically, the present invention relates to identifying and designating by-lines in electronic documents such that articles can be located based on by-line information.
BACKGROUND OF THE INVENTION
The worldwide web is a continually growing, large repository of information such as online news articles. Online news articles are a useful source of worldwide information and events. The number of online news articles available on the web is growing at a rapid pace in terms of the number of web sites providing online news articles and in terms of the number of articles provided per site. An estimate for online news sources such as magazines and newspapers on the web is over 10,000. Worldwide, online news sources comprise local news sources, regional news sources, and national news sources. These news sources cater to different topics such as world news, national news, local news, business news, technical news, sports news, etc.
News sources comprise print media that also have an online presence. These news sources publish news articles daily, monthly, and sometimes also make older articles available for archival access. News sources comprise non-print media sites that provide news articles only via the web.
Given this large number of news articles appearing daily, it is becoming increasingly useful to have automated techniques and systems that can extract meaningful information from these news articles and make the extracted information available for users. Such extracted information can simplify navigation and search tasks. These automated systems (e.g., search engines) typically crawl the web periodically, pulling web pages and analyzing the contents of the web pages.
A useful task for any such system is to be able to extract by-line for each news article. A by-line is a line occurring at the beginning of an article or story typically comprising author, date, source, location, etc. By-line information is useful both for basic search and navigation among news articles. By-line information is also useful in trending analysis on the content of the articles. Queries of the form
Show news articles written by author X,
Show news articles written by author X about a keyword Y,
Show news articles written by author X on date D, or
Show news articles on date D about a keyword Y
comprise basic methods to search and navigate the large repository of news articles. Queries on by-line information require knowledge of the date and author of an article on the crawled web page. Furthermore, any kind of time-trending analysis on a topic requires knowledge of the date of creation for each news article on that topic.
In regular print newspapers or when visually inspected by a human, the by-line information is easily visible in the small lines that appear below or above an article headline. These small lines list the author of the article along with the date and possibly a source or place. However, finding the by-line information automatically from an html source of a web page is difficult because location of the by-line is unknown. The by-line is not explicitly mentioned or labeled. Furthermore, the crawled web pages have other items and templates around the core article. There can be other dates and person names before and after the by-line. Selecting any date or name based on location typically does not provide the desired by-line information for the article under consideration. Furthermore, different websites use different patterns for presenting by-line information and the patterns may vary over time.
One conventional approach uses a “last modified date” provided by some websites in the http header to denote the date when the page was last modified. However, web pages often comprise dynamic content such as advertisements or other templates. Consequently, the last modified date corresponds to advertisements or other templates rather than the original date of the core news article. Consequently, the “last modified date” can be unreliable for most sites.
Another conventional approach uses feeds such as a rich site summary (RSS) feed or a resource description framework (RDF) feed (referenced as feeds). Feeds often comprise the desired by-line information. However, not all news sites provide a feed; information provided in a feed is at the discretion of the content provider and some providers do not provide by-line information. Even when provided, the feeds are not free or are not available for commercial use by web page analysis systems. Furthermore, feeds may be available only for current articles and not for older archived articles. Consequently, crawling web pages is desired to include older articles in an analysis.
Yet another conventional approach looks for keyword patterns such as “By: *” or “Composed by: *” to identify an author. A keyword pattern such as “Published On: *” or “Submitted On: *” is used to identify date. This approach works well for some sites but is limited because keyword patterns change from site to site. Furthermore, no keyword exists before author/date for many sites. For example, a by-line may comprise only “John Cramer on Apr. 4, 2005”.
What is therefore needed is a system, a computer program product, and an associated method for automatically extracting by-line information. The need for such a solution has heretofore remained unsatisfied.
SUMMARY OF THE INVENTION
The present invention satisfies this need, and presents a system, a computer program product, and an associated method (collectively referred to herein as “the system” or “the present system”) for automatically extracting by-line information. The present system detects a set of potential headlines from a title meta-tag of a crawled document, selects a candidate headline from the set of potential headlines, and extracts the by-line information from the document by using the location of the selected candidate headline.
The present system detects the set of candidate headlines by constructing the set of potential headlines based on the title meta-tag. Constructing the set of potential headlines comprises splitting the title meta-tag at punctuation marks in the title meta-tag, thereby resulting in a set of sub-strings of the title meta-tag. The present system optionally adds bi-grams of the sub-strings and n-grams of the sub-strings to the set of potential headlines.
The present system selects a candidate headline from the set of potential headlines by evaluating the potential headlines in order of the lengths of the potential headlines. Evaluating comprises identifying a location of the selected candidate headline being evaluated in a de-tagged version of the crawled document. Evaluating further comprises verifying the selected candidate headline as comprising a complete line at the identified location in the de-tagged content. Evaluating comprises verifying the length of the selected candidate headline exceeds a minimum length in the de-tagged content. Evaluating further comprises ensuring that the selected candidate headline comprises regular text in the de-tagged version of the document.
The present system extracts the by-line information from the document by using the location of the selected candidate headline to extract a string representing a date located within a minimum distance from the location of the potential headline. The present system further extracts by-line information by extracting a string representing a name located within a minimum distance from the location of the potential headline. The present system further extracts by-line information by extracting a string representing a source of the document located within a minimum distance from the location of the potential headline.



BRIEF DESCRIPTION OF THE DRAWINGS
The various features of the present invention and the manner of attaining them will be described in greater detail with reference to the following description, claims, and drawings, wherein reference numerals are reused, where appropriate, to indicate a correspondence between the referenced items, and wherein:
FIG. 1 is a schematic illustration of an exemplary operating environment in which a by-line extraction system of the present invention can be used;
FIG. 2 is a block diagram of the high-level architecture of the by-line extraction system of FIG. 1;
FIG. 3 is a process flow chart illustrating a method of operation of the by-line extraction system of FIGS. 1 and 2;
FIG. 4 represents a process flow chart illustrating a method of operation of a headline detection module of the by-line extraction system of FIGS. 1 and 2; and
FIG. 5 is comprised of FIGS. 5A and 5B and represents a process flow chart illustrating a method of operation of a headline evaluation module of the by-line extraction system of FIGS. 1 and 2.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The following definitions and explanations provide background information pertaining to the technical field of the present invention, and are intended to facilitate the understanding of the present invention without limiting its scope:
HTML (Hypertext Markup Language): A standard language for attaching presentation and linking attributes to informational content within documents. During a document authoring stage, HTML “tags” are embedded within the informational content of the document. When a web server transmits the web document (or “HTML document”) to a web browser, the tags are interpreted by the browser and used to parse and display the document. In addition to specifying how the web browser is to display the document, HTML tags can be used to create hyperlinks to other web documents.
Internet: A collection of interconnected public and private computer networks that are linked together with routers by a set of standard protocols to form a global, distributed network.
World Wide Web (WWW, also Web): An Internet client—server hypertext distributed information retrieval system.
FIG. 1 portrays an exemplary overall environment in which a system, a service, a computer program product, and an associated method (the “by-line extraction system 10” or the “system 10”) for automatically extracting by-line information according to the present invention may be used. An autonomic hardware configuration utility may be invoked for automatically extracting the by-line information in the document. A text analysis system 15 comprises system 10 and a search engine 20. The text analysis engine 15 analyzes documents obtained from a source such as, for example, the WWW, for data analysis, trend discover, etc. The text analysis engine comprises search functionalities provided by the search engine 20. The text analysis system 15 is installed on a computer such as the host server 25.
System 10 comprises a software programming code or a computer program product that is typically embedded within, or installed on the host server 25. Alternatively, system 10 can be saved on a suitable computer usable storage medium such as a diskette, a CD, a hard drive, or like devices. A database 30 (dB 30) comprises documents from sources such as the WWW. While the system 10 will be described in connection with the WWW, the system 10 can be used with a stand-alone dB 30 of content that may have been derived from the WWW or other sources.
Users, such as remote Internet users, are represented by a variety of computers such as computers 35, 40, 45, and can access the host server 25 through a network 50. Computers 35, 40, 45, each comprise software that allows the user to interface securely with the host server 25. The host server 25 is connected to network 50 via a communications link 55 such as a telephone, cable, or satellite link. Computers 35, 40, 45, can be connected to network 50 via communications links 60, 65, 70, respectively. While system 10 is described in terms of network 50, computers 35, 40, 45, may also access system 10 locally rather than remotely. Computers 35, 40, 45, may access system 10 either manually, or automatically through the use of an application. Users query data on dB 30 via network 50 and the search engine 20.
FIG. 2 illustrates a high-level hierarchy of system 10. System 10 comprises a headline detection module 205, a headline evaluation module 210, and a by-line extraction module 215. Each web page comprising a news article typically comprises one headline. System 10 locates and extracts by-line information by identifying the headline in the document and locating a by-line near the identified headline.
An input 220 comprises crawled documents obtained from a source such as, for example, the WWW. Input 220 further comprises crawled documents that have html tags removed (referenced as de-tagged documents). Html tags are removed using standard de-tagging methods. An output 225 comprises identified by-line information.
FIG. 3 illustrates a method 300 of operation of system 10. For a selected document, the headline detection module 205 detects a set of potential headlines from a title meta-tag of the selected document. Each selected document comprises one title meta-tag (step 400, method 400 of FIG. 4). Exemplary title meta-tags comprise:












<title> Guardian Unlimited | Special reports | No more near misses,


says new air traffic chief </title>


<title> CNN.com - Jury's still out on e-voting - Nov 5, 2004 </title>


<title> Nov. 2 the biggest test yet for touch-screen voting |


csmonitor.com </title>.









The headline evaluation module 210 selects a candidate headline from the set H of potential headlines by locating the selected candidate headline in a de-tagged version of the selected document and evaluating the candidate headline (step 500, method 500 of FIG. 5).
The by-line extraction module 210 extracts a string representing by-line information (step 305). The extracted string is located within a predetermined minimum distance of the candidate headline. The extracted string may be a name, a source, a date, a location, or any other item of by-line information. The predetermined minimum distance comprises approximately 50 characters to approximately 100 characters. The predetermined minimum distance is configurable; a typical value for the predetermined distance is approximately 100 characters.
FIG. 4 illustrates a method 400 of the headline detection module 205 in detecting a set H of potential headlines. The headline detection module 205 selects a document from input 220 (step 405). The selected document comprises a crawled version and a de-tagged version. The headline detection module 205 obtains a title string T from the crawled version of the document by selecting a string in the <title> . . . </title> meta-tag of the crawled version (step 410). The headline detection module 205 adds title string T to set H of the potential headlines (step 415).
The headline detection module 205 splits the title string Tat some or all punctuation marks, generating substrings (step 420). The headline detection module 205 adds the generated substrings to the set H of potential headlines (step 425). The headline detection module 205 optionally adds bi-grams of the generated substrings to the set H of potential headlines (step 430). The headline detection module 205 optionally adds n-grams of the generated substrings to the set H of potential headlines (step 435).
FIG. 5 (FIGS. 5A, 5B) illustrates a method 500 of the headline evaluation module 210 in selecting a candidate headline from the set H of potential headlines for a selected document by locating the selected candidate headline in the de-tagged version of the selected document and evaluating the candidate headline. The headline evaluation module 210 selects a longest potential headline in the set of H potential headlines in a selected document (step 505). The longest substring after splitting the title string on punctuations is a high-probability candidate for a headline. Other combinations are possible with a lower probability. Typically, the longest potential headline is the longest substring of title string T created when title string T is split at punctuation marks. Otherwise, the longest potential candidate may be the entire title string T.
The headline evaluation module 210 locates the selected potential headline in a de-tagged version of the selected document (step 510). If the potential headline is not located in the document (decision step 515), the located headline is not a viable headline option. The headline evaluation module 210 selects the next longest potential headline in the set H of potential headlines (step 520) and proceeds to step 555.
At decision step 555, system 10 inquires if all the potential headlines have been considered. If they have not, then system 10 proceeds to step 510. If, however, all the potential headlines have been considered, no acceptable headline is found on the selected document and system 10 exits processing of the selected document (step 540).
If the potential headline is located in the document (decision step 515), the headline evaluation module 210 determines whether the located headline comprises a separate line, with the located headline comprising the entire contents of the separate line (decision step 525). If no, the located headline is not a viable headline option. The headline evaluation module 210 selects the next longest potential headline in the set H of potential headlines (step 520) and proceeds to decision block 555 as described earlier.
Otherwise, the headline evaluation module 210 determines whether the located headline occurs at an html link (decision step 530) to ensure that the located headline comprises text only. If yes, the located headline is not a viable headline option. The headline evaluation module 210 selects the next longest potential headline in the set H of potential headlines (step 520) and proceeds to decision block 555 as described earlier.
Otherwise, the headline evaluation module 210 determines whether the located headline is less than the predetermined minimum length (decision step 535). If yes, no acceptable headline is found on the selected document and system 10 exits processing of the selected document (step 540).
Otherwise, the headline evaluation module 210 determines whether an acceptable date is found near the located headline (decision step 545). An acceptable date occurs in close proximity with the located headline with no html links or hypertext references between the date and the located headline. If no acceptable date is found, the located headline is not a viable headline option. The headline evaluation module 210 selects the next longest potential headline in the set H of potential headlines (step 520) and returns to step 510.
If an acceptable date is found, the headline evaluation module 210 outputs the located headline as the selected headline (step 550).
System 10 identifies potential headlines for a document, locates the potential headlines in a de-tagged version of the document, and validates a candidate headline based on text around the location. The title string Tin the html source often has valuable clues regarding the article headline, even though the title string T is not exactly the headline.
System 10 comprises a generic automated technique for finding by-line information from a crawled web page or document comprising a news article. System 10 requires no per-site customization and has high precision and recall when the by-line information is available.
It is to be understood that the specific embodiments of the invention that have been described are merely illustrative of certain applications of the principle of the present invention. Numerous modifications may be made to the system and method for automatically extracting by-line information described herein without departing from the spirit and scope of the present invention.

## Claims

1. A processor-implemented system for automatically extracting by-line information in a document, wherein said document contains a single news article, comprising:
a non-transitory computer storage medium storing:
a detagging module configured to remove formatting tags from said document to create a de-tagged version of said document;
a headline detection module configured to detect a set of potential headlines of the document from a title meta-tag of the document;
a headline evaluation module configured to select a candidate headline from the set of potential headlines,
wherein the headline evaluation module evaluates the potential headlines from the set of potential headlines in order of lengths of the potential headlines, by:
identifying a location of the selected candidate headline being evaluated in a de-tagged version of the document,
verifying the selected candidate headline as comprising a complete line at the identified location in the de-tagged content,
verifying the length of the selected candidate headline exceeds a minimum length in the de-tagged content, and
ensuring that the selected candidate headline comprises regular text in the de-tagged version of said document; and

a by-line extraction module configured to extract the by-line information from the de-tagged version of said document using the location of the selected candidate headline,
wherein the selected candidate headline is the longest of the set of potential headlines,
wherein the headline detection module is configured to detect the selected candidate headline from the de-tagged version of the document, and
wherein in response to the selected candidate headline's not being detected in the de-tagged version of the document, selecting the next longest remaining of the set of potential headlines as the selected candidate headline.

2. The system of claim 1 wherein the headline detection module constructs the set of potential headlines based on the title meta-tag.

3. The system of claim 2 wherein the headline detection module constructs the set of potential headlines by splitting the title meta-tag at all punctuation marks in the title meta-tag, resulting in a set of sub-strings of the title meta-tag.

4. The system of claim 3 wherein the headline detection module further adds any of a plurality of bi-grams of the sub-strings and a plurality of n-grams of the sub-strings to the set of potential headlines.

5. The system of claim 1 wherein the by-line extraction module extracts a string representing a date located within a minimum distance from the location of the potential headline.

6. The system of claim 1 wherein the by-line extraction module extracts a string representing a name located within a minimum distance from the location of the potential headline.

7. The system of claim 1 wherein the by-line extraction module extracts a string representing a source of the document that is located within a minimum distance from the location of the potential headline.

8. A computer program product having program codes stored on a non-transitory computer storage medium for automatically extracting by-line information in a document, wherein said document contains a single news article, comprising:
a program code for removing formatting tags from said document to create a de-tagged version of said document;
a program code for detecting a set of potential headlines of the document from a title meta-tag of the document,
wherein each of the set of potential headlines comprises a separate line of the lines of text in the de-tagged version of the document;
a program code for selecting a candidate headline from the set of potential headlines,
wherein the program code for selecting the candidate headline evaluates the potential headlines from the set of potential headlines in order of lengths of the potential headlines, by:
identifying a location of the selected candidate headline being evaluated in a de-tagged version of the document;
verifying the selected candidate headline as comprising a complete line at the identified location in the de-tagged content;
verifying the length of the selected candidate headline exceeds a minimum length in the de-tagged content; and
ensuring that the selected candidate headline comprises regular text in the de-tagged version of said document; and

a program code for extracting the by-line information from the detagged version of the document using the location of the selected candidate headline,
wherein the selected candidate headline is the longest of the set of potential headlines,
wherein the program code for detecting the set of potential headlines of the document is further configured to detect the selected candidate headline from the de-tagged version of the document, and
wherein in response to the selected candidate headline's not being detected in the de-tagged version of the document, selecting the next longest remaining of the set of potential headlines as the selected candidate headline.

9. The computer program product of claim 8, wherein the program code for detecting the set of potential headlines constructs the set of potential headlines based on the title meta-tag.

10. The computer program product of claim 9 wherein the program code for detecting the set of potential headlines constructs the set of potential headlines by splitting the title meta-tag at all punctuation marks in the title meta-tag, resulting in a set of sub-strings of the title meta-tag.

11. The computer program product of claim 10 wherein the program code for detecting the set of potential headlines further adds any of a plurality of bi-grams of the sub-strings and a plurality of n-grams of the sub-strings to the set of potential headlines.

12. The computer program product of claim 8 wherein the program code for extracting the by-line information extracts a string representing a date located within a minimum distance from the location of the potential headline.

13. The computer program product of claim 8 wherein the program code for extracting the by-line information extracts a string representing a name located within a minimum distance from the location of the potential headline.

14. The computer program product of claim 8 wherein the program code for extracting the by-line information extracts a string representing a source of the document that is located within a minimum distance from the location of the potential headline.

15. A processor-implemented service stored on a non-transitory computer storage medium for automatically extracting by-line information in a document, wherein said document contains a single news article, comprising:
receiving the document;
invoking an autonomic hardware configuration software utility, wherein the document is made available to the autonomic hardware configuration utility for automatically using a computer processor to extract by-line information in the document by:
removing formatting tags from said document to create a de-tagged version of said document;
detecting a set of potential headlines of the document from a title meta-tag of the document;
selecting a candidate headline from the set of potential headlines, wherein selecting comprises evaluating the potential headlines from the set of potential headlines in order of lengths of the potential headlines, wherein evaluating comprises:
identifying a location of the selected candidate headline being evaluated in a de-tagged version of the document,
verifying the selected candidate headline as comprising a complete line at the identified location in the de-tagged content,
verifying the length of the selected candidate headline exceeds a minimum length in the de-tagged content, and
ensuring that the selected candidate headline comprises regular text in the de-tagged version of the document; and

extracting the by-line information from the de-tagged version of said document using the location of the selected candidate headline,
wherein the selected candidate headline is the longest of the set of potential headlines,
detecting the selected candidate headline from the de-tagged version of the document, and
selecting the next longest remaining of the set of potential headlines as the selected candidate headline in response to the selected candidate headline's not being detected in the de-tagged version of the document.

16. The service of claim 15 wherein detecting comprises constructing the set of potential headlines based on the title meta-tag.

17. The service of claim 16 wherein constructing comprises splitting the title meta-tag at all punctuation marks in the title meta-tag, resulting in a set of sub-strings of the title meta-tag.

18. The service of claim 17 further comprising adding any of a plurality of bi-grams of the sub-strings and a plurality of n-grams of the sub-strings to the set of potential headlines.

19. The service of claim 15 wherein:
extracting comprises extracting a string representing a date located within a minimum distance from the location of the potential headline; and
the string representing the date is without html links or hypertext references between the date and the potential headline.