Method and device for determining address from text extracted from voice
The method and device improve address determination from spoken text by using a refined database to process and correct non-address noise, enhancing efficiency and reducing manual intervention in call centers.
Patent Information
- Application Number
- PCT/KR2025/005729
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-27
- Filing Date
- 2025-04-28
- Publication Date
- 2025-12-04
AI Technical Summary
Existing AI systems struggle to accurately determine standard administrative addresses from spoken text due to the presence of non-address noise and variations in user speech, leading to incomplete information and the need for manual intervention to correct errors.
A method and device that utilizes a refined address database to process spoken text by dividing it into target phrases, mapping these phrases to address values using field databases, and searching an address database to determine complete address information, while correcting phonetic characters and handling non-address noise.
This approach significantly reduces the need for manual correction, enhances address extraction efficiency, and lowers operational costs by automating the address determination process in call centers.
Smart Images

Figure KR2025005729_04122025_PF_FP_ABST
Abstract
Description
Method and device for determining an address from text extracted from speech
[0001] The present invention relates to a technology for determining address information of a set standard from text extracted during a conversation with a person's voice, particularly artificial intelligence (AI).
[0002] Numerous services based on advanced technologies are being offered in both commercial and public sectors, and members of society are enjoying the benefits they provide. However, the types of services offered are becoming increasingly diverse and specialized, requiring specialized knowledge to utilize them. This makes it difficult for users to freely utilize these services.
[0003] Accordingly, companies and public institutions providing services employ a large number of counselors at call centers to resolve users' difficulties and resolve users' issues through call centers.
[0004] Meanwhile, as AI technology advances, generative AI is now demonstrating capabilities similar to human creative abilities. Consequently, industries are leveraging generative AI to automate previously unattainable areas. Call centers, which respond to and resolve user inquiries and issues, are one area where generative AI is being applied to automate processes.
[0005] However, while companies and others attempt to implement this automation, or are already achieving some cost savings through automation, they must accept or are accepting the drawback of incomplete information obtained during AI response. This problem is particularly evident in the process of obtaining address information from users who make inquiries or raise issues.
[0006] When people naturally state their address during a conversation, they may habitually add mumbles or repeat words in addition to the relevant information, or even speak by reversing the level of the address. However, AI only understands information in the form of text extracted from the other party's voice (hereinafter referred to as 'voice text'), and is unable to determine the administrative address (hereinafter referred to as 'fair address') that is standard in the social system from the text containing the address information.
[0007] The following text-based information is an example of spoken text that a user provides regarding an address during an inquiry or consultation with AI.
[0008] “It has to be done like this, Gunsan-si, Jeollabuk-do, Susong-ro 13...”
[0009] “Yes, Seosan-si, South Chungcheong Province. Wait a minute. Miss. Seosan-si, South Chungcheong Province, Buchun-il-ro...”
[0010] Spoken texts containing repeated phrases such as “You have to do it like this”, “Yes”, “Just a moment”, “Miss” (hereinafter, phrases in texts that do not correspond to the address elements that make up a fair address (‘do / si’, ‘si / gun / ’gu’, ‘eup / myeon / dong’, ‘ri’, ‘street address’, building name, building number, same floor unit, etc.) are collectively referred to as “non-address noise”) obtained as examples are not mapped to fair addresses in the process of automatically converting address information written in various conventional expressions into standard fair addresses, but remain as error addresses. In order to register these error addresses in the users’ address database, people must separately check the spoken text and determine the exact address included in the text. Therefore, manpower to determine the address from the text is still needed, making it difficult to achieve complete automation of call center operations.
[0011] Therefore, it is necessary to reduce the number of erroneous addresses that are not identified as fair addresses by improving the method of determining fair addresses from address-related text extracted from the voice of a person conversing with AI.
[0012] The present invention aims to provide a method and device for determining a process address from text extracted from speech using a refined address database.
[0013] Another object of the present invention is to provide a method and device for determining a corresponding process address while receiving address-related text extracted from voice in real time.
[0014] Another object of the present invention is to provide an address determination method and device that improves the efficiency of identifying a process address from text containing various and unpredictable non-address noises extracted from speech.
[0015] Another object of the present invention is to provide an address determination method and device capable of correcting incorrect information for some address elements in address-related text extracted from voice.
[0016] Another object of the present invention is to provide an address determination method and device that accurately converts phonetic characters for numbers or alphabets corresponding to address elements of a process address into corresponding symbols for text extracted from voice.
[0017] The purpose of the present invention is not limited to the purpose explicitly described above, and naturally includes achieving effects that can be derived from the following specific and exemplary description of the present invention.
[0018] According to one aspect of the present invention, a method for determining address information by receiving text information includes: a first step of dividing the text into one or more target phrases based on a specific delimiter; a second step of selectively mapping each of the one or more separated target phrases to an address value of a corresponding address item in a preset address item set based on a result of searching a plurality of field databases each configured as a set of address values corresponding to each of a plurality of address elements; and a third step of searching an address database for one or more address values currently mapped to the address item set when any target phrase is mapped to an address value in the second step, and determining that the one or more address values correspond to one complete address information based on the search result.
[0019] In one embodiment according to the present invention, if the step 3 is determined to not correspond to one complete address information, the process proceeds to the step 1, or in the step 2, the process is performed again when the target phrase following the arbitrary target phrase is mapped to the address value.
[0020] In one embodiment of the present invention, the second step selectively maps, when one target phrase from the one or more target phrases partially matches a first entry registered in one of the plurality of field databases, the one target phrase to address values of the corresponding plurality of address items. In particular, when the remaining phrase from the one target phrase, excluding the part that partially matches the first entry, at least partially matches a second entry registered in another of the plurality of field databases, the one target phrase is mapped to address values of the corresponding plurality of address items. Specifically, in the address database, among the address entries having a field value corresponding to a higher-level entry in the address system for the first address field in both the first entry and the second entry, when the address entries having a field value corresponding to a lower-level entry in the address system for the second address field in both entries have the same field value for the address field between the first and second address fields, the one target phrase can be mapped to the address values of the corresponding plurality of address items. In addition, when a part of the remaining phrase matches the second entry or the second entry that replaces the corresponding phonetic character for a number or an alphabet, the part of the remaining phrase excluding the part can be used for mapping to the address values of the corresponding plurality of address items.
[0021] In one embodiment according to the present invention, when one target phrase from the one or more target phrases partially matches an entry registered in one of the plurality of field databases, if at least one syllable that does not match in the entry is designated as essential for the entry, the one target phrase is discarded without being mapped to an address value.
[0022] In one embodiment according to the present invention, in the above two steps, when one target phrase from the one or more target phrases matches a non-address phrase listed in a preset list, it is discarded without being used for mapping to an address value.
[0023] In one embodiment according to the present invention, the second step selectively changes a phonetic character for a number included in one target phrase from the one or more target phrases into a number based on attribute information assigned to a syllable of a specific entry of a specific field database that is being compared with the one target phrase, and maps it to an address value of an address item corresponding to the one target phrase.
[0024] In one embodiment according to the present invention, the second step selectively changes a phonetic character for a number included in one target phrase among the one or more target phrases into a number based on attribute information specified in the last syllable of a specific entry in a specific field database matched with the target phrase immediately before the one target phrase, and maps it to an address value of an address item corresponding to the one target phrase.
[0025] In one embodiment according to the present invention, the step 3 determines that the one or more address values currently mapped to the address item set correspond to address information by the one address entry when only one address entry among the address entries registered in the address database contains all of them.
[0026] In one embodiment according to the present invention, the third step automatically maps the identical field values for the one or more address fields in the address database, wherein the first and second field values for the first and second address fields of different address levels between which the first and second address values included in the one or more address values currently mapped to the address item set are identical, and all address entries having the first and second field values for the first and second address fields have identical field values between fields for the one or more address fields, to the address values of the corresponding address items in the address item set. In addition, if a specific field value for any address field that does not correspond to the highest address level, which matches the address value of the highest address level among the one or more address values currently mapped to the address item set, exists in the address database, and if all address entries having the specific field value for any address field have the same field value among fields for at least one address field of an address level higher than the any address field, the same field value for the at least one address field is automatically mapped to the address value of the corresponding address item in the address item set.
[0027] In one embodiment of the present invention, in the third step, when searching for the one or more address values in the address database, if the first address value to be searched is for a specific address item, and the first address value is not found in a specific address field corresponding to the specific address item, the first address value is additionally searched for within a specific range determined based on a higher address field having a higher address level than the specific address field. The specific address item includes an item of an address element corresponding to a 'building name' in the address system. In this additional search, if the first address value is found, the value may be changed for at least one of the address values having a higher address level than the first address value among the one or more address values.
[0028] In one embodiment according to the present invention, when the third step searches a specific range of address fields of the address database for the first address value included in the one or more address values, when the field value recorded for the specific range of address fields includes a number or an alphabet, the first address value is compared with a field value in which the number or alphabet is replaced with a phonetic character corresponding to the number or alphabet to confirm whether or not it matches.
[0029] The specific range in the preceding embodiments may be an area of the address database belonging to a sub-item of an address entry, in which a field value matching an address value of an address level higher than the first address value among the one or more address values is recorded for the address field.
[0030] In one embodiment of the present invention, when the arbitrary target phrase is mapped to an address value, if an address value corresponding to a designated address element among address elements defined in the address system is not included in one or more of the address values, the operation of searching the address database for the one or more address values is not performed. At this time, the designated address element may include at least one of the address elements corresponding to a 'road name', a 'building name', and a 'street number' in the address system.
[0031] In one embodiment according to the present invention, the text is received through communication from a device other than the device performing the method, and in this case, the method further comprises a step of transmitting the one or more address values determined to correspond to complete address information to the other device.
[0032] According to another aspect of the present invention, a device for receiving text information and determining address information comprises a first processing unit configured to divide the text into one or more target phrases based on a specific delimiter, a second processing unit configured to selectively map each of the one or more divided target phrases to an address value of a corresponding address item in a preset address item set based on a result of searching a plurality of field databases each configured as a set of address values corresponding to each of a plurality of address elements, and a main processing unit configured to, when any target phrase is mapped to an address value by the second processing unit, search an address database for one or more address values currently mapped to the address item set, and, based on the search result, determine that the one or more address values correspond to one complete address information.
[0033] In the above method and device, and in various embodiments, each of the plurality of field databases may be configured with all address information across the country, assigned to the corresponding address element, arranged alphabetically without duplication. Furthermore, the text may be extracted from audio of a conversation conducted via communication.
[0034] The method for determining an address from text extracted from speech according to the present invention as described above or at least one embodiment of the present invention as described in detail below with the attached drawings accurately extracts a standardized process address from address-related text containing address information obtained during a process of AI consulting with a user and containing various types of non-address noise that may occur during a conversation, and significantly increases the efficiency of extracting the process address compared to a general address conversion method applied to standardize various commonly used formats of addresses that do not contain non-address noise into process addresses.
[0035] In addition, through the refined address database, address-related texts containing address information incorrectly provided by users can be corrected to accurate address information using information from address items with fewer errors in memory, and a complete fair address can also be extracted from address-related texts containing only information about a portion of the fair address.
[0036] Therefore, applying the present invention can significantly reduce the manpower required to identify the corresponding process address from texts extracted from voice or texts that have mapping errors due to existing standard address conversion methods. This can significantly reduce the cost of operating and maintaining a call center for companies.
[0037] FIG. 1 is a block diagram illustrating the configuration of a device that performs a method for determining an address from spoken text according to one embodiment of the present invention.
[0038] Figure 2 illustrates how spoken text can be input into the device of Figure 1,
[0039] FIG. 3 shows an example in which, according to one embodiment of the present invention, some phrases that do not correspond to an address are removed and output based on a preset filtering list for phrases in spoken text.
[0040] FIG. 4 is a diagram illustrating a process of selecting each phrase of a spoken text as a corresponding address element through a query of a field database constructed for each address element according to one embodiment of the present invention.
[0041] FIG. 5 is a flowchart exemplarily showing a method for selecting an input phrase into a corresponding address element according to one embodiment of the present invention.
[0042] FIG. 6 illustrates the structure of a matching table in which all address elements constituting a process address are each composed of an entry for recording a phrase determined as an address element according to one embodiment of the present invention.
[0043] FIG. 7 illustrates that attribute information is preset for each syllable element of each entry in a field database constructed for each address element according to one embodiment of the present invention.
[0044] FIG. 8 is a diagram specifically illustrating an example of a method for processing an input phrase that may correspond to multiple address elements according to one embodiment of the present invention.
[0045] FIG. 9 is a diagrammatic illustration of an example of a method for determining an address element corresponding to an input phrase that partially matches an entry in a field database constructed for each address element according to one embodiment of the present invention.
[0046] Figure 10 is a schematic illustration of a method for searching a refined address database for input phrases and additional address information that are not confirmed as address elements because they partially match the registered items of the field database in the method illustrated in Figure 9, along with a schematic structure of the refined address database.
[0047] FIG. 11 is an example schematically showing a method of correcting phonetic characters for alphabets, etc., to alphabets, etc. used in address elements, according to one embodiment of the present invention.
[0048] FIG. 12 is a diagrammatic representation of a process for checking whether address information recorded in a matching table forms a complete process address through a search of a refined address database according to one embodiment of the present invention.
[0049] FIG. 13 is a diagrammatic illustration of an example in which, according to one embodiment of the present invention, when the value of any address entry of a matching table corresponds to one address field in a refined address database, the values of the address entries of the upper address level are automatically determined based on the corresponding branch in the database.
[0050] FIG. 14 is a diagram exemplarily showing a method of searching for a value of an address item in a corresponding address field by targeting a range outside a sub-address range determined by a branch on a refined address database, according to one embodiment of the present invention, for a specific address item.
[0051] Hereinafter, various embodiments according to the present invention will be described in detail with reference to the attached drawings.
[0052] In the following description of embodiments of the present invention and the accompanying drawings, identical reference numerals designate identical components unless otherwise specified. Of course, for convenience of explanation and aid in understanding, identical components may be designated with different reference numerals, if necessary.
[0053] FIG. 1 is a block diagram illustrating the configuration of a speech text address processing device (100) that performs a method of determining an address from speech text according to an embodiment of the present invention, and is configured to include a preprocessing unit (11) that removes preset non-address noises from input speech text (1), an element processing unit (12) that selects phrases corresponding to address elements from the preprocessed text and maps them to address values of the elements (the address value refers to a portion of information of the address corresponding to the address element, and is hereinafter also abbreviated as 'value'), and a main processing unit (10) that, with respect to address items to which information of address elements is mapped by the element processing unit (12), checks whether the address is complete by referring to a refined address database (13, hereinafter referred to as 'refined address database') and determines and outputs the corresponding process address (2).
[0054] Each component of the voice text address processing device (100) illustrated in FIG. 1 or a partial combination thereof may be configured as hardware executing software or firmware, or as an application program executed on a computing device and one or more databases referenced by the program. In this case, the application programs and database may be stored on a recording medium and transmitted between devices, or may be transmitted between devices by communication via a communication network. In addition, the device illustrated in FIG. 1 may be configured as a single integrated server, or may be configured in a distributed manner on multiple servers communicating with each other via an internal communication network.
[0055] In addition, the voice text address processing device (100) may further include a communication unit that exchanges information with another server via a given communication method. In an embodiment of the device configured in this way, input voice text may be provided from another server and applied to the preprocessing unit (11) via the communication unit, and when the main processing unit (10) determines a process address, it may directly transmit the process address to the server that transmitted the voice text or another designated server via the communication unit.
[0056] The voice text (1) input to the device of Fig. 1 may include phrases corresponding to all address elements constituting a process address, or may include phrases corresponding to only some of the address elements. In the latter case, one or more voice texts containing phrases corresponding to other address elements may be inputted subsequently. Fig. 2 illustrates an example of a method of inputting such voice text applied to the device of Fig. 1, in which (a) is an example of a method in which phrases for address elements capable of determining a process address are all input at once, and (b) is an example of a method in which phrases for address elements are input as multiple voice texts (1). i , i=1,2,3,..) is distributed and input sequentially.
[0057] Additionally, the spoken text may be, as exemplified, all or part of a conversation between a person and the AI (all content from the beginning to the end of the consultation or inquiry), or alternatively, all or part of a text limited to a one-sided, non-conversational form, i.e., the spoken text of a person speaking to the AI.
[0058] Regardless of whether the voice text is input in any of the methods (a) or (b) of Fig. 2, the voice text address processing device (100) divides the input text into phrases based on spaces and sequentially processes each of the divided phrases (hereinafter referred to as 'target phrases') in the order in the voice text, so there is no difference in the address determination method of the present invention according to the input format of the voice text. Therefore, in the following description, the voice text is the text (1) illustrated in Fig. 2 (a) and the text (1) illustrated in Fig. 2 (b). i ) is used in a comprehensive sense.
[0059] In this specification, the term 'phrase' does not only include 'phrase' in the dictionary sense, but is used to encompass not only phrases, but also single syllables, words, or unspaced phrases, and compound words made up of two or more words joined together.
[0060] The technical concept and principles of the present invention do not necessarily require that each phrase obtained from a spoken text be processed in the order in which it appears in the text. Processing each phrase obtained from a spoken text in that order is merely one embodiment. Even if the target phrases are processed regardless of the order, if the minimum number of target phrases that can be determined as a single process address is input, the corresponding process address can be determined regardless of the input order. Therefore, unless explicitly excluded from the claims of the present invention, it should be understood that the scope of the present invention is not excluded simply because the phrases constituting the spoken text are processed in a non-sequential order.
[0061] Below, a method for determining an address from a voice text according to one embodiment of the present invention, performed by the voice text address processing device (100), is specifically described.
[0062] The above preprocessing unit (11) primarily removes non-address noise from the input speech text (1). To this end, the preprocessing unit (11) is equipped with a filtering list that pre-registers common slang, idioms, or common phrases that people use when stating their address, regardless of address information. For example, words or phrases such as “그,” “네,” “예,” “아,” “음,” “뭐시,” and “이구요” are listed in this filtering list.
[0063] Figure 3 is a voice text (1 or 1) exemplified in Figure 2 i , i=1,2,3..), the preprocessing unit (11) selectively outputs phrases based on the set filtering list, thereby showing an example in which target phrases (31) from which non-address noise has been primarily removed are output. Since it is impossible to predict and list in the filtering list all the numerous words that may appear or be expressed in the speech or conversation habits of a person making inquiries or consultations at a call center, etc., or in the corresponding situation, as exemplified, the target phrases (31) output by the preprocessing unit (11) may include target phrases (32) corresponding to non-address noise that are not listed in the filtering list of the preprocessing unit (11).
[0064] The target phrases (31) output after filtering in the above preprocessing unit (11) are input to the element processing unit (12), and the element processing unit (12) checks whether each target phrase corresponds to an address element by querying a database built for each address element that is pre-stored in the element processing unit (12), more specifically, a database built by sequentially listing a set of address values corresponding to each of a plurality of address elements (hereinafter referred to as a 'field DB'). As illustrated in Fig. 4, the field DBs are classified by each address element, and address information (hereinafter referred to as 'element entries') corresponding to the address elements are registered in alphabetical order (40). i , i=1,2,3,..) are composed. For address information that is duplicated nationwide for the corresponding address element, only one element entry is naturally registered. In the drawing, each element entry is illustrated as a tree structure branching from a syllable, but depending on the search method used for the field DB, each element entry may be registered in a form that includes all syllables and constructed as a field DB.
[0065] In addition, other field DBs, excluding the 'city / province' field DB (401) which corresponds to the highest level in the address system, are configured by listing all element entries regardless of their subordination in the address system. For example, the 'city / county / district' field DB (402) and the 'road name' field DB (403) each list the element entries of 'city / county / district' belonging to all cities / provinces across the country and the element entries of all 'road names' across the country.
[0066] The above element processing unit (12) processes the field DBs (40) in a set order for the input target phrase (411). i ) by searching (p41) i, i=1,2,3,..), and checks whether there is a phrase that completely matches it. In each search process, since the entries in the field DB are divided into syllable units, the target phrase is compared syllable by syllable from the beginning and if it matches up to the last syllable of the element entry, the matched part of the target phrase is determined as the value of the address element of the corresponding field DB, and if it matches partially, the partial match information is temporarily recorded. The partial match information includes the index for the corresponding field DB and the corresponding element entry, the number of matched syllables (or the number of non-matched syllables), etc.
[0067] In the process of comparing by syllable, if the syllable of the element entry is a number, for example, '1' in "Dangsan-ro 1-gil", the element processing unit (12) also compares and checks whether the syllable corresponding to the position in the target phrase is the phonetic character of the number '일'. Including the comparison for the phonetic character of the number in the search process is also applied to the search of the refined address database (13) of the main processing unit (10). As for the element entry, as illustrated in Fig. 7, each syllable includes pre-written attribute information (70 k ) is included, and the link item format attribute (72) of this attribute information indicates what type of character information follows the next syllable. Therefore, by referring to this attribute, it is determined whether to compare the phonetic alphabet for the number with the syllable of the target phrase.
[0068] If the link type attribute for the last syllable of an element entry is set to 'number' (72 i , i=1,2,3,..), when searching the field DB of the address element immediately following the field DB in the address system, if the beginning of the target phrase does not match the element entries of the field DB, the phonetic alphabet for the number is compared with the syllables of the target phrase to find a matching element entry.
[0069] Fig. 5 is a flowchart exemplarily illustrating the process by which the element processing unit (12) processes an input target phrase to map it to a value for an address field. Referring to the flowchart of Fig. 5, the operation of mapping the outlined target phrase to a value for an address field will be described in detail.
[0070] When a target phrase is entered (S501), the element processing unit (12) sequentially selects each field DB in a predetermined order (S502), and searches the currently selected field DB for an element entry that matches a portion starting from the beginning of the target phrase or the entire target phrase (S503). If there is a completely matching registration item (411a), the registration item (411a) is recorded in a matching table as a value corresponding to an address item (402) associated with the corresponding field DB, thereby mapping the matching element entry to the address item (S504).
[0071] Fig. 6 illustrates a matching table (60) having a structure according to one embodiment of the present invention, which records element entries of a matching field DB. As illustrated, the matching table (60) is composed of address item fields (61) corresponding to a set of address items, which are basic units constituting a process address, and fields (62) in which address values for the fields, i.e., partial information about the address for the corresponding items, are recorded, and some of the fields (611, 612) may be composed of a plurality of sub-fields, as illustrated.
[0072] The above matching table (60) is also shared with the main processing unit (10), and the element processing unit (12) records the element entry that is confirmed to match through a search of the field DB in the corresponding address field of the matching table (60) (p61), and then notifies the main processing unit (10) of that fact. The actions performed by the main processing unit (10) upon being notified that the value of a new address field has been recorded in the matching table (60) will be described later.
[0073] During the search process of each field DB for the target phrase, if there is an element entry that does not match up to the end of the syllable of the element entry but partially matches (S511), the partial match information for the element entry is recorded as described above (S512), and if the next field DB remains (S513), the search operation for that field DB is continued, and if it is the last field DB, it is checked whether there is partial match information recorded for the current target phrase (S521). If there is no partial match information recorded, the element processing unit (12) regards the current target phrase (411b) as non-address noise and discards it (p43). Accordingly, secondary selection of phrases in the spoken text is performed.
[0074] If there is recorded partial matching information, the element processing unit (12) refers to the partial matching information to determine whether the partially matched phrase actually corresponds to the element entry, i.e., the value of the address field (S522). To this end, first, the attributes of the remaining non-matched syllable elements of the partially matched element entry are checked. Fig. 7 shows attribute information (70) for each syllable of each element entry of the field DB. k ) is preset, this property information (70 k ) is configured to include a field (71) indicating whether the syllable is required to match, and a linking item format field (72) indicating whether the syllable or address element following the syllable is a number or a word. The linking item format field may be set for the element entry, not for each syllable unit.
[0075] The above element processing unit (12) determines that the matched part of the target phrase corresponds to the element entry if all syllables remaining without being compared in the element entry have a non-essential attribute value ('Required'='No'). If it is determined that the part corresponds to the element entry (S523), as described above, the element entry is recorded in the matching table (60) as the value of the corresponding address item (S504). If all syllables remaining without being compared in the partially matched element entry have a mandatory attribute value ('Required'='Yes'), the current target phrase is considered non-address noise and discarded (S524).
[0076] After recording the matched element entry as the value of the corresponding address entry of the matching table (60), the element processing unit (12) checks whether any phrases other than the part used for mapping to the element entry remain in the target phrase (S505), and if there are no remaining phrases, the processing for the current target phrase is completed and the process described above is repeated for the next input target phrase.
[0077] If there is a remaining phrase, the element processing unit (12) performs the aforementioned process of sequentially searching the field DBs with the remaining phrase as the target phrase. Fig. 8 specifically illustrates an example of a case in which this process is performed. In the illustrated example, the target phrase is “Seongnam Bundang” (81), and the part of “Seongnam” therein is determined to correspond to the element entry “Seongnam-si” (80) of the field DB of “city / county / district” (because the last syllable element “si” has a non-mandatory attribute value (801)), and in the state recorded in the corresponding address entry of the matching table (60) (p81), it shows that the remaining phrase that is not used for partial matching in the target phrase (81) is “Bundang”.
[0078] In this state, the element processing unit (12) searches each field DB (p82) using the remaining phrase (811) of the target phrase (81) “per minute” as the target phrase, and performs the aforementioned process of finding the corresponding element entry.
[0079] In the above-described embodiment, if there are multiple element entries that can be mapped to the value of the corresponding address item by partially matching, the element processing unit (12) records the target phrase or the partially matched phrase portion as a temporary value for the unconfirmed address item, and selectively maps the temporary value to the address item based on the value of the address item currently recorded in the matching table (60), or the value of the address item determined or determined by another target phrase or remaining phrase. Fig. 9 schematically shows an example of this mapping method, and this method will be described in detail with reference to Fig. 9.
[0080] If an element entry that is not completely matched with the current target phrase or part thereof (901) exists in multiple field DBs (901, 902), the address items associated with the field DBs and each information (911, 912) for the element entry that is not completely matched (hereinafter referred to as 'entry candidate information') are configured as an unconfirmed element list (91).
[0081] Then, it is checked whether there is an address entry with a current address value recorded in the above matching table (60). If there is no address entry with an address value recorded, processing of the entry candidate information is postponed until a complete or incomplete matching element entry is found from the next input target phrase, according to the method illustrated in the flowchart in Fig. 5.
[0082] When there is an address entry with a value recorded in the current matching table (60), or a new perfectly matched or incompletely matched element entry is determined, the element processing unit (12) searches the refined address database for information on multiple address entries that combine the address entry corresponding thereto and the determined value (92) (or the address entry due to incomplete matching with the element entry may be entry candidate information that is not mapped, and the value of the address entry and the entry candidate information are collectively referred to as 'additional field information') and each entry candidate information (911, 912) of the unconfirmed element list (91) (hereinafter referred to as 'address field combination') to check whether there is an address entry that matches each address field combination (S921).
[0083] The search at this time is performed according to the fair address system. That is, the search starts from the address field combination at a higher level in the address system and then searches for candidate entry information corresponding to that lower level.
[0084] Figure 10 schematically illustrates this process along with a schematic structure of a refined address database (1000).
[0085] For example, as illustrated in FIG. 10, when the entry candidate information of the unconfirmed element list (91) is “Namyang” of the “town / township / district” and “road name” field DBs, respectively, and the additional field information is “Hwaseong” of the “road name,” in the comparison of address levels between fields (S1001), the entry candidate information of “town / township / district” is confirmed to have a higher address level than the additional field information of “road name,” and therefore, starting from the “town / township / district” address field (1011) of the refined address database (1000) corresponding to the entry candidate information (in this specification, the items of the field values recorded for each address field of the address entries registered in the refined address database are specifically referred to as “nodes”), each branch (1002-2) below it (a block of address information corresponding to branches following below based on a sub-item of an address entry, i.e., a specific node, in which a specific value is recorded for the address field, is referred to as an “affiliated area” hereinafter). ) to find out whether there is a node matching the additional field information (S1002).
[0086] The entry candidate information for another 'road name' is information that conflicts with the additional field information, so the search for it is omitted.
[0087] Accordingly, in a search for branches (1002-2) of a affiliation area starting from the above 'Eup, Myeon, Dong' node (1011) (this refers to a sub-item of an address entry, i.e. a node, in which an arbitrary field value related to the 'Eup, Myeon, Dong' address field is recorded. It is expressed in the same manner hereinafter), if only one node matching the additional field information, i.e. one branch, is confirmed (S922), the field value of the corresponding node (1011), i.e. "Namyang-eup" of 'Eup, Myeon, Dong', is mapped to the list of unconfirmed elements (91) (S923).
[0088] If the additional field information is “Cheongdo” of “city / county / district” (1003-1), since the address level of the additional field information is higher, the node (1012) of the refined address database (1000) corresponding to the additional field information is used as a starting point, and a node containing “Namyang” of “town / township / dong” of the first entry candidate information and “Namyang” of “road name” is searched for in the branches (1003-2) of the affiliated district. In this search process, if only one node (1013) is confirmed (S922), the element processing unit (12) maps the field value of the corresponding address node, i.e., “Namyang-gil” of “road name”, to the unconfirmed element list (91) (S923).
[0089] In the area to which the upper node (1012) belongs, the fact that only one lower node (1013) is confirmed means that in the address entries containing the upper node (1012), the nodes having the field value of the lower node (1013) all have the same field value for the address field between the upper and lower nodes (1012, 1013).
[0090] In the process of determining an address item for the unconfirmed element list (91), if the additional field information is also an entry candidate information that has not been confirmed as an address item, this entry candidate information is also mapped to the value of the address item (S923).
[0091] If, in a search for the above-mentioned refined address database (1000), it is confirmed that there are multiple branches, the element processing unit (12) determines the corresponding address element for the unconfirmed element list (91) through a process of checking whether there is a single branch that each leads to as a node using additional field information.
[0092] For example, assuming that “Namyang-ro” is included as a “road name” node under “Namyang-eup” (1011) and that the additional field information is “Hwaseong-si” of “city / county / district,” in a search of the refined address database (1000) at this time, a branch connecting “Hwaseong-si” of the “city / county / district” node and “Namyang-eup” of the “town / township / dong” node and a branch connecting “Hwaseong-si” of the “city / county / district” node and “Namyang-ro” of the “road name” node are each confirmed. Therefore, in this case, rather than determining the address element for the list of unconfirmed elements, another additional field information is used.
[0093] When the list of unconfirmed elements is determined to be one address element, the element processing unit (12) records the value in the corresponding address entry of the matching table (60) as described above and notifies the main processing unit (10) that a new address entry has been recorded.
[0094] In one embodiment of the present invention, by referring to the information registered in the address entry of the refined address database (1000), the phonetic characters for a specific target phrase, for example, alphabets, etc., may be corrected and registered in the matching table (60) as information of the corresponding address entry. Fig. 11 illustrates address entries for different cases for a portion of the refined address database (1000) to schematically illustrate a method according to the present embodiment.
[0095] For convenience of explanation, in the related drawings, all address entries of the refined address database (1000) are depicted in a format in which address fields with the same value share one node and branches off when the field value changes. However, the address entries of the refined address database (1000) do not necessarily have to be structured in this manner, and the refined address database (1000) may be structured and used in a manner in which the values of all address elements corresponding to each address entry are recorded (1120), as partially exemplified in the drawings. In such a case, as mentioned above with respect to the field database, a search method suitable for the structure may be applied, or a separate search database composed of nodes and branches may be created and used from the refined address database so that the search method described below can be applied.
[0096] When applying the following description to an embodiment where a refined address database is constructed with address entries in which the values of all corresponding address elements are recorded, a node at any address level should be understood as representing the same field values as one when the node at the immediately upper address level is considered as the scope.
[0097] As in the example in Figure 11, the currently entered target phrase is “Gana Apartment A-dong” (1 P), the “Gana Apartment” part at the beginning is determined as the value of the ‘building name’ address item in the search for the ‘building name’ field DB, and is registered in the corresponding address item of the matching table (60), and the remaining phrase “A-dong” thereafter is compared with the ‘dong’ node under the determined ‘building name’ node (1101). At this time, if the field values of the ‘dong’ node contain alphabets (1111), the element processing unit (12) compares the phonetic alphabet for each ‘dong’ node, for example, “A”, “B”, etc., with the ‘dong’ name (“A-dong”, “B-dong”, etc.) at the beginning. Accordingly, the remaining phrase of “A-dong” is mapped to “A-dong” of the ‘dong’ node on the corresponding address branch. Accordingly, the element processing unit (12) corrects the remaining phrase “A-dong” to “A-dong” and registers it as the value (601) of the ‘dong’ address entry of the matching table (60).
[0098] If the field values of the corresponding 'dong' node contain numbers (1112), the element processing unit (12) compares the phonetic letters of each number with the 'dong' names (“Il-dong”, “I-dong”, etc.) at the beginning. Accordingly, in the remaining phrase “A-dong”, it is confirmed that “I-dong” matches the dong name with the phonetic letters of the number 2 transposed, so “A-dong” is corrected to “2-dong” and registered in the corresponding address entry of the matching table (60) (602), and the preceding “e” that does not match in the remaining phrase is ignored (1113). As in this example, the fact that only the matching part is confirmed as the address element even though it is a partially matching phrase utilizes the fact that the address information after the building name is very limited to single syllables such as “Ganada”, numbers, or alphabets that can refer to the dong of the building.
[0099] In this way, when people say an address, even if the single vowels uttered between address information, such as “e,” “eum,” “heum,” and “eo,” are not separated into a single target phrase but are included in the address information of the target phrase, the efficiency of extracting the fair address is greatly improved even for target phrases that include non-address noise caused by various types of unexpected vowels, because they are removed through comparison with a database containing refined fair address entries.
[0100] The operation of changing the phonetic characters for alphabets, etc. included in the target phrase into corresponding alphabets may be performed by the main processing unit (10) instead of the element processing unit (12). In this case, the target phrase including the phonetic characters for alphabets, etc. will be processed by the main processing unit (10) after being registered in the corresponding address entry of the matching table (60).
[0101] Meanwhile, when the element processing unit (12) notifies that a new address entry has been recorded in the matching table (60), the main processing unit (10) verifies whether the values recorded in at least some of the address entries of the matching table (60) complete one process address. This address completeness is verified by comparing the currently recorded values for the address entries of the matching table (60) with the nodes of the refined address database (1000). In the comparison process with the nodes of the refined address database (1000), starting from the highest address level, and following the branches by each matching node, as illustrated in FIG. 12, a node at the end of a branch constituting the refined address database (hereinafter referred to as a 'terminal node') is reached (1220), and when one address entry is confirmed, the address information currently recorded in the matching table (60) is determined as one complete process address.
[0102] Confirming an address entry means that an address entry that contains all the current address information recorded in the matching table (60) as field values corresponding to each address field exists as a single address entry in the refined address database.
[0103] In one embodiment according to the present invention, even if it is notified that a new address entry has been recorded, a process of checking whether the address information recorded in the current matching table (60) completes a single process address can be optionally performed. For example, the main processing unit (10) performs an operation of checking whether the process address is complete by comparing it with nodes on the refined address database only when a value is recorded for at least one of the address entries of 'road name', 'building name', and 'street number', and if a value is not recorded for any of these entries, whether the process address is complete can be not checked.
[0104] In order to confirm whether the fair address is complete, in the process of checking the branch along the node that matches the value of the address item, when there is no value of the address item recorded in the matching table (60) corresponding to the node of the current address level, if there is no branch branching to the node that is currently confirmed to match, a comparison is made for the next node. For example, when the branch according to the node match from the highest level for the current address information of the matching table (60) continues to the 'building number' node (1201) (1211), even if there is no value of the address item of the matching table (60) corresponding to the 'building name' node (1202), since the branch is not branched at the 'building number' node, the main processing unit (10) skips the lower node (1202) (1212) and compares the field values (1221) of the next node (1220) with the value of the address item of the matching table (60) corresponding to that node (1220).
[0105] Of course, if there is a node from which a branch is forked in the middle, the main processing unit (10) checks whether there is a value for the corresponding address item in one or more of the forked branches, that is, starting from the next node belonging to the affiliation area starting from the node of the currently matched last address level. In the process of checking this affiliation area, if a node of the same address level with a matching address item value is confirmed in only one branch, the node search continues from the next node, and if matching nodes are confirmed in multiple branches, it is determined that the current address information of the matching table (60) does not complete the process address.
[0106] Meanwhile, in the process of comparing along the branches of the matching nodes as described above, when a node from which a branch is not branched is skipped as described above, the field value of the skipped node, in the example of Fig. 12, “Gana Apartment”, which is the field value (1202) of the ‘building name’ node, is recorded in the ‘building name’ address field of the matching table (60).
[0107] In addition, even if the skipped node is in one of the branched branches, if there is only one node in one or more of the other branched branches that matches the value of the address entry of the lower address level, the field values of one or more of the skipped nodes on the branch leading to that one node are recorded in the corresponding address entry of the matching table (60). In other words, the values for other address entries for which address information is not recorded in the matching table (60) are automatically determined.
[0108] In one or more other branches that are branched off, if there is only one node that matches the value of the address entry of the lower address level, it means that the address entries within the affiliation area starting from the node of the upper address level among the two nodes that have field values of both matching nodes for the corresponding address field have the same field values between the address fields.
[0109] The automatic determination of empty address entries in the unentered matching table (60) applies not only to skips between nodes, but also to the upper nodes of a node when at least one node is specified in the refined address database (1000). Fig. 13 schematically illustrates an example of this.
[0110] In the address items whose current values are recorded in the matching table (60), when the highest address level is the 'road name' address item and its value is "Gahwa-ro" and a corresponding node (13011) is confirmed, if the same name (13012) is confirmed in the road name nodes of other branches branching from the upper nodes of that node, the values of other address items up to the highest address level are not automatically determined, and when the value of the road name address item is "Kkotnaeum 1-gil" and is unique among the branches branching from the upper nodes starting from the corresponding node (1302), the field values of each node (1311, 1312, 1313) in the branch (1310) up to the highest address level are recorded in the matching table (60) as the values of the corresponding address items, thereby automatically determining the values of other address items with empty values.
[0111] If the value of the address entry of the current highest address level of the matching table (60) does not correspond to a node on at least one specific branch in the refined address database (1000), the main processing unit (10) checks whether there is a matching node among all nodes on the database corresponding to the address entry, and if there is only one node, the values for the address entries above it are automatically determined as described above. For example, when searching the refined address database (1000) for the value of the address entry recorded for the first time in a state where there is no information recorded in the matching table (60), if the address entry is not at the highest address level, a search is performed on all nodes to which the address level corresponds.
[0112] In one embodiment of the present invention, in the case of a specific address item, for example, a 'building name' address item, if the address information currently recorded in the matching table (60) does not correspond to one or more specific branches, a search may be performed to see if there is a node having the same field value recorded among all 'building name' nodes of the refined address database (1000). Of course, if one or more branches starting from the highest level are determined by the current address information of the matching table (60), a search is performed only for the 'building name' nodes belonging to the area starting from the last matching node of the branch.
[0113] In one embodiment of the present invention, for a specific address item, for example, a 'building name' address item, if no node with a matching field value is found in the area of the last matching node of the currently confirmed branch in the refined address database (1000), a wider address range may be searched to find a matching node. Fig. 14 is a diagram exemplifying a search method according to the present embodiment.
[0114] In a state (1401) where the branch is determined to the 'road name' node by the address information of the current matching table (60), when a new value is recorded in the address field of the 'building name' in the matching table (60), the main processing unit (10) searches for a node matching the value of the address field of the 'building name' with the area to which the current branch belongs as the range (1402) (S1411). If, in this search (S1411), no node matching the value is found (1421), the main processing unit (10) expands the search range (S1412).
[0115] The search scope can be expanded by raising the address level by one or two levels from the currently confirmed branch (1401) to determine the corresponding affiliation district. For example, for a branch (1401) confirmed up to the "road name" node, the search scope can be expanded to the affiliation district (1403) determined by the "city / county / district" node (1420), which is the address level above that branch.
[0116] If, in the case of an address entry for which the search range has not been expanded, a node with a matching field value is not found in the corresponding affiliation area, the value recorded for the corresponding address entry is deleted from the matching table (60).
[0117] The above main processing unit (10), after expanding the search range in this way, checks whether there is a value that matches the address item's value among the field values of the 'building name' address field within the expanded range (1403) (S1413). In the example of Fig. 14, assuming that the value of the currently recorded address item is "Gana Apartment", a node with a matching value is not found in the search (S1411) for the first designated affiliation area (1402), and a node (1422) with a matching value is found in the search (S1413) for the expanded affiliation area (1403).
[0118] In this way, if a node (1422) matching the value of the 'building name' address entry is confirmed in an extended area (1403) other than the previously confirmed branch's affiliation area (1401), the main processing unit (10) changes or automatically determines the values of the corresponding address entries of the matching table (60) so that the branch (1430) of the changed path leading to the matching node (1422) becomes the branch. In the example of the drawing, since the value of the 'road name' address entry is recorded in the matching table (60), this value is changed to the field value (1422) of the 'road name' address field on the newly determined branch (1430) and recorded (1431), and since the 'building number' address entry is empty, it is automatically determined to the field value of the 'building number' node on the changed path branch (1430) and recorded (1432). Although not illustrated in the drawing, if the existing branch (1401) is assigned to a 'Bunji' node, the 'Bunji' address entry will also be corrected to the field value of the 'Bunji' node on the newly assigned branch (1430) (which may not have a value assigned as illustrated).
[0119] The reason why the value of the upper address field is changed with priority given to the value determined for a specific address field, such as the 'building name' address field, is that the information for such a specific address field is closely related to people's daily lives, and therefore the memory for it is much more accurate than the memory for other address fields, such as the road name including the address number or number.
[0120] As described above, while searching for the values of one or more address items recorded in the matching table (60) in the refined address database (1000), and while selectively and automatically determining the values for other address items that are not entered by the target phrase, when a branch extending from the node of the highest address level to one terminal node is determined by the address information of the current matching table (60), the main processing unit (10) determines the target phrase (1 or 1) that is currently being entered or has been entered. i, The process address for (i=1,2,3,..) is determined, and the determined process address is stored in a file of a pre-designated storage, or configured as a message according to a pre-designated communication method and transmitted to a pre-designated server. At this time, the target server to be transmitted may be the server that transmitted the target phrase.
[0121] Meanwhile, when the process address is confirmed for the address information of the matching table (60), the main processing unit (10) notifies the preprocessing unit (11) of the fact, and when this notification is received, the preprocessing unit (11) ends processing for the current target phrase and waits until the next target phrase is input, or proceeds to processing for the next target phrase.
[0122] The various embodiments of the method and device for determining an address from a spoken text according to the present invention, which have been specifically described so far, and the configurations and operations described in the embodiments, can be conditionally combined and implemented in various ways, unless they are mutually incompatible.
[0123] The above-described embodiments of the present invention are disclosed for the purpose of illustration, and those skilled in the art will be able to improve, change, replace, or add other various embodiments within the technical spirit and technical scope of the present invention disclosed in the appended claims.
Claims
1. In a method for determining address information by inputting text information, Step 1: Separating the above text into one or more target phrases based on a specific delimiter; Step 2 of selectively mapping each of the above separated one or more target phrases to the address value of the corresponding address item in the preset address item set based on the results of searching multiple field databases each configured as a set of address values corresponding to each of the multiple address elements; A method comprising a third step of searching an address database for one or more address values currently mapped to the address entry set when any target phrase is mapped to an address value in the above second step, and determining, based on the search result, that the one or more address values correspond to one complete address information.
2. In paragraph 1, The above step 3 is a method in which, if it is determined that one or more of the address values do not correspond to a single complete address information, the process proceeds to step 1, or in step 2, the process is performed again when the target phrase following the arbitrary target phrase is mapped to an address value.
3. In paragraph 1, The above second step is a method of selectively mapping one target phrase from the one or more target phrases to address values of corresponding multiple address items when the one target phrase partially matches a first entry listed in one of the multiple field databases.
4. In paragraph 3, The above second step is a method of mapping the one target phrase to address values of the corresponding plurality of address items when the remaining phrase, excluding the part that partially matches the first entry in the one target phrase, at least partially matches the second entry listed in another database among the plurality of field databases.
5. In paragraph 4, The second step is a method of mapping the one target phrase to address values of a plurality of corresponding address items when, among the address entries in the address database, among the first entry and the second entry, which have a field value corresponding to a higher level upper entry in the address system for the first address field, the address entries in the both entries, which have a field value corresponding to a lower level lower entry in the address system for the second address field, all have the same field value for the address field between the first and second address fields.
6. In paragraph 4, A method wherein a part of the remaining phrase, excluding the part, is used for mapping to address values of the plurality of address items, if the part of the remaining phrase matches the second entry or the second entry that replaces the corresponding phonetic character for a number or alphabet.
7. In paragraph 1, The above second step is a method in which, when one target phrase from the one or more target phrases partially matches an entry listed in one of the plurality of field databases, if at least one syllable that does not match in the entry is designated as essential for the entry, the one target phrase is discarded without being mapped to an address value.
8. In paragraph 1, The above step 2 is a method in which, when one of the target phrases matches a non-address phrase listed in a preset list, it is discarded without being used for mapping to an address value.
9. In paragraph 1, The above second step is a method of selectively changing a phonetic character for a number included in one or more target phrases into a number based on attribute information specified for a syllable of a specific entry of a specific field database that is being compared with the one target phrase, and mapping it to an address value of an address item corresponding to the one target phrase.
10. In paragraph 1, The above second step is a method of selectively changing a phonetic notation for a number included in one or more target phrases into a number based on attribute information specified in the last syllable of a specific entry in a specific field database matched with the target phrase immediately preceding the one target phrase, and mapping it to an address value of an address entry corresponding to the one target phrase.
11. In paragraph 1, The above step 3 is a method for determining that, when only one address entry among the address entries registered in the address database contains all of the one or more address values currently mapped to the address entry set, the one or more address values correspond to address information by the one address entry.
12. In paragraph 1, The above 3rd step is a method in which, if the address database contains first and second field values for first and second address fields of different address levels between which one or more address fields are located, and the first and second address values included in the one or more address values currently mapped to the address item set are each identical, and if all address entries having the first and second field values for the first and second address fields have the same field values between fields for the one or more address fields, the same field values for the one or more address fields are automatically mapped to the address values of the corresponding address items in the address item set.
13. In paragraph 1, The above step 3 is a method in which, if a specific field value for any address field that does not correspond to the highest address level, which matches the address value of the highest address level among the one or more address values currently mapped to the address item set, exists in the address database, and if all address entries having the specific field value for any address field have the same field value between fields for at least one address field of an address level higher than the any address field, the same field value for the at least one address field is automatically mapped to the address value of the corresponding address item in the address item set.
14. In paragraph 1, The above 3rd step is a method in which, when searching for one or more address values in the address database, if the first address value to be searched is for a specific address entry, and the first address value is not found in a specific address field corresponding to the specific address entry, the first address value is additionally searched in a specific range determined based on an upper address field having a higher address level than the specific address field.
15. In paragraph 14, A method in which the above specific address entry includes an entry of an address element corresponding to a 'building name' in the address system.
16. In paragraph 14, The above step 3 is a method in which, when the first address value is found in the specific range, the value is changed for at least one of the address values having an address level higher than the first address value among the one or more address values.
17. In paragraph 1, The above 3rd step is a method in which, when searching a specific range of address fields of the address database for the first address value included in the one or more address values, if the field value recorded for the specific range of address fields includes a number or an alphabet, the first address value is compared with a field value that replaces the number or alphabet with a phonetic character corresponding to the number or alphabet to confirm whether it matches.
18. In paragraph 14 or paragraph 17, The method of claim 1, wherein the specific range is an area of the address database belonging to a sub-item of an address entry, in which a field value matching an address value of an address level higher than the first address value in the one or more address values is recorded for the address field.
19. In paragraph 1, The above step 3 is a method in which, when the arbitrary target phrase is mapped to an address value, if an address value corresponding to a designated address element among the address elements defined in the address system is not included in one or more of the address values, an operation of searching for the one or more address values in the address database is not performed.
20. In paragraph 19, A method in which the above-mentioned address elements include at least one of the address elements corresponding to ‘road name’, ‘building name’ and ‘street number’ in the address system.
21. In paragraph 1, Each of the above multiple field databases is configured such that all address information across the country assigned to the corresponding address element is arranged in alphabetical order without duplication.
22. In paragraph 1, The above text is received through communication from a device other than the device performing the above method, The method further comprises a step of transmitting the one or more address values determined to correspond to complete address information to the other device.
23. In paragraph 1, The above text is extracted from the voice of a conversation taking place through communication.
24. In a device that receives text information and determines address information, A first processing unit configured to separate the above text into one or more target phrases based on a specific delimiter; A second processing unit configured to selectively map each of the separated one or more target phrases to an address value of a corresponding address item in a preset address item set, based on the results of searching a plurality of field databases each configured as a set of address values corresponding to each of a plurality of address elements; A device comprising a main processing unit configured to search for one or more address values currently mapped to the address item set in an address database when any target phrase is mapped to an address value by the second processing unit, and to determine, based on the search result, that the one or more address values correspond to one complete address information.
Citation Information
Patent Citations
Address character string acquisition method and address character string acquisition system
JP2007179329A
Address processing for formalizing addresses
KR101132150B1
Bowl for centrifuges
KR1020230007007A
Liquid metal ejector dual sensor system and methods thereof
KR1020230071071A
Heat recovery system for animals and plants waste matter treatment apparatus
KR1020230126611A