US20110246482A1 - Augmented and cross-service tagging - Google Patents
Augmented and cross-service tagging Download PDFInfo
- Publication number
- US20110246482A1 US20110246482A1 US12/752,016 US75201610A US2011246482A1 US 20110246482 A1 US20110246482 A1 US 20110246482A1 US 75201610 A US75201610 A US 75201610A US 2011246482 A1 US2011246482 A1 US 2011246482A1
- Authority
- US
- United States
- Prior art keywords
- entities
- applications
- tags
- tag
- multiple applications
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Definitions
- the present invention relates to social tagging, and more specifically, to techniques for automatically generating and propagating tags in web 2.0 social networks and applications.
- Social tagging serves a useful purpose because no single user would be able to manage the number of elements that normally populate a social application. Instead, every user visiting a web page or viewing a document has the chance to apply a tag, thus helping him and other users to search for it. This distributed intelligence is much more efficient than tagging by a single user. Examples of applications with social tagging include del.icio.us (social bookmarking); blogger.com (blogs), and virtually any current web 2.0, socially-oriented application.
- the benefits of social tagging depend on the existence of a large enough user population that is inclined to perform the tagging effort, and also depend on there being enough tags to converge on a meaningful and stable set of tags. It has been estimated that it takes about 100 tags to reach a meaningful and stable set of tags.
- Helping users manage the information available in email is also a growing challenge. For each message, a user must decide how to best categorize, mark, label, or remove important messages from the rest of the message to best facilitate later retrieval.
- Managing information in email currently primarily relies on manually filing messages into folders. Tagging has a benefit over folders in that a user can apply multiple tags to a single message without the message moving out of view, as is common in folders.
- Systems like Taglocity provide social tagging of email messages. When a user applies and shares the tag applied to a message, the recipient of the e-mail automatically gets the benefit of the tag applied by the former user into the message that was just received.
- a method comprises: creating connections to multiple applications, each application having multiple entities; determining relationships between the entities within a single application and between entities across multiple applications; associating a tag with a selected one of the entities in a first one of the multiple applications; identifying entities in other applications besides the first application that are related to the selected entity, based on the determined relationships; and propagating the tag across multiple applications by associating the tag with the identified entities in the other applications.
- a system comprises: a plurality of applications; a cross-service tagging mashup application connected to the plurality of applications; a relationship discovery component for discovering relationships between entities within individual applications and between entities across multiple applications; a tag initiation component for initiating tags; and a tag propagation component for propagating tags across multiple applications based on relationships discovered by the relationship discovery component.
- a method comprises: receiving a new email message sent to a user using an email application; comparing the new email message with previous emails sent to said user; generating a keyword set of related words, including words found in both the new and previous email messages; and presenting the keyword set to said user.
- a computer program product for cross-service tagging comprises: a computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising: computer usable program code configured to: create connections to multiple applications, each application having multiple entities; determine relationships between the entities within a single application and between entities across multiple applications; associate a tag with a selected one of the entities in a first one of the multiple applications; identify entities in other applications besides the first application that are related to the selected entity, based on the determined relationships; and propagate the tag across multiple applications by associating the tag with the identified entities in the other applications.
- FIG. 1 shows a diagram of a system for cross-service tagging in accordance with an embodiment of the invention
- FIG. 2 shows a diagram of an example of pulling tags from different applications into email messages in accordance to an embodiment of the invention
- FIG. 3 shows a diagram of an example of pushing tags from email messages in accordance with an embodiment of the invention
- FIG. 4 shows a flowchart of a method for cross-service tagging in accordance with an embodiment of the invention
- FIG. 5 shows a diagram of a system for augmented tagging in email in accordance with an embodiment of the invention
- FIG. 6 shows a flowchart of a method of augmented tagging for emails in accordance with an embodiment of the invention.
- FIG. 7 shows a high level block diagram of an information processing system useful for implementing one embodiment of the present invention.
- Embodiments of the invention provide ways to automatically propagate user-applied tags from one application to another across related entities belonging to different services, where relationships are discovered by the application itself.
- social tagging has a number of advantages.
- content can be related across these applications, and indeed mashups can be implemented to share content from one application to other, the added value of tags is not normally shared across applications: the semantics given by the classification applied by users must be repeated in each application.
- GroupMe! A related idea was developed in GroupMe!, (Abel, Henze & Kraus, “GroupMe! Where Information Meets”, poster paper in WWW2008, April 2008, China—http://www2008.org/papers/pdf/p1147-abelA.pdf).
- GroupMe! a user manually groups entities, belonging—to the user criteria—to related topics. The user can then apply tags to the group, and these tags get propagated to the entities it contains in their respective applications.
- Embodiments of the present invention differ from this work in part in that the grouping context provided does not need to be manually created. Instead, with embodiments of the invention, tags propagate to related systems via implicit relationships as bound by an email message, email thread, activity tree, or other set of structured information.
- a mechanism is created to aggregate tags from different social applications and merge the resulting set around related email messages. Additional embodiments of the invention expand this concept to: (a) function not only within email, but also in any other application where a mashup from other sources can exist; and (b) not only aggregate tags from other applications but also to propagate tags to other applications.
- embodiments of the invention extend application mashups to automatically propagate user-applied tags from one application to another across related entities belonging to different services, where relationships are discovered by the application itself.
- applications provide an application programming interface (API) allowing outside applications to retrieve and update content.
- APIs serve as a means to building a mashup.
- embodiments of the invention allow tags to be sent (propagated) through the same APIs when an association exists between any two or more elements across applications.
- One example that may be used to illustrate the invention is the situation of a blog post on blogger.com with links (URLs) to a few external websites. These URLs may have been bookmarked in del.icio.us, and may or may not, have tags on these bookmarks.
- the blog application can apply these tags to the del.icio.us bookmarks.
- BlueMail offers the ability to tag messages for easier organization and later retrieval, and indeed allows tags to propagate from a dogear bookmark if it exists.
- the email client or server
- user tags can propagate through different services transparently to the user. These user-applied tags, which create “folksonomies” and add semantics to massively accessible items, would then propagate more broadly, thus enriching more content on more services than if a user had to manually select and apply tags to those entities.
- the mashup application will not only apply the tag(s) on the selected entity (in the previous example, on the email message the user is explicitly tagging) but it will also propagate the tag to the other services in the mashup through their APIs.
- FIG. 1 shows a diagram of a system 10 for cross-service tagging in accordance with an embodiment of the invention.
- existing applications may include one or more blogging applications 12 , social bookmarking applications 14 , and email applications 16 .
- Each of the applications includes an application programming interface (API) 18 , 20 and 22 respectively.
- API application programming interface
- a cross-service tagging mashup application 24 includes a relationship discovery unit 26 , and a tagging activity unit 28 .
- the tagging activity unit 28 includes a tag initiation unit 30 and a tag propagation unit 32 .
- Text analysis is another way to establish relationships between entities belonging to different applicants so that tags can be shared or propagated. This may include tools like text-classifying algorithms that can be used to capture “similarity” among entities, regardless of whether they are the same class of elements or not (for example, comparing email messages' text to blog posts' contents). If they are found similar enough so as to be considered that they refer to the same objects or entities, then a relationship through which tags are propagated can be established.
- tags may be pulled into email messages.
- FIG. 2 there is shown a diagram of an example of pulling tags into email messages in accordance with an embodiment of the invention.
- a user 34 receives and is reading an email message 36 , the email program queries for content related to the message on the related blogging 30 and bookmarking 40 (such as del.icio.us) applications. It is found that other users previously tagged a related blog post 42 as “research”, and a related bookmark 44 as “lotus”. The user 34 may then be presented the two tags “lotus” and “research” as suggestions for the incoming email message 36 , or have these tags automatically applied by the system.
- bookmarking 40 such as del.icio.us
- FIG. 3 shows a diagram of an example of pushing tags into email messages in accordance with an embodiment of the invention.
- the email program propagates this tag to other elements (which are public) and may include a blogging server 54 and a bookmarking server 56 , such as a del.icio.us server.
- a tag for blog post 58 and a social bookmark 60 are automatically generated.
- users 48 and 50 reading content on the bookmarking or blogging application may then see the tag applied to the email message 52 even when they have no access to it.
- tags may also be from social bookmarks.
- the blogging application 54 may discover the relationship between the URL bookmarked and a blog post mentioning the same URL. Then, at the time a del.icio.us user 50 tags this bookmark, the del.icio.us service 56 can automatically propagate the tag to the blog post 58 in the blogging server 54 .
- FIG. 4 shows a flowchart of a method 60 for cross-service tagging in accordance with an embodiment of the invention.
- the cross-service tagging mashup application is connected to multiple applications. Relationships are then discovered between entities belonging to different one of the applications, in step 64 .
- a selected entity in one of the applications is then tagged.
- entities in other applications related to the tagged entity are identified based on the discovered relationships. The tag may then be propagated to the related entities in the other applications, in step 70 .
- Embodiments of the invention may combine several different mechanisms for suggesting or automatically applying tags to email messages to help organize email for later search and retrieval. By making it easier and more efficient to associate tags with email messages, the use of tagging within email will be encouraged, enabling the user to enjoy its benefits.
- Embodiments of the invention may integrate several different approaches for associating tags with messages including one of the following (or combinations thereof):
- Embodiments of the invention may combine several different mechanisms for suggesting or automatically applying tags to email messages. Fundamentally, these embodiments encourage more usage of tagging by making it easier and more efficient to associate tags with email messages. There at least three ways to make it easier to apply tags to email messages:
- An important aspect of some embodiments of the invention is to suggest or automatically apply relevant and useful tags to email messages. To do this, embodiments of the invention may use a combination of the above-described different approaches to help organize email for later search and retrieval.
- One of these approaches is leveraging prior tagging. If the user has previously tagged an earlier message that is related to the current one, then that tag should be suggested or applied to the current message. A simple example illustrates this approach. If the user tags message A with a tag “foo”, if message B arrives that is a reply to message A, then tag “foo” is also probably relevant to message B. As another example, if a user has already filed a message into a folder, it may also make sense to tag the message with a label related to the folder name to enable searching and sorting by tag as well as by folder name. In this approach, we are leveraging user effort that has already been applied to the email message to either suggest or automatically apply tags to messages.
- Another approach is exploiting others' tagging work on shared or related messages. This approach leverages other recipients' tagging work on a message to be shared with any other recipient of the message. Thus, if message C is sent to 7 people, and the first recipient tags it as “ProjectA”, then that tag could also be suggested to the other six recipients and the sender. This approach leverages the tagging work of any individual user to the others who are socially connected by sharing that message. This “social tagging” of email messages borrows directly from what happens in publicly shared Web 2.0 applications within the scope of email messages that are typically shared within a more limited scope of people.
- embodiments of the invention extend the scope of social tagging in email to make it more useful. For example, combining with the earlier approach of leveraging prior tagging, if message D is a reply to message C, then “ProjectA” could be offered as a tag to all the recipients of message D as a way of leveraging the effort of one person's tag of the related message C.
- Another approach is integrating analysis of the content of email messages.
- a variety of methods artificial intelligence, semantic data mining, etc. have been used to identify keywords to represent the content of information. Examples of these methods include k-means or TF-IDF based text categorization, social-filtering, modified PageRank relation, latent semantic analysis, and neural network-based machine learning. These information clustering methods could also be used to suggest tags for email messages.
- Another approach is leveraging tags from other sources on components of the message.
- tagging has gained in popularity, more and more applications are offering tagging capabilities.
- Fringe allows employees to tag people with topics that are associated with those people.
- Del.icio.us allows tagging web page URLs with topics associated with the web page.
- Blogger.com allows blog postings to be tagged.
- URLs referenced in an e-mail might refer to a blog that is in turn tagged.
- Email is a very common communication channel that involves people and could be used to send pointers to web sites.
- Embodiments of the invention take advantage of the people and web pointers included in an email message and the tags associated with those artifacts to suggest that these tags might also be appropriate for the email message as well. In this way, embodiments of the invention take advantage of tags applied in other applications and use them to suggest tags for email, offering some integration of tagging across applications.
- AI Artificial Intelligence
- Using all of the methods above may generate many ways of augmenting tagging on a message beyond what will be useful. Furthermore, the system needs to decide whether to automatically apply the tag, suggest it as a tag, or apply it as a latent tag.
- An algorithm may be used to rank which tags are most meaningful or likely to be useful and the most appropriate way to apply the tag to the message. Having a rank ordering of candidate tags is also useful for an interface that presents users a short list of suggested tags and if the user selects a tag to apply, which removes that tag from the short list and the next candidate in rank is added to the short list.
- Embodiments of the invention may combine content analysis techniques, socially-based tagging, and the incorporation of related tags from other social software systems to produce categorization information which is presented to the user using a combination of means to consume them (automatically applied tags/folders, suggested tags/folders, search keywords).
- the advantage in this combination over the solutions listed above is that through providing a broader basis for suggestions, if any one dimension is lacking (e.g., not enough content for a good content analysis), the remaining sources may still provide a rich enough basis for suggestions.
- FIG. 5 shows a diagram of a system 72 for augmented tagging in email in accordance with an embodiment of the invention.
- a new message arrives in a user's inbox.
- the message may be compared against the corpus of this user's e-mails using a Text Analysis algorithm 74 , which produces a keyword set (A), shown as “bar chili” in FIG. 5 .
- a keyword extraction component 76 may use pattern recognition techniques pull out structured data such as URLs, file objects, people's names, etc. that are then used as seeds into other systems to gather social tagging information into a keyword set (B), shown as “foo xyzzy” in FIG. 5 (e.g., a URL is recognized and cross-referenced with del.icio.us to collect tags from the community).
- the message may then be checked by the social tags component 78 for social tags, that is, tags that were already applied by other recipients of the message, and these are gathered into a keyword set (C), shown as “foo” in FIG. 5 .
- a weight mixing function component 80 may then use a weight-based mixing algorithm to take as input the three keyword sets (A, B, and C) and aggregate the values into a single set of keywords which may be presented to the user in different forms:
- a text-classifier algorithm can be run on the emails contents retrieving important keywords or other lexical tokens that can be suggested as tags. These keywords can also be combined with the users' existing and applied tag set to better match its own language. Text-classifying algorithms can also separate a population of data (messages) into categories or “clusters”, and this classification can also be used to grab tags that other messages in the same cluster have received to be offered as suggestions. Known solutions like TF-IDF based ones (used by SwiftFile), k-means or others could be used for this approach.
- Another family of algorithms can gather socially-applied tags from applications outside of email to content embedded in the email message being analyzed (B). For example, an email with an embedded URL can trigger the search for tags applied in social bookmarking applications like del.icio.us, as each of them provide APIs or protocols to perform searches and retrieve information. This is the first embodiment of the invention as described above.
- a person being named can be also queried to a corporate or social directory and the tags that person has received by other users can be retrieved (C).
- directory applications offer a variety of protocols to retrieve users' information, including the tags that each user has received. For example, a user that has been tagged with the name of the project he works on would cause messages he sends to have that word as a tag suggestion.
- embodiments may use the text classification algorithm (A), tags applied from other applications on components of the message (B), and tags applied to people associated with the message (C) create an abstract representation of the message content. That representation could be compared with representations of other messages that have been tagged. By transitivity, tags that other users have applied to similar messages (according to that abstract representation), can be used as suggestions for the incoming message.
- A text classification algorithm
- B tags applied from other applications on components of the message
- C tags applied to people associated with the message
- FIG. 6 shows a flowchart of a method 82 of augmented tagging for emails in accordance with an embodiment of the invention.
- a new email message is received by a user using an email application.
- the new email message is compared with previous emails sent to the user using a text analysis algorithm, in step 86 .
- a first keyword set is generated including words found in both the new and previous email messages.
- a second keyword set is generated using social tagging information from another system besides the email application.
- a third keyword set is generated using tags applied by other recipients of the new email message.
- the first, second, and third keyword sets are aggregated into an aggregated keyword set using a weight-based mixing function. The aggregated keyword set is presented to the user, in step 96 .
- aspects of the present invention provide techniques for augmented and cross-service tagging.
- 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.”
- 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.
- 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.
- 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 running 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 running 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” programming language or similar programming languages.
- the program code may run 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.
- 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).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- 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 run 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.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be run substantially concurrently, or the blocks may sometimes be run in the reverse order, depending upon the functionality involved.
- FIG. 7 is a high level block diagram showing an information processing system useful for implementing one embodiment of the present invention.
- the computer system includes one or more processors, such as processor 102 .
- the processor 102 is connected to a communication infrastructure 104 (e.g., a communications bus, cross-over bar, or network).
- a communication infrastructure 104 e.g., a communications bus, cross-over bar, or network.
- the computer system can include a display interface 106 that forwards graphics, text, and other data from the communication infrastructure 104 (or from a frame buffer not shown) for display on a display unit 108 .
- the computer system also includes a main memory 110 , preferably random access memory (RAM), and may also include a secondary memory 112 .
- the secondary memory 112 may include, for example, a hard disk drive 114 and/or a removable storage drive 116 , representing, for example, a floppy disk drive, a magnetic tape drive, or an optical disk drive.
- the removable storage drive 116 reads from and/or writes to a removable storage unit 118 in a manner well known to those having ordinary skill in the art.
- Removable storage unit 118 represents, for example, a floppy disk, a compact disc, a magnetic tape, or an optical disk, etc. which is read by and written to by removable storage drive 116 .
- the removable storage unit 118 includes a computer readable medium having stored therein computer software and/or data.
- the secondary memory 112 may include other similar means for allowing computer programs or other instructions to be loaded into the computer system.
- Such means may include, for example, a removable storage unit 120 and an interface 122 .
- Examples of such means may include a program package and package interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 120 and interfaces 122 which allow software and data to be transferred from the removable storage unit 120 to the computer system.
- the computer system may also include a communications interface 124 .
- Communications interface 124 allows software and data to be transferred between the computer system and external devices. Examples of communications interface 124 may include a modem, a network interface (such as an Ethernet card), a communications port, or a PCMCIA slot and card, etc.
- Software and data transferred via communications interface 124 are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received by communications interface 124 . These signals are provided to communications interface 124 via a communications path (i.e., channel) 126 .
- This communications path 126 carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link, and/or other communications channels.
- computer program medium “computer usable medium,” and “computer readable medium” are used to generally refer to media such as main memory 110 and secondary memory 112 , removable storage drive 116 , and a hard disk installed in hard disk drive 114 .
- Computer programs are stored in main memory 110 and/or secondary memory 112 . Computer programs may also be received via communications interface 124 . Such computer programs, when run, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when run, enable the processor 102 to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present invention relates to social tagging, and more specifically, to techniques for automatically generating and propagating tags in web 2.0 social networks and applications.
- Managing the increasing volume of information available from various sources has become a challenging task for computer users. The adoption of Web 2.0 social networks and applications, where many users can create content, has increased this challenge. Over time, social tagging has developed as a non-centralized alternative to organizing and giving semantics to content and as a way of sharing organizational structure among all users of various applications. Using tags, users apply keywords to elements in the application, which serve to relate these elements to others sharing the same subject.
- Social tagging serves a useful purpose because no single user would be able to manage the number of elements that normally populate a social application. Instead, every user visiting a web page or viewing a document has the chance to apply a tag, thus helping him and other users to search for it. This distributed intelligence is much more efficient than tagging by a single user. Examples of applications with social tagging include del.icio.us (social bookmarking); blogger.com (blogs), and virtually any current web 2.0, socially-oriented application.
- The benefits of social tagging depend on the existence of a large enough user population that is inclined to perform the tagging effort, and also depend on there being enough tags to converge on a meaningful and stable set of tags. It has been estimated that it takes about 100 tags to reach a meaningful and stable set of tags.
- Helping users manage the information available in email is also a growing challenge. For each message, a user must decide how to best categorize, mark, label, or remove important messages from the rest of the message to best facilitate later retrieval. Managing information in email currently primarily relies on manually filing messages into folders. Tagging has a benefit over folders in that a user can apply multiple tags to a single message without the message moving out of view, as is common in folders. Systems like Taglocity provide social tagging of email messages. When a user applies and shares the tag applied to a message, the recipient of the e-mail automatically gets the benefit of the tag applied by the former user into the message that was just received.
- According to one embodiment of the present invention, a method comprises: creating connections to multiple applications, each application having multiple entities; determining relationships between the entities within a single application and between entities across multiple applications; associating a tag with a selected one of the entities in a first one of the multiple applications; identifying entities in other applications besides the first application that are related to the selected entity, based on the determined relationships; and propagating the tag across multiple applications by associating the tag with the identified entities in the other applications.
- According to another embodiment of the present invention, a system comprises: a plurality of applications; a cross-service tagging mashup application connected to the plurality of applications; a relationship discovery component for discovering relationships between entities within individual applications and between entities across multiple applications; a tag initiation component for initiating tags; and a tag propagation component for propagating tags across multiple applications based on relationships discovered by the relationship discovery component.
- According to a further embodiment of the present invention, a method comprises: receiving a new email message sent to a user using an email application; comparing the new email message with previous emails sent to said user; generating a keyword set of related words, including words found in both the new and previous email messages; and presenting the keyword set to said user.
- According to another embodiment of the present invention, a computer program product for cross-service tagging comprises: a computer usable medium having computer usable program code embodied therewith, the computer usable program code comprising: computer usable program code configured to: create connections to multiple applications, each application having multiple entities; determine relationships between the entities within a single application and between entities across multiple applications; associate a tag with a selected one of the entities in a first one of the multiple applications; identify entities in other applications besides the first application that are related to the selected entity, based on the determined relationships; and propagate the tag across multiple applications by associating the tag with the identified entities in the other applications.
-
FIG. 1 shows a diagram of a system for cross-service tagging in accordance with an embodiment of the invention; -
FIG. 2 shows a diagram of an example of pulling tags from different applications into email messages in accordance to an embodiment of the invention; -
FIG. 3 shows a diagram of an example of pushing tags from email messages in accordance with an embodiment of the invention; -
FIG. 4 shows a flowchart of a method for cross-service tagging in accordance with an embodiment of the invention; -
FIG. 5 shows a diagram of a system for augmented tagging in email in accordance with an embodiment of the invention; -
FIG. 6 shows a flowchart of a method of augmented tagging for emails in accordance with an embodiment of the invention; and -
FIG. 7 shows a high level block diagram of an information processing system useful for implementing one embodiment of the present invention. - Embodiments of the invention provide ways to automatically propagate user-applied tags from one application to another across related entities belonging to different services, where relationships are discovered by the application itself.
- As described above, social tagging has a number of advantages. However, there is a common problem in current social network technologies. In particular, though content can be related across these applications, and indeed mashups can be implemented to share content from one application to other, the added value of tags is not normally shared across applications: the semantics given by the classification applied by users must be repeated in each application.
- For example, consider the social bookmarking application “del.icio.us” and the blogging application “Blogger.com”. Different users can independently post a bookmark pointing to a URL in de.licio.us, and publish a blog post announcing the discovery of an interesting URL in Blogger.com—the same link as posted in de.licio.us. Note that these two elements, the blog post and the bookmark, are obviously related, though they have no connection and thus represent two unrelated elements: not only are they of different nature and belong to different applications, but they lack semantics to help determine that they in fact represent the same thing (or a closely related one). If a user applied a tag on one of the two elements the other is not normally altered. Embodiments of the present invention leverage the user action of giving semantics to one element (tagging) in one application by making that connection available in other applications.
- A related idea was developed in GroupMe!, (Abel, Henze & Kraus, “GroupMe! Where Information Meets”, poster paper in WWW2008, April 2008, China—http://www2008.org/papers/pdf/p1147-abelA.pdf). In GroupMe!, a user manually groups entities, belonging—to the user criteria—to related topics. The user can then apply tags to the group, and these tags get propagated to the entities it contains in their respective applications. Embodiments of the present invention differ from this work in part in that the grouping context provided does not need to be manually created. Instead, with embodiments of the invention, tags propagate to related systems via implicit relationships as bound by an email message, email thread, activity tree, or other set of structured information.
- In some embodiments of the invention, a mechanism is created to aggregate tags from different social applications and merge the resulting set around related email messages. Additional embodiments of the invention expand this concept to: (a) function not only within email, but also in any other application where a mashup from other sources can exist; and (b) not only aggregate tags from other applications but also to propagate tags to other applications.
- In general, embodiments of the invention extend application mashups to automatically propagate user-applied tags from one application to another across related entities belonging to different services, where relationships are discovered by the application itself. Usually applications provide an application programming interface (API) allowing outside applications to retrieve and update content. These APIs serve as a means to building a mashup. For any existing mashup allowing multiple applications to request content from or data sources through their APIs, embodiments of the invention allow tags to be sent (propagated) through the same APIs when an association exists between any two or more elements across applications.
- One example that may be used to illustrate the invention is the situation of a blog post on blogger.com with links (URLs) to a few external websites. These URLs may have been bookmarked in del.icio.us, and may or may not, have tags on these bookmarks. Using embodiments of the invention, when a user applies a tag on the blog post, the blog application can apply these tags to the del.icio.us bookmarks.
- Another example happens when a user receives an email with a URL in BlueMail (http://bluemail.almaden.ibm.com). BlueMail offers the ability to tag messages for easier organization and later retrieval, and indeed allows tags to propagate from a dogear bookmark if it exists. Using embodiments of the invention, when the user tags this email, the email client (or server) can propagate the tag to the dogear bookmark on that URL.
- Furthermore, using embodiments of the invention, user tags can propagate through different services transparently to the user. These user-applied tags, which create “folksonomies” and add semantics to massively accessible items, would then propagate more broadly, thus enriching more content on more services than if a user had to manually select and apply tags to those entities.
- The details of the implementation will vary accordingly to each mashup and the APIs used. While particular examples are described herein, it will be appreciated that the concepts illustrated herein can be implemented on virtually any mashup.
- Various embodiments of the invention use the following elements:
-
- An application mashup bringing content from more than one source. For example, this may be an email client that interacts with blogging and social bookmarking applications.
- A way to discover and establish relationships among objects from those applications, which is described below in more detail. For example, from an email message with a URL a relationship can be established to the bookmark element in a social bookmarking application.
- The action of tagging one of the elements in the application. In some embodiments this may be done by a user, who applies a tag to help organize the contents he usually accesses, although other techniques are possible.
- With the above three elements present, the mashup application will not only apply the tag(s) on the selected entity (in the previous example, on the email message the user is explicitly tagging) but it will also propagate the tag to the other services in the mashup through their APIs.
-
FIG. 1 shows a diagram of asystem 10 for cross-service tagging in accordance with an embodiment of the invention. In thissystem 10, existing applications may include one ormore blogging applications 12,social bookmarking applications 14, andemail applications 16. Each of the applications includes an application programming interface (API) 18, 20 and 22 respectively. A cross-servicetagging mashup application 24 includes arelationship discovery unit 26, and a taggingactivity unit 28. The taggingactivity unit 28 includes atag initiation unit 30 and atag propagation unit 32. - As mentioned above, the details for accessing each service will vary depending on each particular API. Also, how to get a service's contents and how to propagate tags will vary depending on each particular API.
- How to establish relationships between the entities belonging to different applications, so that tags can be shared or propagated, will now be described. There can be several ways to do this. One way is URL matching. Whenever two entities point to the same URL there is clear connection between them. The URLs don't even need to be exact, but they can point to similar locations in the same server for instance. For example, the following might be considered as the same URL in terms of creating entities' relationships:
-
- www.myserver.com/news/november/tagging.html#footer
- www.myserver.com/news/november/tagging.html?printable=true
- www.myserver.com/news/november/
- Text analysis is another way to establish relationships between entities belonging to different applicants so that tags can be shared or propagated. This may include tools like text-classifying algorithms that can be used to capture “similarity” among entities, regardless of whether they are the same class of elements or not (for example, comparing email messages' text to blog posts' contents). If they are found similar enough so as to be considered that they refer to the same objects or entities, then a relationship through which tags are propagated can be established.
- In one example, tags may be pulled into email messages. Referring now to
FIG. 2 , there is shown a diagram of an example of pulling tags into email messages in accordance with an embodiment of the invention. Auser 34 receives and is reading anemail message 36, the email program queries for content related to the message on therelated blogging 30 and bookmarking 40 (such as del.icio.us) applications. It is found that other users previously tagged arelated blog post 42 as “research”, and arelated bookmark 44 as “lotus”. Theuser 34 may then be presented the two tags “lotus” and “research” as suggestions for theincoming email message 36, or have these tags automatically applied by the system. -
FIG. 3 shows a diagram of an example of pushing tags into email messages in accordance with an embodiment of the invention. If theuser 46 categorizes his/hermessage 52, at the same time the email program propagates this tag to other elements (which are public) and may include ablogging server 54 and abookmarking server 56, such as a del.icio.us server. In this example a tag forblog post 58 and asocial bookmark 60 are automatically generated. Then, in one action several different entities, available to different users, have been enriched with semantics given by a single user.Users email message 52 even when they have no access to it. Similarly, tags may also be from social bookmarks. Theblogging application 54 may discover the relationship between the URL bookmarked and a blog post mentioning the same URL. Then, at the time adel.icio.us user 50 tags this bookmark, thedel.icio.us service 56 can automatically propagate the tag to theblog post 58 in theblogging server 54. -
FIG. 4 shows a flowchart of amethod 60 for cross-service tagging in accordance with an embodiment of the invention. Instep 62, the cross-service tagging mashup application is connected to multiple applications. Relationships are then discovered between entities belonging to different one of the applications, instep 64. Instep 66, a selected entity in one of the applications is then tagged. Instep 68, entities in other applications related to the tagged entity are identified based on the discovered relationships. The tag may then be propagated to the related entities in the other applications, instep 70. - Embodiments of the invention directed to email applications pose special issues. For example, email messages are not universally shared with the public at large, unlike the popular web sites that feature tagging. Thus, to make tagging effective in the email context, is would be desirable to provide a way to easily apply tags to email messages within the much more limited number of users among which email is shared.
- Embodiments of the invention may combine several different mechanisms for suggesting or automatically applying tags to email messages to help organize email for later search and retrieval. By making it easier and more efficient to associate tags with email messages, the use of tagging within email will be encouraged, enabling the user to enjoy its benefits. Embodiments of the invention may integrate several different approaches for associating tags with messages including one of the following (or combinations thereof):
- leveraging prior tagging or indexing work on related messages
- exploiting others' tagging work on shared or related messages
- integrating analysis of the content of email messages to suggest meaningful tags for the message
- leveraging tags from other sources on components of the message (such as the sender or pointers to web pages included in the message)
- It will be appreciated that these concepts could be applied to applications besides email, such as any application that includes sharing information with a subset of users, such as shared document repositories or wikis.
- Embodiments of the invention may combine several different mechanisms for suggesting or automatically applying tags to email messages. Fundamentally, these embodiments encourage more usage of tagging by making it easier and more efficient to associate tags with email messages. There at least three ways to make it easier to apply tags to email messages:
- Automatically apply tags to email messages, thus obviating the need for any additional user effort. This approach makes the most sense when there is high confidence of the applicability of the tag to a message.
- Suggesting or recommending tags for email messages, thus reducing the effort to apply the tag to the message to a single click or comparable lightweight user interaction. This approach presents the most salient tags to the user, but relies on the user to confirm applying the tag(s) to the message.
- Applying a latent tag, so that the system associates a tag with an email message such that the tag can be useful in search, sort, or other information management techniques, but is not exposed to the user to avoid cluttering up the user interface. This approach can attach tags that could be useful in programmatic techniques for finding or sorting messages without burdening the user with more clutter or visual representation of the tags.
- The goal of all of these approaches is to increase the number of meaningful tags applied to email messages, thereby increasing the scope of benefits enabled by tagging, while requiring a minimal amount of extra effort from the user to apply the tags.
- An important aspect of some embodiments of the invention is to suggest or automatically apply relevant and useful tags to email messages. To do this, embodiments of the invention may use a combination of the above-described different approaches to help organize email for later search and retrieval.
- One of these approaches is leveraging prior tagging. If the user has previously tagged an earlier message that is related to the current one, then that tag should be suggested or applied to the current message. A simple example illustrates this approach. If the user tags message A with a tag “foo”, if message B arrives that is a reply to message A, then tag “foo” is also probably relevant to message B. As another example, if a user has already filed a message into a folder, it may also make sense to tag the message with a label related to the folder name to enable searching and sorting by tag as well as by folder name. In this approach, we are leveraging user effort that has already been applied to the email message to either suggest or automatically apply tags to messages.
- Another approach is exploiting others' tagging work on shared or related messages. This approach leverages other recipients' tagging work on a message to be shared with any other recipient of the message. Thus, if message C is sent to 7 people, and the first recipient tags it as “ProjectA”, then that tag could also be suggested to the other six recipients and the sender. This approach leverages the tagging work of any individual user to the others who are socially connected by sharing that message. This “social tagging” of email messages borrows directly from what happens in publicly shared Web 2.0 applications within the scope of email messages that are typically shared within a more limited scope of people.
- Because sharing email messages is more limited, embodiments of the invention extend the scope of social tagging in email to make it more useful. For example, combining with the earlier approach of leveraging prior tagging, if message D is a reply to message C, then “ProjectA” could be offered as a tag to all the recipients of message D as a way of leveraging the effort of one person's tag of the related message C.
- Another approach is integrating analysis of the content of email messages. A variety of methods (artificial intelligence, semantic data mining, etc.) have been used to identify keywords to represent the content of information. Examples of these methods include k-means or TF-IDF based text categorization, social-filtering, modified PageRank relation, latent semantic analysis, and neural network-based machine learning. These information clustering methods could also be used to suggest tags for email messages.
- Another approach is leveraging tags from other sources on components of the message. As tagging has gained in popularity, more and more applications are offering tagging capabilities. For example, within IBM, Fringe allows employees to tag people with topics that are associated with those people. Del.icio.us allows tagging web page URLs with topics associated with the web page. Blogger.com allows blog postings to be tagged. By extension, URLs referenced in an e-mail might refer to a blog that is in turn tagged. Email is a very common communication channel that involves people and could be used to send pointers to web sites. Embodiments of the invention take advantage of the people and web pointers included in an email message and the tags associated with those artifacts to suggest that these tags might also be appropriate for the email message as well. In this way, embodiments of the invention take advantage of tags applied in other applications and use them to suggest tags for email, offering some integration of tagging across applications.
- Perhaps the most flexibility and versatility comes from combining various approaches described above. For example, Artificial Intelligence (AI) techniques could identify that several threads of messages in an inbox share similar content. If a tag has been applied to any of those messages, the system could suggest that tag for any of the remaining messages. This combines leveraging prior tagging with analyzing the content of messages for similarity.
- As another example, imagine person Alpha who has message E with tag “ProjectB” applied to it in her email store. At the same time, person Beta is about to read another message F. AI techniques could be used to identify that message E and message F are on a similar topic. Thus, by a combination of artificial intelligence techniques and social tagging, person Alpha's “ProjectB” tag on Message E will be suggested as a tag for message F to person Beta. In other words, suggesting tags other people have applied to similar messages, where similarity is given by some AI or semantic analysis algorithm.
- At a more aggregated social level, applying artificial intelligence techniques to analyze a large body of tagged email data from a large number of people in the enterprise (perhaps scoped by business unit or job role) could identify relationships between specific tags and semantic concepts expressed in the text. Having arrived at this knowledge through analyzing data in the aggregate, the system could suggest a specific tag when it recognizes the semantic context in any email that is analyzed. This combination leverages social knowledge encoded in previous tagging behavior in the aggregate in a way that benefits individual users without actually having to share specific messages, but through shared semantic content from related messages.
- Using all of the methods above may generate many ways of augmenting tagging on a message beyond what will be useful. Furthermore, the system needs to decide whether to automatically apply the tag, suggest it as a tag, or apply it as a latent tag. An algorithm may be used to rank which tags are most meaningful or likely to be useful and the most appropriate way to apply the tag to the message. Having a rank ordering of candidate tags is also useful for an interface that presents users a short list of suggested tags and if the user selects a tag to apply, which removes that tag from the short list and the next candidate in rank is added to the short list.
- Embodiments of the invention may combine content analysis techniques, socially-based tagging, and the incorporation of related tags from other social software systems to produce categorization information which is presented to the user using a combination of means to consume them (automatically applied tags/folders, suggested tags/folders, search keywords). The advantage in this combination over the solutions listed above is that through providing a broader basis for suggestions, if any one dimension is lacking (e.g., not enough content for a good content analysis), the remaining sources may still provide a rich enough basis for suggestions.
-
FIG. 5 shows a diagram of asystem 72 for augmented tagging in email in accordance with an embodiment of the invention. Assume that a new message arrives in a user's inbox. The message may be compared against the corpus of this user's e-mails using aText Analysis algorithm 74, which produces a keyword set (A), shown as “bar baz” inFIG. 5 . As part of the text analysis, akeyword extraction component 76 may use pattern recognition techniques pull out structured data such as URLs, file objects, people's names, etc. that are then used as seeds into other systems to gather social tagging information into a keyword set (B), shown as “foo xyzzy” inFIG. 5 (e.g., a URL is recognized and cross-referenced with del.icio.us to collect tags from the community). - The message may then be checked by the
social tags component 78 for social tags, that is, tags that were already applied by other recipients of the message, and these are gathered into a keyword set (C), shown as “foo” inFIG. 5 . A weight mixingfunction component 80 may then use a weight-based mixing algorithm to take as input the three keyword sets (A, B, and C) and aggregate the values into a single set of keywords which may be presented to the user in different forms: -
- 1. As suggestions for tags to be applied to the message, as well as folders where the messages are to be moved. These are shown together with the message when the user opens it.
- 2. In the form of keywords that are not shown prominently for the users (in fact, they can be hidden altogether) but are used when the user performs a search.
- 3. Applied automatically in the form of tags, or by taking the action of placing the e-mail in folders matching the keywords (optionally bypassing the inbox altogether).
- In order to facilitate the scenario above, the following techniques could be used. A text-classifier algorithm (A) can be run on the emails contents retrieving important keywords or other lexical tokens that can be suggested as tags. These keywords can also be combined with the users' existing and applied tag set to better match its own language. Text-classifying algorithms can also separate a population of data (messages) into categories or “clusters”, and this classification can also be used to grab tags that other messages in the same cluster have received to be offered as suggestions. Known solutions like TF-IDF based ones (used by SwiftFile), k-means or others could be used for this approach.
- Another family of algorithms can gather socially-applied tags from applications outside of email to content embedded in the email message being analyzed (B). For example, an email with an embedded URL can trigger the search for tags applied in social bookmarking applications like del.icio.us, as each of them provide APIs or protocols to perform searches and retrieve information. This is the first embodiment of the invention as described above.
- A person being named (or just being part of the recipients set) can be also queried to a corporate or social directory and the tags that person has received by other users can be retrieved (C). Like other web applications, directory applications offer a variety of protocols to retrieve users' information, including the tags that each user has received. For example, a user that has been tagged with the name of the project he works on would cause messages he sends to have that word as a tag suggestion.
- These three categories can be combined too, as for example: embodiments may use the text classification algorithm (A), tags applied from other applications on components of the message (B), and tags applied to people associated with the message (C) create an abstract representation of the message content. That representation could be compared with representations of other messages that have been tagged. By transitivity, tags that other users have applied to similar messages (according to that abstract representation), can be used as suggestions for the incoming message.
-
FIG. 6 shows a flowchart of amethod 82 of augmented tagging for emails in accordance with an embodiment of the invention. Instep 84, a new email message is received by a user using an email application. The new email message is compared with previous emails sent to the user using a text analysis algorithm, instep 86. Instep 88, a first keyword set is generated including words found in both the new and previous email messages. In step 90, a second keyword set is generated using social tagging information from another system besides the email application. In step 92 a third keyword set is generated using tags applied by other recipients of the new email message. Instep 94, the first, second, and third keyword sets are aggregated into an aggregated keyword set using a weight-based mixing function. The aggregated keyword set is presented to the user, instep 96. - As can be seen from the above disclosure, embodiments of the invention provide techniques for augmented and cross-service tagging. 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 running 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 running 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” programming language or similar programming languages. The program code may run 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 below 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 run 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 run 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 flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be run substantially concurrently, or the blocks may sometimes be run in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
-
FIG. 7 is a high level block diagram showing an information processing system useful for implementing one embodiment of the present invention. The computer system includes one or more processors, such asprocessor 102. Theprocessor 102 is connected to a communication infrastructure 104 (e.g., a communications bus, cross-over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person of ordinary skill in the relevant art(s) how to implement the invention using other computer systems and/or computer architectures. - The computer system can include a
display interface 106 that forwards graphics, text, and other data from the communication infrastructure 104 (or from a frame buffer not shown) for display on adisplay unit 108. The computer system also includes amain memory 110, preferably random access memory (RAM), and may also include asecondary memory 112. Thesecondary memory 112 may include, for example, ahard disk drive 114 and/or aremovable storage drive 116, representing, for example, a floppy disk drive, a magnetic tape drive, or an optical disk drive. Theremovable storage drive 116 reads from and/or writes to aremovable storage unit 118 in a manner well known to those having ordinary skill in the art.Removable storage unit 118 represents, for example, a floppy disk, a compact disc, a magnetic tape, or an optical disk, etc. which is read by and written to byremovable storage drive 116. As will be appreciated, theremovable storage unit 118 includes a computer readable medium having stored therein computer software and/or data. - In alternative embodiments, the
secondary memory 112 may include other similar means for allowing computer programs or other instructions to be loaded into the computer system. Such means may include, for example, aremovable storage unit 120 and aninterface 122. Examples of such means may include a program package and package interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and otherremovable storage units 120 andinterfaces 122 which allow software and data to be transferred from theremovable storage unit 120 to the computer system. - The computer system may also include a
communications interface 124. Communications interface 124 allows software and data to be transferred between the computer system and external devices. Examples ofcommunications interface 124 may include a modem, a network interface (such as an Ethernet card), a communications port, or a PCMCIA slot and card, etc. Software and data transferred viacommunications interface 124 are in the form of signals which may be, for example, electronic, electromagnetic, optical, or other signals capable of being received bycommunications interface 124. These signals are provided tocommunications interface 124 via a communications path (i.e., channel) 126. Thiscommunications path 126 carries signals and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link, and/or other communications channels. - In this document, the terms “computer program medium,” “computer usable medium,” and “computer readable medium” are used to generally refer to media such as
main memory 110 andsecondary memory 112,removable storage drive 116, and a hard disk installed inhard disk drive 114. - Computer programs (also called computer control logic) are stored in
main memory 110 and/orsecondary memory 112. Computer programs may also be received viacommunications interface 124. Such computer programs, when run, enable the computer system to perform the features of the present invention as discussed herein. In particular, the computer programs, when run, enable theprocessor 102 to perform the features of the computer system. Accordingly, such computer programs represent controllers of the computer system. - From the above description, it can be seen that the present invention provides a system, computer program product, and method for implementing the embodiments of the invention. References in the claims to an element in the singular is not intended to mean “one and only” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described exemplary embodiment that are currently known or later come to be known to those of ordinary skill in the art are intended to be encompassed by the present claims. No claim element herein is to be construed under the provisions of 35 U.S.C.
section 112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or “step for.” - 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, elements, 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.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/752,016 US8914368B2 (en) | 2010-03-31 | 2010-03-31 | Augmented and cross-service tagging |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/752,016 US8914368B2 (en) | 2010-03-31 | 2010-03-31 | Augmented and cross-service tagging |
Publications (2)
Publication Number | Publication Date |
---|---|
US20110246482A1 true US20110246482A1 (en) | 2011-10-06 |
US8914368B2 US8914368B2 (en) | 2014-12-16 |
Family
ID=44710858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/752,016 Expired - Fee Related US8914368B2 (en) | 2010-03-31 | 2010-03-31 | Augmented and cross-service tagging |
Country Status (1)
Country | Link |
---|---|
US (1) | US8914368B2 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120004951A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Tracking metrics, goals and personal accomplishments using electronic messages |
US20120330951A1 (en) * | 2011-06-23 | 2012-12-27 | International Business Machines Corporation | Providing accurate recipient lists by correlating tagged keywords to recipient lists |
US20130007137A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Electronic Conversation Topic Detection |
CN103246690A (en) * | 2012-02-09 | 2013-08-14 | 吉菲斯股份有限公司 | Tag inheritance |
US20130218835A1 (en) * | 2012-03-25 | 2013-08-22 | Think Computer Corporation | Method and System for Storing, Categorizing and Distributing Information Concerning Relationships Between Data |
US20140046773A1 (en) * | 2012-08-09 | 2014-02-13 | Yahoo! Inc. | Method and system for displaying relevant advertisements based on characteristic tags |
US20140289258A1 (en) * | 2011-10-31 | 2014-09-25 | Parag M. Joshi | Email tags |
US20150120743A1 (en) * | 2010-10-27 | 2015-04-30 | Facebook, Inc. | Organizing Messages in a Messaging System Using Social Network Information |
US9116984B2 (en) | 2011-06-28 | 2015-08-25 | Microsoft Technology Licensing, Llc | Summarization of conversation threads |
US20150331865A1 (en) * | 2014-05-16 | 2015-11-19 | International Business Machines Corporation | Management of online community merge events |
US9720965B1 (en) * | 2013-08-17 | 2017-08-01 | Benjamin A Miskie | Bookmark aggregating, organizing and retrieving systems |
US9800529B2 (en) | 2010-11-12 | 2017-10-24 | Facebook, Inc. | Organizing conversation threads based on social information |
US10110541B2 (en) * | 2013-10-17 | 2018-10-23 | International Business Machines Corporation | Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window |
CN109766415A (en) * | 2019-01-18 | 2019-05-17 | 广东小天才科技有限公司 | book directory positioning method and system |
WO2019133638A1 (en) * | 2017-12-29 | 2019-07-04 | Realwear, Inc. | Voice tagging of video while recording |
US10796697B2 (en) | 2017-01-31 | 2020-10-06 | Microsoft Technology Licensing, Llc | Associating meetings with projects using characteristic keywords |
US11159469B2 (en) * | 2018-09-12 | 2021-10-26 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
US11675824B2 (en) | 2015-10-05 | 2023-06-13 | Yahoo Assets Llc | Method and system for entity extraction and disambiguation |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594845B2 (en) * | 2010-09-24 | 2017-03-14 | International Business Machines Corporation | Automating web tasks based on web browsing histories and user actions |
US10606658B2 (en) | 2016-03-22 | 2020-03-31 | International Business Machines Corporation | Approach to recommending mashups |
US11100438B2 (en) | 2016-10-21 | 2021-08-24 | Microsoft Technology Licensing, Llc | Project entity extraction with efficient search and processing of projects |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070016575A1 (en) * | 2005-07-14 | 2007-01-18 | Microsoft Corporation | Consolidating local and remote taxonomies |
US20070150487A1 (en) * | 2005-12-22 | 2007-06-28 | Microsoft Corporation | Inferred relationships from user tagged content |
US20070174247A1 (en) * | 2006-01-25 | 2007-07-26 | Zhichen Xu | Systems and methods for collaborative tag suggestions |
US20080228749A1 (en) * | 2007-03-13 | 2008-09-18 | Microsoft Corporation | Automatic tagging of content based on a corpus of previously tagged and untagged content |
US20080276177A1 (en) * | 2007-05-03 | 2008-11-06 | Microsoft Corporation | Tag-sharing and tag-sharing application program interface |
US20080282198A1 (en) * | 2007-05-07 | 2008-11-13 | Brooks David A | Method and sytem for providing collaborative tag sets to assist in the use and navigation of a folksonomy |
US7454414B2 (en) * | 2005-08-30 | 2008-11-18 | International Business Machines Corporation | Automatic data retrieval system based on context-traversal history |
US20090006285A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Content-based tagging of rss feeds and e-mail |
US7478105B2 (en) * | 2004-10-26 | 2009-01-13 | International Business Machines Corporation | E-mail based Semantic Web collaboration and annotation |
US20090043789A1 (en) * | 2007-08-08 | 2009-02-12 | Gupta Puneet K | Central Storage Repository and Methods for Managing Tags Stored Therein and Information Associated Therewith |
US20090106307A1 (en) * | 2007-10-18 | 2009-04-23 | Nova Spivack | System of a knowledge management and networking environment and method for providing advanced functions therefor |
US20090119572A1 (en) * | 2007-11-02 | 2009-05-07 | Marja-Riitta Koivunen | Systems and methods for finding information resources |
US20090164634A1 (en) * | 2007-12-25 | 2009-06-25 | International Business Machines Corporation | Automatic Intranet and Internet Detection for Enhanced Browsing and Information Discovery within Collaborative Applications |
US20090287679A1 (en) * | 2008-05-14 | 2009-11-19 | International Business Machines Corporation | Evaluation of tamper resistant software system implementations |
US20100010982A1 (en) * | 2008-07-09 | 2010-01-14 | Broder Andrei Z | Web content characterization based on semantic folksonomies associated with user generated content |
US20100017419A1 (en) * | 2008-07-15 | 2010-01-21 | Fat Spaniel Technologies, Inc. | Systems and Methods for Distributed Asset Management Having Tagging Capabilities |
US20100064231A1 (en) * | 2008-09-11 | 2010-03-11 | Gupta Puneet K | System for Creating Associations Between Elements of a Message Application |
US20100070851A1 (en) * | 2008-09-17 | 2010-03-18 | International Business Machines Corporation | Method and system for providing suggested tags associated with a target web page for manipulation by a user |
US20100211535A1 (en) * | 2009-02-17 | 2010-08-19 | Rosenberger Mark Elliot | Methods and systems for management of data |
US20100223261A1 (en) * | 2005-09-27 | 2010-09-02 | Devajyoti Sarkar | System for Communication and Collaboration |
US8156154B2 (en) * | 2007-02-05 | 2012-04-10 | Microsoft Corporation | Techniques to manage a taxonomy system for heterogeneous resource domain |
US8468447B2 (en) * | 2008-02-28 | 2013-06-18 | Red Hat, Inc. | Tracking tag content by keywords and communities |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131013A1 (en) | 2002-01-07 | 2003-07-10 | Cameron Pope | Automated system and methods for determining relationships between information resources |
US8266218B2 (en) | 2004-02-12 | 2012-09-11 | International Business Machines Corporation | Automated electronic message filing system |
US20060074980A1 (en) | 2004-09-29 | 2006-04-06 | Sarkar Pte. Ltd. | System for semantically disambiguating text information |
US7574409B2 (en) | 2004-11-04 | 2009-08-11 | Vericept Corporation | Method, apparatus, and system for clustering and classification |
US7502785B2 (en) | 2006-03-30 | 2009-03-10 | Microsoft Corporation | Extracting semantic attributes |
US20080040126A1 (en) | 2006-08-08 | 2008-02-14 | Microsoft Corporation | Social Categorization in Electronic Mail |
US20090076887A1 (en) | 2007-09-16 | 2009-03-19 | Nova Spivack | System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment |
US20090119608A1 (en) | 2007-11-05 | 2009-05-07 | Scott David Huskey | Face and subject tagging with relationship indexing in files to enhance organization and usability |
-
2010
- 2010-03-31 US US12/752,016 patent/US8914368B2/en not_active Expired - Fee Related
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478105B2 (en) * | 2004-10-26 | 2009-01-13 | International Business Machines Corporation | E-mail based Semantic Web collaboration and annotation |
US20070016575A1 (en) * | 2005-07-14 | 2007-01-18 | Microsoft Corporation | Consolidating local and remote taxonomies |
US7454414B2 (en) * | 2005-08-30 | 2008-11-18 | International Business Machines Corporation | Automatic data retrieval system based on context-traversal history |
US20100223261A1 (en) * | 2005-09-27 | 2010-09-02 | Devajyoti Sarkar | System for Communication and Collaboration |
US20070150487A1 (en) * | 2005-12-22 | 2007-06-28 | Microsoft Corporation | Inferred relationships from user tagged content |
US20070174247A1 (en) * | 2006-01-25 | 2007-07-26 | Zhichen Xu | Systems and methods for collaborative tag suggestions |
US8156154B2 (en) * | 2007-02-05 | 2012-04-10 | Microsoft Corporation | Techniques to manage a taxonomy system for heterogeneous resource domain |
US20080228749A1 (en) * | 2007-03-13 | 2008-09-18 | Microsoft Corporation | Automatic tagging of content based on a corpus of previously tagged and untagged content |
US20080276177A1 (en) * | 2007-05-03 | 2008-11-06 | Microsoft Corporation | Tag-sharing and tag-sharing application program interface |
US20080282198A1 (en) * | 2007-05-07 | 2008-11-13 | Brooks David A | Method and sytem for providing collaborative tag sets to assist in the use and navigation of a folksonomy |
US20090006285A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Content-based tagging of rss feeds and e-mail |
US20090043789A1 (en) * | 2007-08-08 | 2009-02-12 | Gupta Puneet K | Central Storage Repository and Methods for Managing Tags Stored Therein and Information Associated Therewith |
US20090106307A1 (en) * | 2007-10-18 | 2009-04-23 | Nova Spivack | System of a knowledge management and networking environment and method for providing advanced functions therefor |
US20090119572A1 (en) * | 2007-11-02 | 2009-05-07 | Marja-Riitta Koivunen | Systems and methods for finding information resources |
US20090164634A1 (en) * | 2007-12-25 | 2009-06-25 | International Business Machines Corporation | Automatic Intranet and Internet Detection for Enhanced Browsing and Information Discovery within Collaborative Applications |
US8468447B2 (en) * | 2008-02-28 | 2013-06-18 | Red Hat, Inc. | Tracking tag content by keywords and communities |
US20090287679A1 (en) * | 2008-05-14 | 2009-11-19 | International Business Machines Corporation | Evaluation of tamper resistant software system implementations |
US20100010982A1 (en) * | 2008-07-09 | 2010-01-14 | Broder Andrei Z | Web content characterization based on semantic folksonomies associated with user generated content |
US20100017419A1 (en) * | 2008-07-15 | 2010-01-21 | Fat Spaniel Technologies, Inc. | Systems and Methods for Distributed Asset Management Having Tagging Capabilities |
US20100064231A1 (en) * | 2008-09-11 | 2010-03-11 | Gupta Puneet K | System for Creating Associations Between Elements of a Message Application |
US20100070851A1 (en) * | 2008-09-17 | 2010-03-18 | International Business Machines Corporation | Method and system for providing suggested tags associated with a target web page for manipulation by a user |
US20100211535A1 (en) * | 2009-02-17 | 2010-08-19 | Rosenberger Mark Elliot | Methods and systems for management of data |
Non-Patent Citations (1)
Title |
---|
Ying Ding, Elin Jacob, Michael Fried, Ioan Toma, Erjia Yan, schubert Foo and Stasa Milojevic, Upper Tag Ontology for Integrating Social Tagging Data, Journal of American Society for Information Science and Technology, vol. 61, Issue 3, pages 505-521, published December 2009. * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120004951A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Tracking metrics, goals and personal accomplishments using electronic messages |
US20160261547A1 (en) * | 2010-10-27 | 2016-09-08 | Facebook, Inc. | Organizing messages in a messaging system using social network information |
US9819634B2 (en) * | 2010-10-27 | 2017-11-14 | Facebook, Inc. | Organizing messages in a messaging system using social network information |
US20170118163A1 (en) * | 2010-10-27 | 2017-04-27 | Facebook, Inc. | Organizing messages in a messaging system using social network information |
US9590944B2 (en) * | 2010-10-27 | 2017-03-07 | Facebook, Inc. | Organizing messages in a messaging system using social network information |
US20150120743A1 (en) * | 2010-10-27 | 2015-04-30 | Facebook, Inc. | Organizing Messages in a Messaging System Using Social Network Information |
US9356905B2 (en) * | 2010-10-27 | 2016-05-31 | Facebook, Inc. | Organizing messages in a messaging system using social network information |
US9800529B2 (en) | 2010-11-12 | 2017-10-24 | Facebook, Inc. | Organizing conversation threads based on social information |
US20120330951A1 (en) * | 2011-06-23 | 2012-12-27 | International Business Machines Corporation | Providing accurate recipient lists by correlating tagged keywords to recipient lists |
US9563879B2 (en) * | 2011-06-23 | 2017-02-07 | International Business Machines Corporation | Providing accurate recipient lists by correlating tagged keywords to recipient lists |
US20130007137A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Electronic Conversation Topic Detection |
US9116984B2 (en) | 2011-06-28 | 2015-08-25 | Microsoft Technology Licensing, Llc | Summarization of conversation threads |
US20140289258A1 (en) * | 2011-10-31 | 2014-09-25 | Parag M. Joshi | Email tags |
US9690870B2 (en) * | 2011-10-31 | 2017-06-27 | Hewlett Packard Enterprise Development Lp | Email tags |
CN103246690A (en) * | 2012-02-09 | 2013-08-14 | 吉菲斯股份有限公司 | Tag inheritance |
US8832162B2 (en) * | 2012-03-25 | 2014-09-09 | Think Computer Corporation | Method and system for storing, categorizing and distributing information concerning relationships between data |
US20130218835A1 (en) * | 2012-03-25 | 2013-08-22 | Think Computer Corporation | Method and System for Storing, Categorizing and Distributing Information Concerning Relationships Between Data |
US20140046773A1 (en) * | 2012-08-09 | 2014-02-13 | Yahoo! Inc. | Method and system for displaying relevant advertisements based on characteristic tags |
US9720965B1 (en) * | 2013-08-17 | 2017-08-01 | Benjamin A Miskie | Bookmark aggregating, organizing and retrieving systems |
US10110541B2 (en) * | 2013-10-17 | 2018-10-23 | International Business Machines Corporation | Optimization of posting in social networks using content delivery preferences comprising hashtags that correspond to geography and a content type associated with a desired time window |
US20150331865A1 (en) * | 2014-05-16 | 2015-11-19 | International Business Machines Corporation | Management of online community merge events |
US10332217B2 (en) * | 2014-05-16 | 2019-06-25 | International Business Machines Corporation | Management of online community merge events |
US11675824B2 (en) | 2015-10-05 | 2023-06-13 | Yahoo Assets Llc | Method and system for entity extraction and disambiguation |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
US10796697B2 (en) | 2017-01-31 | 2020-10-06 | Microsoft Technology Licensing, Llc | Associating meetings with projects using characteristic keywords |
CN111512370A (en) * | 2017-12-29 | 2020-08-07 | 瑞欧威尔公司 | Voice tagging of video while recording |
US11074292B2 (en) * | 2017-12-29 | 2021-07-27 | Realwear, Inc. | Voice tagging of video while recording |
WO2019133638A1 (en) * | 2017-12-29 | 2019-07-04 | Realwear, Inc. | Voice tagging of video while recording |
US11159469B2 (en) * | 2018-09-12 | 2021-10-26 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
US20220141168A1 (en) * | 2018-09-12 | 2022-05-05 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
CN109766415A (en) * | 2019-01-18 | 2019-05-17 | 广东小天才科技有限公司 | book directory positioning method and system |
Also Published As
Publication number | Publication date |
---|---|
US8914368B2 (en) | 2014-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8914368B2 (en) | Augmented and cross-service tagging | |
Sauermann et al. | Semantic desktop 2.0: The gnowsis experience | |
AU2005231112B2 (en) | Methods and systems for structuring event data in a database for location and retrieval | |
US7930288B2 (en) | Knowledge extraction for automatic ontology maintenance | |
KR101501462B1 (en) | Unified Data Object Management System and the Method | |
US20150186478A1 (en) | Method and System for Tree Representation of Search Results | |
US20140358521A1 (en) | Capture services through communication channels | |
US20210240757A1 (en) | Automatic Detection and Transfer of Relevant Image Data to Content Collections | |
US20150046493A1 (en) | Access and management of entity-augmented content | |
Beel et al. | The architecture and datasets of Docear's Research paper recommender system | |
US20100211535A1 (en) | Methods and systems for management of data | |
US9043413B2 (en) | System and method for extracting, collecting, enriching and ranking of email objects | |
US9207831B2 (en) | Management of data on related websites | |
US8589433B2 (en) | Dynamic tagging | |
JP2013518322A (en) | Data feed total that can be adjusted based on topic | |
Khrouf et al. | EventMedia: A LOD dataset of events illustrated with media | |
US9104683B2 (en) | Enabling intelligent media naming and icon generation utilizing semantic metadata | |
US11106739B2 (en) | Document structures for searching within and across messages | |
JP2008217157A (en) | Automatic information organization device, method and program using operation history | |
Sohn et al. | Myngle: unifying and filtering web content for unplanned access between multiple personal devices | |
Pledge et al. | Process and progress: working with born-digital material in the Wendy Cope Archive at the British Library | |
Al-Barhamtoshy et al. | A data analytic framework for unstructured text | |
US8645381B2 (en) | Document taxonomy generation from tag data using user groupings of tags | |
US20090187576A1 (en) | Tag syndicates | |
Bojārs et al. | Interlinking the social web with semantics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BADENES, HERNAN;CERRUTI, JULIAN ARIEL;DILL, STEPHEN MICHAEL;AND OTHERS;SIGNING DATES FROM 20100310 TO 20100330;REEL/FRAME:024171/0584 |
|
AS | Assignment |
Owner name: SNAPCHAT, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:037573/0170 Effective date: 20151216 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.) |
|
AS | Assignment |
Owner name: SNAP INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:SNAPCHAT, INC.;REEL/FRAME:047689/0069 Effective date: 20160923 |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Expired due to failure to pay maintenance fee |
Effective date: 20181216 |