Information processing device, information processing system, information processing method, and program
Patent Information
- Application Number
- JP2025163395
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-07
- Filing Date
- 2025-09-30
- Publication Date
- 2026-09-17
AI Technical Summary
【0007】 一実施形態に係る情報処理装置によれば、言語モデルに対して新たな文字列が追加された場合に、当該文字列に対応するベクトルを容易に言語モデルに登録できる。
Smart Images

Figure 2026148412000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing apparatus, an information processing system, an information processing method, and a program. [Background Art]
[0002] The following Patent Document 1 discloses a technique related to LLMs (Large Language Models), which generates vocabulary embedding vectors through contrastive learning when generating embedding vectors for converting IDs assigned to characters split by a tokenizer into vectors. [Summary of the Invention] [Problem to be Solved by the Invention]
[0003] Incidentally, there are cases where a new character string is added to a language model.
[0004] In the technique of Patent Document 1, when a new character string is added to a language model, it is necessary to perform contrastive learning to generate a vocabulary embedding vector, so that a large amount of computational cost is required when registering the vector corresponding to the character string in the language model.
[0005] In order to solve the above-mentioned problem of the prior art, an object of the present invention is to enable a vector corresponding to a new character string to be easily registered in a language model when the new character string is added to the language model. [Means for Solving the Problem]
[0006] In order to solve the above-mentioned problem, an information processing apparatus according to an embodiment comprises: a generation unit that generates a third vector corresponding to a new character string by using similarity between a first vector representing the new character string added to a language model and each of second vectors representing a plurality of vocabularies obtained by splitting the new character string; and a registration unit that registers the third vector in a vector table included in the language model. [Effect of the Invention]
[0007] According to one embodiment of the information processing device, when a new string is added to the language model, the vector corresponding to that string can be easily registered in the language model. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows an example of the system configuration of a string splitting system according to one embodiment. [Figure 2] Hardware configuration diagram of a server and PC according to one embodiment. [Figure 3] Functional block diagram of a server according to one embodiment [Figure 4] A flowchart illustrating an example of the procedure for additional processing by the server according to one embodiment. [Figure 5] A diagram showing an example of input / output data for additional processing by a server according to one embodiment. [Figure 6] Figure 5 shows the internal structure of language model A. [Figure 7] Figure 5 shows the configuration of Model B. [Figure 8] This figure shows an example of similarity calculation by the similarity calculation unit included in a server according to one embodiment. [Figure 9] This figure shows an example of vector registration by the registration unit of a server according to one embodiment. [Figure 10] Functional block diagram of a server according to one embodiment. [Figure 11] A flowchart illustrating an example of the procedure for AI chat generation by a server according to one embodiment. [Figure 12] This figure shows an example of a generated AI chat screen displayed on a user terminal by server control according to one embodiment. [Figure 13] This figure shows an example of a generated AI chat screen displayed on a user terminal by server control according to one embodiment. [Modes for carrying out the invention]
[0009] One embodiment of the present invention will be described below with reference to the drawings.
[0010] (An example of the system configuration of string splitting system 10) Figure 1 shows an example of the system configuration of a string splitting system 10 according to one embodiment.
[0011] The string splitting system 10 shown in Figure 1 is an example of an "information processing system." The string splitting system 10 comprises a server 12 and a PC 14. The server 12 and the PC 14 are connected to each other via a communication network 16, enabling them to communicate with one another. The communication network 16 can be, for example, a LAN or the Internet.
[0012] PC14 is an example of a terminal device. PC14 is equipped with an input device for entering text strings. Examples of input devices include a keyboard and a touch panel. PC14 can transmit text strings entered by the user using the input device to the server 12 via the communication network 16. PC14 may also have a speech recognition function that recognizes voice input by the user from a microphone, and in this case, the text string recognized by the speech recognition function may be transmitted to the server 12.
[0013] Server 12 is an example of an "information processing device." Server 12 receives a string transmitted from PC 14 via the communication network 16 and generates text corresponding to the received string by performing predetermined processing (e.g., string splitting, prediction, etc.). Server 12 can then output the text obtained as a result of processing by LLM to PC 14 via the communication network 16.
[0014] For example, the server 12 includes an LLM. The LLM is a machine learning model that performs prediction (inference) from an input character string and generates an output sentence. The LLM has a tokenizer and an embedding layer. The tokenizer has a vocabulary group (dictionary). The vocabulary group includes a plurality of vocabularies each associated with a token ID (identifier). The vocabulary group is implemented, for example, as a JSON file. Based on the vocabulary group, the tokenizer performs character string division processing (i.e., tokenization processing) using a known technique on a character string acquired from the PC 14, thereby dividing the character string acquired from the PC 14 into a plurality of vocabularies (i.e., a plurality of morphemes), and outputs a token ID corresponding to each divided vocabulary. The embedding layer has a vector table. The vector table associates token IDs with vectors. The vectors are high-dimensional vectors, ranging from several hundred to tens of thousands of dimensions. Based on the vector table, the embedding layer identifies a corresponding vector from the token ID obtained by the tokenizer, and outputs the identified vector. The LLM predicts text corresponding to the input character string by performing prediction processing on vectors corresponding to the plurality of vocabularies obtained by the tokenizer. The text predicted by the LLM is output to the PC 14 via the communication network 16.
[0015] The PC 14 can receive the text transmitted from the server 12 (i.e., the text obtained as a processing result by the LLM) via the communication network 16, and perform various processes (e.g., screen display, etc.) using the text.
[0016] Note that in the example shown in FIG. 1, one terminal device (the PC 14) is connected to the server 12 via the communication network 16; however, in practice, in the character string division system 10, a plurality of terminal devices can be connected to the server 12 via the communication network 16, and a character string can be transmitted to the server 12 from each of the plurality of terminal devices.
[0017] Furthermore, in the example shown in FIG. 1, the PC 14 is used as an example of a terminal device for inputting a character string. However, the present invention is not limited thereto, and the terminal device may be any other device (for example, a smartphone, a tablet terminal, an electronic blackboard, an inkjet printer, an MFP, a video conference terminal, a projector, an omnidirectional imaging device, etc.) as long as it can at least input and transmit a character string.
[0018] (Hardware Configuration of Server 12 and PC 14) FIG. 2 is a hardware configuration diagram of the server 12 and the PC 14 according to an embodiment. Here, a common hardware configuration of the server 12 and the PC 14 will be described.
[0019] As shown in FIG. 2, the server 12 and the PC 14 are constructed by a computer, and include a CPU 501, a ROM 502, a RAM 503, an HD 504, an HDD (Hard Disk Drive) controller 505, a display 506, an external device connection I / F (Interface) 508, a network I / F 509, a data bus 510, a keyboard 511, a pointing device 512, a DVD-RW (Digital Versatile Disk Rewritable) drive 514, and a media I / F 516.
[0020] The CPU 501 controls the operation of the entire server 12 or PC 14. The ROM 502 stores programs used to drive the CPU 501, such as IPLs. The RAM 503 is used as the work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading or writing of various data to the HD 504 according to the control of the CPU 501. The display 506 displays various information such as cursors, menus, windows, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memory and printers. The network I / F 509 is an interface for data communication using the communication network 16. The data bus 510 is an address bus and data bus, etc., for electrically connecting each component such as the CPU 501 shown in Figure 2.
[0021] The keyboard 511 is a type of input means equipped with multiple keys for inputting characters, numbers, and various instructions. The pointing device 512 is a type of input means for selecting and executing various instructions, selecting processing targets, and moving the cursor. The DVD-RW drive 514 controls the reading or writing of various data to the DVD-RW 513, which is an example of a removable recording medium. Note that it is not limited to DVD-RW, but may also be DVD-R, etc. The media interface 516 controls the reading or writing (storage) of data to the recording medium 515, such as flash memory.
[0022] (Functional configuration of Server 12) Figure 3 is a functional block diagram of server 12 according to one embodiment. Figure 3 shows several functions related to adding a vector corresponding to a new string, among the multiple functions that server 12 has.
[0023] As shown in Figure 3, the server 12 comprises an acquisition unit 101, a splitting unit 102, a conversion unit 103, a similarity calculation unit 104, a weight value calculation unit 105, a generation unit 106, and a registration unit 107. The server 12 also includes an LLM 110.
[0024] LLM110 is an example of a "language model" and includes a tokenizer 102A, an embedding layer 109, a dictionary 111, and a vector table 112. The dictionary 111 stores strings and vocabulary and the token IDs (identifiers) associated with those strings and vocabulary. The vector table 112 stores a vector for each token ID (identifier) corresponding to the strings and vocabulary registered in the dictionary 111. Alternatively, the tokenizer 102A may have the dictionary 111, and the embedding layer 109 may have the vector table 112.
[0025] The acquisition unit 101 acquires the new string that has been added to the dictionary 111 of the LLM 110.
[0026] The splitting unit 102 divides the new string obtained by the acquisition unit 101 into multiple vocabulary words. Here, the splitting unit 102 uses multiple vocabulary words that are already registered in the dictionary 111 of the LLM 110. Specifically, the splitting unit 102 uses the tokenization function of the tokenizer 102A to split the new string into multiple vocabulary words using the dictionary 111. For example, if the new string obtained by the acquisition unit 101 is "I am", the splitting unit 102 splits the new string "I am" into the vocabulary words "I" and "is" which are already registered in the dictionary 111 of the LLM 110.
[0027] The conversion unit 103 converts the new string obtained by the acquisition unit 101 into a first vector, and converts each of the multiple vocabulary words obtained by the splitting unit 102 into a second vector. For example, the conversion unit 103 uses a publicly available embedding model to convert the new string into a first vector and each of the multiple vocabulary words into a second vector. For example, the conversion unit 103 converts the new string "I" into a first vector, and converts the vocabulary words "I" and "is" into second vectors. Furthermore, the conversion unit 103 converts each of the multiple vocabulary words obtained by the splitting unit 102 into a fourth vector using the embedding layer 109 of the LLM 110.
[0028] The similarity calculation unit 104 calculates the similarity between each of the multiple second vectors obtained by the transformation unit 103 and the first vector obtained by the transformation unit 103, using a known technique for calculating similarity between vectors. For example, the similarity calculation unit 104 calculates cosine similarity as the similarity. However, it is not limited to this, and for example, the similarity calculation unit 104 may calculate the similarity using Euclidean distance or the "maximum dot product" determined from the dot product of the two vectors. For example, the similarity calculation unit 104 calculates the similarity between the first vector corresponding to the new string "I" for each of the second vectors corresponding to the vocabulary "I" and the second vector corresponding to the vocabulary "is". In this case, if cosine similarity is used, a value within the range of -1 to +1 will be calculated.
[0029] The weight calculation unit 105 calculates the weight values of each of the multiple fourth vectors by performing a normalization process on the similarity of each of the multiple second vectors calculated by the similarity calculation unit 104. Here, the weight calculation unit 105 calculates the weight values of each of the multiple fourth vectors so that they all add up to 1. For example, the weight calculation unit 105 processes them so that they all add up to 1. For example, the similarity between the first vector corresponding to "I" and the second vector corresponding to "I" is calculated to be "0.9" through normalization, and the similarity between the first vector corresponding to "I" and the second vector corresponding to "is" is calculated to be "0.1" through normalization. In this case, the weight value of the fourth vector corresponding to the vocabulary "I" is "0.9", and the weight value of the fourth vector corresponding to the vocabulary "is" is "0.1". A larger weight value means a higher similarity to the first vector. The weight of the fourth vector, which vectorizes a vocabulary word using a language model, is calculated from the similarity (similarity between the first and second vectors) calculated using the second vector, which vectorizes the same vocabulary word using an embedding model.
[0030] The generation unit 106 generates a third vector corresponding to the new string obtained by the acquisition unit 101 from the multiple fourth vectors obtained by the conversion unit 103 and the respective weight values of the multiple fourth vectors calculated by the weight value calculation unit 105. Specifically, the generation unit 106 generates the third vector by adding up the results of multiplying each of the multiple fourth vectors by their respective weight values. Note that the normalization process by the weight value calculation unit 105 may be omitted. In this case, the generation unit 106 may generate the third vector corresponding to the new string by taking a weighted average of the respective weight values of the multiple fourth vectors. For example, the generation unit 106 generates a third vector corresponding to the new string "I" by adding up the result of multiplying the fourth vector corresponding to the vocabulary "I" by the weight value "0.9" and the result of multiplying the fourth vector corresponding to the vocabulary "is" by the weight value "0.1".
[0031] The registration unit 107 registers the third vector generated by the generation unit 106 in the vector table 112 of the LLM 110. Here, the registration unit 107 associates the third vector with a token ID and registers it in the vector table 112. At this time, the registration unit 107 may assign a new token ID to the third vector, or it may assign a token ID that has been assigned to an unnecessary vocabulary. In the latter case, unnecessary vocabulary that has little impact on accuracy can be deleted while suppressing an increase in the size of the vector table 112. The token ID associated with the third vector is the same as the token ID that corresponds to the new string in the dictionary 111. For example, if the token ID that corresponds to the new string in the dictionary 111 is a new token ID, the token ID associated with the third vector in the vector table 112 will be the new token ID. For example, if the token ID that corresponds to the new string in the dictionary 111 is an existing token ID that was associated with an unnecessary vocabulary, the token ID associated with the third vector in the vector table 112 will be the existing token ID that was associated with the unnecessary vocabulary. Alternatively, the token ID associated with the new string in dictionary 111 may be modified by the registration unit 107 to match the token ID assigned to the third vector, so that the token ID associated with the third vector becomes the same as the token ID associated with the new string in dictionary 111.
[0032] Each of the functions of the embodiments described above can be realized by one or more processing circuits. Hereinafter, "processing circuit" as used herein includes processors programmed to execute each function by software, such as processors implemented by electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules designed to execute each of the functions described above.
[0033] Furthermore, some of the functions shown in Figure 3 (e.g., tokenizer 102A, embedding model, etc.) may be provided in other devices within the string splitting system 10 (e.g., other servers connected to server 12 in a communicative manner, other servers on the internet, etc.).
[0034] (An example of the procedure for additional processing by Server 12) Figure 4 is a flowchart showing an example of the procedure for additional processing by the server 12 according to one embodiment.
[0035] First, the acquisition unit 101 acquires the new string that has been added to the dictionary 111 of the LLM 110 (step S201).
[0036] Next, the splitting unit 102 splits the new string obtained in step S201 into multiple vocabulary words (step S202).
[0037] Next, the conversion unit 103 converts the new string obtained in step S201 into a first vector using the embedding model (step S203). The conversion unit 103 also converts each of the multiple vocabulary words obtained in step S202 into multiple second vectors using the embedding model (step S204). The conversion unit 103 also converts each of the multiple vocabulary words obtained in step S202 into a fourth vector using the embedding layer 109 of the LLM 110 (step S204).
[0038] Next, the similarity calculation unit 104 calculates the similarity between each of the multiple second vectors obtained in step S204 and the first vector obtained in step S203 (step S205).
[0039] Next, the weight calculation unit 105 calculates the weight values for each of the multiple fourth vectors by performing a normalization process on the similarity between the first vector calculated in step S205 and each of the multiple second vectors (step S206).
[0040] Next, the generation unit 106 generates a third vector corresponding to the new string obtained in step S201 from the multiple fourth vectors obtained in step S204 and the respective weight values of the multiple fourth vectors calculated in step S206 (step S207).
[0041] Next, the registration unit 107 registers the third vector generated in step S207 into the vector table 112 held by the LLM 110. After that, the server 12 completes the series of processes shown in Figure 4.
[0042] Furthermore, if multiple new strings are added to the dictionary 111 of LLM110, the server 12 performs the series of processes shown in Figure 4 for each of the multiple new strings. That is, the server 12 repeatedly performs the series of processes shown in Figure 4 for each new string. In this way, the server 12 can generate and register a third vector for each of the multiple new strings added to the dictionary 111 of LLM110. Adding strings to a language model may be done, for example, when adding not only the vocabulary "I" and "is" but also the combined string "I am" as a new string to the language model improves the accuracy of language processing, or when using an English-specific tokenizer to tokenize "language processing," when the vocabulary "place" is not registered and it becomes necessary to add the vocabulary "place."
[0043] (An example of input / output data used for additional processing by server 12) Figure 5 shows an example of input and output data for additional processing by the server 12 according to one embodiment. In Figure 5, "dictionary" corresponds to dictionary 111. "Lookup table" corresponds to vector table 112. "New vocabulary" corresponds to a new string added to dictionary 111 of LLM 110. "Cosine similarity calculator" corresponds to similarity calculation unit 104.
[0044] Furthermore, "Language Model A" corresponds to LLM110. The internal structure of "Language Model A" is shown in Figure 6. "Model B" is a transformation model that converts input strings into vectors, and for example, a publicly available embedding model is used. The internal structure of "Model B" is shown in Figure 7.
[0045] As shown in Figure 5, in the additional processing by server 12, the new vocabulary added to the dictionary of language model A is first input.
[0046] Next, the splitting unit 102 divides the input new vocabulary into multiple (n) vocabulary words (vocabulary 1, vocabulary 2, ..., vocabulary n) using the dictionary of language model A.
[0047] Next, the conversion unit 103 converts the input new vocabulary into a first vector (new vocabulary vector) using Model B, and each of the multiple vocabulary words (vocabulary 1, vocabulary 2, ..., vocabulary n) is converted into a second vector (vector 1, vector 2, ..., vector n) using Model B.
[0048] Furthermore, the conversion unit 103 converts each of the multiple vocabulary words (vocabulary 1, vocabulary 2, ..., vocabulary n) into a fourth vector (vector 1, vector 2, ..., vector n) using the dictionary and lookup table of language model A.
[0049] Next, a cosine similarity calculator is used to calculate the similarity (similarity 1, similarity 2, ..., similarity n) between each of the multiple second vectors (vector 1, vector 2, ..., vector n) and the first vector (new lexical vector).
[0050] Next, the weight value calculation unit 105 calculates the weight values (weight 1, weight 2, ..., weight n) for each of the multiple fourth vectors (vector 1, vector 2, ..., vector n) by performing a normalization process using multiple similarities (similarity 1, similarity 2, ..., similarity n).
[0051] Then, through weighted average pooling processing by the generation unit 106, a third vector (new vocabulary vector) corresponding to the input new vocabulary is generated by summing the results of multiplying each of the multiple fourth vectors (vector 1, vector 2, ..., vector n) by each of the multiple weight values (weight 1, weight 2, ..., weight n).
[0052] (Example of similarity calculation by the similarity calculation unit 104) Figure 8 shows an example of similarity calculation by the similarity calculation unit 104 of the server 12 according to one embodiment.
[0053] As shown in Figure 8, the similarity calculation unit 104 receives a first vector of a new string (new vocabulary vector) and a second vector of multiple vocabulary words (vectors 1 to n) as input.
[0054] Then, as shown in Figure 8, the similarity calculation unit 104 calculates the similarity between each of the input second vectors (vectors 1 to n) and the input first vector (new vocabulary vector).
[0055] Furthermore, as shown in Figure 8, the similarity calculation unit 104 outputs the similarity (similarity 1 to n) for each of the multiple input second vectors (vectors 1 to n).
[0056] (Example of vector registration by registration unit 107) Figure 9 shows an example of vector registration by the registration unit 107 provided in the server 12 according to one embodiment.
[0057] Figure 9 shows an example in which the registration unit 107 registers the third vector generated by the generation unit 106 in the vector table 112, associating it with the token ID.
[0058] In the example shown in Figure 9, the vector table 112 before registration contains multiple (32,000) vectors with token IDs ranging from "0" to "31999". In other words, the vector table 112 before registration contains multiple vectors corresponding to multiple existing strings and vocabulary.
[0059] In one example shown in Figure 9, the registration unit 107 adds a vector corresponding to a new string to the vector table 112. In this example, the vector X corresponding to the new string is... 32000 However, it has been added to Vector Table 112, associated with the new token ID "32000".
[0060] Furthermore, in another example shown in Figure 9, the registration unit 107 is shown to replace and register a vector corresponding to a new string in the vector table 112. In this example, the vector X2 corresponding to the new string is associated with the existing token ID "2" and registered in the vector table 112. In other words, in this example, the vector X2 corresponding to the existing string, which was associated with token ID "2" in the vector table 112, is replaced by the vector X2 corresponding to the new string through replacement registration.
[0061] Thus, the registration unit 107 may either add or replace the vector corresponding to the new string in the vector table 112. However, by replacing the vector corresponding to the new string in the vector table 112, the registration unit 107 can remove unnecessary vocabulary that has little impact on accuracy while suppressing an increase in the size of the vector table 112.
[0062] Furthermore, administrators may be able to choose whether to add or replace the vector corresponding to the new string.
[0063] As described above, the server 12 according to one embodiment includes a splitting unit 102 that splits a new string added to the LLM 110 into a plurality of vocabulary units, a conversion unit 103 that converts the new string into a first vector and converts each of the plurality of vocabulary units into a second vector and a fourth vector, a similarity calculation unit 104 that calculates the similarity between each of the plurality of second vectors and the first vector, a generation unit 106 that generates a third vector corresponding to the new string from the plurality of fourth vectors and the similarity of each of the plurality of second vectors, and a registration unit 107 that registers the third vector in the vector table of the language model.
[0064] As a result, the server 12 according to one embodiment can divide a new string into multiple vocabulary words without performing comparative learning, and generate a third vector corresponding to the new string from the similarity between multiple fourth vectors corresponding to multiple vocabulary words and each of the first vectors of the multiple second vectors.
[0065] Therefore, according to the server 12 of one embodiment, when a new string is added to the LLM 110, the vector corresponding to that string can be registered in the LLM 110 without performing comparative learning. Furthermore, since the server 12 of one embodiment does not require comparative learning, the vector corresponding to that string can be registered in the LLM 110 with low computational cost.
[0066] Thus, according to the server 12 of one embodiment, when fine-tuning the model for a specific task or when fine-tuning the model to specialize for a specific industry, new strings and vectors corresponding to those strings can be easily registered to the LLM 110 with low computational cost.
[0067] (Examples) The following describes an example of realizing a generated AI chat using an LLM having the vector table (a vector table generated by server 12) as described in the above embodiment.
[0068] (Functional configuration of Server 12) Figure 10 is a functional block diagram of server 12 according to one embodiment. The functional configuration of server 12 shown in Figure 10 differs from the functional configuration of server 12 shown in Figure 3 in that several functions related to AI chat generation processing have been added.
[0069] Specifically, the server 12 shown in Figure 10 further comprises an input receiving unit 121, a response generation unit 122, and a display control unit 123.
[0070] The input receiving unit 121 receives input text, which is natural language, from a user terminal (not shown).
[0071] The response generation unit 122 obtains the processing result from the LLM 110 for the input sentence received by the input reception unit 121, and generates a response sentence from the processing result.
[0072] The display control unit 123 controls the screen display on the user terminal (not shown). For example, the display control unit 123 sends information of the generated AI chat screen to the user terminal to display the generated AI chat screen on the user terminal. Alternatively, for example, the display control unit 123 sends a response sentence generated by the response generation unit 122 to the user terminal to display the response sentence on the generated AI chat screen displayed on the user terminal.
[0073] Furthermore, the server 12 shown in Figure 10 has an LLM 110 which further includes a position encoding 113, a language model body 114, an output layer 115, a decoding 116, and a detokenizer 117. The user terminal also has a communication unit and a display unit.
[0074] (An example of the procedure for AI chat generation by Server 12) Figure 11 is a flowchart showing an example of the procedure for AI chat generation processing by server 12 according to one embodiment.
[0075] First, the display control unit 123 transmits information about the generated AI chat screen to the user terminal, causing the generated AI chat screen to be displayed on the user terminal (step S301). The communication unit of the user terminal receives the information about the generated AI chat screen transmitted from the server 12. The display unit of the user terminal displays the generated AI chat screen based on the information about the generated AI chat screen.
[0076] Next, the communication unit of the user terminal sends the input text entered by the user into the AI chat screen to the server 12. In the server 12, the input receiving unit 121 receives the input text, which is natural language entered into the AI chat screen on the user terminal, from the user terminal and accepts the input text (step S302).
[0077] Next, the tokenizer 102A of LLM110 divides the input sentence received in step S302 into tokens (step S303).
[0078] Next, the embedding layer 109 of LLM110 uses the vector table 112 to convert the tokens obtained in step S303 into vectors (step S304).
[0079] Next, the position encoding 113 of the LLM 110 adds token sequence information to the vector obtained in step S304 (step S305).
[0080] Next, the language model body 114 of LLM110 processes the vector to which the sequence information has been added in step S305, and outputs an output vector as a result of this processing (step S306).
[0081] Next, the output layer 115 calculates the probability distribution of the tokens from the output vector output in step S306 and outputs the said probability distribution (step S307).
[0082] Next, decoding 116 selects an output token from the probability distribution output in step S307 (step S308).
[0083] Next, the detokenizer 117 converts the token selected in step S308 into a string (step S309). The detokenizer 117 has a dictionary that associates token IDs with strings, and uses this dictionary to convert tokens into strings. This dictionary is the same as the one held by the tokenizer 102A. The string generated in step S309 becomes the output of the LLM 110.
[0084] Next, the response generation unit 122 generates a response statement from the string output from the LLM 110 in step S309 (step S310). Here, the response generation unit 122 may use the string output from the LLM 110 as the response statement as is, or it may generate a response statement based on the string output from the LLM 110.
[0085] Next, the display control unit 123 sends information of the generated AI chat screen, including the response sentence generated in step S310, to the user terminal, causing the generated AI chat screen, including the response sentence, to be displayed on the user terminal (step S311). The communication unit of the user terminal receives the information of the generated AI chat screen sent from the server 12, and the display unit of the user terminal displays the generated AI chat screen based on the information of the generated AI chat screen. After that, the server 12 completes the series of processes shown in Figure 11.
[0086] (Example of a generated AI chat screen) Figures 12 and 13 show an example of a generated AI chat screen displayed on a user terminal by the control of a server 12 according to one embodiment.
[0087] The generated AI chat screen 210 shown in Figure 12 is displayed on the user terminal under the control of the display control unit 123 and represents the state after the user's input text has been displayed. In the example shown in Figure 12, the input field at the bottom of the right-hand display area 212 of the generated AI chat screen 210 displays the natural language input text entered by the user: "I like pancakes. Do you know any good places in Tokyo?" The user can send the input text to the server 12 by pressing the triangular send button displayed in the input field. In addition, buttons for voice input and file attachment are displayed in the input field, and the user can input the text by voice or attach a file as input text by pressing these buttons.
[0088] The AI chat screen 220 shown in Figure 13 represents the state after the response to the input sentence has been displayed under the control of the display control unit 123. In the example shown in Figure 13, the display area 222 on the right side of the AI chat screen 220 displays the input sentence entered by the user and the response to the input sentence generated by the response generation unit 122 in chronological order.
[0089] In addition, in the generated AI chat screens 210 and 220, the left-hand display area 211 and 221 shows the history of generated AI chats. However, the history of generated AI chats may also be displayed in several groups, such as "Recent" and "2024 / 12 / 11" (date).
[0090] Additionally, display areas 211 and 221 show a search field, and by entering a search term into this field, the user can view the history of generated AI chats that match that search term.
[0091] Furthermore, in the generated AI chat screens 210 and 220, the upper part of the right-hand display area 212 and 222 displays fields for selecting a model and a field for selecting the version of the vector table 112. The user can select the language model of LLM110 in the field for selecting a model. The user can also select the version of the vector table 112 (the pre-update version or the updated version as described in the embodiment) in the field for selecting the version of the vector table 112. Note that the field for selecting the version of the vector table 112 is optional.
[0092] Although preferred embodiments of the present invention have been described in detail above, the present invention is not limited to these embodiments, and various modifications or changes are possible within the scope of the gist of the present invention as described in the claims.
[0093] The apparatus described in the examples represents only one of several computing environments for carrying out the embodiments disclosed herein. In one embodiment, server 12 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including a network or shared memory, and perform the processing disclosed herein. [Explanation of symbols]
[0094] 10 String Splitting Systems 12 servers 14 PC 16. Communication Networks 101 Acquisition Department 102 Division 102A Tokenizer 103 Conversion Unit 104 Similarity calculation unit 105 Weight Value Calculation Unit 106 Generation part 107 Registration Department 109 Embedding layer 110 LLM 111 Dictionary 112 Vector Tables 113 Position Encoding 114 Language Model Body 115 Output Layer 116 Decoding 117 Detoxifier 121 Input Reception Section 122 Response generation unit 123 Display Control Unit 210,220 Generated AI chat screen 211,212,221,222 display area [Prior art documents] [Patent Documents]
[0095] [Patent Document 1] Japanese Patent Publication No. 2024-080119
Claims
1. A generation unit generates a third vector corresponding to the new string using the similarity between a first vector representing a new string added to the language model and a second vector representing multiple vocabulary words obtained by dividing the new string. A registration unit that registers the third vector in the vector table of the language model. An information processing device equipped with the following features.
2. A splitter that divides a new string added to the language model into multiple vocabulary words, A conversion unit that converts the new string into a first vector and each of the plurality of vocabulary words into a second vector, A similarity calculation unit calculates the similarity between each of the plurality of second vectors and the first vector, The information processing apparatus according to claim 1, further comprising:
3. The conversion unit converts the new string into a first vector using a model different from the language model, converts each of the plurality of vocabulary words into a second vector, and further converts each of the plurality of vocabulary words into a fourth vector using the language model. The generation unit generates the third vector using the fourth vector and the similarity. The information processing apparatus according to claim 2.
4. The system further includes a weight value calculation unit that calculates a weight value for each of the multiple fourth vectors by performing a normalization process on the similarity of each of the first vector and the multiple second vectors, The generating unit is The third vector corresponding to the new string is generated from the multiple fourth vectors and the multiple weight values. The information processing apparatus according to claim 3.
5. An input receiving unit that receives input text from the user terminal, A response generation unit that generates a response sentence to the input sentence using the language model in which the third vector is registered, A display control unit that transmits screen information including the response statement to the user terminal, The information processing apparatus according to claim 4, having the following features.
6. A generation unit generates a third vector corresponding to the new string using the similarity between a first vector representing a new string added to the language model and a second vector representing multiple vocabulary words obtained by dividing the new string. A registration unit that registers the third vector in the vector table of the language model. An information processing system equipped with the following features.
7. The aforementioned information processing system includes an information processing device and a user terminal. The aforementioned information processing device is The generation unit and, The registration unit, An input receiving unit that receives input text from the user terminal, A response generation unit that generates a response sentence to the input sentence using the language model in which the third vector is registered, A display control unit that transmits screen information including the response statement to the user terminal, It has, The aforementioned user terminal is The input text entered by the user is transmitted to the information processing device. The information of the screen including the response statement is received from the information processing device. Based on the information on the screen containing the response statement, the screen containing the response statement is displayed. The information processing system according to claim 6.
8. A generation step of generating a third vector corresponding to the new string using the similarity between a first vector representing a new string added to the language model and a second vector representing multiple vocabulary words obtained by dividing the new string, A registration step of registering the third vector in the vector table of the language model. Information processing methods including
9. Computers, A generation unit generates a third vector corresponding to the new string using the similarity between a first vector representing a new string added to the language model and a second vector representing multiple vocabulary words obtained by dividing the new string, and Registration unit that registers the third vector in the vector table of the language model. A program that makes it function as such.
Citation Information
Patent Citations
Document classification apparatus, method, and program
JP2024080119A