PATENT DOCUMENT

Publication Number: US-11069336-B2
Application Number: US-201816048043-A
Country: US
Kind Code: B2

Title: Systems and methods for name pronunciation

Abstract:
Systems and methods are provided for associating a phonetic pronunciation with a name by receiving the name, mapping the name to a plurality of monosyllabic components that are combinable to construct the phonetic pronunciation of the name, receiving a user input to select one or more of the plurality, and combining the selected one or more of the plurality of monosyllabic components to construct the phonetic pronunciation of the name.

Claims:
What is claimed is: 
     
       1. A method comprising:
 providing a plurality of pronunciation guessers, each of the plurality of pronunciation guessers being associated with a phonetic alphabet of a language or locale; 
 determining a user language or a user locale; 
 associating a first phonetic alphabet with the user language or the user locale; 
 receiving at each pronunciation guesser a representation of the name; 
 guessing, at each pronunciation guesser, a phonetic pronunciation of one or more components of the name; 
 mapping the phonetic pronunciation of the one or more components of the name guessed by each of the plurality of pronunciation guessers to the first phonetic alphabet to generate a list of guessed pronunciations; 
 receiving an audio pronunciation of the name; 
 selecting a combination of components from the list of guessed pronunciations that, when pronounced, substantially matches the audio pronunciation of the name; 
 storing the selected combination of components from the list of guessed pronunciations in a data store as the pronunciation of the name; 
 in response to a spoken user input, retrieving the stored pronunciation of the name; 
 comparing the stored pronunciation of the name to a portion of the spoken user input; and 
 in accordance with a determination that the stored pronunciation of the name matches the portion of the spoken user input, performing a task specified in the spoken user input using information associated with the stored pronunciation of the name. 
 
     
     
       2. The method of  claim 1 , wherein the one or more components of the name include at least one of a sound unit, a phoneme, a mono-syllabic component, a monosyllabic component with a particular type of stress, and portion of a word. 
     
     
       3. The method of  claim 1 , wherein determining the user language or the user locale includes receiving an input identifying the user language or user locale. 
     
     
       4. The method of  claim 3 , wherein the plurality of pronunciation guessers are selected based on the user language or the user locale. 
     
     
       5. The method of  claim 1 , further comprising:
 in response to a user input, retrieving the stored pronunciation of the name; and 
 providing an audio output of the pronunciation of the name. 
 
     
     
       6. A system for determining the pronunciation of a name comprising:
 a plurality of pronunciation guessers, wherein each of the plurality of pronunciation guessers are associated with a phonetic alphabet of a language or locale, each of the plurality of pronunciation guessers are arranged to receive a representation of the name, and each of the plurality of pronunciation guessers are arranged to guess a phonetic pronunciation of one or more components of the name; 
 a processor arranged to determine a language or locale associated with a user and associate a first phonetic alphabet with the language or locale associated with the user; 
 a phonetic mapper arranged to map the phonetic pronunciation of the one or more components of the name guessed by each of the plurality of pronunciation guessers to the first phonetic alphabet to generate a list of guessed pronunciations; 
 a recognizer arranged to:
 receive an audio pronunciation of the name and select a combination of components from the list of guessed pronunciations that, when pronounced, substantially matches the audio pronunciation of the name; 
 in response to a spoken user input, retrieve a stored pronunciation of the name; 
 compare the stored pronunciation of the name to a portion of the spoken user input; and 
 in accordance with a determination that the stored pronunciation of the name matches the portion of the spoken user input, perform a task specified in the spoken user input using information associated with the stored pronunciation of the name; and 
 
 a data store arranged to store the selected combination of components from the list of guessed pronunciations as the pronunciation of the name. 
 
     
     
       7. The system of  claim 6 , wherein the one or more components of the name include at least one of a sound unit, a phoneme, a mono-syllabic component, a mono-syllabic component with a particular type of stress, and portion of a word. 
     
     
       8. The system of  claim 6 , wherein the plurality of pronunciation guessers are selected based on the language or locale associated with the user. 
     
     
       9. A non-transitory computer-readable storage medium; storing one or more programs for execution by one or more processors of an electronic device, the one or more programs including instructions for:
 providing a plurality of pronunciation guessers, each of the plurality of pronunciation guessers being associated with a respective phonetic alphabet of a language or a locale; 
 determining a user language or a user locale; 
 associating a first phonetic alphabet with the user language or the user locale; 
 receiving at each pronunciation guesser a representation of a name; 
 guessing, at each pronunciation guesser, a phonetic pronunciation of one or more components of the name; 
 mapping the phonetic pronunciation of the one or more components of the name guessed by each of the plurality of pronunciation guessers to the first phonetic alphabet to generate a list of guessed pronunciations; 
 receiving an audio pronunciation of the name; 
 selecting a combination of components from the list of guessed pronunciations that, when pronounced, substantially matches the audio pronunciation of the name; 
 storing the selected combination of components from the list of guessed pronunciations in a data store as the pronunciation of the name; 
 in response to a spoken user input, retrieving the stored pronunciation of the name; 
 comparing the stored pronunciation of the name to a portion of the spoken user input; and 
 in accordance with a determination that the stored pronunciation of the name matches the portion of the spoken user input, performing a task specified in the spoken user input using information associated with the stored pronunciation of the name.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a divisional application of U.S. patent application Ser. No. 13/411,180, entitled “SYSTEMS AND METHODS FOR. NAME PRONUNCIATION,” filed on Mar. 2, 2012, the content of which is incorporated by reference in its entirety for all purposes. 
    
    
     FIELD 
     This application relates to recognizing and synthesizing speech and, more particularly, to recognizing and synthesizing pronunciations of names. 
     BACKGROUND 
     Name recognition is a particularly difficult aspect of speech recognition. Names can include names of people, businesses, and other entities. The distribution of names has a long tail. Furthermore, the way names are pronounced can be subjective and dependent on the name&#39;s origin. There can be a few names that are very common, but an order of magnitude more names that are very rare. For a speech recognition system to recognize names, a linguist is typically needed to transcribe all possible pronunciations in a phonetic alphabet supported by the locale or language in which the speech recognition system is deployed. Most existing speech recognition and synthesis system have up to hundreds or thousands of names, while there axe likely millions of actual unique names in use today. 
     Current speech recognition systems typically model name recognition to support tasks such as phone dialing, search and query, reminders, and events scheduling based on a named entry in a contact application of a user device. To recognize or synthesize a name, current systems often use a dictionary or a lexicon. These contain a mapping of the names to their possible pronunciations. However, if a name has not been modeled in the speech lexicon, the system must guess the pronunciation. For the purpose of speech synthesis, the system may also need to guess the stress on individual syllables comprised in the name. 
     For names not modeled explicitly in the lexicon, speech recognition systems typically depend on a pronunciation guesses that uses sophisticated letter-to-sound rules. However, because certain phonetic units are particular to a specific language, the same name may be pronounced differently by different users. Thus, existing systems are not capable of building an adequate pronunciation guesser that models the pronunciation of names from different languages and cultures. In many cases, a foreign name pronunciation may not be guessed properly unless explicit rules are represented within the guesser. 
     SUMMARY 
     The application, in various implementations, provides systems, methods and devices that provide a user interface to efficiently and conveniently configure the phonetic pronunciation of names. 
     In one aspect a system generates a phonetic pronunciation of a name based on uses selection of the name&#39;s monosyllabic components. The system may associate a phonetic pronunciation with a name. The system may include a user interface arranged to receive the name. The system may also include a processor arranged to map the name to a plurality of monosyllabic components that are combinable to construct the phonetic pronunciation of the name. The user interface may also be arranged to receive a user input to select one or more of the plurality of monosyllabic components. Furthermore, the processor may be arranged to combine the selected one or more of the plurality of monosyllabic components to construct the phonetic pronunciation of the name. 
     In one configuration, the user interface is arranged to provide the phonetic pronunciation to the user. The user interface may be arranged to receive a second user input to select or reject the phonetic pronunciation. The user interface may also be arranged to display a first portion of the plurality of monosyllabic components to the user. The user interface may further be arranged to display a second portion of the monosyllabic components in response to a user selection of one of the first portion of the plurality of monosyllabic components. 
     The processor may be arranged to receive the name from a contact list of a contact application and/or other application associated with the user. The name may be in text format. The processor may be arranged to query a data store and/or database that includes one or more of the monosyllabic component associated with the name. The monosyllabic components may include components associated with one or more languages, cultures, and/or locales. The construction of the phonetic pronunciation of the name may include generating an audio file. 
     In another aspect, a system for determining usage information associated with the phonetic pronunciation of a name may include a server arranged to receive one or more contact names. The system may include a data store arranged to store one or more phonetic pronunciations associated with the one or more names. The server may be arranged to receive an indication of the one or more phonetic pronunciations associated with the one or more names from one or more user devices and determine usage data associated with the one or more phonetic pronunciations associated with the one or more names. 
     The indication may include the one or more phonetic pronunciations. The indication may include a selection of the one or more phonetic pronunciations from the one or more user devices. The usage data may include an amount of instances that the indication is received during a period of time. The server may be arranged to provide at least one of the phonetic pronunciations associated with the name to a first user device based on the usage data. 
     In another aspect, a system may include and/or be provided with a plurality of pronunciation guessers where each of the pronunciation guessers are associated with a particular phonetic alphabet of a language or locale. For example, the phonetic alphabets may be, without limitation, English, French, German, Spanish, and Italian. A processor determines a language or locale associated with a user and associates a first phonetic alphabet (e.g., English) with the language or locale associated with the user. The determination of language and/or locale may be via manufacturer input, service provider input, user input, detection of the geographic area associated with the location of the system, analysis of the types of names and/or other words input by a user, and the like. 
     Each of the pronunciation guessers may receive a representation of the name. The representation may be orthographic. Orthography may generally refer to the spelling of a word. The orthographic representation may define phonemes and/or symbols (e.g., graphemes and/or dialect) of a language associated with the representation of a word and/or name. Each of the plurality of pronunciation guessers may then guess a phonetic pronunciation of one or more components of the name. Then, a phonetic mapper may map the phonetic pronunciation of the one or more components of the name guessed by each of the plurality of pronunciation guessers to the first phonetic alphabet to generate a list of guessed pronunciations. A speech recognizer may receive an audio pronunciation of the name and then select a combination of components from the list of guessed pronunciations that, when pronounced, substantially and/or best match the audio pronunciation of the name. 
     Each of the one or more components of the name may include at least one of a sound unit, a phoneme, a mono-syllabic component, a mono-syllabic component with a particular type of stress, and portion of a word. The processor  102  may identify the language or locale associated with the user. The number of pronunciation guessers may be determined based on the language or locale associated with the user. The type of each of the plurality of pronunciation guessers may be determined based on the language or locale associated with the user. The type of pronunciation guesser may include the type of language or locale associated with the pronunciation guesser. 
     Various advantages and applications for using a name pronunciation system and interface in accordance with principles of the present disclosure are discussed in more detail below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above and other features of the present application, its nature and various advantages will become more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which: 
         FIG. 1  is a diagram including components of a user-driven name pronunciation system; 
         FIG. 2  is a diagram of a computer processing environment including various functions, applications and/or routines running within a user-driven pronunciation system; 
         FIG. 3  is a diagram of a network including a user-driven name pronunciation system; 
         FIG. 4  is a flow diagram of a process for generating a pronunciation or a name from a contact list or user input; 
         FIG. 5  is a display of a name including its monosyllabic components; 
         FIG. 6  is a display of another name including its monosyllabic components; 
         FIG. 7  is a display or yet another name including its monosyllabic components; 
         FIG. 8  is a diagram of a system for determining phonetic pronunciations of a name. 
         FIG. 9  is a flow diagram of a process for generating a phonetic pronunciation of a name 
         FIG. 10  is a flow diagram of another process for generating a phonetic pronunciation of a name based on user selection of the name&#39;s monosyllabic components; and 
         FIG. 11  is a flow diagram of a process for determining usage information associated with the phonetic pronunciation of a name. 
     
    
    
     DETAILED DESCRIPTION OF THE DISCLOSURE 
     The application, in various implementations, provides systems, methods and devices that provide a user interface to efficiently and conveniently configure the phonetic pronunciation of names. In certain configurations, the interface uses a processor that implements an application for mapping an arbitrary name from a user&#39;s contact to a plurality of monosyllabic names to construct the correct pronunciation of the name. The name may first be syllabified into multiple mono-syllabic words that are easily pronounced by a user in a language of transcribed intent. A syllable may be considered a single element of spoken language that includes a single uninterrupted sound formed by a vowel, diphthong, or syllabic consonant. The sound may be preceded by, followed, or surrounded by a single consonant or multiple consonants. 
     In certain configurations, an interface allows a user to enter their own mono-syllabic words to accurately present the pronunciation of a name. The interface may present a sequence of mono-syllabic words to a user and enable the user to select various mono-syllabic words to form an overall pronunciation of a name. In certain implementations, the interface provides the user with audio associated with the selected pronunciation as feedback to enable the user to refine the pronunciation. 
     The interface may allow a user to select one or more mono-syllabic words, and/or select a particular sequence of mono-syllabic words, that best approximate the underlying pronunciation of a name in the user&#39;s list of contacts. The interface may include a touch screen to enable efficient user selection of one or more of the mono-syllabic words. The interface may provide a best guess of the pronunciation to a user. In one implementation, a refined pronunciation is transcribed into a phonetic alphabet supported by a speech recognition function and incorporated as a part of a lexicon of the user&#39;s dynamic vocabulary. 
     The lexicon may be used as part of a process for crowd-sourcing pronunciations based on inputs from multiple users. By gathering pronunciation data from multiple users related to, for example, the types of mono-syllabic words used and how often certain mono-syllabic words are used, the potentially significant cost of employing linguists can be reduced or eliminated, while creating a more extensive and relevant lexicon of phonetic names. The name pronunciation system also allows a user to utilize more accurately pronounced names for recognition and synthesis for everyday tasks as opposed to relying on substandard pronunciation guessers. 
       FIG. 1  is a diagram including components of a user-driven name pronunciation system  100 . The system  100  includes a user interface  102 , a processor  104 , and a data store  106 . The user interface  102  may include hardware, software, or a combination therefore arranged to provide an interface for one or more users to communicate with the system  100 . The processor  104  may include one more processors arranged to process data, functions, a and/or applications of the system  100 . The data store  106  may include one more storage devices. 
     In certain implementations, the user interface  102  allows a user to interact with the system  100 . For example, the user interface  102  may include a user input device that can take a variety of forms, such as a button, keypad, dial, a click wheel, microphone, and/or a touch screen. The user interface  102  may include an output device that can take a variety of forms such as, without limitation, a display, a speaker, a transducer, headphones, and/or a vibration generator. In certain implementations, the user interface  102  is arranged to receive spoken inputs and/or commands from a user. The user interface  102  may output audio information via one or more speakers and/or headphones to a user. 
     In certain implementations, the processor  104  includes one or more processors arranged within a user device. In other implementations, the processor  104  may include multiple processors among multiple devices. Further details regarding such an implementation are discussed with respect to  FIG. 3  later herein. Processor  104  may control the operation of various functions such as described later herein with respect to  FIG. 2 , and other circuitry included in system  100 . Processor  104  may drive a display of user interface  102  and may receive user inputs from the user interface  102 . Processor  104  may receive, retrieve, and/or send data, including, for example, executable code to and/or from data store  106  during operations of the system  100 . The processor  104  may include a Coder/decoder (CODEC) processor to convert digital audio signals into analog signals for driving a speaker of user interface  102  to produce sound including the pronunciation of names, voice, music, and other like audio. The CODEC may also convert audio inputs from a microphone of the user interface  102  into digital audio signals. The processor may store digital audio signals as data files in the data store  106 . The CODEC may include a video CODEC for processing digital and/or analog video signals. In some configurations, the processor  104  includes one or more central processing units (CPUs) operating in one or more user devices, personal computers, and/or servers. 
     In certain implementations, the data store  106  may store media (e.g., music and video files), contact information (e.g., contact names), phonetic data associated with contact names (e.g., monosyllabic words), software (e.g., for implanting functions of the system  100 , preference information (e.g., media playback preferences), transaction information (e.g., information such as credit card information), connection information (e.g., information that may enable a component of system  100  to establish communications with another system), subscription information (e.g., information that keeps tracks of podcasts or television shows or other media a user subscribes to), and any other suitable data. Data store  106  may include one more storage mediums, including without limitation, a hard-drive, permanent memory such as ROM, semi-permanent memory such as RAM, solid state memory, removable memory, CD-ROM, CD-RW, diskette, firmware, a cache, and other like devices capable of storing electronic data. Data store  106  may include a database. The database may include a relational database management system (RDBMS) and/or a structured query language (SQL) database, or the like. 
       FIG. 2  is a diagram of a computer processing environment  200  including various functions, applications and/or routines  202 - 210  running within a user-driven pronunciation system such as, for example, system  100  of  FIG. 1 . The computer processing environment  200  may include a pronunciation guesser  202 , a speech recognizer  204 , a speech synthesizer  206 , a contact application  208 , and other applications  210 . 
     In certain implementations, the pronunciation guesser  202  models rules for pronouncing words such as names from their associated text spellings. The pronunciation guesser may include learning algorithms and/or techniques such as, without limitation, hidden-markov models, decision tree, classifiers, and/or other statistical models where phonemes or sequences of phonemes may be associated with letters, sequences of letters, and/or words to produce pronunciations of names. The pronunciation guesser may utilize data and/or libraries associated with one or more languages to predict a pronunciation including data from a database within, for example, data store  106  and/or  312 . 
     In certain implementations, the speech recognizer  204  converts spoken words by a user to electronic text and/or data. The speech recognizer  204  may be configured to recognize speech from a particular user and/or to recognize speech generally from any user. The speech recognizer  204  may be utilized in conjunction with other applications  210  such as, for example, a voice activated dialing application for initiating a telephone call (e.g., “Call Bill”). The other applications  210  may include device control (e.g., “hang up”), search (e.g., “find love songs”), data entry (e.g., “10 Main Street”), speech-to-text processing (e.g., inputting content of an email), and any like application utilizing spoken user inputs. The speech recognizer  204  may utilize anyone of a number of models including, without limitation, hidden markov models (HMMs), dynamic time warping (DTW) based speech recognition, and/or statistical speech recognition models. The speech recognizer  204  may use context dependencies for phonemes, vocal tract length normalization (VTLN), maximum likelihood regression (MLLR), heteroscedastic linear discriminant analysis (HLDA), Bayesian networks, Viterbi algorithms, and/or like techniques for speech recognition. 
     In certain implementations, the speech synthesizer  206  electronically produces human speech. The speech synthesizer  206  may be implemented in software, hardware, or a combination thereof. In one configuration, the synthesizer  206  converts electronic data, electronic text, and/or symbolic linguistic representations such as phonetic transcriptions into speech. The synthesizer  206  may generate spoken words such as names by concatenating portions of recorded sounds from a database such as within data store  106  and/or  312 . The speech synthesizer  206  may access phones, diphones, words, mono-syllabic components of words, and/or sentences to produce synthesized audio outputs and/or audio files. The synthesizer  206  may utilize any one or more techniques to produce natural and intelligible sounds. The techniques may include, without limitation, concatenative synthesis, unit selection synthesis, diphone synthesis, mono-syllabic component synthesis, domain-specific synthesis, format synthesis, articulatory synthesis, hidden markov model (HMM) synthesis, and/or sinewave synthesis. The synthesizer  200  may be utilized with one or more applications such as contact application  208  and other applications  210 . Siri® is a type of application that uses name recognition that is made available by Apple Inc., of Cupertino, Calif. For example, a user may speak “Find emails from Steve” or “Call Peter at home.” 
     In certain implementations, the contact application  208  includes one or more contacts associated with a user that may be stored in a list and/or database. Each contact may include a contact name, address, telephone number, electronic mail (email) address, and/or other information. Each contact may include a “Phonetic First Name” and/or “Phonetic Last Name” field. The contact application  208  may be a stand-alone application chat interfaces with other applications  210 . For example, another application  210  may include a wireless telephone calling application. The contact application  210  may interface with the calling application to initiate a telephone to a selected contact from the contact application  208 . The contact application  208  may be integrated with other applications  210 . For example, the other application  210  may include an email application that enables to user to send and receive emails and/or access a mail server. The contact application  206  may be a function of the mail application that enables a user to store one or more contacts with associated information such as contact name, address, telephone number, electronic mail (email) address, and/or other information. The contact application and/or email application may include the contact and/or mail applications implemented, for example, on the Apple® iPhone®, iPad®, and iPod Touch® that are made available by Apple Inc., of Cupertino, Calif. 
       FIG. 3  is a diagram of a network including a user-driven name pronunciation system  300 . The system  300  includes user devices  302 ,  304 , and/or  306 , network  308 , sever  310 , and/or data store  312 . 
     The user devices  302 ,  304 , and/or  306  may include a personal computer (PC), personal digital assistant (PDA), a portable computing device, a cellular telephone, satellite telephone, cordless telephone, pager, or any other electronic device capable of implementing one or more functions of environment  200  of  FIG. 2 . The user device  302 ,  304 , and/or  306  may be integrated within the packaging of other devices or structures such a vehicle, video game system, appliance, clothing, helmet, glasses, wearable apparel, stereo system, entertainment system, or other portable devices. Types of user devices  302 ,  304 , and/or  306  may include, for example an Apple® iPod®, iPad®, iPhone®, iMac®, MacBook Pro®, and MacBook Air®, and the like, that are made available by Apple Inc., of Cupertino, Calif. and any other devices capable of communicating in a wired and/or wireless manner. 
     User device  302 ,  304 , and/or  306  may synchronize with, for example, a remote computing system or server  310  to receive media and/or user pronunciation related data (using either wireless or wireline communications paths). Media may include, without limitation, sound or audio files, music, video, multi-media, and digital data, in streaming and/or discrete (e.g., files and packets) formats. 
     A user device  302 ,  304 , and/or  306  may include communications circuitry for wired and/or wireless communication (e.g., short-range and/or long range communication). For example, the wireless communication circuitry may be Wi-Fi™ enabling circuitry that permits wireless communication according to one of the 802.11 standards. Other wireless network protocols standards could also be used, either in alternative to the identified protocols or in addition to the identified protocol. Other network standards may include Bluetooth, the Global System for Mobile Communications (GSM), code division multiple access (CDMA), Long Term Evolution (LTE), and/or 4G based wireless protocols. 
     Any suitable circuitry, device, system, or combination of these (e.g., a wireless communications infrastructure including communications towers and telecommunications servers) operative to create a communications network may be used to create network  308 . Network  308  may be capable of providing communications using any suitable communications protocol. In some embodiments, network  306 , user devices  302 ,  304 , and/or  206 , and server  310  may support, for example, traditional telephone lines, cable television, Wi-Fi™, Ethernet, Bluetooth™, high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol (“TCP/IP”) (e.g., any of the protocols used in each of the TCP/IP layers), hypertext transfer protocol (“HTTP”), BitTorrent™, file transfer protocol (“FTP”), real-time transport protocol (“RTP”), real-time streaming protocol (“RTSP”), secure shell protocol (“SSH”), any other communications protocol, or any combination thereof. 
     In certain implementations, server  314  includes one or more of a LINUX, UNIX, Windows®, or MAC OS operating system. Sever  314  may be implemented on one computer device or multiple computer devices. Data store  312  may include one or more disk drives, solid state memory, volatile and/or non-volatile memory, an array of storage disks, and/or a plurality of redundant storage elements. Sever  314  may include a virtual server distributed and/or copied among multiple hardware server elements. 
     In one implementation, a user device  302 ,  304 , and/or  306  includes one or more of the components  102 ,  104 , and  106  of  FIG. 1  and one or more of functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 . For example, user device  302  may include a portable computing device operating as a stand alone user pronunciation system including the all of the components  102 ,  104 , and  106  of  FIG. 1  and the functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 . In one configuration, user device  302  accesses data store  312  periodically or at other instances to obtain user pronunciation related data including contact names, contact information (e.g., address, email address, telephone number, and the like), and mono-syllabic components associated with contact names. User device  302  may stored user pronunciation related data locally within data store  106  and/or remotely within data store  312 . 
     In another implementation, a user device  302  and server  312  may operate cooperatively to implement one or more of the functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 . In one configuration, user device  302  operates as a client and/or terminal for server  310  that implements the functions of environment  200  of  FIG. 2 . In another configuration, user device  302  and server  310  both perform one or more functions of environment  200  of  FIG. 2 . In yet another configuration, user device  302  performs a portion of the functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 , while server  310  and/or data store  312  perform another portion of the functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 . 
       FIG. 4  is a flow diagram of a process  400  for generating a phonetic pronunciation of a name from a contact list or user input. One or more of the steps of process  400  may be implemented by a user-driven name pronunciation system such as the systems  100  and  300  of  FIGS. 1 and 3  using, for example, one or more of the functions  202 ,  204 ,  206 ,  208 , and  210  of  FIG. 2 . 
     In one implementation, a user device, such as user device  302 , includes a contact application  208  including one or more contact names. The user may access the contact application  208  to determine a phonetic pronunciation associated with the text of the stored contact name. The contact name may include a first name and/or last name. Certain devices such as the Apple® iPhone® provide phonetic first name and phonetic last name fields for a user to manually insert a phonetic spelling to determine how a contact name should be pronounced. Manually entry can be time consuming while not ensuring the correct pronunciation is eventually synthesized. Thus, it would be advantageous to leverage a user&#39;s familiarity with the names in their contacts and how the user intends to pronounce such names, to provide the user with a way to present and articulate name pronunciations efficiently and conveniently. 
     In certain implementations, a user can select a name via a user interface  102  in a contact application  208  or other application  210  to assign a proper phonetic pronunciation for the name. A pronunciation guesser  202  receives the name (Step  402 ). Alternatively or additionally, a user device such as user device  302  may include a user interface  102  for receiving spoken names and/or other words. The user interface  102  may include a microphone to receive a user provided name which is then provided to speech recognizer  204  to convert the spoken name to text. A user may say a name such as, for example, “Philippe” which is then converted to electronic data and/or text. The electronic data and/or text for “Philippe” may then be received by the pronunciation guesser  202  for further processing. A received name may be 1) either an entry in a contact, for example the “First name” and/or “Last name” field for a contact application  208  in a user device  302  such as, for example, an iPhone®. The received name may be a recording of a name that is associated with a name entry in the contact application  208 . For example, one could have an icon displayed and/or situated next to the name that allows a user to associate a pronunciation to the name. 
     The pronunciation guesser  202  then over-generates a set of possible phonetic pronunciations associated with the name (Step  404 ). For example, feature  414  of  FIG. 4  shows multiple possible pronunciations of the term “Hafs.” In one configuration, pronunciation guesser  202  maps one or more mono-syllabic components to a name. Mapping may include generating, associating, and/or obtaining the one or more mono-syllabic components from a database included in, for example, data store  106  and/or  112 . The database may include a relational database that stores one or more contact names and one or more mono-syllabic components and/or words associated with and/or mapped to each contact name. In certain configurations, the pronunciation guesser  202  may map and/or generate possible phonetic pronunciations based on one or more locales and/or languages. For example, the pronunciation guesser  202  may have access to a database in data store  106  and/or  312  that includes a lexicon of phonetic pronunciations in various languages such as English, German, French, and so on. The lexicon may include mono-syllabic components associated with a name in one or more languages. For example, with respect to  FIG. 5 , the name “Philippe” may have an English component  508  “fill” and a French component  506  “leap.” 
     Next, the generated list and/or set of possible phonetic pronunciations are provided to, for example, recognizer  204  which performs a recognition of the possible phonetic pronunciations and selects the closet available guess of a proper phonetic translation (Step  406 ). In one configuration, recognizer  204  uses constrained speech recognition. Constrained recognition may be employed based on limited resources such as limited processing power, the need for faster recognition, the availability of storage capacity, the size of the lexicon of phonetic pronunciations, and/or other system constraints. The recognizer  204  may consider factors such as location of the user in determining the closest available guess. For example, if the user and/or the user device  302  originate and/or reside substantially within a particular geographic area associated with a particular language or locale, the recognizer  204  may consider location when selecting the closet available guess. The recognizer  204  may also consider the user&#39;s selections of phonetic pronunciations for other names in determining a language and/or locale for selection of the closet available guess for the name. 
     In an alternative implementation, the generated list and/or set of possible phonetic pronunciations are provided to a user via user interface  102 . In one configuration, the user interface  102  presents the list and/or set of phonetic pronunciations including a set of mono-syllabic components and/or words. 
       FIG. 5  is a display  500  of a name  502  (e.g., “Philippe”) including its mono-syllabic components  504 ,  506 ,  508 ,  510 ,  512 ,  514 ,  516 , and  518 . A syllable may be considered a single element of spoken language that includes a single uninterrupted sound formed by a vowel, diphthong, or syllabic consonant. The sound may be preceded by, followed, or surrounded by a single consonant, or multiple consonants. The name  502  may be a first name in a contact list of a contact application  208 . The display  500  may be provided via a user interface  102  of, for example, a user device  302 . The display  500  may include a touch screen capable of receiving a user input to select one or more mono-syllabic components. In this case, the name  502  “Philippe” can include the mono-syllabic components  504  “fee”,  506  “leap”,  508  “fill”,  510  “eap”,  512  “philly”, and  514  “pay,” A user may select mono-syllabic components  504  “fee” and  506  “leap” to construct a phonetic pronunciation for the name  502  “Philippe.” 
     Alternatively, the user may select the mono-syllabic components  508  “fill” and  506  “eap” to construct a different phonetic pronunciation for the name  502  “Philippe.” As a further option, the user may select mono-syllabic components  512  “philly” and  514  “pay” to construct another phonetic pronunciation for the name  502  “Philippe.” In some implementations, the display  500  includes mono-syllabic components  516  and  518  as user definable fields capable of receiving a user input to define a mono-syllabic component or word. There may be circumstances where the pronunciation guesser does not provide a mono-syllabic component that sufficiently pronounces a component of a name. In such circumstances, the user interface  102  via display  500  can receive a user inputted word via component  516  and/or  518  that provides a mono-syllabic pronunciation of a portion of a name. In some implementations, a user is able to select any combination of the components  502 - 518  to construct a phonetic pronunciation of o the name  502  “Philippe.” 
     As previously discussed, display  500  may receive mono-syllabic components associated with one or more languages or locales. By presenting monosyllabic components associated with one or more languages, the user interface  102  via display  500  efficiently provides a user with a variety or possible alternative pronunciations for a portion of a name. The one or more mono-syllabic components can be generated by pronunciation guesser  202  based on one or more lexicons and/or databases associated with one or more languages stored within data store  106  and/or  312 . 
     In certain configurations, user interface  102  via display  500  displays mono-syllabic components and/or other words arranged in an order and/or sequence based on a predicted user preference. For example, in  FIG. 5 , the mono-syllabic component  504  “fee” is displayed above component  508  “fill” possibly based on a user preference for French pronunciations, based on a user locale, based on a language associated with a user, and/or based on previous types of selections of mono-syllabic components made by the user. In some configurations, user interface  102  via display  500  may present mono-syllabic components in a particular sequence and/or order based on the popularity and/or frequency of use of certain mono-syllabic components among a group of users over a period of time, and/or in a particular location. 
     In certain implementations, the display  500  may include one or more poly-syllabic words looked up from a dictionary in data store  106  and/or  312  that can be combined with mono-syllabic words to form a phonetic pronunciation. For example, the component  620  “money” and component  512  “Philly” may be considered poly-syllabic (i.e., bi-syllabic) words that may be present in a pre-existing dictionary that can be also be used. Thus, certain words that may not be considered legitimate mono-syllabic words in a dictionary, but that may be constructed from legitimate mono-syllabic words, can be included and presented to a user for construction of a phonetic pronunciation, wherein the user may be able to pronounce a mono-syllable reasonably based on similar context. For example, the word “Tim” may be a legitimate word in a dictionary, whereas the word “nim” may not be a legitimate word, but one can make a reasonable guess of how it is pronounced based on the fact that the consonant “t” has been replaced by the consonant “n”. 
       FIG. 6  is another example of a display  600  of another name  602  “Belyamani” including its mono-syllabic components  604 - 626 . The user interface  102  via display  600  may display the name  602  “Belyamani” with some or all of its mono-syllabic components  604 - 626 . The name  602  may be a last name in a contact list of a contact application  208 . In one configuration, the user interface  102  receives user selections of one or more of the mono-syllabic components  604 - 626  associated with portions of the name  602  “Belyamani.” The mono-syllabic components  604 - 626  may be arranged based on characteristics of the user and/or characteristics of a group of users. The user interface  102  may include a touch screen capable of receiving user selections of one or more of the mono-syllabic components. The user interface  102  may include other devices capable of receiving user inputs such as, without limitation, a mouse, keypad, click wheel, microphone, and so one. 
     In one implementation, user interface  102  via display  600  may present a portion of the mono-syllabic components while not presenting another portion of mono-syllabic components unless or until the other portion becomes relevant for user selection. For example, display  600  may initially display only components  604  “bell”,  610  “bail”,  616  “bale”, and  622 . Depending on which component a user selects, user interface  102  via display  600  may then display one or more of the other components  606 ,  608 ,  612 ,  614 ,  618 ,  620 ,  624 , and  626 . For example, if the user selects component  604  “bell,” then user interface may only show components  606  “ya”,  606  “mani”, and  630  “money” while not showing component  614  “any” because user interface  102  and/or pronunciation guesser  202  may not consider component  614  to be sufficiently relevant to component  604  “bell” and/or component  606  “ya.” 
     In some configurations, any one or more rows or columns of the components  604 - 626  may be displayed via display  600 . For example, a first column including components  604 ,  610 ,  616 , and  622  may be initially displayed. Once a user selects one of the components of the first column, a second column including components  606 ,  612 ,  618 , and  624  may be displayed. The first column may be removed from display  600 . Once a user selects a component of the second column, a third column including components  608 ,  614 ,  620 , an d 626  may be displayed while the components of second column may be removed from display  600 . Additional columns of mono-syllabic components may be presented in a similar manner and so on. 
     User interface  102  may use a similar approach for the display of rows such as, for example, a row including components  604 ,  606 , and  608 . Other portions and/or groups of mono-syllabic components may be displayed dynamically based on the selection of one or more other mono-syllabic components. In some configurations, user interface  102  via display  600  provides one or more mono-syllabic entry fields  622 ,  624 , and  626  to receive user inputted mono-syllabic components and/or words. In on implementation, the user interface  102  stores the user-inputted mono-syllabic components in a data store such as data store  106  and/or data store  312  for subsequent user by user interface  102  by the user and/or for subsequent use by other users associated with other user devices such as user devices  304  and  306 . 
       FIG. 7  is a display  700  of yet another name  702  “Hafsteinsson” including its monosyllabic components  704 - 720 . The user interface  102  via display  700  may provide features as discussed above with respect to displays  500  and  600 . In some implementations, the user interface  102  via display  700  provides a list including one or more constructed phonetic pronunciations of a name to a user for selection. Instead of, for example, providing a set of user selectable mono-syllabic components  704 ,  706 , and  708 , the user interface  102  provides the construct phonetic pronunciation including the components  704 ,  706 , and  708  as “yaf-stein-son.” 
     Likewise, the user interface  102  via display  700  provides other constructed phonetic pronunciations such as “Half-steen-sown” based on components  710 ,  712 , and  714 , and so on. Element  414  provides an illustration of a display of multiple pronunciations for the name “Hafs.” Thus, user interface  102  via displays  500 ,  600 , or  700  may provide a list of ways in which a name can be pronounced including various combinations of mono-syllabic components. The user interface  102  via display  700  may provide one or more mono-syllabic entry fields  716 ,  718 , and  720  to receive user inputted mono-syllabic components and/or words. 
     Returning to  FIG. 4 , once a name pronunciation selection and/or guess is completed in Step  406 , whether by using constrained recognition to automatically recognize and select the closest available guess or by using user interface  102  to provide a user with a display of selectable mono-syllabic components to construct a phonetic pronunciation or a name, synthesizer  206  receives and synthesizes the selected mono-syllabic components to generate and/or construct a phonetic pronunciation of the name (Step  408 ). The constructed phonetic pronunciation of the name may be in the form of electronic data such as an audio file. In one configuration, the synthesizer  202  provides the phonetic pronunciation to user interface  102  for audio presentation and/or playback to a user via, for example one or more speakers of user interface  102 . 
     A user, in response to hearing the pronounced name may accept or reject the constructed phonetic pronunciation (Step  410 ). For example, the user interface  102  may receive a user input “yes” to accept the presented phonetic pronunciation of a name or receive a user input “no” to reject the presented phonetic pronunciation of a name. The user input may be provided via a user input device such as a touch screen, mouse, keypad, and/or audio input. 
     If the user accepts the phonetic pronunciation, then the user-driven pronunciation system such as system  100  and/or  300  stores the user selected phonetic pronunciation for a name in, for example, data store  106  and/or  312  for subsequent use and/or playback to the user (Step  412 ). If the user rejects the phonetic pronunciation associated with the name, the user-driven pronunciation system  100  and/or  300  returns to Step  406  of process  400  to determine the next available closest guess or to allow the user to select a new arrangement of mono-syllabic components for a name. Thus, in certain implementations, Steps  406  through  410  may be performed iteratively until a user is satisfied with a particular phonetic pronunciation of a name. 
     Generally, the systems and methods herein enable user-driven name pronunciation. Various techniques allow for a user to say a name that can be recognized and synthesized into a more accurate and proper pronunciation of the name by an electronic device. The techniques also enable a device to provide a user with a list of ways that a name can be pronounced so that the user can select a more accurate pronunciation. Furthermore, the systems and methods herein provide a user interface that enables a user to select one or mapped mono-syllabic components associated with a name to construct a more accurate pronunciation of the name by an electronic device. 
       FIG. 8  is a diagram of a system  800  for determining phonetic pronunciations of a name. The system  600  includes a pronunciation guesser  802 , phonetic mapper  804 , and constrained recognizer  806 . The pronunciation guesser  802  also includes multiple pronunciation guessers  808 ,  810 , and  812 . Each of the pronunciation guessers is associated with a particular language and/or locale. For example, guesser  808  may be associated with the French language and utilize a French phonetic alphabet to guess pronunciations. Guesser  810  may be associated with the German language and utilize a German phonetic alphabet to guess pronunciations. Guesser  812 , for example, may be associated, with the English language and utilize an English phonetic alphabet to guess pronunciations. 
     In certain implementations, the pronunciation guesser  802  includes pronunciation guesser  202  of  FIG. 2 . The constrained recognizer  806  may include the recognizer  204  of  FIG. 2 . Also, the phonetic mapper  804  may be included in any one or more of the components  202 - 210  of  FIG. 2 . Furthermore, any one of the functions and/or operations of the components  802 - 812  may be implemented by one or more processors such as, for example, processor  104  of  FIG. 1 . 
     In certain implementations, a user via interface  102  may speak and/or provide an audio representation (e.g., recording) of a name that is pronounced in a certain way. The interface  102  may receive a name and recording of how the user chooses to pronounce the name. The interface  102  may receive a text entry for the name which is passed through the one or more guessers  808 ,  810 , and  812 . The recording of how to pronounce the name may then be recognized from a constrained list of pronunciations guessed from the one or more guessers  808 ,  810 , and  812  and/or locales (after phonetic mapping to a target locale). The system  800  may then recognize the pronunciation that best matches how the user said the name. 
     More particularly, the constrained recognizer  806  may select the best match and/or a match that is substantially close to the spoken and/or provided name. A constrained list of pronunciation guesses may be generated by multiple pronunciation guessers  800 ,  810 , and  812 . While  FIG. 8  shows three guessers, the number of guessers may vary from one to any number of guessers that can be efficiently supported by the system  800 . 
     In certain implementations, a name is passed through multiple guessers  808 ,  810 , and  812  that support the character set of a particular language or locale (for example, an English name may not be represented well in a Japanese locale, but will be represented better in a French locale). The pronunciation guess from each pronunciation guesser  810  and  812  associated with a different language and/or locale is then mapped by mapper  804  to the phonetic alphabet of a target locale such as, for example, the phonetic alphabet associated with pronunciation guesser  808 . This mapping algorithm and/or process is done by mapper  804  unit that maps the sound units and/or phonemes from the phonetic alphabet of each guesser  810  and  812  to the phonetic alphabet of the target guesser  808  and its associated phonetic alphabet. The mapper  804  may map various phonetic components such as, without limitation, sound units, phonemes, mono-syllabic components, syllabic components with types of stresses, portions of words, and the like. Constrained recognizer  806  may then perform a constrained recognition to select the best match from these over-generated pronunciations. 
     In an additional aspect, name pronunciations are used for recognition as well as speech synthesis by, for example, synthesizer  206 . In the case of speech synthesis, the phonetic alphabet to be mapped to may be different from the recognition alphabet. For speech synthesis, the phonetic alphabet is the one supported by the speech synthesizer used to render the spoken pronunciation. In one configuration, the synthesizer  206  and/or any one of the other components of  FIG. 2  guesses the syllable stress when synthesizing a name based on a speech synthesis dictionary. The syllable stress may be derived from a set of rules that are specific to a language and/or locale. For example, the name “Obama” includes sound units “o”, “bam”, and “a.” The first sound unit “o” may be stressed such that the name is pronounced “Ohh-bam-a.” 
     Alternatively, the last unit of the name may be stressed such that the name is pronounced “O-bam-Ahh.” In certain configurations, the system  800  and/or  100  includes various sounds units that are stressed or not stressed. The various sound units may be presented to a user as alternative selectable components like, for example, the components illustrated in  FIGS. 5-7 . In some implementations, the system  800  may present various pronunciations to a user including pronunciations with stressed and unstressed sound unite which a user may select. 
     In an further aspect, a processor such as processor  104  may constrain the number and/or list or guessers  806 ,  810 , and/or  812  to pass a name through by using a language identification process and/or function that prunes and/or reduces the number of guessers  808 ,  810 , and/or  812 . The language identification process and/or function may rank and/or provide a score that estimates the languages and/or locales that best fit a name. The processor  104  can then prune and/or reduce the list of guessers to constrain the number of guessers. This may be advantageous where the system  800  and/or  100  has limited capabilities (e.g., processing power, memory, and other resources) to enable the system  800  and/or  100  to more rapidly and efficiently provide name pronunciations to a user. 
       FIG. 9  is a flow diagram of a process  900  for generating a phonetic pronunciation of a name. A system such as system  800  may include and/or be provided with a plurality of pronunciation guessers  808 ,  810 , and/or  812  where each of the pronunciation guessers  808 ,  810 , and/or  812  are associated with a particular phonetic alphabet of a language or locale (Stop  902 ). A processor such as processor  104  determines a language or locale associated with a user (Step  904 ) and associates a first phonetic alphabet with the language or locale associated with the user (Step  906 ). The determination of language and/or locale may be via manufacturer input, service provider input, user input, detection of the geographic area associated with the location of the system  800  and/or  100 , analysis of she types of names and/or other words input by a user, and the like. 
     Each of the pronunciation guessers  808 ,  810 , and/or  812  receives a representation of the name (Step  908 ). The representation may be orthographic. Each of the plurality of pronunciation guessers  808 ,  810 , and/or  812  guess a phonetic pronunciation of one or more components of the name (Step  910 ). Then, a phonetic mapper  804  maps the phonetic pronunciation of the one or more components of the name guessed by each of the plurality of pronunciation guessers  808 ,  810  and  812  to the first phonetic alphabet to generate to generate a list of guessed pronunciations (Step  912 ). In certain configurations, mapper  804  and/or processor  104  may receive a phonetic pronunciation that is transcribed by a linguist in a lexicon associated with the first phonetic alphabet and/or another phonetic alphabet, which may be included in the list of guessed pronunciations. A recognizer such as recognizer  806  may receive an audio pronunciation of the name (Step  914 ) and then select a combination of components from the list of guessed pronunciations that, when pronounced, substantially and/or best match the audio pronunciation of the name (Step  916 ). 
     Each of the one or more components of the name may include at least one of a sound unit, a phoneme, a mono-syllabic component, a mono-syllabic component with a particular type of stress, and portion of a word. The processor  102  may identify the language or locale associated with the user. The number of pronunciation guessers  808 ,  810 , and/or  812  may be determined based on the language or locale associated with the user. The type of each of the plurality of pronunciation guessers  808 ,  810 , and/or  812  may be determined teased on the language or locale associated with the user. The type of pronunciation guesser may include the type of language or locale associated with the pronunciation guesser. 
       FIG. 10  is a flow diagram of another process  1000  for generating a phonetic pronunciation of a name based on user selection of the name&#39;s monosyllabic components. A system such as system  100  of  FIG. 1  may associate a phonetic pronunciation with a name. The system  100  may include a user interface  102  arranged to receive the name (Step  1002 ). The system may also include a processor  104  arranged to map the name to a plurality of monosyllabic components that are combinable to construct the phonetic pronunciation of the name (Step  1004 ). The user interface  102  may also be arranged to receive a user input to select one or more of the plurality of monosyllabic components (Step  1006 ). Furthermore, the processor  104  may be arranged to combine the selected one or more of the plurality of monosyllabic components to construct the phonetic pronunciation of the name (Step  1008 ). 
     In one configuration, the user interface  102  is arranged to provide the phonetic pronunciation to the user. The user interface  102  may be arranged to receive a second riser input to select or reject the phonetic pronunciation. The user interface  102  may also be arranged to display a first portion of the plurality of monosyllabic components to the user. The user interface  102  may further be arranged to display a second portion of the monosyllabic components in response to a user selection of one of the first portion of the plurality of monosyllabic components. 
     The processor  104  may be arranged to receive the name from a contact list of a contact application  208  and/or other application  210  associated with the user. The name may be in text format. The processor  104  may be arranged to query a data store  106  and  312  that includes one or more of the monosyllabic components associated with the name. The monosyllabic components may include components associated with one or more language and/or locales. The construction of the phonetic pronunciation of the name may include generating an audio file. 
       FIG. 11  is a flow diagram of a process  900  for determining usage information associated with the phonetic pronunciation of a name. A system for determining usage of phonetic pronunciations of a name such as system  300  of  FIG. 5  may include a server  310  arranged to receive the name (Step  1102 ). The system  300  may include a data store  312  arranged to store one or more phonetic pronunciations associated with the name (Step  1104 ). The server  310  may be arranged to receive an indication of the one or more phonetic pronunciations associated with the name from one or more user devices  302 ,  304 , and  306  (Step  1106 ) and determine usage data associated with the one or more phonetic pronunciations associated with the name (Step  1108 ). 
     The indication may include the one or more phonetic pronunciations. The indication may include a selection of the one or more phonetic pronunciations from the one or mare user devices  302 ,  304 , and  306 . The usage data may include an amount of instances that the indication is received during a period of time. The server  310  may be arranged to provide at least one of the phonetic pronunciations associated with the name to a first user device  302  based on the usage data. 
     It will be apparent to those of ordinary skill in the art that the systems and methods involved in the present application may be embodied in a computer program product that includes a computer usable, non-transitory, and/or readable medium. For example, such a computer usable medium may consist of a read only memory device, such as a CD ROM disk or conventional ROM devices, or a random access memory, such as a hard drive device or a computer diskette, or flash memory device having a computer readable program code stored thereon. 
     It is understood that the various features, elements, or processes of the foregoing figures and description are interchangeable or combinable to realize or practice the implementations describe herein. Those skilled in the art will appreciate that aspects of the application can be practiced by other than the described implementations, which are presented for purposes of illustration rather than of limitation, and the aspects are limited only by the claims which follow.

Metadata:
Filing Date: 20180727
Publication Date: 20210720
Grant Date: 20210720
Priority Date: 20120302
Inventors: NAIK, DEVANG K.
Assignee: APPLE INC
CPC Classifications: [{"code": "G10L15/187", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/086", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/086", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "G10L15/187", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "G10L13/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "G10L15/187", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L15/26", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/086", "inventive": true, "first": true, "tree": "[]"}, {"code": "G10L13/08", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L15/187", "inventive": true, "first": false, "tree": "[]"}, {"code": "G10L13/08", "inventive": true, "first": true, "tree": "[]"}, {"code": "G10L13/086", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 47882412