Natural language processing device

The natural language processing device uses a word graph to enhance the determination of correspondence relationships between rules and their application targets, addressing indirect relationships and improving rule compliance monitoring accuracy.

WO2026110240A1PCT designated stage Publication Date: 2026-05-28NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NT T INC
Filing Date
2024-11-19
Publication Date
2026-05-28

Smart Images

  • Figure JP2024041004_28052026_PF_FP_ABST
    Figure JP2024041004_28052026_PF_FP_ABST
Patent Text Reader

Abstract

This natural language processing device comprises: a first input unit; a second input unit; a first word extraction unit; a second word extraction unit; a correspondence relationship determination unit; and an output unit. The first word extraction unit receives an input of a first target, which includes a natural language description. The second word extraction unit receives an input of a second target, which includes a natural language description. The first word extraction unit extracts at least one first word from the first target. The second word extraction unit extracts at least one second word from the second target. The correspondence relationship determination unit determines the presence or absence of a relationship between the first word and the second word. The output unit performs output processing on the basis of the results of determining the presence or absence of a relationship. The correspondence relationship determination unit: uses the first word as a start node; searches for, from the start node, a word graph in which at least one complementary word related to the first word is connected by an edge indicating a relationship between the first word and the complementary word; and determines the presence or absence of a relationship between the first word and the second word on the basis of whether it is possible to trace back to the second word.
Need to check novelty before this filing date? Find Prior Art

Description

Natural language processing device

[0001] An embodiment relates to a natural language processing device.

[0002] It is beneficial for the rule setter that the system can automatically monitor whether the rules set in business or the like are properly observed in the rule application target. In particular, when the number of set rules and their application targets increases, manual monitoring becomes difficult.

[0003] In order for the system to automatically monitor whether the rules are properly observed in the rule application target, it is important to be able to determine the correspondence relationship between the rule and its application target. As a method for determining the correspondence relationship between the rule and its application target, a method of determining the correspondence relationship by matching the character string of the words included in the rule and the character string of the words included in the application target can be considered.

[0004] Hiroki Nakanishi et al., "Update Notification Filtering Method Related to Information Security", Institute of Electronics, Information and Communication Engineers, 2024 General Conference, B-14-11 (February 26, 2024)

[0005] Although the rule is reflected in the rule application target, there is not always a character string of a word that directly corresponds to the rule and its application target. In the case of pattern matching with a character string of a word that is not directly related but indirectly related, it is expected that the accuracy of the matching will decrease.

[0006] An embodiment provides a natural language processing device in which the determination of the correspondence relationship between objects in which words having an indirect relationship are described is appropriately performed.

[0007] One embodiment of a natural language processing device includes a first input unit, a second input unit, a first word extraction unit, a second word extraction unit, a correspondence relationship determination unit, and an output unit. The first word extraction unit receives input of a first object containing a description of natural language. The second word extraction unit receives input of a second object containing a description of natural language. The first word extraction unit extracts at least one first word from the first object. The second word extraction unit extracts at least one second word from the second object. The correspondence relationship determination unit determines whether or not there is a relationship between the first word and the second word. The output unit performs output processing based on the determination result of whether or not there is a relationship. The correspondence relationship determination unit searches a word graph from the start node, where the first word is the starting node and at least one complementary word related to the first word is connected by an edge indicating the relationship between the first word and the complementary word, and determines whether or not there is a relationship between the first word and the second word based on whether or not it is possible to reach the second word.

[0008] According to one embodiment, a natural language processing device is provided that appropriately determines the correspondence between objects on which words that are indirectly related are written.

[0009] Figure 1 is a block diagram showing the configuration of a natural language processing device according to an embodiment. Figure 2 is a diagram showing the conceptual configuration of a word graph. Figure 3 is a conceptual diagram of an example related to the creation of a word graph. Figure 4 is a flowchart showing the operation of the natural language processing device according to an embodiment. Figure 5A is a diagram showing an example of word extraction from a first object. Figure 5B is a diagram showing an example of word extraction from a second object. Figure 6 is a diagram showing the concept of matching using strings. Figure 7 is a diagram showing the concept of graph search. Figure 8 is a flowchart showing an example of output processing. Figure 9 is a diagram showing an example of a warning display. Figure 10 is a block diagram showing an example of the hardware configuration of the natural language processing device.

[0010] The embodiments will now be described with reference to the drawings. Figure 1 is a block diagram showing the configuration of a natural language processing device according to the embodiment.

[0011] The natural language processing device according to this embodiment associates a first object containing a description of natural language with a second object containing a description of natural language related to the content described in the first object. The first object may be a document higher in rank than the second object in a document system created in business operations. For example, the first object may be a business document describing business policies, and the second object may be a business document describing rules or instructions created based on those business policies. Alternatively, for example, the first object may be a business document describing rules or instructions, and the second object may be the subject to which those rules or instructions apply. For example, if the instruction document as the first object is an update instruction for a specific application, the second object may be a work log for that application's update. Furthermore, the subject to which the rules apply includes a description of natural language, but does not necessarily have to be created as a document. For example, if the rule document as the first object is a rule regarding the operation of a specific application, the second object may be the operation screen of that application. Furthermore, the description of the second object includes content related to the description of the first object, but does not necessarily have a hierarchical relationship with the content of the first object.

[0012] The natural language processing device 1 includes input units 11a and 11b, word extraction units 12a and 12b, a correspondence relationship determination unit 13, and an output unit 15. The natural language processing device 1 may also have a word graph 14.

[0013] Input unit 11a accepts input of data for the first object. If the first object is something that cannot be digitally processed, such as a paper document, input unit 11a accepts input of data for the first object by generating digitally processable string data for the first object through OCR (Optical Character Recognition) processing or the like. Input unit 11b accepts input of data for the second object. If the second object is something that cannot be digitally processed, such as a paper document, input unit 11b accepts input of data for the second object by generating digitally processable string data for the second object through OCR processing or the like.

[0014] The word extraction unit 12a extracts at least one word from the data of the first object received by the input unit 11a. The word extraction unit 12a extracts the word by, for example, inputting the data of the first object into a large-scale language model (LLM) and providing a prompt to extract the word. The word extraction unit 12b extracts at least one word from the data of the second object received by the input unit 11b. The word extraction unit 12b extracts the word by, for example, inputting the data of the second object into an LLM and providing a prompt to extract the word. As mentioned above, the first object and the second object may be application operation screens, etc. In this case, the word extraction units 12a and 12b may be configured to receive information from the operation screen as a prompt and extract words based on the information from the operation screen that they have received.

[0015] The correspondence determination unit 13 determines whether or not there is a correspondence between the words extracted by the word extraction unit 12a and the words extracted by the word extraction unit 12b. The correspondence determination unit 13 basically determines the correspondence by matching the strings of the words. If there are words for which the correspondence cannot be determined by matching the strings of the words, the correspondence determination unit 13 determines the correspondence by searching the word graph 14 with the graph search unit 13a.

[0016] The word graph 14 is a graph in which words are nodes and the relationships between words are edges. The word graph 14 is constructed by using words extracted from objects such as business documents, work logs, and operation screens that were the subject of past correspondence determination as starting nodes, and sequentially connecting nodes of complementary words that complete the starting node with edges that indicate their relationships. The word graph 14 will be explained later.

[0017] The output unit 15 performs output processing based on the determination result of the correspondence determination unit 13. Output processing includes, for example, the process of displaying on the display whether the first object and the second object correspond to each other. For example, if the matching rate between words determined by the correspondence determination unit 13 is above a threshold, the output unit 15 displays on the display that the first object and the second object correspond to each other. In addition, if the first object is a document describing business policies and the second object is a document describing rules or instructions created based on business policies, the output unit 15 may determine whether the rules or instructions described in the second object conform to the business policies described in the first object and display the result on the display. In this case, the output unit 15 can determine whether the rules or instructions conform to the business policies by determining whether the corresponding words described in the corresponding first object and second object satisfy the conditions. Similarly, if the first object is a document containing rules or instructions, and the second object is the subject to which the rules apply, the output unit 15 may determine whether the subject to which the rules apply (the second object) is complying with the rules or instructions described in the first object, and display the result on the display. In this case, the output unit 15 can determine whether the subject is complying with the rules or instructions by determining whether the corresponding words described in the corresponding first object and second object satisfy the conditions.

[0018] Figure 2 shows the conceptual structure of word graph 14. As mentioned above, word graph 14 is constructed by using words extracted from objects such as business documents, work logs, and operation screens that have been the subject of past correspondence determination as starting nodes, and sequentially connecting nodes of complementary words to complete the starting node words with edges that indicate their relationships. In Figure 2, words T1, T2, T3, ..., Tm (where m is a natural number) are the starting node words. That is, words T1, T2, T3, ..., Tm are words extracted from objects such as business documents, work logs, and operation screens.

[0019] In the example in Figure 2, word T1 is connected to complementary word T11 via an edge of relation R11. Complementary word T11 is a word that has a predetermined relationship with word T1. For example, if word T1 is "internal company" and complementary word T11 is "xxx@123.com", then word T1 and complementary word T11 can be connected by relation R11, which is "email address". In this case, "email address" of "internal company" as word T1 has the relationship "xxx@123.com".

[0020] Furthermore, in the example in Figure 2, word T2 is connected to complementary word T21 via an edge having relation R21. In addition, complementary word T22 is connected to complementary word T21 via an edge having relation R22. In other words, in Figure 2, n complementary words T2n are directly connected to word T2 via edges having relation R2n (where n is a natural number). For example, if word T2 is "external", complementary word T21 is "xxx@123.com", and complementary word T22 is "not", then word T2 and complementary word T21 can be connected by relation R21, which is "email address", and complementary word T21 and complementary word T22 can be connected by the relation "negation". In this case, the email address of word T2, "external", has the relation "not xxx@123.com". Thus, in word graph 14, two or more complementary words can be connected in series to a single word.

[0021] Furthermore, in the example in Figure 2, word T3 is connected to complementary word T31 via the edge of relation R31, and complementary word T32 is connected to it via the edge of relation R32, which is different from relation R31. In other words, in Figure 2, two or more complementary words are connected to word T3 in parallel. For example, complementary words with separate relationships such as "email address," "address," and "telephone number" may be connected to the word "outside company." Thus, in word graph 14, two or more complementary words can be connected to a single word in parallel.

[0022] Figure 3 is a conceptual diagram illustrating an example of the creation of a word graph 14. As shown in Figure 3, the word graph 14 can be created, for example, using an LLM 14a. The LLM 14a is input with data from objects that include natural language descriptions, such as business documents, work logs, and operation screens, which have been the subject of past correspondence relationship determinations. The word graph 14 is generated by prompting the LLM 14a to extract words from business documents, work logs, operation screens, etc., and generate a word graph. In this prompt, the LLM 14a is instructed to generate and output a word graph from the natural language obtained from the business documents, work logs, and operation screens input through the prompt. Here, the prompt may include information related to the relationships between words, such as the company's email address and address. Furthermore, the LLM 14a may collect information necessary to identify the relationships between words from a database built within the company, etc., as needed.

[0023] Next, the operation of the natural language processing device 1 will be described. Figure 4 is a flowchart showing the operation of the natural language processing device 1 according to the embodiment. In the following, an example will be described in which the first object is a business document containing rules, the second object is an operation screen to which the rules apply, and the method of the embodiment is applied to determine whether or not the rules are being followed on the operation screen.

[0024] In step S1, the input unit 11a of the natural language processing device 1 receives input of a first object. The input unit 11b also receives input of a second object. For example, the first object is a business document that states the rule, "Do not send emails with files attached to external parties." On the other hand, the second object is an email creation screen. In other words, the operation in step S1 may be performed when the user opens the email creation screen.

[0025] In step S2, the word extraction unit 12a extracts words from the first object. The word extraction unit 12b also extracts words from the second object.

[0026] Figure 5A shows an example of word extraction from the first object. The word extraction unit 12a extracts words by inputting data from a business document containing the rule "Do not attach files to emails and send them to external parties" into the LLM. The LLM of the word extraction unit 12a extracts words by breaking down the description of the business document, which is the first object O1, "Do not attach files to emails and send them to external parties," into word units such as word t11 (external), word t2 (file attachment), word t3 (email sending), and word t4 (do not).

[0027] Figure 5B shows an example of word extraction from a second object. The word extraction unit 12b extracts words by inputting data from the email creation screen into the LLM. The LLM of the word extraction unit 12b identifies the input data as data from the email creation screen, which is the second object O2, as shown in Figure 5B, and identifies the location of the item containing the word predetermined as the extraction target for the email creation screen. In the example in Figure 5B, the LLM of the word extraction unit 12b identifies the locations of item t21 (To), item t22 (CC), item t23 (BCC), item t24 (Attachment), item t25 (Body), and item t26 (Button) from the email creation screen. Then, the LLM of the word extraction unit 12b extracts words from each of the identified items. For example, the LLM extracts email addresses from "To," "CC," and "BCC." The LLM also extracts the file name of the attachment from "Attachment." Furthermore, LLM extracts the text written in the body from the "body" field. LLM may further divide the text data of the body into individual words for extraction. In addition, LLM extracts the names of each button from the "buttons" field. In the example in Figure 5B, the email address t211, "xxx@abc.com", is extracted from item t21 (recipient), the file name t241, "○○.xxx", is extracted from item t24 (attachment), the text of the body t251, "xxxxxxxxx", is extracted from item t25 (body), and the name of the send button t261, "Send", is extracted from item t26 (button).

[0028] In step S3, the correspondence determination unit 13 performs matching using the strings of the words extracted by the word extraction unit 12a and the words extracted by the word extraction unit 12b. Figure 6 is a diagram illustrating the concept of matching using strings. The correspondence determination unit 13 compares the strings of the words extracted by the word extraction unit 12a and the words extracted by the word extraction unit 12b and determines whether the words match. That is, the correspondence determination unit 13 determines that a match occurs even if the strings between the words do not exactly match, as long as there is a correspondence. In the example in Figure 6, for the word "file attachment", the word "○○.xxx" is extracted from the word attached file, so the two are determined to match. Similarly, for the words "send email" and "do not do", the word "send" is extracted from the send button for sending an email, so the two are determined to match. On the other hand, for the word "external", the word "xxx@abc.com" does not match in terms of strings, and should not be simply determined to match. Therefore, in step S3, the determination of whether or not a match has been found is postponed.

[0029] In step S4, the correspondence determination unit 13 determines whether there are any words extracted by the word extraction unit 12b that could not be matched or had a low matching accuracy with respect to the words extracted by the word extraction unit 12a. If, in step S4, it is determined that there are any words extracted by the word extraction unit 12b that could not be matched or had a low matching accuracy with respect to the words extracted by the word extraction unit 12a, the process proceeds to step S5. If, in step S4, it is determined that there are no words extracted by the word extraction unit 12b that could not be matched or had a low matching accuracy with respect to the words extracted by the word extraction unit 12a, the process proceeds to step S9.

[0030] In step S5, the correspondence determination unit 13 creates a list of words that were determined not to be matched or had low matching accuracy.

[0031] In step S6, the correspondence determination unit 13 uses the graph search unit 13a to search the word graph 14 for each word included in the list of words that could not be matched.

[0032] Figure 7 illustrates the concept of graph search. Here, in word graph 14, the word "external" is connected to the complementary word "xxx@123.com" via the relational edge "email address", and further, the complementary word "not" is connected to the complementary word "xxx@123.com" via the relational edge "negation". The graph search unit 13a first searches word graph 14 for a graph that starts with the word "external" extracted from the first target object. If there is no graph in word graph 14 that starts with the word "external", the search is terminated, indicating that no match was found. On the other hand, if there is a graph in word graph 14 that starts with the word "external", the graph search unit 13a starts the search. In this case, the graph search unit 13a traverses the nodes in order from the starting node and determines whether the word "xxx@abc.com" matches the word "external". In the example in Figure 7, the word "external" means that the email address is "not xxx@123.com" after traversing to the second node. In other words, the word "xxx@abc.com" is "not xxx@123.com", so a match is established. As a result, the graph search unit 13a determines that it has found the word "xxx@abc.com" from the word "external", and returns this to the correspondence determination unit 13. As a result, the correspondence determination unit 13 determines that the word "external" and the word "xxx@abc.com" have matched.

[0033] In step S7, the correspondence determination unit 13 determines whether there are any words in the list of words that could not be matched or had low matching accuracy that could not be found in the word graph 14. If it is determined in step S7 that there are words in the list of words that could not be matched or had low matching accuracy that could not be found in the word graph 14, the process proceeds to step S8. If it is determined in step S7 that there are no words in the list of words that could not be matched or had low matching accuracy that could not be found in the word graph 14, the process proceeds to step S9.

[0034] In step S8, the correspondence determination unit 13 determines that the first object and the second object are not in a corresponding relationship. In step S9, if the conditions for transitioning to step S8 are not met, the correspondence determination unit 13 determines that the first object and the second object are in a corresponding relationship.

[0035] In step S10, the output unit 15 performs output processing using the determination result of the correspondence relationship determination unit 13.

[0036] Figure 8 is a flowchart illustrating an example of output processing. Figure 8 is a flowchart for determining whether or not rules are being followed on the operation screen.

[0037] In step S101, the output unit 15 compares the rule as the first object with the operation screen as the second object, based on the determination result by the correspondence determination unit 13, to determine whether the rule is being followed on the operation screen. In the example shown in Figures 6 and 7, it is determined that the word "external" corresponds to the word "xxx@abc.com", the word "file attachment" corresponds to the word "○○.xxx", and the words "send email" and "do not do" correspond to the word "send". From this, the output unit 15 determines that the conditions "external" and "file attachment" are met for the rule "do not send email with a file attached to an external party". On the other hand, for the words "send email" and "do not do", the send button has not been pressed at this time, so it is determined that the two correspond. Therefore, the output unit 15 determines that the rule is being followed on the operation screen at this time. Furthermore, since the output unit 15 satisfies the conditions of "external" and "file attachment," it may be determined on the operation screen that the rules have not been followed. Which determination is adopted in step S101 may be decided as appropriate by the rule creator, etc. If it is determined in step S101 that the rules have been followed on the operation screen, the process proceeds to step S102. If it is determined in step S101 that the rules have not been followed on the operation screen, the process proceeds to step S103.

[0038] In step S102, the output unit 15 determines whether or not to terminate the process. For example, it determines to terminate the process when the user closes the email creation screen while the rules are being followed. If it is determined in step S102 to terminate the process, the process in Figure 8 is terminated. In this case, the process in Figure 4 is also terminated. On the other hand, if it is determined in step S102 not to terminate the process, the process returns to step S1 in Figure 4.

[0039] In step S103, the output unit 15 warns the user that the rule has not been followed. The warning may be given, for example, by displaying a message on the email composition screen. Figure 9 shows an example of a warning display. As shown in Figure 9, if it is determined that the rule has not been followed, the output unit 15 displays a message M on the email composition screen, for example, "You have violated the rule that you must not attach files to emails sent to external parties." The process then returns to step S1 in Figure 4.

[0040] As mentioned above, output processing is not limited to processing that determines whether a rule has been followed. Output processing may simply involve displaying a message indicating whether or not there is a correspondence between the first object and the second object. Alternatively, output processing may involve determining whether the created rule or instruction conforms to the business policy. In this case as well, the processing can basically be carried out in the same manner as in Figure 8.

[0041] Figure 10 is a block diagram showing an example of the hardware configuration of the natural language processing unit 1. As shown in Figure 10, the natural language processing unit 1 includes, for example, a processor 101, a ROM (read-only memory) 102, a RAM (random access memory) 103, a communication module 104, a display 105, and storage 106. The natural language processing unit 1 may be, for example, a terminal device such as a smartphone or a PC (personal computer). Alternatively, the natural language processing unit 1 may be a device built on a cloud environment.

[0042] The processor 101 is a processing circuit that controls the overall operation of the natural language processing device 1. By executing, for example, a natural language processing program stored in the storage 106, the processor 101 operates as the input units 11a and 11b, the word extraction units 12a and 12b, the correspondence determination unit 13, and the output unit 15. The processor 101 is, for example, a CPU. The processor 101 may be an MPU, a GPU, an ASIC, an FPGA, etc. The processor 101 may be a single CPU or the like, or may be a plurality of CPUs or the like.

[0043] The ROM 102 is a non-volatile semiconductor memory. The ROM 102 stores a startup program of the natural language processing device 1 and various setting values. The RAM 103 is a volatile memory. The RAM 103 is used, for example, as a work memory during processing in the processor 101.

[0044] The communication module 104 is a circuit provided with an interface for the natural language processing device 1 to communicate with an external device. The communication module 104 may be a wireless communication module or a wired communication module.

[0045] The display 105 is, for example, an LCD (liquid crystal display) or an EL (electro-luminescence) display. The display 105 displays a GUI (graphical user interface) corresponding to various applications such as an email application.

[0046] The storage 106 is a non-volatile storage device such as a hard disk or a flash memory. The storage 106 stores various programs such as the operating system (OS) of the natural language processing device 1 and the natural language processing program. The natural language processing program may be downloaded to the storage 106 through a network. Also, the storage 106 may store the word graph 14. On the other hand, the storage 106 may not store the word graph 14. In this case, the word graph 14 may be stored in an external storage that the natural language processing device 1 can communicate with.

[0047] As described above, according to the embodiment, in order to determine the correspondence relationship with words in an indirect relationship that does not depend on the character string, which is difficult to directly determine the correspondence relationship between words by matching the character strings, the presence or absence of the correspondence relationship between words is determined by searching for complementary words using the word graph. Thereby, the determination of the correspondence relationship between the objects in which the words in the indirect relationship are described can also be appropriately performed.

[0048] Here, in the above-described embodiment, first, matching by the character string between words is performed. When there is a word that cannot be matched by the character string or has a low matching accuracy, the search using the word graph 14 is performed. On the contrary, the matching by the character string between words may be omitted, and the search using the word graph 14 may be performed for all words.

[0049] Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist thereof at the implementation stage. Also, the respective embodiments may be combined and implemented as appropriate, and in that case, the combined effects can be obtained. Furthermore, the above-described embodiment includes various inventions, and various inventions can be extracted by combinations selected from the plurality of disclosed constituent elements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiment, if the problem can be solved and the effect can be obtained, the configuration from which these constituent elements are deleted can be extracted as an invention.

[0050] 1... Natural language processing device 11a... Input unit 11b... Input unit 12a... Word extraction unit 12b... Word extraction unit 13... Correspondence relationship determination unit 13a... Graph search unit 14... Word graph 15... Output unit 101... Processor 102... ROM 103... RAM 104... Communication module 105... Display 106... Storage

Claims

1. A natural language processing device comprising: a first input unit that receives input of a first object including a description of natural language; a second input unit that receives input of a second object including a description of natural language; a first word extraction unit that extracts at least one first word from the first object; a second word extraction unit that extracts at least one second word from the second object; a correspondence relationship determination unit that determines whether or not there is a relationship between the first word and the second word; and an output unit that performs output processing based on the determination result of whether or not there is a relationship, wherein the correspondence relationship determination unit searches a word graph from the start node, with the first word as the starting node and connecting at least one complementary word related to the first word with an edge indicating the relationship between the first word and the complementary word, and determines whether or not there is a relationship between the first word and the second word based on whether or not it can reach the second word.

2. The correspondence relationship determination unit determines whether or not there is a relationship between the first word and the second word by matching the strings of the first word and the second word, and if it is not possible to determine whether or not there is a relationship between the first word and the second word by matching the strings of the first word and the second word, it determines whether or not there is a relationship between the first word and the second word based on the word graph, the natural language processing device according to claim 1.

3. The natural language processing device according to claim 1, wherein the first object is a business document containing rules, the second object is the subject to which the rules apply, and the output unit performs, as the output process, a process to determine whether the rules described in the first object are being followed in the second object based on the result of determining whether or not the relationship exists.

Citation Information

Patent Citations

  • Document rule preparation support apparatus, document rule preparation support method and document rule preparation support program

    JP2007172260A

  • Discovery information system, method, and computer program

    JP2016212838A