US20110161315A1 - Pattern Searching Methods and Apparatuses - Google Patents
Pattern Searching Methods and Apparatuses Download PDFInfo
- Publication number
- US20110161315A1 US20110161315A1 US13/046,654 US201113046654A US2011161315A1 US 20110161315 A1 US20110161315 A1 US 20110161315A1 US 201113046654 A US201113046654 A US 201113046654A US 2011161315 A1 US2011161315 A1 US 2011161315A1
- Authority
- US
- United States
- Prior art keywords
- pattern
- definition
- identified
- weightings
- text
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
Definitions
- the invention relates generally to a system and method for extracting relevant information from raw text data. More particularly, the invention concerns itself with a system and method for identifying patterns in text using structures defining types of patterns.
- a “pattern” is to be understood as a part of a written text of arbitrary length. Thus, a pattern may be any series of alphanumeric characters within a text.
- a system that searches patterns in a computer text and provides to the user some actions based on the kind of identified patterns is described in two variants under http://www.miramontes.com/portfolio/add/ and http://www.miramontes.com/portfolio/add2.html.
- the first variant is an application termed “AppleDataDetectors” and the second variant an application termed “LiveDoc”.
- the engine performing the pattern search refers to a library containing a collection of structures, each structure defining a pattern that is to be recognized.
- FIG. 1 gives an example of seven different structures (# 1 to # 7 ), which may be contained in such a structure library. Each of the seven structures shown in FIG. 1 defines a pattern worth recognizing in a computer text.
- the definition of a pattern is a sequence of so-called definition items. Each definition item specifies an element of the text pattern that the structure recognizes.
- a definition item may be a specific string or a structure defining another pattern using definition items in the form of strings or structures.
- a pattern in a text will be identified as a US state code if it corresponds to one of the strings between quotation marks, i.e. one of the definition items, such as AL or AK or WY (Note that the symbol “
- the structure # 7 gives a definition of what is to be identified as a street address.
- a street address is to be understood as a postal address excluding the name of the recipient.
- a typical example of a street address is: 225 Franklin Street, 02110 MA Boston.
- a pattern is a street address if it has elements matching the following sequence of definition items:
- This definition of a street address is deliberately broad in order to ensure that the application is able to identify not only street addresses written according to a single specific notation but also addresses written according to differing notations.
- At least certain embodiments of the present invention provide a method and system for identifying patterns in text using structures, which increase the flexibility of structure definitions and which, in particular, permit the formulation of structure definitions that lead to more accurate results during pattern identification.
- a computer-based method for identifying patterns in text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, and wherein the methods include assigning a weighting to each structure and each definition item; searching the text for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure; in a provisionally identified pattern, determining those of the definition items making up said particular structure that have been identified in the provisionally identified pattern; combining the weightings of the determined definition items and optionally, the weighting of the particular structure, to a single quantity; assessing whether the single quantity fulfils a given condition; depending on the result of said assessment, rejecting or confirming the provisionally identified pattern.
- the identified pattern is sufficiently likely to really correspond to the relevant structure (e.g., if the structure defines telephone numbers, when the given condition is met by the combined weightings, it is assumed that the identified pattern is indeed a telephone number and not a false positive).
- weightings and of a probability test based on those weightings allows for structures with broad pattern definitions without the risk of an overly high number of false positives.
- a structure having a broad definition will lead to a lot of incorrect matches.
- these false positives may then be “sieved out” with the described “plausibility test” based on the assigned weightings.
- the weightings are assigned to the structures and definition items such that the combined weightings of a false positive are very unlikely to fulfill the given condition.
- the use of weightings gives more flexibility and freedom in the definition of structures and definition items.
- a machine-implemented method is a method which is preferably implemented via a data processing system such as a computer.
- a data processing system such as a computer.
- the term “computer” includes any data processing system such as any computing device as, for example, a desktop computer, laptop, personal digital assistant, mobile phone, multimedia device, notebook, or other consumer electronic devices and similar devices.
- a weighting is a quantity used to emphasize, to suppress or even to penalize a structure or definition item associated with it.
- a structure with a greater weighting is considered to be more desirable or more accurate than a structure with a lower, no or even a negative weighting.
- the weighting is a number and in particular an integer.
- each weighting may take the form of either a bonus in the form of a positive integer, or a malus in the form of a negative integer.
- the term “malus” is to be understood as being the antonym of the term “bonus”.
- a “malus” may also be qualified as a penalty.
- a bonus may be assigned to a structure or definition item if it is well-defined, meaning that there is a high probability for correct pattern identification if the identified pattern contains said structure or definition item.
- a malus or penalty may be assigned if the structure or definition item is ambiguous. This may mean that the structure or definition item allows different interpretations, only one of which leads to correct pattern identification. It may also mean that the structure or definition item defines a set of elements of which only a subset may be contained in the pattern sought-after.
- each weighting is an integer multiple of the same integer. Accordingly, the weightings may be quantized as multiples of a single integer. This renders the weighting scheme of the invention more manageable and easier to implement.
- the weightings are quantized as multiples of the integer “1”, meaning that the whole integer range is used for the weightings.
- the given condition corresponds to the single quantity being above or below a given threshold.
- the single quantity may be obtained by combining the weightings using one or more arithmetic operations, such as addition, subtraction, multiplication and/or division.
- the most preferred arithmetic operation is a summation over all weightings, the single quantity being the sum of all the weightings.
- the structures are automatically generated or extended on the basis of information available from a data source, such as a calendar application or an address book application.
- a structure defining the pattern “city name” may be automatically completed by the system with the help of city names fetched from an address book application containing postal addresses of user contacts or from another source of city names such as a locally stored (or remotely stored) database which includes city names. Each time a new contact is added to the address book, the corresponding city name may be automatically added to the structure “city name”.
- the computer text is indexed using the patterns identified in it in order to improve search capabilities of computer texts.
- any computer text can be flagged with all the patterns that have been identified in it.
- This type of text indexing may be used for more advanced searches in a desktop search application such as “Spotlight” from Apple Inc. of Cupertino, Calif.
- a desktop search application such as “Spotlight” from Apple Inc. of Cupertino, Calif.
- the new metadata represented by the identified patterns one may query all the texts that contain a date within a certain range or that contain a street address near a given city.
- inventive methods may be implemented in a computer-based system operable to execute said methods, the term “computer-based system” including any data processing system such as any computing device as, for example, a desktop computer, laptop, personal digital assistant, mobile phone, multimedia device, notebook, or other consumer electronic devices and similar devices.
- a data processing system includes one or more processors which are coupled to memory and to one or more buses.
- the processor(s) is also typically coupled to input/output devices through the one or more buses. Examples of data processing systems are shown and described in U.S. Pat. No. 6,222,549, which is hereby incorporated herein by reference.
- inventive methods may also be implemented as a program storage medium having a program stored therein for causing a computer or other data processing system to execute said inventive methods.
- a program storage medium may be a hard disk drive, a USB stick, a CD, a DVD, a magnetic disk, a Read-Only Memory (ROM), or any other computer storage means.
- FIG. 1 is a listing showing examples of conventional structure definitions
- FIG. 2 is a block diagram showing the main elements of the preferred embodiment of the inventive pattern identification system
- FIG. 3 is a flow chart illustrating the main operations of a preferred pattern detection application, as seen by the user, implementing the inventive pattern identification method;
- FIGS. 4 a and 4 b show a first example of the user experience provided by the pattern detection application of FIG. 3 ;
- FIG. 5 shows a second example of the user experience provided by the pattern detection application of FIG. 3 ;
- FIGS. 6 a to 6 e show a third example of the user experience provided by the pattern detection application of FIG. 3 ;
- FIG. 7 is a listing showing examples of structure definitions according to the invention, in contrast to the conventional definitions of FIG. 1 ;
- FIG. 8 is a flow chart illustrating an embodiment of a pattern identification method using weighted structures and definition items.
- FIG. 2 gives an overview of the inventive pattern identification system 2 and the way in which the system identifies interesting patterns.
- the core of the system 2 is the pattern search engine 4 , which implements the inventive pattern identification method using weightings.
- the engine 4 receives a text 6 , which is to be searched for known patterns.
- This text 6 may be a word processor document or an email message.
- the text is often encoded in some standards-based format, such as ASCII or Unicode.
- system 2 is implemented in a mobile phone, the text 6 may also be an SMS or MMS message.
- system 2 is part of an instant messaging application, such as iChat from Apple Inc. of Cupertino, Calif.
- the text 6 may be a message text received via such an instant messaging application.
- text 6 may also correspond to a web page presented by a web browser, such as Safari from Apple Inc. of Cupertino, Calif.
- text 6 may correspond to any text entity presented by a computing device to a user.
- the text 6 is searched for patterns by the engine 4 according to structures and rules 8 .
- the structures and rules 8 are formulated according to the inventive pattern identification method using weightings.
- the search by engine 4 yields a certain number of identified patterns 10 .
- These patterns 10 are then presented to the user of the searched text 6 via user interface 12 .
- the user interface 12 may suggest a certain number of actions 14 .
- the identified pattern is a URL address
- the interface 12 may suggest the action “open corresponding web page in a web browser” to the user.
- a corresponding application 16 may be started, such as, in the given example, the web browser.
- the suggested actions 14 preferably depend on the context 18 of the application with which the user manipulates the text 6 . More specifically, when performing an action 14 , the system can take into account the application context 18 , such as the type of the application (word processor, email client, . . . ) or the information available through the application (time, date, sender, recipient, reference, . . . ) to tailor the action 14 and make it more useful or “intelligent” to the user.
- the application context 18 such as the type of the application (word processor, email client, . . . ) or the information available through the application (time, date, sender, recipient, reference, . . . ) to tailor the action 14 and make it more useful or “intelligent” to the user.
- the type of suggested actions 14 does also depend on the type of the associated pattern. If the recognized pattern is a phone number, other actions will be suggested than if the recognized pattern is a postal address.
- FIG. 3 gives an example of the process of pattern detection as perceived by the user.
- a pattern search engine 4 which, in FIG. 3 , is called a “Data Detector Engine”, searches the text for known patterns 20 .
- the search engine 4 preferably includes user data 22 in the structures of known patterns 20 , which it may obtain from various data sources including user relevant information, such as a database of contact details included in an address book application or a database of favorite web pages included in a web browser.
- Adding user data 22 automatically to the set of identifiable patterns 20 renders the search user specific and thus more valuable to the user.
- this automatic addition of user data renders the system adaptive and autonomous, saving the user from having to manually add its data to the set of known patterns.
- the pattern search is done in the background without the user noticing it. However, when the user places his mouse pointer over a text element that has been recognized as an interesting pattern having actions associated with it, this text element is visually highlighted to the user (operations 2 and 3 in FIG. 3 ).
- the patterns identified in the text could of course also be highlighted automatically, without the need of a user action. However, it is preferred that the highlighting is only done upon a mouse rollover so that it is less intrusive.
- the area highlighted by a mouse rollover includes a small arrow.
- the user can click on this arrow in order to visualize actions associated with the identified pattern in a contextual menu (operations 4 and 5 in FIG. 3 ).
- the user may select one of the suggested actions, which is then executed (operations 6 and 7 in FIG. 3 ).
- FIGS. 4 to 6 give three examples of the process illustrated in FIG. 3 , as it is seen by the user on his screen.
- the text is an email message 24 sent by “Alex” to “Paul”.
- Paul has opened the message 24 in its email client.
- the pattern search engine automatically scans the text for interesting patterns.
- the engine has identified two interesting patterns: a telephone number 26 and a fax number 28 . These two patterns are only brought to the attention of the user Paul by highlighting when he positions his mouse pointer 30 over the phone or fax number. This situation is shown in FIG. 4 a .
- Paul may then click on the small arrow 32 at the right hand end of the area highlighting the telephone number 26 in order to open a context menu 34 . (cf. FIG. 4 b ).
- the context menu includes several possible actions that the user Paul might want to perform on telephone number 26 .
- Paul may add the telephone number to his address book by choosing the corresponding action 36 .
- his address book application will be automatically started, including a new entry with the telephone number 26 .
- the system auto-completes the new entry with other relevant data that it can deduce from the email message 24 .
- the system may automatically extract the name of the person associated with phone number 26 from the “From” line 38 of the email message 24 .
- the system may also automatically add the fax number 28 to the new entry.
- the new address book entry created by executing action 36 will already contain the name, telephone and fax number. Paul may then add the missing information manually.
- Action 40 named “Large Type”, allows Paul to obtain a magnified view of the telephone number so that he can read it off the screen easily when dialing.
- FIG. 5 shows a second example, again with an email message as the search text.
- the action being executed in FIG. 5 is the creation of a new entry 50 in an address book based on the address pattern 42 detected in the email message.
- the detected pattern 42 is made of three elements 44 , 46 and 48 .
- the three elements have been identified as a name, a street and a city by the pattern search engine and accordingly have been automatically inserted in the adequate fields in the new entry 50 , as depicted by the arrows.
- the system has determined that address pattern 42 is not a complete postal address. Indeed, address pattern 42 lacks a country code and a ZIP code.
- the system retrieves this missing information from an external database 52 .
- the system queries the database 52 using the information extracted from address pattern 42 (street and city) and database 52 returns the missing country code and ZIP code, as shown by the arrows.
- entry 50 There may be a special highlight in entry 50 to indicate to the user that some fields have been auto-completed.
- the system may obtain any kind of supplementary information from any available data source in order to automate and enhance the action initiated by the user.
- FIGS. 6 a to 6 e give a third example, again involving an email message.
- the message contains a pattern indicative of an appointment.
- the appointment is part of the first sentence of the message, as can be seen from FIG. 6 a .
- This pattern is identified by the pattern search engine and highlighted as soon as the user places his cursor 30 on the appointment pattern (cf. FIG. 6 b ). Clicking on the arrow 32 , the user initiates the action “New Calendar Event” associated with the identified pattern (cf. FIG. 6 c ).
- FIG. 6 d shows the new calendar entry 54 that has been automatically created by the system.
- the pattern search engine has also identified the element 56 “dinner” located next to the appointment pattern 58 as a separate event pattern.
- the system is able to identify patterns that are related.
- Two patterns might be regarded as related if they are in close proximity to each other in the text. When the user rolls over one of several related patterns, both patterns may be highlighted to express their relatedness.
- the information represented by the event pattern 56 is automatically entered in the head line field of the new entry 54 , as indicated by the arrow. Furthermore, the date of the meeting 60 is automatically generated on the basis of the appointment pattern 58 . As pattern 58 is only a contextual date indication (“tomorrow at 7:30 p.m.”), which needs to be interpreted in the light of the context of the message, the system cannot simply copy pattern 58 into the new entry 54 . The system solves this by obtaining the date of the email message from the email client of the user. Knowing the date of the email, the system can infer the exact date of the indication “tomorrow” and enter it into the entry 54 . This process of using context information to deduce accurate information from context dependent patterns is visualized in FIG. 6 d by the two arrows and the “Context box”.
- the new entry 54 may also contain a URL 62 of a special kind that points toward the original email message, allowing the user to return to the email message when viewing entry 54 .
- FIG. 6 e shows the result of the action “New Calendar Event”: a new event has been created in the user's calendar application.
- FIG. 7 shows examples of structure definitions according to the invention. These structures are used by the pattern search engine to recognize interesting patterns.
- the structures # 1 , # 5 , # 6 and # 7 of FIG. 7 are similar to the conventional ones of FIG. 1 , with one major difference.
- each structure # 1 , # 5 , # 6 and # 7 has been given a bonus or weighting 64 . This bonus is an integer multiple of 5.
- Structures # 1 and # 5 have each been given a bonus of +5 whereas structure # 7 has been given a bonus of ⁇ 10 (i.e. a malus).
- the first of the two definition items (“known city”) has been given a bonus of +5.
- Structures # 1 , # 5 and the structure “known city” have been given a positive bonus because their respective definitions are rather precise, meaning that a pattern matching the definition is highly likely to be of the type defined by the structure.
- structure # 5 is a simple enumeration of strings which are known to represent streets, such as “Street” or “Boulevard” or “Road”. There is a high probability that a pattern in a text that corresponds to such a string is indeed of the “Street” type.
- Structure # 7 has been given a malus of ⁇ 10, because, as discussed earlier on, its definition is rather broad, potentially including a substantial number of false positives.
- Structures # 1 and # 5 may be elaborated further by assigning weightings to their respective definition items.
- structure # 1 may contain the definition item “ID” referring to the US state Idaho (not shown). This definition item is preferably given a malus of ⁇ 5 because the string “ID” is ambiguous. Indeed, “ID” may not only be used in a text as an abbreviation for “Idaho” but also for “Identification”.
- Structure # 5 may contain the string “Drive” as one of its definition items in order to cover the “street type” “Drive” (not shown). However, this definition item should be given a malus as the string “Drive” may appear in various contexts in a computer text, not necessarily being a synonym for “Street”.
- Operation 100 of FIG. 8 corresponds to the creation of a new structure with an associated definition.
- operation 100 may involve the definition of the “street address” structure # 7 of FIG. 7 .
- Structure # 7 is defined as written in FIG. 7 .
- both texts are searched for a match with the definition given by structure # 7 (operation 106 ). If no match is found, the method goes on searching for other patterns using other structures (operation 108 ). However, if a match is found, “225 Franklin Street, 02110 MA Boston” (pattern 1) and “4 Apple Pies” (pattern 2) in the two texts above, it is not immediately validated as it was done conventionally. Rather, it is determined which of the definition items of the structure have been found in the identified pattern (operation 110 ).
- Pattern 1 is therefore decomposed as follows: Number: 225; some spaces; some capitalized words: Franklin; known street type: Street; coma; postal code: 02110 MA; some spaces; city: Boston.
- Pattern 2 is decomposed as follows: Number: 4; some spaces; some capitalized words: Apple; spaces; some spaces; city: Pie.
- the next step is to calculate the sum of the weightings of all identified definition items, to which is added the weighting of the structure, giving a total sum of A (operation 112 ).
- a bonus of +5 for the presence of a known street type (structure # 5 ), plus A bonus of +5 for the presence of a structure # 1 “US state code” within the identified structure # 3 “postal code”, plus A bonus of +5 for the presence of a structure “known city” within the structure # 6 “city” (assuming that Boston matches the definition of the structure “known city”, which is not shown in the figures), plus A malus of ⁇ 10 associated with the structure # 7 “street address”.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A computer-based method for identifying patterns in computer text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, the method comprising assigning a weighting to each structure and each definition item; searching the computer text for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure; in a provisionally identified pattern, determining those of the definition items making up said particular structure that have been identified in the provisionally identified pattern; combining the weightings of the determined definition items and optionally, the weighting of the particular structure, to a single quantity; assessing whether the single quantity fulfils a given condition; depending on the result of said assessment, rejecting or confirming the provisionally identified pattern.
Description
- This application is a continuation of co-pending U.S. patent application Ser. No. 11/710,182 filed on Feb. 23, 2007.
- 1. Field of the Invention
- The invention relates generally to a system and method for extracting relevant information from raw text data. More particularly, the invention concerns itself with a system and method for identifying patterns in text using structures defining types of patterns. In this context a “pattern” is to be understood as a part of a written text of arbitrary length. Thus, a pattern may be any series of alphanumeric characters within a text. Particular examples of patterns that might be identified in a text, such as a word-processor document or an email-text, are dates, events, numbers such as telephone numbers, addresses or names.
- 2. Description of the Background Art
- Technologies for searching interesting patterns in a text presented by a computer to a user (in the following “computer text”) are well-known. U.S. Pat. No. 5,864,789 is one example of a document describing such a technology.
- A system that searches patterns in a computer text and provides to the user some actions based on the kind of identified patterns is described in two variants under http://www.miramontes.com/portfolio/add/ and http://www.miramontes.com/portfolio/add/add2.html. The first variant is an application termed “AppleDataDetectors” and the second variant an application termed “LiveDoc”.
- Both variants use the same method to find patterns in an unstructured text. The engine performing the pattern search refers to a library containing a collection of structures, each structure defining a pattern that is to be recognized.
FIG. 1 gives an example of seven different structures (#1 to #7), which may be contained in such a structure library. Each of the seven structures shown inFIG. 1 defines a pattern worth recognizing in a computer text. The definition of a pattern is a sequence of so-called definition items. Each definition item specifies an element of the text pattern that the structure recognizes. A definition item may be a specific string or a structure defining another pattern using definition items in the form of strings or structures. For example,structure # 1 gives the definition of what is to be identified as a US state code, the definition following the “:=” sign. According to this definition, a pattern in a text will be identified as a US state code if it corresponds to one of the strings between quotation marks, i.e. one of the definition items, such as AL or AK or WY (Note that the symbol “|” means “OR”). - The
structure # 7 gives a definition of what is to be identified as a street address. In this context, a street address is to be understood as a postal address excluding the name of the recipient. A typical example of a street address is: 225 Franklin Street, 02110 MA Boston. According to the definition given bystructure # 7, a pattern is a street address if it has elements matching the following sequence of definition items: -
- a number in the sense as defined by
structure # 4, followed by - some spaces, followed by
- some capitalized words, followed by,
- optionally, a known street type in the sense as defined by structure #5 (the optional nature being indicated by the question mark behind the brackets surrounding “known_street_type”), followed by
- a coma or spaces, followed by,
- optionally, a postal code in the sense as defined by
structure # 3, followed by - some spaces, followed by
- a city in the sense as defined by
structure # 6.
- a number in the sense as defined by
- This definition of a street address is deliberately broad in order to ensure that the application is able to identify not only street addresses written according to a single specific notation but also addresses written according to differing notations.
- However, an application using such a broad definition is prone to the detection of a large number of false positives. For example, with the definition of a street address given above, the pattern “4 Apple Pies” will be wrongly recognized as a street address. The obvious solution to reduce the number of false positives is to make the structure definitions narrower. Yet, with narrow definitions there is an increased risk of missing interesting patterns.
- At least certain embodiments of the present invention provide a method and system for identifying patterns in text using structures, which increase the flexibility of structure definitions and which, in particular, permit the formulation of structure definitions that lead to more accurate results during pattern identification.
- A computer-based method, in one embodiment, for identifying patterns in text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, and wherein the methods include assigning a weighting to each structure and each definition item; searching the text for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure; in a provisionally identified pattern, determining those of the definition items making up said particular structure that have been identified in the provisionally identified pattern; combining the weightings of the determined definition items and optionally, the weighting of the particular structure, to a single quantity; assessing whether the single quantity fulfils a given condition; depending on the result of said assessment, rejecting or confirming the provisionally identified pattern.
- Through the introduction of weightings for each structure and definition item, pattern definition and identification becomes more flexible and accurate. Indeed, in contrast to the conventional method of pattern identification, at least certain embodiments of a method of the invention introduce a supplementary test for the identification of patterns. It is no longer sufficient for a pattern to be recognized that it matches the definition of the corresponding structure. On top of that, at least certain embodiments of the invention use a second procedure which consists in performing a sort of plausibility check. The weightings of the definition items of the relevant structure that have been matched to the elements of the provisionally identified pattern must in combination fulfill a given condition. If this is the case, it is assumed that the identified pattern is sufficiently likely to really correspond to the relevant structure (e.g., if the structure defines telephone numbers, when the given condition is met by the combined weightings, it is assumed that the identified pattern is indeed a telephone number and not a false positive).
- The introduction of weightings and of a probability test based on those weightings allows for structures with broad pattern definitions without the risk of an overly high number of false positives. A structure having a broad definition will lead to a lot of incorrect matches. However, these false positives may then be “sieved out” with the described “plausibility test” based on the assigned weightings. The weightings are assigned to the structures and definition items such that the combined weightings of a false positive are very unlikely to fulfill the given condition. The use of weightings gives more flexibility and freedom in the definition of structures and definition items.
- A machine-implemented method is a method which is preferably implemented via a data processing system such as a computer. The term “computer” includes any data processing system such as any computing device as, for example, a desktop computer, laptop, personal digital assistant, mobile phone, multimedia device, notebook, or other consumer electronic devices and similar devices.
- In the present context, a weighting is a quantity used to emphasize, to suppress or even to penalize a structure or definition item associated with it. A structure with a greater weighting is considered to be more desirable or more accurate than a structure with a lower, no or even a negative weighting. Preferably, the weighting is a number and in particular an integer. In the latter case, each weighting may take the form of either a bonus in the form of a positive integer, or a malus in the form of a negative integer. Within the context of the invention, the term “malus” is to be understood as being the antonym of the term “bonus”. A “malus” may also be qualified as a penalty.
- A bonus may be assigned to a structure or definition item if it is well-defined, meaning that there is a high probability for correct pattern identification if the identified pattern contains said structure or definition item. A malus or penalty may be assigned if the structure or definition item is ambiguous. This may mean that the structure or definition item allows different interpretations, only one of which leads to correct pattern identification. It may also mean that the structure or definition item defines a set of elements of which only a subset may be contained in the pattern sought-after.
- In a preferred embodiment, each weighting is an integer multiple of the same integer. Accordingly, the weightings may be quantized as multiples of a single integer. This renders the weighting scheme of the invention more manageable and easier to implement.
- In a most preferred embodiment, the weightings are quantized as multiples of the integer “1”, meaning that the whole integer range is used for the weightings.
- Preferably, the given condition corresponds to the single quantity being above or below a given threshold. Furthermore, the single quantity may be obtained by combining the weightings using one or more arithmetic operations, such as addition, subtraction, multiplication and/or division. The most preferred arithmetic operation is a summation over all weightings, the single quantity being the sum of all the weightings.
- In a further aspect of the invention, which may also be implemented independently from the inventive weighting scheme described above, the structures are automatically generated or extended on the basis of information available from a data source, such as a calendar application or an address book application. For example, a structure defining the pattern “city name” may be automatically completed by the system with the help of city names fetched from an address book application containing postal addresses of user contacts or from another source of city names such as a locally stored (or remotely stored) database which includes city names. Each time a new contact is added to the address book, the corresponding city name may be automatically added to the structure “city name”. This feature, which may be termed “automatic learning system”, leads to an automatic increase in the knowledge base of known patterns and an automatic improvement of pattern detection as the system learns more and more from the data sources of the user. In particular, thanks to this “automatic learning” feature, there is less need for a programmer or user to actively administrate and update the structures and definition items as this is done “on the fly” by the system itself.
- In yet a further aspect of the invention, which may as well be implemented independently from the inventive weighting scheme described above, the computer text is indexed using the patterns identified in it in order to improve search capabilities of computer texts. This means that interesting patterns that have been found in a text using the inventive or any other pattern identification method may be used to tag the text with corresponding metadata. In this way, any computer text can be flagged with all the patterns that have been identified in it. This type of text indexing may be used for more advanced searches in a desktop search application such as “Spotlight” from Apple Inc. of Cupertino, Calif. For example, thanks to the new metadata represented by the identified patterns, one may query all the texts that contain a date within a certain range or that contain a street address near a given city.
- The inventive methods may be implemented in a computer-based system operable to execute said methods, the term “computer-based system” including any data processing system such as any computing device as, for example, a desktop computer, laptop, personal digital assistant, mobile phone, multimedia device, notebook, or other consumer electronic devices and similar devices. In a typical embodiment, a data processing system includes one or more processors which are coupled to memory and to one or more buses. The processor(s) is also typically coupled to input/output devices through the one or more buses. Examples of data processing systems are shown and described in U.S. Pat. No. 6,222,549, which is hereby incorporated herein by reference.
- The inventive methods may also be implemented as a program storage medium having a program stored therein for causing a computer or other data processing system to execute said inventive methods. A program storage medium may be a hard disk drive, a USB stick, a CD, a DVD, a magnetic disk, a Read-Only Memory (ROM), or any other computer storage means.
- In the following, a preferred embodiment of the invention will be described, with reference to the accompanying drawings, in which:
-
FIG. 1 is a listing showing examples of conventional structure definitions; -
FIG. 2 is a block diagram showing the main elements of the preferred embodiment of the inventive pattern identification system; -
FIG. 3 is a flow chart illustrating the main operations of a preferred pattern detection application, as seen by the user, implementing the inventive pattern identification method; -
FIGS. 4 a and 4 b show a first example of the user experience provided by the pattern detection application ofFIG. 3 ; -
FIG. 5 shows a second example of the user experience provided by the pattern detection application ofFIG. 3 ; -
FIGS. 6 a to 6 e show a third example of the user experience provided by the pattern detection application ofFIG. 3 ; -
FIG. 7 is a listing showing examples of structure definitions according to the invention, in contrast to the conventional definitions ofFIG. 1 ; -
FIG. 8 is a flow chart illustrating an embodiment of a pattern identification method using weighted structures and definition items. -
FIG. 2 gives an overview of the inventivepattern identification system 2 and the way in which the system identifies interesting patterns. The core of thesystem 2 is thepattern search engine 4, which implements the inventive pattern identification method using weightings. - The
engine 4 receives atext 6, which is to be searched for known patterns. Thistext 6 may be a word processor document or an email message. The text is often encoded in some standards-based format, such as ASCII or Unicode. Ifsystem 2 is implemented in a mobile phone, thetext 6 may also be an SMS or MMS message. Ifsystem 2 is part of an instant messaging application, such as iChat from Apple Inc. of Cupertino, Calif., thetext 6 may be a message text received via such an instant messaging application. As a further example,text 6 may also correspond to a web page presented by a web browser, such as Safari from Apple Inc. of Cupertino, Calif. Generally,text 6 may correspond to any text entity presented by a computing device to a user. - The
text 6 is searched for patterns by theengine 4 according to structures and rules 8. The structures andrules 8 are formulated according to the inventive pattern identification method using weightings. The search byengine 4 yields a certain number of identifiedpatterns 10. Thesepatterns 10 are then presented to the user of the searchedtext 6 viauser interface 12. For each identified pattern, theuser interface 12 may suggest a certain number ofactions 14. For example, if the identified pattern is a URL address theinterface 12 may suggest the action “open corresponding web page in a web browser” to the user. If the user selects the suggested action acorresponding application 16 may be started, such as, in the given example, the web browser. - The suggested
actions 14 preferably depend on thecontext 18 of the application with which the user manipulates thetext 6. More specifically, when performing anaction 14, the system can take into account theapplication context 18, such as the type of the application (word processor, email client, . . . ) or the information available through the application (time, date, sender, recipient, reference, . . . ) to tailor theaction 14 and make it more useful or “intelligent” to the user. - Of course, the type of suggested
actions 14 does also depend on the type of the associated pattern. If the recognized pattern is a phone number, other actions will be suggested than if the recognized pattern is a postal address. -
FIG. 3 gives an example of the process of pattern detection as perceived by the user. Let us assume that a user of a desktop computer is currently manipulating a text document via a word processing application. The word processor presents the text on the screen of the computer (operation 1). While the user manipulates the text, apattern search engine 4, which, inFIG. 3 , is called a “Data Detector Engine”, searches the text for knownpatterns 20. Thesearch engine 4 preferably includesuser data 22 in the structures of knownpatterns 20, which it may obtain from various data sources including user relevant information, such as a database of contact details included in an address book application or a database of favorite web pages included in a web browser. Addinguser data 22 automatically to the set ofidentifiable patterns 20 renders the search user specific and thus more valuable to the user. Furthermore, this automatic addition of user data renders the system adaptive and autonomous, saving the user from having to manually add its data to the set of known patterns. - The pattern search is done in the background without the user noticing it. However, when the user places his mouse pointer over a text element that has been recognized as an interesting pattern having actions associated with it, this text element is visually highlighted to the user (
operations FIG. 3 ). - The patterns identified in the text could of course also be highlighted automatically, without the need of a user action. However, it is preferred that the highlighting is only done upon a mouse rollover so that it is less intrusive.
- The area highlighted by a mouse rollover includes a small arrow. The user can click on this arrow in order to visualize actions associated with the identified pattern in a contextual menu (
operations FIG. 3 ). The user may select one of the suggested actions, which is then executed (operations FIG. 3 ). -
FIGS. 4 to 6 give three examples of the process illustrated inFIG. 3 , as it is seen by the user on his screen. - In
FIGS. 4 a and 4 b, the text is anemail message 24 sent by “Alex” to “Paul”. Paul has opened themessage 24 in its email client. Once the message has been opened, the pattern search engine automatically scans the text for interesting patterns. In the example ofFIGS. 4 a and 4 b the engine has identified two interesting patterns: atelephone number 26 and afax number 28. These two patterns are only brought to the attention of the user Paul by highlighting when he positions hismouse pointer 30 over the phone or fax number. This situation is shown inFIG. 4 a. Paul may then click on thesmall arrow 32 at the right hand end of the area highlighting thetelephone number 26 in order to open acontext menu 34. (cf.FIG. 4 b). The context menu includes several possible actions that the user Paul might want to perform ontelephone number 26. For example, Paul may add the telephone number to his address book by choosing thecorresponding action 36. If Paul choosesaction 36, his address book application will be automatically started, including a new entry with thetelephone number 26. Preferably, the system auto-completes the new entry with other relevant data that it can deduce from theemail message 24. For example, the system may automatically extract the name of the person associated withphone number 26 from the “From”line 38 of theemail message 24. The system may also automatically add thefax number 28 to the new entry. Thus, in the present example, the new address book entry created by executingaction 36 will already contain the name, telephone and fax number. Paul may then add the missing information manually. -
Action 40, named “Large Type”, allows Paul to obtain a magnified view of the telephone number so that he can read it off the screen easily when dialing. -
FIG. 5 shows a second example, again with an email message as the search text. The action being executed inFIG. 5 is the creation of anew entry 50 in an address book based on theaddress pattern 42 detected in the email message. The detectedpattern 42 is made of threeelements new entry 50, as depicted by the arrows. Furthermore, the system has determined thataddress pattern 42 is not a complete postal address. Indeed,address pattern 42 lacks a country code and a ZIP code. In the example shown inFIG. 5 , the system retrieves this missing information from anexternal database 52. The system queries thedatabase 52 using the information extracted from address pattern 42 (street and city) anddatabase 52 returns the missing country code and ZIP code, as shown by the arrows. - There may be a special highlight in
entry 50 to indicate to the user that some fields have been auto-completed. - Of course, the various embodiments of the invention are not limited to this specific example. The system may obtain any kind of supplementary information from any available data source in order to automate and enhance the action initiated by the user.
-
FIGS. 6 a to 6 e give a third example, again involving an email message. This time, the message contains a pattern indicative of an appointment. The appointment is part of the first sentence of the message, as can be seen fromFIG. 6 a. This pattern is identified by the pattern search engine and highlighted as soon as the user places hiscursor 30 on the appointment pattern (cf.FIG. 6 b). Clicking on thearrow 32, the user initiates the action “New Calendar Event” associated with the identified pattern (cf.FIG. 6 c).FIG. 6 d shows thenew calendar entry 54 that has been automatically created by the system. The pattern search engine has also identified theelement 56 “dinner” located next to theappointment pattern 58 as a separate event pattern. Thus, the system is able to identify patterns that are related. - Two patterns might be regarded as related if they are in close proximity to each other in the text. When the user rolls over one of several related patterns, both patterns may be highlighted to express their relatedness.
- The information represented by the
event pattern 56 is automatically entered in the head line field of thenew entry 54, as indicated by the arrow. Furthermore, the date of themeeting 60 is automatically generated on the basis of theappointment pattern 58. Aspattern 58 is only a contextual date indication (“tomorrow at 7:30 p.m.”), which needs to be interpreted in the light of the context of the message, the system cannot simply copypattern 58 into thenew entry 54. The system solves this by obtaining the date of the email message from the email client of the user. Knowing the date of the email, the system can infer the exact date of the indication “tomorrow” and enter it into theentry 54. This process of using context information to deduce accurate information from context dependent patterns is visualized inFIG. 6 d by the two arrows and the “Context box”. - The
new entry 54 may also contain aURL 62 of a special kind that points toward the original email message, allowing the user to return to the email message when viewingentry 54. -
FIG. 6 e shows the result of the action “New Calendar Event”: a new event has been created in the user's calendar application. -
FIG. 7 shows examples of structure definitions according to the invention. These structures are used by the pattern search engine to recognize interesting patterns. Thestructures # 1, #5, #6 and #7 ofFIG. 7 are similar to the conventional ones ofFIG. 1 , with one major difference. InFIG. 7 , eachstructure # 1, #5, #6 and #7 has been given a bonus orweighting 64. This bonus is an integer multiple of 5.Structures # 1 and #5 have each been given a bonus of +5 whereasstructure # 7 has been given a bonus of −10 (i.e. a malus). Withinstructure # 6, the first of the two definition items (“known city”) has been given a bonus of +5. -
Structures # 1, #5 and the structure “known city” have been given a positive bonus because their respective definitions are rather precise, meaning that a pattern matching the definition is highly likely to be of the type defined by the structure. For example,structure # 5 is a simple enumeration of strings which are known to represent streets, such as “Street” or “Boulevard” or “Road”. There is a high probability that a pattern in a text that corresponds to such a string is indeed of the “Street” type. -
Structure # 7 has been given a malus of −10, because, as discussed earlier on, its definition is rather broad, potentially including a substantial number of false positives. -
Structures # 1 and #5 may be elaborated further by assigning weightings to their respective definition items. For example,structure # 1 may contain the definition item “ID” referring to the US state Idaho (not shown). This definition item is preferably given a malus of −5 because the string “ID” is ambiguous. Indeed, “ID” may not only be used in a text as an abbreviation for “Idaho” but also for “Identification”. -
Structure # 5 may contain the string “Drive” as one of its definition items in order to cover the “street type” “Drive” (not shown). However, this definition item should be given a malus as the string “Drive” may appear in various contexts in a computer text, not necessarily being a synonym for “Street”. - The pattern identification method of the invention will now be described in detail with reference to
FIG. 8 , using as an example the structures shown inFIG. 7 . -
Operation 100 ofFIG. 8 corresponds to the creation of a new structure with an associated definition. As an example,operation 100 may involve the definition of the “street address”structure # 7 ofFIG. 7 .Structure # 7 is defined as written inFIG. 7 . - With
operation 102,structure # 7 is given a weighting w, namely w=−10 as the structure is rather broad in its definition of what may constitute a street address.Structure # 7 having been defined and assigned a weighting, it may then be used by the pattern search engine to search for corresponding patterns in a text (operation 104). - Let us introduce two example texts that are to be searched by the search engine using structure #7:
- “Our offices are located at 225 Franklin Street, 02110 MA Boston”
- “The boys ate 4 Apple Pies”
- With the conventional method using
structure # 7 without the weighting scheme, the underlined patterns in each of the two texts would each be identified as a “street address”, leading to a false positive in the case ofText 2. - It will now be explained how the use of the inventive weighting scheme suppresses the false positive in
Text 2 while detecting the correct pattern inText 1. - In the inventive method, in the same way as the conventional method, both texts are searched for a match with the definition given by structure #7 (operation 106). If no match is found, the method goes on searching for other patterns using other structures (operation 108). However, if a match is found, “225 Franklin Street, 02110 MA Boston” (pattern 1) and “4 Apple Pies” (pattern 2) in the two texts above, it is not immediately validated as it was done conventionally. Rather, it is determined which of the definition items of the structure have been found in the identified pattern (operation 110).
-
Pattern 1 is therefore decomposed as follows:
Number: 225; some spaces; some capitalized words: Franklin; known street type: Street; coma; postal code: 02110 MA; some spaces; city: Boston.
Pattern 2 is decomposed as follows:
Number: 4; some spaces; some capitalized words: Apple; spaces; some spaces; city: Pie. - The next step is to calculate the sum of the weightings of all identified definition items, to which is added the weighting of the structure, giving a total sum of A (operation 112).
- In the case of
pattern 1, obtain for A the value of 5 (c f.FIGS. 1 and 7 ): - A bonus of +5 for the presence of a known street type (structure #5),
plus
A bonus of +5 for the presence of astructure # 1 “US state code” within the identifiedstructure # 3 “postal code”,
plus
A bonus of +5 for the presence of a structure “known city” within thestructure # 6 “city” (assuming that Boston matches the definition of the structure “known city”, which is not shown in the figures),
plus
A malus of −10 associated with thestructure # 7 “street address”. - In the case of
pattern 2, we obtain for A a value of −10, the value of the malus associated withstructure # 7, since the elements of the pattern “4 Apple Pies” do not match any of the definition items with a bonus. - In
operation 114, A is then compared to a predetermined threshold, here 0. Accordingly,pattern 1 is confirmed since A=5>0 (operation 116), whereaspattern 2 is rejected since A=−10<0 (operation 118). - Hence, with the inventive weighting scheme, contrary to the prior art, false positives such as “4 Apple Pies” are spotted and discarded. The inventive method therefore renders pattern searching more effective and accurate.
Claims (20)
1. A machine-implemented method for identifying patterns in text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, the method comprising:
searching a text data for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure, wherein said structures are automatically extended on the basis of information available from a data source;
assigning a weighting to each definition item in the provisionally identified pattern;
rejecting or confirming the provisionally identified pattern based upon a calculation which combines the weightings of the definition items in the provisionally identified pattern.
2. The method of claim 1 , wherein the calculation creates a single quantity which is compared to a given threshold.
3. The method of claim 2 , wherein the calculation is obtained by combining the weightings using one or more arithmetic operations.
4. The method of claim 3 , wherein the arithmetic operation is a summation over all weightings, the single quantity being the sum of all the weightings.
5. The method of claim 1 , each weighting being defined as a number.
6. The method of claim 5 , each weighting taking the form of either a bonus in the form of a positive integer, or a malus in the form of a negative integer.
7. The method of claim 6 , wherein a structure or definition item is assigned a bonus if it is well-defined, and a malus if it is ambiguous.
8. The method of claim 5 , each weighting being an integer multiple of the same integer.
9. A machine-readable non-transitory storage medium storing a program for causing a data processing system to perform a method for identifying patterns in text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, the method comprising:
searching a text data for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure, wherein said structures are automatically extended on the basis of information available from a data source;
assigning a weighting to each definition item in the provisionally identified pattern;
rejecting or confirming the provisionally identified pattern based upon a calculation which combines the weightings of the definition items in the provisionally identified pattern.
10. The medium of claim 9 , wherein the calculation creates a single quantity which is compared to a given threshold.
11. The medium of claim 10 , wherein the calculation is obtained by combining the weightings using one or more arithmetic operations.
12. The medium of claim 11 , wherein the arithmetic operation is a summation over all weightings, the single quantity being the sum of all the weightings.
13. The medium of claim 9 , each weighting being defined as a number.
14. The medium of claim 13 , each weighting taking the form of either a bonus in the form of a positive integer, or a malus in the form of a negative integer.
15. The medium of claim 14 , wherein a structure or definition item is assigned a bonus if it is well-defined, and a malus if it is ambiguous.
16. The medium of claim 13 , each weighting being an integer multiple of the same integer.
17. The medium of claim 12 , wherein the method further comprises indexing the text data for searching.
18. A data processing system which performs a method for identifying patterns in text using structures defining types of patterns which are to be identified, wherein a structure comprises one or more definition items, the data processing system comprising:
means for searching a text data for a pattern to be identified on the basis of a particular structure, a pattern being provisionally identified if it matches the definition given by said particular structure, wherein said structures are automatically extended on the basis of information available from a data source;
means for assigning a weighting to each definition item in the provisionally identified pattern;
means for rejecting or confirming the provisionally identified pattern based upon a calculation which combines the weightings of the definition items in the provisionally identified pattern.
19. The data processing system of claim 18 , wherein the calculation creates a single quantity which is compared to a given threshold.
20. The data processing system of claim 19 , wherein the calculation is obtained by combining the weightings using one or more arithmetic operations and wherein the arithmetic operation is a summation over all weightings, the single quantity being the sum of all the weightings.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/046,654 US20110161315A1 (en) | 2007-02-23 | 2011-03-11 | Pattern Searching Methods and Apparatuses |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/710,182 US7912828B2 (en) | 2007-02-23 | 2007-02-23 | Pattern searching methods and apparatuses |
US13/046,654 US20110161315A1 (en) | 2007-02-23 | 2011-03-11 | Pattern Searching Methods and Apparatuses |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/710,182 Continuation US7912828B2 (en) | 2007-02-23 | 2007-02-23 | Pattern searching methods and apparatuses |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110161315A1 true US20110161315A1 (en) | 2011-06-30 |
Family
ID=39627685
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/710,182 Expired - Fee Related US7912828B2 (en) | 2007-02-23 | 2007-02-23 | Pattern searching methods and apparatuses |
US13/046,654 Abandoned US20110161315A1 (en) | 2007-02-23 | 2011-03-11 | Pattern Searching Methods and Apparatuses |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/710,182 Expired - Fee Related US7912828B2 (en) | 2007-02-23 | 2007-02-23 | Pattern searching methods and apparatuses |
Country Status (4)
Country | Link |
---|---|
US (2) | US7912828B2 (en) |
EP (1) | EP2122497A2 (en) |
KR (1) | KR101155716B1 (en) |
WO (1) | WO2008103398A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120203753A1 (en) * | 2011-02-08 | 2012-08-09 | International Business Machines Corporation | Upload manager for use in a pattern matchng accelerator |
US20120203754A1 (en) * | 2011-02-08 | 2012-08-09 | International Business Machines Corporation | Performance monitoring mechanism for use in a pattern matching accelerator |
US20150195401A1 (en) * | 2014-01-03 | 2015-07-09 | Samsung Electronics Co., Ltd. | Method for managing email message of call application, user device using the same, and non-volatile medium recording thereon program for executing the method |
US20160036751A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for providing information |
Families Citing this family (195)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905696A (en) * | 1987-10-07 | 1990-03-06 | Siemens Aktiengesellschaft | Method and apparatus for P-synchronously stimulating the heart of a patient |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
KR100968864B1 (en) * | 2007-06-01 | 2010-07-09 | 엔에이치엔(주) | Method and system for providing additional information service onto e-mail |
US9251137B2 (en) * | 2007-06-21 | 2016-02-02 | International Business Machines Corporation | Method of text type-ahead |
US9596308B2 (en) | 2007-07-25 | 2017-03-14 | Yahoo! Inc. | Display of person based information including person notes |
JP5335227B2 (en) * | 2007-12-10 | 2013-11-06 | 京セラ株式会社 | Information terminal equipment |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US9584343B2 (en) | 2008-01-03 | 2017-02-28 | Yahoo! Inc. | Presentation of organized personal and public data using communication mediums |
US8316035B2 (en) * | 2008-01-16 | 2012-11-20 | International Business Machines Corporation | Systems and arrangements of text type-ahead |
US8392511B2 (en) * | 2008-01-17 | 2013-03-05 | International Business Machines Corporation | Embedding a unique serial number into the content of an email for tracking information dispersion |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US8359532B2 (en) * | 2008-04-28 | 2013-01-22 | International Business Machines Corporation | Text type-ahead |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US20120131520A1 (en) * | 2009-05-14 | 2012-05-24 | Tang ding-yuan | Gesture-based Text Identification and Selection in Images |
EP2438571A4 (en) | 2009-06-02 | 2014-04-30 | Yahoo Inc | Self populating address book |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US9514466B2 (en) | 2009-11-16 | 2016-12-06 | Yahoo! Inc. | Collecting and presenting data including links from communications sent to or from a user |
US9760866B2 (en) | 2009-12-15 | 2017-09-12 | Yahoo Holdings, Inc. | Systems and methods to provide server side profile information |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
DE202011111062U1 (en) | 2010-01-25 | 2019-02-19 | Newvaluexchange Ltd. | Device and system for a digital conversation management platform |
US8924956B2 (en) | 2010-02-03 | 2014-12-30 | Yahoo! Inc. | Systems and methods to identify users using an automated learning process |
US9020938B2 (en) | 2010-02-03 | 2015-04-28 | Yahoo! Inc. | Providing profile information using servers |
US20110202864A1 (en) * | 2010-02-15 | 2011-08-18 | Hirsch Michael B | Apparatus and methods of receiving and acting on user-entered information |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US20110239146A1 (en) * | 2010-03-23 | 2011-09-29 | Lala Dutta | Automatic event generation |
US8754848B2 (en) | 2010-05-27 | 2014-06-17 | Yahoo! Inc. | Presenting information to a user based on the current state of a user device |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US20130179150A1 (en) * | 2011-10-17 | 2013-07-11 | Marcus Eriksson | Note compiler interface |
US9111014B1 (en) * | 2012-01-06 | 2015-08-18 | Amazon Technologies, Inc. | Rule builder for data processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9665574B1 (en) * | 2012-04-13 | 2017-05-30 | Google Inc. | Automatically scraping and adding contact information |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
JP5895716B2 (en) * | 2012-06-01 | 2016-03-30 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US20140046717A1 (en) * | 2012-08-08 | 2014-02-13 | Top Scholar Technology, Llc | Organization system and method for calendar applications |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
CN113470640B (en) | 2013-02-07 | 2022-04-26 | 苹果公司 | Voice trigger of digital assistant |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
CA3199033A1 (en) * | 2013-04-10 | 2014-10-16 | Ruslan Albertovich SHIGABUTDINOV | Systems and methods for processing input streams of calendar applications |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
WO2014200728A1 (en) | 2013-06-09 | 2014-12-18 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10331305B2 (en) | 2013-11-12 | 2019-06-25 | Microsoft Technology Licensing, Llc | Aggregating and presenting event information |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
EP3480811A1 (en) | 2014-05-30 | 2019-05-08 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10078651B2 (en) * | 2015-04-27 | 2018-09-18 | Rovi Guides, Inc. | Systems and methods for updating a knowledge graph through user input |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | Low-latency intelligent automated assistant |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
WO2018222254A1 (en) | 2017-06-02 | 2018-12-06 | Apple Inc. | Event extraction systems and methods |
US11416817B2 (en) | 2017-06-02 | 2022-08-16 | Apple Inc. | Event extraction systems and methods |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
EA037156B1 (en) * | 2018-09-24 | 2021-02-12 | Общество С Ограниченной Ответственностью "Незабудка Софтвер" | Method for template match searching in a text |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
Citations (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189632A (en) * | 1990-08-20 | 1993-02-23 | Oy Nokia Ab | Portable personal computer and mobile telephone device |
US5282265A (en) * | 1988-10-04 | 1994-01-25 | Canon Kabushiki Kaisha | Knowledge information processing system |
US5386556A (en) * | 1989-03-06 | 1995-01-31 | International Business Machines Corporation | Natural language analyzing apparatus and method |
US5390281A (en) * | 1992-05-27 | 1995-02-14 | Apple Computer, Inc. | Method and apparatus for deducing user intent and providing computer implemented services |
US5608624A (en) * | 1992-05-27 | 1997-03-04 | Apple Computer Inc. | Method and apparatus for processing natural language |
US5708845A (en) * | 1995-09-29 | 1998-01-13 | Wistendahl; Douglass A. | System for mapping hot spots in media content for interactive digital media program |
US5727950A (en) * | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US5859636A (en) * | 1995-12-27 | 1999-01-12 | Intel Corporation | Recognition of and operation on text data |
US5864789A (en) * | 1996-06-24 | 1999-01-26 | Apple Computer, Inc. | System and method for creating pattern-recognizing computer structures from example text |
US5895466A (en) * | 1997-08-19 | 1999-04-20 | At&T Corp | Automated natural language understanding customer service system |
US6026233A (en) * | 1997-05-27 | 2000-02-15 | Microsoft Corporation | Method and apparatus for presenting and selecting options to modify a programming language statement |
US6034689A (en) * | 1996-06-03 | 2000-03-07 | Webtv Networks, Inc. | Web browser allowing navigation between hypertext objects using remote control |
US6044250A (en) * | 1996-06-21 | 2000-03-28 | Nec Corporation | Wireless selective call receiver in which display is changeable in reception wait state |
US6049796A (en) * | 1997-02-24 | 2000-04-11 | Nokia Mobile Phones Limited | Personal digital assistant with real time search capability |
US6052646A (en) * | 1998-04-15 | 2000-04-18 | Magellan Dis, Inc. | Vehicle navigation system with improved powerup performance |
US6188999B1 (en) * | 1996-06-11 | 2001-02-13 | At Home Corporation | Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data |
US6222549B1 (en) * | 1997-12-31 | 2001-04-24 | Apple Computer, Inc. | Methods and apparatuses for transmitting data representing multiple views of an object |
US6513063B1 (en) * | 1999-01-05 | 2003-01-28 | Sri International | Accessing network-based electronic information through scripted online interfaces using spoken input |
US6523061B1 (en) * | 1999-01-05 | 2003-02-18 | Sri International, Inc. | System, method, and article of manufacture for agent-based navigation in a speech-based data navigation system |
US6526395B1 (en) * | 1999-12-31 | 2003-02-25 | Intel Corporation | Application of personality models and interaction with synthetic characters in a computing system |
US6532446B1 (en) * | 1999-11-24 | 2003-03-11 | Openwave Systems Inc. | Server based speech recognition user interface for wireless devices |
US6532444B1 (en) * | 1998-09-09 | 2003-03-11 | One Voice Technologies, Inc. | Network interactive user interface using speech recognition and natural language processing |
US6691151B1 (en) * | 1999-01-05 | 2004-02-10 | Sri International | Unified messaging methods and systems for communication and cooperation among distributed agents in a computing environment |
US6691111B2 (en) * | 2000-06-30 | 2004-02-10 | Research In Motion Limited | System and method for implementing a natural language user interface |
US20040042591A1 (en) * | 2002-05-08 | 2004-03-04 | Geppert Nicholas Andre | Method and system for the processing of voice information |
US6711624B1 (en) * | 1999-01-13 | 2004-03-23 | Prodex Technologies | Process of dynamically loading driver interface modules for exchanging data between disparate data hosts |
US6842767B1 (en) * | 1999-10-22 | 2005-01-11 | Tellme Networks, Inc. | Method and apparatus for content personalization over a telephone interface with adaptive personalization |
US20050022115A1 (en) * | 2001-05-31 | 2005-01-27 | Roberts Baumgartner | Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml |
US20050071332A1 (en) * | 1998-07-15 | 2005-03-31 | Ortega Ruben Ernesto | Search query processing to identify related search terms and to correct misspellings of search terms |
US20050080625A1 (en) * | 1999-11-12 | 2005-04-14 | Bennett Ian M. | Distributed real time speech recognition system |
US6996531B2 (en) * | 2001-03-30 | 2006-02-07 | Comverse Ltd. | Automated database assistance using a telephone for a speech based or text based multimedia communication mode |
US6999927B2 (en) * | 1996-12-06 | 2006-02-14 | Sensory, Inc. | Speech recognition programming information retrieved from a remote source to a speech recognition system for performing a speech recognition method |
US7020685B1 (en) * | 1999-10-08 | 2006-03-28 | Openwave Systems Inc. | Method and apparatus for providing internet content to SMS-based wireless devices |
US7027974B1 (en) * | 2000-10-27 | 2006-04-11 | Science Applications International Corporation | Ontology-based parser for natural language processing |
US7036128B1 (en) * | 1999-01-05 | 2006-04-25 | Sri International Offices | Using a community of distributed electronic agents to support a highly mobile, ambient computing environment |
US7177798B2 (en) * | 2000-04-07 | 2007-02-13 | Rensselaer Polytechnic Institute | Natural language interface using constrained intermediate dictionary of results |
US20070055529A1 (en) * | 2005-08-31 | 2007-03-08 | International Business Machines Corporation | Hierarchical methods and apparatus for extracting user intent from spoken utterances |
US7197460B1 (en) * | 2002-04-23 | 2007-03-27 | At&T Corp. | System for handling frequently asked questions in a natural language dialog service |
US7200559B2 (en) * | 2003-05-29 | 2007-04-03 | Microsoft Corporation | Semantic object synchronous understanding implemented with speech application language tags |
US7203646B2 (en) * | 1999-11-12 | 2007-04-10 | Phoenix Solutions, Inc. | Distributed internet based speech recognition system with natural language support |
US20070088556A1 (en) * | 2005-10-17 | 2007-04-19 | Microsoft Corporation | Flexible speech-activated command and control |
US20080015864A1 (en) * | 2001-01-12 | 2008-01-17 | Ross Steven I | Method and Apparatus for Managing Dialog Management in a Computer Conversation |
US7324947B2 (en) * | 2001-10-03 | 2008-01-29 | Promptu Systems Corporation | Global speech user interface |
US20080034032A1 (en) * | 2002-05-28 | 2008-02-07 | Healey Jennifer A | Methods and Systems for Authoring of Mixed-Initiative Multi-Modal Interactions and Related Browsing Mechanisms |
US7349953B2 (en) * | 2001-02-27 | 2008-03-25 | Microsoft Corporation | Intent based processing |
US20090006994A1 (en) * | 2007-06-28 | 2009-01-01 | Scott Forstall | Integrated calendar and map applications in a mobile device |
US7475010B2 (en) * | 2003-09-03 | 2009-01-06 | Lingospot, Inc. | Adaptive and scalable method for resolving natural language ambiguities |
US7483894B2 (en) * | 2006-06-07 | 2009-01-27 | Platformation Technologies, Inc | Methods and apparatus for entity search |
US7487089B2 (en) * | 2001-06-05 | 2009-02-03 | Sensory, Incorporated | Biometric client-server security system and method |
US7502738B2 (en) * | 2002-06-03 | 2009-03-10 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US7523108B2 (en) * | 2006-06-07 | 2009-04-21 | Platformation, Inc. | Methods and apparatus for searching with awareness of geography and languages |
US7522927B2 (en) * | 1998-11-03 | 2009-04-21 | Openwave Systems Inc. | Interface for wireless location information |
US7526466B2 (en) * | 1998-05-28 | 2009-04-28 | Qps Tech Limited Liability Company | Method and system for analysis of intended meaning of natural language |
US20100005081A1 (en) * | 1999-11-12 | 2010-01-07 | Bennett Ian M | Systems for natural language processing of sentence based queries |
US20100023320A1 (en) * | 2005-08-10 | 2010-01-28 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US20100036660A1 (en) * | 2004-12-03 | 2010-02-11 | Phoenix Solutions, Inc. | Emotion Detection Device and Method for Use in Distributed Systems |
US20100042400A1 (en) * | 2005-12-21 | 2010-02-18 | Hans-Ulrich Block | Method for Triggering at Least One First and Second Background Application via a Universal Language Dialog System |
US7676026B1 (en) * | 2005-03-08 | 2010-03-09 | Baxtech Asia Pte Ltd | Desktop telephony system |
US7684985B2 (en) * | 2002-12-10 | 2010-03-23 | Richard Dominach | Techniques for disambiguating speech input using multimodal interfaces |
US7693720B2 (en) * | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US7702500B2 (en) * | 2004-11-24 | 2010-04-20 | Blaedow Karen R | Method and apparatus for determining the meaning of natural language |
US7873519B2 (en) * | 1999-11-12 | 2011-01-18 | Phoenix Solutions, Inc. | Natural language speech lattice containing semantic variants |
US7873654B2 (en) * | 2005-01-24 | 2011-01-18 | The Intellection Group, Inc. | Multimodal natural language query system for processing and analyzing voice and proximity-based queries |
US7881936B2 (en) * | 1998-12-04 | 2011-02-01 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7917497B2 (en) * | 2001-09-24 | 2011-03-29 | Iac Search & Media, Inc. | Natural language query processing |
US20120002820A1 (en) * | 2010-06-30 | 2012-01-05 | Removing Noise From Audio | |
US8095364B2 (en) * | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US8099289B2 (en) * | 2008-02-13 | 2012-01-17 | Sensory, Inc. | Voice interface and search for electronic devices including bluetooth headsets and remote systems |
US20120016678A1 (en) * | 2010-01-18 | 2012-01-19 | Apple Inc. | Intelligent Automated Assistant |
US20120022787A1 (en) * | 2009-10-28 | 2012-01-26 | Google Inc. | Navigation Queries |
US20120022870A1 (en) * | 2010-04-14 | 2012-01-26 | Google, Inc. | Geotagged environmental audio for enhanced speech recognition accuracy |
US20120023088A1 (en) * | 2009-12-04 | 2012-01-26 | Google Inc. | Location-Based Searching |
US20120022869A1 (en) * | 2010-05-26 | 2012-01-26 | Google, Inc. | Acoustic model adaptation using geographic information |
US20120022857A1 (en) * | 2006-10-16 | 2012-01-26 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US20120022874A1 (en) * | 2010-05-19 | 2012-01-26 | Google Inc. | Disambiguation of contact information using historical data |
US20120022868A1 (en) * | 2010-01-05 | 2012-01-26 | Google Inc. | Word-Level Correction of Speech Input |
US20120022860A1 (en) * | 2010-06-14 | 2012-01-26 | Google Inc. | Speech and Noise Models for Speech Recognition |
US8107401B2 (en) * | 2004-09-30 | 2012-01-31 | Avaya Inc. | Method and apparatus for providing a virtual assistant to a communication participant |
US8112280B2 (en) * | 2007-11-19 | 2012-02-07 | Sensory, Inc. | Systems and methods of performing speech recognition with barge-in for use in a bluetooth system |
US20120034904A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Automatically Monitoring for Voice Input Based on Context |
US20120035908A1 (en) * | 2010-08-05 | 2012-02-09 | Google Inc. | Translating Languages |
US20120035924A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Disambiguating input based on context |
US20120042343A1 (en) * | 2010-05-20 | 2012-02-16 | Google Inc. | Television Remote Control Data Transfer |
US8140335B2 (en) * | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60189568A (en) | 1984-03-09 | 1985-09-27 | Canon Inc | Information processor |
US4791556A (en) | 1984-08-29 | 1988-12-13 | Vilkaitis John V | Method for operating a computer which searches for operational symbols and executes functions corresponding to the operational symbols in response to user inputted signal |
US5034916A (en) | 1988-10-24 | 1991-07-23 | Reuters Limited | Fast contact conversational video system |
US5155806A (en) | 1989-03-15 | 1992-10-13 | Sun Microsystems, Inc. | Method and apparatus for displaying context sensitive help information on a display |
JPH0346855A (en) | 1989-07-14 | 1991-02-28 | Nippon Telegr & Teleph Corp <Ntt> | Message communication system |
FI88843C (en) | 1990-05-21 | 1993-07-12 | Nokia Mobile Phones Ltd | MULTIFUNKTIONSTELEFONANORDNING |
US5442742A (en) | 1990-12-21 | 1995-08-15 | Apple Computer, Inc. | Method and apparatus for the manipulation of text on a computer display screen |
US5838458A (en) | 1992-02-25 | 1998-11-17 | Tsai; Irving | Method and apparatus for linking designated portions of a received document image with an electronic address |
US5477447A (en) | 1992-05-27 | 1995-12-19 | Apple Computer, Incorporated | Method and apparatus for providing computer-implemented assistance |
US5583921A (en) | 1992-09-21 | 1996-12-10 | Casio Computer Co., Ltd. | Data transmitting/receiving apparatus and data communication system |
JP3597543B2 (en) | 1992-10-16 | 2004-12-08 | 富士写真フイルム株式会社 | Cursor control method and apparatus |
JPH07271818A (en) | 1994-03-31 | 1995-10-20 | Toshiba Corp | Hyper-medium system |
WO1995034998A2 (en) | 1995-06-06 | 1995-12-21 | Peter James Tsakanikas | Communications access system |
CN1059303C (en) | 1994-07-25 | 2000-12-06 | 国际商业机器公司 | Apparatus and method for marking text on a display screen in a personal communications device |
FI100280B (en) | 1994-10-07 | 1997-10-31 | Nokia Mobile Phones Ltd | Procedure for minimizing power consumption in computer equipment |
US5692032A (en) | 1995-11-27 | 1997-11-25 | Nokia Mobile Phones Ltd. | Mobile terminal having one key user message acknowledgment function |
US5946629A (en) | 1995-11-28 | 1999-08-31 | Telefonaktiebolaget L M Ericsson | Cellular telephone network having short message service interaction with other networks |
US5794142A (en) | 1996-01-29 | 1998-08-11 | Nokia Mobile Phones Limited | Mobile terminal having network services activation through the use of point-to-point short message service |
US5946647A (en) | 1996-02-01 | 1999-08-31 | Apple Computer, Inc. | System and method for performing an action on a structure in computer-generated data |
FI102869B (en) | 1996-02-26 | 1999-02-26 | Nokia Mobile Phones Ltd | A device, method, and system for transmitting and receiving information relating to various applications |
JP3422897B2 (en) | 1996-05-17 | 2003-06-30 | 株式会社テクノクラフト | Character string extraction system and character string extraction method |
US5835079A (en) | 1996-06-13 | 1998-11-10 | International Business Machines Corporation | Virtual pointing device for touchscreens |
US5987029A (en) | 1996-08-08 | 1999-11-16 | Fujitsu Limited | Information collecting apparatus, receiving information processing apparatus and information transmitting apparatus |
US5966652A (en) | 1996-08-29 | 1999-10-12 | Qualcomm Incorporated | System and method for the insertion and extraction of telephone numbers from a wireless text message |
EP1026888B1 (en) | 1996-09-18 | 2003-11-05 | Access Co., Ltd. | A program for use in an internet apparatus |
US6460058B2 (en) | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US6125281A (en) | 1997-01-31 | 2000-09-26 | Nokia Mobile Phones Limited | Real-time SMS application messaging using an SMSC-linked server |
US6608637B1 (en) | 1997-04-23 | 2003-08-19 | Nortel Networks Limited | Multitasking graphical user interface |
US6249283B1 (en) | 1997-07-15 | 2001-06-19 | International Business Machines Corporation | Using OCR to enter graphics as text into a clipboard |
JPH1188633A (en) | 1997-09-05 | 1999-03-30 | Ricoh Co Ltd | Electronic mail transmission/reception system and facsimile equipment adopting the system |
US6169911B1 (en) | 1997-09-26 | 2001-01-02 | Sun Microsystems, Inc. | Graphical user interface for a portable telephone |
FI109733B (en) | 1997-11-05 | 2002-09-30 | Nokia Corp | Utilizing the content of the message |
CA2335706A1 (en) | 1998-06-15 | 1999-12-23 | Telefonaktiebolaget Lm Ericsson | Headline hyperlink broadcast service and system |
NO984066L (en) | 1998-09-03 | 2000-03-06 | Arendi As | Computer function button |
KR100340203B1 (en) * | 2000-09-19 | 2002-06-15 | 오길록 | Optical Performance Monitoring Apparatus for WDM Optical Communication Systems |
US8230323B2 (en) * | 2000-12-06 | 2012-07-24 | Sra International, Inc. | Content distribution system and method |
US7672940B2 (en) * | 2003-12-04 | 2010-03-02 | Microsoft Corporation | Processing an electronic document for information extraction |
US7904058B2 (en) | 2004-10-22 | 2011-03-08 | Nokia Corporation | Recording data at a mobile telephone during a telephone call |
JP2008529168A (en) * | 2005-01-28 | 2008-07-31 | ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッド | Registration and maintenance of address data for each service point in the region |
US7467181B2 (en) | 2005-03-30 | 2008-12-16 | International Business Machines Corporation | System and method for context-specific instant messaging |
US20080221899A1 (en) | 2007-03-07 | 2008-09-11 | Cerra Joseph P | Mobile messaging environment speech processing facility |
WO2009041982A1 (en) | 2007-09-28 | 2009-04-02 | David Lee Giffin | Dialogue analyzer configured to identify predatory behavior |
US20090235280A1 (en) | 2008-03-12 | 2009-09-17 | Xerox Corporation | Event extraction system for electronic messages |
US20090292690A1 (en) | 2008-05-23 | 2009-11-26 | Daniel Jason Culbert | Method and System for Automatic Event Administration and Viewing |
-
2007
- 2007-02-23 US US11/710,182 patent/US7912828B2/en not_active Expired - Fee Related
-
2008
- 2008-02-20 WO PCT/US2008/002263 patent/WO2008103398A2/en active Application Filing
- 2008-02-20 EP EP08725856A patent/EP2122497A2/en not_active Ceased
- 2008-02-20 KR KR1020097019800A patent/KR101155716B1/en active IP Right Grant
-
2011
- 2011-03-11 US US13/046,654 patent/US20110161315A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5282265A (en) * | 1988-10-04 | 1994-01-25 | Canon Kabushiki Kaisha | Knowledge information processing system |
US5386556A (en) * | 1989-03-06 | 1995-01-31 | International Business Machines Corporation | Natural language analyzing apparatus and method |
US5189632A (en) * | 1990-08-20 | 1993-02-23 | Oy Nokia Ab | Portable personal computer and mobile telephone device |
US5390281A (en) * | 1992-05-27 | 1995-02-14 | Apple Computer, Inc. | Method and apparatus for deducing user intent and providing computer implemented services |
US5608624A (en) * | 1992-05-27 | 1997-03-04 | Apple Computer Inc. | Method and apparatus for processing natural language |
US5621903A (en) * | 1992-05-27 | 1997-04-15 | Apple Computer, Inc. | Method and apparatus for deducing user intent and providing computer implemented services |
US5708845A (en) * | 1995-09-29 | 1998-01-13 | Wistendahl; Douglass A. | System for mapping hot spots in media content for interactive digital media program |
US5859636A (en) * | 1995-12-27 | 1999-01-12 | Intel Corporation | Recognition of and operation on text data |
US5727950A (en) * | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US6034689A (en) * | 1996-06-03 | 2000-03-07 | Webtv Networks, Inc. | Web browser allowing navigation between hypertext objects using remote control |
US6188999B1 (en) * | 1996-06-11 | 2001-02-13 | At Home Corporation | Method and system for dynamically synthesizing a computer program by differentially resolving atoms based on user context data |
US6044250A (en) * | 1996-06-21 | 2000-03-28 | Nec Corporation | Wireless selective call receiver in which display is changeable in reception wait state |
US5864789A (en) * | 1996-06-24 | 1999-01-26 | Apple Computer, Inc. | System and method for creating pattern-recognizing computer structures from example text |
US6999927B2 (en) * | 1996-12-06 | 2006-02-14 | Sensory, Inc. | Speech recognition programming information retrieved from a remote source to a speech recognition system for performing a speech recognition method |
US6049796A (en) * | 1997-02-24 | 2000-04-11 | Nokia Mobile Phones Limited | Personal digital assistant with real time search capability |
US6026233A (en) * | 1997-05-27 | 2000-02-15 | Microsoft Corporation | Method and apparatus for presenting and selecting options to modify a programming language statement |
US5895466A (en) * | 1997-08-19 | 1999-04-20 | At&T Corp | Automated natural language understanding customer service system |
US6222549B1 (en) * | 1997-12-31 | 2001-04-24 | Apple Computer, Inc. | Methods and apparatuses for transmitting data representing multiple views of an object |
US6052646A (en) * | 1998-04-15 | 2000-04-18 | Magellan Dis, Inc. | Vehicle navigation system with improved powerup performance |
US7526466B2 (en) * | 1998-05-28 | 2009-04-28 | Qps Tech Limited Liability Company | Method and system for analysis of intended meaning of natural language |
US20050071332A1 (en) * | 1998-07-15 | 2005-03-31 | Ortega Ruben Ernesto | Search query processing to identify related search terms and to correct misspellings of search terms |
US6532444B1 (en) * | 1998-09-09 | 2003-03-11 | One Voice Technologies, Inc. | Network interactive user interface using speech recognition and natural language processing |
US7522927B2 (en) * | 1998-11-03 | 2009-04-21 | Openwave Systems Inc. | Interface for wireless location information |
US7881936B2 (en) * | 1998-12-04 | 2011-02-01 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US6523061B1 (en) * | 1999-01-05 | 2003-02-18 | Sri International, Inc. | System, method, and article of manufacture for agent-based navigation in a speech-based data navigation system |
US6691151B1 (en) * | 1999-01-05 | 2004-02-10 | Sri International | Unified messaging methods and systems for communication and cooperation among distributed agents in a computing environment |
US6513063B1 (en) * | 1999-01-05 | 2003-01-28 | Sri International | Accessing network-based electronic information through scripted online interfaces using spoken input |
US6851115B1 (en) * | 1999-01-05 | 2005-02-01 | Sri International | Software-based architecture for communication and cooperation among distributed electronic agents |
US6859931B1 (en) * | 1999-01-05 | 2005-02-22 | Sri International | Extensible software-based architecture for communication and cooperation within and between communities of distributed agents and distributed objects |
US7036128B1 (en) * | 1999-01-05 | 2006-04-25 | Sri International Offices | Using a community of distributed electronic agents to support a highly mobile, ambient computing environment |
US6711624B1 (en) * | 1999-01-13 | 2004-03-23 | Prodex Technologies | Process of dynamically loading driver interface modules for exchanging data between disparate data hosts |
US7020685B1 (en) * | 1999-10-08 | 2006-03-28 | Openwave Systems Inc. | Method and apparatus for providing internet content to SMS-based wireless devices |
US6842767B1 (en) * | 1999-10-22 | 2005-01-11 | Tellme Networks, Inc. | Method and apparatus for content personalization over a telephone interface with adaptive personalization |
US7873519B2 (en) * | 1999-11-12 | 2011-01-18 | Phoenix Solutions, Inc. | Natural language speech lattice containing semantic variants |
US7698131B2 (en) * | 1999-11-12 | 2010-04-13 | Phoenix Solutions, Inc. | Speech recognition system for client devices having differing computing capabilities |
US20050080625A1 (en) * | 1999-11-12 | 2005-04-14 | Bennett Ian M. | Distributed real time speech recognition system |
US7672841B2 (en) * | 1999-11-12 | 2010-03-02 | Phoenix Solutions, Inc. | Method for processing speech data for a distributed recognition system |
US7657424B2 (en) * | 1999-11-12 | 2010-02-02 | Phoenix Solutions, Inc. | System and method for processing sentence based queries |
US7647225B2 (en) * | 1999-11-12 | 2010-01-12 | Phoenix Solutions, Inc. | Adjustable resource based speech recognition system |
US20100005081A1 (en) * | 1999-11-12 | 2010-01-07 | Bennett Ian M | Systems for natural language processing of sentence based queries |
US7203646B2 (en) * | 1999-11-12 | 2007-04-10 | Phoenix Solutions, Inc. | Distributed internet based speech recognition system with natural language support |
US20080052063A1 (en) * | 1999-11-12 | 2008-02-28 | Bennett Ian M | Multi-language speech recognition system |
US20080021708A1 (en) * | 1999-11-12 | 2008-01-24 | Bennett Ian M | Speech recognition system interactive agent |
US6532446B1 (en) * | 1999-11-24 | 2003-03-11 | Openwave Systems Inc. | Server based speech recognition user interface for wireless devices |
US6526395B1 (en) * | 1999-12-31 | 2003-02-25 | Intel Corporation | Application of personality models and interaction with synthetic characters in a computing system |
US7177798B2 (en) * | 2000-04-07 | 2007-02-13 | Rensselaer Polytechnic Institute | Natural language interface using constrained intermediate dictionary of results |
US6691111B2 (en) * | 2000-06-30 | 2004-02-10 | Research In Motion Limited | System and method for implementing a natural language user interface |
US7027974B1 (en) * | 2000-10-27 | 2006-04-11 | Science Applications International Corporation | Ontology-based parser for natural language processing |
US20080015864A1 (en) * | 2001-01-12 | 2008-01-17 | Ross Steven I | Method and Apparatus for Managing Dialog Management in a Computer Conversation |
US7349953B2 (en) * | 2001-02-27 | 2008-03-25 | Microsoft Corporation | Intent based processing |
US6996531B2 (en) * | 2001-03-30 | 2006-02-07 | Comverse Ltd. | Automated database assistance using a telephone for a speech based or text based multimedia communication mode |
US20050022115A1 (en) * | 2001-05-31 | 2005-01-27 | Roberts Baumgartner | Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml |
US7487089B2 (en) * | 2001-06-05 | 2009-02-03 | Sensory, Incorporated | Biometric client-server security system and method |
US7917497B2 (en) * | 2001-09-24 | 2011-03-29 | Iac Search & Media, Inc. | Natural language query processing |
US7324947B2 (en) * | 2001-10-03 | 2008-01-29 | Promptu Systems Corporation | Global speech user interface |
US7197460B1 (en) * | 2002-04-23 | 2007-03-27 | At&T Corp. | System for handling frequently asked questions in a natural language dialog service |
US20040042591A1 (en) * | 2002-05-08 | 2004-03-04 | Geppert Nicholas Andre | Method and system for the processing of voice information |
US20080034032A1 (en) * | 2002-05-28 | 2008-02-07 | Healey Jennifer A | Methods and Systems for Authoring of Mixed-Initiative Multi-Modal Interactions and Related Browsing Mechanisms |
US7502738B2 (en) * | 2002-06-03 | 2009-03-10 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US8112275B2 (en) * | 2002-06-03 | 2012-02-07 | Voicebox Technologies, Inc. | System and method for user-specific speech recognition |
US7693720B2 (en) * | 2002-07-15 | 2010-04-06 | Voicebox Technologies, Inc. | Mobile systems and methods for responding to natural language speech utterance |
US7684985B2 (en) * | 2002-12-10 | 2010-03-23 | Richard Dominach | Techniques for disambiguating speech input using multimodal interfaces |
US7200559B2 (en) * | 2003-05-29 | 2007-04-03 | Microsoft Corporation | Semantic object synchronous understanding implemented with speech application language tags |
US7475010B2 (en) * | 2003-09-03 | 2009-01-06 | Lingospot, Inc. | Adaptive and scalable method for resolving natural language ambiguities |
US8095364B2 (en) * | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US8107401B2 (en) * | 2004-09-30 | 2012-01-31 | Avaya Inc. | Method and apparatus for providing a virtual assistant to a communication participant |
US7702500B2 (en) * | 2004-11-24 | 2010-04-20 | Blaedow Karen R | Method and apparatus for determining the meaning of natural language |
US20100036660A1 (en) * | 2004-12-03 | 2010-02-11 | Phoenix Solutions, Inc. | Emotion Detection Device and Method for Use in Distributed Systems |
US7873654B2 (en) * | 2005-01-24 | 2011-01-18 | The Intellection Group, Inc. | Multimodal natural language query system for processing and analyzing voice and proximity-based queries |
US7676026B1 (en) * | 2005-03-08 | 2010-03-09 | Baxtech Asia Pte Ltd | Desktop telephony system |
US20100023320A1 (en) * | 2005-08-10 | 2010-01-28 | Voicebox Technologies, Inc. | System and method of supporting adaptive misrecognition in conversational speech |
US20070055529A1 (en) * | 2005-08-31 | 2007-03-08 | International Business Machines Corporation | Hierarchical methods and apparatus for extracting user intent from spoken utterances |
US20070088556A1 (en) * | 2005-10-17 | 2007-04-19 | Microsoft Corporation | Flexible speech-activated command and control |
US20100042400A1 (en) * | 2005-12-21 | 2010-02-18 | Hans-Ulrich Block | Method for Triggering at Least One First and Second Background Application via a Universal Language Dialog System |
US20090100049A1 (en) * | 2006-06-07 | 2009-04-16 | Platformation Technologies, Inc. | Methods and Apparatus for Entity Search |
US7483894B2 (en) * | 2006-06-07 | 2009-01-27 | Platformation Technologies, Inc | Methods and apparatus for entity search |
US7523108B2 (en) * | 2006-06-07 | 2009-04-21 | Platformation, Inc. | Methods and apparatus for searching with awareness of geography and languages |
US20120022857A1 (en) * | 2006-10-16 | 2012-01-26 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US20090006994A1 (en) * | 2007-06-28 | 2009-01-01 | Scott Forstall | Integrated calendar and map applications in a mobile device |
US8112280B2 (en) * | 2007-11-19 | 2012-02-07 | Sensory, Inc. | Systems and methods of performing speech recognition with barge-in for use in a bluetooth system |
US8140335B2 (en) * | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US8099289B2 (en) * | 2008-02-13 | 2012-01-17 | Sensory, Inc. | Voice interface and search for electronic devices including bluetooth headsets and remote systems |
US20120022787A1 (en) * | 2009-10-28 | 2012-01-26 | Google Inc. | Navigation Queries |
US20120022876A1 (en) * | 2009-10-28 | 2012-01-26 | Google Inc. | Voice Actions on Computing Devices |
US20120023088A1 (en) * | 2009-12-04 | 2012-01-26 | Google Inc. | Location-Based Searching |
US20120022868A1 (en) * | 2010-01-05 | 2012-01-26 | Google Inc. | Word-Level Correction of Speech Input |
US20120016678A1 (en) * | 2010-01-18 | 2012-01-19 | Apple Inc. | Intelligent Automated Assistant |
US20120022870A1 (en) * | 2010-04-14 | 2012-01-26 | Google, Inc. | Geotagged environmental audio for enhanced speech recognition accuracy |
US20120022874A1 (en) * | 2010-05-19 | 2012-01-26 | Google Inc. | Disambiguation of contact information using historical data |
US20120042343A1 (en) * | 2010-05-20 | 2012-02-16 | Google Inc. | Television Remote Control Data Transfer |
US20120022869A1 (en) * | 2010-05-26 | 2012-01-26 | Google, Inc. | Acoustic model adaptation using geographic information |
US20120022860A1 (en) * | 2010-06-14 | 2012-01-26 | Google Inc. | Speech and Noise Models for Speech Recognition |
US20120002820A1 (en) * | 2010-06-30 | 2012-01-05 | Removing Noise From Audio | |
US20120020490A1 (en) * | 2010-06-30 | 2012-01-26 | Google Inc. | Removing Noise From Audio |
US20120035908A1 (en) * | 2010-08-05 | 2012-02-09 | Google Inc. | Translating Languages |
US20120034904A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Automatically Monitoring for Voice Input Based on Context |
US20120035924A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Disambiguating input based on context |
US20120035931A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Automatically Monitoring for Voice Input Based on Context |
US20120035932A1 (en) * | 2010-08-06 | 2012-02-09 | Google Inc. | Disambiguating Input Based on Context |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120203753A1 (en) * | 2011-02-08 | 2012-08-09 | International Business Machines Corporation | Upload manager for use in a pattern matchng accelerator |
US20120203754A1 (en) * | 2011-02-08 | 2012-08-09 | International Business Machines Corporation | Performance monitoring mechanism for use in a pattern matching accelerator |
US8402003B2 (en) * | 2011-02-08 | 2013-03-19 | International Business Machines Corporation | Performance monitoring mechanism for use in a pattern matching accelerator |
US8412722B2 (en) * | 2011-02-08 | 2013-04-02 | International Business Machines Corporation | Upload manager for use in a pattern matching accelerator |
US20150195401A1 (en) * | 2014-01-03 | 2015-07-09 | Samsung Electronics Co., Ltd. | Method for managing email message of call application, user device using the same, and non-volatile medium recording thereon program for executing the method |
US9565299B2 (en) * | 2014-01-03 | 2017-02-07 | Samsung Electronics Co., Ltd. | Method for managing email message of call application, user device using the same, and non-volatile medium recording thereon program for executing the method |
US20160036751A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for providing information |
US10097494B2 (en) * | 2014-07-31 | 2018-10-09 | Samsung Electronics Co., Ltd. | Apparatus and method for providing information |
US10841265B2 (en) | 2014-07-31 | 2020-11-17 | Samsung Electronics Co., Ltd. | Apparatus and method for providing information |
Also Published As
Publication number | Publication date |
---|---|
KR101155716B1 (en) | 2012-06-12 |
US20080243841A1 (en) | 2008-10-02 |
US7912828B2 (en) | 2011-03-22 |
WO2008103398A2 (en) | 2008-08-28 |
WO2008103398A3 (en) | 2008-10-09 |
KR20090126266A (en) | 2009-12-08 |
EP2122497A2 (en) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7912828B2 (en) | Pattern searching methods and apparatuses | |
CN105393264B (en) | Interaction section in human-computer interaction study extracts | |
EP2570974B1 (en) | Automatic crowd sourcing for machine learning in information extraction | |
JP5744873B2 (en) | Trusted Query System and Method | |
JP5424001B2 (en) | LEARNING DATA GENERATION DEVICE, REQUESTED EXTRACTION EXTRACTION SYSTEM, LEARNING DATA GENERATION METHOD, AND PROGRAM | |
CN101467125B (en) | Processing of query terms | |
US20180004838A1 (en) | System and method for language sensitive contextual searching | |
WO2015009586A2 (en) | Performing an operation relative to tabular data based upon voice input | |
CN102782677B (en) | Use the improvement search of semantic key | |
KR20090084870A (en) | Rank graph | |
WO2009026193A2 (en) | System and method for search | |
JP2011501258A (en) | Information extraction apparatus and method | |
US20120323905A1 (en) | Ranking data utilizing attributes associated with semantic sub-keys | |
US20080162528A1 (en) | Content Management System and Method | |
Pérez-Sancho et al. | Genre classification using chords and stochastic language models | |
US11520835B2 (en) | Learning system, learning method, and program | |
US9208150B2 (en) | Automatic association of informational entities | |
Ha et al. | Information extraction from scanned invoice images using text analysis and layout features | |
Wong et al. | iSentenizer‐μ: Multilingual Sentence Boundary Detection Model | |
Jean-Louis et al. | Text segmentation and graph-based method for template filling in information extraction | |
CN102024026B (en) | Method and system for processing query terms | |
Hasanuzzaman et al. | Maximum entropy approach for named entity recognition in Bengali and Hindi | |
Branting | Name-Matching Algorithms for Legal Case-Management Systems', Refereed article | |
JP5326781B2 (en) | Extraction rule creation system, extraction rule creation method, and extraction rule creation program | |
Herzog et al. | Feature-based object identification for web automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |