Patent Publication Number: US-9906588-B2

Title: Server and method for extracting content for commodity

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims priority to Taiwanese Patent Application No. 104116870 filed on May 26, 2015, the contents of which are incorporated by reference herein. 
     FIELD 
     The subject matter herein generally relates to information processing technology. 
     BACKGROUND 
     Social platforms, including forums and blogs, can provide release of information or the exchange of ideas. The information posted on the forums can be moderated or unmoderated. In moderated forums a user first posts a message and then a moderator reviews it prior to being public. However, most forums are unmoderated whereby users are generally free to post what they want and where they want. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. 
         FIG. 1  is a block diagram of one embodiment of a server. 
         FIG. 2  is a block diagram of one embodiment of function modules of content extracting system. 
         FIG. 3  illustrates a flowchart of one embodiment of a method for extracting content for a commodity 
         FIG. 4  illustrates a flowchart of one embodiment of a method for naming a commodity. 
         FIG. 5  illustrates a flowchart of one embodiment of a method for selecting a representative picture for a commodity. 
         FIG. 6  illustrates a flowchart of one embodiment of a method for generating a content summary regarding a commodity. 
     
    
    
     DETAILED DESCRIPTION 
     It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the present disclosure. 
     The disclosure, referring to the accompanying drawings, is illustrated by way of examples and not by way of limitation. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.” 
     The term “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules can be embedded in firmware, such as in an EPROM. The modules described herein can be implemented as either software and/or hardware modules and can be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising” means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like. 
       FIG. 1  illustrates one embodiment of a server. In at least one embodiment as shown in  FIG. 1 , a server  100  may include, but is not limited to, a content extracting system  10 , a storage device  11 , at least one processor  12 , and a communication unit  13 . The server  100  can be a network server, a cloud server, or any other computing device.  FIG. 1  illustrates only one example of the server  100 . Those skilled in the art may understand that the server  100  can include more or fewer components than illustrated, or have a different configuration of the various components in other embodiments. 
     In at least one embodiment, the storage device  11  can include various types of non-transitory computer-readable storage mediums. For example, the storage device  11  can be an internal storage system, such as a flash memory, a random access memory (RAM) for temporary storage of information, and/or a read-only memory (ROM) for permanent storage of information. The storage device  11  can also be an external storage system, such as a hard disk, a storage card, or a data storage medium. 
     In at least one embodiment, the at least one processor  12  can be a central processing unit (CPU), a microprocessor, or other data processing chip that performs functions of the content extracting system  10  in the server  100 . 
     In at least one embodiment, the communication unit  13  can communicate with Internet  200 . In some embodiments, the communication unit  13  can obtain information from the Internet  200  and/or upload information to the Internet  200 . 
     In at least one embodiment, the content extracting system  10  can provide a representative picture and a content summary for a commodity. The content extracting system  10  can provide users with data, reference information, and answers to query, to help users to judge and make important purchase decisions quickly. 
       FIG. 2  is a block diagram of one embodiment of function modules of the content extracting system  10 . In at least one embodiment, the content extracting system  10  can include an acquiring module  101 , a recognizing module  102 , a selection module  103 , a generation module  104 , and a query module  105 . The function modules can include computerized code in the form of one or more programs which are stored in the storage device  11  of the server  100 . The at least one processor  12  executes the computerized code to provide functions. 
     The acquiring module  101  can acquire a plurality of web articles from the Internet  200  through the communication unit  13  of the server  100 . 
     In some embodiments, the acquiring module  101  can use a method, such as crawler arithmetic, robot arithmetic, or spider arithmetic, to acquire at regular intervals a plurality of web articles from the Internet  200 . 
     In some embodiments, the plurality of web articles can include blogs, forums, review sites, or any other active server pages. 
     The recognizing module  102  can recognize web articles associated with a predetermined commodity from the acquired web articles and extract a name for the commodity from the recognized web articles. The recognized web articles and the commodity name can be linked and stored in a database  300 . For example, the database  300  can be a database of restaurants. 
     In some embodiments, the commodity can be a computer, communication, and consumer electronics ( 3 C) product, a household appliance, a motor vehicle, beauty makeup product, or restaurants. 
     As an example, a restaurant and blogs acquired from the Internet  200  can be a commodity and the blogs can be web articles. The recognizing module  102  can determine whether the blogs are associated with food or a restaurant. In some embodiments, the recognizing module  102  can first express each of the plurality of web articles as bag-of-words feature vectors. A bag-of-words model is a simplifying representation used in natural language processing and information retrieval (IR). In this model, a texts (such as a sentence or a document) is represented as the bag (multisite) of its words, disregarding grammar and even word order but keeping multiplicity. Recently, the bag-of-words model has also been used for computer vision. The bag-of-words model is commonly used in methods of document classification, where the (frequency of) occurrence of each word is used as a feature for training a classifier. Then, the recognizing module  102  can determine whether or not a blog is associated with food through a food recognition classifier which is set up and limited in advance. 
     In some embodiments, the food recognition classifier can be set up as follows: first, preparing two classes of web articles (one class of web articles relating to food can be as positive samples, another class of web articles not relating to food can be as negative samples) as conditions. Second, expressing the positive samples and the negative samples as bags-of-words feature vectors. Third, delimiting these bags-of-words feature vectors using a machine learning classification algorithm (e.g. Support Vector Machine, Random Forests, or Neural Network). Thus a food recognition classifier can be set up and given a target through the above three steps. 
     In some embodiments, when a recognition is made that blogs acquired from the Internet  200  are not associated with food, the blogs are useless That is to say, when blogs have been recognized as not being associated with food, the blogs will not be sent to the subsequent steps and not be stored in the database of restaurants. When a recognition is made that blogs acquired from the Internet  200  are associated with food, the blogs are reserved. When blogs have been recognized as being associated with food, the blogs will be sent to subsequent steps and stored in the database of restaurants. 
     In first embodiment, the recognizing module  102  can extract a name for the commodity through a method of a structured style. Taking a particular restaurant as an example, the recognizing module  102  can search whether there are structured style sentences existing in the web articles that have been recognized as being associated with food. The structured style can comprise: name: XXX, address: XXX, and telephone number: XXX. If there are structured style sentences existing in the web articles that have been recognized as being associated with food, the recognizing module  102  fetches the name, address, and telephone number. Then, the recognizing module  102  can search for the name, address, and telephone of a commodity in a restaurant database. If the name, address, or telephone number of a commodity are not in the restaurant database, the recognizing module  102  stores the name, address, and telephone of the commodity, and stores the web articles that have been recognized as being associated with food. If the name, address, and telephone number of a commodity do exist in the restaurant database, the recognizing module  102  merely stores the web articles that have been recognized as being associated with food. 
     In second embodiment, the recognizing module  102  can extract a name for the commodity through a method of a non-structured style. Taking a restaurant as an example, the recognizing module  102  can search texts of the web articles, and segment each sentence of the texts into several units/words through a natural language processing technology. The natural language processing technology is very well known and is not described here. Each segmented unit/word can be treated as a possible candidate name. The recognizing module  102  selects a segmented unit/word which has the most frequent appearance. For example, XXX is a century-old shop, a special food of XXX is sour pickled cabbage, an address of XXX is ZhongShan road. The “XXX” appeared three times, but the features of century-old shop, a special food, and an address appeared only one time. Finally, if a number of appearances of a segmented unit/word is more than a predetermined value (e.g. ten), the segmented unit/word can be treated as the commodity name. 
     The selecting module  103  can select a representative picture for the commodity from all pictures in the recognized web articles, and can store the representative picture in the database  300 . 
     In some embodiments, all the pictures in recognized web articles can comprise pictures representing commodity information and pictures as content information in relation to the commodity. 
     In some embodiments, the selecting module  103  can first preprocess all the pictures in recognized web articles. The totality of pictures in the recognized web articles can be preprocessed by the following steps: first, removing a picture having a face of a user, removing a picture of which the pixel value is too low, and removing a black and white picture. Second, extracting feature vectors of each preprocessed picture. The feature vectors can be colors, saturation, intensity, contrast, clarity, and bags-of-visual-words vectors. Third, transmitting the feature vectors to an image recognition classifier. The image recognition classifier can grade the feature vectors from high to low; and the grade can a basis for selecting a representative picture. Fourth, selecting a representative picture for the commodity according to a highest grade. The representative picture can stimulate consumer&#39;s appetite, and can reflect the characteristics of the restaurant. 
     The image recognition classifier can be generated as follows: preparing two classes of pictures (one class of pictures can be positive samples, another class of pictures can be negative samples) for setting conditions. Then, expressing the positive samples and the negative samples as feature vectors. Finally, setting up the conditions in relation to these feature vectors using a machine learning classification algorithm (e.g. Support Vector Machine, Random Forests, and Neural Network). Thus an image recognition classifier can be generated through the above three steps. 
     The generation module  104  can generate a content summary of the commodity from user reviews in the recognized web articles. 
     First, the generation module  104  can segment user reviews in the recognized web articles into sentences and extract keywords after segmenting the sentence into words. For example, a sentence which is “service of courses is fast,” can be segmented as “service of courses is/v fast/a ./w”, wherein “/v” is a verb, “/a” is a adjective, and “/w” is punctuation. Then, the generation module  104  determines whether the segmented words match with words in feature thesaurus. There are four polarities of the features thesaurus: taste, service, environment, and price. If the segmented words match with words in feature thesaurus, the segmented words are extracted as keywords, and a polarity of the words is identified. If the segmented words are not matched with words in feature thesaurus, a polarity of the words is identified as otherwise. For example, a segmented word “delicious/mouth feel/drink” is matched with a word “taste” in feature thesaurus, and the segmented word “delicious/mouth feel/drink” can be identified as taste polarity. 
     Second, the generation module  104  can traverse every segmented word, and extract emotion words according to emotion thesaurus, and determine a polarity of the emotion words. For example, there are two emotion features of thesaurus: good emotion and bad emotion. The emotion words of good emotion in thesaurus can comprise tasty, delicious, delicate, and so on. The emotion words in thesaurus can comprise: unpalatable, greasy, raw and so on. Then, the generation module  104  compares whether a first number (of emotion words in the good emotions of thesaurus) is much more than a second number (of emotion words in the bad emotion of thesaurus). If the first number is much more than the second number, a polarity of the emotion words can be determined as good emotion. If the first number is the same or not much more than the second number, a polarity of the emotion words can be determined as being of bad emotion. 
     Third, the generation module  104  can generate a content summary of the commodity by outputting the keyword which appears most frequently and an emotion word of a much greater first number. For example, the keyword appearing most times may be “tasty”, and the emotion word which has a much greater first number is “good”, then a content summary of a restaurant is “tasty good”. 
     The query module  105  can display a content summary and a representative picture stored in the database  300  when receiving a keyword input by a user. 
     In some embodiments, the user can input a keyword through an online search engine. When the Internet  200  receives a search request of the user, the Internet  200  can sent the search request to the content extracting system  10  of the server  100 . The query module  105  searches for and returns a corresponding content summary and a corresponding representative picture on a commodity from the database  300 . 
     Referring to  FIG. 3 , a flowchart is presented in accordance with an example embodiment. The example method  3000  is provided by way of example, as there are a variety of ways to carry out the method. The example method  3000  described below can be carried out using the configurations illustrated in  FIG. 1  and  FIG. 2 , for example, and various elements of these figures are referenced in explaining example method  3000 . Each block shown in  FIG. 3  represents one or more processes, methods, or subroutines, carried out in the example method  3000 . Furthermore, the illustrated order of blocks is by example only and the order of the blocks can be changed. The example method  3000  can begin at block  301 . Depending on the embodiment, additional blocks can be added, others removed, and the ordering of the blocks can be changed. 
     At block  301 , an acquiring module acquires a plurality of web articles from the Internet  200  through the communication unit  13  of the server  100 . 
     At block  302 , a recognizing module recognizes web articles associated with a commodity from the acquired web articles and extract a name for the commodity from the recognized web articles. Specifically, a detailed process of extracting a name for the commodity is as described in  FIG. 4 . 
     At block  303 , a selecting module selects a representative picture for the commodity from all pictures in the recognized web articles, and stores the representative picture in the database  300 . Specifically, a detailed process of selecting a representative picture for the commodity is as described in  FIG. 5 . 
     At block  304 , a generation module generates a content summary of the commodity from user reviews in the recognized web articles and stores the content summary in the database  300 . Specifically, a detailed process of generating a content summary of the commodity is as described in  FIG. 6 . 
     At block  305 , a query module displays a content summary and a representative picture stored in the database  300  when receiving a keyword input by a user. 
     Referring to  FIG. 4 , a flowchart is presented in accordance with an example embodiment. The example method  400  is provided by way of example, as there are a variety of ways to carry out the method. Each block shown in  FIG. 4  represents one or more processes, methods, or subroutines, carried out in the example method  400 . The example method  400  can begin at block  3021 . Depending on the embodiment, additional blocks can be added, others removed, and the ordering of the blocks can be changed. 
     At block  3021 , a recognizing module determines whether the blogs acquired from the Internet  200  are associated with the commodity. 
     At block  3022 , a recognizing module extracts a name for the commodity through a method of a structured style. Taking a particular restaurant as an example, a recognizing module searches whether there are structured style sentences existing in the web articles that have been recognized as being associated with food. The structured style can comprise: name: XXX, address: XXX, and telephone number: XXX. If there are structured style sentences existing in the blogs that have been recognized as being associated with food, a recognizing module fetches the name, address, and telephone number. 
     At block  3023 , a recognizing module extracts a name for the commodity through a method of a non-structured style. Taking a restaurant as an example, a recognizing module searched texts of the web articles, and segment each sentence of the texts into several units/words through a natural language processing technology. The natural language processing technology is very well known and is not described here. Each segmented unit/word can be treated as a possible candidate name. A recognizing module selects a segmented unit/word which has the most frequent appearance. For example, XXX is a century-old shop, a special food of XXX is sour pickled cabbage, an address of XXX is ZhongShan road. The “XXX” appeared three times, but the features of century-old shop, a special food, and an address appeared only one time. Finally, if a number of appearances of a segmented unit/word is more than a predetermined value (e.g. ten), the segmented unit/word can be treated as the commodity name. 
     Referring to  FIG. 5 , a flowchart is presented in accordance with an example embodiment. The example method  500  is provided by way of example, as there are a variety of ways to carry out the method. Each block shown in  FIG. 5  represents one or more processes, methods, or subroutines, carried out in the example method  500 . The example method  500  can begin at block  3031 . Depending on the embodiment, additional blocks can be added, others removed, and the ordering of the blocks can be changed. 
     At block  3031 , a selecting module preprocesses the totality of pictures in the recognized web articles. The totality of pictures in the recognized web articles can be preprocessed by removing a picture having a face of a user, removing a picture of which the pixel value is too low, and removing a black and white picture. 
     At block  3032 , a selecting module extracts feature vectors of each preprocessed picture. The feature vectors can be colors, saturation, intensity, contrast, clarity, and bags-of-visual-words vectors. 
     At block  3033 , an image recognition classifier grades the feature vectors from high to low. The image recognition classifier can be generated as follows: preparing two classes of pictures (one class of pictures can be positive samples, another class of pictures can be negative samples) for setting conditions. Then, expressing the positive samples and the negative samples as feature vectors. Finally, setting up the conditions in relation to these feature vectors using a machine learning classification algorithm (e.g. Support Vector Machine, Random Forests, and Neural Network). The image recognition classifier can grade the feature vectors from high to low; and the grade can a basis for selecting a representative picture. 
     At block  3034 , a selecting module selects a representative picture for the commodity according to a highest grade. The representative picture can stimulate consumer&#39;s appetite, and can reflect the characteristics of the restaurant. 
     Referring to  FIG. 6 , a flowchart is presented in accordance with an example embodiment. The example method  600  is provided by way of example, as there are a variety of ways to carry out the method. Each block shown in  FIG. 6  represents one or more processes, methods, or subroutines, carried out in the example method  600 . The example method  600  can begin at block  3041 . Depending on the embodiment, additional blocks can be added, others removed, and the ordering of the blocks can be changed. 
     At block  3041 , a generation module segments user reviews in the recognized web articles into sentences and extract keywords after segmenting the sentence into words. For example, a sentence which is “service of courses is fast,” can be segmented as “service of courses is/v fast/a ./w”, wherein “/v” is a verb, “/a” is a adjective, and “/w” is punctuation. 
     At block  3042 , a generation module traverses every segmented word, and extract emotion words according to emotion thesaurus, and determine a polarity of the emotion words. There are four polarities of the features thesaurus: taste, service, environment, and price. If the segmented words match with words in feature thesaurus, the segmented words are extracted as keywords, and a polarity of the words is identified. If the segmented words are not matched with words in feature thesaurus, a polarity of the words is identified as otherwise. For example, a segmented word “delicious/mouth feel /drink” is matched with a word “taste” in feature thesaurus, and the segmented word “delicious/mouth feel /drink” can be identified as taste polarity. There are two emotion features of thesaurus: good emotion and bad emotion. The emotion words of good emotion in thesaurus can comprise tasty, delicious, delicate, and so on. The emotion words in thesaurus can comprise: unpalatable, greasy, raw and so on. Then, a generation module compares whether a first number (of emotion words in the good emotions of thesaurus) is much more than a second number (of emotion words in the bad emotion of thesaurus). If the first number is much more than the second number, a polarity of the emotion words can be determined as good emotion. If the first number is the same or not much more than the second number, a polarity of the emotion words can be determined as being of bad emotion. 
     At block  3043 , a generation module generates a content summary of the commodity by outputting the keyword which appears most frequently and an emotion word of a much greater first number. For example, the keyword appearing most times may be “tasty”, and the emotion word which has a much greater first number is “good”, then a content summary of a restaurant is “tasty good”. 
     It should be emphasized that the above-described embodiments of the present disclosure, and of any embodiments, are merely possible examples of implementations, set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiment(s) of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included within the scope of this disclosure and protected by the following claims.