WO2015051397A1 - A server for serving answer data and a computer readable storage medium for serving answer data - Google Patents

A server for serving answer data and a computer readable storage medium for serving answer data Download PDF

Info

Publication number
WO2015051397A1
WO2015051397A1 PCT/AU2014/000614 AU2014000614W WO2015051397A1 WO 2015051397 A1 WO2015051397 A1 WO 2015051397A1 AU 2014000614 W AU2014000614 W AU 2014000614W WO 2015051397 A1 WO2015051397 A1 WO 2015051397A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
answer content
content data
server
question
Prior art date
Application number
PCT/AU2014/000614
Other languages
French (fr)
Inventor
Johnny Adam GLOVER
Original Assignee
Quikser Pty Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from AU2013903910A external-priority patent/AU2013903910A0/en
Application filed by Quikser Pty Ltd filed Critical Quikser Pty Ltd
Publication of WO2015051397A1 publication Critical patent/WO2015051397A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Definitions

  • the present invention relates to expert systems and in particular to a system, server and computer readable storage medium for composing answer data.
  • the invention has been developed primarily for use in/with mobile computing devices communicable with a server across a data network and will be described hereinafter with reference to this application. However, it will be appreciated that the invention is not limited to this particular field of use.
  • a server for serving answer data comprises: a processor for processing digital data; a memory device for storing digital data including computer program code, the memory device being communicable with the processor; a database adapted for storing answer content data in association with question metadata; and a network interface for sending and receiving data across a network, the network interface being communicable with the processor.
  • the processor is controlled by the computer program code to: receive, via the network interface, question data; select, from the database, matching answer content data at least in accordance with the question metadata and the question data; and serve, via the network interface, the matching answer content data as the answer data.
  • the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a semantic analysis of the question data.
  • the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
  • the processor is further controlled by the computer program code to rank the matching answer content data in accordance with ranking data.
  • the ranking data comprises social feedback ranking data.
  • the processor is further controlled by the computer program code to receive, via the network interface, the social feedback ranking data
  • the social feedback ranking data comprises comment data.
  • the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data.
  • the ranking data represents relevance ranking.
  • the processor is further controlled by the computer program code to calculate the relevance ranking in accordance with the semantic analysis of the question data.
  • the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
  • matching answer content data is further ranked in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
  • the processor is further controlled by the computer program code to further receive, via the network interface, the answer content data.
  • the answer content data is further in association with bid amount data.
  • the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the bid amount data.
  • the processor is further controlled by the computer program code to initiate a financial transaction in accordance with the bid amount data.
  • the answer content data comprises text data.
  • the processor is further controlled by the computer program code to synthesize audio data in accordance with the text data.
  • the matching answer content data comprises a uniform resource locator (URL).
  • the answer content data comprises audio data.
  • the audio data is formatted in accordance with one of mp3, aiff, aac, ALAC, amr, flac, m4a, ogg, wma, and wav formats.
  • the answer content data comprises image data.
  • the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
  • the answer content data comprises pre-recorded video data.
  • the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
  • the matching answer content data is transcoded.
  • the processor is further controlled by the computer program code to transcode the matching answer content data.
  • the server further comprises a transcoder device operably coupled to the processor and the database.
  • the processor is further controlled by the computer program code to control the transcoder device for transcoding the matching answer content data.
  • the matching answer content data is transcoded in real-time.
  • the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
  • the processor is further controlled by the computer program code for sending, via the network interface, query data to a remote server in accordance with the question data.
  • the processor is further controlled by the computer program code for receiving, via the network interface, reply data relating to the query data.
  • the reply data comprises product catalogue data and stock availability data.
  • the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the reply data.
  • the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
  • the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata: keywords in the question data; a business name in the question data; a company name in the question data; a category of question; the geographical origin of the question; the sex of the user asking the question; the age of the user asking the question;
  • a computer readable storage medium for serving answer data.
  • the computer readable storage medium comprises instructions executable by a computing device to: receive, via a network interface, question data; select, from a database, matching answer content data at least in accordance with question metadata and the question data; and serve, via the network interface, the matching answer content data as the answer data.
  • the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with a semantic analysis of the question data.
  • the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
  • the computer readable storage medium further comprises instructions to rank the matching answer content data in accordance with ranking data.
  • the ranking data comprises social feedback ranking data.
  • the computer readable storage medium further comprises instructions to receive, via the network interface, the social feedback ranking data
  • the social feedback ranking data comprises comment data.
  • the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data.
  • the ranking data represents relevance ranking.
  • the computer readable storage medium further comprises instructions to calculate the relevance ranking in accordance with the semantic analysis of the question data.
  • the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
  • the computer readable storage medium further comprises instructions to further rank matching answer content data in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
  • the computer readable storage medium further comprises instructions to further receive, via the network interface, the answer content data.
  • the answer content data is further in association with bid amount data.
  • the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with the bid amount data.
  • the computer readable storage medium further comprises instructions to initiate a financial transaction in accordance with the bid amount data.
  • the answer content data comprises text data.
  • the computer readable storage medium further comprises instructions to synthesize audio data in accordance with the text data.
  • the matching answer content data comprises a uniform resource locator (URL).
  • the answer content data comprises audio data.
  • the audio data is formatted in accordance with one of mp35, aiff, aac, ALAC, amr, flac, m36a, ogg, wma, and wav formats.
  • the answer content data comprises image data.
  • the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
  • the answer content data comprises pre-recorded video data.
  • the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
  • the matching answer content data is transcoded.
  • the computer readable storage medium further comprises instructions to transcode the matching answer content data.
  • the computer readable storage medium further comprises instructions to control a transcoder device for transcoding the matching answer content data.
  • the matching answer content data is transcoded in real-time.
  • the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
  • the computer readable storage medium further comprises instructions to send, via the network interface, query data to a remote server in accordance with the question data.
  • the computer readable storage medium further comprises instructions to receive, via the network interface, reply data relating to the query data.
  • the reply data comprises product catalogue data and stock availability data.
  • the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with the reply data.
  • the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
  • the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata:
  • Fig. 1 shows a computing device on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention
  • Fig. 2 shows a system for composing answer data in accordance with an embodiment of the present invention
  • Fig. 3 shows a computer implemented method for composing answer data in accordance with an embodiment of the present invention
  • Figs. 4 to 6 show exemplary graphical user interfaces of a mobile communication device being adapted for presenting answer data in accordance with other embodiment of the present invention
  • Fig. 7 shows a system for serving answer data in accordance with an embodiment of the present invention
  • Fig. 8 shows an exemplary graphical user interface of a mobile communication device being adapted for presenting the answer data in accordance with another embodiment of the present invention
  • Fig. 9 shows a system for serving answer data in accordance with another embodiment of the present invention.
  • Fig. 10 shows an exemplary graphical user interface for uploading answer content data in accordance with one embodiment of the present invention
  • Fig. 11 shows an exemplary graphical user interface for adding new client profile in accordance with one embodiment of the present invention
  • Fig. 12 shows an exemplary graphical user interface for editing and store information associated with the client profile in accordance with one embodiment of the present invention.
  • Fig. 13 shows an exemplary graphical user interface for displaying statistical information of the answer content data associated with the client profile in accordance with one embodiment of the present invention.
  • Fig. 1 shows a computing device 100 on which the various embodiments described herein may be implemented.
  • the computing device 100 may take on the differing computing embodiments as substantially shown in figure 2, such as the server 210, mobile computing device 220, social platform 225, knowledgebase 235 and the like.
  • the steps of the method described in further detail below of composing answer data may be implemented as computer program code instructions executable by the computing device 100.
  • the computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method.
  • the device 100 comprises semiconductor memory 110 comprising volatile memory such as random access memory (RAM) or read only memory (ROM).
  • the memory 100 may comprise either RAM or ROM or a combination of RAM and ROM.
  • the device 100 comprises a computer program code storage medium reader 130 for reading the computer program code instructions from computer program code storage media 120.
  • the storage media 120 may be optical media such as CD-ROM disks, magnetic media such as floppy disks and tape cassettes or flash media such as USB memory sticks.
  • the device further comprises I/O interface 140 for communicating with one or more peripheral devices.
  • the I/O interface 140 may offer both serial and parallel interface connectivity.
  • the I/O interface 140 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 130.
  • the I/O interface 140 may also communicate with one or more human input devices (HID) 160 such as keyboards, pointing devices, joysticks and the like.
  • the I/O interface 140 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 100 with one or more personal computer (PC) devices 190.
  • the I/O interface 140 may also comprise an audio interface for communicating audio signals to one or more audio devices 1050, such as a speaker or a buzzer.
  • the device 100 also comprises a network interface 170 for communicating with one or more computer networks 180.
  • the network 180 may be a wired network, such as a wired EthernetTM network or a wireless network, such as a BluetoothTM network or IEEE 802.11 network.
  • the network 180 may be a local area network (LAN), such as a home or office computer network, or a wide area network (WAN), such as the Internet or private WAN.
  • LAN local area network
  • WAN wide area network
  • the device 100 comprises an arithmetic logic unit or processor 1000 for performing the computer program code instructions.
  • the processor 1000 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like.
  • the device 100 further comprises a storage device 1030, such as a magnetic disk hard drive or a solid state disk drive.
  • Computer program code instructions may be loaded into the storage device 1030 from the storage media 120 using the storage medium reader 130 or from the network 180 using network interface 170.
  • an operating system and one or more software applications are loaded from the storage device 1030 into the memory 1 10.
  • the processor 1000 fetches computer program code instructions from memory 110, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 100.
  • the instructions stored in the memory 110 when retrieved and executed by the processor 1000, may configure the computing device 100 as a special-purpose machine that may perform the functions described herein.
  • the device 100 also comprises a video interface 1010 for conveying video signals to a display device 1020, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
  • the device 100 also comprises a communication bus subsystem 150 for interconnecting the various devices described above.
  • the bus subsystem 150 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • PCIe PCI Express
  • Serial Advanced Technology Attachment Serial ATA
  • the system 200 is adapted for use by information providers, merchants, service providers and the like in assisting users, potential customers, existing customers and the like in ascertaining relevant information in response to a user query, the relevant information including general information and specific information including information relating to specific products and services provided by a merchant or service provider, customer details and the like.
  • the system 200 comprises a server 210 adapted for receiving question data from a user, customer or the like and selecting an appropriate answer for the user.
  • the server 210 is adapted for receiving user queries in the form of keywords, however this need not necessarily be so.
  • the server 200 may be adapted for receiving question data in the form of audio data, so as to perform an audio recognition technique in ascertaining the semantics of the query.
  • the system 200 further comprises a mobile computing device 220 generally adapted for use by the user in asking questions and receiving answers.
  • the mobile computing device 220 is a "smart phone" such as the Apple iPad, iPhone or the like.
  • the user may ask questions while on the move and the mobile computing device 220 may supplement the user's questions with ancillary data (or metadata) including the location of the user so as to allow for the selection of more appropriate answers (such as answers selected in accordance of location) by the server 210.
  • ancillary data or metadata
  • computing devices 100 may be used as opposed to the mobile computing device 220.
  • the user could equally ask questions using a desktop computing device or the like.
  • the user uses the mobile computing device 220 to ask a question
  • the mobile computing device 220 sends question data across the network 180 to the server 210
  • the server 210 selects an appropriate answer (in conjunction with the other remote servers shown in figure 2 as will be described in further detail below) and sends answer data back across the network 180 to the mobile computing device 220.
  • the functionality of the mobile computing device 220 is provided by downloadable software application 250.
  • the user may download the downloadable software application 250 from an application store such as the Apple iTunes or Google marketplace application stores.
  • the mobile computing device 220 implements text to speech and speech to text functionality 240 so as to enhance the user experience.
  • the speech functionality 240 may be provided by the native operating system of the mobile computing device 220 or alternatively by the software application 250.
  • the system 200 furthermore comprises remote servers adapted for providing additional information to the server.
  • the remote service comprise provider servers 245 relating to merchants or service providers and social platform remote servers 225 adapted for providing additional information in the form of social content.
  • Other remote servers may be employed as the case may be, including remote informational servers such as the Wikimedia Wikipedia encyclopaedia informational server adapted for serving additional information in the form of encyclopaedia information, whether remote server is adapted for serving with information and the like.
  • the provider remote server 245 may be in communication with a customer database 205 for retrieving customer information relating to the customers of the provider. Furthermore, the provider remote server 245 may be in communication with an inventory database 230 so as to select product catalogue information stock availability data and the like. Furthermore, the provider remote server 245 may be in communication with a knowledgebase database 235 of the provider so as to, for example be able to provide technical assistance, instructional manuals and the like for the products or services provided by the provider.
  • the social platform remote server 225 may be adapted for providing additional information to the server 210 such as user rating data, social content and the like.
  • the system 200 may comprise Q&A database 215 for use by the server 210 in selecting an answer in accordance with a question.
  • the Q&A database 215 may be a dynamic database that is updated at each answering of a question, allowing a knowledgebase built over time.
  • the user upon receiving an answer from the server 210 may be adapted to respond as to whether the answer is correct or not, so as to discriminate when updating the Q&A database 215.
  • the server 210 may be adapted for employing a relevance ranking algorithm to rank candidate answers in accordance with relevance. Relevance of an answer may be determined in various manners, including by in accordance with user relevance ranking, age, keyword analysis and the like.
  • Fig. 3 shows a computer implemented method 300 for composing answer data.
  • the method 300 is performed by the server 210.
  • certain of the steps described herein may be performed by the other computing devices 100 as shown in figure 2.
  • the mobile computing device 220 may perform the semantic analysis in the manner described herein and request additional information directly from a remote server. In this manner, the method 300 does not specifically require the use of a server 210.
  • modifications to the system 200 and method 300 may be made as the case may be while achieving the purpose of the embodiments described herein of composing answers in response to user queries.
  • Method 300 will be described with reference to exemplary embodiments for which exemplary graphical user interfaces are shown substantially in figure 4, 5 and 6.
  • the method 300 starts at step 305 where the server 210 receives user question data from a user.
  • the user will use the mobile computing device 220 to compose a question.
  • the user has posed the question "what is your cheapest DSLR?"
  • the user may have input the question using conventional touchscreen keypad interface.
  • the user may equally have input the question by employing the speech to text functionality 240 of the mobile computing device, for example initiated by selecting the microphone icon 310 to the left of the question input field 305.
  • the question has been posed to the electrical product provider by the name of "Bronnings Electronics".
  • the server 210 in receiving this query from the user, the server 210 is able to ascertain that the additional information relating to the cheapest DSLR is to be requested from the remote server provided by Bronnings Electronics.
  • the question may be a generalised question.
  • the server 210 may (by understanding the semantics of the question as will be described in further detail below) identify a set of providers providing digital cameras and send requested data to each remote server belonging to each provider requesting additional information relating to the cheapest DSLR camera available.
  • the server 210 may (again using semantic analysis of the word "cheapest") select the price being the lowest. Equally, the server 210 may have selected the most expensive DSLR in this manner.
  • the server 210 may be adapted to receive all matching search results from the remote server and implement the sorting and discrimination, so as to for example, be able to ascertain the cheapest matching search result of a product by a provider.
  • the application server 210 may be adapted to return multiple results to the mobile communication device 220 wherein the mobile communication 220 displays the results 315 in the ordered manner shown substantially in figure 4.
  • the server 210 may return a single result to the mobile computing device 220.
  • the server 210 is adapted for performing semantic analysis on the question data from the user so as to ascertain the language invariant meaning of the query. Any appropriate semantic analysis algorithm may be employed depending on the application, which application may be supplemented by additional information from the Q&A database 215 such as question and answer keywords, historical questions and answers, user indication of the correctness of historical answers and the like.
  • the server 210 may employ the semantic analysis not only for the purpose of understanding the meaning of the query, but also so as to be able to identify which remote server to request additional information from.
  • the server 210 may identify from the keyword DSLR that the user is asking a product query relating to an electronic product and from the keyword "cheapest" that the query is to be sorted by price. Having identified that the query relates to an electronic product, the server 210 may request additional information from those remote servers provided by electronic goods providers. In requesting the additional information, the server 210 may send the keyword "DSLR" to each remote server, wherein each remote server performs a fulltext database query of a product catalogue using the search term "DSLR" to return matching rows from the database comprising the product identification, price and the like.
  • the server 210 is adapted to request additional information from a remote server.
  • the remote server may be a provider remote server 245.
  • the query may be directed specifically to a provider or in general wherein the server 210 selects the appropriate provider.
  • the system 200 may be adapted for answering questions from a user as will be now described.
  • the user may ask "what is your cheapest DSLR'?”
  • the application server 210 is adapted to request from the provider remote server 245 the cheapest DSLR.
  • the provider remote server 245 may be adapted to select search results from the inventory database 230.
  • the user may ask "is your Sony Nexus DSRL in stock?”
  • the user may be provided with technical assistance, product documentation and the like.
  • the provider remote server 245 may be adapted to select information from knowledgebase database 235 relating to the various products and services.
  • the provider remote server 245 may select from the knowledge base database 235 the user manual for the Samsung front loader washing machine and provide the user manual to the server 210 for serving to the user.
  • the server 210 may be adapted to parse the user manual so as to ascertain the relevant portion of the user manual relating to turning off the washing machine.
  • the provider remote server 245 for the server 210 may be adapted to identify a customer for the purposes of selecting information relating to a particular customer from the customer database 205. For example, were the user to pose the question "how do I turn off my washing machine?", the information retrieved from the customer database 205 may reveal that the user had purchased a Samsung washing machine and that the provider remote server 245 is therefore to retrieve the Samsung washing machine user manual from the knowledge-based database 235.
  • the server 210 may identify a customer from the question data (such as from the login credentials or the like) or the provider remote server 245 may identify the customer in accordance with the request data from the server 210.
  • the user has asked the question "where is my TV?”
  • the system 200 has identified that the user correlates to the customer data for Adam, who had recently ordered a Samsung 41 inch television from the provider.
  • the system 200 is adapted to utilise the customers prior purchase history in answering the question.
  • the meaning of a query may be determined only with reference to the data in the customer database 205.
  • the server 210 may send request data to the provider remote server 245 asking for the delivery date of a particular customers television, the provider remote server 245 may reply that the customer had not ordered a television.
  • the server 210 may respond to the user that perhaps the user is mistaken, or alternatively the server 210 may produce an alternative meaning to the users question and subsequently request further information from the provider remote server 245.
  • the exemplary interface 600 as substantially shown in figure 6, there is shown an embodiment where a remote server other than a provider remote server 245 is employed.
  • the server 210 is in communication with a social platform remote server 225 for the purpose of retrieving additional information in the form of social content.
  • the mobile computing device 220 is adapted to receive from the GPS location sensing means of the mobile communication device 220 location data representing a location of the user. In this manner, the mobile computing device 220 is adapted to send not only the user's query (such as the keywords or audio data relating to the query) but also the location of the user. In this manner, upon receipt of the query, the server 210 may apply semantic analysis, including by recognising the keyword "best" to understand that the meaning of the query relates to a social opinion.
  • the server 210 is adapted to send the request data to the social platform remote server 225 (such as by way of suitable API or the like) to ascertain social rating of car dealers in Sydney.
  • the social platform 225 may comprise information relating to a number of car dealers, each having received social ratings, such as ratings according to a rating scale of 1 to 5.
  • the social platform 225 is adapted to send to the server 210 the additional information comprising information relating to a particular car dealer having the highest social rating.
  • the server 210 may receive information relating to a number of car dealers and subsequently sort the car dealers according to rating.
  • the mobile communication device 220 displays to the user that the best car dealer is Holden in Five Dock, Sydney.
  • contact information may additionally be provided, such as map data showing the location of the car dealer and contact information such as e-mail and telephone contact information.
  • social content may be employed as opposed to user ratings.
  • the user may ask the question “Can I catch a ride with anyone going to Newcastle this weekend, leaving on Friday?"
  • social postings on the social platform remote server 225 may be analysed for evidence of social users who may be travelling to Newcastle.
  • the exemplary interface 600 represents an exemplary embodiment in which an avatar is employed for the purposes of "speaking” the answer, such as by way of textual representation or audio play out. In this manner, the user experience is enhanced.
  • no question input area 305 need be provided wherein, rather, the user dictates directly to the avatar and receives the answers back from the avatar.
  • the avatar need not necessarily be displayed, with the dictation and audio play out occurring as a background process of the mobile computing device 220.
  • a metrological remote server may be employed for providing weather information in response to weather related questions, such as "Will I need to take my umbrella to work today?"
  • the server 210 may be configured to serve answer data in accordance with the answer content data stored in a database thereof. Such an arrangement may relatively reduce time required for composing the answer data in response to question data received by the server 210. In another arrangement, as will be described hereinafter, the server 210 may further access other databases for composing the answer data.
  • the answer content data comprises data that has been scraped from a website, for example, from the frequently asked questions page of a website.
  • Shown in figure 7 is an exemplary system 700 comprising a computing device 720, and a server 710 coupled operably to the computing device 720 via a network 180.
  • the server 710 is further operably coupled to a database 715 and a social graph platform server 730.
  • the database 713 as alluded to the above-mentioned database, may have answer content data stored therein.
  • each of the server 710, the computing device 720 and the social graph platform server 730 may be implemented as a computing device 100.
  • the subscriber computing device 720 is a mobile computing device (e.g. a smartphone) in this embodiment, but may be any other types of computing devices in other embodiments, for example a desktop computing device.
  • the server 710 Operation of the server 710 will be described hereinafter in the context of an exemplary scenario in which a user enters a question on the computing device 720 to be answered by the server 710.
  • the user may be a subscriber of a question-and-answer (Q&A) service hosted by the server 710.
  • Q&A question-and-answer
  • the computing device 720 will be hereinafter referred to as the "subscriber computing device 720". More specifically, the subscriber computing device 720 refers to a computing device of a user who is subscribed to the Q&A service being hosted by the server 710 so as to send questions and receive answers therefor.
  • the user may input a question using a software application (e.g. a proprietary software application or a non-proprietary software application) installed on the subscriber computing device 720.
  • a software application e.g. a proprietary software application or a non-proprietary software application
  • the software application may generate question data representing the question for sending to the server 710 via the network 180.
  • the system 700 may be configured such that the subscriber computing device 720 communicates with the server 710 via HTTP protocols or the like. Communication between the subscriber computing device 720 and the server 710 may take on other forms in alternative embodiments.
  • Shown in figure 8 is an exemplary interface 800 of the software application as seen on the subscriber computing device 720.
  • the interface 800 there is shown an input field 805, a microphone button 810 and a search result 815.
  • the user may input a question via voice recognition by clicking the microphone button 810, or via text input by clicking the input field 805 and typing the question.
  • the result of voice recognition is inputted into the input field 805 for confirmation by the user.
  • question data may be generated in accordance with the question for sending to the server 710 via the network 180.
  • the result of voice recognition may be directly sent to the server 710 without user confirmation.
  • An exemplary question may be "which tablet has the best screen quality".
  • the answer content data in the database 715 may take on several forms.
  • the answer content data in the database 715 may comprise at least one of text data, audio data, image data (video data).
  • Question metadata may be associated with the answer content data.
  • the question metadata is descriptive of questions to which the answer content data may hold the answers. For example, if the answer content data comprises video data containing answers to several questions relating to a product, the question metadata may comprise information describing said questions. For instance, if the answer content data is descriptive of screen performance of the new iPad, the question metadata may contain the tags of "iPad", “tablet”, “screen”, “dpi (dots per inch)", "lumens", "panel” and “dimensions”.
  • the question metadata may take forms other than tags, as alluded to the above description.
  • the question metadata may take the form of strings of text describing questions to which the answer content data hold the answers.
  • question metadata include: keywords in the question data; a business name in the question data; a company name in the question data; a category of question; the geographical origin of the question; the sex of the user asking the question; the age of the user asking the question; (vi) the URL of the page on which the question was asked; and
  • the inclusion of a business or company name in the question metadata can allow the filtering of answer content data to just that related to the business or company, respectively.
  • the inclusion of a category of question in the question metadata can allow the selection of answer content data related to that particular category of question only (for example, a purchase related question as compared to a comparison related question).
  • the inclusion of a geographical origin of the question in the question metadata can allow the selection of answer content data that is relevant to the geographical region of the user.
  • the inclusion of the sex of the user asking the question in the question metadata can allow the selection of answer content data that is relevant to users of that sex.
  • the inclusion of age of the user asking the question in the question metadata can allow the selection of answer content data that is relevant to the users of that age or a surrounding age range.
  • the inclusion of the URL of the page on which the question was asked in the question metadata can allow the selection of answer content data that is more relevant to the theme or other aspect of the website located at the URL of the page on which the question was asked.
  • the server 710 receives the question data from the subscriber computing device 720 via the network interface 180, and selects, from the database 715, answer content data matching the question data in accordance with the question metadata and the question data. Said answer content data will be hereinafter referred to as "matching answer content data”.
  • the server 710 may further perform semantic analysis upon the question data so as to so as to ascertain the language invariant meaning of the user's question.
  • the language invariant meaning may comprise tags describing the question inputted by the user.
  • the tags in this case, may comprise "tablet", "best” and "screen quality".
  • the user may be prompted to enter in the interface 800 the tags that would otherwise need to be obtained using semantic analysis, such that the process of semantic analysis by the server 710 may be omitted.
  • the server 710 may further perform voice recognition analysis upon the audio data received thereby so as to obtain a textual representation of the user's question for subsequent semantic analysis.
  • the one or both of the semantic analysis and the voice recognition analysis may be performed for the server 710 by any other server.
  • the server 710 may proceed to selecting the matching answer content data further in accordance with the language invariant meaning.
  • selecting of the matching answer content data may be implemented such that matching answer content data with higher relevance is prioritized.
  • the relevance may be determined by the number of matching tags—the more matching tags, the higher the relevance. For example, if the matching answer content data comprises two answer entries, the answer entry with more tags matching those of the language invariant meaning may be given higher relevance and priority.
  • the first answer entry 815a has a higher relevance and priority relative to the second answer entry 815b. That is to say, in comparison with the question metadata of the second answer entry 815b, the question metadata of the first answer entry 815a has more tags corresponding to the tags of the language invariant meaning of the user's question. To further clarify, if the question metadata of the first answer entry 815a corresponds to the tags of "tablet" and "screen quality" whereas the question metadata of the second answer entry 815b only corresponds to the tag of "tablet", the first answer entry 815a is prioritised over the second answer entry 815b for corresponding to more matching tags.
  • the subscriber computing device 720 may be configured to rank the matching answer content data in accordance with ranking data.
  • the ranking data may be any data that may be used to rank the matching answer content data.
  • a source of such ranking data may be the social graph platform server 730, which may host a platform on which uses may exchange opinions about and/or vote a product or a service.
  • the ranking data may comprise social feedback ranking data received by the server 710 from the social graph platform server 730 via the network 180.
  • the social feedback ranking data in one embodiment may comprise comment data representing various user comments relating to the question data.
  • the social feedback ranking data in another embodiment may comprise comment data representing various comments relating to the matching answer content data. That is to say, upon receipt of the ranking data, the server 710 may rank the matching answer content data to determine the order, in which answer entries of the matching answer content data are shown when viewed on the subscriber computing device 720, in accordance with a semantic analysis of the comment data in the ranking data.
  • the subscriber computing device 720 may further be configured to calculate the relevance ranking in accordance with a semantic analysis. That is, comments about and ranking of the products or services under consideration by users of the social graph platform server 730 may be taken into consideration in the process of ranking the matching answer content data.
  • the ranking data may be received from any other sources in other embodiments, as long as the ranking data represents information that may facilitate ranking of the answer entries of the matching answer content data.
  • an exemplary source of the ranking data may be Amazon.com, which comprises product descriptions and user comments.
  • the ranking data comprises a list of keywords that have been bidded on by companies wishing their matching answer content data to appear higher in the results list.
  • the server 710 is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
  • the ordering of the matching answer content data can be in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
  • this allows natural results to be reordered to reward advertisers who are bidding on relevant keywords in proportion to what they are willing to pay for the advertising, that is, what they are willing to bid on the relevant keywords.
  • the server 710 may be configured to serve the matching answer content data, via the network 180, to the subscriber client device 720.
  • the subscriber computing device 720 may output the matching answer content data through the AV interface 1010 for audio and/or video representation of the matching answer content data.
  • subscriber membership Users with the subscriber membership will be referred to as “the subscribers” hereinafter.
  • client membership Users with the client membership will be referred to as “the clients” hereinafter.
  • the clients may upload, using their computing devices 920, answer content data to the database 715 of the server 710.
  • the clients may upload the answer content data through the use of a software application, a web browser or the like.
  • Other means of uploading the answer content data may also be employed, such as by way of providing a computer readable storage medium (e.g. a Blu-ray disc) with the answer content data to be uploaded to the database 715.
  • the client computing device 920 and the subscriber computing device 720 may be identical in specifications. However, in other embodiments, the client computing device 920 may take on an embodiment different from that of the subscriber computing device 720.
  • the subscriber computing device 720 may be a mobile computing device while the client computing device 920 may be a desktop computer.
  • Shown in figure 10 is an exemplary webpage 1060, as seen on the client computing device 920, for uploading answer content data.
  • the client may input the title for each upload of answer content data. In this case, the title of "Home Loan Interest Rate" is inputted in the title input field 1065.
  • the client may further upload at least one of video data, audio data and text data. Specifically, the client may designate location of the video data, the audio data, and text data to be uploaded in respective input fields 1070, 1075, 1080.
  • the client may further specify question metadata. In this case, the client enters the tags of "home loan" and "interest” in a tag input field 1085.
  • the client may also specify the date on which the uploaded answer content data will become available for serving to the subscribers.
  • the client may specify a bid amount for each of the video data, audio data and text data to be uploaded to the server 710.
  • the client specifies a bid amount of five dollars for the video data, one dollar for the audio data, and one dollar for the text data.
  • the bid amount entered for each of the video data, audio data and text data is stored in bid amount data in association with the corresponding answer entry of the answer content data.
  • the matching answer content data may be selected further in accordance with the bid amount data.
  • the subscriber chooses to receive answer content data that comprises only video data
  • the video data of the first answer entry 815a corresponds to a higher bid amount relative to the video data of the second answer entry 815b
  • the first answer entry 815a is prioritised relative to the second answer entry 815b.
  • similar arrangement of ranking may be applied to one of video data, audio data, text data and combinations thereof.
  • matching answer content data comprising a keyword from a list of keywords that have been bidded on can appear higher in the search results than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
  • the ordering of the matching answer content data can be in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
  • this allows natural results to be reordered to reward advertisers who are bidding on relevant keywords in proportion to what they are willing to pay for the advertising, that is, what they are willing to bid on the relevant keywords.
  • the server 710 may initiate a financial transaction in accordance with the bid amount data corresponding to the answer entry.
  • the financial transaction may be made at regular intervals in one embodiment, and may be made instantaneously following presentation of the answer entry to the client.
  • other arrangements for charging the clients and arranging financial transactions are also possible, depending on applications.
  • the subscriber computing device 720 may be configured to synthesise audio data in accordance with text data in the matching answer content data received thereby. Such a design may facilitate use of the system 700 by users with visual impairment or users who prefer to listen than to read.
  • the answer content data uploaded by the clients may comprise uniform resource locators (URLs).
  • URLs may correspond to, for example, websites, International standard book numbers (ISBNs), or the likes.
  • the user of the subscriber computing device to 720 may initiate an action corresponding to the type of the URL in the answer content data.
  • Such an action may be to open the content of the URL using a web browser if the URL corresponds to an HTTP address.
  • Another exemplary action may be to open the content of the URL using a software application for a bookstore (e.g. Amazon.com) if the URL corresponds to an ISBN.
  • a software application for a bookstore e.g. Amazon.com
  • other actions are also possible, depending on the type of the URL in the answer content data.
  • the answer content data may comprise audio data.
  • the audio data may be formatted in accordance with a wide variety of audio formats. Examples of such audio formats may be mp3, aiff, aac, ALAC, amr, flac, m4a, ogg, wma, and wav. It should be appreciated that the list of audio formats is not exhaustive, and may be expanded or narrowed in other embodiments, depending on implementation Image data format
  • the answer content data may also comprise image data.
  • the image data may be formatted in accordance with a wide variety of image formats. Examples of such image formats may be jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png.
  • image formats may be jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png.
  • the list of image formats is not exhaustive, and may be expanded or narrowed in other embodiments, according to need.
  • the image data may be construed as comprising video data, since the process of displaying video information can be construed as the process of displaying a plurality of image frames in a predetermined manner, sometimes with corresponding synchronised audio data.
  • Video data format
  • the answer content data may comprise pre-recorded video data.
  • the pre-recorded video data may be formatted in accordance with a wide variety of video formats. Examples of such video formats may be .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats. Of course, the list of video formats is not exhaustive, and may be expanded or narrowed in other embodiments, according to need.Transcoding of answer content data
  • the server 710 may, in one embodiment, be configured to transcode the audio data and/or the image data into a compatible format so as to ensure compatibility with the subscriber computing device 720.
  • the server 710 may be configured to actively transcode the answer content data prior to sending to the subscriber computing device 720 in accordance with registration information of the subscriber computing device 720. Such registration information may be obtained and maintained by the server 710 upon, for example, establishment of connection with the subscriber computing device 720. In another embodiment, the server 710 may be configured to passively transcode the answer content data upon receipt of notification of incompatibility from the subscriber computing device 720.
  • transcoding means may be adopted.
  • a transcoder device may be operably coupled to the processor 1000 and the database 715, such that the server 710 may control the transcoder device for transcoding the answer content data in the database 715 as needed.
  • Such transcoding may be performed in real time prior to sending the matching answer content data to the subscriber client device 720.
  • such transcoding may be performed at an earlier time, prior to receiving question data such that different formats of the same answer content data are stored in the database 715 for selective serving to the subscriber client device 720 upon request.
  • transcoding of the answer content data should not be construed as being limited to the above description, and may take on any other suitable arrangement.
  • the server 710 may further be coupled operably to an inventory server 730 (e.g., a remote server).
  • the inventory server 730 may be a server hosted by a retailer and may store product catalogue data and stock availability data pertaining to products offered by the retailer.
  • the product catalogue data may be representative of products being offered, whereas the stock availability data may be representative of availability (e.g. a number of remaining stock) of each product being offered.
  • the server 710 upon receipt of the question data, the server 710 may be configured to send query data to the inventory server 730 in accordance with the question data. If the question data is representative of a question relating to the new iPad, the inventory server 730 may, in response to the query data, compose reply data relating to the query data.
  • the reply data may comprise the product catalogue data, which may represent description information of various tablet devices including the new iPad, and the stock availability data, which may represent availability of each of the tablet devices.
  • the server 710 may select the matching answer content data further in accordance with the reply data.
  • the matching answer content data may, in this case, comprise the product catalogue data and stock availability data.
  • the status of availability of the product to which each of the first and second answer entries 815a, 815b corresponds (marked by 816a, 816b) may be shown for reference.
  • the product catalogue data corresponding to said one of the first and second answer entries 815a, 815b may be presented for viewing by the user.
  • An administrator of the server 710 may create, modify and delete client profiles for clients. Shown in figure 11 is an exemplary webpage 1100 for the administrator to create a client profile for a client.
  • the exemplary webpage 1100 comprises a plurality of inputs fields 1105 for company name, file number, fax number, logo, etc.
  • the admin may further specify, in a membership selection menu 1110, a membership level for the client, each membership level corresponding to a unique privilege.
  • the client profile may have a predetermined maximum number of stores, a predetermined maximum number of access accounts (indicated by arrow 1115), a predetermined maximum number of entries of answer content data, a predetermined maximum number of tags of question metadata to be associated with each entry of answer content data of the client profile, and a predetermined maximum number of words for the text data for each entry of answer content data of the client profile.
  • identification information and account status may be specified in respective input fields and drop-down menu (marked by arrow 1120).
  • Shown in figure 12 is an exemplary webpage 1200 for specifying, for each store of the client, an address, a suburb, a phone number, and opening hours. It should be appreciated that arrangement of the memberships and the associated privileges may differ in other embodiments, depending on applications. Furthermore, arrangement of the webpages 1100, 1200 is not limited to the above embodiments described in relation to figures 11 and 12.
  • Shown in figure 13 is an exemplary webpage 1300 showing at least statistical information 1305 corresponding to the client profile of a client.
  • the statistical information may, for example, comprise a total number of entries of answer content data associated with the client profile (in this case "1 "), a total number of times entries of answer content data of the client profile have been displayed in search and viewed by the subscribers(in this case "27” and "4", respectively), a total number of keywords associated with the client profile (in this case "3"), a total current payable amount (in this case "$11"), and the membership level of the client profile.
  • a histogram 1310 showing the number of times each answer entry of the client profile has been clicked and the number of times the same has been viewed.
  • further statistical information may be shown, according to need.
  • social graph is a data structure comprising one or more connections describing the relationships between individuals (and the relationships between individuals online in one embodiment) and is defined explicitly by the one or more connections.
  • bus and its derivatives, while being described in a preferred embodiment as being a communication bus subsystem for interconnecting various devices including by way of parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like, should be construed broadly herein as any system for communicating data.
  • parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like
  • PCIe PCI Express
  • Serial Advanced Technology Attachment Serial ATA
  • 'in accordance with' may also mean 'as a function of and is not necessarily limited to the integers specified in relation thereto.
  • 'a computer implemented method' should not necessarily be inferred as being performed by a single computing device such that the steps of the method may be performed by more than one cooperating computing devices.
  • objects as used herein such as 'web server', 'server', 'client computing device', 'computer readable medium' and the like should not necessarily be construed as being a single object, and may be implemented as a two or more objects in cooperation, such as, for example, a web server being construed as two or more web servers in a server farm cooperating to achieve a desired goal or a computer readable medium being distributed in a composite manner, such as program code being provided on a compact disk activatable by a license key downloadable from a computer network.
  • Database :
  • database and its derivatives may be used to describe a single database, a set of databases, a system of databases or the like.
  • the system of databases may comprise a set of databases wherein the set of databases may be stored on a single implementation or span across multiple implementations.
  • database is also not limited to refer to a certain database format rather may refer to any database format.
  • database formats may include MySQL, MySQLi , XML or the like.
  • the invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards.
  • Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
  • wireless and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term “wired” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
  • processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
  • a "computer” or a “computing device” or a “computing machine” or a “computing platform” may include one or more processors.
  • the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
  • processors capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
  • the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
  • a computer-readable carrier medium may form, or be included in a computer program product.
  • a computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
  • the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment.
  • the one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors.
  • embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium.
  • the computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method.
  • aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
  • the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
  • the software may further be transmitted or received over a network via a network interface device.
  • the carrier medium is shown in an example embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
  • a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method.
  • an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
  • a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means.
  • Connected may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still cooperate or interact with each other.

Abstract

This disclosure relates to a server for serving answer data and a computer readable storage medium for serving answer data in accordance with question metadata and question data.

Description

A SERVER FOR SERVING ANSWER DATA AND A COMPUTER READABLE STORAGE MEDIUM FOR SERVING ANSWER DATA
Field of the Invention
The present invention relates to expert systems and in particular to a system, server and computer readable storage medium for composing answer data.
The invention has been developed primarily for use in/with mobile computing devices communicable with a server across a data network and will be described hereinafter with reference to this application. However, it will be appreciated that the invention is not limited to this particular field of use.
Background
According to existing arrangements, potential and existing customers, clients and the like, in finding out information relating to products or services provided by merchants and service providers typically may undertake independent research such as by browsing and reviewing a website, for example of such merchants or service providers, or by making a telephonic enquiry to the customer service department of the merchant or service provider.
However, such an arrangement is not only time-consuming but also unreliable, often times leaving a potential customer or existing customer without a satisfactory answer to a query. As a result, merchants and service providers may be losing out on goodwill and experience client and customer turnover.
Furthermore, for merchants and service providers to implement responsive customer care facilities such as call centres and the like, such service merchants and service providers incur the expense of having to maintain such call centers, both in terms of infrastructure and man-hours, oftentimes outsourcing their call centre platform to cost-effective jurisdictions such as India. Furthermore, for the manual answering of custom and client queries, the customer service representative often needs to research a query, resulting in the caller having to remain on hold for extended periods.
It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country. Summary
The invention seeks to provide a system, server and computer readable storage medium for serving answer data, which will overcome or substantially ameliorate at least some of the deficiencies of the prior art, or to at least provide an alternative. According to one aspect, there is provided a server for serving answer data. The server comprises: a processor for processing digital data; a memory device for storing digital data including computer program code, the memory device being communicable with the processor; a database adapted for storing answer content data in association with question metadata; and a network interface for sending and receiving data across a network, the network interface being communicable with the processor.
In use, the processor is controlled by the computer program code to: receive, via the network interface, question data; select, from the database, matching answer content data at least in accordance with the question metadata and the question data; and serve, via the network interface, the matching answer content data as the answer data. Preferably, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a semantic analysis of the question data.
Preferably, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
Preferably, in selecting the matching answer content data, the processor is further controlled by the computer program code to rank the matching answer content data in accordance with ranking data.
Preferably, the ranking data comprises social feedback ranking data. Preferably, the processor is further controlled by the computer program code to receive, via the network interface, the social feedback ranking data
Preferably, the social feedback ranking data comprises comment data.
Preferably, the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data. Preferably, the ranking data represents relevance ranking.
Preferably, the processor is further controlled by the computer program code to calculate the relevance ranking in accordance with the semantic analysis of the question data. Preferably, the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on. Preferably, matching answer content data is further ranked in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
Preferably, the processor is further controlled by the computer program code to further receive, via the network interface, the answer content data.
Preferably, the answer content data is further in association with bid amount data. In selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the bid amount data.
Preferably, the processor is further controlled by the computer program code to initiate a financial transaction in accordance with the bid amount data.
Preferably, the answer content data comprises text data.
Preferably, in serving the matching answer content data, the processor is further controlled by the computer program code to synthesize audio data in accordance with the text data.
Preferably, the matching answer content data comprises a uniform resource locator (URL). Preferably, the answer content data comprises audio data.
Preferably, the audio data is formatted in accordance with one of mp3, aiff, aac, ALAC, amr, flac, m4a, ogg, wma, and wav formats.
Preferably, the answer content data comprises image data.
Preferably, the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
Preferably, the answer content data comprises pre-recorded video data.
Preferably, the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
Preferably, the matching answer content data is transcoded. Preferably, the processor is further controlled by the computer program code to transcode the matching answer content data. Preferably, the server further comprises a transcoder device operably coupled to the processor and the database. The processor is further controlled by the computer program code to control the transcoder device for transcoding the matching answer content data.
Preferably, the matching answer content data is transcoded in real-time. Preferably, the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
Preferably, the processor is further controlled by the computer program code for sending, via the network interface, query data to a remote server in accordance with the question data.
Preferably, the processor is further controlled by the computer program code for receiving, via the network interface, reply data relating to the query data.
Preferably, the reply data comprises product catalogue data and stock availability data.
Preferably, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the reply data. Preferably, the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
Preferably, the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata: keywords in the question data; a business name in the question data; a company name in the question data; a category of question; the geographical origin of the question; the sex of the user asking the question; the age of the user asking the question;
(vi) the URL of the page on which the question was asked; and
(vii) a bid amount associated with the question.
According to another aspect, there is provided a computer readable storage medium for serving answer data. The computer readable storage medium comprises instructions executable by a computing device to: receive, via a network interface, question data; select, from a database, matching answer content data at least in accordance with question metadata and the question data; and serve, via the network interface, the matching answer content data as the answer data.
Preferably, the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with a semantic analysis of the question data.
Preferably, the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
Preferably, the computer readable storage medium further comprises instructions to rank the matching answer content data in accordance with ranking data.
Preferably, the ranking data comprises social feedback ranking data.
Preferably, the computer readable storage medium further comprises instructions to receive, via the network interface, the social feedback ranking data
Preferably, the social feedback ranking data comprises comment data. Preferably, the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data.
Preferably, the ranking data represents relevance ranking.
Preferably, the computer readable storage medium further comprises instructions to calculate the relevance ranking in accordance with the semantic analysis of the question data. Preferably, the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
Preferably, the computer readable storage medium further comprises instructions to further rank matching answer content data in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
Preferably, the computer readable storage medium further comprises instructions to further receive, via the network interface, the answer content data. Preferably, the answer content data is further in association with bid amount data. Preferably, the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with the bid amount data.
Preferably, the computer readable storage medium further comprises instructions to initiate a financial transaction in accordance with the bid amount data.
Preferably, the answer content data comprises text data.
Preferably, the computer readable storage medium further comprises instructions to synthesize audio data in accordance with the text data.
Preferably, the matching answer content data comprises a uniform resource locator (URL). Preferably, the answer content data comprises audio data.
Preferably, the audio data is formatted in accordance with one of mp35, aiff, aac, ALAC, amr, flac, m36a, ogg, wma, and wav formats.
Preferably, the answer content data comprises image data.
Preferably, the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
Preferably, the answer content data comprises pre-recorded video data.
Preferably, the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
Preferably, the matching answer content data is transcoded. Preferably, the computer readable storage medium further comprises instructions to transcode the matching answer content data.
Preferably, the computer readable storage medium further comprises instructions to control a transcoder device for transcoding the matching answer content data.
Preferably, the matching answer content data is transcoded in real-time. Preferably, the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
Preferably, the computer readable storage medium further comprises instructions to send, via the network interface, query data to a remote server in accordance with the question data.
Preferably, the computer readable storage medium further comprises instructions to receive, via the network interface, reply data relating to the query data. Preferably, the reply data comprises product catalogue data and stock availability data.
Preferably, the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with the reply data.
Preferably, the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
Preferably, the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata:
keywords in the question data;
a business name in the question data;
a company name in the question data;
a category of question;
the geographical origin of the question;
the sex of the user asking the question;
the age of the user asking the question;
(vi) the URL of the page on which the question was asked; and
(vii) a bid amount associated with the question.
Other aspects of the invention are also disclosed. Brief Description of the Drawings
Notwithstanding any other forms which may fall within the scope of the present invention, preferred embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Fig. 1 shows a computing device on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention;
Fig. 2 shows a system for composing answer data in accordance with an embodiment of the present invention;
Fig. 3 shows a computer implemented method for composing answer data in accordance with an embodiment of the present invention;
Figs. 4 to 6 show exemplary graphical user interfaces of a mobile communication device being adapted for presenting answer data in accordance with other embodiment of the present invention; Fig. 7 shows a system for serving answer data in accordance with an embodiment of the present invention;
Fig. 8 shows an exemplary graphical user interface of a mobile communication device being adapted for presenting the answer data in accordance with another embodiment of the present invention;
Fig. 9 shows a system for serving answer data in accordance with another embodiment of the present invention;
Fig. 10 shows an exemplary graphical user interface for uploading answer content data in accordance with one embodiment of the present invention; Fig. 11 shows an exemplary graphical user interface for adding new client profile in accordance with one embodiment of the present invention;
Fig. 12 shows an exemplary graphical user interface for editing and store information associated with the client profile in accordance with one embodiment of the present invention; and
Fig. 13 shows an exemplary graphical user interface for displaying statistical information of the answer content data associated with the client profile in accordance with one embodiment of the present invention.
Description of Embodiments
It should be noted in the following description that like or the same reference numerals in different embodiments denote the same or similar features. Computing device
Fig. 1 shows a computing device 100 on which the various embodiments described herein may be implemented. It should be noted that the computing device 100 may take on the differing computing embodiments as substantially shown in figure 2, such as the server 210, mobile computing device 220, social platform 225, knowledgebase 235 and the like. Furthermore, the steps of the method described in further detail below of composing answer data may be implemented as computer program code instructions executable by the computing device 100. The computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method. The device 100 comprises semiconductor memory 110 comprising volatile memory such as random access memory (RAM) or read only memory (ROM). The memory 100 may comprise either RAM or ROM or a combination of RAM and ROM.
The device 100 comprises a computer program code storage medium reader 130 for reading the computer program code instructions from computer program code storage media 120. The storage media 120 may be optical media such as CD-ROM disks, magnetic media such as floppy disks and tape cassettes or flash media such as USB memory sticks.
The device further comprises I/O interface 140 for communicating with one or more peripheral devices. The I/O interface 140 may offer both serial and parallel interface connectivity. For example, the I/O interface 140 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 130. The I/O interface 140 may also communicate with one or more human input devices (HID) 160 such as keyboards, pointing devices, joysticks and the like. The I/O interface 140 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 100 with one or more personal computer (PC) devices 190. The I/O interface 140 may also comprise an audio interface for communicating audio signals to one or more audio devices 1050, such as a speaker or a buzzer.
The device 100 also comprises a network interface 170 for communicating with one or more computer networks 180. The network 180 may be a wired network, such as a wired EthernetTM network or a wireless network, such as a BluetoothTM network or IEEE 802.11 network. The network 180 may be a local area network (LAN), such as a home or office computer network, or a wide area network (WAN), such as the Internet or private WAN.
The device 100 comprises an arithmetic logic unit or processor 1000 for performing the computer program code instructions. The processor 1000 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like. The device 100 further comprises a storage device 1030, such as a magnetic disk hard drive or a solid state disk drive.
Computer program code instructions may be loaded into the storage device 1030 from the storage media 120 using the storage medium reader 130 or from the network 180 using network interface 170. During the bootstrap phase, an operating system and one or more software applications are loaded from the storage device 1030 into the memory 1 10. During the fetch- decode-execute cycle, the processor 1000 fetches computer program code instructions from memory 110, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 100.
In this manner, the instructions stored in the memory 110, when retrieved and executed by the processor 1000, may configure the computing device 100 as a special-purpose machine that may perform the functions described herein.
The device 100 also comprises a video interface 1010 for conveying video signals to a display device 1020, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device. The device 100 also comprises a communication bus subsystem 150 for interconnecting the various devices described above. The bus subsystem 150 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like. Referring now to figure 2, there is shown a system 200 for the automated answering of user queries. It will be appreciated that the system 200 has wide application in the automated answering of user queries, some of which are described in further detail below. Generally however, the system 200 is adapted for use by information providers, merchants, service providers and the like in assisting users, potential customers, existing customers and the like in ascertaining relevant information in response to a user query, the relevant information including general information and specific information including information relating to specific products and services provided by a merchant or service provider, customer details and the like.
The system 200 comprises a server 210 adapted for receiving question data from a user, customer or the like and selecting an appropriate answer for the user. As will be described herein, in a preferred embodiment, the server 210 is adapted for receiving user queries in the form of keywords, however this need not necessarily be so. For example, the server 200 may be adapted for receiving question data in the form of audio data, so as to perform an audio recognition technique in ascertaining the semantics of the query.
The system 200 further comprises a mobile computing device 220 generally adapted for use by the user in asking questions and receiving answers. Preferably, the mobile computing device 220 is a "smart phone" such as the Apple iPad, iPhone or the like. In this preferred embodiment, the user may ask questions while on the move and the mobile computing device 220 may supplement the user's questions with ancillary data (or metadata) including the location of the user so as to allow for the selection of more appropriate answers (such as answers selected in accordance of location) by the server 210.
It should be noted however, that other computing devices 100 may be used as opposed to the mobile computing device 220. For example, the user could equally ask questions using a desktop computing device or the like.
As will be described in further detail below, the user uses the mobile computing device 220 to ask a question, the mobile computing device 220 sends question data across the network 180 to the server 210, the server 210 selects an appropriate answer (in conjunction with the other remote servers shown in figure 2 as will be described in further detail below) and sends answer data back across the network 180 to the mobile computing device 220.
In preferred embodiments, the functionality of the mobile computing device 220 is provided by downloadable software application 250. Preferably, the user may download the downloadable software application 250 from an application store such as the Apple iTunes or Google marketplace application stores.
Furthermore, in one embodiment, the mobile computing device 220 implements text to speech and speech to text functionality 240 so as to enhance the user experience. The speech functionality 240 may be provided by the native operating system of the mobile computing device 220 or alternatively by the software application 250. The system 200 furthermore comprises remote servers adapted for providing additional information to the server. In the embodiment shown in figure 2, the remote service comprise provider servers 245 relating to merchants or service providers and social platform remote servers 225 adapted for providing additional information in the form of social content. Other remote servers may be employed as the case may be, including remote informational servers such as the Wikimedia Wikipedia encyclopaedia informational server adapted for serving additional information in the form of encyclopaedia information, whether remote server is adapted for serving with information and the like..
The provider remote server 245 may be in communication with a customer database 205 for retrieving customer information relating to the customers of the provider. Furthermore, the provider remote server 245 may be in communication with an inventory database 230 so as to select product catalogue information stock availability data and the like. Furthermore, the provider remote server 245 may be in communication with a knowledgebase database 235 of the provider so as to, for example be able to provide technical assistance, instructional manuals and the like for the products or services provided by the provider.
Furthermore, the social platform remote server 225 may be adapted for providing additional information to the server 210 such as user rating data, social content and the like. Yet further, the system 200 may comprise Q&A database 215 for use by the server 210 in selecting an answer in accordance with a question.
The Q&A database 215 may be a dynamic database that is updated at each answering of a question, allowing a knowledgebase built over time. In one embodiment, the user upon receiving an answer from the server 210 may be adapted to respond as to whether the answer is correct or not, so as to discriminate when updating the Q&A database 215.
In selecting answer data from the Q&A database 215, the server 210 may be adapted for employing a relevance ranking algorithm to rank candidate answers in accordance with relevance. Relevance of an answer may be determined in various manners, including by in accordance with user relevance ranking, age, keyword analysis and the like. Computer implemented method for composing answer data
Fig. 3 shows a computer implemented method 300 for composing answer data. In a preferred embodiment, the method 300 is performed by the server 210. However, it should be noted that certain of the steps described herein may be performed by the other computing devices 100 as shown in figure 2. For example, the mobile computing device 220 may perform the semantic analysis in the manner described herein and request additional information directly from a remote server. In this manner, the method 300 does not specifically require the use of a server 210. As such, it should be appreciated that modifications to the system 200 and method 300 may be made as the case may be while achieving the purpose of the embodiments described herein of composing answers in response to user queries. Method 300 will be described with reference to exemplary embodiments for which exemplary graphical user interfaces are shown substantially in figure 4, 5 and 6.
The method 300 starts at step 305 where the server 210 receives user question data from a user. Generally, the user will use the mobile computing device 220 to compose a question. Specifically, referring to the exemplary interface 400, the user has posed the question "what is your cheapest DSLR?" The user may have input the question using conventional touchscreen keypad interface. However, the user may equally have input the question by employing the speech to text functionality 240 of the mobile computing device, for example initiated by selecting the microphone icon 310 to the left of the question input field 305. As is apparent from the exemplary interface 400 the question has been posed to the electrical product provider by the name of "Bronnings Electronics". In this manner, in receiving this query from the user, the server 210 is able to ascertain that the additional information relating to the cheapest DSLR is to be requested from the remote server provided by Bronnings Electronics. However, it should be noted that the question may be a generalised question. For example, the user could have equally posed the question "what is the cheapest DSLR'"?. In this manner, the server 210 may (by understanding the semantics of the question as will be described in further detail below) identify a set of providers providing digital cameras and send requested data to each remote server belonging to each provider requesting additional information relating to the cheapest DSLR camera available. In this manner, upon receipt of the additional information from each remote server, the server 210 may (again using semantic analysis of the word "cheapest") select the price being the lowest. Equally, the server 210 may have selected the most expensive DSLR in this manner.
It should be noted that were a remote server lacks functionality for sorting and discriminating search results such as search results sorted in accordance with price, the server 210 may be adapted to receive all matching search results from the remote server and implement the sorting and discrimination, so as to for example, be able to ascertain the cheapest matching search result of a product by a provider.
In presenting the answer data to the user, the application server 210 may be adapted to return multiple results to the mobile communication device 220 wherein the mobile communication 220 displays the results 315 in the ordered manner shown substantially in figure 4. Alternatively, the server 210 may return a single result to the mobile computing device 220.
At step 310 of method 300, the server 210 is adapted for performing semantic analysis on the question data from the user so as to ascertain the language invariant meaning of the query. Any appropriate semantic analysis algorithm may be employed depending on the application, which application may be supplemented by additional information from the Q&A database 215 such as question and answer keywords, historical questions and answers, user indication of the correctness of historical answers and the like.
The server 210 may employ the semantic analysis not only for the purpose of understanding the meaning of the query, but also so as to be able to identify which remote server to request additional information from.
For example, upon receipt of the query "What is the cheapest DSLR?" The server 210 may identify from the keyword DSLR that the user is asking a product query relating to an electronic product and from the keyword "cheapest" that the query is to be sorted by price. Having identified that the query relates to an electronic product, the server 210 may request additional information from those remote servers provided by electronic goods providers. In requesting the additional information, the server 210 may send the keyword "DSLR" to each remote server, wherein each remote server performs a fulltext database query of a product catalogue using the search term "DSLR" to return matching rows from the database comprising the product identification, price and the like.
At step 315 of method 300, the server 210 is adapted to request additional information from a remote server. As alluded to above, the remote server may be a provider remote server 245. Referring to the exemplary interface 400 as substantially shown in figure 4, the query may be directed specifically to a provider or in general wherein the server 210 selects the appropriate provider.
Provided with the additional data stores as substantially shown in figure 2, the system 200 may be adapted for answering questions from a user as will be now described. In a first example, the user may ask "what is your cheapest DSLR'?" In this manner, the application server 210 is adapted to request from the provider remote server 245 the cheapest DSLR. In selecting the search results, the provider remote server 245 may be adapted to select search results from the inventory database 230. In an analogous example, the user may ask "is your Sony Nexus DSRL in stock?" In another example, the user may be provided with technical assistance, product documentation and the like. For example, the provider remote server 245 may be adapted to select information from knowledgebase database 235 relating to the various products and services. For example, the user may ask "How do I turn off my Samsung front loader washing machine?" In this manner, the provider remote server 245 may select from the knowledge base database 235 the user manual for the Samsung front loader washing machine and provide the user manual to the server 210 for serving to the user. In one embodiment the server 210 may be adapted to parse the user manual so as to ascertain the relevant portion of the user manual relating to turning off the washing machine.
In certain embodiments, the provider remote server 245 for the server 210 may be adapted to identify a customer for the purposes of selecting information relating to a particular customer from the customer database 205. For example, were the user to pose the question "how do I turn off my washing machine?", the information retrieved from the customer database 205 may reveal that the user had purchased a Samsung washing machine and that the provider remote server 245 is therefore to retrieve the Samsung washing machine user manual from the knowledge-based database 235.
Referring to the exemplary interface 500 as substantially shown in figure 5, there is shown the answering of a question in accordance with additional information relating to a particular customer. In this manner, the server 210 may identify a customer from the question data (such as from the login credentials or the like) or the provider remote server 245 may identify the customer in accordance with the request data from the server 210. As is apparent from the interface 500, the user has asked the question "where is my TV?" As such, the system 200 has identified that the user correlates to the customer data for Adam, who had recently ordered a Samsung 41 inch television from the provider.
In this manner, the system 200 is adapted to utilise the customers prior purchase history in answering the question.
It should be noted that the meaning of a query may be determined only with reference to the data in the customer database 205. For example, should the server 210 send request data to the provider remote server 245 asking for the delivery date of a particular customers television, the provider remote server 245 may reply that the customer had not ordered a television. In this manner, the server 210 may respond to the user that perhaps the user is mistaken, or alternatively the server 210 may produce an alternative meaning to the users question and subsequently request further information from the provider remote server 245. Referring now to the exemplary interface 600 as substantially shown in figure 6, there is shown an embodiment where a remote server other than a provider remote server 245 is employed. In this example, the server 210 is in communication with a social platform remote server 225 for the purpose of retrieving additional information in the form of social content.
Specifically, the user has posed the question "which car dealer gives the best service?" Now, as it is not clearly apparent to which location the user is referring to, in one embodiment, the mobile computing device 220 is adapted to receive from the GPS location sensing means of the mobile communication device 220 location data representing a location of the user. In this manner, the mobile computing device 220 is adapted to send not only the user's query (such as the keywords or audio data relating to the query) but also the location of the user. In this manner, upon receipt of the query, the server 210 may apply semantic analysis, including by recognising the keyword "best" to understand that the meaning of the query relates to a social opinion. In this manner, the server 210 is adapted to send the request data to the social platform remote server 225 (such as by way of suitable API or the like) to ascertain social rating of car dealers in Sydney. For example, the social platform 225 may comprise information relating to a number of car dealers, each having received social ratings, such as ratings according to a rating scale of 1 to 5. In this manner, the social platform 225 is adapted to send to the server 210 the additional information comprising information relating to a particular car dealer having the highest social rating. In an alternative embodiment as alluded to above, the server 210 may receive information relating to a number of car dealers and subsequently sort the car dealers according to rating.
As is apparent from the exemplary interface 600, the mobile communication device 220 displays to the user that the best car dealer is Holden in Five Dock, Sydney. As is apparent, contact information may additionally be provided, such as map data showing the location of the car dealer and contact information such as e-mail and telephone contact information.
It should be noted that other social content may be employed as opposed to user ratings. For example, the user may ask the question "Can I catch a ride with anyone going to Newcastle this weekend, leaving on Friday?" In this manner, social postings on the social platform remote server 225 may be analysed for evidence of social users who may be travelling to Newcastle.
Furthermore, the exemplary interface 600 represents an exemplary embodiment in which an avatar is employed for the purposes of "speaking" the answer, such as by way of textual representation or audio play out. In this manner, the user experience is enhanced. In one embodiment, no question input area 305 need be provided wherein, rather, the user dictates directly to the avatar and receives the answers back from the avatar. It should be noted that the avatar need not necessarily be displayed, with the dictation and audio play out occurring as a background process of the mobile computing device 220.
As alluded to above, other remote servers may be employed over and above those shown in figure 2. For example, a metrological remote server may be employed for providing weather information in response to weather related questions, such as "Will I need to take my umbrella to work today?"
A server for composing answer data
In another embodiment, the server 210 may be configured to serve answer data in accordance with the answer content data stored in a database thereof. Such an arrangement may relatively reduce time required for composing the answer data in response to question data received by the server 210. In another arrangement, as will be described hereinafter, the server 210 may further access other databases for composing the answer data. In one embodiment, the answer content data comprises data that has been scraped from a website, for example, from the frequently asked questions page of a website.
Shown in figure 7 is an exemplary system 700 comprising a computing device 720, and a server 710 coupled operably to the computing device 720 via a network 180. The server 710 is further operably coupled to a database 715 and a social graph platform server 730. In one embodiment, the database 713, as alluded to the above-mentioned database, may have answer content data stored therein. Furthermore, each of the server 710, the computing device 720 and the social graph platform server 730 may be implemented as a computing device 100.
The subscriber computing device 720 is a mobile computing device (e.g. a smartphone) in this embodiment, but may be any other types of computing devices in other embodiments, for example a desktop computing device.
Operation of the server 710 will be described hereinafter in the context of an exemplary scenario in which a user enters a question on the computing device 720 to be answered by the server 710. The user, for example, may be a subscriber of a question-and-answer (Q&A) service hosted by the server 710. For clarity purpose, the computing device 720 will be hereinafter referred to as the "subscriber computing device 720". More specifically, the subscriber computing device 720 refers to a computing device of a user who is subscribed to the Q&A service being hosted by the server 710 so as to send questions and receive answers therefor.
In the exemplary scenario, the user may input a question using a software application (e.g. a proprietary software application or a non-proprietary software application) installed on the subscriber computing device 720. In response to a user input of question, the software application may generate question data representing the question for sending to the server 710 via the network 180. Alternatively, in another embodiment, the system 700 may be configured such that the subscriber computing device 720 communicates with the server 710 via HTTP protocols or the like. Communication between the subscriber computing device 720 and the server 710 may take on other forms in alternative embodiments.
Shown in figure 8 is an exemplary interface 800 of the software application as seen on the subscriber computing device 720. In the interface 800, there is shown an input field 805, a microphone button 810 and a search result 815. In one embodiment, the user may input a question via voice recognition by clicking the microphone button 810, or via text input by clicking the input field 805 and typing the question. In another embodiment where the user inputs the question via voice recognition, the result of voice recognition is inputted into the input field 805 for confirmation by the user. Once confirmed by the user, question data may be generated in accordance with the question for sending to the server 710 via the network 180. Alternatively, in another embodiment, the result of voice recognition may be directly sent to the server 710 without user confirmation. An exemplary question may be "which tablet has the best screen quality".
The answer content data in the database 715 may take on several forms. In one embodiment, the answer content data in the database 715 may comprise at least one of text data, audio data, image data (video data). Question metadata may be associated with the answer content data. The question metadata is descriptive of questions to which the answer content data may hold the answers. For example, if the answer content data comprises video data containing answers to several questions relating to a product, the question metadata may comprise information describing said questions. For instance, if the answer content data is descriptive of screen performance of the new iPad, the question metadata may contain the tags of "iPad", "tablet", "screen", "dpi (dots per inch)", "lumens", "panel" and "dimensions".
It is appreciated that the question metadata may take forms other than tags, as alluded to the above description. For example, in another embodiment, the question metadata may take the form of strings of text describing questions to which the answer content data hold the answers.
Other forms of question metadata include: keywords in the question data; a business name in the question data; a company name in the question data; a category of question; the geographical origin of the question; the sex of the user asking the question; the age of the user asking the question; (vi) the URL of the page on which the question was asked; and
(vii) a bid amount associated with the question.
The inclusion of a business or company name in the question metadata can allow the filtering of answer content data to just that related to the business or company, respectively.
The inclusion of a category of question in the question metadata can allow the selection of answer content data related to that particular category of question only (for example, a purchase related question as compared to a comparison related question). The inclusion of a geographical origin of the question in the question metadata can allow the selection of answer content data that is relevant to the geographical region of the user.
The inclusion of the sex of the user asking the question in the question metadata can allow the selection of answer content data that is relevant to users of that sex.The inclusion of age of the user asking the question in the question metadata can allow the selection of answer content data that is relevant to the users of that age or a surrounding age range.
The inclusion of the URL of the page on which the question was asked in the question metadata can allow the selection of answer content data that is more relevant to the theme or other aspect of the website located at the URL of the page on which the question was asked.
In one embodiment, the server 710 receives the question data from the subscriber computing device 720 via the network interface 180, and selects, from the database 715, answer content data matching the question data in accordance with the question metadata and the question data. Said answer content data will be hereinafter referred to as "matching answer content data". In this embodiment, the server 710 may further perform semantic analysis upon the question data so as to so as to ascertain the language invariant meaning of the user's question. In one embodiment, the language invariant meaning may comprise tags describing the question inputted by the user. The tags, in this case, may comprise "tablet", "best" and "screen quality".
It is worth noting that, in another embodiment, the user may be prompted to enter in the interface 800 the tags that would otherwise need to be obtained using semantic analysis, such that the process of semantic analysis by the server 710 may be omitted. In yet another embodiment where the subscriber computing device 720 is configured to send to the server 710 audio data representing an audio recording of the user's question, the server 710 may further perform voice recognition analysis upon the audio data received thereby so as to obtain a textual representation of the user's question for subsequent semantic analysis. Of course, other embodiments, the one or both of the semantic analysis and the voice recognition analysis may be performed for the server 710 by any other server.
The server 710 may proceed to selecting the matching answer content data further in accordance with the language invariant meaning. In one embodiment, selecting of the matching answer content data may be implemented such that matching answer content data with higher relevance is prioritized. In one embodiment, the relevance may be determined by the number of matching tags— the more matching tags, the higher the relevance. For example, if the matching answer content data comprises two answer entries, the answer entry with more tags matching those of the language invariant meaning may be given higher relevance and priority.
Take the embodiment illustrated in figure 8 as an example, the first answer entry 815a has a higher relevance and priority relative to the second answer entry 815b. That is to say, in comparison with the question metadata of the second answer entry 815b, the question metadata of the first answer entry 815a has more tags corresponding to the tags of the language invariant meaning of the user's question. To further clarify, if the question metadata of the first answer entry 815a corresponds to the tags of "tablet" and "screen quality" whereas the question metadata of the second answer entry 815b only corresponds to the tag of "tablet", the first answer entry 815a is prioritised over the second answer entry 815b for corresponding to more matching tags.
In an alternative embodiment, the subscriber computing device 720 may be configured to rank the matching answer content data in accordance with ranking data. The ranking data may be any data that may be used to rank the matching answer content data. A source of such ranking data may be the social graph platform server 730, which may host a platform on which uses may exchange opinions about and/or vote a product or a service.
In the exemplary embodiment shown in figure 7, the ranking data may comprise social feedback ranking data received by the server 710 from the social graph platform server 730 via the network 180. The social feedback ranking data in one embodiment may comprise comment data representing various user comments relating to the question data. The social feedback ranking data in another embodiment may comprise comment data representing various comments relating to the matching answer content data. That is to say, upon receipt of the ranking data, the server 710 may rank the matching answer content data to determine the order, in which answer entries of the matching answer content data are shown when viewed on the subscriber computing device 720, in accordance with a semantic analysis of the comment data in the ranking data.
For example, if a result of the semantic analysis is indicative of the first answer entry 815a being more relevant than the second answer entry 815b, the first answer entry 815a may be given priority over the second answer entry 815b. Furthermore, in the case where the ranking data further represents relevance ranking of products or services corresponding to the answer entries of the matching answer content data, the subscriber computing device 720 may further be configured to calculate the relevance ranking in accordance with a semantic analysis. That is, comments about and ranking of the products or services under consideration by users of the social graph platform server 730 may be taken into consideration in the process of ranking the matching answer content data. Of course, the ranking data may be received from any other sources in other embodiments, as long as the ranking data represents information that may facilitate ranking of the answer entries of the matching answer content data. In the context of the user shopping for electronic products, an exemplary source of the ranking data may be Amazon.com, which comprises product descriptions and user comments.
In yet another embodiment, the ranking data comprises a list of keywords that have been bidded on by companies wishing their matching answer content data to appear higher in the results list.
In this embodiment, the server 710 is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
The ordering of the matching answer content data can be in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
Advantageously, this allows natural results to be reordered to reward advertisers who are bidding on relevant keywords in proportion to what they are willing to pay for the advertising, that is, what they are willing to bid on the relevant keywords.
It should be noted however, that this process could also be embodied in instructions stored on a computer readable medium.
Selecting of the matching answer content data will be described in more detail together with uploading of answer content data hereinafter.
Once the matching answer content data is selected, the server 710 may be configured to serve the matching answer content data, via the network 180, to the subscriber client device 720. Upon receipt of the matching answer content data, the subscriber computing device 720 may output the matching answer content data through the AV interface 1010 for audio and/or video representation of the matching answer content data.
In one embodiment, there may be two types of memberships, one of which is for requesting answer content data from the server 710 in the manner described hereinabove (hereinafter referred to as the "subscriber membership"), the other of which is for uploading answer content data to the database 715 of the server 710 (hereinafter referred to as the "client membership"). Users with the subscriber membership will be referred to as "the subscribers" hereinafter. Users with the client membership will be referred to as "the clients" hereinafter.
Uploading and selecting of answer content data
Referring to figure 9, in one embodiment, the clients may upload, using their computing devices 920, answer content data to the database 715 of the server 710. The clients may upload the answer content data through the use of a software application, a web browser or the like. Other means of uploading the answer content data may also be employed, such as by way of providing a computer readable storage medium (e.g. a Blu-ray disc) with the answer content data to be uploaded to the database 715. In this embodiment, the client computing device 920 and the subscriber computing device 720 may be identical in specifications. However, in other embodiments, the client computing device 920 may take on an embodiment different from that of the subscriber computing device 720. For example, as alluded to above, the subscriber computing device 720 may be a mobile computing device while the client computing device 920 may be a desktop computer. Shown in figure 10 is an exemplary webpage 1060, as seen on the client computing device 920, for uploading answer content data. The client may input the title for each upload of answer content data. In this case, the title of "Home Loan Interest Rate" is inputted in the title input field 1065. The client may further upload at least one of video data, audio data and text data. Specifically, the client may designate location of the video data, the audio data, and text data to be uploaded in respective input fields 1070, 1075, 1080. Furthermore, the client may further specify question metadata. In this case, the client enters the tags of "home loan" and "interest" in a tag input field 1085. The client may also specify the date on which the uploaded answer content data will become available for serving to the subscribers.
At the bottom of the exemplary webpage 1060, the client may specify a bid amount for each of the video data, audio data and text data to be uploaded to the server 710. In this case, the client specifies a bid amount of five dollars for the video data, one dollar for the audio data, and one dollar for the text data. The bid amount entered for each of the video data, audio data and text data is stored in bid amount data in association with the corresponding answer entry of the answer content data. In one embodiment, when selecting the matching answer content data for serving to the subscriber, the matching answer content data may be selected further in accordance with the bid amount data. For example, in the scenario illustrated in figure 8, if the subscriber chooses to receive answer content data that comprises only video data, since the video data of the first answer entry 815a corresponds to a higher bid amount relative to the video data of the second answer entry 815b, the first answer entry 815a is prioritised relative to the second answer entry 815b. Of course, similar arrangement of ranking may be applied to one of video data, audio data, text data and combinations thereof.
In yet another embodiment, matching answer content data comprising a keyword from a list of keywords that have been bidded on can appear higher in the search results than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
The ordering of the matching answer content data can be in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
Advantageously, this allows natural results to be reordered to reward advertisers who are bidding on relevant keywords in proportion to what they are willing to pay for the advertising, that is, what they are willing to bid on the relevant keywords.
In one embodiment, once an answer entry of the matching answer content data has been viewed and clicked by a subscriber, the server 710 may initiate a financial transaction in accordance with the bid amount data corresponding to the answer entry. The financial transaction may be made at regular intervals in one embodiment, and may be made instantaneously following presentation of the answer entry to the client. Of course, other arrangements for charging the clients and arranging financial transactions are also possible, depending on applications.
Text-to-audio synthesis
In one embodiment where the matching answer content data comprises text data, the subscriber computing device 720 may be configured to synthesise audio data in accordance with text data in the matching answer content data received thereby. Such a design may facilitate use of the system 700 by users with visual impairment or users who prefer to listen than to read.
Uniform resource locator (URL)
In another embodiment, the answer content data uploaded by the clients may comprise uniform resource locators (URLs). Such URLs may correspond to, for example, websites, International standard book numbers (ISBNs), or the likes. Upon receipt of the answer content data, the user of the subscriber computing device to 720 may initiate an action corresponding to the type of the URL in the answer content data. Such an action may be to open the content of the URL using a web browser if the URL corresponds to an HTTP address. Another exemplary action may be to open the content of the URL using a software application for a bookstore (e.g. Amazon.com) if the URL corresponds to an ISBN. Of course, in other embodiments, other actions are also possible, depending on the type of the URL in the answer content data.
Audio data format
As alluded to above, the answer content data may comprise audio data. The audio data may be formatted in accordance with a wide variety of audio formats. Examples of such audio formats may be mp3, aiff, aac, ALAC, amr, flac, m4a, ogg, wma, and wav. It should be appreciated that the list of audio formats is not exhaustive, and may be expanded or narrowed in other embodiments, depending on implementation Image data format
As described hereinabove, the answer content data may also comprise image data. The image data may be formatted in accordance with a wide variety of image formats. Examples of such image formats may be jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png. Of course, the list of image formats is not exhaustive, and may be expanded or narrowed in other embodiments, according to need.
It should be noted that the image data may be construed as comprising video data, since the process of displaying video information can be construed as the process of displaying a plurality of image frames in a predetermined manner, sometimes with corresponding synchronised audio data. Video data format
The answer content data may comprise pre-recorded video data. The pre-recorded video data may be formatted in accordance with a wide variety of video formats. Examples of such video formats may be .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats. Of course, the list of video formats is not exhaustive, and may be expanded or narrowed in other embodiments, according to need.Transcoding of answer content data
Due to the wide variety of mobile computing devices and format standards available in the market, sometimes compatibility can be an issue. For example, if the subscriber computing device 720 is incompatible with one or both of the audio data and image data, transcoding may be needed. The server 710 may, in one embodiment, be configured to transcode the audio data and/or the image data into a compatible format so as to ensure compatibility with the subscriber computing device 720.
In one embodiment, the server 710 may be configured to actively transcode the answer content data prior to sending to the subscriber computing device 720 in accordance with registration information of the subscriber computing device 720. Such registration information may be obtained and maintained by the server 710 upon, for example, establishment of connection with the subscriber computing device 720. In another embodiment, the server 710 may be configured to passively transcode the answer content data upon receipt of notification of incompatibility from the subscriber computing device 720.
Several transcoding means may be adopted. For example, a transcoder device may be operably coupled to the processor 1000 and the database 715, such that the server 710 may control the transcoder device for transcoding the answer content data in the database 715 as needed. Such transcoding may be performed in real time prior to sending the matching answer content data to the subscriber client device 720. Alternatively, such transcoding may be performed at an earlier time, prior to receiving question data such that different formats of the same answer content data are stored in the database 715 for selective serving to the subscriber client device 720 upon request.
However, transcoding of the answer content data should not be construed as being limited to the above description, and may take on any other suitable arrangement.
Retrieval of real-time information
Sometimes, to improve utility, it may be ideal to provide the answer content data in accordance with extra data or information.
In one embodiment, the server 710 may further be coupled operably to an inventory server 730 (e.g., a remote server). The inventory server 730, for example, may be a server hosted by a retailer and may store product catalogue data and stock availability data pertaining to products offered by the retailer. For example, the product catalogue data may be representative of products being offered, whereas the stock availability data may be representative of availability (e.g. a number of remaining stock) of each product being offered. In one embodiment, upon receipt of the question data, the server 710 may be configured to send query data to the inventory server 730 in accordance with the question data. If the question data is representative of a question relating to the new iPad, the inventory server 730 may, in response to the query data, compose reply data relating to the query data. In one embodiment, the reply data may comprise the product catalogue data, which may represent description information of various tablet devices including the new iPad, and the stock availability data, which may represent availability of each of the tablet devices.
Upon receipt of the reply data, the server 710 may select the matching answer content data further in accordance with the reply data. Continuing from the above embodiment, the matching answer content data may, in this case, comprise the product catalogue data and stock availability data. For example, in the embodiment illustrated in figure 8, the status of availability of the product to which each of the first and second answer entries 815a, 815b corresponds (marked by 816a, 816b) may be shown for reference. Furthermore, upon clicking on one of the first and second answer entries 815a, 815b, the product catalogue data corresponding to said one of the first and second answer entries 815a, 815b may be presented for viewing by the user.
Administration interfaces
An administrator of the server 710 may create, modify and delete client profiles for clients. Shown in figure 11 is an exemplary webpage 1100 for the administrator to create a client profile for a client. In one embodiment, the exemplary webpage 1100 comprises a plurality of inputs fields 1105 for company name, file number, fax number, logo, etc. In another embodiment, the admin may further specify, in a membership selection menu 1110, a membership level for the client, each membership level corresponding to a unique privilege.
In an exemplary arrangement, there are platinum, gold, silver and bronze memberships. Depending on the membership level, in one embodiment, the client profile may have a predetermined maximum number of stores, a predetermined maximum number of access accounts (indicated by arrow 1115), a predetermined maximum number of entries of answer content data, a predetermined maximum number of tags of question metadata to be associated with each entry of answer content data of the client profile, and a predetermined maximum number of words for the text data for each entry of answer content data of the client profile. Furthermore, for each of the access accounts, identification information and account status may be specified in respective input fields and drop-down menu (marked by arrow 1120).
Shown in figure 12 is an exemplary webpage 1200 for specifying, for each store of the client, an address, a suburb, a phone number, and opening hours. It should be appreciated that arrangement of the memberships and the associated privileges may differ in other embodiments, depending on applications. Furthermore, arrangement of the webpages 1100, 1200 is not limited to the above embodiments described in relation to figures 11 and 12.
Client interface
Shown in figure 13 is an exemplary webpage 1300 showing at least statistical information 1305 corresponding to the client profile of a client. The statistical information may, for example, comprise a total number of entries of answer content data associated with the client profile (in this case "1 "), a total number of times entries of answer content data of the client profile have been displayed in search and viewed by the subscribers(in this case "27" and "4", respectively), a total number of keywords associated with the client profile (in this case "3"), a total current payable amount (in this case "$11"), and the membership level of the client profile. Further shown in the exemplary webpage 1300 is a histogram 1310 showing the number of times each answer entry of the client profile has been clicked and the number of times the same has been viewed. Of course, in other arrangement, further statistical information may be shown, according to need.
Interpretation
Social graph
The term social graph as used herein is a data structure comprising one or more connections describing the relationships between individuals (and the relationships between individuals online in one embodiment) and is defined explicitly by the one or more connections.
Bus
In the context of this document, the term "bus" and its derivatives, while being described in a preferred embodiment as being a communication bus subsystem for interconnecting various devices including by way of parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like, should be construed broadly herein as any system for communicating data.
In accordance with:
As described herein, 'in accordance with' may also mean 'as a function of and is not necessarily limited to the integers specified in relation thereto.
Composite items
As described herein, 'a computer implemented method' should not necessarily be inferred as being performed by a single computing device such that the steps of the method may be performed by more than one cooperating computing devices.
Similarly objects as used herein such as 'web server', 'server', 'client computing device', 'computer readable medium' and the like should not necessarily be construed as being a single object, and may be implemented as a two or more objects in cooperation, such as, for example, a web server being construed as two or more web servers in a server farm cooperating to achieve a desired goal or a computer readable medium being distributed in a composite manner, such as program code being provided on a compact disk activatable by a license key downloadable from a computer network. Database:
In the context of this document, the term "database" and its derivatives may be used to describe a single database, a set of databases, a system of databases or the like. The system of databases may comprise a set of databases wherein the set of databases may be stored on a single implementation or span across multiple implementations. The term "database" is also not limited to refer to a certain database format rather may refer to any database format. For example, database formats may include MySQL, MySQLi , XML or the like.
Wireless:
The invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards. Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
In the context of this document, the term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term "wired" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
Processes:
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", "analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
Processor:
In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing device" or a "computing machine" or a "computing platform" may include one or more processors. The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
Computer-Readable Medium:
Furthermore, a computer-readable carrier medium may form, or be included in a computer program product. A computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
Networked or Multiple Processors:
In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
Note that while some diagram(s) only show(s) a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
Additional Embodiments:
Thus, one embodiment of each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
Carrier Medium:
The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an example embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
Implementation:
It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system. Means For Carrying out a Method or Function
Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a processor device, computer system, or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention. Connected
Similarly, it is to be noticed that the term connected, when used in the claims, should not be interpreted as being limitative to direct connections only. Thus, the scope of the expression a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Connected" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still cooperate or interact with each other. Embodiments:
Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
Similarly it should be appreciated that in the above description of example embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description of Specific Embodiments are hereby expressly incorporated into this Detailed Description of Specific Embodiments, with each claim standing on its own as a separate embodiment of this invention.
Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination. Specific Details
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Terminology
In describing the preferred embodiment of the invention illustrated in the drawings, specific terminology will be resorted to for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar technical purpose. Terms such as "forward", "rearward", "radially", "peripherally", "upwardly", "downwardly", and the like are used as words of convenience to provide reference points and are not to be construed as limiting terms.
Different Instances of Objects
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
Comprising and Including
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" are used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention. Any one of the terms: including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
Scope of Invention
Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as fall within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.
Industrial Applicability
It is apparent from the above, that the arrangements described are applicable to the artificial intelligence and search engine industries.

Claims

Claims
1. A server for serving answer data, the server comprising:
a processor for processing digital data;
a memory device for storing digital data including computer program code, the memory device being communicable with the processor;
a database adapted for storing answer content data in association with question metadata; and
a network interface for sending and receiving data across a network, the network interface being communicable with the processor, in use, wherein the processor is controlled by the computer program code to:
receive, via the network interface, question data;
select, from the database, matching answer content data at least in accordance with the question metadata and the question data; and
serve, via the network interface, the matching answer content data as the answer data.
2. A server as claimed in claim 1, wherein, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a semantic analysis of the question data.
3. A server as claimed in claim 1, wherein, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
4. A server as claimed in claim 1, wherein, in selecting the matching answer content data, the processor is further controlled by the computer program code to rank the matching answer content data in accordance with ranking data.
5. A server as claimed in claim 4, wherein the ranking data comprises social feedback ranking data.
6. A server as claimed in claim 5, wherein the processor is further controlled by the computer program code to receive, via the network interface, the social feedback ranking data.
7. A server as claimed in claim 6, wherein the social feedback ranking data comprises comment data.
8. A server as claimed in claim 7, wherein the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data.
9. A server as claimed in claim 8, wherein the ranking data represents relevance ranking.
10. A server as claimed in claim 9, wherein the processor is further controlled by the computer program code to calculate the relevance ranking in accordance with the semantic analysis of the question data.
11. A server as claimed in claim 4, wherein the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
12. A server as claimed in claim 11, wherein matching answer content data is further ranked in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
13. A server as claimed in claim 1, wherein the processor is further controlled by the computer program code to further receive, via the network interface, the answer content data.
14. A server as claimed in claim 13, wherein the answer content data is further in association with bid amount data, and wherein, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the bid amount data.
15. A server as claimed in claim 14, wherein the processor is further controlled by the computer program code to initiate a financial transaction in accordance with the bid amount data.
16. A server as claimed in claim 1, wherein the answer content data comprises text data.
17. A server as claimed in claim 16, wherein, in serving the matching answer content data, the processor is further controlled by the computer program code to synthesize audio data in accordance with the text data.
18. A server as claimed in claim 1, wherein the matching answer content data comprises a uniform resource locator (URL).
19. A server as claimed in claim 1, wherein the answer content data comprises audio data.
20. A server as claimed in claim 19, wherein the audio data is formatted in accordance with one of mpl, aiff, aac, ALAC, amr, flac, m2a, ogg, wma, and wav formats.
21. A server as claimed in claim 1, wherein the answer content data comprises image data.
22. A server as claimed in claim 21, wherein the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
23. A server as claimed in claim 1 , wherein the answer content data comprises pre-recorded video data.
24. A server as claimed in claim 23, wherein the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
25. A server as claimed in claim 1 , wherein the matching answer content data is transcoded.
26. A server as claimed in claim 25, wherein the processor is further controlled by the computer program code to transcode the matching answer content data.
27. A server as claimed in claim 26, further comprising a transcoder device operably coupled to the processor and the database, wherein the processor is further controlled by the computer program code to control the transcoder device for transcoding the matching answer content data.
28. A server as claimed in claim 25, wherein the matching answer content data is transcoded in real-time.
29. A server as claimed in claim 28, wherein the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
30. A server as claimed in claim 1, wherein the processor is further controlled by the computer program code for sending, via the network interface, query data to a remote server in accordance with the question data.
31. A server as claimed in claim 30, wherein the processor is further controlled by the computer program code for receiving, via the network interface, reply data relating to the query data.
32. A server as claimed in claim 31, wherein the reply data comprises product catalogue data and stock availability data.
33. A server as claimed in claim 32, wherein, in selecting the matching answer content data, the processor is further controlled by the computer program code to select the matching answer content data further in accordance with the reply data.
34. A server as claimed in claim 13, wherein the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
35. A server as claimed in claim 1, wherein the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata:
(i) keywords in the question data;
(ii) a business name in the question data;
(iii) a company name in the question data;
(iv) a category of question;
(v) the geographical origin of the question;
(vi) the sex of the user asking the question;
(vii) the age of the user asking the question;
(vi) the URL of the page on which the question was asked; and
(vii) a bid amount associated with the question.
36. A computer readable storage medium for serving answer data, the computer readable storage medium comprising instructions executable by a computing device to:
receive, via a network interface, question data;
select, from a database, matching answer content data at least in accordance with question metadata and the question data; and
serve, via the network interface, the matching answer content data as the answer data.
37. A computer readable storage medium as claimed in claim 36, further comprising instructions to select the matching answer content data further in accordance with a semantic analysis of the question data.
38. A computer readable storage medium as claimed in claim 36, further comprising instructions to select the matching answer content data further in accordance with a speech recognition analysis of the question data.
39. A computer readable storage medium as claimed in claim 36, further comprising instructions to rank the matching answer content data in accordance with ranking data.
40. A computer readable storage medium as claimed in claim 39, wherein the ranking data comprises social feedback ranking data.
41. A computer readable storage medium as claimed in claim 40, further comprising instructions to receive, via the network interface, the social feedback ranking data.
42. A computer readable storage medium as claimed in claim 41, wherein the social feedback ranking data comprises comment data.
43. A computer readable storage medium as claimed in claim 42, wherein the ranking of the matching answer content data is determined in accordance with a semantic analysis of the comment data.
44. A computer readable storage medium as claimed in claim 43, wherein the ranking data represents relevance ranking.
45. A computer readable storage medium as claimed in claim 44, further comprising instructions to calculate the relevance ranking in accordance with the semantic analysis of the question data.
46. A computer readable storage medium as claimed in claim 39, wherein the ranking data comprises a list of keywords that have been bidded on and the computer program code is adapted to rank matching answer content data comprising a keyword from the list of keywords that have been bidded on higher than matching answer content data that doesn't comprise a keyword from the list of keywords that have been bidded on.
47. A computer readable storage medium as claimed in claim 46, wherein matching answer content data is further ranked in accordance with the bid amount on the keyword or keywords or sum of the bid amount on the keywords or the average of the bid amount on the keywords contained in the matching answer content data such that the higher the bid amount, the higher the matching answer content data is ranked.
48. A computer readable storage medium as claimed in claim 36, further comprising instructions to further receive, via the network interface, the answer content data.
49. A computer readable storage medium as claimed in claim 48, wherein the answer content data is further in association with bid amount data, and wherein the computer readable storage medium further comprises instructions to select the matching answer content data further in accordance with the bid amount data.
50. A computer readable storage medium as claimed in claim 49, further comprising instructions to initiate a financial transaction in accordance with the bid amount data.
51. A computer readable storage medium as claimed in claim 36, wherein the answer content data comprises text data.
52. A computer readable storage medium as claimed in claim 51, further comprising instructions to synthesize audio data in accordance with the text data.
53. A computer readable storage medium as claimed in claim 36, wherein the matching answer content data comprises a uniform resource locator (URL).
54. A computer readable storage medium as claimed in claim 36, wherein the answer content data comprises audio data.
55. A computer readable storage medium as claimed in claim 54, wherein the audio data is formatted in accordance with one of mp31, aiff, aac, ALAC, amr, flac, m32a, ogg, wma, and wav formats.
56. A computer readable storage medium as claimed in claim 36, wherein the answer content data comprises image data.
57. A computer readable storage medium as claimed in claim 56, wherein the image data is formatted in accordance with one of jpeg, jpeg-variant, exif, tiff, raw, gif, bmp, and png formats.
58. A computer readable storage medium as claimed in claim 36, wherein the answer content data comprises pre-recorded video data.
59. A computer readable storage medium as claimed in claim 58, wherein the video data is formatted in accordance with one of .flv, .avi, .mov, .mp4, .mpg, .wmv, .3gp, .asf, .rm and .swf formats.
60. A computer readable storage medium as claimed in claim 36, wherein the matching answer content data is transcoded.
61. A computer readable storage medium as claimed in claim 60, further comprising instructions to transcode the matching answer content data.
62. A computer readable storage medium as claimed in claim 61, further comprising instructions to control a transcoder device for transcoding the matching answer content data.
63. A computer readable storage medium as claimed in claim 60, wherein the matching answer content data is transcoded in real-time.
64. A computer readable storage medium as claimed in claim 60, wherein the transcoded matching answer content data is transcoded into a format such that it is communicated by an avatar.
65. A computer readable storage medium as claimed in claim 36, further comprising instructions to send, via the network interface, query data to a remote server in accordance with the question data.
66. A computer readable storage medium as claimed in claim 65, further comprising instructions to receive, via the network interface, reply data relating to the query data.
67. A computer readable storage medium as claimed in claim 66, wherein the reply data comprises product catalogue data and stock availability data.
68. A computer readable storage medium as claimed in claim 67, further comprising instructions to select the matching answer content data further in accordance with the reply data.
69. A computer readable storage medium as claimed in claim 48, wherein the answer content data comprises data that has been scraped from a frequently asked questions page of a website.
70. A computer readable storage medium as claimed in claim 36, wherein the question metadata comprises at least one type of question metadata selected from the following group of types of question metadata:
(i) keywords in the question data;
(ii) a business name in the question data;
(iii) a company name in the question data;
(iv) a category of question;
(v) the geographical origin of the question;
(vi) the sex of the user asking the question;
(vii) the age of the user asking the question;
(vi) the URL of the page on which the question was asked; and
(vii) a bid amount associated with the question.
PCT/AU2014/000614 2013-10-10 2014-06-12 A server for serving answer data and a computer readable storage medium for serving answer data WO2015051397A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2013903910A AU2013903910A0 (en) 2013-10-10 A system, server and computer readable storage medium for composing answer data
AU2013903910 2013-10-10

Publications (1)

Publication Number Publication Date
WO2015051397A1 true WO2015051397A1 (en) 2015-04-16

Family

ID=52812352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2014/000614 WO2015051397A1 (en) 2013-10-10 2014-06-12 A server for serving answer data and a computer readable storage medium for serving answer data

Country Status (1)

Country Link
WO (1) WO2015051397A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US6766320B1 (en) * 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US20080021708A1 (en) * 1999-11-12 2008-01-24 Bennett Ian M Speech recognition system interactive agent
US20090210389A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation System to support structured search over metadata on a web index

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US20080021708A1 (en) * 1999-11-12 2008-01-24 Bennett Ian M Speech recognition system interactive agent
US6766320B1 (en) * 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US20090210389A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation System to support structured search over metadata on a web index

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KATZ ET AL.: "Natural Language Annotations for the Semantic Web", IN PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ONTOLOGIES, DATABASES, AND APPLICATION OF SEMANTICS (ODBASE 2002, October 2002 (2002-10-01) *

Similar Documents

Publication Publication Date Title
US20240028658A1 (en) Systems, apparatuses, and methods for providing a quality score based recommendation
US10565634B2 (en) Training a chatbot for a digital advertisement to simulate common conversations associated with similar digital advertisements
US9646096B2 (en) System and methods for analyzing and improving online engagement
US11488207B2 (en) Sales assistance based on purchasing prediction
US10402833B2 (en) Method and apparatus for social network qualification systems
US9659103B2 (en) Auto-aligning website elements by grouping elements based on a plurality of contextual indicators
EP2916273A1 (en) System and method providing expert audience targeting
US20090182622A1 (en) Enhancing and storing data for recall and use
US11710144B2 (en) Garnering interest on potential listing in a photo or video
KR20130027015A (en) Conversational question and answer
US11049169B2 (en) System, computer program product, and method for automated gift determination and delivery
US20180033019A1 (en) Automated social media queuing system
US20220377424A1 (en) Dynamic digital content delivery using artificial intelligence (ai) techniques
US20170004515A1 (en) Techniques for providing a retail poll service
US10467237B1 (en) Object relationships and similarities based on user context
US20160350822A1 (en) Web and Mobile Based Messaging System for Communications Between Buyers and Sellers
US20140365331A1 (en) System and method for providing web-based user feedback
CN111787042B (en) Method and device for pushing information
US11257029B2 (en) Pickup article cognitive fitment
CN112650942A (en) Product recommendation method, device, computer system and computer-readable storage medium
KR102402551B1 (en) Method, apparatus and computer program for providing influencer searching service
US11836204B1 (en) Social collaboration platform for facilitating recommendations
US11842372B2 (en) Systems and methods for real-time processing of audio feedback
US20160055551A1 (en) System and method for providing web-based user feedback
WO2015051397A1 (en) A server for serving answer data and a computer readable storage medium for serving answer data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14852729

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14852729

Country of ref document: EP

Kind code of ref document: A1