A technique is provided for identifying time context in a media object to embed meta tags for the time context in the media object. Input is received of the media object including time relevant expressions. Each of the time relevant expressions in the media object are identified for display to a user. The time relevant expressions in the media object are displayed with an option for the user to enter values for each of the time relevant expressions. The values are respectively included in meta tags. The meta tags are assigned to the time relevant expressions in the media object, such that the meta tags include the values respectively corresponding to each of the time relevant expressions. The meta tags having the values for the time relevant expressions are embedded in the media object, such that the meta tags in the media object are available for searching and indexing.
|
8. A computing device configured for identifying time context in a media object to provide meta tags for the time context in the media object, comprising:
a processor;
a software tool that operates on the processor
receive input of the media object comprising time relevant expressions; identify each of the time relevant expressions in the media object for display to a user;
display the time relevant expressions identified in the media object, the time relevant expressions displayed with an option for the user to enter values for each of the time relevant expressions;
wherein the values are respectively comprised in the meta tags; and
assign the meta tags to the time relevant expressions in the media object, the meta tags comprising the values respectively corresponding to each of the time relevant expressions,
wherein the software tool is further operated on the processor to perform at least one of:
embedding the meta tags having the values for the time relevant expressions in the media object, such that the meta tags in the media object are available for searching and indexing; and
attaching the meta tags having the values for the time relevant expressions to the media object; and
wherein the time relevant expressions comprise individual words and phrases.
1. A method for identifying time context in a media object to provide meta tags for the time context in the media object, the method comprising:
receiving, by a software tool executed on a computing device, input of the media object comprising time relevant expressions;
identifying each of the time relevant expressions in the media object for display to a user;
displaying the time relevant expressions identified in the media object, the time relevant expressions displayed by the software tool with an option for the user to enter values for each of the time relevant expressions;
wherein the values are respectively comprised in the meta tags; and
assigning the meta tags to the time relevant expressions in the media object, the meta tags comprising the values respectively corresponding to each of the time relevant expressions,
wherein the software tool is further executed on the computing device to perform at least one of:
embedding the meta tags having the values for the time relevant expressions in the media object, such that the meta tags in the media object are available for searching and indexing; and
attaching the meta tags having the values for the time relevant expressions to the media object; and
wherein the time relevant expressions comprise individual words and phrases.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. A computer program product embodied on a non-transitory computer readable medium comprising computer executable instructions to execute the method of
9. The device of
10. The device of
11. The device of
12. The device of
13. The device of
|
This is a continuation application that claims the benefit of U.S. Non-provisional application Ser. No. 13/270,893 filed Oct. 11, 2011, the contents of which are incorporated in entirety by reference herein.
Exemplary embodiments relate to soft copy documents/objects, and more specifically, to a system for enhancing time relevance references within a document and/or media object.
A soft copy is an unprinted digital document file which may also be a scanned in copy of a printed document. This term is often contrasted with hard copy. A soft copy can usually be viewed through an appropriate editing program, such as word processing programs, database programs, or presentation software, depending on the file type. A soft copy can be transported from one computer to another through file transfer/downloading mechanisms such as ftp or http, as an email attachment, or through USB (universal serial bus) drives and other disk drives. Also, the soft copy can be uploaded to the Internet for viewing by multiple users.
A soft copy of a document is part of electronic media. Electronic media are media that use electronics or electromechanical energy for the end-user (audience) to access the content. This is in contrast to static media (mainly print media or hard copy). The primary electronic media sources familiar to the general public are better known as video recordings, audio recordings, multimedia presentations, slide presentations, CD-ROM (compact disc read-only-memory), and online content.
According to an exemplary embodiment, a method is provided for identifying time context in a media object to provide meta tags for the time context in the media object. The method includes receiving, by a software tool executed on a computing device, input of the media object including time relevant word and identifying each of the time relevant expressions in the media object for display to a user. The method includes displaying the time relevant expressions identified in the media object, in which the time relevant expressions are displayed by the software tool with an option for the user to enter values for each of the time relevant expressions. The values are respectively included in meta tags. Also, the method includes assigning the meta tags to the time relevant expressions in the media object, in which the meta tags include the values respectively corresponding to each of the time relevant expressions.
According to an exemplary embodiment, a computing device is provided that is configured for identifying time context in a media object to provide meta tags for the time context in the media object. The computing device includes a processor and a software tool configured to operate on the processor. The software tool is configured for receiving input of the media object comprising time relevant expressions and identifying each of the time relevant expressions in the media object for display to a user. The software tool is configured for displaying the time relevant expressions identified in the media object, such that the time relevant expressions are displayed with an option for the user to enter values for each of the time relevant expressions. The values are respectively included in meta tags. Also, the software tool is configured for assigning the meta tags to the time relevant expressions in the media object, in which the meta tags include the values respectively corresponding to each of the time relevant expressions.
According to an exemplary embodiment, a computer program product is provided for identifying time context in a media object to embed meta tags for the time context in the media object via a computing device. The computer program product includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code is configured for receiving input of the media object including time relevant expressions, phrases or references and identifying each of the time relevant expressions, phrases or references in the media object for display to a user. The computer readable program code is configured for displaying the time relevant expressions, phrases or references identified in the media object, such that the time relevant expressions, phrases or references are displayed along with a selection of semantically equivalent, but less ambiguous alternatives with an option for the user to enter values for each of the time relevant references. Once determined, the respective values are registered in the meta tags. Also, the computer readable program code is configured for assigning the meta tags to the time relevant expressions, phrases or references in the media object, in which the meta tags include the values respectively corresponding to each of the time relevant expressions, phrases or references.
According to an exemplary embodiment, a method is provided for identifying time context in a media object. The method includes receiving, by a software tool executed on a computing device, input of the media object including time relevant expressions. The method includes identifying each of the time relevant expressions in the media object for display to a user in response to the user typing in a document of the media object and/or a scan being performed for temporal accuracy of the document. Also, the method includes displaying the time relevant expressions identified in the media object, in which the time relevant expressions are displayed by the software tool with a suggestion of an alternative wording for the time relevant expressions and/or an option for the user to correct the time relevant expressions.
Additional features are realized through the techniques of the present disclosure. Other systems, methods, apparatus, and/or computer program products according to other embodiments are described in detail herein and are considered a part of the claimed invention. For a better understanding of exemplary embodiments and features, refer to the description and to the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features of the present disclosure are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
When reading articles in various media (printed or otherwise) there is a relevance of time which is generally implied by the date in the margins or the title page of the original publication. There is usually a time relevance associated with the original publication whether a newspaper, magazine, or perhaps a periodical, or whether a newsletter mailed, emailed, or web-published.
In a form of reuse, many articles are recycled and republished in various web venues, quite often simply reprinting the article word for word as originally published (with or without the publication date). Articles typically have an inherent reference to the publication date (whether current or the past hundreds of years).
The problem, however, is that authors of such articles never envisioned their context of date (e.g., in the margins) to be removed and the article reused in an electronic format without the date. Consequently, as these articles are republished at later dates in different venues (e.g., on the Internet, syndicated copy media, magazines, or other periodicals) confusion may be injected. In addition, such (admittedly natural) writing style renders searching virtually useless. Prior to the Internet, smart phones, and online media, the main source of information was available in printed (hard copy) newspapers and the date was anchored on each page. However, with the Internet, word processing files (such as Word® software), electronic presentations (such as PowerPoint® software), etc., the author now has to be diligent in anchoring time (dates) to his or her articles. Many authors do not take the diligence to anchor their articles to time.
As an example, consider the following ambiguous temporal terms and/or references that are taken from a simple magazine excerpt 100 in
With respect to reusing (providing) this article as electronic media on networks (including the Internet) and/or storage devices (including optical disc storage (e.g., Blu-Ray Disc™, digital versatile disc, compact disc, etc.), solid state storage, tape, etc.), this article has some shortcomings in terms of searchability. It is contemplated that any type of storage (including off line storage) and/or medium may be utilized to store and communicate electronic media (which includes any type of media object or information); accordingly, any Internet examples discussed herein are for explanation purposes and are not meant to be limiting. Consider an example in which a user may want to perform a search to identify references to no hitters in the March 2009 time frame. An Internet or web search engine (such as, e.g., Google® search engine, Bing® search engine, etc) might not readily identify this article and would (at best) be plagued with many false positive search hits. Authors typically use time relevant words such as “today”, “last week”, “last quarter”, “last year”, and so forth. However, searches within the time context of those intended words are not effective, because a user cannot enter the contextual date into a search engine and find the relative or timely article other than using the reference to a possible publication date (published date) of the article itself. With the leading edge technology currently leaning toward business intelligence, analytics, and data mining, this may be considered an obstacle.
The advanced search criteria available in most search engines are focused more literally on the publication date, creation date, and/or recent date of the article published rather than on the temporal context of a search argument, and is in effect limited to such filtering. The following example from an advanced search option sub-menu of an Internet search engine (such as, e.g., Google® search engine) offers an illustration, as shown in
Returning to the article in the magazine excerpt 100 in
A (Internet) search engine is an information retrieval system designed to help find information stored on a computer system or network of computer systems such as the Internet or World Wide Web (typically referred to as web). The terms Internet and web (or network) may be used interchangeably. The search results are usually presented in a list and are commonly called hits. Search engines help to minimize the time required to find information and the amount of information which must be consulted, akin to other techniques for managing information overload. To provide a set of matching items that are sorted according to some criteria quickly, a search engine will typically collect metadata (e.g., meta tags) about the group of items under consideration beforehand through a process referred to as indexing. The index typically requires a smaller amount of computer storage, which is why some search engines only store the indexed information and not the full content of each item, and instead provide a method of navigating to the items in the search engine result page. Alternatively, the search engine may store a copy of each item in a cache so that users can see the state of the item at the time it was indexed, for archive purposes, or to make repetitive processes work more efficiently and quickly.
A web crawler is a computer program that browses the World Wide Web in a methodical, automated manner or in an orderly fashion. Other terms for web crawlers are ants, automatic indexers, bots, web spiders, and web robots. This process is called web crawling or spidering. Many sites, in particular search engines, use spidering as a means of providing up-to-date data for indexing. Web crawlers are mainly used to create a copy of all the visited pages for later processing by a search engine that will index the downloaded pages to provide fast searches for users.
Returning to the example in
As for a user it is easy to take one of the aforementioned type of articles out of context. One need not look far, as the same clipping of the excerpt in
Exemplary embodiments provide a technique for automatically setting meta-tag information (whether if it is Internet HTML (hyper text markup language) tags, XML (extensible markup language) tags, and/or other file/object/media specific tags) that are useful within the (currently) available search engine capabilities. Exemplary embodiments provide one or more software applications configured to (automatically) identify the time context of a word or phrase and assign a specific (searchable) value to a transparent meta tag (that will be) embedded in the object.
When writing an article, how many times have authors written the word “today”, “last quarter”, “last year”, etc., where the author assumes the reader is in the present day (and/or will always be in the present day). Looking at the clipping of the article in
Authors and readers of documents typically use time relevant words such as “today”, “this quarter”, “this year”, etc., which time relevant words are all date based. As the number of documents grows, it has been found that many documents although quite useful, often have relative references to a specific point in time or other such fluid/changing values. As a reader, the one challenge is to understand the intended time reference in context. As an author, a challenge is to create the proper time reference.
According to an exemplary embodiment, a software tool 20 (shown in
Now turning to
One or more software applications such as the software tool 20 (module) may reside on or be coupled to the memory 15, and the software tool 20 comprises logic and software components to operate and function in accordance with exemplary embodiments in the form of computer executable instructions. The software tool 20 may include a graphical user interface (GUI) (displayed on the display screen 45) which the user can view and interact with according to exemplary embodiments. Although the software tool 20 is shown as a single element in
For example, the software tool 20 is configured to search the electronic media object 360 for these time relevant words in the database 25, and then identify/display on the display 45 the time relevant words, phrases, and references to the user (e.g., author, editor, etc., of the media object 360 being searched). For each time relevant word identified (highlighted) on the display 45 to the author, the software tool 20 is configured to ask and allow the author to input a value (such as a date) to correspond to the time relevant word. The software tool 20 is configured to store the value for each time relevant word in the electronic media object 360 as a meta tag. Then, the software tool 20 embeds/stores the meta tags respectively corresponding/anchored to each time relevant word in the electronic media object 360 itself, such that the embedded meta tags and the electronic media object 360 form a single searchable package identified as electronic media object 360. This electronic media object 360 now has a value embedded as a meta tag (including metadata in metadata table 800 shown in
As discussed herein, an exemplary embodiment provides a technique for allowing an author, an editor, a software service (e.g., provided by an entity of server 305) and/or the software tool 20 to recognize/display the relative context (e.g., word context) of object entities (which are time relevant words and word phrases in the electronic media object 360), to highlight and/or alert for ambiguity for time relevant words and phrases, to offer alternatives for time relevant words and phrases, and to attach and/or store portable meaningful meta tags (attributes/values) within the electronic media object 360 for these time relevant words and phases. These meta tags provide the ability for conventional indexing and searching by web crawlers 340 and search engines 335. Also, the meta tag information may be stored within the media object or externally as taught during our other invention.
In one implementation, the software application 80 can be a word processing application or any other software application for creating a document, and the software application 80 integrates the features of and/or works in cooperation with the software tool 20 (e.g., as a plug-in, optional tool, etc.). For example, features of the software tool 20 can be integrated in a conventional word processing application, such as Word® software. As the user types in (i.e., edits) a word processing document of the software application 80, the software tool 20 can scan the entire document of the electronic media object 360 much like the deployment of a spell/grammar checker at completion of the media object 360 and/or dynamically as the media object 360 is being edited (e.g., in the word processing application). The software tool 20 is configured to display on the display 45 a warning/prompt while the user is writing/authoring the document such that if temporal ambiguity is observed by the processing program (now incorporating the software tool 20), the user may be prompted with an option to better articulate a temporal reference for the time relevant words or phrases and/or the user may be provided with a suggestion of alternative wording for the time relevant words and phrases. Further, the software tool 20 is configured so that the user can set a varied metric to identify and/or target a degree of temporal accuracy. For example, if the temporal accuracy of the software tool 20 is set to “absolute” (e.g., which may be a strict adherence to providing temporal accuracy), then the software tool 20 is configured to highlight (on the display 45) the ambiguity in a reference to, e.g., “Last April” and then suggest (display on the display 45) that the author considers “April 2011” as an alternative wording. Hence, the software tool 20 can operate in real time during the authorship phase, as well as in a batch (post-authorship) manner. In one implementation, the software tool 20 can provide real time processing for identifying and correcting time relevant words and phrases (in terms of temporal wording) to be more explicit, without storing any metadata corresponding to the time relevant words for the media object 360. Although an example was discussed for an absolute temporal accuracy above, it is understood that the metric for temporal accuracy (applied by the software tool 20) can be varied by the user to include, e.g., no degree of temporal accuracy, a low degree of temporal accuracy, a medium degree of temporal accuracy, a high (absolute) degree of temporal accuracy, and so forth. At anytime, the user can initiate a scan of the document for temporal accuracy as discussed herein.
The software tool 20 is configured to identify time relevant words (special keywords) within the electronic media object 360 (e.g., file, components, sections, documents, etc.) in which the time relevant words contain a time relevant/sensitive meaning based on the relative context of the content in the media object 360 at block 405. The media object 360 is stored/captured in electronic format, e.g., in the memory 15. For example, the software tool 20 may identify each of the time relevant words in the media object 360 for display to a user in response to the user typing in a document of the media object 360 and/or a scan being performed for temporal accuracy of the document. The time relevant words can be displayed a suggestion of an alternative wording for the time relevant words and/or an option for the user to correct the time relevant words.
The software tool 20 is configured to automatically determine the intended date based on comparing the time relevant words to a reference date at block 410. The reference date may be requested from the author (editor), and the author inputs the reference date to be used by the software tool 20. Also, the reference date may be inferred from the media object 360 itself, e.g., the reference date may simply be the media object publish date (as determined by a scan performed by the software tool 20 and/or input by the author/editor). Additionally, the software tool 20 is configured to determine (or the user can input) the reference date based on the context of the content itself in the media object 360. For example, the software tool 20 is configured to determine that an article written/published in 2008 detailing the 1929 market crash referring to the previous year should cite 1928 (rather than 2007) in the meta tag associated with the time relevant phrase previous year. The software tool 20 is configured to scan the media object 360 to determine borders, margins, box dividers, and column dividers. Also, the software tool 20 determines/distinguishes the content (i.e., the text of the article which may be within a box, column, border, and/or any encapsulated form) of the media object 360 from text surrounding the content. Text surrounding/outside of the content may be text in the margins, borders, and/or generally outside of the encapsulated content. The software tool 20 is configured to determine that a date found outside (e.g., in a header, footer, etc.) of the content is not (automatically) utilized as the reference date that is used to generates values for the meta tags. However, the software tool 20 is configured to distinguish a date found in a title from a date in an outside margin (like the header, footer, etc.) and will utilize the date (e.g., month, day, year, etc.) in the title as the reference date.
At block 415, the software tool 20 is configured to assign metadata, having special attributes and values to be utilized as meta tags, to the time relevant words, and the software tool 20 embeds the metadata (i.e., meta tags) into the media object 360. Further information regarding assigning and embedding metadata is disclosed in application Ser. No. 12/555,171 filed Sep. 8, 2009, entitled “Processing Special Attributes Within A File” which is hereby incorporated in its entirety by reference. In one implementation, the software tool 20 may attach the metadata along with the media object 360 instead of embedding the metadata.
Execution of the scanning/inference logic (for identifying and highlighting the time relevant words for display to the user) can be done via stand software components in the software tool 20 and/or via software services shown as the server 305 having the software tool 20b. Also, the software tool 20 may be integrated as a feature in a word processing program. The software tool 20 is configured for an author and/or editor to override meta tags automatically assigned by the software tool 20 and assign meaningful meta tags himself. In one embodiment, the author could manually highlight and assign desired meta tags via the software tool 20. Time sensitive/relevant words, phrases, and terminology within electronic media object 360 (e.g., text, audio, etc.) can readily be identified using existing software modified the software tool 20 as discussed herein. Optical character recognition (OCR) software can be designed to do this in conversion to text applications. The technique of exemplary embodiments goes beyond existing software by identifying, interpreting, and assigning these time relevant words and phrases into succinct time references (time values in corresponding meta tags) for direct portable inclusion within and/or associated with the electronic media object 360.
In one implementation, the software tool 20 can be integrated into a scanner, such that the scanner 55, to provide enhanced scanning. The scanner 55 may be configured with functions of scanners and printer combinations by Hewlett-Packard, Seiko Epson®, or any other scanner and printer companies.
Once the time relevant word and relevant point in time (i.e., the relevant point in time is the value in a meta tag for that particular time relevant word) has been input/established by the author, editor, and/or software tool 20 (which may be a software service offered by an entity through the server 305), the author/editor has the an option displayed by the software tool 20 to correct and/or adjust the wording (of the value) appropriately based on the actual date that should be input as the value.
The search engine 335 would be able to search, determine, and locate a definitive point in time for each time relative word by finding its corresponding meta tag (having the date and reference as a value, such as first week in Jan. 2011). Additionally, the embedded meta tag (via the software tool 20) allows a reader to view (via, e.g., a mouse over) the value of the meta tag assigned/corresponding to each time relevant word in the document (i.e., the electronic media object 360) which provides the reader a definitive point in time for any ambiguous time relevant words and phrases. As presented in application Ser. No. 12/555,171 filed Sep. 8, 2009, the author/editor has the ability to assign special attributes/values to such time relevant words as discussed herein. The software tool 20 can indentify New Year's Day in the media object 360 as a time relevant phrase. The software tool 20 and/or the author utilizing the software tool 20 can assign a special attribute (which is a value in a corresponding/assigned meta tag) of Jan. 1, 2010 for New Year's Day. In the media object 360, the actual date of Jan. 1, 2010 can be displayed on the display 45 to the reader (if a mouse pointer hovers over “this New Years Day” (time relevant phrase)) and can be readily discovered in meta data by the search engine 335, thus providing an actual date for this time relevant phrase (when none was originally provided). Both the discovery software (e.g., search engine 335) and the direct beneficiary (the user/reader) will benefit by having the ability to discern an actual date based off of time sensitive/relevant words, thereby eliminating the confusion of time relevance within documents.
Returning to
As discussed herein, the scanner 55 may include the software tool 20a (e.g., as an add-on or plug-in) along with a database 25a of time sensitive/relevant words and phrases. The scanner 55 can be a stand alone device in which the software tool 20a with database 25a can operate and function (identically or modified as desired) as discussed herein for the software tool 20 and database 25.
An example was provided above for the magazine excerpt 100. The hard copy of the magazine excerpt 100 has been scanned in by the scanner 55 and can be represented as a soft copy (file). In this example, this electronic soft copy (file) is media object 360. The software tool 20 receives the media object 360 for processing.
The task of identifying the time relevant words (special keywords) can be accomplished by the software tool 20 scanning the magazine excerpt of the media object 360 (similar to a spell/grammar check within an application). As mentioned above, the software tool 20 may contain an ontology engine which can utilize deep analytics. The ontology engine can be used to scan the document based on a specific context such as time and/or date. The resultant document shown as view 600 will contain the related words/terms/phrases (i.e., time relevant words) highlighted. The time relevant words may be displayed in the view 600 (on display 45) with a different color, enclosed in a box, enclosed in a circle, and/or with any type of distinguishing feature so that the author can recognize these time relevant words and phrases. Also, the search for time relevant words is not restricted just to (textual) documents, but can be applied to audio/video multimedia formats such as, mp3 (MPEG audio layer I, II, and III) format, wmv (Windows® media video) format, avi (audio video interleave) format, etc. Note that in one implementation the scanner 55 (which could be a stand-alone machine) and/or the computer system 10 may invoke a software service. For example, the media object 360 may be sent to the software service of one or more servers 305 (e.g., including one or more deep analytics machines, analytical software, and/or data mining software as understood by one skilled in the art) for processing via the network 320. The software service of the software tool 20b would execute the processing discussed above and below for the software tool 20. The software service of the software tool 20b would flag ambiguous temporal references (i.e., flag time relevant words and phrases), offer alternative wording to the user, and then provide the absolute value within the corresponding meta tags. The software service of the software tool 20b provides the user with the option (e.g., in a graphical user interface) to accept or reject these changes. As discussed herein, it is contemplated that any processes executed by the software tool 20 of the computer system 10 and the software tool 20a of the scanner 55 can be implemented by the software service of the software tool 20b.
After the (related keywords) time relevant words have been identified by the software tool 20, the date and/or time value for the time relevant words can be computed by the software tool 20 based on a reference date. A reference date can be provided directly by the editor/author and the reference date can be automatically calculated by the software tool 20 based off of the current date (e.g., as the author/editor writes the document in a word processing software application).
The software tool 20 is configured to input the data for the identification field, which is unique for each metadata box. The ID field is a unique identifier for the time relevant word/term/phrase/section. A special attribute with the calculated value can then be assigned by the software tool 20 to the highlighted time relevant words/terms/phrases as shown in view 700. The editor will have the option presented by the software tool 20 to modify the values and/or attribute for each time relevant word and phrase. The location field specifies the location where the attribute is within the document of the media object 360; this can be automatically computed/input by the software tool 20 and provided to the editor. The software tool 20 may provided start and end location in the location field. The attribute field is the attribute assigned to the time relevant word/term/phrase/section. The value field is the value of the attribute; the value field contains the actual value of the time relevant word.
When the software tool 20 determines and/or receives input of the reference data, the software tool 20 is configured to input the term reference date into the attribute field and the input, e.g., May 8, 2009 (the actual reference date), into this value field for the metadata box; this ID field is designated as A0 by the software tool 20 for this metadata box.
Based on receiving the reference data May 8, 2009, the software tool 20 is configured to evaluate the value fields for each of the other identifications shown in the metadata boxes in
Also, since the time relevant word week is in close proximity (e.g., no intervening words, less than five intervening words, etc.) to the reference date May 8, 2009, the software tool 20 is configured to determine that the time relevant word week for ID A2 is not an ambiguous time relevant term; as such, the software tool 20 inputs none for both the attribute and value fields for the ID A2. For the IDs A1, A3, A4, and A5, the software tool 20 inputs time and date in the respective attribute fields.
For all the metadata boxes in
When the saved (document) media object 360 is opened, the application (word processing application, document reader application, etc.) integrated with the software tool 20 can be used to read and apply the embedded data of the metadata table 800 to respective time relevant words and phrases. For example, when viewing the (document) media object 360 on the display 45, the reader will see the highlighted words (displayed by the software tool 20) as shown in the view 900 of
For HTML (hyper text markup language) media objects 360 (documents), the software tool 20 can automatically update the meta tag keywords with the data from the value field of the metadata table 800, thereby allowing search engines (such as the search engine 335) to utilize this data of the value field. The meta tags are enclosed in the HTML head section by the software tool 20. An example is provided below:
<HEAD>
<TITLE>DOCUMENT A</TITLE>
<META name=“description” content=“This is my document.”>
<META name=“keywords” contents=“TimeX, TimeY, TimeZ”>
</HEAD>
As seen in the above example, the software tool 20 is configured to enter an actual date (value of the value field) in the keywords for the media object 360 as meta tags, which can be searched for and located by the search engine 335.
The software tool 20 executing on the computing device 10 is configured to receive input of the media object 360 having potentially ambiguous time relevant words and phrases at block 1005. The media object 360 may be scanned in by the scanner 55, selected by the user, received in an email over the network 320, and/or downloaded over the Internet, e.g., the network 320.
At block 1010, the software tool 20 is configured to identify each of the time relevant words in the media object 360 for display to a user (e.g., author, editor, etc) as shown in
The software tool 20 is configured to display the time relevant words identified in the media object 360, where the time relevant words are displayed on the display 45 by the software tool 20 with an option for the user to enter values for each of the time relevant words at block 1015. As seen in
At block 1020, the software tool 20 is configured to assign the meta tags to the time relevant words in the media object 360, such that the meta tags include the values respectively corresponding to each of the identified time relevant words. The software tool 20 is configured to embed the meta tags having the values for the time relevant words in the media object 360, such that the meta tags in the media object 360 are available for searching and indexing by the web crawlers 340 at block 1025. Also, instead of storing the meta tags in the media object 360, the software tool 20 can attach the meta tags to the media object 360 such that the meta tags are stored externally in memory 15.
The time relevant words may include individual words and phrases, which can include numbers. Also, the values of the meta tags may include a date in which the date includes at least one of a year, month, day, hours, minutes, seconds, and fractions thereof. It is contemplated that other delineations of time may be utilized and the values corresponding to time relevant words are not meant to be limited. Additionally, the software tool 20 may be configured to account for different time zones for the values of the meta tags, and may provide absolute time references for time zones, e.g., based on Greenwich Mean Time (GMT).
The values of the meta tags can include a date and at least one of a reference to a week, a reference to a month, a reference to a year, a reference to a holiday, a reference to a time period (e.g., “now”, “yesterday”, “tomorrow”, etc.), a reference to a time preceding a time period (e.g., “the last year”, “last month”, “yesterday”, etc.), a reference to time succeeding a time period (e.g., “next week”, “next month”, “next day”, “tomorrow”), and a reference to a time/date currently with a time period (e.g., day/week/month of May 8, 2009, year of 2009).
Additionally, the software tool 20 is configured to automatically enter values for each of the time relevant words, such that the values are utilized in the meta tags. For example, in response to the user entering a reference date (e.g., such as May 8, 2009 highlighted in
Note that time relevant words, time relevant expressions, time relevant references, time relevant phrases, etc., are not meant to be limiting and may include words, terms, numbers, symbols, punctuations, audio, any form of character, and any combination thereof.
Generally, in terms of hardware architecture, the computer 1100 may include one or more processors 1110, computer readable storage memory 1120, and one or more input and/or output (I/O) devices 1170 that are communicatively coupled via a local interface (not shown). The local interface can be, for example but not limited to, one or more buses or other wired or wireless connections, as is known in the art. The local interface may have additional elements, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components.
The processor 1110 is a hardware device for executing software that can be stored in the memory 1120. The processor 1110 can be virtually any custom made or commercially available processor, a central processing unit (CPU), a data signal processor (DSP), or an auxiliary processor among several processors associated with the computer 1100, and the processor 1110 may be a semiconductor based microprocessor (in the form of a microchip) or a macroprocessor.
The computer readable memory 1120 can include any one or combination of volatile memory elements (e.g., random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and nonvolatile memory elements (e.g., ROM, erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disc read only memory (CD-ROM), disk, diskette, cartridge, cassette or the like, etc.). Moreover, the memory 1120 may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory 1120 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 1110.
The software in the computer readable memory 1120 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. The software in the memory 1120 includes a suitable operating system (O/S) 1150, compiler 1140, source code 1130, and one or more applications 1160 of the exemplary embodiments. As illustrated, the application 1160 comprises numerous functional components for implementing the features, processes, methods, functions, and operations of the exemplary embodiments. The application 1160 of the computer 1100 may represent numerous applications, agents, software components, modules, interfaces, controllers, etc., as discussed herein but the application 1160 is not meant to be a limitation.
The operating system 1150 may control the execution of other computer programs, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
The application(s) 1160 may employ a service-oriented architecture, which may be a collection of services that communicate with each. Also, the service-oriented architecture allows two or more services to coordinate and/or perform activities (e.g., on behalf of one another). Each interaction between services can be self-contained and loosely coupled, so that each interaction is independent of any other interaction.
Further, the application 1160 may be a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, then the program is usually translated via a compiler (such as the compiler 1140), assembler, interpreter, or the like, which may or may not be included within the memory 1120, so as to operate properly in connection with the O/S 1150. Furthermore, the application 1160 can be written as (a) an object oriented programming language, which has classes of data and methods, or (b) a procedure programming language, which has routines, subroutines, and/or functions.
The I/O devices 1170 may include input devices (or peripherals) such as, for example but not limited to, a mouse, keyboard, scanner, microphone, camera, etc. Furthermore, the I/O devices 1170 may also include output devices (or peripherals), for example but not limited to, a printer, display, etc. Finally, the I/O devices 1170 may further include devices that communicate both inputs and outputs, for instance but not limited to, a NIC or modulator/demodulator (for accessing remote devices, other files, devices, systems, or a network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc. The I/O devices 1170 also include components for communicating over various networks, such as the Internet or an intranet. The I/O devices 1170 may be connected to and/or communicate with the processor 1110 utilizing Bluetooth connections and cables (via, e.g., Universal Serial Bus (USB) ports, serial ports, parallel ports, FireWire, HDMI (High-Definition Multimedia Interface), etc.).
When the computer 1100 is in operation, the processor 1110 is configured to execute software stored within the memory 1120, to communicate data to and from the memory 1120, and to generally control operations of the computer 1100 pursuant to the software. The application 1160 and the O/S 1150 are read, in whole or in part, by the processor 1110, perhaps buffered within the processor 1110, and then executed.
When the application 1160 is implemented in software it should be noted that the application 1160 can be stored on virtually any computer readable storage medium for use by or in connection with any computer related system or method. In the context of this document, a computer readable storage medium may be an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method.
The application 1160 can be embodied in any computer-readable medium 1120 for use by or in connection with an instruction execution system, apparatus, server, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable storage medium” can be any means that can store, read, write, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, or semiconductor system, apparatus, or device.
More specific examples (a nonexhaustive list) of the computer-readable medium 1120 would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic or optical), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc memory (CDROM, CD R/W, DVD, Blue-ray™, tape, etc) (optical). Note that the computer-readable medium could even be paper or another suitable medium, upon which the program is printed or punched, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
In exemplary embodiments, where the application 1160 is implemented in hardware, the application 1160 can be implemented with any one or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.
It is understood that the computer 1100 includes non-limiting examples of software and hardware components that may be included in various devices, servers, and systems discussed herein, and it is understood that additional software and hardware components may be included in the various devices and systems discussed in exemplary embodiments.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” or PLX programming language or other similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, element components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated
The flow diagrams depicted herein are just one example. There may be many variations to this diagram or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the exemplary embodiments of the invention have been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.
Murphy, Thomas E., Dallari, Gregory D., Puiam, Adiswong
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6272490, | Dec 26 1997 | HANGER SOLUTIONS, LLC | Document data linking apparatus |
6311194, | Mar 15 2000 | ALTO DYNAMICS, LLC | System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising |
6366296, | Sep 11 1998 | Xerox Corporation; Fuji Xerox Co., Ltd. | Media browser using multimodal analysis |
6493731, | Jan 27 1999 | GOOGLE LLC | Document management system for recording and viewing the history of document use |
6499132, | Jun 15 2001 | CADENCE DESIGN ISRAEL II LTD | System and method for analyzing temporal expressions |
6715126, | Sep 16 1998 | International Business Machines Corporation | Efficient streaming of synchronized web content from multiple sources |
6920583, | Jun 15 2001 | CADENCE DESIGN ISRAEL II LTD | System and method for compiling temporal expressions |
7120859, | Sep 11 2001 | Sony Corporation | Device for producing multimedia presentation |
7233942, | Oct 10 2000 | TRUELOCAL, INC | Method and apparatus for providing geographically authenticated electronic documents |
7698336, | Oct 26 2006 | Microsoft Technology Licensing, LLC | Associating geographic-related information with objects |
7818681, | Jun 28 2007 | LinkedIn Corporation | Method and system for internally identifying a specific web browser for displaying a specific web page |
8001462, | Jan 30 2009 | GOOGLE LLC | Updating search engine document index based on calculated age of changed portions in a document |
8055688, | Dec 07 2007 | Method and system for meta-tagging media content and distribution | |
8060514, | Aug 04 2006 | Apple Inc | Methods and systems for managing composite data files |
8082486, | Jun 09 2011 | Adobe Inc | Source attribution of embedded content |
8126936, | Dec 07 2007 | Method and system for meta-tagging media content and distribution | |
20020152318, | |||
20030112268, | |||
20040122943, | |||
20040168115, | |||
20050097260, | |||
20050108639, | |||
20050198042, | |||
20060149807, | |||
20060218492, | |||
20070010993, | |||
20070150513, | |||
20080034003, | |||
20080040359, | |||
20090006982, | |||
20090049391, | |||
20090070373, | |||
20090150406, | |||
20090157680, | |||
20090327789, | |||
20100077290, | |||
20100153106, | |||
20100228693, | |||
20100235760, | |||
20110067087, | |||
20120047436, | |||
20120072845, | |||
20130047071, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 03 2012 | DALLARI, GREGORY D | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029157 | /0805 | |
Oct 03 2012 | PUIAM, ADISWONG | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029157 | /0805 | |
Oct 08 2012 | MURPHY, THOMAS E , JR | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 029157 | /0805 | |
Oct 17 2012 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jul 30 2018 | REM: Maintenance Fee Reminder Mailed. |
Jan 21 2019 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 16 2017 | 4 years fee payment window open |
Jun 16 2018 | 6 months grace period start (w surcharge) |
Dec 16 2018 | patent expiry (for year 4) |
Dec 16 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 16 2021 | 8 years fee payment window open |
Jun 16 2022 | 6 months grace period start (w surcharge) |
Dec 16 2022 | patent expiry (for year 8) |
Dec 16 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 16 2025 | 12 years fee payment window open |
Jun 16 2026 | 6 months grace period start (w surcharge) |
Dec 16 2026 | patent expiry (for year 12) |
Dec 16 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |