Particular embodiments generally relate to data processing, and more specifically to automatic translation of information.
Different communities, such as online communities, typically use some unique self-ascribed terms. Thus, when communicating across community boundaries, the meaning of some terms or other content may be lost, resulting in confusion or difficulty in communication. While some websites offer facilities for language translation, even including slang terms, or the translation of different standards, these approaches are limited.
In one embodiment, a method of controlling data translation between communities can include: receiving data from a first community in a second community, where the data has a tag associated therewith; searching a metadata dictionary in the second community for an entry corresponding to the tag; translating the received data to provide translated data using a community definition from the entry corresponding to the tag; and outputting the translated data to the second community.
A further understanding of the nature and the advantages of particular embodiments disclosed herein may be realized by reference to the remaining portions of the specification and the attached drawings.
Online communities can differ in assigning “tags” to particular audio/video (A/V), events, people, concepts, etc., to define attributes, interests, actions, and so on. Particular embodiments can include a method of aggregating such tags with their associated meaning inside a community to create a tag “dictionary” for the community. Accordingly, the dictionary can provide a community-specific categorization. A new member to the community can thus learn the definition of the tags from the dictionary. Further, particular embodiments can include a translator to convert tags given by different communities from one community to another community.
A tag is a relevant keyword or term associated with or assigned to a piece of information (e.g., a picture, a geographic map, a blog entry, a video clip, etc.) as a whole or partially (e.g., “timed tags” assigned to specific moment in time in a video), for purposes of keyword-based classification and search of information. Tags can be assigned to a piece of information or data by a user. Tags are typically used for resources, such as computer files, web pages, digital images, internet bookmarks, etc. (e.g., in social bookmarking services, in certain versions of web browsers, etc.). Typically, an item or piece of data can have one or more associated tags.
Particular embodiments can include creating, using, and maintaining a metadata dictionary of tags for use by a community (e.g., an online community) to categorize content, and maintain community boundaries (e.g., as defined by audio/video, events, people, concepts, etc.). This can be achieved by constraining information tagging according to such a metadata dictionary, and to allow building of the dictionary by community members. Particular embodiments can also include dictionary entries suitable in accounting for community skew/bias, and may also provide a translator for translating from one community to another community.
Communities may have self-ascribed unique terms, acronyms, definitions, etc., used to define attributes, members, interests, actions, emotions, communication, etc., and which may be known as community metadata tags. Thus, as new users touch or join the community, they typically want to understand and learn these community-specific terms. When such tags are defined into and accessible from a central community dictionary for use by the community, community skew and intent may also be inferred, measured, presented, and/or analyzed. Further, algorithms may be defined for translation between disparate communities having associated databases.
A community, or a designated representative thereof, can define concepts that while common to the community, may be differentiated from other communities. These concepts may be further dissected into attributes that are given specific designations or metadata tags. Such tags can be published to the community and/or a database, and also given hyperlinks that may be utilized for community postings or other communication or cross-correlation to other communities. A translator feature associated with the database or metadata dictionary can correlate hyperlinks and/or other definitions between communities. This translation may be automated based upon non-related information, such as data trends, demographic, geographic, consumer activity, and/or community composition information.
A plurality of entries can be included in metadata dictionary 304, such as entry 306. Entry 306 can include tag 308 and corresponding community definition 310. Further, a community access interface to metadata dictionary 304 can be included such that community members can update and view the community metadata dictionary. Also, metadata dictionary 304 may be implemented as a content addressable memory (CAM), static random access memory (SRAM), or any other suitable memory type, and including software implementations.
Accordingly, particular embodiments can utilize databases of images that are called different things by different people or communities. A metadata tag can be placed on a song, picture, color, etc., and be used in a metadata dictionary environment. In this fashion, a fly rod in one community (e.g., a fishing community) can be equated to a fishing pole without a reel in another community (e.g., a cross-stitching community). Thus, different interest groups or online communities can interact using a translation mechanism that is not strictly language-based.
For example, a metadata tag can be assigned by a “flicker” tag for organizing photographs for ease of search, may be assigned by a digital camera (e.g., a data file embedded in a picture), and may have, e.g., about 20 metadata tags per image. Such a flicker tag can be modified and defined by a user. When receiving an image and a user is in a particular group or online community, appropriate conversion can automatically be performed using such translation. In this fashion, translation may be based on characteristics of a social group, as opposed to being strictly language-based. Thus, the translation may be specifically related to metadata tags in particular embodiments. Further, metadata may be more than simply identifiers to pictures, but rather as to a group of code, and metadata definitions can be changed over time.
Although the description has been described with respect to particular embodiments thereof, these particular embodiments are merely illustrative, and not restrictive. For example, while particular metadata, tag, and communities have been described, any suitable metadata, tags, and/or communities can also be supported in particular embodiments.
Any suitable programming language can be used to implement the routines of particular embodiments including C, C++, Java, assembly language, etc. Different programming techniques can be employed such as procedural or object oriented. The routines can execute on a single processing device or multiple processors. Although the steps, operations, or computations may be presented in a specific order, this order may be changed in different particular embodiments. In some particular embodiments, multiple steps shown as sequential in this specification can be performed at the same time.
A “computer-readable medium” for purposes of particular embodiments may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, system, or device. The computer readable medium can be, by way of example only but not by limitation, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, system, device, propagation medium, or computer memory. Particular embodiments can be implemented in the form of control logic in software or hardware or a combination of both. The control logic, when executed by one or more processors, may be operable to perform that which is described in particular embodiments.
Particular embodiments may be implemented by using a programmed general purpose digital computer, by using application specific integrated circuits, programmable logic devices, field programmable gate arrays, optical, chemical, biological, quantum or nanoengineered systems, components and mechanisms may be used. In general, the functions of particular embodiments can be achieved by any means as is known in the art. Distributed, networked systems, components, and/or circuits can be used. Communication, or transfer, of data may be wired, wireless, or by any other means.
It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
Thus, while particular embodiments have been described herein, a latitude of modification, various changes and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of particular embodiments will be employed without a corresponding use of other features without departing from the scope and spirit as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit.