US20220398251A1 - Data processing system and method for implementing a search engine based on detecting intent from a search string - Google Patents
Data processing system and method for implementing a search engine based on detecting intent from a search string Download PDFInfo
- Publication number
- US20220398251A1 US20220398251A1 US17/347,231 US202117347231A US2022398251A1 US 20220398251 A1 US20220398251 A1 US 20220398251A1 US 202117347231 A US202117347231 A US 202117347231A US 2022398251 A1 US2022398251 A1 US 2022398251A1
- Authority
- US
- United States
- Prior art keywords
- features
- intent
- search
- string
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims description 44
- 238000012545 processing Methods 0.000 title description 17
- 230000004044 response Effects 0.000 claims abstract description 71
- 238000012549 training Methods 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 62
- 238000005516 engineering process Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000010801 machine learning Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000007792 addition Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1095—Meeting or appointment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
Definitions
- the present disclosure relates generally to data processing, and more specifically to data processing system and method for implementing a search engine based on detecting intent from a search string.
- search term(s) responses for an input text
- the current search engines may include irrelevant links or documents in the search results.
- the current search engine may perform a simple string matching to determine the search results.
- simple string matching techniques leads to producing irrelevant search results.
- Current technologies are not configured to provide a reliable and efficient search engine.
- This disclosure contemplates systems and methods for implementing a search engine based on detecting intents from search strings.
- the disclosed system is configured to detect an intent from a search string (e.g., input by a user) by extracting a set of features from the search string.
- the set of features may represent an intent associated with the search string.
- the intent may represent contextual data and the concept of the search string.
- the set of features may be represented by one or more keywords.
- the search string may include “I want to see someone about my account.”
- the set of features may include one or more keywords of the search string.
- the intent of the search string may be “schedule an appointment.”
- the disclosed system may identify a text that comprises a response to the search string.
- the disclosed system compares the set of features extracted from the search string with features previously extracted from a plurality of text strings and labeled with a plurality of intent tags stored in a training dataset.
- each intent tag from among the plurality of intent tags is associated with one or more text strings.
- Each text string is associated with a set of features representing a corresponding intent tag.
- Each intent tag is associated with a particular text that comprises a response to a search string.
- the disclosed system compares the first set of features (extracted from the search string) with a second set of features (associated with a first intent tag and a text string associated with the first intent tag). The disclosed system determines whether the first set of features corresponds to the second set of features.
- the disclosed system calculates a confidence score indication a probability of the first set of features corresponding the second set of features.
- the confidence score may further indicate a percentage of features of the first set of features that correspond to counterpart features of the second set of features.
- the disclosed system determines that the intent of the search string corresponds to the first intent tag. In this case, the disclosed system determines that a first item in a search result for the search string should be a first text associated with the first intent tag, where the first text comprises a response to the search string.
- the disclosed system may determine that other items in the search result for the search string should include documents in which a frequency of occurrence of each keyword associated with the search string is more than a threshold frequency.
- the disclosed system may rank these documents based on the frequency of occurrence of each keyword associated with the search string.
- the disclosed system may determine that other items in the search result for the search string should include documents that are associated with search indexes that correspond to the keywords associated with the search string.
- the disclosed system may compare the set of features (extracted from the search string) with other sets of features associated with other intent tags, and thus calculate multiple confidence scores each indicating whether the intent of the search string corresponds to different intent tags. If the disclosed system determines that none of the confidence scores is more than the threshold percentage, the disclosed system may determine that the items in the search result for the search string may include documents in which the frequency of occurrence of each keyword associated with the search string is more than a threshold frequency and/or documents that are associated with search indexes that correspond to the keywords associated with the search string.
- a system for determining search results for a search string based on detecting intent from the search string comprises a memory and a processor.
- the memory is operable to store a training dataset comprising a first intent tag associated with at least a first string.
- the first intent tag indicates a first intent of the first string.
- the first string is associated with a first set of features representing the first intent of the first string.
- the first intent tag is predetermined to be associated with a first text comprising a response to the first string.
- the processor is operably coupled with the memory.
- the processor receives a search string.
- the processor determines an intent from the search string by extracting a second set of features from the search string.
- the second set of features represents the intent.
- the intent is indicated by one or more particular keywords.
- the processor compares the second set of features with the first set of features.
- the processor determines whether the second set of features corresponds with the first set of features by determining a percentage of features of the second set of features that correspond to counterpart features of the first set of features.
- the processor determines that the intent corresponds to the first intent tag.
- the processor produces a search result for the search string, where a first item in the search result is the first text.
- the processor outputs the search result.
- the disclosed system provides several practical applications and technical advantages, which include: 1) technology that detects an intent from a search string based on extracting a set of features from the search string, where the set of features represents contextual data, concept, and intent of the search string; 2) technology that uses a training dataset comprising a plurality of intent tags each associated with a different set of features to compare the set of features (extracted from the search string) with the different sets of features and determine a particular set of features (associated with a particular intent tag) that correspond to the set of features (extracted from the search string); 3) technology that calculates a confidence score indicating a probability of the particular set of features (associated with the particular intent tag) corresponding to the set of features (extracted from the search string); 4) technology that determines that the particular intent tag corresponds to the intent of the search string if the confidence score is more than a threshold percentage; 5) technology that produces search results for the search string based on the detected intent; 6) technology that determines that a first item in the search results is a first text associated with
- the disclosed system may improve the current search engine and text processing technologies, for example, by implementing an intent- or intention-based search engine that detects an intent of a search string, and determines a particular text that comprises a response to a search string.
- the disclosed system may be integrated into a practical application of providing the most relevant response to the search string by detecting the particular text based on the detected intent of the search string.
- the most relevant response to the search string is placed at the top of the search result of the search string.
- This provides an additional practical application of excluding documents that include less relevant responses to the search string compared to the particular text that includes the most relevant response to the search string, even though those documents comprise more than a threshold frequency of occurrences of keywords associated with the search string and/or indexed with search indexes associated with the keywords of the search string.
- excluding the less relevant responses to the search string from the research results improves the usage of storage capacity of computer memory and thereby makes the underlying computer technologies operate more efficiently.
- the disclosed system may further be integrated into an additional practical application of excluding documents that include less relevant responses to the search string compared to the particular text that includes the most relevant response to the search string, where those documents are otherwise determined by the current search engine and text processing technologies.
- the disclosed system may further be integrated into an additional practical application and technical improvement over current technologies by improving the search engine, text processing, and computing technologies, and improving a computer system by providing technical solution of detecting an intent of a search string, and detecting the most relevant response to the search string.
- the disclosed system provides a technical solution to the problem of producing a search result that includes the most relevant response to the search string.
- the disclosed system may further be integrated into an additional practical application of reducing the size of the search result by excluding documents that include less relevant responses to the search string.
- the disclosed system may further be integrated into an additional practical application of improving underlying operations of computing devices tasked to process the search string and produce the search results for the search string.
- the disclosed system may decrease processing, memory, and time resources spent on processing the search string and producing the search result that would otherwise be spent using the current search engine and text processing technologies.
- the search results are more accurate, produced faster, and require less processing, memory, and time resources compared to the current search engines.
- FIG. 1 illustrates an embodiment of a system configured for implementing a search engine based on detecting intent from a search string
- FIG. 2 illustrates an example flowchart of a method for implementing a search engine based on detecting intent from a search string.
- This disclosure provides various systems and methods for detecting an intent from a search string, and implementing a search engine using the detected intent.
- system 100 and method 200 for detecting an intent from a search string, and implementing a search engine using the detected intent are described in FIGS. 1 and 2 , respectively.
- FIG. 1 illustrates one embodiment of a system 100 that is configured to implement a search engine 144 to detect intents 114 from search strings 104 .
- system 100 comprises a server 140 .
- system 100 further comprises a network 110 , a computing device 120 , and a document database 130 .
- the server 140 comprises a processor 142 in signal communication with a memory 148 .
- Memory 148 stores software instructions 150 that when executed by the processor 142 , cause the processor 142 to detect an intent 114 from a search string 104 , and determine a text 168 that includes a response to the search string 104 based on the detected intent 114 .
- Document database 130 stores a plurality of documents 132 that may be used by the memory 148 and/or the processor 142 .
- system 100 may not have all of the components listed and/or may have other elements instead of, or in addition to, those listed above.
- Network 110 may be any suitable type of wireless and/or wired network, including, but not limited to, all or a portion of the Internet, an Intranet, a private network, a public network, a peer-to-peer network, the public switched telephone network, a cellular network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a satellite network.
- the network 110 may be configured to support any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.
- Computing device 120 is generally any device that is configured to process data and interact with users 102 .
- Examples of computing device 120 include, but are not limited to, a personal computer, a desktop computer, a workstation, a server, a laptop, a tablet computer, a mobile phone (such as a smartphone), etc.
- the computing device 120 may include a user interface, such as a display, a microphone, keypad, or other appropriate terminal equipment usable by user 102 .
- the computing device 120 may include a hardware processor, memory, and/or circuitry configured to perform any of the functions or actions of the computing device 120 described herein.
- a software application designed using software code may be stored in the memory and executed by the processor to perform the functions of the computing device 120 .
- the user 102 may input one or more words 106 in a search text field on a website 122 .
- the user 102 may input a search string 104 that comprises one or more words 106 in a text field on the website 122 .
- the search string 104 may include “I want to make an appointment with someone,” “I want to sit down with someone to discuss my options,” “I want to meet with an employee to talk about my account,” or any other search strings 104 .
- the intent 114 associated with the search string 104 is to make an appointment.
- the user 102 may input a search string 104 to view an existing appointment.
- the user 102 may input “how can I see my appointment,” “show my current appointments,” or any other search strings 104 .
- the intent 114 associated with the search string 104 is to view the existing appointment.
- the user 102 may input a search string 104 to edit an existing appointment.
- the user 102 may input “how can I edit my schedule at LOAM,” “how can and reschedule my appointment,” or any other search strings 104 .
- the intent 114 associated with the search string 104 is to edit the existing appointment.
- the search string 104 may be related to any topic or concept, e.g., web design, accounting, etc., As such, the intent 114 of the search string 104 may be related to any topic or concept.
- the search engine 144 processes the received search string 104 from the computing device 120 and via network 110 , predicts the intent 114 associated with the search string 104 , and determines a text 168 that includes a response to the search string 104 . This process is described in detail in conjunction with the operational flow of system 100 and method 200 described in FIG. 2 .
- Document database 130 generally comprises any storage architecture. Examples of document database 130 include, but are not limited to, a network-attached storage cloud, a storage area network, a storage assembly directly (or indirectly) coupled to one or more components of the system 100 .
- the document database 130 stores a plurality of documents 132 . Each document 132 comprises a particular set of keywords 134 indicating a particular concept associated with document 132 . In other words, each document 132 is mapped to a particular concept. For example, a first document 132 a may comprise a first set of particular keywords 134 a indicating a first concept, a second document 132 b may comprise a second set of particular keywords 134 b indicating a second concept, and so on.
- the document database 130 may store any other data and/or instruction to be used by the memory 148 and/or the processor 142 to perform one or more functions described herein.
- the search engine 144 may fetch one or more documents 132 from the document database 130 to perform one or more functions described herein. For example, the search engine 144 may add one or more documents 132 , or a subset of documents 132 to a search result 172 for a search string 104 . In one example, the search engine 144 may add one or more documents 132 to the search result 172 , where each of the one or more document 132 include keywords 116 , and a frequency of occurrence of each keyword 116 is more than a threshold frequency (e.g., more than 20, 40, etc.).
- a threshold frequency e.g., more than 20, 40, etc.
- the search engine 144 adds one or more documents 132 to the search result 172 , where each of the one or more documents 132 include words 106 , and a frequency of occurrence of each word 106 is more than a threshold frequency (e.g., more than 20, 40, etc.).
- the search engine 144 adds one or more documents 132 to the search result 172 , where each of the one or more documents 132 is indexed or labeled with one or more keywords 116 and/or words 106 , such as search indexes.
- the search engine 144 may rank the one or more documents 132 based on the frequency of occurrences of keywords 116 and/or words 106 . This process is described in detail in conjunction with the operational flow of system 100 and method 200 described in FIG. 2 .
- Server 140 is generally a server or any other device configured to process data and communicate with computing devices (e.g., computing device 120 ), databases (document database 130 ), etc., via the network 110 .
- the server 140 is generally configured to oversee the operations of the search engine 144 , as described further below in conjunction with an operational flow of system 100 and method 200 described in FIG. 2 .
- the server 140 may be configured as shown or in any other configuration.
- Processor 142 comprises one or more processors operably coupled to the memory 148 .
- the processor 142 is any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs).
- the processor 142 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding.
- the one or more processors are configured to process data and may be implemented in hardware or software.
- the processor 142 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture.
- the processor 142 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations, processor 142 registers the supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components.
- the one or more processors are configured to implement various instructions.
- the one or more processors are configured to execute instructions (e.g., software instructions 150 ) to implement the search engine 144 .
- processor 142 may be a special-purpose computer designed to implement the functions disclosed herein.
- the processor 142 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware.
- the processor 142 is configured to operate as described in FIGS. 1 - 2 .
- the processor 142 may be configured to perform one or more steps of method 200 as described in FIG. 2 .
- Network interface 146 is configured to enable wired and/or wireless communications (e.g., via network 110 ).
- the network interface 146 is configured to communicate data between the server 140 and other devices (e.g., computing device 120 ), databases (e.g., document database 130 ), systems, or domains.
- the network interface 146 may comprise a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router.
- the processor 142 is configured to send and receive data using the network interface 146 .
- the network interface 146 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art.
- Memory 148 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).
- Memory 148 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like.
- Memory 148 is operable to store the software instructions 150 , machine learning algorithm 152 , training dataset 154 , intent tags 156 , confidence scores 166 , search strings 104 , features 108 , vector 112 , intent 114 , search results 172 , keywords 178 , threshold percentage 170 , and/or any other data or instructions.
- the software instructions 150 may comprise any suitable set of instructions, logic, rules, or code operable to execute the processor 142 .
- Search engine 144 may be implemented by the processor 142 executing software instructions 150 , and is generally configured to 1) detect an intent 114 from a search string 104 ; 2) identify a text 168 that includes a response to the search string 104 ; and 3) output search results 172 for the search string 104 that includes the text 168 .
- Each of these processes are described in detail further below in conjunction with the operational flow of system 100 and method 200 described in FIG. 2 .
- the search engine 144 may be implemented by a machine learning algorithm 152 .
- the machine learning algorithm 152 may comprise support vector machine, neural network, random forest, k-means clustering, etc.
- the machine learning algorithm 152 may be implemented by a plurality of neural network (NN) layers, Convolutional NN (CNN) layers, Long-Short-Term-Memory (LSTM) layers, Bi-directional LSTM layers, Recurrent NN (RNN) layers, and the like.
- the machine learning algorithm 152 may be implemented by a Natural Language Processing (NLP).
- NLP Natural Language Processing
- the machine learning algorithm 152 may be implemented by analog signal processing, digital signal processing, speech signal processing, signal quantization, signal frequency sampling, among others.
- the search engine 144 may be trained by the training dataset 154 .
- the training dataset 154 may comprise a plurality of intent tags 156 .
- Each intent tag 156 may be associated with one or more text strings 158 .
- Each intent tag 156 indicates an intent associated with its corresponding strings 158 .
- the intent tag 154 a may be associated with one or more strings 158 a that may include strings 158 a - 1 , 158 a - 2 , and so on.
- the intent tag 154 a may indicate a first intent of the strings 158 a including strings 158 a - 1 , 158 a - 2 , etc. For example, assume that the intent tag 154 a is scheduling an appointment.
- strings 158 a may include “set an appointment,” “set up reservation regarding my account,” “I need an appointment with someone about the account,” “see someone,” “see a specialist about account,” “how to schedule an appointment,” and/or other strings 158 a whose intent is to schedule an appointment.
- the intent tag 154 b may be associated with one or more strings 158 b .
- the intent tag 154 b may indicate a second intent of the strings 158 b .
- some examples of the strings 158 b may include “edit an appointment,” “how can I reschedule my appointment,” “I need to revise my scheduled appointment,” and/or other strings 158 b whose intent is to edit an appointment.
- each string 158 in the training dataset 154 may be associated with a set of features 160 .
- the set of features 160 represents an intent of its corresponding strings 158 .
- the set of features 160 represents an intent tag 156 of the corresponding string 158 , and may be used to uniquely identify its corresponding intent tag 156 .
- Each set of features 160 may be represented by a vector 162 .
- Each vector 162 may comprise a set of numerical values.
- the string 158 a - 1 is associated with the set of features 160 a - 1 represented by a vector 162 a - 1
- the string 158 a - 2 is associated with the set of features 160 a - 2 represented by a vector 162 a - 2
- each of the set of features 160 a - 1 and 160 a - 2 may be used to uniquely identify the intent tag 156 a
- the string 158 b is associated with the set of features 160 b represented by a vector 162 b , and so on.
- the search engine 144 may extract features 160 from strings 158 by implementing the machine learning algorithm 152 including natural language processing.
- each intent tag 156 in the training dataset 154 may be associated with one set of features 160 .
- Each intent tag 156 may be predetermined to be associated with a particular text 168 .
- Each text 168 may comprise a response to a different search string 104 .
- the intent tag 156 a may be predetermined to be associated with a text 168 a
- the intent tag 156 b may be predetermined to be associated with a text 168 b , and so on.
- the search engine 144 may use the training dataset 154 to determine an intent 114 of a search string 104 . To determine an intent 114 of a search string 104 , the search engine 144 extracts features 108 from the search string 104 , and compares the features 108 with features 160 .
- the search engine 144 determines a set of features 160 (e.g., set of features 160 a , 160 b , etc.) that corresponds to the features 108 . For example, the search engine 144 calculates confidence scores 166 each indicating a percentage of the set of features 108 corresponding to each set of features 160 . In response to determining a particular set of features 160 that corresponds to the features 108 , the search engine 144 determines that the intent tag 156 associated with the particular set of features 160 corresponds to the intent 114 .
- a set of features 160 e.g., set of features 160 a , 160 b , etc.
- FIG. 1 describes detecting intent 114 from the search string 104
- the system 100 may detect intents 114 from speech.
- the search engine 144 may receive speech of the user 102 , feed the speech to an audio signal processing, speech transcription, etc. to extract features 108 , detect words 106 and keywords 116 .
- the search engine 144 may detect the intent 114 of the speech by using the training dataset 154 , similar to that described above.
- the operational flow of system 100 begins when the search engine 144 receives a search string 104 .
- the search engine 144 may receive the search string 104 from the computing device 120 when the user 102 inputs the search string 104 in the website 122 .
- the search engine 144 extracts a set of features 108 from the search string 104 .
- the set of features 108 may represent the intent 114 associated with the search string 104 .
- the intent 114 may indicate the concept and contextual data associated with the search string 104 .
- the intent 114 may be indicated by one or more particular keywords 116 .
- the set of features 108 may be represented by one or more keywords 116 .
- the set of features 108 may be represented by a vector 112 that comprises a set of numerical values.
- the search engine 144 may extract the set of features 108 by implementing the machine learning algorithm 152 including a natural language processing algorithm. In this operation, the search engine 144 may use any type of text analysis, such as word segmentation, sentence segmentation, word tokenization, sentence tokenization, word featurization, sentence featurization, and/or the like.
- the search engine 144 compares the set of features 108 with each set of features 160 , such as features 160 a , 160 b , etc.
- the search engine 144 may compare the set of features 108 with each set of features 160 associated with strings 158 . For example, with respect to intent tag 154 a , the search engine 144 may compare the set of features 108 with the set of features 160 a associated with each string 158 a . For example, the search engine 144 may compare the set of features 108 with the set of features 160 a - 1 , set of features 160 a - 2 , and other features 160 a , separately.
- the search engine 144 may calculate a sub-confidence score 164 a indicating a percentage of features 108 from the set of features 108 that correspond to the counterpart features 160 a from the set of features 160 a.
- the search engine 144 may calculate a sub-confidence score 164 a - 1 indicating a percentage of features 108 from the set of features 108 that correspond to features 160 a - 1 , calculate a sub-confidence score 164 a - 2 indicating a percentage of features 108 from the set of features 108 that correspond to features 160 a - 2 , and so on.
- the sub-confidence score 164 a - 1 may further represent a probability of the intent tag 156 a corresponding to the intent 114 .
- sub-confidence score 164 a - 2 may further represent a probability of the intent tag 156 b corresponding to the intent 114 .
- the search engine 144 compares the vector 112 with vector 162 a - 1 .
- the search engine 144 may perform a dot product between the vector 112 and vector 162 a - 1 . In this operation, the search engine 144 may compare each numerical value of the vector 112 with a counterpart numerical value of the vector 162 a - 1 . The search engine 144 determines whether each numerical value of the vector 112 corresponds to the counterpart numerical value of vector 162 a - 1 .
- the search engine 144 determines that the vector 112 corresponds to the vector 162 a - 1 , and thus, features 108 correspond to features 160 a - 1 .
- a threshold percentage e.g., more than 90%, etc.
- the search engine 144 determines that the vector 112 corresponds to the vector 162 a - 1 , and thus, features 108 correspond to features 160 a - 1 .
- the search engine 144 may perform a similar operation in comparing the vector 112 with other vectors 162 .
- the search engine 144 may calculate the confidence score 166 a by taking an average of the sub-confidence scores 164 a - 1 , 164 a - 2 , and other sub-confidence scores 164 a .
- the confidence score 166 a may represent a percentage of features 160 a (e.g., features 160 a - 1 , 160 a - 2 , etc.) that corresponds to the features 108 .
- the search engine 144 may calculate other confidence scores 166 associated with other intent tags 156 , similar to that described above. In one embodiment, the search engine 144 may normalize the calculated confidence scores 166 , such that the addition of the calculated confidence scores 166 is 100%.
- the search engine 144 determines that the intent 114 corresponds to the intent tag 154 a . In other words, if the search engine 144 determines that the set of features 160 a (including one or more of features 160 a - 1 , 160 a - 2 , and other features 160 a ) corresponds to the set of features 108 , the search engine 144 determines that the intent 114 corresponds to the intent tag 154 a.
- a threshold percentage 170 e.g., more than 90%, 95%, etc.
- the search engine 144 produces the search result 172 by determining that a first item in the search results 172 for the search string 104 should be the first text 168 a .
- the search engine 144 may add one or more documents 132 as other items in the search results 172 .
- the search engine 144 may not add any of the text 168 in the search result 172 , and instead add one or more documents 132 to the search result 172 , as described below.
- the search engine 144 may add one or more documents 132 from documents 132 to the search results 172 .
- the search engine 144 may select the one or more documents 132 a by parsing the documents 132 and determining that in the one or more documents 132 a , a frequency of occurrence of each keyword 116 (or more than threshold percentage of the keywords 116 , e.g., more than 90% of the keywords 116 ) is more than a threshold frequency (e.g., 20, 40, etc.).
- the search engine 144 may determine a frequency of occurrence of each keyword 116 and/or word 106 in each document 132 by implementing a text parsing algorithm.
- the search engine 144 may rank the documents 132 based on the determined frequency of occurrence of each keyword 116 and/or word 106 in each document 132 . For example, a first document 132 a in which the frequency of occurrence of each keyword 116 and/or word 106 is higher than a frequency of occurrence of a counterpart keyword 116 and/or word 106 in other documents 132 is ranked higher than the other documents 132 .
- the search engine 144 adds the first document 132 a as a second item in the search results 172 .
- the search engine 144 may determine that the other items in the search result 172 are a subset of documents 132 in which the determined frequency of occurrence of each keyword 116 and/or word 106 is above a threshold frequency.
- the search engine 144 may exclude documents 132 that include keywords 116 and/or words 106 more than a threshold number (e.g., more than the threshold frequency of occurrence) yet include an irrelevant response to the search string 104 .
- the search engine 144 may determine that these documents 132 include an irrelevant response to the search string 104 by executing a natural language processing, determining a concept and intent of these document, and determining that these intents do not correspond to the intent 114 .
- the search engine 144 may determine the text 168 a that includes the most relevant response to the search string 104 , and exclude documents 132 that include less relevant responses to the search string 104 compared with the text 168 a from the search result 172 .
- the search results 172 includes the most relevant response to the search string 104 , and the size of the search result 172 is reduced by excluding documents 132 that include less relevant responses to the search string 104 compared with the text 168 a.
- the search engine 144 then outputs the search results 172 to the computing device 120 , such that the search results 172 are displayed on the website 122 .
- the search engine 144 may receive feedback (e.g., from the user 102 ) indicating whether the first text 168 a comprises a response to the search string 104 . In response to receiving the feedback that indicates that the first text 168 a does not comprise the response to the search string 104 , the search engine 144 may adjust one or more weight values associated with the features 108 and/or one or more features 160 a.
- the search engine 144 may increase the accuracy of the search results 172 and the classification of intent tags 156 with strings 158 in the training dataset 154 .
- the search engine 144 may receive an audio signal that includes speech of the user 102 as a search string 104 , where the audio signal includes one or more utterances or words 106 .
- the search engine 144 may execute an audio signal processing, speech signal processing, and/or the like to extract features 108 from the audio signal, compare the features 108 with features 160 , and detect the intent 114 of the audio signal, similar to that described above with respect to search string 104 .
- FIG. 2 illustrates an example flowchart of a method 200 for implementing a search engine 144 based on detecting intent 114 from a search string 104 . Modifications, additions, or omissions may be made to method 200 .
- Method 200 may include more, fewer, or other steps. For example, steps may be performed in parallel or in any suitable order. While at times discussed as the system 100 , processor 142 , search engine 144 , or components of any of thereof performing steps, any suitable system or components of the system may perform one or more steps of the method 200 .
- one or more steps of method 200 may be implemented, at least in part, in the form of software instructions 150 of FIG.
- non-transitory, tangible, machine-readable media e.g., memory 148 of FIG. 1
- processors e.g., processor 142 of FIG. 1
- steps 202 - 218 may cause the one or more processors to perform steps 202 - 218 .
- the method 200 beings at step 202 where the search engine 144 receives a search string 104 .
- the search engine 144 may receive the search string 104 from the computing device 120 when the user 102 inputs the search string 104 on the website 122 , similar to that described in FIG. 1 .
- the search engine 144 accesses a plurality of intent tags 156 each associated with a different set of features 160 .
- the search engine 144 may access the intents tags 156 each labeled with a different text 168 stored in the memory 148 .
- the search engine 144 selects an intent tag 156 from the plurality of intent tags 156 , where the intent tag 156 is associated with a first set of features 160 .
- the search engine 144 selects the intent tag 156 a .
- the intent tag 156 a is associated with the set of features 160 a including features 160 a - 1 , 160 a - 2 , and other features 160 a .
- the search engine 144 may iteratively select an intent tag 156 until there is not more intent tag 156 is left for evaluation.
- the search engine 144 may calculate confidence scores 166 for multiple intent tags 156 , and select a particular intent tag 156 whose confidence score 166 is above the threshold percentage 170 and/or is the highest among the calculated confidence scores 166 . In another embodiment, the search engine 144 may iteratively select an intent tag 156 until a particular intent tag 156 is found whose features 160 correspond to the features 108 (described in step 212 ).
- the search engine 144 determines an intent 114 associated with the search string 104 by extracting a second set of features 108 from the search string 104 .
- the search engine 144 may implement a natural language processing algorithm to extract the second set of features 108 , similar that described above in FIG. 1 .
- the second set of features 108 may be represented by the vector 112 that comprises a set of numerical values.
- the search engine 144 compares the second set of features 108 with the first set of features 160 a .
- the search engine 144 may compare the set of features 108 with features 160 a - 1 to determine whether the set of features 108 corresponds to the set of features 160 a - 1 .
- the search engine 144 may compare the vector 112 that represents the set of features 108 with the vector 162 a - 1 that represents the set of features 160 a - 1 , similar to that described above in FIG. 1 .
- the search engine 144 calculates the sub-confidence score 164 a - 1 indicating a percentage of features 108 corresponding to the features 160 a - 1 .
- the search engine 144 may compare the set of features 108 with other features 160 a associated with other strings 158 a associated with the intent tag 156 a .
- the search engine 144 may compare the set of features 108 with features 160 a - 2 to determine whether the features 108 corresponds to the set of features 160 a - 2 by comparing the vector 112 with the vector 162 a - 2 , and calculate the sub-confidence score 164 a - 2 indicating a percentage of features 108 that correspond to the features 160 a - 2 .
- the search engine 144 may compare the set of features 108 with the set of features 160 a.
- the search engine 144 calculates the confidence score 166 a by taking an average of the sub-confidence scores 164 a including sub-confidence scores 164 a - 1 , 164 a - 2 , and other sub-confidence scores 164 a .
- the confidence score 166 a may indicate a percentage of features 160 a that correspond to the features 108 .
- the confidence score 166 a may further indicate a probability of the intent tag 156 corresponding to the intent 114 .
- the search engine 144 determines whether the second set of features 108 corresponds to the first set of features 160 a .
- the search engine 144 determines whether the second set of features 108 corresponds to the first set of features 160 a by determining whether the confidence score 166 a is above the threshold percentage 170 .
- the search engine 144 may determine that the second set of features 108 corresponds to the first set of features 160 a if the confidence score 166 a is above the threshold percentage 170 .
- the search engine 144 may determine whether the second set of features 108 corresponds to the first set of features 160 a by determining whether the vector 112 corresponds to the vector 162 a - 1 .
- the search engine 144 may determine whether the vector 112 corresponds to the vector 162 a - 1 by performing a dot product between the vector 112 and vector 162 a - 1 .
- the search engine 144 may perform the dot product between the vector 112 and vector 162 a - 1 by comparing each numerical value of the vector 112 with a counterpart numerical value of vector 162 a - 1 , similar to that described in FIG. 1 .
- the search engine may calculate an Euclidean distance between the vector 112 and vector 162 a - 1 , and determine that the vector 112 corresponds to the vector 162 a - 1 if the Euclidean distance between them is less a threshold distance percentage (e.g., within 1%, 2%, 5%, etc.). If the search engine 144 determines that the second set of features 108 corresponds to the first set of features 160 a , method 200 proceeds to step 214 . Otherwise, method 200 returns to step 206 .
- a threshold distance percentage e.g., within 1%, 2%, 5%, etc.
- the search engine 144 determines that the intent 114 corresponds to the intent tag 156 a.
- the search engine 144 produces the search result 172 for the search string 104 , where the first item in the search result 172 is the text 168 a associated with the intent tag 156 a .
- the search engine 144 determines that the first item in the search result 172 for the search string 104 should be the text 168 a .
- the search engine 144 may also determine other items in the search results 172 should be the documents 132 a that include keywords 116 each with a frequency of occurrence more than a threshold frequency, where the documents 132 a are ranked based on the frequency of occurrences of the keywords 116 , similar to that described in FIG. 1 .
- the search engine 144 may not add any text 168 to the search result 172 , and instead add the documents 132 ranked based on the frequency of occurrences of the keywords 116 .
- the search engine 144 outputs the search result 172 .
- the search engine 144 may communicate the search results 172 to the computing device 120 to be displayed on the website 122 .
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The present disclosure relates generally to data processing, and more specifically to data processing system and method for implementing a search engine based on detecting intent from a search string.
- It is challenging to produce an accurate search result that includes responses for an input text (also referred to herein as “search term(s)” or a “query”). In some cases, the current search engines may include irrelevant links or documents in the search results. For example, the current search engine may perform a simple string matching to determine the search results. However, implementing simple string matching techniques leads to producing irrelevant search results. Current technologies are not configured to provide a reliable and efficient search engine.
- Current technologies are not configured to provide a reliable and efficient search engine. This disclosure contemplates systems and methods for implementing a search engine based on detecting intents from search strings.
- The disclosed system is configured to detect an intent from a search string (e.g., input by a user) by extracting a set of features from the search string. The set of features may represent an intent associated with the search string. The intent may represent contextual data and the concept of the search string. The set of features may be represented by one or more keywords. For example, the search string may include “I want to see someone about my account.” The set of features may include one or more keywords of the search string. In this example, the intent of the search string may be “schedule an appointment.”
- Upon determining the intent of the search string, the disclosed system may identify a text that comprises a response to the search string. To identify the text that comprises the response to the search string, the disclosed system compares the set of features extracted from the search string with features previously extracted from a plurality of text strings and labeled with a plurality of intent tags stored in a training dataset. In the training dataset, each intent tag from among the plurality of intent tags is associated with one or more text strings. Each text string is associated with a set of features representing a corresponding intent tag. Each intent tag is associated with a particular text that comprises a response to a search string.
- For example, assume that the disclosed system compares the first set of features (extracted from the search string) with a second set of features (associated with a first intent tag and a text string associated with the first intent tag). The disclosed system determines whether the first set of features corresponds to the second set of features.
- In this operation, the disclosed system calculates a confidence score indication a probability of the first set of features corresponding the second set of features. The confidence score may further indicate a percentage of features of the first set of features that correspond to counterpart features of the second set of features.
- If the disclosed system determines that the confidence score is more than a threshold percentage, the disclosed system determines that the intent of the search string corresponds to the first intent tag. In this case, the disclosed system determines that a first item in a search result for the search string should be a first text associated with the first intent tag, where the first text comprises a response to the search string.
- In one embodiment, the disclosed system may determine that other items in the search result for the search string should include documents in which a frequency of occurrence of each keyword associated with the search string is more than a threshold frequency. The disclosed system may rank these documents based on the frequency of occurrence of each keyword associated with the search string.
- In another embodiment, the disclosed system may determine that other items in the search result for the search string should include documents that are associated with search indexes that correspond to the keywords associated with the search string.
- The disclosed system may compare the set of features (extracted from the search string) with other sets of features associated with other intent tags, and thus calculate multiple confidence scores each indicating whether the intent of the search string corresponds to different intent tags. If the disclosed system determines that none of the confidence scores is more than the threshold percentage, the disclosed system may determine that the items in the search result for the search string may include documents in which the frequency of occurrence of each keyword associated with the search string is more than a threshold frequency and/or documents that are associated with search indexes that correspond to the keywords associated with the search string.
- In one embodiment, a system for determining search results for a search string based on detecting intent from the search string comprises a memory and a processor. The memory is operable to store a training dataset comprising a first intent tag associated with at least a first string. The first intent tag indicates a first intent of the first string. The first string is associated with a first set of features representing the first intent of the first string. The first intent tag is predetermined to be associated with a first text comprising a response to the first string. The processor is operably coupled with the memory. The processor receives a search string. The processor determines an intent from the search string by extracting a second set of features from the search string. The second set of features represents the intent. The intent is indicated by one or more particular keywords. The processor compares the second set of features with the first set of features. The processor determines whether the second set of features corresponds with the first set of features by determining a percentage of features of the second set of features that correspond to counterpart features of the first set of features. In response to determining that the percentage of features of the second set of features that correspond to the counterpart features of the first set of features is more than a threshold percentage, the processor determines that the intent corresponds to the first intent tag. The processor produces a search result for the search string, where a first item in the search result is the first text. The processor outputs the search result.
- The disclosed system provides several practical applications and technical advantages, which include: 1) technology that detects an intent from a search string based on extracting a set of features from the search string, where the set of features represents contextual data, concept, and intent of the search string; 2) technology that uses a training dataset comprising a plurality of intent tags each associated with a different set of features to compare the set of features (extracted from the search string) with the different sets of features and determine a particular set of features (associated with a particular intent tag) that correspond to the set of features (extracted from the search string); 3) technology that calculates a confidence score indicating a probability of the particular set of features (associated with the particular intent tag) corresponding to the set of features (extracted from the search string); 4) technology that determines that the particular intent tag corresponds to the intent of the search string if the confidence score is more than a threshold percentage; 5) technology that produces search results for the search string based on the detected intent; 6) technology that determines that a first item in the search results is a first text associated with the particular intent tag, and the first text comprises a response to the search string; and 7) technology that determines that other items in the search results include documents in which the frequency of occurrence of each keyword associated with the search string is more than a threshold frequency and/or documents that are associated with search indexes that correspond to the keywords associated with the search string.
- As such, the disclosed system may improve the current search engine and text processing technologies, for example, by implementing an intent- or intention-based search engine that detects an intent of a search string, and determines a particular text that comprises a response to a search string.
- Accordingly, the disclosed system may be integrated into a practical application of providing the most relevant response to the search string by detecting the particular text based on the detected intent of the search string. In this manner, the most relevant response to the search string is placed at the top of the search result of the search string. This, in turn, provides an additional practical application of excluding documents that include less relevant responses to the search string compared to the particular text that includes the most relevant response to the search string, even though those documents comprise more than a threshold frequency of occurrences of keywords associated with the search string and/or indexed with search indexes associated with the keywords of the search string. Thus, excluding the less relevant responses to the search string from the research results improves the usage of storage capacity of computer memory and thereby makes the underlying computer technologies operate more efficiently.
- The disclosed system may further be integrated into an additional practical application of excluding documents that include less relevant responses to the search string compared to the particular text that includes the most relevant response to the search string, where those documents are otherwise determined by the current search engine and text processing technologies.
- The disclosed system may further be integrated into an additional practical application and technical improvement over current technologies by improving the search engine, text processing, and computing technologies, and improving a computer system by providing technical solution of detecting an intent of a search string, and detecting the most relevant response to the search string. Thus, the disclosed system provides a technical solution to the problem of producing a search result that includes the most relevant response to the search string.
- By producing the search result that includes the text comprising the most relevant response to the search string, the disclosed system may further be integrated into an additional practical application of reducing the size of the search result by excluding documents that include less relevant responses to the search string.
- The disclosed system may further be integrated into an additional practical application of improving underlying operations of computing devices tasked to process the search string and produce the search results for the search string.
- This, in turn, provides an additional practical application, including ease of use, fewer resources needed, faster implementation and response, and more accurate research results. For example, the disclosed system may decrease processing, memory, and time resources spent on processing the search string and producing the search result that would otherwise be spent using the current search engine and text processing technologies. Thus, the search results are more accurate, produced faster, and require less processing, memory, and time resources compared to the current search engines.
- Certain embodiments of this disclosure may include some, all, or none of these advantages. These advantages and other features will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.
- For a more complete understanding of this disclosure, reference is now made to the following brief description, taken in connection with the accompanying drawings and detailed description, wherein like reference numerals represent like parts.
-
FIG. 1 illustrates an embodiment of a system configured for implementing a search engine based on detecting intent from a search string; and -
FIG. 2 illustrates an example flowchart of a method for implementing a search engine based on detecting intent from a search string. - As described above, previous technologies fail to provide efficient and reliable solutions for search engines. This disclosure provides various systems and methods for detecting an intent from a search string, and implementing a search engine using the detected intent. In one embodiment,
system 100 and method 200 for detecting an intent from a search string, and implementing a search engine using the detected intent are described inFIGS. 1 and 2 , respectively. -
FIG. 1 illustrates one embodiment of asystem 100 that is configured to implement asearch engine 144 to detectintents 114 from search strings 104. In one embodiment,system 100 comprises aserver 140. In some embodiments,system 100 further comprises anetwork 110, acomputing device 120, and adocument database 130. Theserver 140 comprises aprocessor 142 in signal communication with amemory 148.Memory 148stores software instructions 150 that when executed by theprocessor 142, cause theprocessor 142 to detect an intent 114 from asearch string 104, and determine atext 168 that includes a response to thesearch string 104 based on the detectedintent 114.Document database 130 stores a plurality of documents 132 that may be used by thememory 148 and/or theprocessor 142. In other embodiments,system 100 may not have all of the components listed and/or may have other elements instead of, or in addition to, those listed above. -
Network 110 may be any suitable type of wireless and/or wired network, including, but not limited to, all or a portion of the Internet, an Intranet, a private network, a public network, a peer-to-peer network, the public switched telephone network, a cellular network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a satellite network. Thenetwork 110 may be configured to support any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art. -
Computing device 120 is generally any device that is configured to process data and interact withusers 102. Examples ofcomputing device 120 include, but are not limited to, a personal computer, a desktop computer, a workstation, a server, a laptop, a tablet computer, a mobile phone (such as a smartphone), etc. Thecomputing device 120 may include a user interface, such as a display, a microphone, keypad, or other appropriate terminal equipment usable byuser 102. Thecomputing device 120 may include a hardware processor, memory, and/or circuitry configured to perform any of the functions or actions of thecomputing device 120 described herein. For example, a software application designed using software code may be stored in the memory and executed by the processor to perform the functions of thecomputing device 120. - The
user 102 may input one ormore words 106 in a search text field on awebsite 122. For example, theuser 102 may input asearch string 104 that comprises one ormore words 106 in a text field on thewebsite 122. For example, assuming that theuser 102 wants to make an appointment with an employee of an organization associated with thewebsite 122, thesearch string 104 may include “I want to make an appointment with someone,” “I want to sit down with someone to discuss my options,” “I want to meet with an employee to talk about my account,” or any other search strings 104. In this example, the intent 114 associated with thesearch string 104 is to make an appointment. - In another example, the
user 102 may input asearch string 104 to view an existing appointment. In this case, theuser 102 may input “how can I see my appointment,” “show my current appointments,” or any other search strings 104. In this example, the intent 114 associated with thesearch string 104 is to view the existing appointment. - In another example, the
user 102 may input asearch string 104 to edit an existing appointment. In this case, theuser 102 may input “how can I edit my schedule at LOAM,” “how can and reschedule my appointment,” or any other search strings 104. In this example, the intent 114 associated with thesearch string 104 is to edit the existing appointment. - In other examples, the
search string 104 may be related to any topic or concept, e.g., web design, accounting, etc., As such, theintent 114 of thesearch string 104 may be related to any topic or concept. Thesearch engine 144 processes the receivedsearch string 104 from thecomputing device 120 and vianetwork 110, predicts the intent 114 associated with thesearch string 104, and determines atext 168 that includes a response to thesearch string 104. This process is described in detail in conjunction with the operational flow ofsystem 100 and method 200 described inFIG. 2 . -
Document database 130 generally comprises any storage architecture. Examples ofdocument database 130 include, but are not limited to, a network-attached storage cloud, a storage area network, a storage assembly directly (or indirectly) coupled to one or more components of thesystem 100. Thedocument database 130 stores a plurality of documents 132. Each document 132 comprises a particular set of keywords 134 indicating a particular concept associated with document 132. In other words, each document 132 is mapped to a particular concept. For example, afirst document 132 a may comprise a first set ofparticular keywords 134 a indicating a first concept, asecond document 132 b may comprise a second set ofparticular keywords 134 b indicating a second concept, and so on. Thedocument database 130 may store any other data and/or instruction to be used by thememory 148 and/or theprocessor 142 to perform one or more functions described herein. - The
search engine 144 may fetch one or more documents 132 from thedocument database 130 to perform one or more functions described herein. For example, thesearch engine 144 may add one or more documents 132, or a subset of documents 132 to asearch result 172 for asearch string 104. In one example, thesearch engine 144 may add one or more documents 132 to thesearch result 172, where each of the one or more document 132 includekeywords 116, and a frequency of occurrence of eachkeyword 116 is more than a threshold frequency (e.g., more than 20, 40, etc.). In another example, thesearch engine 144 adds one or more documents 132 to thesearch result 172, where each of the one or more documents 132 includewords 106, and a frequency of occurrence of eachword 106 is more than a threshold frequency (e.g., more than 20, 40, etc.). In another example, thesearch engine 144 adds one or more documents 132 to thesearch result 172, where each of the one or more documents 132 is indexed or labeled with one ormore keywords 116 and/orwords 106, such as search indexes. Thesearch engine 144 may rank the one or more documents 132 based on the frequency of occurrences ofkeywords 116 and/orwords 106. This process is described in detail in conjunction with the operational flow ofsystem 100 and method 200 described inFIG. 2 . -
Server 140 is generally a server or any other device configured to process data and communicate with computing devices (e.g., computing device 120), databases (document database 130), etc., via thenetwork 110. Theserver 140 is generally configured to oversee the operations of thesearch engine 144, as described further below in conjunction with an operational flow ofsystem 100 and method 200 described inFIG. 2 . Theserver 140 may be configured as shown or in any other configuration. -
Processor 142 comprises one or more processors operably coupled to thememory 148. Theprocessor 142 is any electronic circuitry, including, but not limited to, state machines, one or more central processing unit (CPU) chips, logic units, cores (e.g., a multi-core processor), field-programmable gate array (FPGAs), application-specific integrated circuits (ASICs), or digital signal processors (DSPs). Theprocessor 142 may be a programmable logic device, a microcontroller, a microprocessor, or any suitable combination of the preceding. The one or more processors are configured to process data and may be implemented in hardware or software. For example, theprocessor 142 may be 8-bit, 16-bit, 32-bit, 64-bit, or of any other suitable architecture. Theprocessor 142 may include an arithmetic logic unit (ALU) for performing arithmetic and logic operations,processor 142 registers the supply operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions from memory and executes them by directing the coordinated operations of the ALU, registers and other components. The one or more processors are configured to implement various instructions. For example, the one or more processors are configured to execute instructions (e.g., software instructions 150) to implement thesearch engine 144. In this way,processor 142 may be a special-purpose computer designed to implement the functions disclosed herein. In an embodiment, theprocessor 142 is implemented using logic units, FPGAs, ASICs, DSPs, or any other suitable hardware. Theprocessor 142 is configured to operate as described inFIGS. 1-2 . For example, theprocessor 142 may be configured to perform one or more steps of method 200 as described inFIG. 2 . -
Network interface 146 is configured to enable wired and/or wireless communications (e.g., via network 110). Thenetwork interface 146 is configured to communicate data between theserver 140 and other devices (e.g., computing device 120), databases (e.g., document database 130), systems, or domains. For example, thenetwork interface 146 may comprise a WIFI interface, a local area network (LAN) interface, a wide area network (WAN) interface, a modem, a switch, or a router. Theprocessor 142 is configured to send and receive data using thenetwork interface 146. Thenetwork interface 146 may be configured to use any suitable type of communication protocol as would be appreciated by one of ordinary skill in the art. -
Memory 148 may be volatile or non-volatile and may comprise a read-only memory (ROM), random-access memory (RAM), ternary content-addressable memory (TCAM), dynamic random-access memory (DRAM), and static random-access memory (SRAM).Memory 148 may be implemented using one or more disks, tape drives, solid-state drives, and/or the like.Memory 148 is operable to store thesoftware instructions 150,machine learning algorithm 152,training dataset 154,intent tags 156, confidence scores 166, search strings 104, features 108,vector 112, intent 114, search results 172,keywords 178,threshold percentage 170, and/or any other data or instructions. Thesoftware instructions 150 may comprise any suitable set of instructions, logic, rules, or code operable to execute theprocessor 142. -
Search engine 144 may be implemented by theprocessor 142 executingsoftware instructions 150, and is generally configured to 1) detect an intent 114 from asearch string 104; 2) identify atext 168 that includes a response to thesearch string 104; and 3)output search results 172 for thesearch string 104 that includes thetext 168. Each of these processes are described in detail further below in conjunction with the operational flow ofsystem 100 and method 200 described inFIG. 2 . - In one embodiment, the
search engine 144 may be implemented by amachine learning algorithm 152. For example, themachine learning algorithm 152 may comprise support vector machine, neural network, random forest, k-means clustering, etc. Themachine learning algorithm 152 may be implemented by a plurality of neural network (NN) layers, Convolutional NN (CNN) layers, Long-Short-Term-Memory (LSTM) layers, Bi-directional LSTM layers, Recurrent NN (RNN) layers, and the like. In another example, themachine learning algorithm 152 may be implemented by a Natural Language Processing (NLP). In another example, themachine learning algorithm 152 may be implemented by analog signal processing, digital signal processing, speech signal processing, signal quantization, signal frequency sampling, among others. - The
search engine 144 may be trained by thetraining dataset 154. In one embodiment, thetraining dataset 154 may comprise a plurality of intent tags 156. Eachintent tag 156 may be associated with one or more text strings 158. Eachintent tag 156 indicates an intent associated with itscorresponding strings 158. For example, theintent tag 154 a may be associated with one ormore strings 158 a that may includestrings 158 a-1, 158 a-2, and so on. Theintent tag 154 a may indicate a first intent of thestrings 158 a includingstrings 158 a-1, 158 a-2, etc. For example, assume that theintent tag 154 a is scheduling an appointment. Thus, some examples of thestrings 158 a may include “set an appointment,” “set up reservation regarding my account,” “I need an appointment with someone about the account,” “see someone,” “see a specialist about account,” “how to schedule an appointment,” and/orother strings 158 a whose intent is to schedule an appointment. - Similarly, the
intent tag 154 b may be associated with one ormore strings 158 b. Theintent tag 154 b may indicate a second intent of thestrings 158 b. For example, assume that theintent tag 154 b is editing an appointment. Thus, some examples of thestrings 158 b may include “edit an appointment,” “how can I reschedule my appointment,” “I need to revise my scheduled appointment,” and/orother strings 158 b whose intent is to edit an appointment. - In one embodiment, each
string 158 in thetraining dataset 154 may be associated with a set offeatures 160. The set offeatures 160 represents an intent of itscorresponding strings 158. In other words, the set offeatures 160 represents anintent tag 156 of thecorresponding string 158, and may be used to uniquely identify its correspondingintent tag 156. - Each set of
features 160 may be represented by avector 162. Eachvector 162 may comprise a set of numerical values. For example, thestring 158 a-1 is associated with the set offeatures 160 a-1 represented by avector 162 a-1, thestring 158 a-2 is associated with the set offeatures 160 a-2 represented by avector 162 a-2, where each of the set offeatures 160 a-1 and 160 a-2 may be used to uniquely identify the intent tag 156 a. Similarly, thestring 158 b is associated with the set offeatures 160 b represented by avector 162 b, and so on. - In one embodiment, the
search engine 144 may extractfeatures 160 fromstrings 158 by implementing themachine learning algorithm 152 including natural language processing. - In one embodiment, each
intent tag 156 in thetraining dataset 154 may be associated with one set offeatures 160. - Each
intent tag 156 may be predetermined to be associated with aparticular text 168. Eachtext 168 may comprise a response to adifferent search string 104. For example, the intent tag 156 a may be predetermined to be associated with atext 168 a, the intent tag 156 b may be predetermined to be associated with atext 168 b, and so on. - The
search engine 144 may use thetraining dataset 154 to determine anintent 114 of asearch string 104. To determine anintent 114 of asearch string 104, thesearch engine 144 extracts features 108 from thesearch string 104, and compares thefeatures 108 withfeatures 160. - The
search engine 144 determines a set of features 160 (e.g., set offeatures features 108. For example, thesearch engine 144 calculates confidence scores 166 each indicating a percentage of the set offeatures 108 corresponding to each set offeatures 160. In response to determining a particular set offeatures 160 that corresponds to thefeatures 108, thesearch engine 144 determines that theintent tag 156 associated with the particular set offeatures 160 corresponds to theintent 114. - Although
FIG. 1 describes detecting intent 114 from thesearch string 104, one of ordinary skill in the art would recognize other embodiments in light of this disclosure. In one embodiment, thesystem 100 may detectintents 114 from speech. For example, thesearch engine 144 may receive speech of theuser 102, feed the speech to an audio signal processing, speech transcription, etc. to extractfeatures 108, detectwords 106 andkeywords 116. Thesearch engine 144 may detect theintent 114 of the speech by using thetraining dataset 154, similar to that described above. - Determining an Intent from a Search String
- In one embodiment, the operational flow of
system 100 begins when thesearch engine 144 receives asearch string 104. For example, thesearch engine 144 may receive thesearch string 104 from thecomputing device 120 when theuser 102 inputs thesearch string 104 in thewebsite 122. - The
search engine 144 extracts a set offeatures 108 from thesearch string 104. The set offeatures 108 may represent the intent 114 associated with thesearch string 104. The intent 114 may indicate the concept and contextual data associated with thesearch string 104. The intent 114 may be indicated by one or moreparticular keywords 116. The set offeatures 108 may be represented by one ormore keywords 116. The set offeatures 108 may be represented by avector 112 that comprises a set of numerical values. Thesearch engine 144 may extract the set offeatures 108 by implementing themachine learning algorithm 152 including a natural language processing algorithm. In this operation, thesearch engine 144 may use any type of text analysis, such as word segmentation, sentence segmentation, word tokenization, sentence tokenization, word featurization, sentence featurization, and/or the like. - Identifying an Intent Tag that Corresponds to the Determined Intent
- The
search engine 144 compares the set offeatures 108 with each set offeatures 160, such asfeatures - In an embodiment where each
string 158 is associated with a different set offeatures 160 for eachintent tag 156, thesearch engine 144 may compare the set offeatures 108 with each set offeatures 160 associated withstrings 158. For example, with respect tointent tag 154 a, thesearch engine 144 may compare the set offeatures 108 with the set offeatures 160 a associated with eachstring 158 a. For example, thesearch engine 144 may compare the set offeatures 108 with the set offeatures 160 a-1, set offeatures 160 a-2, andother features 160 a, separately. - The
search engine 144 may calculate asub-confidence score 164 a indicating a percentage offeatures 108 from the set offeatures 108 that correspond to the counterpart features 160 a from the set offeatures 160 a. - For example, the
search engine 144 may calculate asub-confidence score 164 a-1 indicating a percentage offeatures 108 from the set offeatures 108 that correspond tofeatures 160 a-1, calculate asub-confidence score 164 a-2 indicating a percentage offeatures 108 from the set offeatures 108 that correspond tofeatures 160 a-2, and so on. Thesub-confidence score 164 a-1 may further represent a probability of the intent tag 156 a corresponding to theintent 114. Similarly,sub-confidence score 164 a-2 may further represent a probability of the intent tag 156 b corresponding to theintent 114. - In calculating the
sub-confidence score 164 a-1, thesearch engine 144 compares thevector 112 withvector 162 a-1. For example, thesearch engine 144 may perform a dot product between thevector 112 andvector 162 a-1. In this operation, thesearch engine 144 may compare each numerical value of thevector 112 with a counterpart numerical value of thevector 162 a-1. Thesearch engine 144 determines whether each numerical value of thevector 112 corresponds to the counterpart numerical value ofvector 162 a-1. - In one embodiment, in response to determining that more than a threshold percentage (e.g., more than 90%, etc.) of the numerical values of the
vector 112 correspond to the counterpart numerical values of thevector 162 a-1, thesearch engine 144 determines that thevector 112 corresponds to thevector 162 a-1, and thus, features 108 correspond tofeatures 160 a-1. - In another embodiment, in response to determining that more than a threshold percentage (e.g., more than 90%, etc.) of the numerical values of the
vector 112 are within a threshold range (e.g., ±5%, ±10%, etc.) of the counterpart numerical values of thevector 162 a-1, thesearch engine 144 determines that thevector 112 corresponds to thevector 162 a-1, and thus, features 108 correspond tofeatures 160 a-1. Thesearch engine 144 may perform a similar operation in comparing thevector 112 withother vectors 162. - The
search engine 144 may calculate the confidence score 166 a by taking an average of thesub-confidence scores 164 a-1, 164 a-2, and othersub-confidence scores 164 a. The confidence score 166 a may represent a percentage offeatures 160 a (e.g., features 160 a-1, 160 a-2, etc.) that corresponds to thefeatures 108. Thesearch engine 144 may calculateother confidence scores 166 associated with otherintent tags 156, similar to that described above. In one embodiment, thesearch engine 144 may normalize the calculated confidence scores 166, such that the addition of the calculated confidence scores 166 is 100%. - In response to determining that the confidence score 166 a is above a threshold percentage 170 (e.g., more than 90%, 95%, etc.), the
search engine 144 determines that the intent 114 corresponds to theintent tag 154 a. In other words, if thesearch engine 144 determines that the set offeatures 160 a (including one or more offeatures 160 a-1, 160 a-2, andother features 160 a) corresponds to the set offeatures 108, thesearch engine 144 determines that the intent 114 corresponds to theintent tag 154 a. - In one embodiment, the
search engine 144 produces thesearch result 172 by determining that a first item in the search results 172 for thesearch string 104 should be thefirst text 168 a. Thesearch engine 144 may add one or more documents 132 as other items in the search results 172. - In response to determining that none of the confidence scores 166 is above the
threshold percentage 170, thesearch engine 144 may not add any of thetext 168 in thesearch result 172, and instead add one or more documents 132 to thesearch result 172, as described below. - The
search engine 144 may add one or more documents 132 from documents 132 to the search results 172. Thesearch engine 144 may select the one ormore documents 132 a by parsing the documents 132 and determining that in the one ormore documents 132 a, a frequency of occurrence of each keyword 116 (or more than threshold percentage of thekeywords 116, e.g., more than 90% of the keywords 116) is more than a threshold frequency (e.g., 20, 40, etc.). - In one embodiment, in this process, the
search engine 144 may determine a frequency of occurrence of eachkeyword 116 and/orword 106 in each document 132 by implementing a text parsing algorithm. Thesearch engine 144 may rank the documents 132 based on the determined frequency of occurrence of eachkeyword 116 and/orword 106 in each document 132. For example, afirst document 132 a in which the frequency of occurrence of eachkeyword 116 and/orword 106 is higher than a frequency of occurrence of acounterpart keyword 116 and/orword 106 in other documents 132 is ranked higher than the other documents 132. In this example, thesearch engine 144 adds thefirst document 132 a as a second item in the search results 172. - The
search engine 144 may determine that the other items in thesearch result 172 are a subset of documents 132 in which the determined frequency of occurrence of eachkeyword 116 and/orword 106 is above a threshold frequency. - In one embodiment, the
search engine 144 may exclude documents 132 that includekeywords 116 and/orwords 106 more than a threshold number (e.g., more than the threshold frequency of occurrence) yet include an irrelevant response to thesearch string 104. For example, thesearch engine 144 may determine that these documents 132 include an irrelevant response to thesearch string 104 by executing a natural language processing, determining a concept and intent of these document, and determining that these intents do not correspond to theintent 114. - In this manner, the
search engine 144 may determine thetext 168 a that includes the most relevant response to thesearch string 104, and exclude documents 132 that include less relevant responses to thesearch string 104 compared with thetext 168 a from thesearch result 172. Thus, the search results 172 includes the most relevant response to thesearch string 104, and the size of thesearch result 172 is reduced by excluding documents 132 that include less relevant responses to thesearch string 104 compared with thetext 168 a. - The
search engine 144 then outputs the search results 172 to thecomputing device 120, such that the search results 172 are displayed on thewebsite 122. - In response to outputting the search results 172, the
search engine 144 may receive feedback (e.g., from the user 102) indicating whether thefirst text 168 a comprises a response to thesearch string 104. In response to receiving the feedback that indicates that thefirst text 168 a does not comprise the response to thesearch string 104, thesearch engine 144 may adjust one or more weight values associated with thefeatures 108 and/or one ormore features 160 a. - In this manner, the
search engine 144 may increase the accuracy of the search results 172 and the classification ofintent tags 156 withstrings 158 in thetraining dataset 154. - Although,
FIG. 1 described receiving asearch string 104, one of ordinary skill in the art may recognize other embodiments in light of this disclosure. For example, in one embodiment, thesearch engine 144 may receive an audio signal that includes speech of theuser 102 as asearch string 104, where the audio signal includes one or more utterances orwords 106. Thus, thesearch engine 144 may execute an audio signal processing, speech signal processing, and/or the like to extractfeatures 108 from the audio signal, compare thefeatures 108 withfeatures 160, and detect theintent 114 of the audio signal, similar to that described above with respect to searchstring 104. -
FIG. 2 illustrates an example flowchart of a method 200 for implementing asearch engine 144 based on detecting intent 114 from asearch string 104. Modifications, additions, or omissions may be made to method 200. Method 200 may include more, fewer, or other steps. For example, steps may be performed in parallel or in any suitable order. While at times discussed as thesystem 100,processor 142,search engine 144, or components of any of thereof performing steps, any suitable system or components of the system may perform one or more steps of the method 200. For example, one or more steps of method 200 may be implemented, at least in part, in the form ofsoftware instructions 150 ofFIG. 1 , stored on non-transitory, tangible, machine-readable media (e.g.,memory 148 ofFIG. 1 ) that when run by one or more processors (e.g.,processor 142 ofFIG. 1 ) may cause the one or more processors to perform steps 202-218. - The method 200 beings at
step 202 where thesearch engine 144 receives asearch string 104. For example, thesearch engine 144 may receive thesearch string 104 from thecomputing device 120 when theuser 102 inputs thesearch string 104 on thewebsite 122, similar to that described inFIG. 1 . - At
step 204, thesearch engine 144 accesses a plurality ofintent tags 156 each associated with a different set offeatures 160. For example, thesearch engine 144 may access the intents tags 156 each labeled with adifferent text 168 stored in thememory 148. - At
step 206, thesearch engine 144 selects anintent tag 156 from the plurality ofintent tags 156, where theintent tag 156 is associated with a first set offeatures 160. For example, assume that thesearch engine 144 selects the intent tag 156 a. The intent tag 156 a is associated with the set offeatures 160 a includingfeatures 160 a-1, 160 a-2, andother features 160 a. In one embodiment, thesearch engine 144 may iteratively select anintent tag 156 until there is not moreintent tag 156 is left for evaluation. In this embodiment, thesearch engine 144 may calculateconfidence scores 166 for multipleintent tags 156, and select aparticular intent tag 156 whose confidence score 166 is above thethreshold percentage 170 and/or is the highest among the calculated confidence scores 166. In another embodiment, thesearch engine 144 may iteratively select anintent tag 156 until aparticular intent tag 156 is found whosefeatures 160 correspond to the features 108 (described in step 212). - At
step 208, thesearch engine 144 determines an intent 114 associated with thesearch string 104 by extracting a second set offeatures 108 from thesearch string 104. For example, thesearch engine 144 may implement a natural language processing algorithm to extract the second set offeatures 108, similar that described above inFIG. 1 . The second set offeatures 108 may be represented by thevector 112 that comprises a set of numerical values. - At
step 210, thesearch engine 144 compares the second set offeatures 108 with the first set offeatures 160 a. For example, with respect to intent tag 156 a, thesearch engine 144 may compare the set offeatures 108 withfeatures 160 a-1 to determine whether the set offeatures 108 corresponds to the set offeatures 160 a-1. In comparing the set offeatures 108 with the set offeatures 160 a-1, thesearch engine 144 may compare thevector 112 that represents the set offeatures 108 with thevector 162 a-1 that represents the set offeatures 160 a-1, similar to that described above inFIG. 1 . Thesearch engine 144 calculates thesub-confidence score 164 a-1 indicating a percentage offeatures 108 corresponding to thefeatures 160 a-1. - The
search engine 144 may compare the set offeatures 108 withother features 160 a associated withother strings 158 a associated with the intent tag 156 a. For example, thesearch engine 144 may compare the set offeatures 108 withfeatures 160 a-2 to determine whether thefeatures 108 corresponds to the set offeatures 160 a-2 by comparing thevector 112 with thevector 162 a-2, and calculate thesub-confidence score 164 a-2 indicating a percentage offeatures 108 that correspond to thefeatures 160 a-2. - In another example where the
intent tag 154 a is associated with one set offeatures 160 a, thesearch engine 144 may compare the set offeatures 108 with the set offeatures 160 a. - The
search engine 144 calculates the confidence score 166 a by taking an average of thesub-confidence scores 164 a includingsub-confidence scores 164 a-1, 164 a-2, and othersub-confidence scores 164 a. The confidence score 166 a may indicate a percentage offeatures 160 a that correspond to thefeatures 108. The confidence score 166 a may further indicate a probability of theintent tag 156 corresponding to theintent 114. - At
step 212, thesearch engine 144 determines whether the second set offeatures 108 corresponds to the first set offeatures 160 a. Thesearch engine 144 determines whether the second set offeatures 108 corresponds to the first set offeatures 160 a by determining whether the confidence score 166 a is above thethreshold percentage 170. Thesearch engine 144 may determine that the second set offeatures 108 corresponds to the first set offeatures 160 a if the confidence score 166 a is above thethreshold percentage 170. In this process, thesearch engine 144 may determine whether the second set offeatures 108 corresponds to the first set offeatures 160 a by determining whether thevector 112 corresponds to thevector 162 a-1. Thesearch engine 144 may determine whether thevector 112 corresponds to thevector 162 a-1 by performing a dot product between thevector 112 andvector 162 a-1. - In one embodiment, the
search engine 144 may perform the dot product between thevector 112 andvector 162 a-1 by comparing each numerical value of thevector 112 with a counterpart numerical value ofvector 162 a-1, similar to that described inFIG. 1 . - In another embodiment, the search engine may calculate an Euclidean distance between the
vector 112 andvector 162 a-1, and determine that thevector 112 corresponds to thevector 162 a-1 if the Euclidean distance between them is less a threshold distance percentage (e.g., within 1%, 2%, 5%, etc.). If thesearch engine 144 determines that the second set offeatures 108 corresponds to the first set offeatures 160 a, method 200 proceeds to step 214. Otherwise, method 200 returns to step 206. - At
step 214, thesearch engine 144 determines that the intent 114 corresponds to the intent tag 156 a. - At
step 216, thesearch engine 144 produces thesearch result 172 for thesearch string 104, where the first item in thesearch result 172 is thetext 168 a associated with the intent tag 156 a. In this process, thesearch engine 144 determines that the first item in thesearch result 172 for thesearch string 104 should be thetext 168 a. Thesearch engine 144 may also determine other items in the search results 172 should be thedocuments 132 a that includekeywords 116 each with a frequency of occurrence more than a threshold frequency, where thedocuments 132 a are ranked based on the frequency of occurrences of thekeywords 116, similar to that described inFIG. 1 . In one embodiment, if thesearch engine 144 determines that none of theintent tags 156 correspond to the intent 114, i.e., determines that none of the confidence scores 166 is above thethreshold percentage 170, the search engine may not add anytext 168 to thesearch result 172, and instead add the documents 132 ranked based on the frequency of occurrences of thekeywords 116. - At
step 218, thesearch engine 144 outputs thesearch result 172. For example, thesearch engine 144 may communicate the search results 172 to thecomputing device 120 to be displayed on thewebsite 122. - While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated with another system or certain features may be omitted, or not implemented.
- In addition, techniques, systems, subsystems, and methods described and illustrated in the various embodiments as discrete or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown or discussed as coupled or directly coupled or communicating with each other may be indirectly coupled or communicating through some interface, device, or intermediate component whether electrically, mechanically, or otherwise. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.
- To aid the Patent Office, and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112(f) as it exists on the date of filing hereof unless the words “means for” or “step for” are explicitly used in the particular claim.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/347,231 US20220398251A1 (en) | 2021-06-14 | 2021-06-14 | Data processing system and method for implementing a search engine based on detecting intent from a search string |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/347,231 US20220398251A1 (en) | 2021-06-14 | 2021-06-14 | Data processing system and method for implementing a search engine based on detecting intent from a search string |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220398251A1 true US20220398251A1 (en) | 2022-12-15 |
Family
ID=84389746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/347,231 Abandoned US20220398251A1 (en) | 2021-06-14 | 2021-06-14 | Data processing system and method for implementing a search engine based on detecting intent from a search string |
Country Status (1)
Country | Link |
---|---|
US (1) | US20220398251A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150161263A1 (en) * | 2011-11-15 | 2015-06-11 | Alibaba Group Holding Limited | Search Method, Search Apparatus and Search Engine System |
US20180060326A1 (en) * | 2016-08-26 | 2018-03-01 | Facebook, Inc. | Classifying Search Queries on Online Social Networks |
US20210124555A1 (en) * | 2018-04-26 | 2021-04-29 | Reliance Jio Infocomm Limited | System and method for providing a response to a user query using a visual assistant |
US20220230078A1 (en) * | 2021-01-20 | 2022-07-21 | Bombora, Inc. | Machine learning techniques for associating network addresses with information object access locations |
-
2021
- 2021-06-14 US US17/347,231 patent/US20220398251A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150161263A1 (en) * | 2011-11-15 | 2015-06-11 | Alibaba Group Holding Limited | Search Method, Search Apparatus and Search Engine System |
US20180060326A1 (en) * | 2016-08-26 | 2018-03-01 | Facebook, Inc. | Classifying Search Queries on Online Social Networks |
US20210124555A1 (en) * | 2018-04-26 | 2021-04-29 | Reliance Jio Infocomm Limited | System and method for providing a response to a user query using a visual assistant |
US20220230078A1 (en) * | 2021-01-20 | 2022-07-21 | Bombora, Inc. | Machine learning techniques for associating network addresses with information object access locations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657231B2 (en) | Capturing rich response relationships with small-data neural networks | |
US11948058B2 (en) | Utilizing recurrent neural networks to recognize and extract open intent from text inputs | |
WO2018049960A1 (en) | Method and apparatus for matching resource for text information | |
AU2016256764B2 (en) | Semantic natural language vector space for image captioning | |
US20210216577A1 (en) | Reader-retriever approach for question answering | |
WO2020082569A1 (en) | Text classification method, apparatus, computer device and storage medium | |
US9471626B2 (en) | Enhanced answers in DeepQA system according to user preferences | |
US10042896B2 (en) | Providing search recommendation | |
US20230306264A1 (en) | Name and face matching | |
US20200050667A1 (en) | Intent Classification Method and System | |
Zhang et al. | Keywords extraction with deep neural network model | |
US11449559B2 (en) | Identifying similar sentences for machine learning | |
GB2547068A (en) | Semantic natural language vector space | |
US11526804B2 (en) | Machine learning model training for reviewing documents | |
Fang et al. | Topic aspect-oriented summarization via group selection | |
US11556711B2 (en) | Analyzing documents using machine learning | |
CN111767737A (en) | Text intention similarity determining method and device, electronic equipment and storage medium | |
US11423231B2 (en) | Removing outliers from training data for machine learning | |
US20120130999A1 (en) | Method and Apparatus for Searching Electronic Documents | |
CN116976920A (en) | Commodity shopping guide method and device, equipment and medium thereof | |
US20230119161A1 (en) | Efficient Index Lookup Using Language-Agnostic Vectors and Context Vectors | |
Bharti et al. | Context-based bigram model for pos tagging in hindi: A heuristic approach | |
CN117591547A (en) | Database query method and device, terminal equipment and storage medium | |
US20220398251A1 (en) | Data processing system and method for implementing a search engine based on detecting intent from a search string | |
WO2023009220A1 (en) | Representation generation based on embedding sequence abstraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: BANK OF AMERICA CORPORATION, NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDAR, RAVISHA;YANNAM, RAMAKRISHNA REDDY;KAMIN, JEAN-LUC M.;AND OTHERS;SIGNING DATES FROM 20210607 TO 20210614;REEL/FRAME:056537/0042 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |