Information processing device, information processing method, and information processing program
By converting the string into a differential string and calculating the editing distance or using automata technology, the problem of difficulty in judging string similarity in the prior art is solved, and more accurate string correction is achieved.
Patent Information
- Application Number
- JP2021147126
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-09
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2041-09-09
AI Technical Summary
In the prior art, it is difficult to effectively handle erroneous inputs that do not exist in the dictionary in string correction, making it difficult to accurately judge the similarity of strings.
The similarity of strings is judged by converting strings into different representations and calculating edit distances based on these different strings or using automata techniques.
Accurate judgment of string similarity is achieved, and the effectiveness of string correction is improved, especially in the case of low character matching rates.
Smart Images

Figure 0007626451000001 
Figure 0007626451000002 
Figure 0007626451000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, an information processing method, and an information processing program. [Background technology]
[0002] There is a technology that corrects (converts) a character string entered by a user. For example, when a query entered by a user contains a typo, there is a technology that corrects the typo and provides the user with a search result (for example, Patent Document 1, etc.). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6529456 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the above conventional technology, there are cases where a character string cannot be appropriately corrected. For example, in the conventional technology, a character string is merely converted using a dictionary that associates a first character string with a second character string that may be input as a typo of the first character string, and it is difficult to deal with character strings that are not included in the dictionary. Therefore, it is desirable to appropriately determine the similarity between character strings in order to correct the character string.
[0005] The present application has been made in view of the above, and has an object to provide an information processing device, an information processing method, and an information processing program that appropriately determine the similarity between character strings. [Means for solving the problem]
[0006] The information processing device according to the present application is characterized in that it includes an acquisition unit that acquires a first variant string obtained by converting a first string, which is a predetermined string, into a variant spelling, and a second variant string obtained by converting a second string, which is a string different from the first string, into a variant spelling, and a determination unit that determines a similarity between the first string and the second string based on the first variant string and the second variant string. Effect of the Invention
[0007] According to one aspect of the embodiment, an effect is achieved in that the similarity between character strings can be appropriately determined. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of information processing according to an embodiment. [Diagram 2] FIG. 2 is a diagram showing an example of a relationship between a character string and different spellings. [Diagram 3] FIG. 3 is a diagram illustrating an example of the configuration of the information processing device according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a determination information storage unit according to the embodiment. [Diagram 5] FIG. 5 is a diagram illustrating an example of a character string information storage unit according to the embodiment. [Figure 6] FIG. 6 is a flowchart illustrating an example of processing by the information processing device according to the embodiment. [Figure 7] FIG. 7 is a conceptual diagram showing an example of an automaton. [Figure 8] FIG. 8 is a diagram illustrating an example of a hardware configuration. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the information processing device, the information processing method, and the information processing program according to the present application will be described in detail with reference to the drawings. Note that the information processing device, the information processing method, and the information processing program according to the present application are not limited to the embodiments. In addition, the same parts in the following embodiments are denoted by the same reference numerals, and duplicated descriptions are omitted.
[0010] (Embodiment) [1. Information Processing] An example of information processing according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an example of information processing according to an embodiment. Fig. 1 shows an example in which an information processing device 100 judges similarity for a query (character string) input by a user, and corrects (changes) the character string based on the judgment result. Note that the process shown in Fig. 1 is merely an example, and the target of the similarity judgment and character string correction (change) is not limited to a query, and any character string may be the target.
[0011] First, the configuration of the information processing system 1 will be described. As shown in Fig. 1, the information processing system 1 includes a terminal device 10 and an information processing device 100. The terminal device 10 and the information processing device 100 are connected to each other via a predetermined communication network (not shown) so as to be able to communicate with each other by wire or wirelessly. Note that the information processing system 1 shown in Fig. 1 may include a plurality of terminal devices 10 and a plurality of information processing devices 100.
[0012] The information processing device 100 is a computer that determines the similarity between strings based on a string obtained by converting a string into a variant spelling (also referred to as a "variant spelling string"). For example, the information processing device 100 determines the similarity between a first string and a second string based on a first variant spelling string obtained by converting a first string, which is a predetermined string, into a variant spelling, and a second variant spelling string obtained by converting a second string, which is a string different from the first string, into a variant spelling. In the following description, a string indicating a predetermined target is defined as the first string, and a query (string) input by a user is defined as the second string.
[0013] In FIG. 1, the information processing device 100 also functions as a search device that provides search results to the terminal device 10 used by the user who input the query. For example, the information processing device 100 has a function as a search engine that executes search processing on a web page as a target. Note that the process after determining whether correction is necessary and determining the query to be used, that is, the process of searching using the query, is the same as that of a normal search engine, and therefore detailed description will be omitted as appropriate. For example, the information processing device 100 has a database in which a group of web pages, which are a group of target information to be subjected to the search processing using the query, are indexed and stored, and executes the search processing on the information in the database as a target. Note that the target to be searched is not limited to a web page, and may be any information as long as it can be searched using a query, and may be various search targets such as trading targets such as goods in electronic commerce.
[0014] 1 illustrates a case where the information processing device 100 also functions as a search device, that is, the information processing device 100 and the search device are integrated, but the information processing device 100 and the search device may be separate entities. In this case, the information processing system 1 includes a search device that executes a search process targeting a query and provides a search service that provides search results. For example, the information processing device 100 transmits a query entered by a user or a corrected query to the search device, receives search results from the search device, and transmits the search results to the terminal device 10 used by the user. Note that the search device may directly transmit the search results to the terminal device 10 used by the user.
[0015] The terminal device 10 is a device (computer) used by a user. The terminal device 10 accepts operations by the user. The terminal device 10 accepts input of a query by the user. The terminal device 10 displays search results provided by the information processing device 100.
[0016] The terminal device 10 also has an acceleration sensor, a gyro sensor, etc., and detects the user's motion state. The terminal device 10 also has a position sensor such as a GPS sensor, and detects the user's position information. The terminal device 10 also has various functions such as a temperature sensor and an air pressure sensor, and may be able to detect and acquire environmental information in which the user is placed, such as temperature and air pressure. The terminal device 10 also has various functions such as a heart rate sensor, and may be able to detect and acquire biometric information of the user. For example, a user who uses the terminal device 10 may wear a wearable device capable of communicating with the terminal device 10, thereby enabling the terminal device 10 to acquire context information of the user himself / herself. For example, a user who uses the terminal device 10 may wear a wristband-type wearable device capable of communicating with the terminal device 10, thereby enabling the terminal device 10 to acquire information regarding the user's own heart rate (pulse). The terminal device 10 may also have an image sensor. Note that the above is an example, and the terminal device 10 may have sensors that detect various information.
[0017] In addition, hereinafter, the terminal device 10 may be referred to as a user. That is, in the following, the user may be read as the terminal device 10. The terminal device 10 may be realized, for example, by a smartphone, a tablet terminal, a notebook PC (Personal Computer), a desktop PC, a mobile phone, a PDA (Personal Digital Assistant), or the like. FIG. 1 shows a case where the terminal device 10 is a notebook PC.
[0018] An example of information processing will be described below with reference to FIG. 1. FIG. 1 shows a case where the user is a user identified by a user ID "U1" (hereinafter, may be referred to as "user U1"). The terminal device 10 accepts input of a query "hoge Kozuo" by the user U1 (step S11). It is assumed that "hoge Kozuo" is a character string without a specific target. For example, it is assumed that "hoge Kozuo" is a character string that the user U1, who intended to input "hoge behavior", input incorrectly (misspelled). In the example shown in FIG. 1, the user U1 inputs the query "hoge Kozuo" into a search box in a page of a search site displayed on the screen of the terminal device 10, and presses a button to execute the search.
[0019] Then, the terminal device 10 transmits the query "Hoge Komatsuo" to the information processing device 100 (step S12). The information processing device 100, which has received the query "Hoge Komatsuo" from the terminal device 10, acquires a keyword (first character string) to be compared with the second character string CS2, which is the received query "Hoge Komatsuo" (step S13). The information processing device 100 acquires the keyword (first character string) to be compared with "Hoge Komatsuo" from the keyword group DB. Each character string included in the keyword group DB is a character string indicating an object. For example, the keyword group DB includes new words and words that are prone to spelling mistakes. For example, the keyword group DB is stored in the character string information storage unit 122 (see FIG. 5).
[0020] The information processing device 100 searches the keyword group DB and acquires a first character string to be compared with "Hoge Komatsuo" from the keyword group DB. For example, the information processing device 100 acquires a character string that at least partially matches the query "Hoge Komatsuo" from among the character strings in the keyword group DB as the first character string. In FIG. 1, the information processing device 100 acquires a character string "Hoge behavior" in which the query "Hoge Komatsuo" and the character string "Hoge" match. That is, the information processing device 100 acquires the character string "Hoge behavior" as the first character string CS1 to be compared with the second character string CS2, which is the query "Hoge Komatsuo". It is assumed that "Hoge behavior" is a character string indicating a specific object (for example, the title of an entertainment product, etc.).
[0021] For simplicity of explanation, FIG. 1 shows a case where only one first character string is acquired, but the information processing device 100 may acquire multiple first character strings, calculate the similarity between each first character string and the query "Hoge Komatsuo", and perform similarity determination and character string correction (change) processing on the first character string with the highest similarity.
[0022] The information processing device 100 converts the first character string CS1, which is the character string "hogekoudou", into a variant spelling (step S14). In FIG. 1, the information processing device 100 converts the first character string CS1 into roman characters to generate a first variant spelling string DN1, which is the roman character string "hogekoudou". Note that the information processing device 100 may perform the conversion using any information as long as it is possible to convert the first character string into the first variant spelling string. For example, the information processing device 100 may perform the conversion using a list in which the first character strings and the first variant spelling strings are associated with each other.
[0023] The information processing device 100 also converts the second character string CS2, which is the character string "hogekouduo", into a variant notation (step S15). In FIG. 1, the information processing device 100 converts the second character string CS2 into roman characters to generate a second variant notation character string DN2, which is the roman character string "hogekouduo". Note that the information processing device 100 may use any information to perform the conversion as long as it is possible to convert the second character string into the second variant notation character string. For example, the information processing device 100 may receive input information from the terminal device 10 indicating which key the user U1 touched (selected) when inputting the character string "hogekouduo", and perform the conversion using the input information.
[0024] Then, the information processing device 100 calculates the similarity between the first and second strings based on the first and second differently written strings (step S16). In Fig. 1, the information processing device 100 calculates the similarity between the first and second strings CS1 and CS2 based on the first and second differently written strings DN1 and DN2. That is, the information processing device 100 calculates the similarity between the strings "hogekoudou" and "hogekouduo" based on the Roman alphabet strings "hogekoudou" and "hogekouduo".
[0025] For example, the information processing device 100 calculates the edit distance between the Roman alphabet character string "hogekoudou" and the Roman alphabet character string "hogekouduo" as the similarity between the character string "hogekoudou" and the character string "hogekouduo". In FIG. 1, the information processing device 100 calculates the similarity VL1 between the character string "hogekoudou" and the character string "hogekouduo". The similarity VL1 is assumed to be a specific numerical value. Note that the above is merely an example, and the information processing device 100 may use various values as the similarity, for example, the inverse of the edit distance may be used as the similarity, or a value obtained by normalizing the inverse of the edit distance may be used as the similarity.
[0026] Then, the information processing device 100 uses the calculated similarity to determine the similarity between the first character string and the second character string (step S17). For example, the information processing device 100 uses the calculated similarity to determine the similarity between the first character string and the second character string, and when it is determined that the similarity is high, determines to correct the second character string to the first character string. The information processing device 100 compares the calculated similarity with a threshold value to determine the similarity between the first character string and the second character string. Note that the information processing device 100 may obtain the threshold value from an external device, or may use a threshold value stored in the determination information storage unit 121 (see FIG. 4).
[0027] In FIG. 1, the information processing device 100 uses a threshold value TH1 to determine the similarity between the first character string and the second character string. The threshold value TH1 is assumed to be a specific numerical value. The information processing device 100 compares the calculated similarity VL1 with the threshold value TH1 to determine the similarity between the first character string and the second character string. In FIG. 1, the information processing device 100 determines that the similarity between the character string "HOGE KAMUTA" and the character string "HOGE KAMUTA" is high because the calculated similarity VL1 is less than the threshold value TH1. Therefore, the information processing device 100 determines that the query "HOGE KAMUTA" needs to be corrected, as shown in the determination result RS. Then, the information processing device 100 determines that the query "HOGE KAMUTA" should be changed to the character string "HOGE KAMUTA", which is the first character string CS1, and that the character string "HOGE KAMUTA" should be used as the corrected query.
[0028] The information processing device 100 corrects the query “Hoge Kozuo” to a corrected query “Hoge behavior.” Then, the information processing device 100 executes a search process using the corrected query “Hoge behavior.”
[0029] Then, the information processing device 100 provides the search results of the corrected query "Hoge behavior" to the terminal device 10 used by the user U1 (step S18). In FIG. 1, the information processing device 100 may provide the terminal device 10 with content displaying the search results of "Hoge behavior" together with information notifying the terminal device 10 that the search results are not the query "Hoge Kozuo" but the corrected query "Hoge behavior". Note that the information provided by the information processing device 100 is not limited to the above, and may be in various forms. For example, before providing the search results, the information processing device 100 may provide information to confirm with the user U1 whether or not to correct the query "Hoge Kozuo" to the corrected query "Hoge behavior". In this case, the information processing device 100 may provide the terminal device 10 with the search results corresponding to the query selected by the user U1. The information processing device 100 may also provide the search results of the query "Hoge Kozuo" together with the search results of the corrected query "Hoge behavior".
[0030] As described above, the information processing device 100 can appropriately determine the similarity between character strings by determining the similarity between the character strings based on the variant character strings obtained by converting the character strings into variant characters. For example, when the information processing device 100 directly compares the character strings "hogekoudou" and "hogekoudou", the character strings are completely different except for the first "hoge". On the other hand, when the information processing device 100 compares the variant character string "hogekoudou" of the character string "hogekoudou" and the variant character string "hogekouduo" of the character string "hogekoudou", they match up to "hogekoud". In other words, it is found that the only difference between the variant character string "hogekoudou" of the character string "hogekoudou" and the variant character string "hogekouduo" of the character string "hogekoudou" is that the last two characters are "ou" and "uo", which is a transposition of adjacent characters. Therefore, the information processing device 100 can appropriately determine the similarity between the character strings by determining the similarity between the character strings based on the variant character strings converted into variant characters.
[0031] For example, in the case of an existing method of simply comparing character strings, it is difficult to determine the similarity between character strings when the character matching rate is low. On the other hand, the information processing device 100 can appropriately determine the similarity between character strings even if the character matching rate is low, by determining the similarity between the character strings based on a variant character string obtained by converting a character string into a variant character string. Note that, in the above processing example, the case (application) of spelling correction in a search engine has been described as an example, but the information processing device 100 may be used for any application as long as the processing by the information processing device 100 is applicable, and may be used for various applications such as extracting spelling mistakes and their correction results from a query log.
[0032] [1-1. Examples of relationships between character strings and variant spellings] Here, an example of the relationship between character strings and variant spellings will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the relationship between character strings and variant spellings. The first case CS1 and the second case CS2 shown in Fig. 2 show an example of a case where the character matching rate is low and it is difficult to determine the similarity using existing methods.
[0033] The first case CS1 in Fig. 2 shows an example of a difference in only one character. In this case, the first character string "Fujii-kun" is a character string indicating a specific object (such as a famous person). The second character string "Fushii-kun" is a character string that does not indicate a specific object, for example, an input error of "Fujii-kun".
[0034] For example, when the information processing device 100 directly compares the character strings "Fujiikun" and "Fushiikun", the character strings are completely different except for the last "Kimi". On the other hand, when the information processing device 100 compares the variant character string "hujiikun" of the character string "Fujiikun" with the variant character string "husiikun" of the character string "Fushiikun", it is found that the only difference is that the third character is "j" and the third character is "s", which is a difference of only one character.
[0035] Therefore, the information processing device 100 can appropriately determine the similarity between the character strings by determining the similarity between the character strings based on the differently written character strings converted into differently written characters. Note that the second case CS2 in Fig. 2 is an example of the transposition of adjacent characters illustrated in Fig. 1, and therefore a detailed description thereof will be omitted.
[0036] [1-2. Automaton] The information processing device 100 may determine the similarity of character strings using various techniques other than those described above. For example, there is room for improvement in terms of calculation efficiency when considering all possible romanized spellings.
[0037] Therefore, the information processing device 100 may determine the similarity of character strings by using a technique related to an automaton. An example of this point will be described with reference to Fig. 7. Fig. 7 is a conceptual diagram showing an example related to an automaton.
[0038] The transition diagram GR1 in Figure 7 shows an automaton representation of the character string "Kamuzuo" in the character string "Hoge Kamuzuo" explained in Figure 1. For example, it shows that the path (first path) indicated by the bold arrow in the transition diagram GR1 is selected. In other words, Figure 7 shows the case where the first path in the order of "k" → "o" → "u" → "d" → "u" → "o" is selected.
[0039] Transition diagram GR2 in Fig. 7 shows an automaton representation of the character string "action" in the character string "Hoge action" explained in Fig. 1. For example, it shows that the path indicated by the dotted arrow in transition diagram GR2 (second path) is selected. In other words, Fig. 7 shows the case where the second path in the order of "k" → "o" → "u" → "d" → "o" → "u" is selected.
[0040] In the example of Fig. 7, the edit distance between the first path in bold in the transition diagram GR1 and the second path in dotted line in the transition diagram GR2 is 1 (a transposition operation of uo → ou occurs), which is the smallest among all combinations, and therefore the edit distance between "Hoge Komatsuo" and "Hoge behavior" is 1. In Fig. 7, for example, the information processing device 100 calculates the similarity between "Hoge Komatsuo" and "Hoge behavior" to be "1".
[0041] For example, the information processing device 100 may represent variant spelling candidates as automata and use a measure that can be efficiently calculated between automata (such as an edit distance between automata) as the similarity. In addition, the information processing device 100 may weight the automata (such as the confidence level of romanization) and reflect the weight in the similarity.
[0042] For example, the information processing device 100 may express all the possibilities of romanization concisely using an automaton, and may use the edit distance between two automata (the path pair from the start point to the end point with the smallest edit distance) as the similarity. In this case, for example, the information processing device 100 may use the technology disclosed in the following document. ·Mehryar Mohri, “Edit-Distance of Weighted Automata: General Definitions and Algorithms”, International Journal of Foundations of Computer Science, 2003.
[0043] The above is merely an example, and the information processing device 100 may use a technology related to an automaton as appropriate. The information processing device 100 may use an automaton including a plurality of types of notation, such as an automaton including kana and romaji in separate routes.
[0044] [1-3. Examples of character strings and variants] In the above example, the processing is described with Japanese as the target language, but the information processing device 100 may process various languages, not limited to Japanese. For example, the information processing device 100 may process character strings in various languages, such as English and Chinese.
[0045] For example, when the information processing device 100 is targeting English, the information processing device 100 may process phonetic symbols indicating the pronunciation of a character string written in English as a variant character string. For example, when the information processing device 100 is targeting Chinese, the information processing device 100 may process pinyin indicating the pronunciation of a character string written in Chinese as a variant character string. Regardless of the language, the calculation of similarity and the determination of similarity may be performed in the same manner as in the case of Japanese described above, and detailed explanations will be omitted.
[0046] 2. Configuration of Information Processing Device Next, the configuration of the information processing device 100 according to the embodiment will be described with reference to Fig. 3. Fig. 3 is a diagram showing an example of the configuration of the information processing device 100 according to the embodiment. As shown in Fig. 3, the information processing device 100 has a communication unit 110, a storage unit 120, and a control unit 130. Note that the information processing device 100 may have an input unit (e.g., a keyboard, a mouse, etc.) that accepts various operations from an administrator of the information processing device 100, and a display unit (e.g., a liquid crystal display, etc.) that displays various information.
[0047] (Communication unit 110) The communication unit 110 is realized by, for example, a network interface card (NIC) etc. The communication unit 110 is connected to a predetermined communication network by wire or wirelessly, and transmits and receives information to and from the terminal device 10.
[0048] (Storage unit 120) The storage unit 120 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. As shown in Fig. 3, the storage unit 120 according to the embodiment has a determination information storage unit 121 and a character string information storage unit 122. Note that the storage unit 120 may store various information other than the above.
[0049] (Judgment information storage unit 121) The information for determination storage unit 121 according to the embodiment stores various information related to determination. For example, the information for determination storage unit 121 stores information used for determining similarity, such as a threshold value. Fig. 4 is a diagram showing an example of the information for determination storage unit according to the embodiment. In Fig. 4, the information for determination storage unit 121 has items such as "condition ID", "condition information", and "content".
[0050] "Condition ID" indicates information for identifying a condition. "Condition information" stores information used for judgment. "Content" indicates what kind of processing the corresponding condition information is used for.
[0051] 4, the condition identified by the condition ID "CD1" is the threshold value TH1. Note that the threshold value TH1 is a specific numerical value such as 0.7, 5, 10, etc. Also, it is indicated that the threshold value TH1 is used for similarity determination.
[0052] The determination information storage unit 121 is not limited to the above, and may store various types of information depending on the purpose.
[0053] (Character string information storage unit 122) The string information storage unit 122 according to the embodiment stores information related to strings. The string information storage unit 122 stores strings indicating a predetermined target. For example, the string information storage unit 122 stores strings that indicate a predetermined target but are prone to spelling mistakes, such as new words. FIG. 5 is a diagram illustrating an example of a string information storage unit according to the first embodiment of the present disclosure. In FIG. 5, the string information storage unit 122 includes items such as "string ID" and "string."
[0054] The "character string ID" indicates identification information for identifying a character string registered as a character string indicating a specific object. The "character string" indicates a character string.
[0055] 5, the character string identified by the character string ID "KW1" (character string KW1) is the character string "hoge behavior." For example, the character string "hoge behavior" is a character string that is frequently misspelled by users.
[0056] The character string information storage unit 122 may store various information according to the purpose, not limited to the above. For example, the character string (correct character string) stored in the character string information storage unit 122 may be acquired by the information processing device 100 from an external device that manages character strings that are likely to be misspelled, such as new words.
[0057] (Control unit 130) Returning to the explanation of Fig. 3, the control unit 130 is a controller, and is realized, for example, by a CPU (Central Processing Unit), MPU (Micro Processing Unit), etc., executing various programs (corresponding to an example of an information processing program) stored in a storage device inside the information processing device 100 using a RAM as a working area. The control unit 130 is also a controller, and is realized, for example, by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0058] As shown in Fig. 3, the control unit 130 has an acquisition unit 131, a calculation unit 132, a determination unit 133, a processing unit 134, and a provision unit 135, and realizes or executes the functions and actions of information processing described below. Note that the internal configuration of the control unit 130 is not limited to the configuration shown in Fig. 3, and may be other configurations as long as they perform information processing described below. Also, the connection relationship between the processing units in the control unit 130 is not limited to the connection relationship shown in Fig. 3, and may be other connection relationships.
[0059] (Acquisition part 131) The acquisition unit 131 acquires various types of information from the storage unit 120. The acquisition unit 131 acquires information used for determining similarity from the determination information storage unit 121. The acquisition unit 131 acquires, from the character string information storage unit 122, a character string to be compared with a query input by a user.
[0060] The acquisition unit 131 receives various information from an external information processing device via the communication unit 110. The acquisition unit 131 receives various information from the terminal device 10. The acquisition unit 131 acquires a query input by a user from the terminal device 10. The acquisition unit 131 may receive a variant character string obtained by converting a character string into a variant character string from an external device (conversion server) that converts a character string into a variant character string. For example, the acquisition unit 131 may receive a variant character string obtained by converting a received character string into a variant character string from the conversion server that has received the character string transmitted by the provision unit 135.
[0061] The acquisition unit 131 acquires a first string which is a predetermined string. The acquisition unit 131 acquires the first string which indicates a predetermined target. The acquisition unit 131 acquires a second string which is a string different from the first string. The acquisition unit 131 acquires the second string which does not indicate a target. The acquisition unit 131 acquires the second string which is a query input by a user.
[0062] The acquisition unit 131 acquires a first variant string obtained by converting a first string, which is a predetermined string, into a variant. The acquisition unit 131 acquires a first variant string of a first string indicating a predetermined target. The acquisition unit 131 acquires a second variant string obtained by converting a second string, which is a string different from the first string, into a variant. The acquisition unit 131 acquires a second variant string of a second string not indicating an target. The acquisition unit 131 acquires a second variant string of a second string, which is a query input by a user.
[0063] The acquiring unit 131 acquires a first variant character string indicating the pronunciation of the first character string and a second variant character string indicating the pronunciation of the second character string. The acquiring unit 131 acquires the first variant character string which is a phonetic symbol of the first character string and the second variant character string which is a phonetic symbol of the second character string. The acquiring unit 131 acquires the first variant character string indicating the pronunciation of the first character string corresponding to the Japanese writing system and the second variant character string indicating the pronunciation of the second character string corresponding to the Japanese writing system.
[0064] The acquiring unit 131 acquires a first variant character string indicating the pronunciation of a first character string including at least one of kanji, hiragana, and katakana, and a second variant character string indicating the pronunciation of a second character string including at least one of kanji, hiragana, and katakana. The acquiring unit 131 acquires the first variant character string obtained by converting the first character string into roman characters, and the second variant character string obtained by converting the second character string into roman characters.
[0065] (Calculation unit 132) The calculation unit 132 calculates various pieces of information. The calculation unit 132 calculates various pieces of information based on the various pieces of information stored in the storage unit 120. The calculation unit 132 calculates various pieces of information based on the various pieces of information acquired by the acquisition unit 131.
[0066] The calculation unit 132 calculates the similarity between the first variant notation string and the second variant notation string. The calculation unit 132 calculates the similarity based on the edit distance between the first variant notation string and the second variant notation string. The calculation unit 132 calculates the edit distance between the first variant notation string and the second variant notation string as the similarity. The calculation unit 132 calculates the similarity based on the edit distance derived by the automaton.
[0067] The calculation unit 132 may generate various information. The calculation unit 132 may generate a converted string by converting a string. The calculation unit 132 may generate a first variant string by converting a first string into a variant. The calculation unit 132 may generate a second variant string by converting a second string into a variant. The calculation unit 132 may generate a variant string by converting a string into romanized notation. The calculation unit 132 may generate a variant string by converting a string into phonetic symbols.
[0068] (Judgment unit 133) The determination unit 133 determines various pieces of information. For example, the determination unit 133 determines various pieces of information based on various pieces of information acquired from an external device by the acquisition unit 131. For example, the determination unit 133 determines various pieces of information based on information stored in the storage unit 120. For example, the determination unit 133 makes a determination using information stored in the determination information storage unit 121 or the character string information storage unit 122.
[0069] The determination unit 133 determines the similarity between the first string and the second string based on the first differently written string and the second differently written string. The determination unit 133 determines the similarity between the first string and the second string using the similarity calculated by the calculation unit 132. If the similarity is equal to or greater than a predetermined value, the determination unit 133 determines that the similarity between the first string and the second string is high. If the determination unit 133 determines that the similarity between the first string and the second string is high, it determines that the second string should be corrected to the first string.
[0070] (Processing section 134) The processing unit 134 executes various processes. The processing unit 134 executes a search process based on a query input by the user. When the determination unit 133 determines that the query input by the user does not require correction, the processing unit 134 executes a search process using the query input by the user. The processing unit 134 generates information to be provided to the user. The processing unit 134 generates content to be provided to the user.
[0071] When the determination unit 133 determines that the query input by the user needs to be corrected (changed), the processing unit 134 corrects the notation of the query input by the user. For example, the processing unit 134 corrects (changes) the notation of the query input by the user to the compared character string. Then, the processing unit 134 executes a search process using the corrected (changed) character string.
[0072] (Provider 135) The providing unit 135 transmits information to the terminal device 10 via the communication unit 110. The providing unit 135 provides a search service to the terminal device 10 used by a user. For example, the providing unit 135 transmits a search result, which is a result of a search process by the processing unit 134, to the terminal device 10. The providing unit 135 transmits information generated by the processing unit 134 to the terminal device 10.
[0073] The providing unit 135 may transmit the character string to an external device (conversion server) that converts the character string into a variant spelling. For example, the providing unit 135 may transmit the character string to be converted into a variant spelling to the conversion server.
[0074] [3. Processing flow] Next, the procedure of information processing by the information processing system 1 according to the embodiment will be described with reference to Fig. 6. Fig. 6 is a flowchart showing an example of processing by the information processing device according to the embodiment.
[0075] 6, the information processing device 100 acquires a first variant character string by converting a first character string, which is a predetermined character string, into a variant character string (step S101). Also, the information processing device 100 acquires a second variant character string by converting a second character string, which is a character string different from the first character string, into a variant character string (step S102).
[0076] The information processing device 100 determines the similarity between the first character string and the second character string based on the first character string with different writing styles and the second character string with different writing styles (Step S103).
[0077] [4. Effects] As described above, the information processing device 100 according to the embodiment includes the acquisition unit 131 and the determination unit 133. The acquisition unit 131 acquires a first variant string obtained by converting a first string, which is a predetermined string, into a variant string, and a second variant string obtained by converting a second string, which is a string different from the first string, into a variant string. The determination unit 133 determines the similarity between the first string and the second string based on the first variant string and the second variant string.
[0078] In this manner, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings by determining the similarity between character strings using different spellings of the character strings.
[0079] Moreover, the information processing device 100 according to the embodiment includes a calculation unit 132. The calculation unit 132 calculates a similarity between a first differently written string and a second differently written string. The determination unit 133 uses the similarity calculated by the calculation unit 132 to determine the similarity between the first string and the second string.
[0080] In this manner, the information processing device 100 according to the embodiment calculates the similarity between a first differently written string and a second differently written string, and determines the similarity between the first string and the second string using the calculated similarity, thereby making it possible to appropriately determine the similarity between the strings.
[0081] Moreover, in the information processing device 100 according to the embodiment, the calculation unit 132 calculates the similarity based on the edit distance between the first differently written string and the second differently written string.
[0082] In this manner, the information processing apparatus 100 according to the embodiment can appropriately calculate the similarity between strings by calculating the similarity based on the edit distance between the first differently written string and the second differently written string.
[0083] Moreover, in the information processing device 100 according to the embodiment, the calculation unit 132 calculates the edit distance between the first differently written string and the second differently written string as the similarity.
[0084] In this manner, the information processing apparatus 100 according to the embodiment can appropriately calculate the similarity between the strings by using the edit distance between the first differently written string and the second differently written string as the similarity.
[0085] Moreover, in the information processing device 100 according to the embodiment, the calculation unit 132 calculates the similarity based on the edit distance derived by the automaton.
[0086] In this way, the information processing device 100 according to the embodiment can appropriately calculate the similarity between character strings by calculating the similarity based on the edit distance derived by the automaton.
[0087] Furthermore, in the information processing device 100 according to the embodiment, when the similarity is equal to or greater than a predetermined value, the determination unit 133 determines that the similarity between the first character string and the second character string is high.
[0088] In this manner, the information processing device 100 according to the embodiment can appropriately determine the similarity between the strings by determining that the similarity between the first string and the second string is high when the similarity is equal to or greater than a predetermined value.
[0089] In the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first variant character string of a first string indicating a predetermined target and a second variant character string of a second string. When the determination unit 133 determines that the first string and the second string are highly similar, the determination unit 133 determines to correct the second string to the first string.
[0090] In this way, when the information processing device 100 according to the embodiment determines that there is a high similarity between a first string indicating a specific object and a second string, it determines to correct the second string to the first string, thereby making it possible to appropriately correct the string according to the similarity between the strings.
[0091] In the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first variant character string indicating the pronunciation of the first character string, and a second variant character string indicating the pronunciation of the second character string.
[0092] In this manner, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings by determining the similarity between character strings using different spellings that indicate the pronunciation of the character strings.
[0093] In the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first variant character string which is the phonetic symbols of the first string, and a second variant character string which is the phonetic symbols of the second string.
[0094] In this manner, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings by determining the similarity between character strings using the phonetic symbols of the character strings.
[0095] In addition, in the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first variant character string indicating the pronunciation of a first character string corresponding to the Japanese writing system, and a second variant character string indicating the pronunciation of a second character string corresponding to the Japanese writing system.
[0096] In this way, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings, targeting character strings in Japanese.
[0097] In addition, in the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first variant character string indicating the pronunciation of a first character string including at least one of kanji, hiragana, and katakana, and a second variant character string indicating the pronunciation of a second character string including at least one of kanji, hiragana, and katakana.
[0098] In this manner, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings, targeting character strings including at least one of kanji, hiragana, and katakana.
[0099] In the information processing device 100 according to the embodiment, the acquisition unit 131 acquires a first differently written string obtained by converting a first string into roman characters, and a second differently written string obtained by converting a second string into roman characters.
[0100] In this manner, the information processing apparatus 100 according to the embodiment can appropriately determine the similarity between character strings by determining the similarity between character strings using different notations in which the character strings are converted into Roman characters.
[0101] [5. Hardware Configuration] Moreover, the information processing device 100 and the terminal device 10 according to the above-described embodiment are realized by a computer 1000 having a configuration as shown in Fig. 8, for example. The information processing device 100 will be described below as an example. Fig. 8 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to an output device 1010 and an input device 1020, and has a configuration in which a calculation device 1030, a primary storage device 1040, a secondary storage device 1050, an output I / F (Interface) 1060, an input I / F 1070, and a network I / F 1080 are connected by a bus 1090.
[0102] The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The arithmetic device 1030 is realized by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like.
[0103] The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that primarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device in which data used by the arithmetic device 1030 for various calculations and various databases are registered, and is realized by a ROM (Read Only Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like. The secondary storage device 1050 may be an internal storage device or an external storage device. The secondary storage device 1050 may be a removable storage medium such as a USB memory or a Secure Digital (SD) memory card. The secondary storage device 1050 may be a cloud storage device (online storage device), a NAS (Network Attached Storage), a file server, or the like.
[0104] The output I / F 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various types of information, such as a display, a projector, a printer, etc., and is realized by a connector conforming to a standard such as USB (Universal Serial Bus), DVI (Digital Visual Interface), or HDMI (registered trademark) (High Definition Multimedia Interface). The input I / F 1070 is an interface for receiving information from various input devices 1020, such as a mouse, a keyboard, a keypad, a button, a scanner, etc., and is realized by a USB, etc.
[0105] Furthermore, the output I / F 1060 and the input I / F 1070 may be wirelessly connected to the output device 1010 and the input device 1020, respectively. That is, the output device 1010 and the input device 1020 may be wireless devices.
[0106] The output device 1010 and the input device 1020 may be integrated into one device, such as a touch panel. In this case, the output I / F 1060 and the input I / F 1070 may also be integrated into one device, such as an input / output I / F.
[0107] The input device 1020 may be a device that reads information from, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
[0108] The network I / F 1080 receives data from other devices via the network N and sends it to the arithmetic device 1030, and also transmits data generated by the arithmetic device 1030 to other devices via the network N.
[0109] The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output I / F 1060 and the input I / F 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040 and executes the loaded program.
[0110] For example, when the computer 1000 functions as the information processing device 100, the arithmetic unit 1030 of the computer 1000 executes a program loaded onto the primary storage device 1040 to realize the functions of the control unit 130. The arithmetic unit 1030 of the computer 1000 may also load a program acquired from another device via the network I / F 1080 onto the primary storage device 1040 and execute the loaded program. The arithmetic unit 1030 of the computer 1000 may also cooperate with the other device via the network I / F 1080 and use functions, data, etc. of a program by calling them from another program of the other device.
[0111] [6. Other] Although the embodiments of the present application have been described above, the present invention is not limited to the contents of these embodiments. The above-described components include those that can be easily imagined by a person skilled in the art, those that are substantially the same, and those that are within the so-called equivalent range. Furthermore, the above-described components can be appropriately combined. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the above-described embodiments.
[0112] Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by a known method. In addition, the information including the processing procedures, specific names, various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.
[0113] In addition, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads, usage conditions, etc.
[0114] For example, the above-mentioned information processing device 100 may be realized by multiple server computers, and depending on the functions, the configuration can be flexibly changed by calling an external platform, etc. using an API (Application Programming Interface) or network computing, etc.
[0115] Furthermore, the above-described embodiments and modifications can be appropriately combined as long as the processing contents are not contradictory.
[0116] Furthermore, the above-mentioned "section, module, unit" can be read as "means" or "circuit", etc. For example, an acquisition section can be read as an acquisition means or an acquisition circuit. [Explanation of symbols]
[0117] 1. Information Processing Systems 100 Information processing device 120 Storage section 121 Judgment information storage unit 122 Character string information storage section 130 Control section 131 Acquisition Department 132 Calculation section 133 Judgment section 134 Processing section 135 Provision Department 10 Terminal Equipment
Claims
1. an acquisition unit that acquires a first variant string obtained by converting a first string, which is a predetermined string, into a variant string, and a second variant string obtained by converting a second string, which is a string different from the first string and which has been input as a search query by a user, into a variant string; a determination unit that determines a similarity between the first character string and the second character string based on the first character string and the second character string; a provision unit that provides to the user search results that are results of a search process using a character string according to a result of the determination by the determination unit, and when the user corrects the search query inputted by the user, provides a first search result that is a result of the search process using a corrected query that is the corrected character string, and a second search result that is a result of the search process using the search query inputted by the user; An information processing device comprising:
2. a calculation unit that calculates a similarity between the first differently written character string and the second differently written character string; Further equipped with The determination unit is Using the degree of similarity calculated by the calculation unit, a similarity between the first character string and the second character string is determined.
2. The information processing apparatus according to claim 1,
3. The calculation unit is The similarity is calculated based on an edit distance between the first variant character string and the second variant character string.
3. The information processing apparatus according to claim 2.
4. The calculation unit is Calculating an edit distance between the first differently written character string and the second differently written character string as the similarity.
4. The information processing apparatus according to claim 3.
5. The calculation unit is The similarity is calculated based on the edit distance derived by the automaton.
5. The information processing apparatus according to claim 3 or 4.
6. The determination unit is If the degree of similarity is equal to or greater than a predetermined value, it is determined that the similarity between the first character string and the second character string is high.
6. The information processing device according to claim 2, wherein the information processing device is a computer.
7. The acquisition unit is obtaining the first variant character string of the first character string and the second variant character string of the second character string that indicate a predetermined object; The determination unit is When it is determined that the similarity between the first character string and the second character string is high, it is determined that the second character string is to be corrected to the first character string.
7. The information processing apparatus according to claim 6,
8. The acquisition unit is Obtaining the first variant character string indicating the pronunciation of the first character string and the second variant character string indicating the pronunciation of the second character string.
8. The information processing device according to claim 1,
9. The acquisition unit is The first variant character string, which is a phonetic symbol of the first character string, and the second variant character string, which is a phonetic symbol of the second character string, are obtained.
9. The information processing apparatus according to claim 8,
10. The acquisition unit is obtaining the first variant character string indicating a pronunciation of the first character string corresponding to a Japanese writing system, and the second variant character string indicating a pronunciation of the second character string corresponding to a Japanese writing system; 9. The information processing apparatus according to claim 8,
11. The acquisition unit is Obtaining the first variant character string indicating the pronunciation of the first character string including at least one of kanji, hiragana, and katakana, and the second variant character string indicating the pronunciation of the second character string including at least one of kanji, hiragana, and katakana.
11. The information processing apparatus according to claim 10,
12. The acquisition unit is The first character string is converted into a roman character string, and the second character string is converted into a roman character string.
12. The information processing apparatus according to claim 10 or 11.
13. 1. A computer-implemented information processing method, comprising: an acquiring step of acquiring a first variant string obtained by converting a first string, which is a predetermined string, into a variant, and a second variant string obtained by converting a second string, which is a string different from the first string and which has been input as a search query by a user, into a variant; a determining step of determining a similarity between the first character string and the second character string based on the first character string and the second character string; providing the user with search results that are the result of a search process using a character string according to a result of the determination step, in which, when the user corrects the search query inputted by the user, a first search result that is the result of the search process using a corrected query that is the corrected character string, and a second search result that is the result of the search process using the search query inputted by the user are provided; 13. An information processing method comprising:
14. an acquisition step of acquiring a first variant string obtained by converting a first string, which is a predetermined string, into a variant string, and a second variant string obtained by converting a second string, which is a string different from the first string and which has been input as a search query by a user, into a variant string; a determination step of determining a similarity between the first character string and the second character string based on the first character string and the second character string; a provision step of providing to the user search results that are results of a search process using a character string according to a result of the determination step, in which, when the user corrects the search query inputted by the user, a first search result that is a result of the search process using a corrected query that is the corrected character string, and a second search result that is a result of the search process using the search query inputted by the user are provided; An information processing program characterized by causing a computer to execute the above.
Citation Information
Patent Citations
Spelling checking device
JP1995121538A
System and method for automatically recommending japanese word by using roman alphabet conversion
JP2011008784A
Approximate element string collation or retrieval, and recording medium storing program to execute method therefor
JP2011186569A
Search system, search method, search program, recording medium
JP6529456B2