US20130179426A1 - Search and Retrieval Methods and Systems of Short Messages Utilizing Messaging Context and Keyword Frequency - Google Patents
Search and Retrieval Methods and Systems of Short Messages Utilizing Messaging Context and Keyword Frequency Download PDFInfo
- Publication number
- US20130179426A1 US20130179426A1 US13/740,475 US201313740475A US2013179426A1 US 20130179426 A1 US20130179426 A1 US 20130179426A1 US 201313740475 A US201313740475 A US 201313740475A US 2013179426 A1 US2013179426 A1 US 2013179426A1
- Authority
- US
- United States
- Prior art keywords
- category
- messages
- message
- search
- keywords
- 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 title claims abstract description 25
- 230000006855 networking Effects 0.000 claims abstract description 11
- 241000501764 Astronotus Species 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012549 training Methods 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/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G06F17/30864—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
Definitions
- the invention generally relates to messaging in social networks, and more particularly relates to searching and retrieving messages using messaging context and keyword frequency.
- One embodiment includes identifying at least one category relevant to the search query, wherein a plurality of scored keywords are associated with each category, selecting at least one of the scored keywords that is relevant to an identified category, performing a plurality of searches of messages from a social networking messaging service to retrieve messages, where at least one search includes retrieving messages based on the original search query and one of the selected scored keywords, scoring the retrieved messages with respect to each of the at least one identified categories using at least the scored keywords relevant to each category, and returning at least the message with the highest score as the search result.
- the user indicates at least one category relevant to the search query.
- the query is scored with respect to each category using the scored keywords associated with each category and at least one category is identified based upon the query score.
- selecting at least one of the scored keywords that is relevant to an identified category includes selecting a plurality of scored keywords relevant to an identified category, and performing a plurality of searches of messages from a social networking messaging service further includes performing a separate search for each of the selected scored keywords, where each search includes retrieving messages based on the original search query and the selected scored keyword.
- performing a plurality of searches of messages from a social networking messaging service further includes performing a search, where the messages are retrieved based on the original search query.
- scoring the retrieved messages with respect to each of the at least one identified categories using the scored keywords relevant to each category further includes excluding any scored keyword used in the search that retrieved the message from the scoring of the message.
- the searches include performing expression matching.
- the searches include scoring the message with respect to the original search query and the selected scored keyword.
- scoring the retrieved messages further includes weighting messages based upon the amount of time that has elapsed since the message was posted.
- FIG. 1 is a block diagram illustrating a messaging search and retrieval system in accordance with various embodiments of the invention.
- FIG. 2 is a flowchart illustrating a messaging classification or topic generation process in accordance with various embodiments of the invention.
- FIG. 3 is a flowchart illustrating a messaging search and retrieval process in accordance with various embodiments of the invention.
- FIG. 4 is a flowchart illustrating a messaging search and retrieval process in accordance with various embodiments of the invention.
- a user provides a search query. Given the search query, topic relevance is utilized to determine a particular topic or topics appropriate for the search query. In another embodiment, the user specifies the desired topic the search results should fall into. In one embodiment, topics or categories are set up with associated keywords in which short messages are identified and placed in an appropriate category. In various embodiments, categories are subject or topic containers that include, but are not limited, to a person, place or thing. Keywords extracted from short messages that are relevant to a category are associated with the corresponding category. With the topic and extracted keywords, one or more (“N”) parallel searches are conducted to assist in locating the relevant messages. Such searches include but are not limited to the following:
- the number of concurrent searches may be limited to the highest frequency N keywords to limit the time it takes to conduct the search.
- each message for a given topic is scored and ranked by score.
- the most relevant and, in some cases, the most recent relevant messages are returned to the searcher, e.g., a user or client system, that provided the search query.
- the additional keyword may not be counted in the scoring of the message.
- categories of interest are generated by identifying a specific subject or topic, such as a person, place or an object.
- the categories in one embodiment are refined based on usage performance. In particular, categories focused on things perform well with narrower descriptions having a better performance. For example, a category such as “sports” would not perform as well as “basketball”, which would not perform as well as “UCLA basketball”. These fine grained categories however can come at the cost of increased processing time and storage.
- each category is unique having no overlap with other categories.
- keywords are identified and associated with each category.
- keywords are stored in tables in which each category may have multiple tables.
- the keywords that are stored come from messages in the desired medium.
- Each medium e.g., messaging service
- keywords from other sources in one embodiment are only used as a search query into the desired message format. In this way the keyword tables can account for slang terms and other such differentiators specific to the medium.
- one or more of the following processes can be used to identify the keywords.
- ambiguous and unambiguous terminology For a given category, e.g., musical artists, there can be ambiguous and unambiguous terminology. For example, an artist name can be ambiguous (“the Beatles”) or unambiguous (“Paul McCartney”). Utilizing unambiguous terminology, every keyword used in a message containing “Paul McCartney” would be stored, and the usage frequencies of the keywords would be used as a measure of how related to the musical artist category a given query would be.
- a message database in one embodiment would allow for manual tagging of information. These tags are created by users as a means to self-classify messages. One example is preceding a tag name with a unique character, e.g., a “#” character. For example, if a message contains “#oscars”, then presumably the message is about the Oscars awards ceremony. As such, keywords about the Oscars awards ceremony can be generated by finding every message with the “#oscars” tag, and store each of the keywords present in the located messages. The resulting table would thus include words commonly used to describe the ceremony, and thus a message that did not have a “#oscars” tag can be located using the table.
- a third party database or similar resource can be used to identify keywords. For example, utilizing a resource, such as Wikipedia, as a large collection of words related to a category, a TF-IDF analysis of this resource would yield the most important keywords for a given category. Messages could be searched to locate messages that used these keywords in which each of the resulting message-based keywords are stored in the associated category's table.
- a resource such as Wikipedia
- a message score for a given category is a measure of how likely its keywords are present in all the messages related to the category.
- the message scores are defined by
- m is a given message
- c is a given category
- g is a keyword in the message
- P(g,c) is the normalized frequency of a message in category c containing the keyword g.
- the function f is a thresholding or quantization function.
- a final message score is defined as w score ⁇ score(m,c q )+w match ⁇ match(m,q), where w is a weight [0 . . . 1], score(m,c q ) is the score of the message in the query's category, and match(m,q) is the percentage of keywords that match between message m and the query q. This value is used to ensure that the messages have some similarity to the query, even if they both score high in a category.
- the query is “Amazon river”, then this query would rank high in a category about rivers, the Amazon jungle, or even geographical categories. This query however would score lower in categories about companies, as the term “river” would not occur very frequently in these categories. Similarly, the message “Hiked to the Amazon today—what a beautiful jungle this is” would also rank high in the category of geographical messages, as the keywords “hiked” and “jungle” would appear often in such categories. Finally, the message matches 50% of the terms in the query (i.e., “Amazon”), ensuring that the message has a relation to the query and not just the category as a whole.
- the system includes a message server 3 that is coupled with a message database 5 and is in network communication with a plurality of messaging services and information sources 7 .
- the message server receives user generated messages from the plurality of messaging services and information sources.
- the received messages are stored in category records in the message database and keywords are selected from the received messages and associated with the category records.
- the message server also scores each message which is stored in the message database and associated with the corresponding category records.
- the message server 3 also receives search queries externally from, for example, messaging services or web servers or internally, for example, through a user interface in communication with the message server. For each received search query, the message server calculates a score that identifies a specific category. Utilizing the score, the server retrieves the associated category record from the message database. Messages stored or associated with the category record is retrieved by the server and transmitted back to a designated recipient, e.g., the sender of the search query. In one embodiment, the message server calculates or retrieves a final message score for the identified category for the stored messages. Utilizing the final message score, the server selects specific messages stored or associated with the category record for transmission to a designated recipient.
- search queries externally from, for example, messaging services or web servers or internally, for example, through a user interface in communication with the message server. For each received search query, the message server calculates a score that identifies a specific category. Utilizing the score, the server retrieves the associated category record from the message database. Messages stored or associated
- FIG. 2 a messaging classification generation process in accordance with various embodiments of the invention is illustrated.
- categories are first determined ( 21 ). Keywords are identified and used to populate tables for each determined category ( 22 ). In one embodiment, a medium is identified and used to select tables in which to populate with the keywords identified.
- Each message received is scored for each determined category ( 23 ).
- a messaging search and retrieval process starts with a search query being received ( 31 ).
- the query is scored for each category ( 32 ) and the category with the highest query score is selected ( 33 ). Messages with the highest score in this category and that contain some of the matched terms are returned as the message search results ( 34 ).
- terms or words are extracted from the query and matched to keywords for the determined category.
- each category includes a set of keywords with associated normalized keyword frequency calculations.
- a query score is determined utilizing the associated normalized keyword frequency calculations. For example, the query score for the geographical location category is 0.25 (0.2 (river)+0.05 (Amazon)). Likewise, the query score for the company category is 0.01 (0.01 (Amazon)+0 (river)).
- messages scores can also be generated by matching keywords for each category and utilizing the associated normalized keyword frequency calculations.
- the message score for the first message in the geographical category is 0.105 (0.05 (jungle)+0.05 (Amazon)+0.005 (hike)) and in the company category is 0.0106 (0.01 (Amazon)+0.0005 (jungle)+0.0001 (hike)).
- the second message score for the geographical category is 0.05 (Amazon) and for the company category 0.51 (0.5 (revenue)+0.01 (Amazon)).
- the geographic location category is selected to utilize the message scores for each of the messages.
- the search query is short, only one term matches, i.e., Amazon.
- the final score disregarding weight factors shows that the first message has a final score of 0.605 (0.105+0.5) greater than the final score of 0.55 (0.05+0.5) for the second message.
- the first message being the most relevant is provided as the search result for the given search query.
- a messaging search and retrieval process starts with a search query being received ( 41 ).
- a desired topic is also received ( 42 ).
- the query is scored for each category and the category with the highest query score is selected as the desired topic.
- multiple searches are then conducted ( 43 ).
- the multiple searches are parallel searches that retrieve messages that match the search query and iterative combinations of the search query and each of the top keywords from the desired topic.
- Retrieved or identified messages are scored ( 44 ) and sorted by score ( 45 ). Messages are placed or stored into equal size containers or bins or otherwise associated into groups in a storage medium or database ( 46 ).
- the messages in the top “N” number of bins messages are returned as the message search results ( 47 ).
- the “N” number of bins are defined by a user's preference or predetermined by the messaging and retrieval system based on for example an estimated or determined processor or resource utilization or availability.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Systems and methods of identifying and retrieving messages that satisfy a search query using the context of the message and term frequencies are provided. One embodiment includes identifying at least one category relevant to the search query, wherein a plurality of scored keywords are associated with each category, selecting at least one of the scored keywords that is relevant to an identified category, performing a plurality of searches of messages from a social networking messaging service to retrieve messages, where at least one search includes retrieving messages based on the original search query and one of the selected scored keywords, scoring the retrieved messages with respect to each of the at least one identified categories using at least the scored keywords relevant to each category, and returning at least the message with the highest score as the search result.
Description
- This application is a continuation of U.S. application Ser. No. 12/909,576 filed Oct. 21, 2010, which application claims the benefit of U.S. Provisional Patent Application No. 61/253,720, filed on Oct. 21, 2009, the disclosure of which is hereby incorporated by reference as if set forth in full herein.
- The invention generally relates to messaging in social networks, and more particularly relates to searching and retrieving messages using messaging context and keyword frequency.
- The Internet is a tremendous source of information, but finding a desired piece of information has been the preverbal “needle in the haystack”. For example, services like blogs provide data miners a daunting task of perusing through extensive amounts of text in order to find data that can become applicable for other uses. Hence, text data mining and information retrieval systems designed for large collections of lengthy documents have arisen out of the practical need of finding a piece of information in the massive collections of varied documents (such as the World Wide Web) or in databases of professional documents (such as medical or legal documents). Likewise, with the popularity of social networking increasing every day, the amount of user-generated content from these social networking sites continues to grow. Thus, finding information that is relevant and useable is quickly becoming more difficult.
- These popular social networking services or options, like Twitter messages or Facebook statuses, are typically much shorter in length than full web pages. This brevity however makes it increasingly difficult to use current filtering techniques specifically designed to sort through large amounts of data. For example, popular techniques, such as term frequency-inverse document frequency (TF-IDF) weighting, are dependent on both the collection of information, as well as the average document size, to be large.
- Additionally, in recent years there has been an increase in the number of very short documents, usually in the form of user generated messages or comments. Typical user generated messages have come from a number of sources, for example, instant messaging programs, such as AOL instant messenger; online chat rooms; text messages from mobile phones; message publication services, such as Twitter; and “Status” messages, such as those on Facebook pages. Thus, with the rising popularity of these messaging services, there has become a need to search the messages for their content. Some techniques of searching short messages consist simply of doing regular expression matching. However, these techniques typically fail when a term being searched is ambiguous and/or used in unrelated topics. For example, searching for “Amazon” could result in finding messages about the Amazon river and the online retailer, Amazon. Also, if additional terms are provided, many relevant messages may be omitted. For example, searching for “Amazon river” would not match the message “Hiked to the Amazon today—what a beautiful jungle this is”, whereas a webpage or a large document about the Amazon River would likely contain both the words “Amazon” and “river”, while a short message may not.
- Additionally, due to the tremendous volume of messages flowing through a social media network, the number of messages that can be stored over a period of time can be quite substantial. Searches looking for a particular word or words in messages can result in a similarly large search result of identified messages within a relatively small time period. For example, the more common the term the shorter the time period and/or the larger the number of most recent messages. Also, as previously noted, ambiguous terms, e.g., “Amazon” or “tool”, can also cause additional issues e.g., false positives.
- Accordingly, there is a need to provide a message searching and retrieval system to identify relevant short messages while overcoming the obstacles and shortcomings previously noted and recognized in the art.
- Generally, systems and methods of identifying and retrieving messages that satisfy a search query using the context of the message and term frequencies are provided. One embodiment includes identifying at least one category relevant to the search query, wherein a plurality of scored keywords are associated with each category, selecting at least one of the scored keywords that is relevant to an identified category, performing a plurality of searches of messages from a social networking messaging service to retrieve messages, where at least one search includes retrieving messages based on the original search query and one of the selected scored keywords, scoring the retrieved messages with respect to each of the at least one identified categories using at least the scored keywords relevant to each category, and returning at least the message with the highest score as the search result.
- In a further embodiment, the user indicates at least one category relevant to the search query.
- In another embodiment, the query is scored with respect to each category using the scored keywords associated with each category and at least one category is identified based upon the query score.
- In a yet further embodiment, selecting at least one of the scored keywords that is relevant to an identified category includes selecting a plurality of scored keywords relevant to an identified category, and performing a plurality of searches of messages from a social networking messaging service further includes performing a separate search for each of the selected scored keywords, where each search includes retrieving messages based on the original search query and the selected scored keyword.
- In yet another embodiment, performing a plurality of searches of messages from a social networking messaging service further includes performing a search, where the messages are retrieved based on the original search query.
- In a still further embodiment, scoring the retrieved messages with respect to each of the at least one identified categories using the scored keywords relevant to each category further includes excluding any scored keyword used in the search that retrieved the message from the scoring of the message.
- In still another embodiment, the searches include performing expression matching.
- In a further embodiment again, the searches include scoring the message with respect to the original search query and the selected scored keyword.
- In another embodiment again, scoring the retrieved messages further includes weighting messages based upon the amount of time that has elapsed since the message was posted.
- The above-mentioned and other features of this invention and the manner of obtaining and using them will become more apparent, and will be best understood, by reference to the following description, taken in conjunction with the accompanying drawings. The drawings depict only typical embodiments of the invention and do not therefore limit its scope.
-
FIG. 1 is a block diagram illustrating a messaging search and retrieval system in accordance with various embodiments of the invention. -
FIG. 2 is a flowchart illustrating a messaging classification or topic generation process in accordance with various embodiments of the invention. -
FIG. 3 is a flowchart illustrating a messaging search and retrieval process in accordance with various embodiments of the invention. -
FIG. 4 is a flowchart illustrating a messaging search and retrieval process in accordance with various embodiments of the invention. - In various embodiments, methods and systems are provided to enhance searching of messages in a social network. In one embodiment, a user provides a search query. Given the search query, topic relevance is utilized to determine a particular topic or topics appropriate for the search query. In another embodiment, the user specifies the desired topic the search results should fall into. In one embodiment, topics or categories are set up with associated keywords in which short messages are identified and placed in an appropriate category. In various embodiments, categories are subject or topic containers that include, but are not limited, to a person, place or thing. Keywords extracted from short messages that are relevant to a category are associated with the corresponding category. With the topic and extracted keywords, one or more (“N”) parallel searches are conducted to assist in locating the relevant messages. Such searches include but are not limited to the following:
-
- Original query that comprises the search query for information on a specific topic.
- Original query plus high frequency first keyword from the identified topic.
- Original query plus high frequency second keyword from the identified topic.
- Original query plus high frequency last keyword from the identified topic.
- The number of concurrent searches may be limited to the highest frequency N keywords to limit the time it takes to conduct the search.
- Subsequently, each message for a given topic is scored and ranked by score. The most relevant and, in some cases, the most recent relevant messages are returned to the searcher, e.g., a user or client system, that provided the search query. In order for fair scoring, the additional keyword may not be counted in the scoring of the message.
- In one embodiment, categories of interest are generated by identifying a specific subject or topic, such as a person, place or an object. The categories in one embodiment are refined based on usage performance. In particular, categories focused on things perform well with narrower descriptions having a better performance. For example, a category such as “sports” would not perform as well as “basketball”, which would not perform as well as “UCLA basketball”. These fine grained categories however can come at the cost of increased processing time and storage. In one embodiment, each category is unique having no overlap with other categories.
- For each category generated, one or more keywords are identified and associated with each category. In one embodiment, keywords are stored in tables in which each category may have multiple tables. The keywords that are stored come from messages in the desired medium. As such, in one embodiment, within each category, there is a specific table with one or more specific keywords for each medium. Each medium, e.g., messaging service, can have different message formats and/or terminology used. For example, text messages from a mobile phone can and will often look quite different from messages posted to Facebook. Thus, keywords from other sources in one embodiment are only used as a search query into the desired message format. In this way the keyword tables can account for slang terms and other such differentiators specific to the medium. In a number of embodiments, one or more of the following processes can be used to identify the keywords.
- For a given category, e.g., musical artists, there can be ambiguous and unambiguous terminology. For example, an artist name can be ambiguous (“the Beatles”) or unambiguous (“Paul McCartney”). Utilizing unambiguous terminology, every keyword used in a message containing “Paul McCartney” would be stored, and the usage frequencies of the keywords would be used as a measure of how related to the musical artist category a given query would be.
- A message database in one embodiment would allow for manual tagging of information. These tags are created by users as a means to self-classify messages. One example is preceding a tag name with a unique character, e.g., a “#” character. For example, if a message contains “#oscars”, then presumably the message is about the Oscars awards ceremony. As such, keywords about the Oscars awards ceremony can be generated by finding every message with the “#oscars” tag, and store each of the keywords present in the located messages. The resulting table would thus include words commonly used to describe the ceremony, and thus a message that did not have a “#oscars” tag can be located using the table.
- In one embodiment, a third party database or similar resource can be used to identify keywords. For example, utilizing a resource, such as Wikipedia, as a large collection of words related to a category, a TF-IDF analysis of this resource would yield the most important keywords for a given category. Messages could be searched to locate messages that used these keywords in which each of the resulting message-based keywords are stored in the associated category's table.
- A message score for a given category is a measure of how likely its keywords are present in all the messages related to the category. The message scores are defined by
-
- where m is a given message, c is a given category, g is a keyword in the message, and P(g,c) is the normalized frequency of a message in category c containing the keyword g. The function f is a thresholding or quantization function.
- Most category tables have probability distributions that follow a power-law distribution. However, the resulting tables may have a large number of small values, or conversely, a small number of large values. In such cases it may be helpful to pass this table through a quantization function. The simplest function is simply a threshold, by which any keywords that do not pass the threshold have frequencies set to 0. More complex quantizers are used to simplify the table, boost certain values, or otherwise be shaped to improve the scoring performance.
- A final message score is defined as wscore·score(m,cq)+wmatch·match(m,q), where w is a weight [0 . . . 1], score(m,cq) is the score of the message in the query's category, and match(m,q) is the percentage of keywords that match between message m and the query q. This value is used to ensure that the messages have some similarity to the query, even if they both score high in a category.
- Referring now to an example, if the query is “Amazon river”, then this query would rank high in a category about rivers, the Amazon jungle, or even geographical categories. This query however would score lower in categories about companies, as the term “river” would not occur very frequently in these categories. Similarly, the message “Hiked to the Amazon today—what a beautiful jungle this is” would also rank high in the category of geographical messages, as the keywords “hiked” and “jungle” would appear often in such categories. Finally, the message matches 50% of the terms in the query (i.e., “Amazon”), ensuring that the message has a relation to the query and not just the category as a whole.
- Referring now to drawings, a message classification and retrieval system is shown in
FIG. 1 . The system includes amessage server 3 that is coupled with amessage database 5 and is in network communication with a plurality of messaging services andinformation sources 7. The message server receives user generated messages from the plurality of messaging services and information sources. The received messages are stored in category records in the message database and keywords are selected from the received messages and associated with the category records. The message server also scores each message which is stored in the message database and associated with the corresponding category records. Although the system is shown as storing messages, in many embodiments messages are retrieved from the messaging service(s) as needed. - The
message server 3 also receives search queries externally from, for example, messaging services or web servers or internally, for example, through a user interface in communication with the message server. For each received search query, the message server calculates a score that identifies a specific category. Utilizing the score, the server retrieves the associated category record from the message database. Messages stored or associated with the category record is retrieved by the server and transmitted back to a designated recipient, e.g., the sender of the search query. In one embodiment, the message server calculates or retrieves a final message score for the identified category for the stored messages. Utilizing the final message score, the server selects specific messages stored or associated with the category record for transmission to a designated recipient. - In
FIG. 2 , a messaging classification generation process in accordance with various embodiments of the invention is illustrated. Initially, categories are first determined (21). Keywords are identified and used to populate tables for each determined category (22). In one embodiment, a medium is identified and used to select tables in which to populate with the keywords identified. Each message received is scored for each determined category (23). - Referring now to
FIG. 3 , a messaging search and retrieval process starts with a search query being received (31). The query is scored for each category (32) and the category with the highest query score is selected (33). Messages with the highest score in this category and that contain some of the matched terms are returned as the message search results (34). In one embodiment, terms or words are extracted from the query and matched to keywords for the determined category. - Referring back to the “Amazon river” query example, two potential categories are established. It should be appreciated that the number of categories may be varied and numerous along with the associated keywords and messages, but are shown here in a limited fashion to facilitate the description of the invention. It should also be appreciated that although unigrams are largely described, bigrams or two words being considered as a single token, e.g., keyword or category, can also be utilized. Multiple or “N” words can also be used however there can be a diminishing return as more words are used. The first category is a geographical location category and the second category is a company category. As shown in the following tables, each category includes a set of keywords with associated normalized keyword frequency calculations.
-
TABLE 1 Geographical Location Normalized Keyword Frequency Keywords 0.2 river . . . . . . 0.05 jungle 0.05 Amazon 0.005 hike -
TABLE 2 Company Normalized Keyword Frequency Keywords 0.5 revenue 0.2 employee 0.01 Amazon . . . . . . 0.0005 jungle 0.0001 hike - Utilizing the tables and in particular matching the keywords of each category with the terms in the search query, a query score is determined utilizing the associated normalized keyword frequency calculations. For example, the query score for the geographical location category is 0.25 (0.2 (river)+0.05 (Amazon)). Likewise, the query score for the company category is 0.01 (0.01 (Amazon)+0 (river)).
- Given a first message, “Hiked to the Amazon today, what a beautiful jungle this is” and a second message, “Amazon announced revenue up 38%”, messages scores can also be generated by matching keywords for each category and utilizing the associated normalized keyword frequency calculations. For example, the message score for the first message in the geographical category is 0.105 (0.05 (jungle)+0.05 (Amazon)+0.005 (hike)) and in the company category is 0.0106 (0.01 (Amazon)+0.0005 (jungle)+0.0001 (hike)). The second message score for the geographical category is 0.05 (Amazon) and for the company category 0.51 (0.5 (revenue)+0.01 (Amazon)).
- Since the query score for the geographic category (0.25) is higher or larger than the query score for the company category (0.1), the geographic location category is selected to utilize the message scores for each of the messages. Thus, score (m1, geographic)=0.105 and score (m2, geographic)=0.05, where m1 and m2 are respective first and second messages. Since in the provided example, the search query is short, only one term matches, i.e., Amazon. Thus, the match values for each message are match(m1, q)=0.5 and match(m2, q)=0.5, where q is the query. Accordingly, the final score disregarding weight factors shows that the first message has a final score of 0.605 (0.105+0.5) greater than the final score of 0.55 (0.05+0.5) for the second message. Thus, the first message being the most relevant is provided as the search result for the given search query.
- Referring now to
FIG. 4 , in one embodiment, a messaging search and retrieval process starts with a search query being received (41). A desired topic is also received (42). In one embodiment, the query is scored for each category and the category with the highest query score is selected as the desired topic. Utilizing the query and keywords from the desired topic, multiple searches are then conducted (43). In one embodiment, the multiple searches are parallel searches that retrieve messages that match the search query and iterative combinations of the search query and each of the top keywords from the desired topic. Retrieved or identified messages are scored (44) and sorted by score (45). Messages are placed or stored into equal size containers or bins or otherwise associated into groups in a storage medium or database (46). The messages in the top “N” number of bins messages are returned as the message search results (47). In one embodiment, the “N” number of bins are defined by a user's preference or predetermined by the messaging and retrieval system based on for example an estimated or determined processor or resource utilization or availability. - Although the present invention has been described in certain specific aspects, many additional modifications and variations would be apparent to those skilled in the art. It is therefore to be understood that the present invention may be practiced otherwise than specifically described, including various changes in the size, shape and materials, without departing from the scope and spirit of the present invention. Thus, embodiments of the present invention should be considered in all respects as illustrative and not restrictive.
Claims (9)
1. A method of identifying messages on a social networking messaging service that satisfy a search query, the method comprising:
identifying at least one category relevant to the search query, wherein a plurality of scored keywords are associated with each category;
selecting at least one of the scored keywords that is relevant to an identified category;
performing a plurality of searches of messages from a social networking messaging service to retrieve messages, where at least one search includes retrieving messages based on the original search query and one of the selected scored keywords;
scoring the retrieved messages with respect to each of the at least one identified categories using at least the scored keywords relevant to each category; and
returning at least the message with the highest score as the search result.
2. The method of claim 1 , wherein the user indicates at least one category relevant to the search query.
3. The method of claim 1 , wherein the query is scored with respect to each category using the scored keywords associated with each category and at least one category is identified based upon the query score.
4. The method of claim 1 , wherein:
selecting at least one of the scored keywords that is relevant to an identified category comprises selecting a plurality of scored keywords relevant to an identified category; and
performing a plurality of searches of messages from a social networking messaging service further comprises performing a separate search for each of the selected scored keywords, where each search includes retrieving messages based on the original search query and the selected scored keyword.
5. The method of claim 4 , wherein performing a plurality of searches of messages from a social networking messaging service further comprises performing a search, where the messages are retrieved based on the original search query.
6. The method of claim 1 , wherein scoring the retrieved messages with respect to each of the at least one identified categories using the scored keywords relevant to each category further comprises excluding any scored keyword used in the search that retrieved the message from the scoring of the message.
7. The method of claim 1 , wherein the searches include performing expression matching.
8. The method of claim 1 , wherein the searches include scoring the message with respect to the original search query and the selected scored keyword.
9. The method of claim 1 , wherein scoring the retrieved messages further comprises weighting messages based upon the amount of time that has elapsed since the message was posted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/740,475 US20130179426A1 (en) | 2009-10-21 | 2013-01-14 | Search and Retrieval Methods and Systems of Short Messages Utilizing Messaging Context and Keyword Frequency |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25372009P | 2009-10-21 | 2009-10-21 | |
US12/909,576 US8380697B2 (en) | 2009-10-21 | 2010-10-21 | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
US13/740,475 US20130179426A1 (en) | 2009-10-21 | 2013-01-14 | Search and Retrieval Methods and Systems of Short Messages Utilizing Messaging Context and Keyword Frequency |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/909,576 Continuation US8380697B2 (en) | 2009-10-21 | 2010-10-21 | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130179426A1 true US20130179426A1 (en) | 2013-07-11 |
Family
ID=43880081
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/909,576 Active 2030-12-12 US8380697B2 (en) | 2009-10-21 | 2010-10-21 | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
US13/740,475 Abandoned US20130179426A1 (en) | 2009-10-21 | 2013-01-14 | Search and Retrieval Methods and Systems of Short Messages Utilizing Messaging Context and Keyword Frequency |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/909,576 Active 2030-12-12 US8380697B2 (en) | 2009-10-21 | 2010-10-21 | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
Country Status (1)
Country | Link |
---|---|
US (2) | US8380697B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307003A1 (en) * | 2008-05-16 | 2009-12-10 | Daniel Benyamin | Social advertisement network |
US8554854B2 (en) | 2009-12-11 | 2013-10-08 | Citizennet Inc. | Systems and methods for identifying terms relevant to web pages using social network messages |
US9002892B2 (en) | 2011-08-07 | 2015-04-07 | CitizenNet, Inc. | Systems and methods for trend detection using frequency analysis |
US9053497B2 (en) | 2012-04-27 | 2015-06-09 | CitizenNet, Inc. | Systems and methods for targeting advertising to groups with strong ties within an online social network |
US9063927B2 (en) | 2011-04-06 | 2015-06-23 | Citizennet Inc. | Short message age classification |
US9135666B2 (en) | 2010-10-19 | 2015-09-15 | CitizenNet, Inc. | Generation of advertising targeting information based upon affinity information obtained from an online social network |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8504550B2 (en) * | 2009-05-15 | 2013-08-06 | Citizennet Inc. | Social network message categorization systems and methods |
US9047381B1 (en) * | 2009-07-17 | 2015-06-02 | Open Invention Network, Llc | Method and apparatus of obtaining and organizing relevant user defined information |
US8380697B2 (en) | 2009-10-21 | 2013-02-19 | Citizennet Inc. | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
US8615434B2 (en) | 2010-10-19 | 2013-12-24 | Citizennet Inc. | Systems and methods for automatically generating campaigns using advertising targeting information based upon affinity information obtained from an online social network |
US8943147B2 (en) * | 2010-12-15 | 2015-01-27 | International Business Machines Corporation | Sending a chat context to a recipient |
US20120310843A1 (en) * | 2011-06-03 | 2012-12-06 | Fujitsu Limited | Method and apparatus for updating prices for keyword phrases |
US9461897B1 (en) | 2012-07-31 | 2016-10-04 | United Services Automobile Association (Usaa) | Monitoring and analysis of social network traffic |
CN103123649B (en) * | 2013-01-29 | 2016-04-20 | 广州一找网络科技有限公司 | A kind of message searching method based on microblog and system |
US9680782B2 (en) * | 2013-07-29 | 2017-06-13 | Dropbox, Inc. | Identifying relevant content in email |
US9311490B2 (en) * | 2013-10-21 | 2016-04-12 | Google Technology Holdings LLC | Delivery of contextual data to a computing device while preserving data privacy |
US10122666B2 (en) * | 2014-03-11 | 2018-11-06 | International Business Machines Corporation | Retrieving and reusing stored message content |
US9582486B2 (en) | 2014-05-13 | 2017-02-28 | Lc Cns Co., Ltd. | Apparatus and method for classifying and analyzing documents including text |
US10102273B2 (en) * | 2014-12-30 | 2018-10-16 | Facebook, Inc. | Suggested queries for locating posts on online social networks |
KR101647949B1 (en) * | 2015-07-29 | 2016-08-12 | 주식회사 텍스트팩토리 | Task distribution method in personal assistant service using text messages |
US10606899B2 (en) * | 2016-05-23 | 2020-03-31 | International Business Machines Corporation | Categorically filtering search results |
US10474704B2 (en) * | 2016-06-27 | 2019-11-12 | International Business Machines Corporation | Recommending documents sets based on a similar set of correlated features |
US10374996B2 (en) | 2016-07-27 | 2019-08-06 | Microsoft Technology Licensing, Llc | Intelligent processing and contextual retrieval of short message data |
US11205103B2 (en) | 2016-12-09 | 2021-12-21 | The Research Foundation for the State University | Semisupervised autoencoder for sentiment analysis |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050204002A1 (en) * | 2004-02-16 | 2005-09-15 | Friend Jeffrey E. | Dynamic online email catalog and trust relationship management system and method |
US20070124432A1 (en) * | 2000-10-11 | 2007-05-31 | David Holtzman | System and method for scoring electronic messages |
US20080091670A1 (en) * | 2006-10-11 | 2008-04-17 | Collarity, Inc. | Search phrase refinement by search term replacement |
US20090132500A1 (en) * | 2007-11-21 | 2009-05-21 | Chacha Search, Inc. | Method and system for improving utilization of human searchers |
US20090198675A1 (en) * | 2007-10-10 | 2009-08-06 | Gather, Inc. | Methods and systems for using community defined facets or facet values in computer networks |
US7603349B1 (en) * | 2004-07-29 | 2009-10-13 | Yahoo! Inc. | User interfaces for search systems using in-line contextual queries |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758257A (en) * | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
CN1150515C (en) * | 1995-03-07 | 2004-05-19 | 英国电讯公司 | Speech recognition device |
US6571234B1 (en) * | 1999-05-11 | 2003-05-27 | Prophet Financial Systems, Inc. | System and method for managing online message board |
US6766349B1 (en) * | 1999-09-24 | 2004-07-20 | Sun Microsystems, Inc. | Mechanism for obtaining a thread from, and returning a thread to, a thread pool without attaching and detaching |
US7421395B1 (en) * | 2000-02-18 | 2008-09-02 | Microsoft Corporation | System and method for producing unique account names |
US7047229B2 (en) * | 2000-08-08 | 2006-05-16 | America Online, Inc. | Searching content on web pages |
US20020062368A1 (en) * | 2000-10-11 | 2002-05-23 | David Holtzman | System and method for establishing and evaluating cross community identities in electronic forums |
US7159178B2 (en) * | 2001-02-20 | 2007-01-02 | Communispace Corp. | System for supporting a virtual community |
US20040230572A1 (en) * | 2001-06-22 | 2004-11-18 | Nosa Omoigui | System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation |
US7089226B1 (en) * | 2001-06-28 | 2006-08-08 | Microsoft Corporation | System, representation, and method providing multilevel information retrieval with clarification dialog |
IES20020159A2 (en) * | 2002-03-01 | 2003-09-03 | Baydon Solutions Ltd | Content management system |
US7734627B1 (en) * | 2003-06-17 | 2010-06-08 | Google Inc. | Document similarity detection |
WO2005020093A1 (en) * | 2003-08-21 | 2005-03-03 | Idilia Inc. | Internet searching using semantic disambiguation and expansion |
US7523085B2 (en) * | 2004-09-30 | 2009-04-21 | Buzzmetrics, Ltd An Israel Corporation | Topical sentiments in electronically stored communications |
US7765178B1 (en) * | 2004-10-06 | 2010-07-27 | Shopzilla, Inc. | Search ranking estimation |
US7349896B2 (en) * | 2004-12-29 | 2008-03-25 | Aol Llc | Query routing |
US7685197B2 (en) * | 2005-05-05 | 2010-03-23 | Yahoo! Inc. | System and methods for indentifying the potential advertising value of terms found on web pages |
US8903810B2 (en) * | 2005-12-05 | 2014-12-02 | Collarity, Inc. | Techniques for ranking search results |
US7743051B1 (en) * | 2006-01-23 | 2010-06-22 | Clearwell Systems, Inc. | Methods, systems, and user interface for e-mail search and retrieval |
US8301616B2 (en) * | 2006-07-14 | 2012-10-30 | Yahoo! Inc. | Search equalizer |
WO2008011454A2 (en) * | 2006-07-18 | 2008-01-24 | Chacha Search, Inc. | Anonymous search system using human searchers |
US7747629B2 (en) * | 2006-08-23 | 2010-06-29 | International Business Machines Corporation | System and method for positional representation of content for efficient indexing, search, retrieval, and compression |
US7958104B2 (en) * | 2007-03-08 | 2011-06-07 | O'donnell Shawn C | Context based data searching |
US7617195B2 (en) * | 2007-03-28 | 2009-11-10 | Xerox Corporation | Optimizing the performance of duplicate identification by content |
US7657515B1 (en) * | 2007-03-30 | 2010-02-02 | Alexa Internet | High efficiency document search |
US7925496B1 (en) * | 2007-04-23 | 2011-04-12 | The United States Of America As Represented By The Secretary Of The Navy | Method for summarizing natural language text |
US20080294624A1 (en) * | 2007-05-25 | 2008-11-27 | Ontogenix, Inc. | Recommendation systems and methods using interest correlation |
US10762080B2 (en) * | 2007-08-14 | 2020-09-01 | John Nicholas and Kristin Gross Trust | Temporal document sorter and method |
US8442073B2 (en) * | 2007-10-25 | 2013-05-14 | Siemens Aktiengesellschaft | Method and an apparatus for analyzing a communication network |
US8799068B2 (en) * | 2007-11-05 | 2014-08-05 | Facebook, Inc. | Social advertisements and other informational messages on a social networking website, and advertising model for same |
EP2260373A4 (en) * | 2008-02-25 | 2016-08-03 | Atigeo Llc | Determining relevant information for domains of interest |
US8086631B2 (en) * | 2008-12-12 | 2011-12-27 | Microsoft Corporation | Search result diversification |
US9521013B2 (en) * | 2008-12-31 | 2016-12-13 | Facebook, Inc. | Tracking significant topics of discourse in forums |
US8214357B2 (en) * | 2009-02-27 | 2012-07-03 | Research In Motion Limited | System and method for linking ad tagged words |
US20100268628A1 (en) * | 2009-04-15 | 2010-10-21 | Attributor Corporation | Managing controlled content on a web page having revenue-generating code |
US8504550B2 (en) * | 2009-05-15 | 2013-08-06 | Citizennet Inc. | Social network message categorization systems and methods |
US9292855B2 (en) * | 2009-09-08 | 2016-03-22 | Primal Fusion Inc. | Synthesizing messaging using context provided by consumers |
US8380697B2 (en) | 2009-10-21 | 2013-02-19 | Citizennet Inc. | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency |
US8554854B2 (en) * | 2009-12-11 | 2013-10-08 | Citizennet Inc. | Systems and methods for identifying terms relevant to web pages using social network messages |
US20120004959A1 (en) * | 2010-05-07 | 2012-01-05 | CitizenNet, Inc. | Systems and methods for measuring consumer affinity and predicting business outcomes using social network activity |
US8615434B2 (en) * | 2010-10-19 | 2013-12-24 | Citizennet Inc. | Systems and methods for automatically generating campaigns using advertising targeting information based upon affinity information obtained from an online social network |
US8612293B2 (en) * | 2010-10-19 | 2013-12-17 | Citizennet Inc. | Generation of advertising targeting information based upon affinity information obtained from an online social network |
-
2010
- 2010-10-21 US US12/909,576 patent/US8380697B2/en active Active
-
2013
- 2013-01-14 US US13/740,475 patent/US20130179426A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070124432A1 (en) * | 2000-10-11 | 2007-05-31 | David Holtzman | System and method for scoring electronic messages |
US20050204002A1 (en) * | 2004-02-16 | 2005-09-15 | Friend Jeffrey E. | Dynamic online email catalog and trust relationship management system and method |
US7603349B1 (en) * | 2004-07-29 | 2009-10-13 | Yahoo! Inc. | User interfaces for search systems using in-line contextual queries |
US20080091670A1 (en) * | 2006-10-11 | 2008-04-17 | Collarity, Inc. | Search phrase refinement by search term replacement |
US20090198675A1 (en) * | 2007-10-10 | 2009-08-06 | Gather, Inc. | Methods and systems for using community defined facets or facet values in computer networks |
US20090132500A1 (en) * | 2007-11-21 | 2009-05-21 | Chacha Search, Inc. | Method and system for improving utilization of human searchers |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307003A1 (en) * | 2008-05-16 | 2009-12-10 | Daniel Benyamin | Social advertisement network |
US8554854B2 (en) | 2009-12-11 | 2013-10-08 | Citizennet Inc. | Systems and methods for identifying terms relevant to web pages using social network messages |
US9135666B2 (en) | 2010-10-19 | 2015-09-15 | CitizenNet, Inc. | Generation of advertising targeting information based upon affinity information obtained from an online social network |
US9063927B2 (en) | 2011-04-06 | 2015-06-23 | Citizennet Inc. | Short message age classification |
US9002892B2 (en) | 2011-08-07 | 2015-04-07 | CitizenNet, Inc. | Systems and methods for trend detection using frequency analysis |
US9053497B2 (en) | 2012-04-27 | 2015-06-09 | CitizenNet, Inc. | Systems and methods for targeting advertising to groups with strong ties within an online social network |
Also Published As
Publication number | Publication date |
---|---|
US20110093455A1 (en) | 2011-04-21 |
US8380697B2 (en) | 2013-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8380697B2 (en) | Search and retrieval methods and systems of short messages utilizing messaging context and keyword frequency | |
US8504550B2 (en) | Social network message categorization systems and methods | |
US8554854B2 (en) | Systems and methods for identifying terms relevant to web pages using social network messages | |
US9324112B2 (en) | Ranking authors in social media systems | |
US7949643B2 (en) | Method and apparatus for rating user generated content in search results | |
US20070136280A1 (en) | Factoid-based searching | |
CN102663022B (en) | Classification recognition method based on URL (uniform resource locator) | |
WO2016000555A1 (en) | Methods and systems for recommending social network-based content and news | |
US8977625B2 (en) | Inference indexing | |
US8812602B2 (en) | Identifying conversations in a social network system having relevance to a first file | |
US8909720B2 (en) | Identifying message threads of a message storage system having relevance to a first file | |
CN103631791B (en) | Information fusion classification display method and system | |
US11249993B2 (en) | Answer facts from structured content | |
CN109952571B (en) | Context-based image search results | |
US11809423B2 (en) | Method and system for interactive keyword optimization for opaque search engines | |
CN103886020A (en) | Quick search method of real estate information | |
CN115905489B (en) | Method for providing bidding information search service | |
WO2010096986A1 (en) | Mobile search method and device | |
CN114201680A (en) | Method for recommending marketing product content to user | |
CN105159898A (en) | Searching method and searching device | |
CN108509449B (en) | Information processing method and server | |
CN116610853A (en) | Search recommendation method, search recommendation system, computer device, and storage medium | |
Singh et al. | Multi-feature segmentation and cluster based approach for product feature categorization | |
CN105159899B (en) | Searching method and device | |
Chuang et al. | Improving the effectiveness of POI search by associated information summarization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CITIZENNET INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BENYAMIN, DANIEL;HALL, MICHAEL AARON;REEL/FRAME:029734/0821 Effective date: 20101028 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |