US20140280106A1 - Presenting comments from various sources - Google Patents
Presenting comments from various sources Download PDFInfo
- Publication number
- US20140280106A1 US20140280106A1 US14/288,701 US201414288701A US2014280106A1 US 20140280106 A1 US20140280106 A1 US 20140280106A1 US 201414288701 A US201414288701 A US 201414288701A US 2014280106 A1 US2014280106 A1 US 2014280106A1
- Authority
- US
- United States
- Prior art keywords
- comments
- comment
- document
- identified
- relating
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims description 51
- 238000012552 review Methods 0.000 description 60
- 230000008569 process Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/951—Indexing; Web crawling techniques
-
- G06F17/30864—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G06F17/30312—
Definitions
- a user may enter a search query into a search box of a browser and the browser may submit the search query to a search engine.
- the search engine may identify documents that match the search query, rank the documents based on various factors, and return a ranked list of documents to the user.
- the user may select a document from the list and request the document.
- a browser may retrieve the requested document and display the document to the user in a browser window.
- a method, performed by one or more server devices may include providing a plurality of databases, associated with the one or more server devices, that store comments of different types, where each of the databases may store a respective one or more of the different types of comments, and where each of the comments may relate to a document in a group of documents.
- the method may further include receiving, via a processor of the one or more server devices and from a client device, a request for comments relating to a particular document; searching, using a processor of the one or more server devices, one or more of the databases to identify comments relating to the particular document; and providing, using a processor of the one or more server devices, the identified comments to the client device for presentation in connection with the particular document.
- a system may include a first database to store comments relating to documents, where the comments in the first database may originate from a first source; a second database to store comments relating to documents, where the comments in the second database may originate from a second source, where the first source is different from the second source; and one or more server devices.
- the one or more server devices may include means for receiving, from a client device, a request for comments relating to a particular document, means for searching at least one of the first database or the second database to identify comments relating to the particular document, and means for providing, to the client device, the identified comments for presentation in connection with the particular document.
- a system may include a first database to store comments relating to documents; a second database to store blog posts; and one or more devices to: analyze a group of the blog posts to identify the documents to which the blog posts relate, store the group of blog posts, as comments, in the first database in association with the documents to which the blog posts relate, receive, from a client device, a request for comments relating to a particular document, search the first database to identify comments relating to the particular document, and present, to the client device, the identified comments for presentation in connection with the particular document.
- a system may include one or more databases to store comments relating to documents.
- the comments may originate from first and second sources, where the comments from the first source may include comments received from users via commenting functionality associated with browsers installed on client devices, and the comments from the second source may include comments obtained independent of the commenting functionality associated with the browsers installed on the client devices.
- the system may also include one or more server devices to receive a request for comments relating to a particular document, search at least one of the one or more databases to identify comments relating to the particular document, and provide the identified comments for presentation in connection with the particular document.
- FIG. 1 is a diagram illustrating an overview of an exemplary implementation described herein;
- FIG. 2 is a diagram of an exemplary environment in which systems and methods described herein may be implemented
- FIG. 3 is a diagram of exemplary components of a client or a server of FIG. 2 ;
- FIG. 4 is a diagram of functional components of the server of FIG. 2 ;
- FIG. 5 is a diagram of functional components of the comments component of FIG. 4 ;
- FIG. 6 is a diagram of exemplary fields that may be provided within the comments database of FIG. 4 ;
- FIG. 7 is a flowchart of an exemplary process for creating a comment
- FIGS. 8 and 9 are diagrams of examples of creating a comment
- FIG. 10 is a flowchart of an exemplary process for populating the comments database of FIG. 4 with blog posts;
- FIG. 11 is a diagram of an example of associating a blog post with a document
- FIG. 12 is a flowchart of an exemplary process for presenting a comment in connection with a document.
- FIGS. 13-15 are diagrams of examples of presenting a comment.
- a “comment,” as used herein, may include text (e.g., styled or markup text, such as HyperText Markup Language (HTML)), audio data, video data, and/or image data that provides an opinion of, or otherwise remarks upon, the contents of a document or a portion of a document.
- text e.g., styled or markup text, such as HyperText Markup Language (HTML)
- audio data e.g., audio data, video data, and/or image data that provides an opinion of, or otherwise remarks upon, the contents of a document or a portion of a document.
- One example of a comment may include a document whose sole purpose is to contain the opinion/remark.
- Another example of a comment may include a blog post.
- Yet another example of a comment may include a web page or a news article that remarks upon an item (e.g., a product, a service, a company, a web site, a person, a geographic location, or something else that can be remarked upon).
- An item e.g., a product, a service, a company, a web site, a person, a geographic location, or something else that can be remarked upon.
- a further example of a comment may include a comment that remarks upon another comment.
- a “document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product.
- a document may include, for example, an e-mail, a web site, a file, a combination of files, one or more files with embedded links to other files, a news group posting, a news article, a blog, a business listing, an electronic version of printed text, a web advertisement, etc.
- a common document is a web page.
- Documents often include textual information and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.).
- a “link,” as the term is used herein, is to be broadly interpreted to include any reference to/from a document from/to another document or another part of the same document.
- FIG. 1 is a diagram illustrating an overview of an exemplary implementation described herein.
- a server may collect various types of comments. These comments may include, as shown in FIG. 1 , web page comments, blog posts, news comments, product reviews, and business reviews.
- a web page comment may include a user's remark(s) and/or opinion(s) regarding web page information, such as a topic of all or a portion of that web page, an author or owner of that web page, another comment regarding that web page, or the like.
- a blog post may include a user's remark(s) and/or opinion(s) contained within a blog.
- the topic of a blog post may relate to any of various topics, such as a web page, a product, a business, a movie, the contents of another blog post of the blog, an author of the blog or a blog post, or the like.
- a news comment may include a user's remark(s) and/or opinion(s) regarding a news item, such as a news topic, a news article, a provider of the news article (e.g., publisher, author, etc.), another news comment associated with the news item, an author of the other news comment, or the like.
- a product review may include a user's remark(s) and/or opinion(s) regarding a particular product, such as a feature of the product, a reliability of the product, a provider of the product (e.g., seller, manufacturer, etc.), or the like.
- a business review may include a user's remark(s) and/or opinion(s) regarding a particular business, such as operations of the business, service(s) provided by the business, product(s) provided by the business, trustworthiness of the business, or the like.
- a client requests access to a web page about a particular topic.
- the client may send a request for that web page to a web page server that hosts the web page and a request for comments, regarding that web page, to the comments server.
- the web page server may provide the web page to the client.
- the comments server may identify comments relating to that web page and provide the comments to the client.
- the client may process the web page and comments and, for example, present the web page (WP) and comments (C) together on a display, as shown in FIG. 1 .
- comments e.g., web page comments, blog posts, news comments, product reviews, and business reviews.
- the description is not limited to these types of comments and may equally apply to other types of comments, such as movie reviews, food or recipe reviews, etc.
- FIG. 2 is a diagram of an exemplary environment 200 in which systems and methods described herein may be implemented.
- Environment 200 may include multiple clients 210 connected to multiple servers 220 - 240 via a network 250 .
- Two clients 210 and three servers 220 - 240 have been illustrated as connected to network 250 for simplicity. In practice, there may be more or fewer clients and servers.
- a client may perform a function of a server and a server may perform a function of a client.
- Clients 210 may include client entities.
- An entity may be defined as a device, such as a personal computer, a wireless telephone, a personal digital assistant (PDA), a lap top, or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executed by one of these devices.
- a client 210 may include a browser application that permits documents to be searched and/or accessed.
- Client 210 may also include software, such as a plug-in, an applet, a dynamic link library (DLL), or another executable object or process, that may operate in conjunction with (or be integrated into) the browser to obtain and display comments.
- DLL dynamic link library
- Client 210 may obtain the software from server 220 or from a third party, such as a third party server, disk, tape, network, CD-ROM, etc. Alternatively, the software may be pre-installed on client 210 . For the description to follow, the software will be described as integrated into the browser.
- the browser may provide a commenting function.
- the commenting function may permit a user to generate a comment regarding a document, permit the user to view a comment that was previously generated by the user or by other users, and/or permit the user to remove a comment from presentation via the browser (e.g., hide the comment from view).
- the commenting function may be turned on and off by the user.
- Servers 220 - 240 may include server entities that gather, process, search, and/or maintain documents in a manner described herein.
- server 220 may gather, process, and/or maintain comments that are associated with particular documents.
- Servers 230 and 240 may store or maintain comments and/or documents.
- servers 220 - 240 are shown as separate entities, it may be possible for one or more of servers 220 - 240 to perform one or more of the functions of another one or more of servers 220 - 240 .
- servers 220 - 240 may be possible that two or more of servers 220 - 240 are implemented as a single server. It may also be possible for a single one of servers 220 - 240 to be implemented as two or more separate (and possibly distributed) devices.
- Network 250 may include any type of network, such as a local area network (LAN), a wide area network (WAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN) or a cellular network), an intranet, the Internet, or a combination of networks.
- LAN local area network
- WAN wide area network
- PSTN Public Switched Telephone Network
- FIG. 3 is a diagram of exemplary components of a client or server entity (hereinafter called “client/server entity”), which may correspond to one or more of clients 210 and/or servers 220 - 240 .
- the client/server entity may include a bus 310 , a processor 320 , a main memory 330 , a read only memory (ROM) 340 , a storage device 350 , an input device 360 , an output device 370 , and a communication interface 380 .
- client/server entity may include additional, fewer, different, or differently arranged components than are illustrated in FIG. 3 .
- Bus 310 may include a path that permits communication among the components of the client/server entity.
- Processor 320 may include a processor, a microprocessor, or processing logic (e.g., an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA)) that may interpret and execute instructions.
- Main memory 330 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 320 .
- ROM 340 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 320 .
- Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive, or a removable form of memory, such as a flash memory.
- Input device 360 may include a mechanism that permits an operator to input information to the client/server entity, such as a keyboard, a mouse, a button, a pen, a touch screen, voice recognition and/or biometric mechanisms, etc.
- Output device 370 may include a mechanism that outputs information to the operator, including a display, a light emitting diode (LED), a speaker, etc.
- Communication interface 380 may include any transceiver-like mechanism that enables the client/server entity to communicate with other devices and/or systems. For example, communication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 250 .
- the client/server entity may perform certain operations relating to the processing of comments.
- the client/server entity may perform these operations in response to processor 320 executing software instructions contained in a computer-readable medium, such as memory 330 .
- a computer-readable medium may be defined as a logical or physical memory device.
- a logical memory device may include a space within a single physical memory device or spread across multiple physical memory devices.
- the software instructions may be read into memory 330 from another computer-readable medium, such as storage device 350 , or from another device via communication interface 380 .
- the software instructions contained in memory 330 may cause processor 320 to perform processes that will be described later.
- hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein.
- implementations described herein are not limited to any specific combination of hardware circuitry and software.
- FIG. 4 is a diagram of exemplary functional components of server 220 .
- the functional components of server 220 may be implemented by one or more hardware elements of server 220 , or by one or more software elements in combination with one or more hardware elements of server 220 .
- server 220 may include a comments component 410 , a business reviews database 420 , a product reviews database 430 , a news comments database 440 , a blog database 450 , a blog processor 460 , and a comments database 470 . While a particular number and arrangement of components are shown in FIG. 4 as being associated with server 220 , in practice, there may be more or fewer components. For example, there may be additional databases that may store comments relating to a particular context or category. Additionally, or alternatively, one or more of the components shown in FIG. 4 may be located external to and accessible by server 220 .
- databases 420 - 450 and/or 470 may be located external to and accessible by server 220 . Additionally, or alternatively, one or more of databases 420 - 450 and/or 470 may be combined into a single database. Additionally, or alternatively, blog processor 460 may be located external to, and operate in cooperation with, server 220 .
- Comments component 410 may interact with clients 210 to obtain and/or serve comments. For example, a user of a client 210 may access a particular document and generate a comment regarding all or a portion of the document. Client 210 may send the comment to comments component 410 .
- Comments component 410 may receive the comment provided by a client 210 in connection with the particular document. Comments component 410 may gather certain information regarding the comment, such as information regarding the author of the comment, a timestamp that indicates a date and/or time at which comment was created, the content of the comment, and/or a document identifier associated with the document, such as an address (e.g., a uniform resource locator (URL)) of the document. Comments component 410 may receive at least some of this information from client 210 . Comments component 410 may store the information regarding the comment in comments database 470 .
- information regarding the author of the comment such as information regarding the author of the comment, a timestamp that indicates a date and/or time at which comment was created, the content of the comment, and/or a document identifier associated with the document, such as an address (e.g., a uniform resource locator (URL)) of the document. Comments component 410 may receive at least some of this information from client 210 . Comments component 410 may store the information regarding
- Comments component 410 may also serve a comment in connection with a document accessed by a client 210 .
- comments component 410 may obtain a comment from business reviews database 420 , product reviews database 430 , news comments database 440 , blog database 450 , and/or comments database 470 and provide that comment to client 210 when client 210 accesses a document with which that comment is associated in one or more of these databases.
- FIG. 5 is a diagram of functional components of comments component 410 .
- comments component 410 may include front end 510 , business reviews processor 520 , product reviews processor 530 , news comments processor 540 , and comments processor 550 .
- comments component 410 may include fewer or additional functional components.
- Front end 510 may interact with clients 210 .
- front end 510 may receive requests for comments from clients 210 and present comments to clients 210 .
- Front end 510 may also determine to which one of processors 520 - 550 to send a request for comments. In other words, not all requests may be appropriate for all databases 420 - 450 and 470 .
- a request for comments relating to a particular business may not be appropriate for product reviews database 430 or news comments database 440 .
- a request for comments relating to a product may not be appropriate for business reviews database 420 or news comments database 440 .
- front end 510 may include a table that identifies to which processor(s) 520 - 550 to send a particular request for comments.
- front end 510 may send all requests for comments to all, or a subset, of processors 520 - 550 .
- Front end 510 may receive comments from one or more of processors 520 - 550 and format the comments for presentation to clients 210 .
- front end 510 may format the comments so that the comments have the same, or approximately the same, visual format.
- Business reviews processor 520 may receive requests from front end 510 and determine for which business to search for comments in business reviews database 420 .
- business reviews processor 520 may maintain a mapping of document identifiers to the businesses that are referred to by the documents associated with the document identifiers.
- a request, received from front end 510 may include a document identifier. Based on this document identifier and the mapping, business reviews processor 520 may identify a business.
- Business reviews processor 520 may use information regarding this business, such as the name of the business, to conduct a search for comments in business reviews database 420 .
- Business reviews processor 520 may provide the comments to front end 510 .
- Product reviews processor 530 may receive requests from front end 510 and determine for which product to search for comments in product reviews database 430 .
- product reviews processor 530 may maintain a mapping of product identifiers to the products that are referred to by the documents associated with the product identifiers.
- a request, received from front end 510 may include a document identifier. Based on this document identifier and the mapping, product reviews processor 530 may identify a product.
- Product reviews processor 530 may use information regarding this product, such as the product identifier or the name of the product, to conduct a search for comments in product reviews database 430 .
- Product reviews processor 530 may provide the comments to front end 510 .
- News comments processor 540 may receive requests from front end 510 and determine for which news item to search for comments in news comments database 440 .
- news comments processor 540 may maintain a mapping of news items (e.g., topics, news articles, etc.) to the documents that relate to the news items.
- a request, received from front end 510 may include a document identifier. Based on this document identifier and the mapping, news comments processor 540 may identify a news item.
- News comments processor 540 may use information regarding this news item, such as topic information, author information, information regarding a news article, etc., to conduct a search for comments in news comments database 440 .
- News comments processor 540 may provide the comments to front end 510 .
- Comments processor 550 may receive requests from front end 510 and determine for which document to search for comments in comments database 470 .
- a request, received from front end 510 may include a document identifier. Based on this document identifier, comments processor 550 may search for comments for the document corresponding to the document identifier. Comments processor 550 may provide the comments to front end 510 .
- business reviews database 420 may store comments regarding businesses.
- a comment regarding a particular business, in business reviews database 420 may include, for example, a user's remark(s) and/or opinion(s) regarding the business, such as operations of the business, service(s) provided by the business, product(s) provided by the business, trustworthiness of the business, or the like.
- the comments in business reviews database may be derived in different ways. For example, providers of yellow page listings may include comments regarding the provided business listings.
- Local search engines i.e., search engines performing local searches, such as Google Local or Yahoo!Local
- the comments stored in business reviews database 420 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments.
- the comments stored in business reviews database 420 may be stored in a format such that the comments are searchable by the name of a business or by, for example, an identifier associated with that business.
- Product reviews database 430 may store comments regarding products.
- a comment regarding a particular product, in product reviews database 430 may include, for example, a user's remark(s) and/or opinion(s) regarding the product, such as a feature of the product, a reliability of the product, a provider of the product (e.g., seller, manufacturer, etc.), or the like.
- the comments in product reviews database may be derived in different ways. For example, product search engines (e.g., Froogle, MySimon, ZDNet, ConsumerSearch, etc.) may accumulate and index comments regarding products in their indexes. Some companies available on the web (e.g., Epinions) accumulate comments regarding various products.
- the comments stored in product reviews database 430 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments.
- the comments stored in product reviews database 430 may be stored in a format such that the comments are searchable by, for example, the name of a product or by an identifier associated with that product.
- News comments database 440 may store comments regarding news items.
- a comment regarding a particular news item, in news comments database 440 may include, for example, a user's remark(s) and/or opinion(s) regarding a news topic, a news article, a provider of the news article (e.g., publisher, author, etc.), another news comment associated with the news item, an author of the other news comment, or the like.
- the comments in news comments database may be derived in different ways. For example, news search engines (e.g., Google News, Yahoo!News, etc.) may accumulate and index comments regarding news items in their indexes. Some news services available on the web (e.g., USAToday, The Washington Post, etc.) accumulate comments regarding various news items.
- the comments stored in news comments database 440 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments.
- the comments stored in news comments database 440 may be stored in a format such that the comments are searchable by, for example, topic or by an identifier associated with a news article.
- Blog database 450 may store comments contained in blog posts.
- a comment, in blog database 450 may include, for example, a user's remark(s) and/or opinion(s) contained within a blog.
- the topic of a blog post may relate to one or more of various topics, such as a web page, a product, a news item, a business, a movie, a particular food item, the contents of another blog post of the blog, an author of the blog or a blog post, or the like.
- the comments in blog database 450 may be derived in different ways. For example, a source of a blog site may provide the comments or the blogs site may be crawled to obtain the comments.
- the comments stored in blog database 450 may be stored in a format such that the comments are searchable by topic, author, or by an identifier associated with a document with which the comment is associated (e.g., a comment in a blog post may remark upon a particular document (e.g., web page) and may, therefore, be associated with that particular document).
- a comment in a blog post may remark upon a particular document (e.g., web page) and may, therefore, be associated with that particular document).
- Blog processor 460 may operate on the comments in blog database 450 and store the comments in comments database 470 .
- blog processor 460 may operate on the contents of blog database 450 offline to identify blog posts that relate to documents and store these blog posts as comments in comments database 470 .
- To identify blog posts that relate to documents blog processor 460 may determine whether a particular blog post includes one or more links and analyze the links to identify the documents to which the links point. If the particular blog post includes a single link, then blog processor 460 may associate the blog post with the document pointed to by the link. If the particular blog post includes multiple links, then blog processor 460 may select one (or more) of the links and associate the blog post with the document pointed to by the selected link.
- Comments database 470 may store comments regarding documents.
- a comment regarding a particular document, in comments database 470 may include, for example, a user's remark(s) and/or opinion(s) regarding a document, such as a topic of all or a portion of that document, an author or owner of that document, another comment regarding that document, or the like.
- the comments, in comments database 470 may be produced by clients 210 , delivered to comments component 410 , and stored in comments database 470 by comments component 410 .
- some of the comments, in comments database 470 may be derived from blog posts from blog database 450 .
- Comments database 420 may store information regarding comments.
- comments database 420 may include various fields that are separately searchable.
- Comments component 410 may search comments database 420 to identify comments associated with a particular author or a particular document.
- FIG. 6 is a diagram of exemplary fields that may be provided within comments database 420 .
- comments database 470 may include an author field 610 , a timestamp field 620 , a comment content 630 , a document identifier field 640 , and a rating(s) field 650 .
- comments database 470 may include additional or fewer fields.
- Author field 610 may store information regarding the author of the comment.
- author field 610 may store the name of the author (e.g., actual name or online name), an image of the author, a graphic associated with the author, the name of a geographic location of the author, or other information regarding the author.
- Timestamp field 620 may store the date and/or time that the comment was created or modified. The date/time for timestamp field 620 may be generated by client 210 at which the comment was created or modified, or may be generated by server 220 based on a date/time at which the comment or modification is received from client 210 . For a comment that has multiple revisions, timestamp field 620 may store the date and/or time that one or more, or all, of the revisions occurred.
- Comment content field 630 may store the content of the comment.
- the content of a comment may include text, video, image, and/or audio data.
- comment content field 630 may store the actual content of the comment.
- comment content field 630 may store a pointer to a storage location where the actual content of the comment is stored.
- Document identifier field 640 may store an address (e.g., a URL), or another type of unique identifier, for the document for which the comment was created.
- Rating(s) field 570 may store a rating for the comment.
- a rating may be based on user feedback regarding the comment. For example, users may be permitted to rate a comment (favorably or unfavorably). These ratings may be used to determine whether and/or how to present the comment in connection with a particular document.
- a single rating may be maintained for a comment. That single rating may be used to determine whether and/or how to present the comment in connection with any document with which the comment has been associated.
- a separate rating may be maintained for each document (or for a group of documents) with which the comment has been associated. In this case, the rating, associated with a particular document, may be used to determine whether to present the comment with that particular document.
- blog processor 460 may store a blog post in comments database 470 so that the blog post resembles comments stored in comments database 470 .
- blog processor 460 may store the name of the blog containing the blog post or the name of the author of the blog post as the author of the comment (e.g., in author field 610 ), the date that the blog post was posted as the timestamp for the comment (e.g., in timestamp field 620 ), the content of the blog post as the content of the comment (e.g., in comment content field 630 ), and/or an identifier of the document to which the blog post points as the document identifier for the comment (e.g., in document identifier field 640 ).
- FIG. 7 is a flowchart of an exemplary process for creating a comment.
- the process of FIG. 7 may be performed by one or more components within client 210 , server 220 , or a combination of client 210 and server 220 .
- the process may be performed by one or more components within another device or a group of devices separate from or including client 210 and/or server 220 .
- FIG. 7 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown in FIG. 7 .
- the process of FIG. 7 may include presenting a document to a user of client 210 (block 710 ).
- the user may access the document via a browser application operating on client 210 .
- the user might enter an address (e.g., a URL) into the address field of the browser, the user might select a document from a list of documents (e.g., a list of favorites or bookmarks), or the user might perform a search using a search engine and select a search result corresponding to the document.
- An option to provide a comment regarding the document may be presented (block 720 ).
- the browser may include a user interface item (e.g., a button, a menu item, etc.) that may permit the user to turn on and turn off the commenting function provided by the browser.
- the user may select this user interface item to create a comment, to view a comment, and/or to remove a presented comment from view (e.g., hide the comment from view).
- FIG. 8 is a diagram of an exemplary user interface that may be presented to a user to permit the user to activate the commenting function of the browser.
- a browser window 800 may include an add-on toolbar 810 that includes a search box and a number of software buttons.
- toolbar 810 may include a comments button 820 .
- Comments button 820 may optionally include information regarding the number of comments (shown as “(2)” in FIG. 8 ) that have been previously associated with the document that the user is currently accessing (shown as “www.javatalk.com/tostrings.htm” in FIG. 8 ).
- Comments button 820 may permit the user to turn on and off the commenting function.
- selection of comments button 820 may cause a menu 830 to be presented.
- Menu 830 may include a number of options including, for example, an option to create a comment 832 , an option to show previously created comments 834 , and an option to hide the comments 836 .
- the user may select option 832 to generate a comment regarding the document that the user is currently accessing.
- the user may select option 834 to view a comment that was previously associated with the document that the user is currently accessing (e.g., FIG. 8 shows that two comments have been previously associated with the document).
- the user may select option 836 to remove any presented comments from view (e.g., hide the comments from view).
- selection of the option to provide a comment regarding the document may be received (block 730 ).
- the user might activate the commenting feature.
- the user might activate the commenting feature by selecting an item from a menu or by selecting a button on a toolbar.
- the user may select comments button 820 on toolbar 810 within browser window 800 .
- a user interface may be presented to the user for creating the comment (block 740 ).
- the browser may present the user with a user interface via which the user may create a comment regarding the document.
- the content of the comment may be received (block 750 ).
- the user may, via the user interface, input the content of the comment and/or insert a file as the content of the comment.
- FIG. 9 is a diagram of an exemplary user interface that may be presented to a user to permit the user to create a comment.
- browser window 800 may present a user interface 900 via which the user may enter the contents of the comment.
- User interface 900 may include input section 910 , an option 920 to insert a file, a tags section 930 , and save/discard options 940 .
- Input section 910 may include an area into which the user may insert the contents of the comment (whether in the form of text, image data, video data, and/or audio data).
- Option 920 may permit the user to identify a file to be inserted into or attached to the comment.
- Tags section 930 may permit the user to identify keywords to associate with the comment.
- Save/discard options 940 may permit the user to select whether to save the comment or discard the comment without saving the comment.
- information associated with the comment may be stored (block 760 ).
- the browser of client 210 may send information associated with the comment to comments component 410 of server 220 .
- This information may include, for example, the name of the author of the comment (e.g., the user's name), a timestamp indicating the date and/or time that the comment was created, the content of the comment, and/or the document identifier for the document corresponding to the comment.
- Comments component 410 may create or update an entry in comments database 470 using this information.
- FIG. 10 is a flowchart of an exemplary process for populating comments database 470 with blog posts.
- the process of FIG. 10 may be performed by one or more components within server 220 , client 210 , or a combination of server 220 and client 210 .
- the process may be performed by one or more components within another device or a group of devices separate from or including server 220 and/or client 210 .
- FIG. 10 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown in FIG. 10 .
- the process of FIG. 10 may begin with the identification of a blog post that includes at least one link (block 1010 ).
- blog processor 460 may analyze the blog posts in blog database 450 to identify a blog post that includes one or more links.
- Blog processor 460 may identify a link within a blog post by looking, for example, for a particular identifier (e.g., tag) within the code of the blog post.
- blog processor 460 may analyze the contents of the blog post to identify the link(s) contained in the blog post.
- blog processor 460 may analyze the code of the blog post to identify tags that signify the presence of a link.
- one of the links within the blog post may be selected (block 1030 ).
- the goal in this block is to select the link associated with the document about which the blog post contains remarks.
- a blog post may include multiple links and some of these links may be associated with documents unrelated to the remarks within the blog post. Therefore, blog processor 460 may select one of the links corresponding to a document about which the blog post may include remarks. In one implementation, blog processor 460 may use one or more factors to select one of the links.
- a click through rate associated with each of the links may be used as a factor to select one of the links included in a blog post.
- a click through rate for a link may be defined as the number of selections (e.g., clicks) that the link received divided by the number of impressions that the link received, or may be defined, more simply, as the number of selections that the link obtained.
- Blog processor 460 may obtain information regarding the click through rates from several different sources that can track users' activities anonymously or with the users' express permission.
- blog processor 460 may obtain click through rates from an aggregator that may aggregate web feeds (e.g., Google Reader), from a browser add-on toolbar that may track a user's browser activity (e.g., Google Toolbar), from a traffic monitor that may generate statistics about visitors to web sites (e.g., Google Analytics), or from another source.
- blog processor 460 may use information regarding the click through rates to select one of the links. When a user selects a link in a blog post, the user may likely select the link that points to a document that is on topic with the blog post. By using the click through rates of the links to select one of the links, blog processor 460 may select the link leading to the document with content that best matches the content of the blog post.
- explicit user feedback may be used as a factor to select one of the links included in a blog post.
- the user may be given the opportunity to provide explicit feedback on that blog post.
- the user may indicate whether the blog post is meaningful (e.g., a positive vote) or not meaningful (e.g., a negative vote) to the user (with respect to the particular document) by selecting an appropriate voting button. This kind of feedback may be used to select one of the links of the blog post.
- blog processor 460 may select the link leading to the document with content that best matches the content of the blog post.
- the length of the address (e.g., URL) associated with each of the links may be used as a factor to select one of the links included in a blog post.
- Authors often include, within blog posts, links to a homepage of a company or a web site. The remarks, within a blog post containing a link to a homepage, are often not about that homepage.
- a homepage typically includes a “short” address (e.g., an address including not much more than a domain name). Documents with longer addresses may be more useful and more likely to be on the same topic as the topic of the blog post than documents with shorter addresses.
- the length of the address associated with a link may influence whether that link is selected.
- blog processor 460 may select the link leading to the document with content that best matches the content of the blog post.
- statistics regarding the documents pointed to by the links may be used as a factor to select one of the links included in a blog post.
- Some popular documents e.g., www.google.com
- a popular document may be identified as a document with a measure of popularity (e.g., a link-based score) above a popularity threshold.
- the measure of popularity of a document associated with a link may influence whether that link is selected.
- Unpopular documents may be more useful and more likely to be on the same topic as the topic of the blog post than popular documents.
- blog processor 460 may select the link leading to the document with content that best matches the content of the blog post.
- topic information which may include a comparison of the topics of the documents, pointed to by the links in a blog post, to the topic of the blog post, may be used as a factor to select one of the links included in the blog post.
- the topic information may be derived using a technique that analyzes the words in a document to determine the topic(s) associated the document, analyzes the words in the blog post to determine the topic(s) associated with the blog post, and compares the topics to determine whether there is a match.
- the topic information may be derived using another technique.
- topic information may influence whether a link is selected.
- server 220 may select the link leading to the document with content that best matches the content of the blog post.
- a link included in a blog post may be selected as a function of one or more factors. These one or more factors may include any of the factors identified above, whether taken alone or in combination with one or more other factors.
- This function may be represented as: F(f1, f2, . . . , fN), where N ⁇ 1, and where f# refers to a factor used by the function F.
- An example of a function that takes into account multiple ones of the factors identified above may be represented as: F(click through rate, user feedback, address length, document popularity, topic information).
- An example of a function that takes into account a single one of the factors identified above may be represented as: F(click through rate).
- the function may be used to generate a score for a link. A link may be selected based on its score (e.g., the link with the highest score may be selected for the comment).
- a threshold may be used to assist in making the link selection. For example, blog processor 460 may select the link with the highest score if the highest score exceeds the threshold. If the highest score does not exceed the threshold, blog processor 460 may select none of the links of the blog post.
- a threshold may be used in a different way, such as to indicate whether to process the blog post at all.
- blog processor 460 may process the blog post (e.g., to select a link) only if the scores for at least a subset of the links (or all of the links) exceed the threshold.
- blog processor 460 may select the link with the highest score if there is at least the particular gap between the highest score and the next-highest score. If there is not at least the particular gap between the highest score and the next-highest score, blog processor 460 may select none of the links of the blog post.
- information associated with the blog post may be stored as a comment in comments database 470 in connection with the document pointed to by the link (block 1040 ).
- blog processor 460 may store the blog post, or information regarding the blog post in comments database 470 in association with the document.
- an entry may be created (or updated), in comments database 470 , that identifies both the document and the blog post.
- blog processor 460 may store a blog post in comments database 470 so that the blog post resembles comments stored in comments database 470 .
- blog processor 460 may store the name of the blog containing the blog post or the name of the author of the blog post as the author of the comment (e.g., in author field 610 ); blog processor 460 may store the date that the blog post was posted (or modified) as the timestamp for the comment (e.g., in timestamp field 620 ); blog processor 460 may store the content or a subset of the content of the blog post, or a link to the blog post or the blog containing the blog post, as the content of the comment (e.g., in comment content field 630 ); and/or blog processor 460 may store an identifier of the document to which the blog post points as the document identifier for the comment (e.g., in document identifier field 640 ).
- blog processor 460 may select one of the links in the blog post, this need not be the case. In another implementation, blog processor 460 may select more than one of the links, and may associate the blog post (containing these links) with each of the documents pointed to by a corresponding one of the selected links. This might be beneficial in situations where two or more of the links in the blog post obtain high scores and perhaps these scores are different enough from the scores of the next-highest scoring links (as described above).
- FIG. 11 is a diagram of an example of a blog post with links to a number of documents.
- a blog post (labeled as blog post 123 ) may include a number of links (labeled as link 1, link 2, and link 3).
- link 1 points to document A
- link 2 points to document B
- link 3 points to document C.
- Scores may be generated for each of the links.
- the score for link 1 is 0.3
- the score for link 2 is 0.8
- the score for link 3 is 0.2.
- the score for link 2 is the highest score among the links. Therefore, link 2 may be selected for blog post 123 .
- Blog post 123 may be associated with document B and this association may be stored in a memory, such as comments database 470 .
- FIG. 12 is a flowchart of an exemplary process for selecting a set of comments to present with a document.
- the process of FIG. 12 may be performed by one or more components within server 220 , client 210 , or a combination of server 220 and client 210 .
- the process may be performed by one or more components within another device or a group of devices separate from or including server 220 and/or client 210 .
- FIG. 12 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown in FIG. 12 .
- the process of FIG. 12 may include presenting a document to a user of client 210 (block 1210 ).
- the user may request access to the document via a browser application operating on client 210 .
- the user might enter an address (e.g., a URL) into the address field of the browser, the user might select a document from a list of documents (e.g., a list of favorites or bookmarks), or the user might perform a search using a search engine and select a search result corresponding to the document.
- client 210 may send a request to a server that hosts the document and receive the document from that server.
- An option to show comments associated with the document may be presented (block 1220 ).
- the browser may include a user interface item (e.g., a button, a menu item, etc.) that may permit the user to turn on and turn off the commenting function provided by the browser.
- the user may select this user interface item to create a comment, to view a comment, and/or to remove a presented comment from view (e.g., hide the comment from view).
- the showing of comments regarding a document may occur automatically.
- a comment, associated with a document may be automatically shown when the comment has a score above a particular threshold. Exemplary techniques for scoring comments are described below. Thus, in this implementation, a comment that does not have a sufficient score may not be automatically shown.
- FIG. 13 is a diagram of an exemplary user interface that may be presented to a user to permit the user to activate the commenting function of the browser.
- a browser window 1300 may include an add-on toolbar 1310 that includes a search box and a number of software buttons.
- toolbar 1310 may include a comments button 1320 .
- Comments button 1320 may optionally include information regarding the number of comments (shown as “(37)” in FIG. 13 ) that have been previously associated with the document that the user is currently accessing (shown as “www.climbingpages.com” in FIG. 13 ).
- Comments button 1320 may permit the user to turn on and off the commenting function.
- selection of comments button 1320 may cause a menu 1330 to be presented.
- Menu 1330 may include a number of options including, for example, an option to create a comment 1332 , an option to show previously created comments 1334 , and an option to hide the comments 1336 .
- the user may select option 1332 to generate a comment regarding the document that the user is currently accessing.
- the user may select option 1334 to view a comment that was previously associated with the document that the user is currently accessing (e.g., FIG. 13 shows that 37 comments have been previously associated with the document).
- the user may select option 1336 to remove any presented comments from view (e.g., hide the comments from view).
- selection of the option to provide a comment regarding the document may be received (block 1230 ).
- the user might activate the commenting feature.
- the user might activate the commenting feature by selecting an item from a menu or by selecting a button on a toolbar.
- the user may select comments button 1320 on toolbar 1310 within browser window 1300 , and/or may select option 1334 on menu 1330 .
- a comment(s) to show in connection with the document may be selected (block 1240 ).
- client 210 may send, to server 220 , a request for comments associated with the document.
- client 210 may send information regarding the document, such as an address of the document, to comments component 410 .
- Comments component 410 may access one or more of databases 420 - 440 and/or 470 using, for example, the address of the document to retrieve the comments associated with the document.
- front end 510 may determine to which one of processors 520 - 550 to send a request for comments. In other words, not all requests may be appropriate for all databases 420 - 440 and 470 . Front end 510 may identify to which of processor(s) 520 - 550 to send the request for comments. In another implementation, front end 510 may send the request for comments to all, or a subset, of processors 520 - 550 .
- business reviews processor 520 may receive the request from front end 510 and determine for which business to search for comments in business reviews database 420 .
- the request, received from front end 510 may include a document identifier.
- Business reviews processor 520 may map the document identifier to the business (or businesses) that is referred to by the document associated with the document identifier, and perform a search of business reviews database 420 for comments associated with this business.
- an index of business reviews database 420 may be constructed that lists the comments associated with each business. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document.
- the index for business reviews database 420 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below.
- Business reviews processor 520 may provide the comments to front end 510 .
- product reviews processor 530 may receive the request from front end 510 and determine for which product to search for comments in product reviews database 430 .
- the request, received from front end 510 may include a document identifier.
- Product reviews processor 530 may map the document identifier to the product (or products) that is referred to by the document associated with the document identifier, and perform a search of product reviews database 430 for comments associated with this product.
- an index of product reviews database 430 may be constructed that lists the comments associated with each product. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document.
- the index for product reviews database 430 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below.
- Product reviews processor 530 may provide the comments to front end 510 .
- news comments processor 540 may receive the request from front end 510 and determine for which news item to search for comments in news comments database 440 .
- the request, received from front end 510 may include a document identifier.
- News comments processor 540 may map the document identifier to the news item (or news items) that is referred to by the document associated with the document identifier, and perform a search of news comments database 440 for comments associated with this news item.
- an index of news comments database 440 may be constructed that lists the comments associated with each news item. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document.
- the index for news comments database 440 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below.
- News comments processor 540 may provide the comments to front end 510 .
- comments processor 550 may receive the request from front end 510 and search for comments, relating to the document, in comments database 470 .
- the request, received from front end 510 may include a document identifier.
- Comments processor 550 may search comments database 470 , based on the document identifier, to identify comments relating to the document associated with the document identifier.
- an index of comments database 470 may be constructed that lists the comments associated with each document. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document.
- the index for comments database 470 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below. Comments processor 550 may provide the comments to front end 510 .
- comments component 410 may select which comments to present and/or a manner for presenting the comments.
- comments component 410 may rank the comments in some manner. For example, comments component 410 may generate a score for each of the comments based on one or more factors associated with the comments.
- One factor for scoring a comment may include a rating of the comment.
- Explicit user feedback, in the form of a rating may be obtained for various comments.
- a user may be permitted to provide a rating with regard to a comment presented in connection with a particular document.
- the rating may indicate whether the user found the comment useful (positive rating) or not useful (negative rating) in connection with the particular document.
- the rating may indicate a degree of usefulness, such as a rating from 1 to 5. Not all user ratings need to be treated equally. For example, ratings from users may be weighted in some manner based on profiles of the users and/or a history of how the users' rating behavior has been in the past (e.g., how a user's past ratings compared to other users' ratings with regard to a particular comment or a particular set of comments).
- Comments component 410 may obtain the rating of a comment from rating(s) field 670 in comments database 470 (and possibly also available for comments in databases 420 - 440 ). Comments component 410 may use the rating factor to score a comment and use the score of a comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores). By using a rating to score a comment, comments in which users are interested (e.g., that users find useful) may be presented in connection with a document before or, instead of, comments in which users are not interested (e.g., that users did not find useful).
- Another factor for scoring a comment may include a rank of an author of the comment.
- the author of a comment may be ranked based on one or more factors, such as the quantity of comments created by the author, a user feedback rating associated with the author (e.g., users might provide feedback regarding comments created by a particular author and this information may be used to rate the author), or whether the author is the user (e.g., users are typically interested in being presented with their own comments).
- Comments component 410 may use the author ranking factor to score a comment and use the score of the comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores).
- the rank of an author may reflect the quality of the comment created by that author. Thus, by using an author ranking to score a comment, comments associated with higher ranked authors may be presented over comments associated with lower ranked authors.
- Comments component 410 may obtain the timestamp from timestamp field 620 in comments database 470 (and possibly also available for comments in databases 420 - 440 ). Comments component 410 may use the timestamp factor to score a comment and use the score of the comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores). More recent timestamps may reflect fresh, more relevant comments, and less recent timestamps may reflect stale, less relevant comments.
- timestamps reflecting comments with more modifications may infer more relevant comments than comments with fewer modifications.
- comments that are more recent (or that have more modifications), and thus, potentially more relevant may be presented over comments that are older (or that have fewer modifications), and potentially less relevant.
- a further factor for scoring a comment may be based on a determination of how likely a particular one of databases 420 - 440 or 470 is to have comments relevant to the document requested or accessed by client 210 .
- comments component 410 may determine, based on a particular document being requested or accessed by client 210 , a probability score that reflects a measure of relevance of each of databases 420 - 440 or 470 .
- Comments component 410 may make this determination based on information that comments component 410 obtains about the document being requested or accessed by client 210 .
- comments that are obtained from a higher scoring database 420 - 440 or 470 may be presented over comments that are associated with a lower scoring database 420 - 440 or 470 (thus, potentially less relevant to the document for which the comment is to be presented).
- Another factor for scoring a comment may be based on the language used in the comment. Different language signals may be used, such as whether the comment text is in English (or a language of the user), whether proper grammar is used, whether formal words (versus slang) are used, whether proper capitalization (as opposed to all capital letters) is used, etc. One or more of these signals may be used to generate a score for the comment. For example, comments not in English, comments using improper grammar, comments using slang, and/or comments using improper capitalization may not be meaningful to a user. By analyzing the language used in a comment and using a result of this analysis to score the comment, comments component 410 may improve a user's experience by presenting meaningful comments in connection with the particular document.
- a further factor for scoring a comment may be based on the document from which the comment originated.
- Systems may exist for ranking documents that contain comments. The ranking of a document that contains a comment may be used to generate a score for the comment. Some documents may be known to include high quality comments. These documents may be ranked accordingly. By using the ranking of a document that contains a comment to score the comment, comments component 410 may provide higher quality comments in connection with the particular document.
- implicit user feedback may be used as a factor to generate a score for a comment.
- certain signals may reflect a user's interest or disinterest in a comment. These signals may include information regarding the amount of time that a user kept a comment open, whether the user requested the entire comment or requested access to a document containing the comment, information regarding the amount of time that a user spent accessing the comment or a document containing the comment, etc.
- One or more of these signals may be used to generate a score for the comment. If users indicate, via their behavior, that a comment is meaningful (or not meaningful) to them with regard to a particular document with which the comment is presented, this may provide evidence that the comment contains content relevant (or not relevant) to the content of the particular document.
- comments component 410 may assure that comments with content that best matches the content of the particular document are presented in connection with the particular document.
- Comments component 410 may use one or more of the above-identified factors, and/or other factors, in scoring the comments associated with the document. Comments component 410 may select one or more of the comments based on the scores of the comments. For example, comments component 410 may select comments with scores above a threshold. Alternatively, or additionally, comments component 410 may select a number of highest scoring comments.
- the selected comment(s) may be presented (block 1250 ).
- comments component 410 may use the scores of the selected comment(s) to determine a manner for presenting the selected comment(s).
- comments component 410 may order the selected comment(s) based on their scores.
- Comments component 410 may format the comments to a particular format so that comments from one database 420 - 440 or 470 exactly, or approximately, matches comments from another database 420 - 440 or 470 . Comments component 410 may send the selected comment(s) to client 210 for presentation by the browser of client 210 .
- the browser may present one or more of the comments within the browser window in which the document is presented.
- the browser may present one or more of the comments within a window separate from the window in which the document is presented.
- the browser may create a frame (e.g., a regular frame or iframe) and insert information regarding one or more comments in the frame.
- the browser may use another mechanism for presenting one or more of the comments.
- FIGS. 14 and 15 are diagrams of an exemplary user interface via which a comment may be presented.
- browser window 1300 may include a document section 1410 and a comments section 1420 .
- Document section 1410 may include the content of the document that the user is currently accessing.
- Comments section 1420 may include the content of one or more comments.
- comments section 1420 may include a number of comments indication 1510 , a “next” button 1520 , an “add comment” button 1530 , and one or more comments 1540 , 1550 , 1560 , and 1570 .
- Number of comments indication 1510 may display how many comments are available for the document (shown as “37” in FIG. 15 ).
- “Next” button 1520 may provide a function for scrolling down to the next group of comments when a user clicks on “next” button 1520 .
- a “previous” button (not shown) may also be provided for scrolling up to the previous collection of comments when the user clicks on the “previous” button.
- “Add comments” button 1530 may allow a user to add a comment to the document. For example, when a user clicks on “add comment” button 1530 , a new window may appear, allowing a user to enter text and other information to create a new comment.
- An individual comment may include author and date information 1541 , comment content 1542 , “more” button 1543 , topic tags 1544 , rating option 1545 , and rating indication 1546 .
- Author and date information 1541 may include information about the author of the comment and the date and/or time on which the comment was created. As shown in FIG. 15 , the author information may include a name of the author who created the comment.
- Comment content 1442 may include text, image data, audio data, and/or video data that the author added to the comment. Only a portion of comment content 1542 may be visible in comments section 1410 so that other comments may be displayed at the same time.
- An individual comment may include “more” button 1543 . When a user clicks on “more” button 1543 , the window of the individual comment may expand to display the full contents of the individual comment.
- An individual comment may include tags 1544 that indicate topics associated with the comment.
- Tags 1544 may be clickable. When a user clicks on a tag, comments that are displayed in comments section 1420 may be changed to comments that include the tag that was clicked. In the example of FIG. 15 , if a user clicks on the “route finding” tag of comment 1540 , comments that are displayed may be changed to comments that include a “route finding” tag. This may allow a user to see comments associated with a particular topic.
- An individual comment may include rating option 1545 to provide a rating for the comment.
- the rating can be a favorable or unfavorable rating.
- rating indication 1546 may indicate how many users found the comment useful. In this example, a user may be considered to have found a comment useful if the user gave the comment a favorable rating.
- Comments presented in comment section 1420 may be presented in an order of ranking based on information received from comments component 410 .
- comments component 410 may specify the order for presenting the comments.
- the size of the individual comments that are displayed in comments section 1420 may be adjustable by dragging, with a pointing device, such as a mouse or a stylus, a line that separates two comments or separates comments section 1420 from document section 1410 .
- Implementations, described herein, may select comments from various sources to provide in connection with a document. These sources may be broadly classified into two groups: (1) comments received from users via commenting functionality associated with a browser installed on a client device; and (2) comments obtained independent of commenting functionality associated with a browser installed on a client device, such as comments received via a server-provided form, via e-mail, from blogs, etc.
- the selected comments may relate to the content of the document and, thus, provide useful information to a user who is accessing that document.
- comments component 410 may connect to comments database 470 .
- Business reviews database 420 , product reviews database 430 , and news comments database 440 may connect to comments database 470 via respective processors (like blog database 450 connecting to comments database 470 via blog processor 460 in FIG. 4 ). These processors may operate offline in a manner similar to blog processor 460 , as described above.
- a business processor may process the comments in business reviews database 420 to store the comments in comments database 470 so that the comments match, or approximately match, the other comments in comments database 470 ;
- a product processor may process the comments in product reviews database 430 to store the comments in comments database 470 so that the comments match, or approximately match, the other comments in comments database 470 ;
- a news processor may process the comments in news comments database 440 to store the comments in comments database 470 so that the comments match, or approximately match, the other comments in comments database 470 .
- comments component 410 may retrieve the comments from comments database 470 and send the comments to a requesting client 210 .
- selection of a button on a toolbar may cause a client 210 to request comments to present in connection with a document being accessed by client 210 .
- this process may be automatically performed whenever client 210 requests access to a document.
- client 210 may automatically send a request, to server 220 , for comments relevant to the document.
- exemplary graphical user interfaces have been described with respect to FIGS. 8 , 9 , and 13 - 15 .
- the graphical user interfaces may include more, fewer, or different pieces of information.
- logic or a “component” that performs one or more functions.
- the terms “logic” or “component” may include hardware, such as a processor, an ASIC, or a FPGA, or a combination of hardware and software (e.g., software running on a general purpose processor that transforms the general purpose processor to a special-purpose processor that functions according to the exemplary processes described above).
- scores are generated for links and/or comments.
- the scoring scheme has been described where higher scores are better than lower scores. This need not be the case. In another implementation, the scoring scheme may be switched to one in which lower scores are better than higher scores.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- Many techniques are available to users today to find information on the world wide web (“web”). For example, users often use web browsers and/or search engines to find information of interest.
- A user may enter a search query into a search box of a browser and the browser may submit the search query to a search engine. The search engine may identify documents that match the search query, rank the documents based on various factors, and return a ranked list of documents to the user. The user may select a document from the list and request the document. A browser may retrieve the requested document and display the document to the user in a browser window.
- However, the amount of information that is available to users on the web can be overwhelming. It is a difficult task to present users with information in which the users are interested.
- According to one implementation, a method, performed by one or more server devices, may include providing a plurality of databases, associated with the one or more server devices, that store comments of different types, where each of the databases may store a respective one or more of the different types of comments, and where each of the comments may relate to a document in a group of documents. The method may further include receiving, via a processor of the one or more server devices and from a client device, a request for comments relating to a particular document; searching, using a processor of the one or more server devices, one or more of the databases to identify comments relating to the particular document; and providing, using a processor of the one or more server devices, the identified comments to the client device for presentation in connection with the particular document.
- According to another implementation, a system may include a first database to store comments relating to documents, where the comments in the first database may originate from a first source; a second database to store comments relating to documents, where the comments in the second database may originate from a second source, where the first source is different from the second source; and one or more server devices. The one or more server devices may include means for receiving, from a client device, a request for comments relating to a particular document, means for searching at least one of the first database or the second database to identify comments relating to the particular document, and means for providing, to the client device, the identified comments for presentation in connection with the particular document.
- According to a further implementation, a system may include a first database to store comments relating to documents; a second database to store blog posts; and one or more devices to: analyze a group of the blog posts to identify the documents to which the blog posts relate, store the group of blog posts, as comments, in the first database in association with the documents to which the blog posts relate, receive, from a client device, a request for comments relating to a particular document, search the first database to identify comments relating to the particular document, and present, to the client device, the identified comments for presentation in connection with the particular document.
- According to another implementation, a system may include one or more databases to store comments relating to documents. The comments may originate from first and second sources, where the comments from the first source may include comments received from users via commenting functionality associated with browsers installed on client devices, and the comments from the second source may include comments obtained independent of the commenting functionality associated with the browsers installed on the client devices. The system may also include one or more server devices to receive a request for comments relating to a particular document, search at least one of the one or more databases to identify comments relating to the particular document, and provide the identified comments for presentation in connection with the particular document.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments described herein and, together with the description, explain these embodiments. In the drawings:
-
FIG. 1 is a diagram illustrating an overview of an exemplary implementation described herein; -
FIG. 2 is a diagram of an exemplary environment in which systems and methods described herein may be implemented; -
FIG. 3 is a diagram of exemplary components of a client or a server ofFIG. 2 ; -
FIG. 4 is a diagram of functional components of the server ofFIG. 2 ; -
FIG. 5 is a diagram of functional components of the comments component ofFIG. 4 ; -
FIG. 6 is a diagram of exemplary fields that may be provided within the comments database ofFIG. 4 ; -
FIG. 7 is a flowchart of an exemplary process for creating a comment; -
FIGS. 8 and 9 are diagrams of examples of creating a comment; -
FIG. 10 is a flowchart of an exemplary process for populating the comments database ofFIG. 4 with blog posts; -
FIG. 11 is a diagram of an example of associating a blog post with a document; -
FIG. 12 is a flowchart of an exemplary process for presenting a comment in connection with a document; and -
FIGS. 13-15 are diagrams of examples of presenting a comment. - The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
- For some documents, users might like to see comments regarding these documents. A “comment,” as used herein, may include text (e.g., styled or markup text, such as HyperText Markup Language (HTML)), audio data, video data, and/or image data that provides an opinion of, or otherwise remarks upon, the contents of a document or a portion of a document. One example of a comment may include a document whose sole purpose is to contain the opinion/remark. Another example of a comment may include a blog post. Yet another example of a comment may include a web page or a news article that remarks upon an item (e.g., a product, a service, a company, a web site, a person, a geographic location, or something else that can be remarked upon). A further example of a comment may include a comment that remarks upon another comment.
- A “document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product. A document may include, for example, an e-mail, a web site, a file, a combination of files, one or more files with embedded links to other files, a news group posting, a news article, a blog, a business listing, an electronic version of printed text, a web advertisement, etc. In the context of the Internet, a common document is a web page. Documents often include textual information and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.). A “link,” as the term is used herein, is to be broadly interpreted to include any reference to/from a document from/to another document or another part of the same document.
-
FIG. 1 is a diagram illustrating an overview of an exemplary implementation described herein. A server (shown as “comments server” inFIG. 1 ) may collect various types of comments. These comments may include, as shown inFIG. 1 , web page comments, blog posts, news comments, product reviews, and business reviews. A web page comment may include a user's remark(s) and/or opinion(s) regarding web page information, such as a topic of all or a portion of that web page, an author or owner of that web page, another comment regarding that web page, or the like. A blog post may include a user's remark(s) and/or opinion(s) contained within a blog. The topic of a blog post may relate to any of various topics, such as a web page, a product, a business, a movie, the contents of another blog post of the blog, an author of the blog or a blog post, or the like. A news comment may include a user's remark(s) and/or opinion(s) regarding a news item, such as a news topic, a news article, a provider of the news article (e.g., publisher, author, etc.), another news comment associated with the news item, an author of the other news comment, or the like. A product review may include a user's remark(s) and/or opinion(s) regarding a particular product, such as a feature of the product, a reliability of the product, a provider of the product (e.g., seller, manufacturer, etc.), or the like. A business review may include a user's remark(s) and/or opinion(s) regarding a particular business, such as operations of the business, service(s) provided by the business, product(s) provided by the business, trustworthiness of the business, or the like. - Assume that a client requests access to a web page about a particular topic. The client may send a request for that web page to a web page server that hosts the web page and a request for comments, regarding that web page, to the comments server. In response to the request for the web page, the web page server may provide the web page to the client. In response to the request for comments regarding the web page, the comments server may identify comments relating to that web page and provide the comments to the client. The client may process the web page and comments and, for example, present the web page (WP) and comments (C) together on a display, as shown in
FIG. 1 . - In the description to follow, certain types of comments will be described (e.g., web page comments, blog posts, news comments, product reviews, and business reviews). The description is not limited to these types of comments and may equally apply to other types of comments, such as movie reviews, food or recipe reviews, etc.
-
FIG. 2 is a diagram of anexemplary environment 200 in which systems and methods described herein may be implemented.Environment 200 may includemultiple clients 210 connected to multiple servers 220-240 via anetwork 250. Twoclients 210 and three servers 220-240 have been illustrated as connected to network 250 for simplicity. In practice, there may be more or fewer clients and servers. Also, in some instances, a client may perform a function of a server and a server may perform a function of a client. -
Clients 210 may include client entities. An entity may be defined as a device, such as a personal computer, a wireless telephone, a personal digital assistant (PDA), a lap top, or another type of computation or communication device, a thread or process running on one of these devices, and/or an object executed by one of these devices. In one implementation, aclient 210 may include a browser application that permits documents to be searched and/or accessed.Client 210 may also include software, such as a plug-in, an applet, a dynamic link library (DLL), or another executable object or process, that may operate in conjunction with (or be integrated into) the browser to obtain and display comments.Client 210 may obtain the software fromserver 220 or from a third party, such as a third party server, disk, tape, network, CD-ROM, etc. Alternatively, the software may be pre-installed onclient 210. For the description to follow, the software will be described as integrated into the browser. - In one implementation, as described herein, the browser may provide a commenting function. The commenting function may permit a user to generate a comment regarding a document, permit the user to view a comment that was previously generated by the user or by other users, and/or permit the user to remove a comment from presentation via the browser (e.g., hide the comment from view). The commenting function may be turned on and off by the user.
- Servers 220-240 may include server entities that gather, process, search, and/or maintain documents in a manner described herein. In one implementation,
server 220 may gather, process, and/or maintain comments that are associated with particular documents.Servers - While servers 220-240 are shown as separate entities, it may be possible for one or more of servers 220-240 to perform one or more of the functions of another one or more of servers 220-240. For example, it may be possible that two or more of servers 220-240 are implemented as a single server. It may also be possible for a single one of servers 220-240 to be implemented as two or more separate (and possibly distributed) devices.
-
Network 250 may include any type of network, such as a local area network (LAN), a wide area network (WAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN) or a cellular network), an intranet, the Internet, or a combination of networks.Clients 210 and servers 220-240 may connect to network 250 via wired and/or wireless connections. -
FIG. 3 is a diagram of exemplary components of a client or server entity (hereinafter called “client/server entity”), which may correspond to one or more ofclients 210 and/or servers 220-240. As shown inFIG. 3 , the client/server entity may include abus 310, aprocessor 320, amain memory 330, a read only memory (ROM) 340, astorage device 350, aninput device 360, anoutput device 370, and acommunication interface 380. In another implementation, client/server entity may include additional, fewer, different, or differently arranged components than are illustrated inFIG. 3 . -
Bus 310 may include a path that permits communication among the components of the client/server entity.Processor 320 may include a processor, a microprocessor, or processing logic (e.g., an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA)) that may interpret and execute instructions.Main memory 330 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution byprocessor 320.ROM 340 may include a ROM device or another type of static storage device that may store static information and instructions for use byprocessor 320.Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive, or a removable form of memory, such as a flash memory. -
Input device 360 may include a mechanism that permits an operator to input information to the client/server entity, such as a keyboard, a mouse, a button, a pen, a touch screen, voice recognition and/or biometric mechanisms, etc.Output device 370 may include a mechanism that outputs information to the operator, including a display, a light emitting diode (LED), a speaker, etc.Communication interface 380 may include any transceiver-like mechanism that enables the client/server entity to communicate with other devices and/or systems. For example,communication interface 380 may include mechanisms for communicating with another device or system via a network, such asnetwork 250. - As will be described in detail below, the client/server entity may perform certain operations relating to the processing of comments. The client/server entity may perform these operations in response to
processor 320 executing software instructions contained in a computer-readable medium, such asmemory 330. A computer-readable medium may be defined as a logical or physical memory device. A logical memory device may include a space within a single physical memory device or spread across multiple physical memory devices. - The software instructions may be read into
memory 330 from another computer-readable medium, such asstorage device 350, or from another device viacommunication interface 380. The software instructions contained inmemory 330 may causeprocessor 320 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software. -
FIG. 4 is a diagram of exemplary functional components ofserver 220. In one implementation, the functional components ofserver 220 may be implemented by one or more hardware elements ofserver 220, or by one or more software elements in combination with one or more hardware elements ofserver 220. - As shown in
FIG. 4 ,server 220 may include acomments component 410, a business reviewsdatabase 420, a product reviews database 430, anews comments database 440, ablog database 450, ablog processor 460, and acomments database 470. While a particular number and arrangement of components are shown inFIG. 4 as being associated withserver 220, in practice, there may be more or fewer components. For example, there may be additional databases that may store comments relating to a particular context or category. Additionally, or alternatively, one or more of the components shown inFIG. 4 may be located external to and accessible byserver 220. For example, one or more of databases 420-450 and/or 470 may be located external to and accessible byserver 220. Additionally, or alternatively, one or more of databases 420-450 and/or 470 may be combined into a single database. Additionally, or alternatively,blog processor 460 may be located external to, and operate in cooperation with,server 220. -
Comments component 410 may interact withclients 210 to obtain and/or serve comments. For example, a user of aclient 210 may access a particular document and generate a comment regarding all or a portion of the document.Client 210 may send the comment tocomments component 410. -
Comments component 410 may receive the comment provided by aclient 210 in connection with the particular document.Comments component 410 may gather certain information regarding the comment, such as information regarding the author of the comment, a timestamp that indicates a date and/or time at which comment was created, the content of the comment, and/or a document identifier associated with the document, such as an address (e.g., a uniform resource locator (URL)) of the document.Comments component 410 may receive at least some of this information fromclient 210.Comments component 410 may store the information regarding the comment incomments database 470. -
Comments component 410 may also serve a comment in connection with a document accessed by aclient 210. In one implementation, commentscomponent 410 may obtain a comment frombusiness reviews database 420, product reviews database 430,news comments database 440,blog database 450, and/orcomments database 470 and provide that comment toclient 210 whenclient 210 accesses a document with which that comment is associated in one or more of these databases. -
FIG. 5 is a diagram of functional components ofcomments component 410. As shown inFIG. 5 , commentscomponent 410 may includefront end 510, business reviews processor 520,product reviews processor 530,news comments processor 540, andcomments processor 550. In another implementation, commentscomponent 410 may include fewer or additional functional components. -
Front end 510 may interact withclients 210. For example,front end 510 may receive requests for comments fromclients 210 and present comments toclients 210.Front end 510 may also determine to which one of processors 520-550 to send a request for comments. In other words, not all requests may be appropriate for all databases 420-450 and 470. For example, a request for comments relating to a particular business may not be appropriate for product reviews database 430 ornews comments database 440. Similarly, a request for comments relating to a product may not be appropriate forbusiness reviews database 420 ornews comments database 440. In one implementation,front end 510 may include a table that identifies to which processor(s) 520-550 to send a particular request for comments. In another implementation,front end 510 may send all requests for comments to all, or a subset, of processors 520-550.Front end 510 may receive comments from one or more of processors 520-550 and format the comments for presentation toclients 210. In one implementation,front end 510 may format the comments so that the comments have the same, or approximately the same, visual format. - Business reviews processor 520 may receive requests from
front end 510 and determine for which business to search for comments inbusiness reviews database 420. In one implementation, business reviews processor 520 may maintain a mapping of document identifiers to the businesses that are referred to by the documents associated with the document identifiers. A request, received fromfront end 510, may include a document identifier. Based on this document identifier and the mapping, business reviews processor 520 may identify a business. Business reviews processor 520 may use information regarding this business, such as the name of the business, to conduct a search for comments inbusiness reviews database 420. Business reviews processor 520 may provide the comments tofront end 510. - Product reviews
processor 530 may receive requests fromfront end 510 and determine for which product to search for comments in product reviews database 430. In one implementation,product reviews processor 530 may maintain a mapping of product identifiers to the products that are referred to by the documents associated with the product identifiers. A request, received fromfront end 510, may include a document identifier. Based on this document identifier and the mapping,product reviews processor 530 may identify a product. Product reviewsprocessor 530 may use information regarding this product, such as the product identifier or the name of the product, to conduct a search for comments in product reviews database 430. Product reviewsprocessor 530 may provide the comments tofront end 510. - News comments
processor 540 may receive requests fromfront end 510 and determine for which news item to search for comments innews comments database 440. In one implementation,news comments processor 540 may maintain a mapping of news items (e.g., topics, news articles, etc.) to the documents that relate to the news items. A request, received fromfront end 510, may include a document identifier. Based on this document identifier and the mapping,news comments processor 540 may identify a news item. News commentsprocessor 540 may use information regarding this news item, such as topic information, author information, information regarding a news article, etc., to conduct a search for comments innews comments database 440. News commentsprocessor 540 may provide the comments tofront end 510. -
Comments processor 550 may receive requests fromfront end 510 and determine for which document to search for comments incomments database 470. A request, received fromfront end 510, may include a document identifier. Based on this document identifier, commentsprocessor 550 may search for comments for the document corresponding to the document identifier.Comments processor 550 may provide the comments tofront end 510. - Returning to
FIG. 4 ,business reviews database 420 may store comments regarding businesses. A comment regarding a particular business, inbusiness reviews database 420, may include, for example, a user's remark(s) and/or opinion(s) regarding the business, such as operations of the business, service(s) provided by the business, product(s) provided by the business, trustworthiness of the business, or the like. The comments in business reviews database may be derived in different ways. For example, providers of yellow page listings may include comments regarding the provided business listings. Local search engines (i.e., search engines performing local searches, such as Google Local or Yahoo!Local) may accumulate and index comments regarding businesses in their indexes. Companies, such as the Better Business Bureau and various companies available on the web (e.g., ratethatcompany.com, glassdoor.com, etc.) may provide comments regarding various businesses. The comments stored inbusiness reviews database 420 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments. In one implementation, the comments stored inbusiness reviews database 420 may be stored in a format such that the comments are searchable by the name of a business or by, for example, an identifier associated with that business. - Product reviews database 430 may store comments regarding products. A comment regarding a particular product, in product reviews database 430, may include, for example, a user's remark(s) and/or opinion(s) regarding the product, such as a feature of the product, a reliability of the product, a provider of the product (e.g., seller, manufacturer, etc.), or the like. The comments in product reviews database may be derived in different ways. For example, product search engines (e.g., Froogle, MySimon, ZDNet, ConsumerSearch, etc.) may accumulate and index comments regarding products in their indexes. Some companies available on the web (e.g., Epinions) accumulate comments regarding various products. Other companies available on the web (e.g., Amazon, Buy, etc.) sell products and permit their customers to submit comments regarding those products. The comments stored in product reviews database 430 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments. In one implementation, the comments stored in product reviews database 430 may be stored in a format such that the comments are searchable by, for example, the name of a product or by an identifier associated with that product.
- News comments
database 440 may store comments regarding news items. A comment regarding a particular news item, innews comments database 440, may include, for example, a user's remark(s) and/or opinion(s) regarding a news topic, a news article, a provider of the news article (e.g., publisher, author, etc.), another news comment associated with the news item, an author of the other news comment, or the like. The comments in news comments database may be derived in different ways. For example, news search engines (e.g., Google News, Yahoo!News, etc.) may accumulate and index comments regarding news items in their indexes. Some news services available on the web (e.g., USAToday, The Washington Post, etc.) accumulate comments regarding various news items. The comments stored innews comments database 440 may be obtained from one or more of these sources, or the web sites of one or more of these sources may be crawled to obtain the comments. In one implementation, the comments stored innews comments database 440 may be stored in a format such that the comments are searchable by, for example, topic or by an identifier associated with a news article. -
Blog database 450 may store comments contained in blog posts. A comment, inblog database 450, may include, for example, a user's remark(s) and/or opinion(s) contained within a blog. The topic of a blog post may relate to one or more of various topics, such as a web page, a product, a news item, a business, a movie, a particular food item, the contents of another blog post of the blog, an author of the blog or a blog post, or the like. The comments inblog database 450 may be derived in different ways. For example, a source of a blog site may provide the comments or the blogs site may be crawled to obtain the comments. In one implementation, the comments stored inblog database 450 may be stored in a format such that the comments are searchable by topic, author, or by an identifier associated with a document with which the comment is associated (e.g., a comment in a blog post may remark upon a particular document (e.g., web page) and may, therefore, be associated with that particular document). -
Blog processor 460 may operate on the comments inblog database 450 and store the comments incomments database 470. In one implementation,blog processor 460 may operate on the contents ofblog database 450 offline to identify blog posts that relate to documents and store these blog posts as comments incomments database 470. To identify blog posts that relate to documents,blog processor 460 may determine whether a particular blog post includes one or more links and analyze the links to identify the documents to which the links point. If the particular blog post includes a single link, thenblog processor 460 may associate the blog post with the document pointed to by the link. If the particular blog post includes multiple links, thenblog processor 460 may select one (or more) of the links and associate the blog post with the document pointed to by the selected link. -
Comments database 470 may store comments regarding documents. A comment regarding a particular document, incomments database 470, may include, for example, a user's remark(s) and/or opinion(s) regarding a document, such as a topic of all or a portion of that document, an author or owner of that document, another comment regarding that document, or the like. The comments, incomments database 470, may be produced byclients 210, delivered tocomments component 410, and stored incomments database 470 bycomments component 410. As explained above, some of the comments, incomments database 470, may be derived from blog posts fromblog database 450. -
Comments database 420 may store information regarding comments. In one implementation, commentsdatabase 420 may include various fields that are separately searchable.Comments component 410 may searchcomments database 420 to identify comments associated with a particular author or a particular document. -
FIG. 6 is a diagram of exemplary fields that may be provided withincomments database 420. As shown inFIG. 6 , commentsdatabase 470 may include anauthor field 610, atimestamp field 620, acomment content 630, adocument identifier field 640, and a rating(s)field 650. In other implementations, commentsdatabase 470 may include additional or fewer fields. -
Author field 610 may store information regarding the author of the comment. For example,author field 610 may store the name of the author (e.g., actual name or online name), an image of the author, a graphic associated with the author, the name of a geographic location of the author, or other information regarding the author.Timestamp field 620 may store the date and/or time that the comment was created or modified. The date/time fortimestamp field 620 may be generated byclient 210 at which the comment was created or modified, or may be generated byserver 220 based on a date/time at which the comment or modification is received fromclient 210. For a comment that has multiple revisions,timestamp field 620 may store the date and/or time that one or more, or all, of the revisions occurred. -
Comment content field 630 may store the content of the comment. For example, the content of a comment may include text, video, image, and/or audio data. In one implementation,comment content field 630 may store the actual content of the comment. In another implementation,comment content field 630 may store a pointer to a storage location where the actual content of the comment is stored.Document identifier field 640 may store an address (e.g., a URL), or another type of unique identifier, for the document for which the comment was created. - Rating(s) field 570 may store a rating for the comment. A rating may be based on user feedback regarding the comment. For example, users may be permitted to rate a comment (favorably or unfavorably). These ratings may be used to determine whether and/or how to present the comment in connection with a particular document. In one implementation, a single rating may be maintained for a comment. That single rating may be used to determine whether and/or how to present the comment in connection with any document with which the comment has been associated. In another implementation, a separate rating may be maintained for each document (or for a group of documents) with which the comment has been associated. In this case, the rating, associated with a particular document, may be used to determine whether to present the comment with that particular document.
- Returning to
FIG. 4 , in one implementation,blog processor 460 may store a blog post incomments database 470 so that the blog post resembles comments stored incomments database 470. In this situation,blog processor 460 may store the name of the blog containing the blog post or the name of the author of the blog post as the author of the comment (e.g., in author field 610), the date that the blog post was posted as the timestamp for the comment (e.g., in timestamp field 620), the content of the blog post as the content of the comment (e.g., in comment content field 630), and/or an identifier of the document to which the blog post points as the document identifier for the comment (e.g., in document identifier field 640). -
FIG. 7 is a flowchart of an exemplary process for creating a comment. In one implementation, the process ofFIG. 7 may be performed by one or more components withinclient 210,server 220, or a combination ofclient 210 andserver 220. In another implementation, the process may be performed by one or more components within another device or a group of devices separate from or includingclient 210 and/orserver 220. Also, whileFIG. 7 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown inFIG. 7 . - The process of
FIG. 7 may include presenting a document to a user of client 210 (block 710). For example, the user may access the document via a browser application operating onclient 210. To obtain access to the document, for example, the user might enter an address (e.g., a URL) into the address field of the browser, the user might select a document from a list of documents (e.g., a list of favorites or bookmarks), or the user might perform a search using a search engine and select a search result corresponding to the document. - An option to provide a comment regarding the document may be presented (block 720). For example, the browser may include a user interface item (e.g., a button, a menu item, etc.) that may permit the user to turn on and turn off the commenting function provided by the browser. The user may select this user interface item to create a comment, to view a comment, and/or to remove a presented comment from view (e.g., hide the comment from view).
-
FIG. 8 is a diagram of an exemplary user interface that may be presented to a user to permit the user to activate the commenting function of the browser. As shown inFIG. 8 , abrowser window 800 may include an add-ontoolbar 810 that includes a search box and a number of software buttons. In one implementation,toolbar 810 may include acomments button 820.Comments button 820 may optionally include information regarding the number of comments (shown as “(2)” inFIG. 8 ) that have been previously associated with the document that the user is currently accessing (shown as “www.javatalk.com/tostrings.htm” inFIG. 8 ). -
Comments button 820 may permit the user to turn on and off the commenting function. In one implementation, selection ofcomments button 820 may cause amenu 830 to be presented.Menu 830 may include a number of options including, for example, an option to create acomment 832, an option to show previously createdcomments 834, and an option to hide thecomments 836. The user may selectoption 832 to generate a comment regarding the document that the user is currently accessing. The user may selectoption 834 to view a comment that was previously associated with the document that the user is currently accessing (e.g.,FIG. 8 shows that two comments have been previously associated with the document). The user may selectoption 836 to remove any presented comments from view (e.g., hide the comments from view). - Returning to
FIG. 7 , selection of the option to provide a comment regarding the document may be received (block 730). For example, the user might activate the commenting feature. In one implementation, the user might activate the commenting feature by selecting an item from a menu or by selecting a button on a toolbar. As shown inFIG. 8 , for example, the user may selectcomments button 820 ontoolbar 810 withinbrowser window 800. - A user interface may be presented to the user for creating the comment (block 740). For example, in response to receiving selection of
comments button 720, the browser may present the user with a user interface via which the user may create a comment regarding the document. The content of the comment may be received (block 750). For example, the user may, via the user interface, input the content of the comment and/or insert a file as the content of the comment. -
FIG. 9 is a diagram of an exemplary user interface that may be presented to a user to permit the user to create a comment. As shown inFIG. 9 ,browser window 800 may present a user interface 900 via which the user may enter the contents of the comment. User interface 900 may includeinput section 910, anoption 920 to insert a file, atags section 930, and save/discardoptions 940.Input section 910 may include an area into which the user may insert the contents of the comment (whether in the form of text, image data, video data, and/or audio data).Option 920 may permit the user to identify a file to be inserted into or attached to the comment.Tags section 930 may permit the user to identify keywords to associate with the comment. Save/discardoptions 940 may permit the user to select whether to save the comment or discard the comment without saving the comment. - Returning to
FIG. 7 , information associated with the comment may be stored (block 760). For example, the browser ofclient 210 may send information associated with the comment tocomments component 410 ofserver 220. This information may include, for example, the name of the author of the comment (e.g., the user's name), a timestamp indicating the date and/or time that the comment was created, the content of the comment, and/or the document identifier for the document corresponding to the comment.Comments component 410 may create or update an entry incomments database 470 using this information. -
FIG. 10 is a flowchart of an exemplary process for populatingcomments database 470 with blog posts. In one implementation, the process ofFIG. 10 may be performed by one or more components withinserver 220,client 210, or a combination ofserver 220 andclient 210. In another implementation, the process may be performed by one or more components within another device or a group of devices separate from or includingserver 220 and/orclient 210. Also, whileFIG. 10 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown inFIG. 10 . - The process of
FIG. 10 may begin with the identification of a blog post that includes at least one link (block 1010). For example,blog processor 460 may analyze the blog posts inblog database 450 to identify a blog post that includes one or more links.Blog processor 460 may identify a link within a blog post by looking, for example, for a particular identifier (e.g., tag) within the code of the blog post. - It may be determined whether the blog post includes more than one link (block 1020). For example,
blog processor 460 may analyze the contents of the blog post to identify the link(s) contained in the blog post. In one exemplary implementation,blog processor 460 may analyze the code of the blog post to identify tags that signify the presence of a link. - If the blog post includes more than one link (block 1020—YES), one of the links within the blog post may be selected (block 1030). The goal in this block is to select the link associated with the document about which the blog post contains remarks. In practice, a blog post may include multiple links and some of these links may be associated with documents unrelated to the remarks within the blog post. Therefore,
blog processor 460 may select one of the links corresponding to a document about which the blog post may include remarks. In one implementation,blog processor 460 may use one or more factors to select one of the links. - For example, a click through rate associated with each of the links may be used as a factor to select one of the links included in a blog post. A click through rate for a link may be defined as the number of selections (e.g., clicks) that the link received divided by the number of impressions that the link received, or may be defined, more simply, as the number of selections that the link obtained.
Blog processor 460 may obtain information regarding the click through rates from several different sources that can track users' activities anonymously or with the users' express permission. For example,blog processor 460 may obtain click through rates from an aggregator that may aggregate web feeds (e.g., Google Reader), from a browser add-on toolbar that may track a user's browser activity (e.g., Google Toolbar), from a traffic monitor that may generate statistics about visitors to web sites (e.g., Google Analytics), or from another source. In one implementation,blog processor 460 may use information regarding the click through rates to select one of the links. When a user selects a link in a blog post, the user may likely select the link that points to a document that is on topic with the blog post. By using the click through rates of the links to select one of the links,blog processor 460 may select the link leading to the document with content that best matches the content of the blog post. - Alternatively, or additionally, explicit user feedback may be used as a factor to select one of the links included in a blog post. When a blog post is presented to a user in connection with presentation of a particular document, the user may be given the opportunity to provide explicit feedback on that blog post. For example, the user may indicate whether the blog post is meaningful (e.g., a positive vote) or not meaningful (e.g., a negative vote) to the user (with respect to the particular document) by selecting an appropriate voting button. This kind of feedback may be used to select one of the links of the blog post. If users indicate, via appropriate voting, that a blog post is meaningful (or not meaningful) with regard to a particular document with which the blog post is presented, this may provide evidence that the blog post contains content relevant (or not relevant) to the content of the particular document. By using explicit user feedback to select one of the links,
blog processor 460 may select the link leading to the document with content that best matches the content of the blog post. - Alternatively, or additionally, the length of the address (e.g., URL) associated with each of the links may be used as a factor to select one of the links included in a blog post. Authors often include, within blog posts, links to a homepage of a company or a web site. The remarks, within a blog post containing a link to a homepage, are often not about that homepage. A homepage typically includes a “short” address (e.g., an address including not much more than a domain name). Documents with longer addresses may be more useful and more likely to be on the same topic as the topic of the blog post than documents with shorter addresses. In one implementation, the length of the address associated with a link may influence whether that link is selected. By using information regarding the length of the addresses of the links to select one of the links,
blog processor 460 may select the link leading to the document with content that best matches the content of the blog post. - Alternatively, or additionally, statistics regarding the documents pointed to by the links (e.g., a measure of popularity of the documents, such as a link-based score of the documents) may be used as a factor to select one of the links included in a blog post. Some popular documents (e.g., www.google.com) are linked to by a lot of blog posts. This reduces the chances that a particular blog post actually contains remarks regarding these popular documents. A popular document may be identified as a document with a measure of popularity (e.g., a link-based score) above a popularity threshold. Thus, in one implementation, the measure of popularity of a document associated with a link may influence whether that link is selected. Unpopular documents may be more useful and more likely to be on the same topic as the topic of the blog post than popular documents. By using information regarding the measure of popularity of the documents pointed to by the links to select one of the links,
blog processor 460 may select the link leading to the document with content that best matches the content of the blog post. - Alternatively, or additionally, topic information, which may include a comparison of the topics of the documents, pointed to by the links in a blog post, to the topic of the blog post, may be used as a factor to select one of the links included in the blog post. The topic information may be derived using a technique that analyzes the words in a document to determine the topic(s) associated the document, analyzes the words in the blog post to determine the topic(s) associated with the blog post, and compares the topics to determine whether there is a match. Alternatively, the topic information may be derived using another technique. Thus, in one implementation, topic information may influence whether a link is selected. By using information, regarding a comparison of the topics of the documents pointed to by the links with the topic(s) of the blog post, to select one of the links,
server 220 may select the link leading to the document with content that best matches the content of the blog post. - Thus, a link included in a blog post may be selected as a function of one or more factors. These one or more factors may include any of the factors identified above, whether taken alone or in combination with one or more other factors. This function may be represented as: F(f1, f2, . . . , fN), where N≧1, and where f# refers to a factor used by the function F. An example of a function that takes into account multiple ones of the factors identified above may be represented as: F(click through rate, user feedback, address length, document popularity, topic information). An example of a function that takes into account a single one of the factors identified above may be represented as: F(click through rate). In any event, the function may be used to generate a score for a link. A link may be selected based on its score (e.g., the link with the highest score may be selected for the comment).
- A threshold may be used to assist in making the link selection. For example,
blog processor 460 may select the link with the highest score if the highest score exceeds the threshold. If the highest score does not exceed the threshold,blog processor 460 may select none of the links of the blog post. - Alternatively, or additionally, a threshold may be used in a different way, such as to indicate whether to process the blog post at all. For example,
blog processor 460 may process the blog post (e.g., to select a link) only if the scores for at least a subset of the links (or all of the links) exceed the threshold. - It may be possible for multiple links in a blog post to have similar scores (e.g., scores within a certain number or percentage of each other). Thus, it may be beneficial to select a highest scoring link when the score of the highest scoring link is different enough from the score of the next-highest scoring link. In one implementation, it may be determined whether there is at least a particular gap between the score of the highest scoring link and the score of the next-highest scoring link. For example,
blog processor 460 may select the link with the highest score if there is at least the particular gap between the highest score and the next-highest score. If there is not at least the particular gap between the highest score and the next-highest score,blog processor 460 may select none of the links of the blog post. - If the blog post includes only one link (block 1020—NO) or if the blog post includes multiple links and one of the links is selected (block 1020—YES, and block 1030), information associated with the blog post may be stored as a comment in
comments database 470 in connection with the document pointed to by the link (block 1040). For example,blog processor 460 may store the blog post, or information regarding the blog post incomments database 470 in association with the document. In one simple implementation, an entry may be created (or updated), incomments database 470, that identifies both the document and the blog post. - In one implementation, as described above,
blog processor 460 may store a blog post incomments database 470 so that the blog post resembles comments stored incomments database 470. In this situation,blog processor 460 may store the name of the blog containing the blog post or the name of the author of the blog post as the author of the comment (e.g., in author field 610);blog processor 460 may store the date that the blog post was posted (or modified) as the timestamp for the comment (e.g., in timestamp field 620);blog processor 460 may store the content or a subset of the content of the blog post, or a link to the blog post or the blog containing the blog post, as the content of the comment (e.g., in comment content field 630); and/orblog processor 460 may store an identifier of the document to which the blog post points as the document identifier for the comment (e.g., in document identifier field 640). - While it has been described that
blog processor 460 may select one of the links in the blog post, this need not be the case. In another implementation,blog processor 460 may select more than one of the links, and may associate the blog post (containing these links) with each of the documents pointed to by a corresponding one of the selected links. This might be beneficial in situations where two or more of the links in the blog post obtain high scores and perhaps these scores are different enough from the scores of the next-highest scoring links (as described above). -
FIG. 11 is a diagram of an example of a blog post with links to a number of documents. As shown inFIG. 11 , a blog post (labeled as blog post 123) may include a number of links (labeled aslink 1,link 2, and link 3). Assume thatlink 1 points to document A,link 2 points to document B, and link 3 points to document C. Scores may be generated for each of the links. As shown inFIG. 11 , the score forlink 1 is 0.3, the score forlink 2 is 0.8, and the score forlink 3 is 0.2. Thus, the score forlink 2 is the highest score among the links. Therefore, link 2 may be selected forblog post 123.Blog post 123 may be associated with document B and this association may be stored in a memory, such ascomments database 470. -
FIG. 12 is a flowchart of an exemplary process for selecting a set of comments to present with a document. In one implementation, the process ofFIG. 12 may be performed by one or more components withinserver 220,client 210, or a combination ofserver 220 andclient 210. In another implementation, the process may be performed by one or more components within another device or a group of devices separate from or includingserver 220 and/orclient 210. Also, whileFIG. 12 shows blocks in a particular order, the actual order may differ. For example, some blocks may be performed in parallel or in a different order than shown inFIG. 12 . - The process of
FIG. 12 may include presenting a document to a user of client 210 (block 1210). For example, the user may request access to the document via a browser application operating onclient 210. To request access to the document, for example, the user might enter an address (e.g., a URL) into the address field of the browser, the user might select a document from a list of documents (e.g., a list of favorites or bookmarks), or the user might perform a search using a search engine and select a search result corresponding to the document. In response to the user requesting access to the document,client 210 may send a request to a server that hosts the document and receive the document from that server. - An option to show comments associated with the document may be presented (block 1220). For example, the browser may include a user interface item (e.g., a button, a menu item, etc.) that may permit the user to turn on and turn off the commenting function provided by the browser. The user may select this user interface item to create a comment, to view a comment, and/or to remove a presented comment from view (e.g., hide the comment from view). In another implementation, the showing of comments regarding a document may occur automatically. For example, a comment, associated with a document, may be automatically shown when the comment has a score above a particular threshold. Exemplary techniques for scoring comments are described below. Thus, in this implementation, a comment that does not have a sufficient score may not be automatically shown.
-
FIG. 13 is a diagram of an exemplary user interface that may be presented to a user to permit the user to activate the commenting function of the browser. As shown inFIG. 13 , abrowser window 1300 may include an add-ontoolbar 1310 that includes a search box and a number of software buttons. In one implementation,toolbar 1310 may include acomments button 1320.Comments button 1320 may optionally include information regarding the number of comments (shown as “(37)” inFIG. 13 ) that have been previously associated with the document that the user is currently accessing (shown as “www.climbingpages.com” inFIG. 13 ). -
Comments button 1320 may permit the user to turn on and off the commenting function. In one implementation, selection ofcomments button 1320 may cause amenu 1330 to be presented.Menu 1330 may include a number of options including, for example, an option to create acomment 1332, an option to show previously createdcomments 1334, and an option to hide thecomments 1336. The user may selectoption 1332 to generate a comment regarding the document that the user is currently accessing. The user may selectoption 1334 to view a comment that was previously associated with the document that the user is currently accessing (e.g.,FIG. 13 shows that 37 comments have been previously associated with the document). The user may selectoption 1336 to remove any presented comments from view (e.g., hide the comments from view). - Returning to
FIG. 12 , selection of the option to provide a comment regarding the document may be received (block 1230). For example, the user might activate the commenting feature. In one implementation, the user might activate the commenting feature by selecting an item from a menu or by selecting a button on a toolbar. As shown inFIG. 13 , for example, the user may selectcomments button 1320 ontoolbar 1310 withinbrowser window 1300, and/or may selectoption 1334 onmenu 1330. - A comment(s) to show in connection with the document may be selected (block 1240). In one implementation,
client 210 may send, toserver 220, a request for comments associated with the document. For example,client 210 may send information regarding the document, such as an address of the document, tocomments component 410.Comments component 410 may access one or more of databases 420-440 and/or 470 using, for example, the address of the document to retrieve the comments associated with the document. - As explained above,
front end 510, forcomments component 410, may determine to which one of processors 520-550 to send a request for comments. In other words, not all requests may be appropriate for all databases 420-440 and 470.Front end 510 may identify to which of processor(s) 520-550 to send the request for comments. In another implementation,front end 510 may send the request for comments to all, or a subset, of processors 520-550. - In the case of business reviews, business reviews processor 520 may receive the request from
front end 510 and determine for which business to search for comments inbusiness reviews database 420. The request, received fromfront end 510, may include a document identifier. Business reviews processor 520 may map the document identifier to the business (or businesses) that is referred to by the document associated with the document identifier, and perform a search ofbusiness reviews database 420 for comments associated with this business. In another implementation, an index ofbusiness reviews database 420 may be constructed that lists the comments associated with each business. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document. In yet another implementation, the index forbusiness reviews database 420 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below. Business reviews processor 520 may provide the comments tofront end 510. - In the case of product reviews,
product reviews processor 530 may receive the request fromfront end 510 and determine for which product to search for comments in product reviews database 430. The request, received fromfront end 510, may include a document identifier. Product reviewsprocessor 530 may map the document identifier to the product (or products) that is referred to by the document associated with the document identifier, and perform a search of product reviews database 430 for comments associated with this product. In another implementation, an index of product reviews database 430 may be constructed that lists the comments associated with each product. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document. In yet another implementation, the index for product reviews database 430 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below. Product reviewsprocessor 530 may provide the comments tofront end 510. - In the case of news comments,
news comments processor 540 may receive the request fromfront end 510 and determine for which news item to search for comments innews comments database 440. The request, received fromfront end 510, may include a document identifier. News commentsprocessor 540 may map the document identifier to the news item (or news items) that is referred to by the document associated with the document identifier, and perform a search ofnews comments database 440 for comments associated with this news item. In another implementation, an index ofnews comments database 440 may be constructed that lists the comments associated with each news item. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document. In yet another implementation, the index fornews comments database 440 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below. News commentsprocessor 540 may provide the comments tofront end 510. - In the case of comments and/or blog posts, comments
processor 550 may receive the request fromfront end 510 and search for comments, relating to the document, incomments database 470. The request, received fromfront end 510, may include a document identifier.Comments processor 550 may searchcomments database 470, based on the document identifier, to identify comments relating to the document associated with the document identifier. In another implementation, an index ofcomments database 470 may be constructed that lists the comments associated with each document. The index may be constructed using existing indexing techniques. The constructed index may be used to search for one or more comments to provide in connection with the document. In yet another implementation, the index forcomments database 470 may only include those comments having a score above a certain threshold. Exemplary techniques for scoring comments are described below.Comments processor 550 may provide the comments tofront end 510. - Of the comments received from database(s) 420, 430, 440, and/or 470, comments
component 410 may select which comments to present and/or a manner for presenting the comments. In one implementation, commentscomponent 410 may rank the comments in some manner. For example, commentscomponent 410 may generate a score for each of the comments based on one or more factors associated with the comments. One factor for scoring a comment may include a rating of the comment. Explicit user feedback, in the form of a rating, may be obtained for various comments. A user may be permitted to provide a rating with regard to a comment presented in connection with a particular document. In one implementation, the rating may indicate whether the user found the comment useful (positive rating) or not useful (negative rating) in connection with the particular document. In another implementation, the rating may indicate a degree of usefulness, such as a rating from 1 to 5. Not all user ratings need to be treated equally. For example, ratings from users may be weighted in some manner based on profiles of the users and/or a history of how the users' rating behavior has been in the past (e.g., how a user's past ratings compared to other users' ratings with regard to a particular comment or a particular set of comments). -
Comments component 410 may obtain the rating of a comment from rating(s) field 670 in comments database 470 (and possibly also available for comments in databases 420-440).Comments component 410 may use the rating factor to score a comment and use the score of a comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores). By using a rating to score a comment, comments in which users are interested (e.g., that users find useful) may be presented in connection with a document before or, instead of, comments in which users are not interested (e.g., that users did not find useful). - Another factor for scoring a comment may include a rank of an author of the comment. The author of a comment may be ranked based on one or more factors, such as the quantity of comments created by the author, a user feedback rating associated with the author (e.g., users might provide feedback regarding comments created by a particular author and this information may be used to rate the author), or whether the author is the user (e.g., users are typically interested in being presented with their own comments).
Comments component 410 may use the author ranking factor to score a comment and use the score of the comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores). The rank of an author may reflect the quality of the comment created by that author. Thus, by using an author ranking to score a comment, comments associated with higher ranked authors may be presented over comments associated with lower ranked authors. - Yet another factor for scoring a comment may include a timestamp associated with the comment.
Comments component 410 may obtain the timestamp fromtimestamp field 620 in comments database 470 (and possibly also available for comments in databases 420-440).Comments component 410 may use the timestamp factor to score a comment and use the score of the comment to determine whether to present that comment (e.g., present only comments with scores above a threshold) and/or a manner in which to present the comments (e.g., present comments in an order based on their scores). More recent timestamps may reflect fresh, more relevant comments, and less recent timestamps may reflect stale, less relevant comments. In the case of comments with revisions, timestamps reflecting comments with more modifications may infer more relevant comments than comments with fewer modifications. Thus, by using a timestamp to score a comment, comments that are more recent (or that have more modifications), and thus, potentially more relevant, may be presented over comments that are older (or that have fewer modifications), and potentially less relevant. - A further factor for scoring a comment may be based on a determination of how likely a particular one of databases 420-440 or 470 is to have comments relevant to the document requested or accessed by
client 210. For example, commentscomponent 410 may determine, based on a particular document being requested or accessed byclient 210, a probability score that reflects a measure of relevance of each of databases 420-440 or 470.Comments component 410 may make this determination based on information that commentscomponent 410 obtains about the document being requested or accessed byclient 210. Thus, by using a probability score of databases 420-440 and 470 to score a comment, comments that are obtained from a higher scoring database 420-440 or 470 (thus, potentially more relevant to the document for which the comment is to be presented) may be presented over comments that are associated with a lower scoring database 420-440 or 470 (thus, potentially less relevant to the document for which the comment is to be presented). - Another factor for scoring a comment may be based on the language used in the comment. Different language signals may be used, such as whether the comment text is in English (or a language of the user), whether proper grammar is used, whether formal words (versus slang) are used, whether proper capitalization (as opposed to all capital letters) is used, etc. One or more of these signals may be used to generate a score for the comment. For example, comments not in English, comments using improper grammar, comments using slang, and/or comments using improper capitalization may not be meaningful to a user. By analyzing the language used in a comment and using a result of this analysis to score the comment, comments
component 410 may improve a user's experience by presenting meaningful comments in connection with the particular document. - A further factor for scoring a comment may be based on the document from which the comment originated. Systems may exist for ranking documents that contain comments. The ranking of a document that contains a comment may be used to generate a score for the comment. Some documents may be known to include high quality comments. These documents may be ranked accordingly. By using the ranking of a document that contains a comment to score the comment, comments
component 410 may provide higher quality comments in connection with the particular document. - Alternatively, or additionally, implicit user feedback may be used as a factor to generate a score for a comment. For example, certain signals may reflect a user's interest or disinterest in a comment. These signals may include information regarding the amount of time that a user kept a comment open, whether the user requested the entire comment or requested access to a document containing the comment, information regarding the amount of time that a user spent accessing the comment or a document containing the comment, etc. One or more of these signals may be used to generate a score for the comment. If users indicate, via their behavior, that a comment is meaningful (or not meaningful) to them with regard to a particular document with which the comment is presented, this may provide evidence that the comment contains content relevant (or not relevant) to the content of the particular document. By using the implicit user feedback to generate a score for a comment, comments
component 410 may assure that comments with content that best matches the content of the particular document are presented in connection with the particular document. -
Comments component 410 may use one or more of the above-identified factors, and/or other factors, in scoring the comments associated with the document.Comments component 410 may select one or more of the comments based on the scores of the comments. For example, commentscomponent 410 may select comments with scores above a threshold. Alternatively, or additionally, commentscomponent 410 may select a number of highest scoring comments. - The selected comment(s) may be presented (block 1250). For example, comments
component 410 may use the scores of the selected comment(s) to determine a manner for presenting the selected comment(s). In one implementation, commentscomponent 410 may order the selected comment(s) based on their scores. -
Comments component 410 may format the comments to a particular format so that comments from one database 420-440 or 470 exactly, or approximately, matches comments from another database 420-440 or 470.Comments component 410 may send the selected comment(s) toclient 210 for presentation by the browser ofclient 210. In one implementation, the browser may present one or more of the comments within the browser window in which the document is presented. In another implementation, the browser may present one or more of the comments within a window separate from the window in which the document is presented. In yet another implementation, the browser may create a frame (e.g., a regular frame or iframe) and insert information regarding one or more comments in the frame. In a further implementation, the browser may use another mechanism for presenting one or more of the comments. -
FIGS. 14 and 15 are diagrams of an exemplary user interface via which a comment may be presented. As shown inFIG. 14 ,browser window 1300 may include adocument section 1410 and acomments section 1420.Document section 1410 may include the content of the document that the user is currently accessing.Comments section 1420 may include the content of one or more comments. - As shown in
FIG. 15 ,comments section 1420 may include a number of comments indication 1510, a “next”button 1520, an “add comment”button 1530, and one ormore comments FIG. 15 , four comments are displayed. Number of comments indication 1510 may display how many comments are available for the document (shown as “37” inFIG. 15 ). “Next”button 1520 may provide a function for scrolling down to the next group of comments when a user clicks on “next”button 1520. A “previous” button (not shown) may also be provided for scrolling up to the previous collection of comments when the user clicks on the “previous” button. “Add comments”button 1530 may allow a user to add a comment to the document. For example, when a user clicks on “add comment”button 1530, a new window may appear, allowing a user to enter text and other information to create a new comment. - An individual comment may include author and date information 1541,
comment content 1542, “more”button 1543, topic tags 1544,rating option 1545, and rating indication 1546. Author and date information 1541 may include information about the author of the comment and the date and/or time on which the comment was created. As shown inFIG. 15 , the author information may include a name of the author who created the comment. Comment content 1442 may include text, image data, audio data, and/or video data that the author added to the comment. Only a portion ofcomment content 1542 may be visible incomments section 1410 so that other comments may be displayed at the same time. An individual comment may include “more”button 1543. When a user clicks on “more”button 1543, the window of the individual comment may expand to display the full contents of the individual comment. - An individual comment may include
tags 1544 that indicate topics associated with the comment.Tags 1544 may be clickable. When a user clicks on a tag, comments that are displayed incomments section 1420 may be changed to comments that include the tag that was clicked. In the example ofFIG. 15 , if a user clicks on the “route finding” tag ofcomment 1540, comments that are displayed may be changed to comments that include a “route finding” tag. This may allow a user to see comments associated with a particular topic. - An individual comment may include
rating option 1545 to provide a rating for the comment. In this example, the rating can be a favorable or unfavorable rating. By clicking on a particular rating identifier (smiley face for favorable rating and frowning face for unfavorable rating), the user may indicate what rating the user is giving for the comment. Rating indication 1546 may indicate how many users found the comment useful. In this example, a user may be considered to have found a comment useful if the user gave the comment a favorable rating. - Comments presented in
comment section 1420 may be presented in an order of ranking based on information received fromcomments component 410. For example, commentscomponent 410 may specify the order for presenting the comments. The size of the individual comments that are displayed incomments section 1420 may be adjustable by dragging, with a pointing device, such as a mouse or a stylus, a line that separates two comments or separatescomments section 1420 fromdocument section 1410. - Implementations, described herein, may select comments from various sources to provide in connection with a document. These sources may be broadly classified into two groups: (1) comments received from users via commenting functionality associated with a browser installed on a client device; and (2) comments obtained independent of commenting functionality associated with a browser installed on a client device, such as comments received via a server-provided form, via e-mail, from blogs, etc. The selected comments may relate to the content of the document and, thus, provide useful information to a user who is accessing that document.
- The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
- For example, while particular functional components have been described with regard to
FIG. 4 , these functional blocks might differ in another implementation. For example, in one implementation, commentscomponent 410 may connect tocomments database 470.Business reviews database 420, product reviews database 430, andnews comments database 440 may connect tocomments database 470 via respective processors (likeblog database 450 connecting tocomments database 470 viablog processor 460 inFIG. 4 ). These processors may operate offline in a manner similar toblog processor 460, as described above. Thus, for example, a business processor may process the comments inbusiness reviews database 420 to store the comments incomments database 470 so that the comments match, or approximately match, the other comments incomments database 470; a product processor may process the comments in product reviews database 430 to store the comments incomments database 470 so that the comments match, or approximately match, the other comments incomments database 470; and a news processor may process the comments innews comments database 440 to store the comments incomments database 470 so that the comments match, or approximately match, the other comments incomments database 470. Thereafter, when a request for comments is received bycomments component 410, commentscomponent 410 may retrieve the comments fromcomments database 470 and send the comments to a requestingclient 210. - Further, it has been described that selection of a button on a toolbar (or within a browser window) may cause a
client 210 to request comments to present in connection with a document being accessed byclient 210. In another implementation, this process may be automatically performed wheneverclient 210 requests access to a document. In other words, wheneverclient 210 requests access to a document,client 210 may automatically send a request, toserver 220, for comments relevant to the document. - Also, while series of blocks have been described with regard to
FIGS. 7 , 10, and 12, the order of the blocks may be modified in other implementations. Further, non-dependent blocks may be performed in parallel. - Further, exemplary graphical user interfaces have been described with respect to
FIGS. 8 , 9, and 13-15. In other implementations, the graphical user interfaces may include more, fewer, or different pieces of information. - Also, certain portions of the implementations have been described as “logic” or a “component” that performs one or more functions. The terms “logic” or “component” may include hardware, such as a processor, an ASIC, or a FPGA, or a combination of hardware and software (e.g., software running on a general purpose processor that transforms the general purpose processor to a special-purpose processor that functions according to the exemplary processes described above).
- Further, it has been described that scores are generated for links and/or comments. The scoring scheme has been described where higher scores are better than lower scores. This need not be the case. In another implementation, the scoring scheme may be switched to one in which lower scores are better than higher scores.
- It will be apparent that aspects described herein may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects does not limit the embodiments. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the aspects based on the description herein.
- Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the invention. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the invention includes each dependent claim in combination with every other claim in the claim set.
- No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims (23)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/288,701 US20140280106A1 (en) | 2009-08-12 | 2014-05-28 | Presenting comments from various sources |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/539,864 US8745067B2 (en) | 2009-08-12 | 2009-08-12 | Presenting comments from various sources |
US14/288,701 US20140280106A1 (en) | 2009-08-12 | 2014-05-28 | Presenting comments from various sources |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/539,864 Division US8745067B2 (en) | 2009-08-12 | 2009-08-12 | Presenting comments from various sources |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140280106A1 true US20140280106A1 (en) | 2014-09-18 |
Family
ID=43586780
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/539,864 Expired - Fee Related US8745067B2 (en) | 2009-08-12 | 2009-08-12 | Presenting comments from various sources |
US14/288,701 Abandoned US20140280106A1 (en) | 2009-08-12 | 2014-05-28 | Presenting comments from various sources |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/539,864 Expired - Fee Related US8745067B2 (en) | 2009-08-12 | 2009-08-12 | Presenting comments from various sources |
Country Status (2)
Country | Link |
---|---|
US (2) | US8745067B2 (en) |
WO (1) | WO2011019749A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9548958B2 (en) | 2015-06-16 | 2017-01-17 | International Business Machines Corporation | Determining post velocity |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8548995B1 (en) * | 2003-09-10 | 2013-10-01 | Google Inc. | Ranking of documents based on analysis of related documents |
US8280882B2 (en) * | 2005-04-21 | 2012-10-02 | Case Western Reserve University | Automatic expert identification, ranking and literature search based on authorship in large document collections |
US8244720B2 (en) * | 2005-09-13 | 2012-08-14 | Google Inc. | Ranking blog documents |
KR101387510B1 (en) * | 2007-10-02 | 2014-04-21 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
US8656266B2 (en) * | 2008-12-18 | 2014-02-18 | Google Inc. | Identifying comments to show in connection with a document |
US9686341B1 (en) * | 2009-08-20 | 2017-06-20 | A9.Com, Inc. | Review trends |
US8775948B2 (en) * | 2009-12-08 | 2014-07-08 | International Business Machines Corporation | Method for capturing collaborative, real-time feedback on socio-technical interactions in a virtual environment and graphically displaying the interaction patterns for later review |
US8380732B2 (en) * | 2010-04-13 | 2013-02-19 | ReFrame-It, Inc | Systematic process for creating large numbers of relevant, contextual marginal comments based on existing discussions of quotations and links |
US9213980B2 (en) | 2010-11-12 | 2015-12-15 | Ebay Inc. | Using behavioral data in rating user reputation |
US20120137316A1 (en) * | 2010-11-30 | 2012-05-31 | Kirill Elizarov | Media information system and method |
US20120137317A1 (en) * | 2010-11-30 | 2012-05-31 | Kirill Elizarov | Media information system and method |
US20120210377A1 (en) * | 2011-02-11 | 2012-08-16 | Sony Network Entertainment International Llc | Social networking feedback via second display selections |
CN102651721B (en) * | 2011-02-28 | 2016-02-17 | 腾讯科技(深圳)有限公司 | A kind of information feedback method and equipment |
US9626348B2 (en) * | 2011-03-11 | 2017-04-18 | Microsoft Technology Licensing, Llc | Aggregating document annotations |
US9058391B2 (en) | 2011-03-14 | 2015-06-16 | Slangwho, Inc. | System and method for transmitting a feed related to a first user to a second user |
WO2012129775A1 (en) * | 2011-03-29 | 2012-10-04 | Google Inc. | Aggregating product review information for electronic product catalogs |
US8626604B1 (en) | 2011-05-19 | 2014-01-07 | Google Inc. | Aggregating product endorsement information |
US9734503B1 (en) | 2011-06-21 | 2017-08-15 | Google Inc. | Hosted product recommendations |
US8688514B1 (en) * | 2011-06-24 | 2014-04-01 | Google Inc. | Ad selection using image data |
US9060062B1 (en) | 2011-07-06 | 2015-06-16 | Google Inc. | Clustering and classification of recent customer support inquiries |
US9152697B2 (en) | 2011-07-13 | 2015-10-06 | International Business Machines Corporation | Real-time search of vertically partitioned, inverted indexes |
EP2575053A1 (en) * | 2011-09-27 | 2013-04-03 | Alcatel Lucent | User-enhanced ranking of information objects |
US9141595B2 (en) * | 2011-10-05 | 2015-09-22 | Adobe Systems Incorporated | Contextual commenting on the web |
US9256680B2 (en) * | 2012-02-02 | 2016-02-09 | Microsoft Technology Licensing, Llc | Biasing search results toward topics of interest using embedded relevance links |
US9747459B2 (en) * | 2012-04-02 | 2017-08-29 | Varonis Systems, Inc | Method and apparatus for requesting access to files |
US9606991B2 (en) * | 2012-05-25 | 2017-03-28 | Dwango Co., Ltd. | Comment distribution system, and a method and a program for operating the comment distribution system |
US9146906B1 (en) * | 2012-06-19 | 2015-09-29 | Google Inc. | Modifying a webpage display based on a referrer web address |
EP2875478A4 (en) * | 2012-07-20 | 2016-01-06 | Visible World Inc | Systems, methods and computer-readable media for determining outcomes for program promotions |
US20140108267A1 (en) * | 2012-09-13 | 2014-04-17 | Jeffrey Wayne Bergosh | Networking method for restricted communications |
US9411856B1 (en) * | 2012-10-01 | 2016-08-09 | Google Inc. | Overlay generation for sharing a website |
US9400975B2 (en) * | 2012-10-16 | 2016-07-26 | Cisco Technology, Inc. | Evaluating user contacts on an electronic communication network |
CN103853761B (en) * | 2012-12-03 | 2016-05-25 | 腾讯科技(深圳)有限公司 | Comment demonstration, adding method and the device of web page contents |
US9277024B2 (en) * | 2012-12-19 | 2016-03-01 | International Business Machines Corporation | Suppressing content of a social network |
US9935910B2 (en) | 2012-12-21 | 2018-04-03 | Google Llc | Recipient location aware notifications in response to related posts |
US9547697B2 (en) | 2012-12-21 | 2017-01-17 | Google Inc. | Aggregating interactions for content items |
US9201928B2 (en) * | 2013-05-31 | 2015-12-01 | Google Inc. | Assessing quality of reviews based on online reviewer generated content |
US10061836B2 (en) | 2013-06-04 | 2018-08-28 | Varonis Systems, Ltd. | Delegating resembling data of an organization to a linked device |
US20140380191A1 (en) * | 2013-06-24 | 2014-12-25 | Autodesk, Inc. | Method and apparatus for design review collaboration across multiple platforms |
US10095781B2 (en) * | 2014-10-01 | 2018-10-09 | Red Hat, Inc. | Reuse of documentation components when migrating into a content management system |
US20160164985A1 (en) * | 2014-12-05 | 2016-06-09 | Facebook, Inc. | Selecting comments for presentation to a social networking system user along with a content item |
US10027617B2 (en) | 2014-12-23 | 2018-07-17 | AVA Info Tech Inc. | Systems and methods for communication of user comments over a computer network |
US10459991B2 (en) | 2015-04-23 | 2019-10-29 | International Business Machines Corporation | Content contribution validation |
US10009308B2 (en) * | 2015-04-24 | 2018-06-26 | International Business Machines Corporation | Social content features based on user tracking |
CN104809235B (en) * | 2015-05-11 | 2018-04-06 | 中国传媒大学 | A kind of program evaluation system and method |
US10861029B2 (en) | 2017-05-15 | 2020-12-08 | Facebook, Inc. | Qualifying comments with poll responses on online systems |
US10698572B2 (en) * | 2017-05-15 | 2020-06-30 | Facebook, Inc. | Highlighting comments on online systems |
US11222079B1 (en) * | 2017-09-22 | 2022-01-11 | State Farm Mutual Automobile Insurance Company | Systems and methods for visualizing posting data and facilitating posting communications |
US11531808B2 (en) * | 2018-07-23 | 2022-12-20 | Google Llc | Intelligent document notifications based on user comments |
US11238519B1 (en) * | 2018-08-01 | 2022-02-01 | Amazon Technologies, Inc. | Search results based on user-submitted content |
US11010040B2 (en) * | 2019-02-28 | 2021-05-18 | Microsoft Technology Licensing, Llc | Scrollable annotations associated with a subset of content in an electronic document |
US11068664B2 (en) * | 2019-08-30 | 2021-07-20 | International Business Machines Corporation | Generating comment excerpts within an online publication |
US11049023B1 (en) | 2020-12-08 | 2021-06-29 | Moveworks, Inc. | Methods and systems for evaluating and improving the content of a knowledge datastore |
CN113158082B (en) * | 2021-05-13 | 2023-01-17 | 和鸿广科技(上海)有限公司 | Artificial intelligence-based media content reality degree analysis method |
US11748556B1 (en) * | 2022-08-09 | 2023-09-05 | Ahmed Mohamed Hany AbdelAlim ElGamal | System and method of enhancing PDF documents |
Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014677A (en) * | 1995-06-12 | 2000-01-11 | Fuji Xerox Co., Ltd. | Document management device and method for managing documents by utilizing additive information |
US20020080196A1 (en) * | 1995-09-29 | 2002-06-27 | Jeremy J. Bornstein | Auto-summary of document content |
US6438566B1 (en) * | 1993-06-30 | 2002-08-20 | Canon Kabushiki Kaisha | Document processing method and apparatus which can add comment data added to an original document to a revised document |
US20040030697A1 (en) * | 2002-07-31 | 2004-02-12 | American Management Systems, Inc. | System and method for online feedback |
US20040122843A1 (en) * | 2002-12-19 | 2004-06-24 | Terris John F. | XML browser markup and collaboration |
US20050027612A1 (en) * | 2000-06-12 | 2005-02-03 | Walker Jay S. | Methods and systems for facilitating the provision of opinions to a shopper from a panel of peers |
US20050229156A1 (en) * | 2004-04-08 | 2005-10-13 | Ralf Baumann | Filter-based comments in source code |
US20060075868A1 (en) * | 2003-01-11 | 2006-04-13 | Johann Anderl | Tool guiding device |
US7031952B1 (en) * | 1999-10-08 | 2006-04-18 | Knowledge Filter, Inc. | Knowledge filter |
US20060123348A1 (en) * | 2000-04-07 | 2006-06-08 | Ross Brian D | System and method for facilitating the pre-publication peer review process |
US20060143558A1 (en) * | 2004-12-28 | 2006-06-29 | International Business Machines Corporation | Integration and presentation of current and historic versions of document and annotations thereon |
US20060143067A1 (en) * | 2004-12-23 | 2006-06-29 | Hermann Calabria | Vendor-driven, social-network enabled review system with flexible syndication |
US20060242574A1 (en) * | 2005-04-25 | 2006-10-26 | Microsoft Corporation | Associating information with an electronic document |
US20060282762A1 (en) * | 2005-06-10 | 2006-12-14 | Oracle International Corporation | Collaborative document review system |
US20060284744A1 (en) * | 2005-05-25 | 2006-12-21 | Andrew Shotland | Structured blogging with reciprocal links |
US20060294455A1 (en) * | 2005-06-23 | 2006-12-28 | Morris Benjamin R | Method and system for efficiently processing comments to records in a database, while avoiding replication/save conflicts |
US20070038646A1 (en) * | 2005-08-04 | 2007-02-15 | Microsoft Corporation | Ranking blog content |
US20070061297A1 (en) * | 2005-09-13 | 2007-03-15 | Andriy Bihun | Ranking blog documents |
US20070124283A1 (en) * | 2005-11-28 | 2007-05-31 | Gotts John W | Search engine with community feedback system |
WO2007070791A2 (en) * | 2005-12-12 | 2007-06-21 | Google Inc. | Decentralised web annotation |
EP1804180A1 (en) * | 2005-12-29 | 2007-07-04 | Ricoh Company, Ltd. | Refining based on log content |
US20070156683A1 (en) * | 2005-12-29 | 2007-07-05 | Wolff Gregory J | Always on and updated operation for document logs |
US20070162458A1 (en) * | 2006-01-10 | 2007-07-12 | Fasciano Mark J | Method and apparatus for collecting and storing information about individuals in a social network |
US20070219995A1 (en) * | 1999-10-08 | 2007-09-20 | Knowledge Filter | Knowledge filter |
US20080005101A1 (en) * | 2006-06-23 | 2008-01-03 | Rohit Chandra | Method and apparatus for determining the significance and relevance of a web page, or a portion thereof |
US20080059286A1 (en) * | 2006-08-31 | 2008-03-06 | Opinionlab, Inc. | Computer-implemented system and method for measuring and reporting business intelligence based on comments collected from web page users using software associated with accessed web pages |
US20080120166A1 (en) * | 2006-11-17 | 2008-05-22 | The Gorb, Inc. | Method for rating an entity |
US7392469B1 (en) * | 2003-05-19 | 2008-06-24 | Sidney Bailin | Non-intrusive commentary capture for document authors |
US20080154883A1 (en) * | 2006-08-22 | 2008-06-26 | Abdur Chowdhury | System and method for evaluating sentiment |
US20080162275A1 (en) * | 2006-08-21 | 2008-07-03 | Logan James D | Author-assisted information extraction |
US20080215589A1 (en) * | 2006-11-10 | 2008-09-04 | Getingate, Inc. | System, Method, and Computer-Readable Medium for Collection and Distribution of User-Supplied Comments Associated with Network and Local Content |
US7428505B1 (en) * | 2000-02-29 | 2008-09-23 | Ebay, Inc. | Method and system for harvesting feedback and comments regarding multiple items from users of a network-based transaction facility |
US20080250327A1 (en) * | 2007-04-09 | 2008-10-09 | Microsoft Corporation | Content commenting and monetization |
US20090037470A1 (en) * | 2007-07-30 | 2009-02-05 | Joseph Otto Schmidt | Connecting users based on medical experiences |
US20090070376A1 (en) * | 2007-09-12 | 2009-03-12 | Nhn Corporation | Method of controlling display of comments |
WO2009035683A1 (en) * | 2007-09-12 | 2009-03-19 | Ebay Inc. | Reputation scoring |
US20090083383A1 (en) * | 2007-09-26 | 2009-03-26 | Microsoft Corporation | Dynamic instant comments |
US20090094345A1 (en) * | 2006-01-20 | 2009-04-09 | Nhn Corporation | News server for trackback between news and blog and method for interconnection thereof |
US20090112683A1 (en) * | 2007-10-24 | 2009-04-30 | International Business Machines Corporation | Method, system and program product for distribution of feedback among customers in real-time |
US20090119173A1 (en) * | 2006-02-28 | 2009-05-07 | Buzzlogic, Inc. | System and Method For Advertisement Targeting of Conversations in Social Media |
US20090138257A1 (en) * | 2007-11-27 | 2009-05-28 | Kunal Verma | Document analysis, commenting, and reporting system |
US20090157667A1 (en) * | 2007-12-12 | 2009-06-18 | Brougher William C | Reputation of an Author of Online Content |
US20090164408A1 (en) * | 2007-12-21 | 2009-06-25 | Ilya Grigorik | Method, System and Computer Program for Managing Delivery of Online Content |
US20090182745A1 (en) * | 2008-01-10 | 2009-07-16 | Mark Mallen Huck | Methods and Apparatus for Creating, Managing, and Displaying Content Channel and Weblog Dialogues |
US20090271417A1 (en) * | 2008-04-25 | 2009-10-29 | John Toebes | Identifying User Relationships from Situational Analysis of User Comments Made on Media Content |
US20090319518A1 (en) * | 2007-01-10 | 2009-12-24 | Nick Koudas | Method and system for information discovery and text analysis |
US20100114910A1 (en) * | 2008-10-27 | 2010-05-06 | Korea Advanced Institute Of Science And Technology | Blog search apparatus and method using blog authority estimation |
US8073947B1 (en) * | 2008-10-17 | 2011-12-06 | GO Interactive, Inc. | Method and apparatus for determining notable content on web sites |
US8117195B1 (en) * | 2006-03-22 | 2012-02-14 | Google Inc. | Providing blog posts relevant to search results |
Family Cites Families (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146552A (en) * | 1990-02-28 | 1992-09-08 | International Business Machines Corporation | Method for associating annotation with electronically published material |
US5671428A (en) * | 1991-08-28 | 1997-09-23 | Kabushiki Kaisha Toshiba | Collaborative document processing system with version and comment management |
JP3489219B2 (en) * | 1994-09-20 | 2004-01-19 | 富士ゼロックス株式会社 | Document processing apparatus and document processing method |
US6178431B1 (en) * | 1994-10-05 | 2001-01-23 | International Business Machines Corporation | Method and system for providing side notes in word processing |
US6115455A (en) * | 1996-11-05 | 2000-09-05 | Boston Technology, Inc. | Method and apparatus for dynamically creating message mailboxes |
US6185551B1 (en) * | 1997-06-16 | 2001-02-06 | Digital Equipment Corporation | Web-based electronic mail service apparatus and method using full text and label indexing |
US6578025B1 (en) * | 1999-06-11 | 2003-06-10 | Abuzz Technologies, Inc. | Method and apparatus for distributing information to users |
US6519603B1 (en) * | 1999-10-28 | 2003-02-11 | International Business Machine Corporation | Method and system for organizing an annotation structure and for querying data and annotations |
US7028267B1 (en) * | 1999-12-07 | 2006-04-11 | Microsoft Corporation | Method and apparatus for capturing and rendering text annotations for non-modifiable electronic content |
US6883135B1 (en) * | 2000-01-28 | 2005-04-19 | Microsoft Corporation | Proxy server using a statistical model |
US6859909B1 (en) * | 2000-03-07 | 2005-02-22 | Microsoft Corporation | System and method for annotating web-based documents |
WO2001093655A2 (en) * | 2000-06-05 | 2001-12-13 | Shiman Associates, Inc. | Method and apparatus for managing documents in a centralized document repository system |
JP2001350399A (en) * | 2000-06-08 | 2001-12-21 | Mitsubishi Electric Corp | Teaching system and teaching method |
US6721921B1 (en) * | 2000-07-26 | 2004-04-13 | Itm Associates | Method and system for annotating documents using an independent annotation repository |
US20020103867A1 (en) * | 2001-01-29 | 2002-08-01 | Theo Schilter | Method and system for matching and exchanging unsorted messages via a communications network |
US7366979B2 (en) * | 2001-03-09 | 2008-04-29 | Copernicus Investments, Llc | Method and apparatus for annotating a document |
JP2003067306A (en) * | 2001-08-24 | 2003-03-07 | Hitachi Ltd | Email storage management method |
US7747943B2 (en) * | 2001-09-07 | 2010-06-29 | Microsoft Corporation | Robust anchoring of annotations to content |
US20030135605A1 (en) * | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | User rating feedback loop to modify virtual channel content and/or schedules |
US7334019B2 (en) * | 2002-07-18 | 2008-02-19 | Ebay Inc. | Delivering messages to message servers |
US7657597B2 (en) * | 2002-09-26 | 2010-02-02 | Sun Microsystems, Inc. | Instant messaging using distributed indexes |
US20040117434A1 (en) * | 2002-12-12 | 2004-06-17 | Bantz David F. | System and method for merging, filtering and rating peer-solicited information |
KR100490734B1 (en) * | 2002-12-21 | 2005-05-24 | 한국전자통신연구원 | Annotation-based automatic document generation apparatus and method |
US7269787B2 (en) * | 2003-04-28 | 2007-09-11 | International Business Machines Coporation | Multi-document context aware annotation system |
US7289983B2 (en) * | 2003-06-19 | 2007-10-30 | International Business Machines Corporation | Personalized indexing and searching for information in a distributed data processing system |
US20040261016A1 (en) * | 2003-06-20 | 2004-12-23 | Miavia, Inc. | System and method for associating structured and manually selected annotations with electronic document contents |
CN100555264C (en) | 2003-10-21 | 2009-10-28 | 国际商业机器公司 | The annotate method of electronic document, device and system |
US8201079B2 (en) * | 2004-01-15 | 2012-06-12 | International Business Machines Corporation | Maintaining annotations for distributed and versioned files |
US7707039B2 (en) * | 2004-02-15 | 2010-04-27 | Exbiblio B.V. | Automatic modification of web pages |
EP2662784A1 (en) * | 2004-03-15 | 2013-11-13 | Yahoo! Inc. | Search systems and methods with integration of user annotations |
WO2005089334A2 (en) * | 2004-03-15 | 2005-09-29 | Yahoo! Inc. | Inverse search systems and methods |
US8788492B2 (en) * | 2004-03-15 | 2014-07-22 | Yahoo!, Inc. | Search system and methods with integration of user annotations from a trust network |
US7912904B2 (en) * | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
US8275839B2 (en) * | 2004-03-31 | 2012-09-25 | Google Inc. | Methods and systems for processing email messages |
US20060031340A1 (en) * | 2004-07-12 | 2006-02-09 | Boban Mathew | Apparatus and method for advanced attachment filtering within an integrated messaging platform |
JP2006031292A (en) * | 2004-07-14 | 2006-02-02 | Fuji Xerox Co Ltd | Document processing apparatus, document processing method, and document processing program |
WO2006051712A1 (en) * | 2004-11-12 | 2006-05-18 | Justsystems Corporation | Document processing device, and document processing method |
US20060123087A1 (en) * | 2004-12-04 | 2006-06-08 | Gibson David W | Email storage format including partially ordered logs of updates to email message attributes |
US8131647B2 (en) * | 2005-01-19 | 2012-03-06 | Amazon Technologies, Inc. | Method and system for providing annotations of a digital work |
US8154769B2 (en) * | 2005-02-15 | 2012-04-10 | Ricoh Co. Ltd | Systems and methods for generating and processing evolutionary documents |
EP1877932B1 (en) * | 2005-05-10 | 2010-05-05 | Netbreeze GmbH | System and method for aggregating and monitoring decentrally stored multimedia data |
US7610545B2 (en) * | 2005-06-06 | 2009-10-27 | Bea Systems, Inc. | Annotations for tracking provenance |
US20080005064A1 (en) * | 2005-06-28 | 2008-01-03 | Yahoo! Inc. | Apparatus and method for content annotation and conditional annotation retrieval in a search context |
US20070016648A1 (en) * | 2005-07-12 | 2007-01-18 | Higgins Ronald C | Enterprise Message Mangement |
US7779347B2 (en) * | 2005-09-02 | 2010-08-17 | Fourteen40, Inc. | Systems and methods for collaboratively annotating electronic documents |
US7424670B2 (en) | 2005-09-09 | 2008-09-09 | Microsoft Corporation | Annotating documents in a collaborative application with data in disparate information systems |
US20070067399A1 (en) * | 2005-09-22 | 2007-03-22 | Raghavendra Kulkarni | Electronic mail archiving system and method |
US7716217B2 (en) * | 2006-01-13 | 2010-05-11 | Bluespace Software Corporation | Determining relevance of electronic content |
US20070174762A1 (en) * | 2006-01-24 | 2007-07-26 | International Business Machines Corporation | Personal web page annotation system |
US7424682B1 (en) * | 2006-05-19 | 2008-09-09 | Google Inc. | Electronic messages with embedded musical note emoticons |
US7873641B2 (en) * | 2006-07-14 | 2011-01-18 | Bea Systems, Inc. | Using tags in an enterprise search system |
US8166029B2 (en) * | 2006-09-07 | 2012-04-24 | Yahoo! Inc. | System and method for identifying media content items and related media content items |
US7930302B2 (en) * | 2006-11-22 | 2011-04-19 | Intuit Inc. | Method and system for analyzing user-generated content |
US7797335B2 (en) * | 2007-01-18 | 2010-09-14 | International Business Machines Corporation | Creation and persistence of action metadata |
US7739304B2 (en) * | 2007-02-08 | 2010-06-15 | Yahoo! Inc. | Context-based community-driven suggestions for media annotation |
US20080201632A1 (en) * | 2007-02-16 | 2008-08-21 | Palo Alto Research Center Incorporated | System and method for annotating documents |
US8527868B2 (en) * | 2008-02-22 | 2013-09-03 | International Business Machines Corporation | Systems and methods for document annotation |
US20100011282A1 (en) * | 2008-07-11 | 2010-01-14 | iCyte Pty Ltd. | Annotation system and method |
US8301631B2 (en) * | 2009-05-30 | 2012-10-30 | Edmond Kwok-Keung Chow | Methods and systems for annotation of digital information |
-
2009
- 2009-08-12 US US12/539,864 patent/US8745067B2/en not_active Expired - Fee Related
-
2010
- 2010-08-10 WO PCT/US2010/045066 patent/WO2011019749A2/en active Application Filing
-
2014
- 2014-05-28 US US14/288,701 patent/US20140280106A1/en not_active Abandoned
Patent Citations (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438566B1 (en) * | 1993-06-30 | 2002-08-20 | Canon Kabushiki Kaisha | Document processing method and apparatus which can add comment data added to an original document to a revised document |
US6014677A (en) * | 1995-06-12 | 2000-01-11 | Fuji Xerox Co., Ltd. | Document management device and method for managing documents by utilizing additive information |
US20020080196A1 (en) * | 1995-09-29 | 2002-06-27 | Jeremy J. Bornstein | Auto-summary of document content |
US20070219995A1 (en) * | 1999-10-08 | 2007-09-20 | Knowledge Filter | Knowledge filter |
US7031952B1 (en) * | 1999-10-08 | 2006-04-18 | Knowledge Filter, Inc. | Knowledge filter |
US20080320049A1 (en) * | 2000-02-29 | 2008-12-25 | Ebay Inc. | Methods and systems for harvesting comments regarding events on a network-based commerce facility |
US7428505B1 (en) * | 2000-02-29 | 2008-09-23 | Ebay, Inc. | Method and system for harvesting feedback and comments regarding multiple items from users of a network-based transaction facility |
US20060123348A1 (en) * | 2000-04-07 | 2006-06-08 | Ross Brian D | System and method for facilitating the pre-publication peer review process |
US20050027612A1 (en) * | 2000-06-12 | 2005-02-03 | Walker Jay S. | Methods and systems for facilitating the provision of opinions to a shopper from a panel of peers |
US20040030697A1 (en) * | 2002-07-31 | 2004-02-12 | American Management Systems, Inc. | System and method for online feedback |
US20040122843A1 (en) * | 2002-12-19 | 2004-06-24 | Terris John F. | XML browser markup and collaboration |
US20060075868A1 (en) * | 2003-01-11 | 2006-04-13 | Johann Anderl | Tool guiding device |
US7392469B1 (en) * | 2003-05-19 | 2008-06-24 | Sidney Bailin | Non-intrusive commentary capture for document authors |
US20050229156A1 (en) * | 2004-04-08 | 2005-10-13 | Ralf Baumann | Filter-based comments in source code |
US20060143067A1 (en) * | 2004-12-23 | 2006-06-29 | Hermann Calabria | Vendor-driven, social-network enabled review system with flexible syndication |
US20060143558A1 (en) * | 2004-12-28 | 2006-06-29 | International Business Machines Corporation | Integration and presentation of current and historic versions of document and annotations thereon |
US20060242574A1 (en) * | 2005-04-25 | 2006-10-26 | Microsoft Corporation | Associating information with an electronic document |
US20060284744A1 (en) * | 2005-05-25 | 2006-12-21 | Andrew Shotland | Structured blogging with reciprocal links |
US20060282762A1 (en) * | 2005-06-10 | 2006-12-14 | Oracle International Corporation | Collaborative document review system |
US20060294455A1 (en) * | 2005-06-23 | 2006-12-28 | Morris Benjamin R | Method and system for efficiently processing comments to records in a database, while avoiding replication/save conflicts |
US20070038646A1 (en) * | 2005-08-04 | 2007-02-15 | Microsoft Corporation | Ranking blog content |
US20070061297A1 (en) * | 2005-09-13 | 2007-03-15 | Andriy Bihun | Ranking blog documents |
US20070124283A1 (en) * | 2005-11-28 | 2007-05-31 | Gotts John W | Search engine with community feedback system |
WO2007070791A2 (en) * | 2005-12-12 | 2007-06-21 | Google Inc. | Decentralised web annotation |
US20070143694A1 (en) * | 2005-12-12 | 2007-06-21 | Brian Rakowski | Decentralised web annotation |
US20070156683A1 (en) * | 2005-12-29 | 2007-07-05 | Wolff Gregory J | Always on and updated operation for document logs |
EP1804180A1 (en) * | 2005-12-29 | 2007-07-04 | Ricoh Company, Ltd. | Refining based on log content |
US20070162458A1 (en) * | 2006-01-10 | 2007-07-12 | Fasciano Mark J | Method and apparatus for collecting and storing information about individuals in a social network |
US20090094345A1 (en) * | 2006-01-20 | 2009-04-09 | Nhn Corporation | News server for trackback between news and blog and method for interconnection thereof |
US20090119173A1 (en) * | 2006-02-28 | 2009-05-07 | Buzzlogic, Inc. | System and Method For Advertisement Targeting of Conversations in Social Media |
US8117195B1 (en) * | 2006-03-22 | 2012-02-14 | Google Inc. | Providing blog posts relevant to search results |
US20080005101A1 (en) * | 2006-06-23 | 2008-01-03 | Rohit Chandra | Method and apparatus for determining the significance and relevance of a web page, or a portion thereof |
US20080162275A1 (en) * | 2006-08-21 | 2008-07-03 | Logan James D | Author-assisted information extraction |
US20080154883A1 (en) * | 2006-08-22 | 2008-06-26 | Abdur Chowdhury | System and method for evaluating sentiment |
US20080059286A1 (en) * | 2006-08-31 | 2008-03-06 | Opinionlab, Inc. | Computer-implemented system and method for measuring and reporting business intelligence based on comments collected from web page users using software associated with accessed web pages |
US20080215589A1 (en) * | 2006-11-10 | 2008-09-04 | Getingate, Inc. | System, Method, and Computer-Readable Medium for Collection and Distribution of User-Supplied Comments Associated with Network and Local Content |
US20080120166A1 (en) * | 2006-11-17 | 2008-05-22 | The Gorb, Inc. | Method for rating an entity |
US20090319518A1 (en) * | 2007-01-10 | 2009-12-24 | Nick Koudas | Method and system for information discovery and text analysis |
US20080250327A1 (en) * | 2007-04-09 | 2008-10-09 | Microsoft Corporation | Content commenting and monetization |
US20090037470A1 (en) * | 2007-07-30 | 2009-02-05 | Joseph Otto Schmidt | Connecting users based on medical experiences |
US20090070376A1 (en) * | 2007-09-12 | 2009-03-12 | Nhn Corporation | Method of controlling display of comments |
WO2009035683A1 (en) * | 2007-09-12 | 2009-03-19 | Ebay Inc. | Reputation scoring |
US20090083383A1 (en) * | 2007-09-26 | 2009-03-26 | Microsoft Corporation | Dynamic instant comments |
US20090112683A1 (en) * | 2007-10-24 | 2009-04-30 | International Business Machines Corporation | Method, system and program product for distribution of feedback among customers in real-time |
US20090138257A1 (en) * | 2007-11-27 | 2009-05-28 | Kunal Verma | Document analysis, commenting, and reporting system |
US20090157667A1 (en) * | 2007-12-12 | 2009-06-18 | Brougher William C | Reputation of an Author of Online Content |
US20090157490A1 (en) * | 2007-12-12 | 2009-06-18 | Justin Lawyer | Credibility of an Author of Online Content |
US20090164408A1 (en) * | 2007-12-21 | 2009-06-25 | Ilya Grigorik | Method, System and Computer Program for Managing Delivery of Online Content |
US20090182745A1 (en) * | 2008-01-10 | 2009-07-16 | Mark Mallen Huck | Methods and Apparatus for Creating, Managing, and Displaying Content Channel and Weblog Dialogues |
US20090271417A1 (en) * | 2008-04-25 | 2009-10-29 | John Toebes | Identifying User Relationships from Situational Analysis of User Comments Made on Media Content |
US8073947B1 (en) * | 2008-10-17 | 2011-12-06 | GO Interactive, Inc. | Method and apparatus for determining notable content on web sites |
US20100114910A1 (en) * | 2008-10-27 | 2010-05-06 | Korea Advanced Institute Of Science And Technology | Blog search apparatus and method using blog authority estimation |
Non-Patent Citations (5)
Title |
---|
An effective statistical approach to blog post opinion retrieval, He et al, Proceedings of the 17th ACM conference on Information and knowledge management (CIKM'08), pp.1063-1072, 2008 * |
Comments-Oriented blog summarization by sentence extraction, Hu et al, CIKM, pp.901-904, 2007 * |
Expressing social relationships on the blog through links and comments, Ali-Hasan et al, ICWSM, 2007 * |
Leave a Reply: An analysis of Weblog Comments, Mishne et al, WWW2006, 2006 * |
Using blog properties to improve retrieval, Mishne G., ICWSM, 2007 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9548958B2 (en) | 2015-06-16 | 2017-01-17 | International Business Machines Corporation | Determining post velocity |
Also Published As
Publication number | Publication date |
---|---|
WO2011019749A3 (en) | 2011-05-19 |
US8745067B2 (en) | 2014-06-03 |
WO2011019749A2 (en) | 2011-02-17 |
US20110040787A1 (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745067B2 (en) | Presenting comments from various sources | |
US8423610B2 (en) | User interface for web comments | |
CA2747441C (en) | Identifying comments to show in connection with a document | |
US9390144B2 (en) | Objective and subjective ranking of comments | |
JP5458181B2 (en) | System and method for providing advanced search result page content | |
US7818659B2 (en) | News feed viewer | |
JP5458182B2 (en) | System and method for providing advanced search result page content | |
US7840527B2 (en) | Platform for feeds | |
US9171088B2 (en) | Mining for product classification structures for internet-based product searching | |
US8374975B1 (en) | Clustering to spread comments to other documents | |
US9032289B1 (en) | Providing suggestions to users to write comments | |
US20120095834A1 (en) | Systems and methods for using a behavior history of a user to augment content of a webpage | |
US20080208975A1 (en) | Methods, systems, and computer program products for accessing a discussion forum and for associating network content for use in performing a search of a network database | |
US9223897B1 (en) | Adjusting ranking of search results based on utility | |
US11755662B1 (en) | Creating entries in at least one of a personal cache and a personal index | |
US20100211561A1 (en) | Providing representative samples within search result sets | |
RU2589856C2 (en) | Method of processing target message, method of processing new target message and server (versions) | |
US9081832B2 (en) | Providing leaf page sublinks in response to a search query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CIERNIAK, MICHAL;DENMAN, DONN;HSIEH, TONY;AND OTHERS;SIGNING DATES FROM 20090805 TO 20090809;REEL/FRAME:032975/0460 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044144/0001 Effective date: 20170929 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:068092/0502 Effective date: 20170929 |