WO2021200200A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2021200200A1
WO2021200200A1 PCT/JP2021/011010 JP2021011010W WO2021200200A1 WO 2021200200 A1 WO2021200200 A1 WO 2021200200A1 JP 2021011010 W JP2021011010 W JP 2021011010W WO 2021200200 A1 WO2021200200 A1 WO 2021200200A1
Authority
WO
WIPO (PCT)
Prior art keywords
speech
character string
information
information processing
processing device
Prior art date
Application number
PCT/JP2021/011010
Other languages
English (en)
French (fr)
Inventor
亮介 三谷
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2021200200A1 publication Critical patent/WO2021200200A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Definitions

  • This disclosure relates to an information processing device and an information processing method.
  • Patent Document 1 a morphological analysis system that divides into units of morphemes and assigns part of speech is provided (for example, Patent Document 1).
  • an input sentence is received, divided into pre-defined morpheme units, and part of speech is given.
  • the prior art cannot always properly estimate the part of speech of a character string.
  • Japanese is divided into pre-defined morpheme units, and part of speech is given based on the division. Therefore, the prior art has a problem that it is difficult to correspond to a language other than Japanese, and it is difficult to appropriately estimate the part of speech of a character string (unknown word) that is not included in a predefined morpheme. .. Therefore, it is desired to enable flexible part-speech estimation of character strings.
  • the information processing apparatus of one form according to the present disclosure is based on an acquisition unit that acquires a character string to be estimated as a part of speech and a byte string obtained by converting the character string. It includes a generation unit that generates part-speech estimation information that estimates the part-speech of a character string.
  • Embodiment 1-1 Outline of information processing according to the embodiment of the present disclosure 1-1-1. Background and effects 1-1-2.
  • Part of speech estimation information generation example 1-5 Processing flow example 1-5-1.
  • Morphological analysis 1-6-1 Example of morphological analysis including unknown words Part 1 1-6-2.
  • FIG. 1 is a diagram showing an example of a process (estimation process) of estimating a part of speech depending on whether or not the character string is an unknown word.
  • FIG. 2 shows an outline of an estimation process using a part-speech estimation model (hereinafter, also simply referred to as “model”) in the case of estimating part-speech for an unknown word.
  • the unknown word referred to here means a character string that is not included in a predetermined dictionary.
  • an unknown word is a character string that is not included in a dictionary based on a corpus or the like.
  • the information processing according to the embodiment of the present disclosure is realized by the information processing device 100 shown in FIG.
  • the information processing device 100 shown in FIG. 3 is an example of an information processing device that estimates part of speech.
  • the information processing device 100 is an information processing device that executes information processing according to the embodiment.
  • the information processing device 100 is a terminal device used by a user.
  • FIG. 1 shows an example in which the information processing device 100, which is a terminal device used by a user, estimates part of speech.
  • the information processing device 100 is used by users such as smartphones, tablet terminals, smart speakers, notebook PCs (Personal Computers), desktop PCs, mobile phones, PDAs (Personal Digital Assistants), and the like. It may be various devices.
  • the device for estimating part of speech is not limited to the terminal device used by the user, and may be any device.
  • the information processing device that estimates the part of speech and the terminal device used by the user may be separate.
  • the system configuration and the like when the part of speech is estimated on the server side will be described later.
  • Japanese will be described as an example, but the information processing executed by the information processing apparatus 100 is not limited to Japanese, and various languages such as English, French, and Korean may be targeted. ..
  • the information processing executed by the information processing apparatus 100 may target any language as long as it has dictionary information described later.
  • the information processing executed by the information processing apparatus 100 may target any language as long as it has a part-of-speech estimation model. That is, the information processing apparatus 100 may perform processing on any language as long as the processing of part speech estimation described later can be executed.
  • the information processing apparatus 100 estimates whether the part of speech of the target character string is a noun, a verb, an adverb, a preposition, an adjective, or an auxiliary verb.
  • the classification of part of speech shown in FIG. 1 is an example, and the classification of part of speech is not limited to the above six, and may be various classifications. In addition, the classification of part of speech may be less than 6 or more than 6.
  • the classification of part of speech may be a dozen or more classifications (categories) as disclosed in the following documents.
  • the information of the multilingual common tag set may be used for the classification of part of speech. ⁇ Universal POS tags ⁇ https://universaldependencies.org/u/pos/>
  • the classification of part of speech may be a classification (category) as disclosed in the following documents.
  • Japanese unidic information may be used for the classification of part of speech.
  • the highest classification major classification
  • a lower classification middle classification, minor classification, fine classification, etc.
  • UniDic part of speech system ⁇ https://www.ogiso.net/wiki/index.php?%BC%F8%B6%C8%BB%F1%CE%C1/UniDic%A4%CE%C9%CA%BB % EC% C2% CE% B7% CF>
  • classification of part of speech in each of the above-mentioned documents is only an example, and the classification of part of speech may be various according to the target language, the purpose of the classified part of speech, and the like.
  • dictionary information storage unit 141 stores dictionary information related to Japanese.
  • the dictionary information storage unit 141 stores the probability distribution of the sentence in which each character string is used and the part of speech of each word.
  • the probability distribution of a part of speech is information indicating the proportion of sentences in which the word is used as the part of speech in the sentences in which the character string is used. For example, in FIG.
  • FIG. 1 a character string included in a dictionary, that is, a process when the word is not an unknown word is described, and then a process for the unknown word is described.
  • the information processing device 100 acquires "order" which is the character string CS1 to be the target of part of speech estimation. For example, the information processing apparatus 100 acquires the character string CS1 included in the sentence to be analyzed. Then, the information processing apparatus 100 determines whether or not the character string CS1 is an unknown word (step S11). The information processing apparatus 100 compares "order", which is the character string CS1, with the character string in the dictionary information storage unit 141, and determines whether or not the character string CS1 is included in the dictionary information storage unit 141. The information processing device 100 compares the target character string with the character string in the dictionary information storage unit 141, and if the target character string is included in the dictionary information storage unit 141, it is not an unknown word. judge.
  • the information processing apparatus 100 includes the information of “order” which is the character string CS1 in the dictionary information storage unit 141, so that the character string CS1 is not an unknown word. It is determined that the character string is a known character string (hereinafter, also referred to as "known word”). That is, the information processing apparatus 100 determines that the character string CS1 "order” is not an unknown word. It is assumed that the dictionary information storage unit 141 stores the corpus and probability distribution of "order” which is the character string CS1. In FIG.
  • the dictionary information storage unit 141 has a noun "0.01", a verb "0.95", an adverb "0.02", and a preposition "0" for the character string CS1 "order”.
  • the adjective is "0.01”
  • the auxiliary verb is "0”. Therefore, the information processing apparatus 100 determines that the character string CS1 "order” is a known word.
  • the information processing device 100 uses the information of the dictionary information storage unit 141 to generate information for estimating the part of speech of the character string CS1 "order" (also referred to as "part of speech estimation information") (step S12).
  • the information processing apparatus 100 uses the information of the dictionary information storage unit 141 to generate the part of speech estimation information of the character string CS1.
  • the information processing apparatus 100 uses the information of the dictionary information storage unit 141 to generate part of speech estimation information INF1 showing the probability distribution of part of speech for the character string CS1.
  • the information processing device 100 extracts the information of the character string CS1 "order” from the dictionary information storage unit 141, and generates the part of speech estimation information INF1.
  • a noun has a score of "0.01”
  • a verb has a score of "0.95"
  • an adverb has a score of "0.02”
  • a preposition has a score of "0”
  • an adjective has a score of "0.01”
  • an auxiliary verb Generates part-of-speech estimation information INF1 indicating a probability distribution with a score of "0".
  • the information processing apparatus 100 uses the information of the dictionary information storage unit 141 to generate the part of speech estimation information of the character string. Then, when the information of the character string to be the target of the part of speech estimation is a known word, the information processing apparatus 100 uses the part of speech estimation information generated by using the information of the dictionary information storage unit 141 to obtain the part of speech of the character string. presume. For example, the information processing apparatus 100 may estimate that the part of speech of the character string is the part of speech having the highest score. For example, the information processing apparatus 100 may presume that the part of speech of the character string CS1 "order" is the verb with the maximum score "0.95".
  • the above part-speech estimation is an example, and specific processing using the part-speech estimation information will be described later.
  • the information processing device 100 acquires "tapiru", which is the character string CS2 to be the target of part of speech estimation. For example, the information processing device 100 acquires the character string CS2 included in the sentence to be analyzed. Then, the information processing apparatus 100 determines whether or not the character string CS2 is an unknown word (step S21). The information processing apparatus 100 compares the character string CS2 "tapiru" with the character string in the dictionary information storage unit 141, and determines whether or not the character string CS2 is included in the dictionary information storage unit 141. The information processing device 100 compares the target character string with the character string in the dictionary information storage unit 141, and if the target character string is not included in the dictionary information storage unit 141, it is determined to be an unknown word. judge.
  • the information processing apparatus 100 uses the character string CS2 as an unknown word because the information of the character string CS2 “tapiru” is not included in the dictionary information storage unit 141. Is determined. In FIG. 1, it is assumed that the dictionary information storage unit 141 does not store the information of the character string CS2 "tapiru”. Therefore, the information processing apparatus 100 determines that the character string CS2 "tapiru" is an unknown word.
  • the information processing device 100 uses the information of the dictionary information storage unit 141 to generate information (part of speech estimation information) for estimating the part of speech of the character string CS2 "tapiru".
  • the information processing apparatus 100 uses a part of speech estimation model M1 (hereinafter, also simply referred to as “model M1”) that inputs a byte string and outputs a plurality of scores corresponding to each of the plurality of part of speech. Generates part-speech estimation information that estimates the part-speech of the character string CS2.
  • the information processing apparatus 100 inputs the byte string corresponding to the character string CS2 into the model M1 and generates part-speech estimation information showing the probability distribution consisting of the scores of each part-speech for the character string CS2.
  • part-speech estimation information showing the probability distribution consisting of the scores of each part-speech for the character string CS2.
  • the information processing device 100 converts each character in the character string CS2 "tapiru” into a predetermined character code (step S22).
  • the information processing device 100 converts each of the three characters “ta”, “pi”, and “ru” in the character string CS2 into a predetermined character code.
  • the information processing apparatus 100 converts each of “ta”, “pi”, and “ru” into bytes corresponding to the character code “UTF-8”.
  • the information processing apparatus 100 converts each of "ta”, "pi”, and “ru” into 3 bytes corresponding to UTF-8.
  • the character code for converting each character is not limited to UTF-8, and any character code may be used as long as it is a character code for converting a character into a numerical value such as a byte.
  • the character code for converting each character may be UTF-16, Shift_JIS, EUC, or the like.
  • the above is an example, and the character code for converting each character may be a character code other than the above.
  • the information processing device 100 generates a byte string BS2 corresponding to the character string CS2 by a conversion process that converts each character in the character string CS2 "tapiru" into a predetermined character code.
  • the information processing device 100 converts the character “ta” into 3 bytes “0xe3", “0x82”, and “0xbf” corresponding to UTF-8.
  • the information processing device 100 converts the character “pi” into 3 bytes “0xe3", “0x83”, and "0x94” corresponding to UTF-8.
  • the information processing device 100 converts the character “ru” into 3 bytes “0xe3", "0x82", and "0x8b” corresponding to UTF-8.
  • the information processing apparatus 100 generates the byte string BS2 corresponding to the character string CS2.
  • FIG. 2 is a diagram showing an example of a process of generating part of speech estimation information according to the embodiment of the present disclosure.
  • the same points as in FIG. 1 are designated by the same reference numerals, and the description thereof will be omitted.
  • the model M1 takes a byte string such as the byte string BS2 in which the character string CS2 is converted as an input, and estimates the part of the character string corresponding to the input byte string (score). Is output.
  • the model M1 takes a byte string such as the byte string BS2 in which the character string CS2 is converted as an input, and estimates the part of the character string corresponding to the input byte string (score). Is output.
  • the model M1 when a byte string is input, the model M1 outputs information (score) indicating the probability distribution of a plurality of part of speech with respect to the character string corresponding to the input byte string. As described above, when the byte string is input, the model M1 outputs a plurality of scores corresponding to each of the plurality of part of speech for the character string corresponding to the input byte string.
  • the model M1 has a network configuration having an input layer indicated by "Input embedding", an intermediate layer indicated by “Intermediate representation”, and an output layer indicated by "Series of POS probability".
  • the model M1 may have a network configuration such as the network NW1 shown in FIG.
  • NW1 the network NW1 shown in FIG.
  • the model M1 when a byte string obtained by converting a character string is input to the input layer, a score indicating the possibility (probability) that the character string corresponding to the input byte string is each part of speech is output from the output layer. Output.
  • the model M1 outputs the scores of each of the six parts of speech "noun”, “verb”, “adverb”, “preposition”, "adjective", and "auxiliary verb".
  • the model M1 outputs the score of each part of speech as shown in the output score SC1 in response to the input of the byte string BS2.
  • the model M1 has a noun score "0.21", a verb score "0.86”, an adverb score "0.02”, and a preposition score "0" for the character string "tapiru” corresponding to the byte string BS2. It outputs ".01”, an adjective score "0.15", and an auxiliary verb score "0.01".
  • the information processing apparatus 100 uses the output result of the model M1 to generate character string CS2 part-of-speech estimation information.
  • the information processing apparatus 100 uses the output result of the model M1 to generate part of speech estimation information INF2 showing the probability distribution of part of speech for the character string CS2.
  • the information processing device 100 extracts the information of the character string CS2 "tapiru" from the dictionary information storage unit 141, and generates the part of speech estimation information INF2.
  • a noun has a score of "0.21”
  • a verb has a score of "0.86”
  • an adverb has a score of "0.02”
  • a preposition has a score of "0.01”
  • an adjective has a score of "0.15".
  • the information processing apparatus 100 uses the model M1 to generate the part of speech estimation information of the character string. Then, when the information of the character string to be the target of the part of speech estimation is an unknown word, the information processing apparatus 100 estimates the part of speech of the character string by using the part of speech estimation information generated by using the output result of the model M1. .. For example, the information processing apparatus 100 may estimate that the part of speech of the character string is the part of speech having the highest score. For example, the information processing apparatus 100 may presume that the part of speech of the character string CS2 "tapiru" is the verb with the maximum score "0.86". As described above, in FIG.
  • the information processing apparatus 100 switches the information used for estimating the part of speech according to whether the character string is a known word or an unknown word, and obtains the part of speech estimation information for estimating the part of speech of the character string. Generate. Specifically, when the character string is a known word, the information processing apparatus 100 uses the information in the dictionary to generate part-speech estimation information of the character string. Further, when the character string is an unknown word, the information processing apparatus 100 generates the part code estimation information of the character string by using the byte string obtained by converting the character string and the model using the byte string as an input. As a result, the information processing apparatus 100 can appropriately estimate the part of speech of the character string even when the character string is an unknown word. Therefore, the information processing apparatus 100 can enable flexible part-speech estimation of character strings.
  • rule-based algorithms such as rules that focus on the continuity of character types, rules that list part of speech that is likely to occur, and rules that extract the first and last N characters of a character string.
  • rule-based algorithms such as rules that focus on the continuity of character types, rules that list part of speech that is likely to occur, and rules that extract the first and last N characters of a character string.
  • the information processing apparatus 100 estimates the part of speech of the character string by using an algorithm that directly estimates the part of speech of the character string of the unknown word candidate.
  • the input word candidate character string
  • the feature amount is extracted by machine learning.
  • the result is regressed to the probability of occurrence for each part of speech by the classification algorithm.
  • the information processing apparatus 100 can obtain a probability distribution for each part of speech to the word candidate as an output.
  • the information processing apparatus 100 is based on the information contained in the leading and trailing character strings such as "#tion”, “pre #”, and "#ly”, and the information contained in the words registered in the existing dictionary. It is possible to complement and predict the probability distribution of part of speech for unknown words. Further, by extracting information in byte units, the information processing apparatus 100 can operate with the same algorithm even in a language such as Japanese and Chinese that frequently uses multibyte characters. In addition, the information processing device 100 requires the same knowledge in each language because heuristics such that "#tion", which is often used in existing implementations, tends to be a noun, can be learned directly from the data. It is possible to estimate an appropriate part of speech without doing so.
  • the information processing apparatus 100 can significantly reduce the vector space size by processing in character units and in the example of FIG. 1 in byte units. Further, since the information processing apparatus 100 can assume a plurality of unknown division candidates when determining the division unit, it is possible to suppress the division error.
  • the information processing apparatus 100 uses the dictionary information to generate a part-speech estimation model such as the model M1.
  • the information processing device 100 generates the model M1 by using the Japanese dictionary information.
  • the information processing apparatus 100 generates the model M1 by using the Japanese dictionary information in the dictionary information storage unit 141.
  • the information processing device 100 generates a model M1 which is a Japanese part-speech estimation model by using a known word in Japanese dictionary information and a probability distribution of the known word.
  • the information processing device 100 uses the probability distribution of a known word as correct answer information of the known word.
  • the information processing apparatus 100 performs learning processing so that when a byte string corresponding to a known word is input, a score of each part of speech corresponding to the probability distribution of the known word is output.
  • the information processing apparatus 100 uses the probability distribution of the known word "order” in the dictionary information storage unit 141 as the correct answer information of the known word "order".
  • the information processing apparatus 100 has a noun score "0.01”, a verb score "0.95", an adverb score "0.02”, and a preposition score "0.02" as correct answer information for the known word "order”.
  • a probability distribution of "0”, an adjective with a score of "0.01”, and an auxiliary verb with a score of "0” is used.
  • the information processing apparatus 100 learns so that when a byte string corresponding to the known word "order” is input, the score of each part of speech corresponding to the probability distribution of the known word "order” is output. I do.
  • the information processing apparatus 100 has an output value of "0.01" corresponding to the noun, an output value of "0.95" corresponding to the verb, an output value of "0.02" corresponding to the adverb, and the adjective.
  • the learning process is performed so that the corresponding output value is "0", the output value corresponding to the adjective is "0.01", and the output value corresponding to the adverb is "0".
  • the information processing apparatus 100 learns the part-speech estimation model using the information of known words.
  • the above is an example, and the information processing apparatus 100 may learn a part-speech estimation model such as the model M1 by various methods.
  • the information processing apparatus 100 uses English dictionary information to generate a model M2 as shown in FIGS. 8 and 9.
  • the information processing apparatus 100 uses the known words in the English dictionary information and the probability distribution of the known words to generate model M2, which is an English part-speech estimation model.
  • the information processing device 100 uses the probability distribution of a known word as correct answer information of the known word. In this case, the information processing apparatus 100 performs learning processing so that when a byte string corresponding to a known word is input, a score of each part of speech corresponding to the probability distribution of the known word is output, thereby performing English.
  • the model M2 corresponding to is generated.
  • the information processing apparatus 100 generates a part-of-speech estimation model corresponding to various languages such as Spanish, Arabic, and Russian, not limited to the above-mentioned Japanese and English.
  • the information processing apparatus 100 When there are a plurality of languages in which the classification of part of speech is common (also referred to as "classification common language”), the information processing apparatus 100 has a part of speech estimation model ("common part of speech estimation") that can be commonly used in the plurality of classification common languages. A model) may be generated. For example, when the language LA and the language LB are classified common languages, the information processing apparatus 100 may generate a common part of speech estimation model that can handle both the language LA and the language LB. In this case, the information processing apparatus 100 uses the dictionary information of the language LA and the dictionary information of the language LB to generate a common part of speech estimation model.
  • the information processing apparatus 100 uses a common part-speech estimation model for a character string such as an unknown word in the language LA to generate part-speech estimation information for that character string. Further, the information processing apparatus 100 uses a common part-speech estimation model for a character string such as an unknown word in the language LB, and generates part-speech estimation information for that character string.
  • the information processing apparatus 100 may generate a common part of speech estimation model that can handle both Japanese and English.
  • the model M1 and the model M2 may be the same part-speech estimation model.
  • the information processing apparatus 100 may generate a part-speech estimation model in which an input other than a byte string is input.
  • the information processing apparatus 100 may generate a part of speech estimation model in which an image of a character string is input.
  • the information processing apparatus 100 may input the image group of each character of the character string to be estimated for the part of speech into the part of speech estimation model to generate the part of speech estimation information.
  • the information processing apparatus 100 may generate a part-of-speech estimation model in which time-series information such as a voice spoken of a character string is input.
  • the information processing apparatus 100 learns (generates) a part-of-speech estimation model that receives time-series information such as a voice that utters a character string and outputs (generates) part-of-speech estimation information of the character string corresponding to the time-series information. You may.
  • the information processing apparatus 100 may input time-series information such as a voice that utters a character string to be estimated for part of speech into the part of speech estimation model to generate part of speech estimation information.
  • the information processing device 100 may acquire the part-speech estimation model from an external model generation device that generates the part-speech estimation model.
  • the information processing device 100 may acquire a part-speech estimation model corresponding to a language (target language) for which part-speech estimation is performed from the model generation device.
  • the information processing apparatus 100 may request the model generation device for a part-speech estimation model corresponding to the language (target language) for which the part-speech estimation is to be performed, and acquire the part-speech estimation model of the target language from the model generation device.
  • FIG. 3 is a diagram showing a configuration example of the information processing device 100 according to the embodiment of the present disclosure.
  • the information processing device 100 shown in FIG. 3 is an example of the information processing device.
  • the information processing device 100 is a computer that realizes a function as an information processing device described later.
  • the information processing device 100 includes a communication unit 11, an input unit 12, a display unit 13, a storage unit 14, and a control unit 15.
  • the information processing device 100 includes an input unit 12 (for example, a keyboard, a mouse, etc.) that receives various operations from the administrator of the information processing device 100, and a display unit 13 (for example, a display unit 13) for displaying various information. , Liquid crystal display, etc.).
  • the communication unit 11 is realized by, for example, a NIC (Network Interface Card), a communication circuit, or the like.
  • the communication unit 11 is connected to the communication network N (network such as the Internet) by wire or wirelessly, and transmits / receives information to / from other devices via the communication network N.
  • the input unit 12 accepts input by the user.
  • the input unit 12 may accept the user's selection of the learning method.
  • the input unit 12 may accept various operations from the user via a keyboard, mouse, or touch panel provided in the information processing device 100.
  • the display unit 13 displays various information.
  • the display unit 13 is a display device (display unit) such as a display, and displays various information.
  • the display unit 13 displays the information generated by the generation unit 153.
  • the display unit 13 displays the information of the analysis result by the analysis unit 154.
  • the information processing device 100 is not limited to the display unit 13, and may have a functional configuration for outputting information.
  • the information processing device 100 may have a function of outputting information as voice.
  • the information processing device 100 may have an audio output unit such as a speaker that outputs audio.
  • the storage unit 14 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
  • the storage unit 14 includes a dictionary information storage unit 141, a model information storage unit 142, and a part-speech estimation information storage unit 143.
  • the dictionary information storage unit 141 stores dictionary information.
  • the dictionary information storage unit 141 stores dictionary information related to words.
  • the dictionary information storage unit 141 stores character information (corpus) such as a sentence in which each word is used and the probability distribution of the part of speech of each word.
  • the dictionary information storage unit 141 may store dictionary information for each language.
  • the dictionary information storage unit 141 contains Japanese dictionary information, which is dictionary information for Japanese, English dictionary information, which is dictionary information for English, and German dictionary information, which is dictionary information for German.
  • Chinese dictionary information which is dictionary information for Chinese, and dictionary information of various languages may be stored.
  • the dictionary information storage unit 141 can identifiable whether each data is learning data, evaluation data, or the like. For example, the dictionary information storage unit 141 stores the learning data and the evaluation data in a distinguishable manner. The dictionary information storage unit 141 may store information that identifies whether each data is learning data or evaluation data.
  • the information processing device 100 learns a model based on each data used as learning data and correct answer information.
  • the information processing device 100 measures the accuracy of the model based on each data used as evaluation data and correct answer information.
  • the information processing apparatus 100 measures the accuracy of the model by collecting the result of comparing the output result output by the model when the evaluation data is input and the correct answer information.
  • the model information storage unit 142 stores information about the model.
  • the model information storage unit 142 stores information (model data) indicating the structure of the model (network).
  • FIG. 4 is a diagram showing an example of a model information storage unit according to the embodiment of the present disclosure.
  • FIG. 4 shows an example of the model information storage unit 142 according to the embodiment.
  • the model information storage unit 142 includes items such as "model ID", "use", and "model data”.
  • Model ID indicates identification information for identifying the model.
  • User indicates the use of the corresponding model.
  • Model data indicates model data.
  • FIG. 4 an example in which conceptual information such as “MDT1" is stored in “model data” is shown, but in reality, various information constituting the model such as information and functions related to the network included in the model are stored. included.
  • model M1 identified by the model ID "M1" indicates that the use is "part of speech estimation”.
  • Model M1 indicates that it is a model used for part-speech estimation of words.
  • the model data of the model M1 is the model data MDT1.
  • the model information storage unit 142 may store a plurality of models.
  • the model information storage unit 142 may store a part-speech estimation model corresponding to each language, such as model M1 and model M2.
  • the model information storage unit 142 is not limited to the above, and may store various information depending on the purpose.
  • the model information storage unit 142 stores the model information learned (generated) by the learning process.
  • the model information storage unit 142 stores the parameter information of the model M1 learned (generated) by the learning process.
  • Part of speech estimation information storage unit 143 stores various information related to part of speech estimation.
  • FIG. 5 is a diagram showing an example of a part-speech estimation information storage unit according to the embodiment of the present disclosure.
  • the part-speech estimation information storage unit 143 stores various information related to a character string such as an unknown word that is the target of part-speech estimation and the estimation result of the part-speech.
  • FIG. 5 shows a case where a probability distribution based on the score of each part of speech is stored as a result of part of speech estimation.
  • An example of the part-speech estimation information storage unit 143 according to the embodiment is shown.
  • the dictionary information storage unit 141 includes items such as "target character string", "part of speech ID”, "part of speech”, and "probability distribution (score)".
  • “Target character string” indicates the character string that is the target of part of speech estimation.
  • the "part of speech ID” indicates identification information for identifying the part of speech. Further, “part of speech” indicates a part of speech corresponding to the part of speech ID.
  • “Probability distribution (score)” indicates the probability distribution (score) of the corresponding part of speech. The larger the value of the “probability distribution (score)", the higher the possibility that the part of speech is the target character string.
  • the candidates that can be the part of speech of the target character string “tapiru” include a plurality of part of speech identified by the part of speech IDs “PS1” to “PS6” and the like.
  • the part of speech (part of speech PS1) identified by the part of speech ID “PS1” indicates “noun", that is, a noun.
  • the part of speech (part of speech PS2) identified by the part of speech ID “PS2” indicates that it is a "verb", that is, a verb.
  • the part of speech (part of speech PS3) identified by the part of speech ID "PS3” indicates "adverb", that is, an adverb.
  • the part of speech (part of speech PS4) identified by the part of speech ID "PS4" indicates “preposition”, that is, a preposition.
  • the part of speech (part of speech PS5) identified by the part of speech ID "PS5" indicates “adjective”, that is, an adjective.
  • the part of speech (part of speech PS6) identified by the part of speech ID "PS6” indicates that it is an "auxiliary verb", that is, an auxiliary verb.
  • the part of speech of the target character string "tapiru” is "0.21" for a noun, "0.86” for a verb, "0.02” for an adverb, "0.01" for a preposition, and an adjective. Indicates a probability distribution in which is "0.15" and the auxiliary verb is "0.01".
  • the part-speech estimation information storage unit 143 may store various information depending on the purpose, not limited to the above.
  • the part-speech estimation information storage unit 143 stores the score of each part of speech in the "probability distribution (score)" as correct answer information (correct answer label) corresponding to each data.
  • control unit 15 for example, a program (for example, an information processing program according to the present disclosure) stored inside the information processing apparatus 100 by a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or the like is stored in a RAM (Random Access Memory). ) Etc. are executed as a work area. Further, the control unit 15 is a controller, and may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • control unit 15 includes an acquisition unit 151, a learning unit 152, a generation unit 153, an analysis unit 154, and a transmission unit 155, and has functions and operations of information processing described below. To realize or execute.
  • the internal configuration of the control unit 15 is not limited to the configuration shown in FIG. 3, and may be another configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151 acquires various information.
  • the acquisition unit 151 acquires various information from an external information processing device.
  • the acquisition unit 151 acquires various information from the storage unit 14.
  • the acquisition unit 151 acquires the information received by the input unit 12.
  • the acquisition unit 151 acquires various information from the storage unit 14.
  • the acquisition unit 151 acquires various information from the dictionary information storage unit 141, the model information storage unit 142, and the part-speech estimation information storage unit 143.
  • the acquisition unit 151 acquires learning data.
  • the acquisition unit 151 acquires dictionary information from the dictionary information storage unit 141.
  • the acquisition unit 151 may acquire the model.
  • the acquisition unit 151 may acquire information indicating the network structure of the model.
  • the acquisition unit 151 acquires a model from an external information processing device or a storage unit 14 that provides the model.
  • the acquisition unit 151 acquires the model M1 from the model information storage unit 142.
  • the acquisition unit 151 acquires information indicating the network structure of the model M1 from the model information storage unit 142.
  • the acquisition unit 151 acquires learning data used for learning a model by machine learning.
  • the acquisition unit 151 acquires learning data used for learning the model from the dictionary information storage unit 141.
  • the acquisition unit 151 acquires various information learned by the learning unit 152.
  • the acquisition unit 151 acquires various information generated by the generation unit 153.
  • the acquisition unit 151 acquires various information analyzed by the analysis unit 154.
  • the acquisition unit 151 acquires a character string to be estimated as a part of speech.
  • the acquisition unit 151 acquires a character string that is an unknown word.
  • the acquisition unit 151 acquires a character string that is an unknown word that is not included in the dictionary information.
  • the acquisition unit 151 acquires a character string that is not included in the dictionary information of the language corresponding to the character string and is an unknown word in the language.
  • the learning unit 152 performs the learning process.
  • the learning unit 152 performs various learning.
  • the learning unit 152 learns various types of information based on the information acquired by the acquisition unit 151.
  • the learning unit 152 learns (generates) a model.
  • the learning unit 152 learns various information such as a model.
  • the learning unit 152 generates a model by learning.
  • the learning unit 152 learns a model by using various techniques related to machine learning. For example, the learning unit 152 learns the parameters of the model (network).
  • the learning unit 152 learns a model by using various techniques related to machine learning.
  • the learning unit 152 performs various learning.
  • the learning unit 152 learns various types of information based on the information stored in the storage unit 14.
  • the learning unit 152 learns a model based on the information stored in the dictionary information storage unit 141 and the model information storage unit 142.
  • Learning unit 152 learns network parameters. For example, the learning unit 152 learns the network parameters of the model M1 and the model M2. The learning unit 152 learns the model M1 and the model M2 by learning the network parameters of the model M1 and the model M2.
  • the learning unit 152 learns the model using the learning data which is a combination of the learning byte string and the correct answer information corresponding to the learning byte string.
  • the learning unit 152 learns the model corresponding to the language by using the learning data of the language corresponding to the character string.
  • the learning unit 152 generates a model by performing learning processing based on the learning data (teacher data) stored in the dictionary information storage unit 141.
  • the learning unit 152 generates a model by performing a learning process using the learning data stored in the dictionary information storage unit 141. For example, the learning unit 152 generates a model used for part-speech estimation.
  • the learning unit 152 learns the network parameters of the model M1 and the model M2, and generates the model M1 and the model M2.
  • the learning method by the learning unit 152 is not particularly limited. For example, learning data in which a byte string corresponding to a character string and a probability distribution of the character string are linked is prepared, and the learning data is used as a multi-layer neural network. You may learn by inputting into the calculation model based on. Further, for example, a method based on DNN (Deep Neural Network) such as CNN (Convolutional Neural Network) or 3D-CNN may be used.
  • the learning unit 152 may use a method based on a recurrent neural network (RNN) or an LSTM (Long Short-Term Memory units) that extends the RNN.
  • RNN recurrent neural network
  • LSTM Long Short-Term Memory units
  • the learning unit 152 stores the model generated by learning in the model information storage unit 142.
  • the learning unit 152 generates the model M1 and the model M2.
  • the learning unit 152 stores the generated model M1 and model M2 in the model information storage unit 142.
  • the learning unit 152 learns a model based on each data used as learning data and correct answer information.
  • Generation unit 153 performs various generations.
  • the generation unit 153 generates various information based on the information acquired by the acquisition unit 151.
  • the generation unit 153 generates various information based on the model learned by the learning unit 152.
  • the generation unit 153 generates various information based on the information stored in the storage unit 14.
  • the generation unit 153 generates various types of information based on the information stored in the dictionary information storage unit 141, the model information storage unit 142, and the part-speech estimation information storage unit 143.
  • the generation unit 153 makes various determinations.
  • the generation unit 153 determines whether or not the character string is an unknown word.
  • the generation unit 153 makes various determinations based on the information acquired by the acquisition unit 151.
  • the generation unit 153 makes various determinations based on the model learned by the learning unit 152.
  • the generation unit 153 makes various determinations based on the information stored in the storage unit 14.
  • the generation unit 153 makes various determinations based on the information stored in the dictionary information storage unit 141, the model information storage unit 142, and the part-speech estimation information storage unit 143.
  • the generation unit 153 may generate various information to be displayed on the display unit 13.
  • the generation unit 153 may generate various information such as character information to be displayed on the display unit 13 and image information such as a graph.
  • the generation unit 153 generates information (image) about the screen by appropriately using various conventional techniques related to the image.
  • the generation unit 153 generates an image by appropriately using various conventional techniques related to GUI.
  • the generation unit 153 may generate an image in CSS, Javascript (registered trademark), HTML, or any language capable of describing information processing such as information display and operation reception described above.
  • the generation unit 153 generates part of speech estimation information for estimating the part of speech of the character string based on the byte string in which the character string is converted.
  • the generation unit 153 generates part-speech estimation information for estimating which part of speech the character string is among a plurality of part-speech.
  • the generation unit 153 generates part-speech estimation information for estimating which part-speech the character string is among the plurality of part-speech included in the part-speech system corresponding to the language of the character string.
  • the generation unit 153 generates part of speech estimation information including a score indicating which of the plurality of part of speech the character string is.
  • the generation unit 153 generates part-speech estimation information including a plurality of scores corresponding to each of the plurality of part-speech.
  • the generation unit 153 generates part-speech estimation information indicating the probability distribution of a plurality of part-speech with respect to the character string.
  • the generation unit 153 generates part of speech estimation information for estimating the part of speech of a character string by using a model in which a byte string is input.
  • the generation unit 153 generates part of speech estimation information for estimating the part of speech of the character string by using a model that outputs a score indicating which of the plurality of part of speech the character string is.
  • the generation unit 153 generates part of speech estimation information for estimating the part of speech of a character string by using a model that outputs a plurality of scores corresponding to each of the plurality of part of speech.
  • the generation unit 153 generates part-of-speech estimation information for estimating the part-of-speech of a character string by using a model learned using learning data which is a combination of a learning byte string and correct answer information corresponding to the learning byte string. ..
  • the generation unit 153 generates part-speech estimation information for estimating the part-speech of the character string by using the model corresponding to the language learned by using the learning data of the language corresponding to the character string.
  • the generation unit 153 generates part-speech estimation information that estimates the part-speech of a character string that is an unknown word.
  • the generation unit 153 generates part-speech estimation information that estimates the part-speech of a character string that is not included in the dictionary information.
  • the generation unit 153 generates part-speech estimation information that estimates the part-speech of a character string that is an unknown word in the language.
  • the generation unit 153 generates part-speech estimation information for estimating the part-speech of the character string based on the byte string in which each of the characters included in the character string is converted into a plurality of bytes.
  • the generation unit 153 estimates the part of the character string based on the byte string in which each of the characters contained in the character string is converted into a plurality of bytes. Generate part-of-speech estimation information.
  • Analysis unit 154 performs analysis processing.
  • the analysis unit 154 analyzes various information.
  • the analysis unit 154 analyzes various information based on the information acquired from the external information processing device.
  • the analysis unit 154 analyzes various information based on the information stored in the storage unit 14.
  • the analysis unit 154 analyzes various types of information based on the information stored in the dictionary information storage unit 141, the model information storage unit 142, and the part-speech estimation information storage unit 143.
  • the analysis unit 154 stores information on the analysis result in the storage unit 14.
  • the analysis unit 154 performs various analysis processes based on the information generated by the generation unit 153. For example, the analysis unit 154 performs a morphological analysis process as shown in FIGS. 13 to 17.
  • the analysis unit 154 executes analysis of character information such as sentences by appropriately using natural language processing technology such as morphological analysis.
  • the analysis unit 154 estimates (identifies) the content of the character information such as a sentence by semantic analysis of the character information such as a sentence.
  • the analysis unit 154 estimates (identifies) the content of the character information by analyzing the character information using semantic analysis as appropriate. For example, the analysis unit 154 estimates the content of the character information by analyzing the character information by appropriately using various conventional techniques such as parsing.
  • the analysis unit 154 analyzes the character information including the character string by using the part of speech estimation information generated by the generation unit 153.
  • the analysis unit 154 analyzes the character information by using the combination of the part of speech estimated for the character string and the character string.
  • the analysis unit 154 uses the part-speech estimation information to perform morphological analysis on the character information including the character string.
  • the transmission unit 155 transmits various information.
  • the transmission unit 155 provides various types of information.
  • the transmission unit 155 provides various information to an external information processing device.
  • the transmission unit 155 transmits various information to an external information processing device.
  • the transmission unit 155 transmits the information stored in the storage unit 14.
  • the transmission unit 155 transmits the information stored in the dictionary information storage unit 141, the model information storage unit 142, and the part-speech estimation information storage unit 143.
  • the transmission unit 155 transmits information on the model learned by the learning unit 152.
  • the transmission unit 155 transmits the information generated by the generation unit 153.
  • the transmission unit 155 transmits the analysis result by the analysis unit 154.
  • FIG. 6 is a diagram showing an example of a model according to the embodiment of the present disclosure.
  • the network NW1 shown in FIG. 6 shows a neural network including a plurality of (multilayer) intermediate layers between the input layer INL and the output layer OUTL.
  • the network NW1 shown in FIG. 6 is an example of a network of model M1 and model M2.
  • the network NW1 shown in FIG. 6 is a conceptual diagram showing a neural network (model) used for part-speech estimation corresponding to the network of the model M1.
  • model used for part-speech estimation corresponding to the network of the model M1.
  • the network NW1 outputs information (score) for estimating the part of the character string corresponding to the byte string from the output layer OUTL.
  • the information processing apparatus 100 inputs information to the input layer INL in the network NW1 to output information (score) for estimating the part of speech of the character string corresponding to the input from the output layer OUTL.
  • the network NW1 is shown as an example of the model (network), but the network NW1 may be in various formats depending on the application and the like.
  • the information processing apparatus 100 learns the model M1 by learning the parameters (weights) of the model M1 having the structure of the network NW1 shown in FIG.
  • the information processing device 100 also learns about the model M2 in the same manner as described above.
  • FIG. 7 is a flowchart showing an information processing procedure according to the embodiment of the present disclosure.
  • the information processing device 100 acquires a character string to be estimated as a part of speech (step S101). For example, the information processing device 100 acquires a character string corresponding to an unknown word.
  • the information processing apparatus 100 generates part-speech estimation information for estimating the part-speech of the character string based on the byte string to which the character string is converted (step S102). For example, the information processing apparatus 100 generates part-speech estimation information indicating the probability distribution of each part of speech for a character string corresponding to an unknown word.
  • FIGS. 8 and 9 are diagrams showing an example of part of speech estimation.
  • the generation example EX1 shown in FIG. 8 shows an example in which the information processing apparatus 100 generates part-speech estimation information when the English word “rarely” is used as a target character string.
  • the model M2 in FIG. 8 is a part-speech estimation model for an English character string.
  • the model M2 may have the same network configuration as the model M1. Further, as described above, the model M1 and the model M2 may be the same part-speech estimation model.
  • a predetermined matrix (255 ⁇ D matrix in the case of FIG. 8) is set for “Input embedding” in the model M2.
  • the "Intermediate representation" in the model M2 may be various models (network configurations) such as CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), and transfer.
  • the value of each element of "Series of POS probability" in the model M2 is calculated by the formula shown in the following formula (1).
  • the information processing apparatus 100 generates a byte string corresponding to the character string "rarely” by a conversion process of converting each character in the character string "rarely” into a predetermined character code.
  • the information processing device 100 converts the character “r” into 1 byte “0x72” corresponding to UTF-8.
  • the information processing device 100 converts the character “a” into 1 byte “0x61” corresponding to UTF-8.
  • the information processing device 100 converts the character “r” into 1 byte “0x72” corresponding to UTF-8.
  • the information processing device 100 converts the character “e” into 1 byte "0x65” corresponding to UTF-8.
  • the information processing device 100 converts the character “l” into 1 byte “0x6c” corresponding to UTF-8.
  • the information processing device 100 converts the character "y” into 1 byte “0x79” corresponding to UTF-8.
  • the information processing apparatus 100 generates a byte string corresponding to the character string "rarely”.
  • the information processing apparatus 100 inputs the byte string corresponding to the character string "rarely” into the model M2, and outputs the score of each part of speech for the character string "rarely” to the model M2.
  • the model M2 outputs the score of each part of speech as shown in FIG. 8 in response to the input of the byte string corresponding to the character string “rarely”.
  • Model M1 has a noun score "0.01”, a verb score "0.16”, an adverb score "0.94", a preposition score "0.05”, and an adjective score for the character string "rarely”. Outputs "0.31" and the auxiliary verb score "0.01".
  • the noun has a score of "0.01”
  • the verb has a score of "0.16”
  • the adverb has a score of "0.94"
  • the preposition has a score of "0.05”
  • the adjective has a score of "0”. .31 ”
  • generate part-speech estimation information showing the probability distribution of the auxiliary verb with a score of“ 0.01 ”.
  • the generation example EX2 shown in FIG. 9 shows an example in which the information processing apparatus 100 generates part-speech estimation information when the English word “google” is used as a target character string.
  • the model M2 in FIG. 9 is a part-speech estimation model for an English character string.
  • the information processing apparatus 100 generates a byte string corresponding to the character string "google” by a conversion process of converting each character in the character string "google” into a predetermined character code.
  • the information processing device 100 converts the character “g” into 1 byte “0x67” corresponding to UTF-8.
  • the information processing device 100 converts the character “o” into 1 byte “0x6f” corresponding to UTF-8.
  • the information processing device 100 converts the character “o” into 1 byte “0x6f” corresponding to UTF-8.
  • the information processing device 100 converts the character “g” into 1 byte “0x67” corresponding to UTF-8.
  • the information processing device 100 converts the character “l” into 1 byte “0x6c” corresponding to UTF-8.
  • the information processing device 100 converts the character “e” into 1 byte “0x65” corresponding to UTF-8.
  • the information processing apparatus 100 generates a byte string corresponding to the character string "google”.
  • the information processing device 100 inputs the byte string corresponding to the character string "google” into the model M2, and outputs the score of each part of speech for the character string “google” to the model M2.
  • the model M2 outputs the score of each part of speech as shown in FIG. 9 in response to the input of the byte string corresponding to the character string “google”.
  • Model M1 has a noun score "0.81", a verb score "0.36", an adverb score "0.04", a preposition score "0.05”, and an adjective score for the character string "google”. "0.11" and the auxiliary verb score "0.01" are output.
  • the noun has a score of "0.81”
  • the verb has a score of "0.36”
  • the adverb has a score of "0.04"
  • the preposition has a score of "0.05”
  • the adjective has a score of "0”. .11 ”
  • generate part-speech estimation information showing the probability distribution of the auxiliary verb with a score of“ 0.01 ”.
  • FIGS. 8 and 9 show an example of operation. Specifically, FIGS. 8 and 9 show an image diagram of the result of inputting the words rarely and google whose part of speech is unknown. At this time, it is expected that there is a high probability that rarely is an adverb and google is a proper noun from each character type composition and the character type composition in the dictionary used during learning and their combinations.
  • FIG. 10 is a diagram showing an example of a flow of part of speech estimation. Specifically, FIG. 10 is a diagram showing an example of the flow of an algorithm for estimating the probability of occurrence of a part of speech.
  • the processing flow PS1 shown in FIG. 10 includes a process of dividing into Byte units, a process related to a Byte unit embedded layer, and a process of part-speech probability output.
  • the input text (morpheme candidate) is divided in byte units. For example, the character “a” is converted to "0x61" and the character "a” is converted to "0xe3,0x81,0x82".
  • the embedded layer corresponding to the processing related to the byte unit embedded layer architectures such as RNN and CNN are superimposed in multiple stages, and the byte string information is embedded in the fixed length vector. Then, using the embedded expression obtained in the previous step, the probability of occurrence of a certain part of speech is obtained by the sigmoid function. Specifically, a fully connected unit having a sigmoid function in the output layer for the number of defined part of speech is prepared, and the probability distribution for each part of speech of the morpheme candidate is obtained.
  • the process of dividing into Byte units corresponds to the input to the input layer indicated by "Input embedding".
  • the processing related to the byte unit embedded layer corresponds to the intermediate layer shown in "Intermediate representation”.
  • the processing of part-speech probability output corresponds to the output layer indicated by "Series of POS probability”.
  • FIG. 11 is a diagram showing an example of the flow of morphological analysis.
  • the morphological analysis unit MA shown in FIG. 11 shows a case where the unknown word is processed by using predetermined rule information (hereinafter, also referred to as “unknown word rule”) without using the above-mentioned part of speech estimation model.
  • the morphological analysis unit MA performs dictionary lookup using a word dictionary, performs unknown word processing using unknown word rules, constructs a lattice using grammatical constraints, and performs route optimization. Since the processing of the morphological analysis unit MA shown in FIG. 11 is the same as the processing of general morphological analysis, detailed description thereof will be omitted.
  • FIG. 12 is a diagram showing an example of the flow of the application application.
  • the application application AP shown in FIG. 12 is, for example, an NLP (Natural Language Processing) application.
  • the information processing device 100 may have a function corresponding to the application application AP.
  • the control unit 130 of the information processing device 100 may have an execution unit that realizes a function corresponding to the application application AP.
  • the application application AP performs the following processing using the morpheme string.
  • the application application AP performs feature quantification, determines known / unknown, searches for similar cases using the learning corpus, updates the model using the trained model, and outputs the system.
  • FIG. 13 is a diagram showing an example of the flow of the entire application including the morphological analysis. Specifically, FIG. 13 shows an overall flow diagram when the unknown word analysis is incorporated into the morphological analysis tool. Note that, in FIG. 13, the same points as those in FIGS. 11 and 12 will be omitted as appropriate.
  • the information processing device 100 may have a function of executing the overall flow FA1 in FIG.
  • the control unit 130 of the information processing device 100 may have a function of executing the overall flow FA1 in FIG.
  • the analysis unit 134 of the information processing device 100 may have a function of executing the morphological analysis unit MA in FIG.
  • the execution unit of the information processing device 100 may have a function of executing the application application AP shown in FIG.
  • the overall flow FA1 in FIG. 13 is a processing flow in which the morphological analysis unit MA in FIG. 13 and the application application AP in FIG. 13 are executed as a series of processes.
  • the morphological analysis unit MA in FIG. 13 is different from the morphological analysis unit MA in FIG. 11 in that it processes unknown words.
  • the morphological analysis unit MA in FIG. 13 is not a rule-based process like the morphological analysis unit MA in FIG. 11, but a process using a part-speech estimation model such as the model M1 and the model M2.
  • the morphological analysis unit MA in FIG. 13 executes the process of part-speech estimation as shown in FIG. 10 for the unknown word, thereby processing the unknown word (“unknown”). Execute "word analysis").
  • a text classification task is a task that gives a specific label to input text.
  • a text classification task is a task that gives a specific label to input text.
  • the meaning and part of speech of unknown words can be estimated at the same time, and user utterances can be made.
  • the recall rate is improved.
  • the information processing apparatus 100 can exclude rules based on heuristics that describe knowledge of a language by applying an algorithm for unknown word analysis to a morphological analysis tool. That is, the information processing apparatus 100 can improve the ease of language expansion by applying the algorithm for unknown word analysis to the morphological analysis tool.
  • SLU Sesen Language Understanding
  • an operation example when SLU is applied to electronic commerce that is, product purchase (online shopping) via a so-called mail-order site
  • the processing is performed by the user's utterance using the smart speaker
  • the information processing device 100 may be a smart speaker.
  • the task can be executed if the product category is known.
  • "BUY_BOOKS” and "BUY_GAMES” are information (labels) indicating the intention of the user who speaks.
  • the information processing device 100 has utterance examples belonging to each category, such as "I want to order XXX World”-> BUY_GAMES "and” This Week's Weekly Magazine WM “-> BUY_BOOKS”. Is collected in large quantities as training data.
  • the information processing apparatus 100 presumes that the XXX cart appears as a proper noun according to the result of unknown word analysis.
  • the information processing device 100 searches a large-scale corpus for words having a vector similar to the proper noun "Super XXX”. For example, the information processing device 100 detects "super XXX” and "XXX world”. The information processing apparatus 100 compares a case including the detection result with "I want to order the XXX cart released today" including the unknown word "XXX cart”.
  • the information processing device 100 can estimate the probability distribution for each part of speech for a character string that is not described in the word dictionary as described above. Further, the information processing apparatus 100 can conditionally search for similar cases in the training set by knowing the part of speech of the unregistered word.
  • FIG. 14 is a diagram showing an outline of processing of morphological analysis.
  • the information processing device 100 executes the following morphological analysis process. In the following description, detailed description of the same points as the conventional morphological analysis process will be omitted as appropriate.
  • the information processing device 100 converts the input text (character information) into a set of morphemes (words) to which a part of speech tag is attached by the process of morphological analysis. For example, the information processing device 100 searches for and extracts all the words contained in the dictionary with respect to the input sentence (character information). Then, the information processing apparatus 100 generates a lattice structure (also simply referred to as "lattice") which is a graph structure in which word candidates are listed. In this way, the information processing apparatus 100 generates a lattice, which is a kind of graph, in the process of morphological analysis.
  • Lattice LT1 in FIG. 14 indicates a lattice generated when the character information "from Tokyo" is targeted.
  • BOS Beginning Of Sentence
  • EOS End Of Sentence
  • BOS beginning node of the lattice
  • EOS ending node
  • the information processing apparatus 100 extracts all partially matching character strings (words) in the character information to be analyzed for morphological analysis from the dictionary, and generates a lattice (word lattice) in which word candidates are listed. For example, the information processing apparatus 100 comprehensively lists a word string (lattice) that can be generated in advance by using a dictionary. Then, the information processing apparatus 100 gives a score corresponding to the probability that both words appear in a concatenated manner at the connecting portion between the words. The information processing device 100 selects a sequence of words that is presumed to be the most probable (probable) as a sentence from many combinations of words.
  • FIGS. 15 to 17 are diagrams showing an example of processing of morphological analysis including unknown words. First, FIG. 15 will be described. FIG. 15 is a case 1 of morphological analysis including unknown words.
  • a lattice (a graph starting with BOS and ending with EOS in the figure) is used for the analysis.
  • the node in the lattice is associated with three pieces of information: a character string, a part of speech, and an occurrence cost.
  • a connection cost indicating the good connection between the part of speech is added separately, and the shortest path on the route is obtained by the connection cost and the occurrence cost, and is output as an analysis result.
  • FIG. 16 is a second example of morphological analysis including unknown words. The same points as in FIG. 15 will be omitted.
  • the information processing device 100 extracts the keyword "Tokyo” from the input character string "Governor of Tokyo” and registers the word “Tokyo” in the application dictionary as an unknown word.
  • the information processing device 100 may store the information of the system dictionary or the application dictionary in the storage unit 120.
  • the information processing device 100 sets the occurrence cost of the unknown word "Tokyo".
  • the information processing apparatus 100 sets the occurrence cost of the unknown word "Tokyo” by appropriately using various information.
  • the information processing device 100 may set a value specified by the administrator of the information processing device 100 or the like as the occurrence cost of the unknown word “Tokyo”.
  • the administrator of the information processing apparatus 100 refers to the system dictionary to specify the occurrence cost of the unknown word "Tokyo", or sets the occurrence cost of the unknown word "Tokyo" to a small value.
  • the information processing apparatus 100 may automatically set the cost of occurrence of the unknown word "Tokyo".
  • the information processing apparatus 100 may set the occurrence cost of the unknown word "Tokyo" so that a path including the unknown word "Tokyo" can be easily selected.
  • the information processing apparatus 100 when the information processing apparatus 100 acquires the input character string "Governor of Tokyo", the information processing apparatus 100 generates a lattice using the system dictionary or the application dictionary, and the input character string "Tokyo". Outputs (generates) information obtained by dividing the "governor" into morphological elements. In the example of FIG. 16, among the paths (routes) from BOS to EOS, a lattice is generated in which the path (Path) passing through "Tokyo" and "Governor” has a lower cost than the other paths (Path). Shall be.
  • the information processing device 100 generates a result of dividing the input character string "Governor of Tokyo” into two morphemes (character strings) of "Tokyo” and "Governor". For example, the information processing device 100 may acquire the information of the system dictionary or the application dictionary from the storage unit 120, or may acquire the information of the system dictionary or the application dictionary from an external device that provides the information of the system dictionary or the application dictionary.
  • FIG. 17 is a third example of morphological analysis including unknown words. The same points as those in FIGS. 15 and 16 will not be described.
  • the information processing apparatus 100 extracts the keyword "Governor of Tokyo” from the input character string "Governor of Tokyo” and registers the word “Governor of Tokyo” as an unknown word in the application dictionary.
  • the information processing device 100 sets the occurrence cost of the unknown word "Governor of Tokyo".
  • the information processing device 100 sets the occurrence cost of the unknown word "Governor of Tokyo” by appropriately using various information.
  • the information processing device 100 may set a value specified by the administrator of the information processing device 100 or the like as the occurrence cost of the unknown word “Governor of Tokyo”.
  • the information processing apparatus 100 may set the occurrence cost of the unknown word "Governor of Tokyo” so that a path including the unknown word "Governor of Tokyo” can be easily selected.
  • the information processing apparatus 100 when the information processing apparatus 100 acquires the input character string "Governor of Tokyo", the information processing apparatus 100 generates a lattice using the system dictionary or the application dictionary, and the input character string "Tokyo". Outputs (generates) information obtained by dividing the "governor" into morphological elements. In the example of FIG. 17, among the paths (routes) from BOS to EOS, a lattice is generated in which the path (Path) passing through "Tokyo" and "Governor” has a lower cost than the other paths (Path). Shall be. That is, in the example of FIG.
  • the information processing device 100 generates a result of dividing the input character string "Governor of Tokyo” into two morphemes (character strings) of "Tokyo” and "Governor”. If the administrator of the information processing device 100 wants to generate the result of dividing the information processing device 100 into one morpheme (character string) of the "Governor of Tokyo", the occurrence cost of the unknown word "Governor of Tokyo” is set even smaller. May be good.
  • the information processing apparatus 100 can add a node such as "Governor of Tokyo: noun" to the lattice by generating part-speech estimation information.
  • the information processing device 100 executes route optimization by adding part-speech information to an unknown word and then using a character string and part-speech as feature quantities to give a score indicating how easy it is to make one token. be able to.
  • the information processing device 100 which is a terminal device used by the user, shows an example of performing part-of-speech estimation, but the information processing device that performs part-speech estimation and the terminal device used by the user are separate bodies. There may be.
  • FIG. 18 is a diagram showing a configuration example of an information processing system according to a modified example of the present disclosure.
  • FIG. 19 is a diagram showing a configuration example of an information processing device according to a modified example of the present disclosure.
  • the information processing system 1 includes a terminal device 10 and an information processing device 100A.
  • the terminal device 10 and the information processing device 100A are connected to each other via a communication network N so as to be communicable by wire or wirelessly.
  • the information processing system 1 shown in FIG. 18 may include a plurality of terminal devices 10 and a plurality of information processing devices 100A.
  • the information processing device 100A communicates with the terminal device 10 via the communication network N, provides information to the terminal device 10, and estimates the part of the character for the character information input by the user via the terminal device 10. Processing such as morphological analysis may be performed. Further, the information processing device 100A may learn the model based on information such as parameters specified by the user via the terminal device 10.
  • the terminal device 10 is an information processing device used by the user.
  • the terminal device 10 is realized by, for example, a notebook PC (Personal Computer), a desktop PC, a smartphone, a tablet terminal, a mobile phone, a PDA (Personal Digital Assistant), or the like.
  • the terminal device 10 may be any terminal device as long as it can display the information provided by the information processing device 100A.
  • the terminal device 10 is a client terminal.
  • the terminal device 10 accepts operations by the user.
  • the terminal device 10 displays the information provided by the information processing device 100A on the screen.
  • the terminal device 10 transmits information such as information indicating an operation by the user to the information processing device 100A.
  • the terminal device 10 transmits a character string to be estimated as a part of speech to the information processing device 100A.
  • the terminal device 10 transmits a character string which is an unknown word to the information processing device 100A.
  • the terminal device 10 transmits a character string which is an unknown word not included in the dictionary information to the information processing device 100A.
  • the terminal device 10 transmits a character string which is not included in the dictionary information of the language corresponding to the character string and is an unknown word in the language to the information processing device 100A.
  • the terminal device 10 transmits the character information to be analyzed to the information processing device 100A.
  • the terminal device 10 transmits character information including a character string to be estimated as a part of speech to the information processing device 100A.
  • the terminal device 10 displays the information received from the information processing device 100A.
  • the terminal device 10 displays the result of part of speech estimation received from the information processing device 100A.
  • the terminal device 10 displays the analysis result received from the information processing device 100A.
  • the information processing device 100A realizes the same information processing as the information processing device 100 except that the information processing device 100A is different from the information processing device 100 in that it provides information to the terminal device 10 and acquires information from the terminal device 10. .
  • the information processing device 100A is a server that provides a service to the terminal device 10 which is a client terminal. For example, the information processing device 100A executes a process of part speech estimation and morphological analysis based on the character information acquired from the terminal device 10, and transmits the execution result to the terminal device 10.
  • the information processing device 100A includes a communication unit 11, a storage unit 14, and a control unit 15A.
  • the communication unit 11 is connected to the communication network N (Internet or the like) by wire or wirelessly, and transmits / receives information to / from the terminal device 10 via the communication network N.
  • the information processing device 100A does not have to have a function of displaying information like the information processing device 100.
  • the information processing device 100A may have an input unit (for example, a keyboard, a mouse, etc.) and a display unit (for example, a liquid crystal display, etc.) used by the administrator of the information processing device 100A.
  • the control unit 15A is realized by, for example, a CPU, an MPU, or the like executing a program stored in the information processing device 100A (for example, an information processing program according to the present disclosure) with a RAM or the like as a work area. Further, the control unit 15A may be realized by an integrated circuit such as an ASIC or FPGA.
  • control unit 15A includes an acquisition unit 151A, a learning unit 152, a generation unit 153, an analysis unit 154, and a transmission unit 155A, and has functions and operations of information processing described below. To realize or execute.
  • the internal configuration of the control unit 15A is not limited to the configuration shown in FIG. 19, and may be any other configuration as long as it is a configuration for performing information processing described later.
  • the acquisition unit 151A acquires various information in the same manner as the acquisition unit 151.
  • the acquisition unit 151A acquires various information from the terminal device 10.
  • the acquisition unit 151A acquires the user's operation information from the terminal device 10.
  • the acquisition unit 151A acquires various information from the storage unit 14.
  • the transmission unit 155A provides various information in the same manner as the transmission unit 155.
  • the transmission unit 155A provides various information to the terminal device 10.
  • the transmission unit 155A transmits various information to the terminal device 10.
  • the transmission unit 155A provides the terminal device 10 with the information generated by the generation unit 153.
  • the transmission unit 155A provides the terminal device 10 with the analysis result by the analysis unit 154.
  • the transmission unit 155A transmits information to be displayed on the terminal device 10 to the terminal device 10.
  • the transmission unit 155A transmits the result of part speech estimation by the generation unit 153 and the result of morphological analysis by the analysis unit 154 to the terminal device 10.
  • the processing related to each of the above-described embodiments and modifications may be performed in various different forms (modifications) other than the above-described embodiments and modifications.
  • the information processing system may include a learning device, an estimation device that is an information processing device that estimates part of speech, and an analysis device. The above is an example, and the information processing system may be realized by various configurations.
  • 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. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of the device is functionally or physically dispersed / physically distributed in any unit according to various loads and usage conditions. Can be integrated and configured.
  • the information processing devices include an acquisition unit (acquisition units 151 and 151A in the embodiment) and a generation unit (generation unit 153 in the embodiment). To be equipped.
  • the acquisition unit acquires the character string to be estimated for the part of speech.
  • the generation unit generates part-speech estimation information that estimates the part-speech of the character string based on the byte string in which the character string is converted.
  • the information processing apparatus generates byte estimation information for estimating the part of the character string based on the converted byte string of the character string for which the part of the character is to be estimated. It is possible to estimate the part of the character string after converting it to other information. Further, since the information processing device can perform the part-speech estimation process as a byte string in any language by converting the character string into a byte string, the part-speech estimation can be performed regardless of the language. Therefore, the information processing device can enable flexible part-speech estimation of the character string.
  • the generation unit generates part-speech estimation information for estimating which part of speech the character string is among a plurality of part-speech.
  • the information processing apparatus can estimate which part of speech the character string is among the plurality of part of speech.
  • the generation unit generates part-speech estimation information for estimating which part of speech the character string is among a plurality of part-speech included in the part-speech system corresponding to the language of the character string.
  • the information processing apparatus can estimate which part of speech the character string is among a plurality of part of speech in the part of speech system corresponding to the language of the character string.
  • the generation unit generates part-speech estimation information including a score indicating which of the plurality of part-speech the character string is.
  • the information processing apparatus can flexibly estimate the part of speech of the character string by the score indicating which of the plurality of part of speech the character string is.
  • the generation unit generates part-speech estimation information including a plurality of scores corresponding to each of the plurality of part-speech.
  • the information processing apparatus can enable flexible part-speech estimation of the character string by a plurality of scores corresponding to each of the plurality of part-speech.
  • the generation unit generates part-speech estimation information indicating the probability distribution of a plurality of part-speech with respect to the character string.
  • the information processing apparatus can flexibly estimate the part of speech of a character string by the probability distribution of a plurality of part of speech with respect to the character string.
  • the generation unit generates part-speech estimation information that estimates the part-speech of the character string using a model that inputs a byte string.
  • the information processing apparatus can enable flexible part-speech estimation of a character string by using a model in which a byte string is input.
  • the information processing device can perform the processing of part-speech estimation as a byte string in any language by using a model in which a byte string is input, it is possible to perform language-independent part-speech estimation.
  • the generation unit generates part of speech estimation information for estimating the part of speech of the character string by using a model that outputs a score indicating which of the plurality of part of speech the character string is.
  • the information processing apparatus can enable flexible part-speech estimation of the character string by the score output by the model and indicating which of the plurality of part-speech the character string is.
  • the generation unit generates part-speech estimation information for estimating the part-speech of a character string by using a model that outputs a plurality of scores corresponding to each of the plurality of part-speech.
  • the information processing apparatus can output the model and enable flexible part-speech estimation of the character string by a plurality of scores corresponding to each of the plurality of part-speech.
  • the generation unit generates part-of-speech estimation information that estimates the part-of-speech of the character string by using a model learned using learning data that is a combination of the learning byte string and the correct answer information corresponding to the learning byte string. do.
  • the information processing apparatus can flexibly estimate the part of speech of the character string by using the model learned by using the learning data.
  • the generation unit generates part-speech estimation information for estimating the part-speech of the character string by using the model corresponding to the language learned by using the learning data of the language corresponding to the character string.
  • the information processing apparatus can flexibly estimate the part of speech of the character string by using the model learned by using the learning data corresponding to the character string.
  • the acquisition unit acquires a character string that is an unknown word.
  • the generation unit generates part-speech estimation information that estimates the part-speech of a character string that is an unknown word.
  • the information processing apparatus can flexibly estimate the part of speech of the character string even when the character string to be estimated is an unknown word.
  • the acquisition unit acquires a character string that is an unknown word that is not included in the dictionary information.
  • the generation unit generates part-speech estimation information that estimates the part-speech of a character string that is not included in the dictionary information.
  • the information processing apparatus can flexibly estimate the part of speech of the character string even when the character string to be estimated is a word (unknown word) not included in the dictionary information.
  • the acquisition unit acquires a character string that is an unknown word in the language and is not included in the dictionary information of the language corresponding to the character string.
  • the generation unit generates part-speech estimation information that estimates the part-speech of a character string that is an unknown word in the language.
  • the information processing device can flexibly estimate the part of the character string even if the character string to be estimated is a word (unknown word) that is not included in the dictionary information of the language corresponding to the character string. Can be made possible.
  • the generation unit generates part of speech estimation information that estimates the part of speech of the character string based on the byte string in which each of the characters included in the character string is converted into a plurality of bytes.
  • the information processing device can support multi-bytes by generating part-of-speech estimation information that estimates the part-of-character of the character string based on the byte string in which each character contained in the character string is converted into a plurality of bytes.
  • the generator estimates the part of the character string based on the byte string in which each of the characters contained in the character string is converted into a plurality of bytes. Generates part-of-speech estimation information.
  • the information processing apparatus can enable flexible part-speech estimation of a character string even when a language such as Japanese in which one character can be converted into a plurality of bytes is targeted.
  • FIG. 20 is a hardware configuration diagram showing an example of a computer 1000 that realizes the functions of information processing devices such as the information processing devices 100 and 100A.
  • the computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. Each part of the computer 1000 is connected by a bus 1050.
  • the CPU 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 is started, a program that depends on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100 and data used by the program.
  • the HDD 1400 is a recording medium for recording an information processing program according to the present disclosure, which is an example of program data 1450.
  • the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device or transmits data generated by the CPU 1100 to another device via the communication interface 1500.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
  • the media is, for example, an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
  • an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • a magneto-optical recording medium such as MO (Magneto-Optical disk)
  • tape medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
  • MO Magneto-optical disk
  • the CPU 1100 of the computer 1000 realizes the functions of the control unit 15 and the like by executing the information processing program loaded on the RAM 1200.
  • the information processing program according to the present disclosure and the data in the storage unit 14 are stored in the HDD 1400.
  • the CPU 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
  • the present technology can also have the following configurations.
  • (1) The acquisition part that acquires the character string to be estimated for the part of speech, and A generator that generates part-speech estimation information that estimates the part-speech of the character string based on the byte string converted from the character string.
  • (2) The generator Generates the part-speech estimation information for estimating which part of speech the character string is among a plurality of part-speech.
  • the information processing device according to (1) The generator Generates the part of speech estimation information that estimates which part of the character string is among a plurality of part of speech included in the part of speech system corresponding to the language of the character string.
  • (2) The information processing device according to (2).
  • the generator Generates the part-speech estimation information including a score indicating which of the plurality of parts of speech the character string is.
  • the generator Generate the part-speech estimation information including a plurality of scores corresponding to each of the plurality of parts of speech.
  • the generator Generates the part of speech estimation information showing the probability distribution of a plurality of part of speech with respect to the character string.
  • the information processing device according to any one of (2) to (5).
  • the generator Using a model that uses the byte string as an input, part-speech estimation information that estimates the part-speech of the character string is generated.
  • the information processing device according to any one of (1) to (6).
  • the generator Using the model that outputs a score indicating which of the plurality of parts of speech the character string is, the part of speech estimation information for estimating the part of speech of the character string is generated.
  • the information processing device according to (7).
  • the generator Using the model that outputs a plurality of scores corresponding to each of a plurality of part of speech, part of speech estimation information for estimating the part of speech of the character string is generated.
  • the generator Using the model trained using the learning data, which is a combination of the learning byte string and the correct answer information corresponding to the learning byte string, part-of-speech estimation information for estimating the part-of-speech of the character string is generated.
  • the information processing device according to any one of (7) to (9).
  • (11) The generator Part of speech estimation information for estimating the part of speech of the character string is generated by using the model corresponding to the language learned using the learning data of the language corresponding to the character string.
  • the information processing device according to (10).
  • (12) The acquisition unit Get the character string that is an unknown word
  • the generator Generates part-speech estimation information that estimates the part-speech of the character string that is the unknown word.
  • the information processing device according to any one of (1) to (11).
  • (13) The acquisition unit Acquire the character string that is the unknown word that is not included in the dictionary information, and
  • the generator Generates part-speech estimation information that estimates the part-speech of the character string that is not included in the dictionary information.
  • the acquisition unit The character string which is not included in the dictionary information of the language corresponding to the character string and is the unknown word in the language is acquired.
  • the generator Generates part-speech estimation information that estimates the part-speech of the character string that is the unknown word in the language.
  • the information processing device according to (13).
  • the generator Part of speech estimation information for estimating the part of speech of the character string is generated based on the byte string in which each of the characters included in the character string is converted into a plurality of bytes.
  • the information processing device according to any one of (1) to (14).
  • the generator When the character string is at least one of the language groups including Japanese, the part of the character string that estimates the part of the character string based on the byte string in which each of the characters contained in the character string is converted into a plurality of bytes. Generate estimation information, The information processing device according to (15). (17) Get the character string to be estimated for the part of speech Generates part-speech estimation information that estimates the part of speech of the character string based on the byte string obtained by converting the character string. An information processing method that executes processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

本開示に係る情報処理装置は、品詞の推定対象となる文字列を取得する取得部と、前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する生成部と、を備える。

Description

情報処理装置及び情報処理方法
 本開示は、情報処理装置及び情報処理方法に関する。
 文章中の各単語(文字列)の品詞を推定する技術が提供されている。例えば、形態素の単位に分割して品詞を付与する形態素解析システムが提供されている(例えば、特許文献1)。
特開2019-144844号公報
 従来技術によれば、入力文章を受け取り、事前に定義された形態素の単位に分割し、品詞などを付与する。
 しかしながら、従来技術は、文字列の品詞を適切に推定することができるとは限らない。例えば、従来技術は、日本語を対象として、事前に定義された形態素の単位に分割し、その分割を基に品詞を付与している。そのため、従来技術は、日本語以外の言語に対応することが難しく、また、事前に定義された形態素に含まれない文字列(未知語)の品詞を適切に推定することは難しいといった課題がある。そのため、柔軟な文字列の品詞推定を可能にすることが望まれている。
 そこで、本開示では、柔軟な文字列の品詞推定を可能にすることができる情報処理装置及び情報処理方法を提案する。
 上記の課題を解決するために、本開示に係る一形態の情報処理装置は、品詞の推定対象となる文字列を取得する取得部と、前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する生成部と、を備える。
本開示の実施形態に係る情報処理の一例を示す図である。 本開示の実施形態に係る品詞推定情報の生成処理の一例を示す図である。 本開示の実施形態に係る情報処理装置の構成例を示す図である。 本開示の実施形態に係るモデル情報記憶部の一例を示す図である。 本開示の実施形態に係る品詞推定情報記憶部の一例を示す図である。 本開示の実施形態に係るモデルの一例を示す図である。 本開示の実施形態に係る情報処理の手順を示すフローチャートである。 品詞推定の一例を示す図である。 品詞推定の一例を示す図である。 品詞推定のフローの一例を示す図である。 形態素解析のフローの一例を示す図である。 応用アプリケーションのフローの一例を示す図である。 アプリケーション全体のフローの一例を示す図である。 形態素解析の処理概要を示す図である。 未知語を含む形態素解析の処理の一例を示す図である。 未知語を含む形態素解析の処理の一例を示す図である。 未知語を含む形態素解析の処理の一例を示す図である。 本開示の変形例に係る情報処理システムの構成例を示す図である。 本開示の変形例に係る情報処理装置の構成例を示す図である。 情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本願にかかる情報処理装置及び情報処理方法が限定されるものではない。また、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
 以下に示す項目順序に従って本開示を説明する。
  1.実施形態
   1-1.本開示の実施形態に係る情報処理の概要
    1-1-1.背景及び効果等
    1-1-2.モデルの生成
   1-2.実施形態に係る情報処理装置の構成
    1-2-1.モデル例
   1-3.実施形態に係る情報処理の手順
   1-4.品詞推定情報生成例
   1-5.処理フロー例
    1-5-1.品詞推定のフロー例
    1-5-2.形態素解析のフロー例
    1-5-3.応用アプリケーションのフロー例
    1-5-4.アプリケーション統合フロー例
   1-6.形態素解析
    1-6-1.未知語を含む形態素解析の事例その1
    1-6-2.未知語を含む形態素解析の事例その2
    1-6-3.未知語を含む形態素解析の事例その3
  2.その他の実施形態
   2-1.変形例
   2-2.その他の構成例
   2-3.その他
  3.本開示に係る効果
  4.ハードウェア構成
[1.実施形態]
[1-1.本開示の実施形態に係る情報処理の概要]
 図1及び図2は、本開示の実施形態に係る情報処理の一例を示す図である。具体的には、図1は、文字列が未知語であるか否かに応じて、品詞を推定する処理(推定処理)の一例を示す図である。図2は、未知語を対象として品詞を推定する場合の品詞推定モデル(以下単に「モデル」ともいう)を用いた推定処理の概要を示す。なお、ここで言う未知語とは、所定の辞書に含まれていない文字列をいう。例えば、未知語とは、コーパス等に基づく辞書に含まれていない文字列をいう。
 本開示の実施形態に係る情報処理は、図3に示す情報処理装置100によって実現される。図3に示す情報処理装置100は、品詞推定を行う情報処理装置の一例である。情報処理装置100は、実施形態に係る情報処理を実行する情報処理装置である。情報処理装置100は、ユーザに利用される端末装置である。図1では、ユーザが利用する端末装置である情報処理装置100が品詞推定を行う例を示す。例えば、情報処理装置100は、スマートフォンや、タブレット型端末や、スマートスピーカや、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等、ユーザによって利用される種々の装置であってもよい。
 なお、品詞推定を行う装置はユーザが利用する端末装置に限らず、どのような装置であってもよい。例えば、品詞推定を行う情報処理装置と、ユーザが利用する端末装置とは別体であってもよい。なお、サーバ側で品詞推定を行う場合のシステム構成等については後述する。
 図1の例では、日本語を一例として説明するが、情報処理装置100が実行する情報処理は、日本語に限らず、英語やフランス語や韓国語等の種々の言語が対象であってもよい。例えば、情報処理装置100が実行する情報処理は、後述する辞書情報がある言語であれば、どのような言語を対象としてもよい。例えば、情報処理装置100が実行する情報処理は、品詞推定モデルがある言語であれば、どのような言語を対象としてもよい。すなわち、情報処理装置100は、後述する品詞推定の処理が実行可能であれば、どのような言語を対象に処理を行ってもよい。
 図1の例では、説明のために品詞の分類(カテゴリ)として、「noun」、「verb」、「adverb」、「preposition」「adjective」、「auxiliary verb」の6個を一例として示す。すなわち、図1の例では、対象とする文字列の品詞が、名詞、動詞、副詞、前置詞、形容詞、助動詞のいずれであるかを、情報処理装置100が推定する場合を示す。なお、図1に示す品詞の分類は一例であり、品詞の分類は上記の6個に限らず、種々の分類であってもよい。また、品詞の分類は、6個より少ない分類であってもよいし、6個より多い分類であってもよい。
 例えば、品詞の分類は、下記の文献に開示されるような十数以上の分類(カテゴリ)であってもよい。このように、品詞の分類には、多言語共通タグセットの情報が用いられてもよい。
 ・Universal POS tags <https://universaldependencies.org/u/pos/>
 また、例えば、対象とする言語が日本語である場合、品詞の分類は、下記の文献に開示されるような分類(カテゴリ)であってもよい。このように、品詞の分類には、日本語unidicの情報が用いられてもよい。この場合、例えば品詞の分類として、最上位の分類(大分類)が用いられてもよいし、それよりも下位の分類(中分類、小分類、細分類等)が用いられてもよい。
 ・UniDicの品詞体系 <https://www.ogiso.net/wiki/index.php?%BC%F8%B6%C8%BB%F1%CE%C1/UniDic%A4%CE%C9%CA%BB%EC%C2%CE%B7%CF>
 なお、上述した各文献での品詞の分類も一例に過ぎず、品詞の分類は、対象とする言語や分類した品詞の用途等に応じて種々の分類であってもよい。
 また、図1の例では、辞書情報記憶部141に記憶されていない文字列を「未知語」として処理する場合を示す。辞書情報記憶部141には、辞書に関する情報(以下「辞書情報」ともいう)が格納される。図1に示す辞書情報記憶部141は、日本語に関する辞書情報が格納される。例えば、辞書情報記憶部141は、各文字列が用いられた文章や各単語の品詞の確率分布を記憶する。例えば、品詞の確率分布は、文字列が用いられた文章のうち、その単語がその品詞として用いられた文章の割合を示す情報である。例えば、図1において単語Xの文章が100個あり、そのうち90個の文章で単語Xが動詞として用いられ、10個の文章で副詞として用いられている場合、単語Xは、動詞が「0.9(=90/100)」、副詞が「0.1(=10/100)」、残りの4つの品詞が「0」の確率分布となる。
 以下、図1について具体的に説明する。図1では、辞書に含まれる文字列、すなわち未知語ではない場合の処理を説明した後、未知語に対する処理を説明する。
 情報処理装置100は、品詞推定の対象となる文字列CS1である「注文する」を取得する。例えば、情報処理装置100は、解析対象となる文章中に含まれる文字列CS1を取得する。そして、情報処理装置100は、文字列CS1が未知語であるか否かを判定する(ステップS11)。情報処理装置100は、文字列CS1である「注文する」と、辞書情報記憶部141中の文字列とを比較し、文字列CS1が辞書情報記憶部141に含まれているかを判定する。情報処理装置100は、対象とする文字列と、辞書情報記憶部141中の文字列とを比較し、対象とする文字列が辞書情報記憶部141に含まれている場合、未知語ではないと判定する。
 図1では、情報処理装置100は、結果情報RS1に示すように、文字列CS1である「注文する」の情報が辞書情報記憶部141に含まれているため、文字列CS1を未知語ではない既知の文字列(以下「既知語」ともいう)であると判定する。すなわち、情報処理装置100は、文字列CS1である「注文する」が未知語ではないと判定する。辞書情報記憶部141には、文字列CS1である「注文する」のコーパスや確率分布が記憶されているものとする。図1では、辞書情報記憶部141は、文字列CS1である「注文する」について、名詞が「0.01」、動詞が「0.95」、副詞が「0.02」、前置詞が「0」、形容詞が「0.01」、助動詞が「0」の確率分布を記憶している。そのため、情報処理装置100は、文字列CS1である「注文する」が既知語であると判定する。
 情報処理装置100は、辞書情報記憶部141の情報を用いて、文字列CS1である「注文する」の品詞を推定する情報(「品詞推定情報」ともいう)を生成する(ステップS12)。情報処理装置100は、辞書情報記憶部141の情報を用いて、文字列CS1の品詞推定情報を生成する。図1では、情報処理装置100は、辞書情報記憶部141の情報を用いて、文字列CS1についての品詞の確率分布を示す品詞推定情報INF1を生成する。情報処理装置100は、辞書情報記憶部141から文字列CS1である「注文する」の情報を抽出し、品詞推定情報INF1を生成する。情報処理装置100は、名詞がスコア「0.01」、動詞がスコア「0.95」、副詞がスコア「0.02」、前置詞がスコア「0」、形容詞がスコア「0.01」、助動詞がスコア「0」の確率分布を示す品詞推定情報INF1を生成する。
 このように、情報処理装置100は、品詞推定の対象となる文字列の情報が既知語である場合、辞書情報記憶部141の情報を用いて、その文字列の品詞推定情報を生成する。そして、情報処理装置100は、品詞推定の対象となる文字列の情報が既知語である場合、辞書情報記憶部141の情報を用いて生成した品詞推定情報を用いて、その文字列の品詞を推定する。例えば、情報処理装置100は、文字列の品詞を、スコアが最大の品詞であると推定してもよい。例えば、情報処理装置100は、文字列CS1である「注文する」の品詞を最大のスコア「0.95」の動詞であると推定してもよい。なお、上記の品詞推定は一例であり、品詞推定情報を用いた具体的な処理については後述する。
 情報処理装置100は、品詞推定の対象となる文字列CS2である「タピる」を取得する。例えば、情報処理装置100は、解析対象となる文章中に含まれる文字列CS2を取得する。そして、情報処理装置100は、文字列CS2が未知語であるか否かを判定する(ステップS21)。情報処理装置100は、文字列CS2である「タピる」と、辞書情報記憶部141中の文字列とを比較し、文字列CS2が辞書情報記憶部141に含まれているかを判定する。情報処理装置100は、対象とする文字列と、辞書情報記憶部141中の文字列とを比較し、対象とする文字列が辞書情報記憶部141に含まれていない場合、未知語であると判定する。
 図1では、情報処理装置100は、結果情報RS2に示すように、文字列CS2である「タピる」の情報が辞書情報記憶部141に含まれていないため、文字列CS2を未知語であると判定する。図1では、辞書情報記憶部141には、文字列CS2である「タピる」の情報が記憶されていないものとする。そのため、情報処理装置100は、文字列CS2である「タピる」が未知語であると判定する。
 情報処理装置100は、辞書情報記憶部141の情報を用いて、文字列CS2である「タピる」の品詞を推定する情報(品詞推定情報)を生成する。図1の例では、情報処理装置100は、バイト列を入力とし、複数の品詞の各々に対応する複数のスコアを出力する品詞推定モデルM1(以下単に「モデルM1」ともいう)を用いて、文字列CS2の品詞を推定する品詞推定情報を生成する。このように、情報処理装置100は、文字列CS2に対応するバイト列をモデルM1に入力し、文字列CS2について各品詞のスコアからなる確率分布を示す品詞推定情報を生成する。以下、処理を具体的に説明する。
 まず、情報処理装置100は、文字列CS2である「タピる」中の各文字を所定の文字コードに変換する(ステップS22)。情報処理装置100は、文字列CS2中の3文字「タ」、「ピ」、「る」の各々を所定の文字コードに変換する。図1では、情報処理装置100は、「タ」、「ピ」、「る」の各々を文字コード「UTF-8」に対応するバイトに変換する。この場合、情報処理装置100は、「タ」、「ピ」、「る」の各々をUTF-8に対応する3バイトに変換する。なお、各文字を変換する文字コードは、UTF-8に限らず、文字をバイト等の数値へ変換する文字コードであれば、どのような文字コードであってもよい。例えば、各文字を変換する文字コードは、UTF-16、Shift_JIS、EUC等であってもよい。なお、上記は一例であり、各文字を変換する文字コードは、上記以外の文字コードであってもよい。
 情報処理装置100は、文字列CS2である「タピる」中の各文字を所定の文字コードに変換する変換処理により、文字列CS2に対応するバイト列BS2を生成する。情報処理装置100は、文字「タ」をUTF-8に対応する3バイト「0xe3」、「0x82」、「0xbf」に変換する。情報処理装置100は、文字「ピ」をUTF-8に対応する3バイト「0xe3」、「0x83」、「0x94」に変換する。情報処理装置100は、文字「る」をUTF-8に対応する3バイト「0xe3」、「0x82」、「0x8b」に変換する。これにより、情報処理装置100は、文字列CS2に対応するバイト列BS2を生成する。
 そして、情報処理装置100は、バイト列BS2をモデルM1に入力する(ステップS23)。ここで、図2を用いて、モデルM1の概要について説明する。図2は、本開示の実施形態に係る品詞推定情報の生成処理の一例を示す図である。なお、図1と同様の点については同じ符号を付して説明を省略する。図2に示すように、モデルM1は、文字列CS2が変換されたバイト列BS2のようなバイト列を入力として、その入力されたバイト列に対応する文字列の品詞を推定する情報(スコア)を出力する。図2では、モデルM1は、バイト列が入力された場合、入力されたバイト列に対応する文字列に対する複数の品詞の確率分布を示す情報(スコア)を出力する。このように、モデルM1は、バイト列が入力された場合、入力されたバイト列に対応する文字列について、複数の品詞の各々に対応する複数のスコアを出力する。
 図2に示す例では、モデルM1は、「Input embedding」で示す入力層と、「Intermediate representation」で示す中間層と、「Series of POS probability」で示す出力層とを有するネットワーク構成である。例えば、モデルM1は、図6に示すネットワークNW1のようなネットワーク構成であってもよい。例えば、モデルM1は、文字列が変換されたバイト列が入力層に入力された場合、入力されたバイト列に対応する文字列が各品詞である可能性(確率)を示すスコアを出力層から出力する。図2に示す例では、モデルM1は、「noun」、「verb」、「adverb」、「preposition」「adjective」、「auxiliary verb」の6個の品詞の各々のスコアを出力する。
 モデルM1は、バイト列BS2の入力に応じて、出力スコアSC1に示すような各品詞のスコアを出力する。モデルM1は、バイト列BS2に対応する文字列「タピる」について、名詞のスコア「0.21」、動詞のスコア「0.86」、副詞のスコア「0.02」、前置詞のスコア「0.01」、形容詞のスコア「0.15」、助動詞のスコア「0.01」を出力する。
 図1に戻って、説明を続ける。情報処理装置100は、モデルM1の出力結果を用いて、文字列CS2品詞推定情報を生成する。図1では、情報処理装置100は、モデルM1の出力結果を用いて、文字列CS2についての品詞の確率分布を示す品詞推定情報INF2を生成する。情報処理装置100は、辞書情報記憶部141から文字列CS2である「タピる」の情報を抽出し、品詞推定情報INF2を生成する。情報処理装置100は、名詞がスコア「0.21」、動詞がスコア「0.86」、副詞がスコア「0.02」、前置詞がスコア「0.01」、形容詞がスコア「0.15」、助動詞がスコア「0.01」の確率分布を示す品詞推定情報INF2を生成する。
 このように、情報処理装置100は、品詞推定の対象となる文字列の情報が未知語である場合、モデルM1を用いて、その文字列の品詞推定情報を生成する。そして、情報処理装置100は、品詞推定の対象となる文字列の情報が未知語である場合、モデルM1の出力結果を用いて生成した品詞推定情報を用いて、その文字列の品詞を推定する。例えば、情報処理装置100は、文字列の品詞を、スコアが最大の品詞であると推定してもよい。例えば、情報処理装置100は、文字列CS2である「タピる」の品詞を最大のスコア「0.86」の動詞であると推定してもよい。このように、上記の図1では、品詞がわからない単語「タピる」を入力した場合を示す。この場合、未知語「タピる」は動詞であると解析されることが期待される。なお、上記の品詞推定は一例であり、品詞推定情報を用いた具体的な処理については後述する。
 上述のように、情報処理装置100は、文字列が既知語と未知語とのいずれであるかに応じて、品詞の推定に用いる情報を切り替えて、文字列の品詞を推定する品詞推定情報を生成する。具体的には、情報処理装置100は、文字列が既知語である場合、辞書の情報を用いて、文字列の品詞推定情報を生成する。また、情報処理装置100は、文字列が未知語である場合、文字列を変換したバイト列と、そのバイト列を入力とするモデルとを用いて、文字列の品詞推定情報を生成する。これにより、情報処理装置100は、文字列が未知語である場合であっても、文字列の品詞を適切に推定することができる。したがって、情報処理装置100は、柔軟な文字列の品詞推定を可能にすることができる。
[1-1-1.背景及び効果等]
 例えば、テキスト文字列を形態素(意味を持つ最小要素)に分割する形態素解析では、どの文字列が1形態素になるかをあらかじめ定義された辞書を用いて解析(文字列からの単語認定と品詞付与)を行う。この際、辞書に登録されていない単語(未知語)が生起した際、どのような単語を認定すればいいのかがわからなくなり、解析がストップするなどの不正な解析結果を出力してしまう場合がある。
 従来は、文字種の連続性に着目するルールや生起しやすい品詞を列挙するルール、文字列の先頭、末尾N文字を抽出しておくルール等のルールベースアルゴリズムで解析を行っていた。しかし、言語ごとに異なるルールを考案する、または、実装方式を変更する必要があり、実装、メンテナンスのためのコストが高いという課題がある。
 一方で、情報処理装置100は、未知語候補の文字列に対して直接品詞を推定するアルゴリズムを用いて、文字列の品詞を推定する。このアルゴリズムでは、入力である単語候補(文字列)をbyte単位に分割した上で、機械学習による特徴量抽出を行う。その結果を分類アルゴリズムによって、品詞毎の生起確率へ回帰させる。その結果、情報処理装置100は、出力として、単語候補への品詞毎の確率分布を得ることができる。
 これにより、情報処理装置100は、「#tion」、「pre#」、「#ly」のような先頭、接尾の文字列が持つ情報や、既存の辞書に登録済みの単語が持つ情報によって、未知の単語に対する品詞の確率分布を補完、予測することが可能となる。また、情報処理装置100は、byte単位で情報を抽出することで、日本語、中国語などのマルチバイト文字を頻繁に用いる言語であっても同じアルゴリズムで運用が可能となる。また、情報処理装置100は、既存の実装でよく用いられる「#tion」は名詞になりやすいといったヒューリスティックスに関しても、データから直接的に学習が可能であるために、各言語における同様の知識を要求することなく、適切な品詞の推定が可能となる。
 また、情報処理装置100は、上述のように、文字単位での処理、図1の例ではバイト単位で処理することにより、大幅なベクトル空間サイズの減少を行うことができる。また、情報処理装置100は、分割単位の決定時に複数の未知の分割候補を仮定できるために、分割誤りを抑制することができる。
[1-1-2.モデルの生成]
 ここで、図1に示すモデルM1のような品詞推定モデルの生成について説明する。情報処理装置100は、辞書情報を用いて、モデルM1のような品詞推定モデルを生成する。情報処理装置100は、日本語の辞書情報を用いて、モデルM1を生成する。例えば、情報処理装置100は、辞書情報記憶部141中の日本語の辞書情報を用いて、モデルM1を生成する。
 情報処理装置100は、日本語の辞書情報中の既知語とその既知語の確率分布とを用いて、日本語の品詞推定モデルであるモデルM1を生成する。情報処理装置100は、既知語の確率分布を、その既知語の正解情報として用いる。この場合、情報処理装置100は、既知語に対応するバイト列が入力された場合に、その既知語の確率分布に対応する各品詞のスコアが出力されるように学習処理を行うことで、日本語に対応するモデルM1を生成する。
 例えば、情報処理装置100は、既知語「注文する」の正解情報として、辞書情報記憶部141中の既知語「注文する」の確率分布を用いる。この場合、情報処理装置100は、既知語「注文する」の正解情報として、名詞がスコア「0.01」、動詞がスコア「0.95」、副詞がスコア「0.02」、前置詞がスコア「0」、形容詞がスコア「0.01」、助動詞がスコア「0」の確率分布を用いる。例えば、情報処理装置100は、既知語「注文する」に対応するバイト列が入力された場合に、既知語「注文する」の確率分布に対応する各品詞のスコアが出力されるように学習処理を行う。この場合、情報処理装置100は、名詞に対応する出力値が「0.01」、動詞に対応する出力値が「0.95」、副詞に対応する出力値が「0.02」、前置詞に対応する出力値が「0」、形容詞に対応する出力値が「0.01」、助動詞に対応する出力値が「0」になるように学習処理を行う。このように、情報処理装置100は、既知語の情報を用いて、品詞推定モデルを学習する。なお、上記は一例であり、情報処理装置100は、種々の手法によりモデルM1等の品詞推定モデルを学習してもよい。
 また、情報処理装置100は、英語の辞書情報を用いて、図8及び図9に示すようなモデルM2を生成する。情報処理装置100は、英語の辞書情報中の既知語とその既知語の確率分布とを用いて、英語の品詞推定モデルであるモデルM2を生成する。情報処理装置100は、既知語の確率分布を、その既知語の正解情報として用いる。この場合、情報処理装置100は、既知語に対応するバイト列が入力された場合に、その既知語の確率分布に対応する各品詞のスコアが出力されるように学習処理を行うことで、英語に対応するモデルM2を生成する。なお、情報処理装置100は、上述した日本語、英語に限らず、スペイン語やアラビア語やロシア語等、種々の言語に対応する品詞推定モデルを生成する。
 なお、品詞の分類が共通である言語(「分類共通言語」ともいう)が複数ある場合、情報処理装置100は、複数の分類共通言語に共通して対応可能な品詞推定モデル(「共通品詞推定モデル」ともいう)を生成してもよい。例えば、情報処理装置100は、言語LAと言語LBとが分類共通言語である場合、言語LAと言語LBとの両方に対応可能な共通品詞推定モデルを生成してもよい。この場合、情報処理装置100は、言語LAの辞書情報と、言語LBの辞書情報とを用いて、共通品詞推定モデルを生成する。情報処理装置100は、言語LAの未知語等の文字列に対して共通品詞推定モデルを用いて、その文字列の品詞推定情報を生成する。また、情報処理装置100は、言語LBの未知語等の文字列に対して共通品詞推定モデルを用いて、その文字列の品詞推定情報を生成する。
 例えば、情報処理装置100は、日本語と英語とが分類共通言語である場合、日本語と英語との両方に対応可能な共通品詞推定モデルを生成してもよい。この場合、モデルM1とモデルM2とは同じ品詞推定モデルであってもよい。
 また、情報処理装置100は、バイト列以外を入力とする品詞推定モデルを生成してもよい。例えば、情報処理装置100は、文字列の画像を入力とする品詞推定モデルを生成してもよい。この場合、情報処理装置100は、文字列の各文字の画像群を入力として、その画像群に対応する文字列の品詞推定情報を出力(生成)する品詞推定モデルを学習(生成)してもよい。この場合、情報処理装置100は、品詞の推定対象の文字列の各文字の画像群を品詞推定モデルに入力し、品詞推定情報を生成してもよい。また、例えば、情報処理装置100は、文字列を発話した音声等の時系列情報を入力とする品詞推定モデルを生成してもよい。この場合、情報処理装置100は、文字列を発話した音声等の時系列情報を入力として、その時系列情報に対応する文字列の品詞推定情報を出力(生成)する品詞推定モデルを学習(生成)してもよい。この場合、情報処理装置100は、品詞の推定対象の文字列を発話した音声等の時系列情報を品詞推定モデルに入力し、品詞推定情報を生成してもよい。
 なお、情報処理装置100は、品詞推定モデルの生成を行わない場合、品詞推定モデルを生成する外部のモデル生成装置から、品詞推定モデルを取得してもよい。例えば、情報処理装置100は、品詞推定の対象となる言語(対象言語)に対応可能な品詞推定モデルを、モデル生成装置から取得してもよい。例えば、情報処理装置100は、品詞推定の対象となる言語(対象言語)に対応する品詞推定モデルをモデル生成装置に要求し、モデル生成装置から対象言語の品詞推定モデルを取得してもよい。
[1-2.実施形態に係る情報処理装置の構成]
 次に、実施形態に係る情報処理を実行する情報処理装置の一例である情報処理装置100の構成について説明する。図3は、本開示の実施形態に係る情報処理装置100の構成例を示す図である。例えば、図3に示す情報処理装置100は、情報処理装置の一例である。情報処理装置100は、後述する情報処理装置としての機能を実現するコンピュータである。
 図3に示すように、情報処理装置100は、通信部11と、入力部12と、表示部13と、記憶部14と、制御部15とを有する。図3の例では、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部12(例えば、キーボードやマウス等)や、各種情報を表示するための表示部13(例えば、液晶ディスプレイ等)を有する。
 通信部11は、例えば、NIC(Network Interface Card)や通信回路等によって実現される。通信部11は、通信網N(インターネット等のネットワーク)と有線又は無線で接続され、通信網Nを介して、他の装置等との間で情報の送受信を行う。
 入力部12は、ユーザから各種操作が入力される。入力部12は、ユーザによる入力を受け付ける。入力部12は、ユーザによる学習方法の選択を受け付けてもよい。入力部12は、情報処理装置100に設けられたキーボードやマウスやタッチパネルを介してユーザからの各種操作を受け付けてもよい。
 表示部13は、各種情報を表示する。表示部13は、ディスプレイ等の表示装置(表示部)であり、各種情報を表示する。表示部13は、生成部153により生成された情報を表示する。表示部13は、解析部154による解析結果の情報を表示する。
 また、情報処理装置100は、表示部13に限らず、情報を出力する機能構成を有してもよい。なお、情報処理装置100は、情報を音声として出力する機能を有してもよい。例えば、情報処理装置100は、音声を出力するスピーカー等の音声出力部を有してもよい。
 記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14は、辞書情報記憶部141と、モデル情報記憶部142と、品詞推定情報記憶部143とを有する。
 図示を省略するが、辞書情報記憶部141には、辞書に関する各種情報が格納される。辞書情報記憶部141は、辞書情報を記憶する。辞書情報記憶部141は、単語に関する辞書情報を記憶する。例えば、辞書情報記憶部141は、各単語が用いられた文章等の文字情報(コーパス)や各単語の品詞の確率分布を記憶する。
 辞書情報記憶部141には、言語ごとの辞書情報が記憶されてもよい。この場合、辞書情報記憶部141には、日本語用の辞書情報である日本語辞書情報や、英語用の辞書情報である英語辞書情報や、ドイツ語用の辞書情報であるドイツ語辞書情報や、中国語用の辞書情報である中国語辞書情報等、種々の言語の辞書情報が記憶されてもよい。
 また、辞書情報記憶部141は、各データが学習用データであるか、評価用データであるか等を特定可能に記憶する。例えば、辞書情報記憶部141は、学習用データと評価用データとを区別可能に記憶する。辞書情報記憶部141は、各データが学習用データや評価用データであるかを識別する情報を記憶してもよい。情報処理装置100は、学習用データとして用いられる各データと正解情報とに基づいて、モデルを学習する。情報処理装置100は、評価用データとして用いられる各データと正解情報とに基づいて、モデルの精度を測定する。情報処理装置100は、評価用データを入力した場合にモデルが出力する出力結果と、正解情報とを比較した結果を収集することにより、モデルの精度を測定する。
 実施形態に係るモデル情報記憶部142は、モデルに関する情報を記憶する。例えば、モデル情報記憶部142は、モデル(ネットワーク)の構造を示す情報(モデルデータ)を記憶する。図4は、本開示の実施形態に係るモデル情報記憶部の一例を示す図である。図4に、実施形態に係るモデル情報記憶部142の一例を示す。図4に示した例では、モデル情報記憶部142は、「モデルID」、「用途」、「モデルデータ」といった項目が含まれる。
 「モデルID」は、モデルを識別するための識別情報を示す。「用途」は、対応するモデルの用途を示す。「モデルデータ」は、モデルのデータを示す。図4では「モデルデータ」に「MDT1」といった概念的な情報が格納される例を示したが、実際には、モデルに含まれるネットワークに関する情報や関数等、そのモデルを構成する種々の情報が含まれる。
 図4に示す例では、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「品詞推定」であることを示す。モデルM1は、単語の品詞推定に用いられるモデルであることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。図4では、モデルM1のみを図示するが、モデル情報記憶部142は、複数のモデルを記憶してもよい。モデル情報記憶部142は、モデルM1やモデルM2等、各言語の各々に対応する品詞推定モデルを記憶してもよい。
 なお、モデル情報記憶部142は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、モデル情報記憶部142は、学習処理により学習(生成)されたモデルの情報を記憶する。モデル情報記憶部142は、学習処理により学習(生成)されたモデルM1のパラメータ情報を記憶する。
 品詞推定情報記憶部143は、品詞推定に関する各種情報を記憶する。図5は、本開示の実施形態に係る品詞推定情報記憶部の一例を示す図である。例えば、品詞推定情報記憶部143は、品詞推定の対象となった未知語等の文字列やその品詞の推定結果に関する各種情報を記憶する。図5では、品詞推定の結果として、各品詞のスコアに基づく確率分布を記憶する場合を示す。実施形態に係る品詞推定情報記憶部143の一例を示す。図5の例では、辞書情報記憶部141は、「対象文字列」、「品詞ID」、「品詞」、「確率分布(スコア)」といった項目が含まれる。
 「対象文字列」は、品詞推定の対象となった文字列を示す。「品詞ID」は、品詞を識別するための識別情報を示す。また、「品詞」は、品詞IDに対応する品詞を示す。「確率分布(スコア)」は、対応する品詞の確率分布(スコア)を示す。「確率分布(スコア)」の値が大きい品詞ほど、対象文字列の品詞である可能性が高いことを示す。
 図5の例では、対象文字列「タピる」の品詞となり得る候補には、品詞ID「PS1」~「PS6」等により識別される複数の品詞が含まれることを示す。品詞ID「PS1」により識別される品詞(品詞PS1)は、「noun」、すなわち名詞であることを示す。品詞ID「PS2」により識別される品詞(品詞PS2)は、「verb」、すなわち動詞であることを示す。品詞ID「PS3」により識別される品詞(品詞PS3)は、「adverb」、すなわち副詞であることを示す。品詞ID「PS4」により識別される品詞(品詞PS4)は、「preposition」、すなわち前置詞であることを示す。品詞ID「PS5」により識別される品詞(品詞PS5)は、「adjective」、すなわち形容詞であることを示す。品詞ID「PS6」により識別される品詞(品詞PS6)は、「auxiliary verb」、すなわち助動詞であることを示す。
 図1の例では、対象文字列「タピる」の品詞は、名詞が「0.21」、動詞が「0.86」、副詞が「0.02」、前置詞が「0.01」、形容詞が「0.15」、助動詞が「0.01」となる確率分布であることを示す。
 なお、品詞推定情報記憶部143は、上記に限らず、目的に応じて種々の情報を記憶してもよい。品詞推定情報記憶部143は、「確率分布(スコア)」の各品詞のスコアを、各データに対応する正解情報(正解ラベル)として記憶する。
 図3に戻り、説明を続ける。制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM(Random Access Memory)等を作業領域として実行されることにより実現される。また、制御部15は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
 図3に示すように、制御部15は、取得部151と、学習部152と、生成部153と、解析部154と、送信部155とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15の内部構成は、図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
 取得部151は、各種情報を取得する。取得部151は、外部の情報処理装置から各種情報を取得する。取得部151は、記憶部14から各種情報を取得する。取得部151は、入力部12により受け付けられた情報を取得する。
 取得部151は、記憶部14から各種情報を取得する。取得部151は、辞書情報記憶部141やモデル情報記憶部142や品詞推定情報記憶部143から各種情報を取得する。取得部151は、学習用データを取得する。取得部151は、辞書情報記憶部141から辞書情報を取得する。
 取得部151は、モデルを取得してもよい。取得部151は、モデルのネットワーク構造を示す情報を取得してもよい。取得部151は、モデルを提供する外部の情報処理装置や記憶部14からモデルを取得する。例えば、取得部151は、モデルM1をモデル情報記憶部142から取得する。例えば、取得部151は、モデルM1のネットワーク構造を示す情報をモデル情報記憶部142から取得する。取得部151は、機械学習によるモデルの学習に用いる学習用データを取得する。取得部151は、辞書情報記憶部141からモデルの学習に用いる学習用データを取得する。
 取得部151は、学習部152が学習した各種情報を取得する。取得部151は、生成部153が生成した各種情報を取得する。取得部151は、解析部154が解析した各種情報を取得する。
 取得部151は、品詞の推定対象となる文字列を取得する。取得部151は、未知語である文字列を取得する。取得部151は、辞書情報に含まれない未知語である文字列を取得する。取得部151は、文字列に対応する言語の辞書情報に含まれず、言語での未知語である文字列を取得する。
 学習部152は、学習処理を行う。学習部152は、各種学習を行う。学習部152は、取得部151により取得された情報に基づいて、各種情報を学習する。学習部152は、モデルを学習(生成)する。学習部152は、モデル等の各種情報を学習する。学習部152は、学習によりモデルを生成する。学習部152は、種々の機械学習に関する技術を用いて、モデルを学習する。例えば、学習部152は、モデル(ネットワーク)のパラメータを学習する。学習部152は、種々の機械学習に関する技術を用いて、モデルを学習する。
 学習部152は、各種学習を行う。学習部152は、記憶部14に記憶された情報に基づいて、各種情報を学習する。学習部152は、辞書情報記憶部141やモデル情報記憶部142に記憶された情報に基づいて、モデルを学習する。
 学習部152は、ネットワークのパラメータを学習する。例えば、学習部152は、モデルM1やモデルM2のネットワークのパラメータを学習する。学習部152は、モデルM1やモデルM2のネットワークのパラメータを学習することにより、モデルM1やモデルM2を学習する。
 学習部152は、学習用バイト列と学習用バイト列に対応する正解情報との組合せである学習データを用いてモデルを学習する。学習部152は、文字列に対応する言語の学習データを用いて言語に対応するモデルを学習する。学習部152は、辞書情報記憶部141に記憶された学習用データ(教師データ)に基づいて、学習処理を行うことにより、モデルを生成する。学習部152は、辞書情報記憶部141に記憶された学習用データを用いて、学習処理を行うことにより、モデルを生成する。例えば、学習部152は、品詞推定に用いられるモデルを生成する。学習部152は、モデルM1やモデルM2のネットワークのパラメータを学習し、モデルM1やモデルM2を生成する。
 学習部152による学習の手法は特に限定されないが、例えば、文字列に対応するバイト列と、その文字列の確率分布とを紐づけた学習用データを用意し、その学習用データを多層ニューラルネットワークに基づいた計算モデルに入力して学習してもよい。また、例えばCNN(Convolutional Neural Network)、3D-CNN等のDNN(Deep Neural Network)に基づく手法が用いられてもよい。学習部152は、再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)やRNNを拡張したLSTM(Long Short-Term Memory units)に基づく手法を用いてもよい。
 学習部152は、学習により生成したモデルをモデル情報記憶部142に格納する。学習部152は、モデルM1やモデルM2を生成する。この場合、学習部152は、生成したモデルM1やモデルM2をモデル情報記憶部142に格納する。学習部152は、学習用データとして用いられる各データと正解情報とに基づいて、モデルを学習する。
 生成部153は、各種生成を行う。生成部153は、取得部151により取得された情報に基づいて、各種情報を生成する。生成部153は、学習部152により学習されたモデルに基づいて、各種情報を生成する。生成部153は、記憶部14に記憶された情報に基づいて、各種情報を生成する。生成部153は、辞書情報記憶部141やモデル情報記憶部142や品詞推定情報記憶部143に記憶された情報に基づいて、各種情報を生成する。
 生成部153は、各種判定を行う。生成部153は、文字列が未知語であるか否かを判定する。生成部153は、取得部151により取得された情報に基づいて、各種判定を行う。生成部153は、学習部152により学習されたモデルに基づいて、各種判定を行う。生成部153は、記憶部14に記憶された情報に基づいて、各種判定を行う。生成部153は、辞書情報記憶部141やモデル情報記憶部142や品詞推定情報記憶部143に記憶された情報に基づいて、各種判定を行う。
 生成部153は、表示部13に表示する各種情報を生成してもよい。生成部153は、表示部13に表示する文字情報やグラフといった画像情報などの各種情報を生成してもよい。この場合、生成部153は、画面に関する情報(画像)を画像に関連する種々の従来技術を適宜用いて生成する。生成部153は、画像をGUIに関する種々の従来技術を適宜用いて生成する。例えば、生成部153は、CSS、JavaScript(登録商標)、HTML、あるいは、上述した情報表示や操作受付等の情報処理を記述可能な任意の言語により画像を生成してもよい。
 生成部153は、文字列が変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。生成部153は、文字列が複数の品詞のうちいずれの品詞であるかを推定する品詞推定情報を生成する。生成部153は、文字列の言語に対応する品詞体系に含まれる複数の品詞のうち、文字列がいずれの品詞であるかを推定する品詞推定情報を生成する。
 生成部153は、文字列が複数の品詞のいずれであるかを示すスコアを含む品詞推定情報を生成する。生成部153は、複数の品詞の各々に対応する複数のスコアを含む品詞推定情報を生成する。生成部153は、文字列に対する複数の品詞の確率分布を示す品詞推定情報を生成する。
 生成部153は、バイト列を入力とするモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。生成部153は、文字列が複数の品詞のいずれであるかを示すスコアを出力するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。生成部153は、複数の品詞の各々に対応する複数のスコアを出力するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。
 生成部153は、学習用バイト列と学習用バイト列に対応する正解情報との組合せである学習データを用いて学習されたモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。生成部153は、文字列に対応する言語の学習データを用いて学習された言語に対応するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。
 生成部153は、未知語である文字列の品詞を推定する品詞推定情報を生成する。生成部153は、辞書情報に含まれない文字列の品詞を推定する品詞推定情報を生成する。生成部153は、言語での未知語である文字列の品詞を推定する品詞推定情報を生成する。生成部153は、文字列に含まれる文字の各々が複数バイトに変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。生成部153は、文字列が少なくとも日本語を含む言語群のいずれかである場合、文字列に含まれる文字の各々が複数バイトに変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。
 解析部154は、解析処理を行う。解析部154は、各種情報を解析する。解析部154は、外部の情報処理装置から取得された情報に基づいて、各種情報を解析する。解析部154は、記憶部14に記憶された情報に基づいて、各種情報を解析する。解析部154は、辞書情報記憶部141やモデル情報記憶部142や品詞推定情報記憶部143に記憶された情報に基づいて、各種情報を解析する。
 解析部154は、解析結果に関する情報を記憶部14に格納する。解析部154は、生成部153により生成された情報に基づいて、各種解析処理を行う。例えば、解析部154は、図13~図17に示すような形態素解析処理を行う。
 解析部154は、文章等の文字情報を、形態素解析等の自然言語処理技術を適宜用いた解析を実行する。解析部154は、文章等の文字情報に対する意味解析により、文章等の文字情報の内容を推定(特定)する。解析部154は、意味解析を適宜用いて文字情報を解析することにより、文字情報の内容を推定(特定)する。例えば、解析部154は、文字情報を構文解析等の種々の従来技術を適宜用いて解析することにより、文字情報の内容を推定する。
 解析部154は、生成部153により生成された品詞推定情報を用いて、文字列が含まれる文字情報を解析する。解析部154は、文字列に対して推定される品詞と文字列との組合せを用いて、文字情報を解析する。解析部154は、品詞推定情報を用いて、文字列が含まれる文字情報に対する形態素解析を実行する。
 送信部155は、各種情報を送信する。送信部155は、各種情報の提供を行う。送信部155は、外部の情報処理装置へ各種情報を提供する。送信部155は、外部の情報処理装置へ各種情報を送信する。送信部155は、記憶部14に記憶された情報を送信する。送信部155は、辞書情報記憶部141やモデル情報記憶部142や品詞推定情報記憶部143に記憶された情報を送信する。送信部155は、学習部152により学習されたモデルの情報を送信する。送信部155は、生成部153により生成された情報を送信する。送信部155は、解析部154による解析結果を送信する。
[1-2-1.モデル例]
 ここで、図6を用いて、情報処理装置100が用いるモデルのネットワーク構造の一例を説明する。図6は、本開示の実施形態に係るモデルの一例を示す図である。図6に示すネットワークNW1は、入力層INLと出力層OUTLとの間に複数(多層)の中間層を含むニューラルネットワークを示す。例えば、図6に示すネットワークNW1は、モデルM1やモデルM2のネットワークの一例である。
 図6に示すネットワークNW1は、モデルM1のネットワークに対応し、品詞推定に用いられるニューラルネットワーク(モデル)を示す概念的な図である。例えば、ネットワークNW1は、入力層INL側から例えば文字列に対応するバイト列が入力された場合に、出力層OUTLからそのバイト列に対応する文字列の品詞を推定する情報(スコア)を出力する。例えば、情報処理装置100は、ネットワークNW1中の入力層INLに情報を入力することにより、出力層OUTLから入力に対応する文字列の品詞を推定する情報(スコア)を出力させる。
 なお、図6では、モデル(ネットワーク)の一例としてネットワークNW1を示すが、ネットワークNW1は、用途等に応じて種々の形式であってもよい。例えば、情報処理装置100は、図6に示すネットワークNW1の構造を有するモデルM1のパラメータ(重み)を学習することにより、モデルM1を学習する。なお、情報処理装置100は、モデルM2についても上記と同様に学習する。
[1-3.実施形態に係る情報処理の手順]
 次に、図7を用いて、実施形態に係る情報処理の手順について説明する。図7は、本開示の実施形態に係る情報処理の手順を示すフローチャートである。
 図7に示すように、情報処理装置100は、品詞の推定対象となる文字列を取得する(ステップS101)。例えば、情報処理装置100は、未知語に対応する文字列を取得する。情報処理装置100は、文字列が変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する(ステップS102)。例えば、情報処理装置100は、未知語に対応する文字列について、各品詞の確率分布を示す品詞推定情報を生成する。
[1-4.品詞推定情報生成例]
 図8及び図9を用いて、品詞推定情報生成例について説明する。図8及び図9は、品詞推定の一例を示す図である。
 まず、図8について説明する。図8に示す生成例EX1は、英語の単語「rarely」を対象の文字列とした場合に、情報処理装置100が品詞推定情報を生成する例を示す。図8中のモデルM2は、英語の文字列を対象とする品詞推定モデルである。モデルM2は、モデルM1と同じネットワーク構成であってもよい。また、上述したようにモデルM1とモデルM2は、同じ品詞推定モデルであってもよい。
 モデルM2中の「Input embedding」は、所定の行列(図8の場合255×D行列)が設定される。モデルM2中の「Intermediate representation」は、例えばCNN(Convolutional Neural Network)や、RNN(Recurrent Neural Network)やtransfer等の各種のモデル(ネットワーク構成)であってもよい。モデルM2中の「Series of POS probability」の各要素の値は、以下の式(1)に示すような式により算出される。
Figure JPOXMLDOC01-appb-M000001
 すなわち、図8の場合、「noun」、「verb」、「adverb」、「preposition」「adjective」、「auxiliary verb」の6個の品詞の各々のスコアは、式(1)を基に算出される。
 図8の例では、情報処理装置100は、文字列「rarely」中の各文字を所定の文字コードに変換する変換処理により、文字列「rarely」に対応するバイト列を生成する。情報処理装置100は、文字「r」をUTF-8に対応する1バイト「0x72」に変換する。情報処理装置100は、文字「a」をUTF-8に対応する1バイト「0x61」に変換する。情報処理装置100は、文字「r」をUTF-8に対応する1バイト「0x72」に変換する。情報処理装置100は、文字「e」をUTF-8に対応する1バイト「0x65」に変換する。情報処理装置100は、文字「l」をUTF-8に対応する1バイト「0x6c」に変換する。情報処理装置100は、文字「y」をUTF-8に対応する1バイト「0x79」に変換する。これにより、情報処理装置100は、文字列「rarely」に対応するバイト列を生成する。
 そして、情報処理装置100は、文字列「rarely」に対応するバイト列をモデルM2に入力し、文字列「rarely」について各品詞のスコアをモデルM2に出力させる。モデルM2は、文字列「rarely」に対応するバイト列の入力に応じて、図8に示すような各品詞のスコアを出力する。モデルM1は、文字列「rarely」について、名詞のスコア「0.01」、動詞のスコア「0.16」、副詞のスコア「0.94」、前置詞のスコア「0.05」、形容詞のスコア「0.31」、助動詞のスコア「0.01」を出力する。これにより、情報処理装置100は、名詞がスコア「0.01」、動詞がスコア「0.16」、副詞がスコア「0.94」、前置詞がスコア「0.05」、形容詞がスコア「0.31」、助動詞がスコア「0.01」の確率分布を示す品詞推定情報を生成する。
 次に、図9について説明する。図9に示す生成例EX2は、英語の単語「google」を対象の文字列とした場合に、情報処理装置100が品詞推定情報を生成する例を示す。図9中のモデルM2は、英語の文字列を対象とする品詞推定モデルである。
 図9の例では、情報処理装置100は、文字列「google」中の各文字を所定の文字コードに変換する変換処理により、文字列「google」に対応するバイト列を生成する。情報処理装置100は、文字「g」をUTF-8に対応する1バイト「0x67」に変換する。情報処理装置100は、文字「o」をUTF-8に対応する1バイト「0x6f」に変換する。情報処理装置100は、文字「o」をUTF-8に対応する1バイト「0x6f」に変換する。情報処理装置100は、文字「g」をUTF-8に対応する1バイト「0x67」に変換する。情報処理装置100は、文字「l」をUTF-8に対応する1バイト「0x6c」に変換する。情報処理装置100は、文字「e」をUTF-8に対応する1バイト「0x65」に変換する。これにより、情報処理装置100は、文字列「google」に対応するバイト列を生成する。
 そして、情報処理装置100は、文字列「google」に対応するバイト列をモデルM2に入力し、文字列「google」について各品詞のスコアをモデルM2に出力させる。モデルM2は、文字列「google」に対応するバイト列の入力に応じて、図9に示すような各品詞のスコアを出力する。モデルM1は、文字列「google」について、名詞のスコア「0.81」、動詞のスコア「0.36」、副詞のスコア「0.04」、前置詞のスコア「0.05」、形容詞のスコア「0.11」、助動詞のスコア「0.01」を出力する。これにより、情報処理装置100は、名詞がスコア「0.81」、動詞がスコア「0.36」、副詞がスコア「0.04」、前置詞がスコア「0.05」、形容詞がスコア「0.11」、助動詞がスコア「0.01」の確率分布を示す品詞推定情報を生成する。
 上述のように、図8、9は動作の一例を示す。具体的には、図8、9は品詞がわからない単語rarelyとgoogleを入力した結果のイメージ図を示す。この際、それぞれの文字種構成と学習時に使った辞書内での文字種の構成とその組み合わせから、rarelyには、副詞、googleには固有名詞である確率が高く推定されることが期待される。
[1-5.処理フロー例]
 ここから、図10~図13を用いて、処理フローについて説明する。
[1-5-1.品詞推定のフロー例]
 まず、図10を用いて、品詞推定のフローについて説明する。図10は、品詞推定のフローの一例を示す図である。具体的には、図10は、品詞の生起確率を推定するアルゴリズムのフローの一例を示す図である。
 図10に示す処理フローPS1は、Byte単位へ分割する処理、Byte単位埋め込み層に関する処理、品詞確率出力の処理を含む。Byte単位へ分割する処理に対応するバイト単位分割では、入力テキスト(形態素候補)をbyte単位で分割する。例えば、文字「a」は「0x61」に変換され,文字「あ」は「0xe3,0x81,0x82」に変換される。
 また、Byte単位埋め込み層に関する処理に対応する埋め込み層では、RNNやCNNなどのアーキテクチャを多段に重ね合わせ、byte列の情報を固定長ベクトルに埋め込む。そして、前工程で得た埋め込み表現を用いて、sigmoid関数により、ある品詞の生起確率を得る。具体的には、定義されている品詞の数だけsigmoid関数を出力層に持つ全結合unitを用意し、形態素候補の品詞毎の確率分布を得る。
 例えば、Byte単位へ分割する処理は、「Input embedding」で示す入力層への入力に対応する。例えば、Byte単位埋め込み層に関する処理は、「Intermediate representation」で示す中間層に対応する。例えば、品詞確率出力の処理は、「Series of POS probability」で示す出力層に対応する。
[1-5-2.形態素解析のフロー例]
 次に図11を用いて形態素解析のフローの例について説明する。図11は、形態素解析のフローの一例を示す図である。
 図11に示す形態素解析部MAは、未知語に対して上述した品詞推定モデルを用いずに、所定のルール情報(以下「未知語ルール」ともいう)を用いて処理する場合を示す。形態素解析部MAは、単語辞書を用いて辞書引きを行い、未知語ルールを用いて未知語処理を行い、文法制約を用いてラティスを構築し、経路最適化を行う。なお、図11に示す形態素解析部MAの処理は、一般的な形態素解析の処理と同様であるため詳細な説明は省略する。
[1-5-3.応用アプリケーションのフロー例]
 次に、図12を用いて、応用アプリケーションのフローについて説明する。図12は、応用アプリケーションのフローの一例を示す図である。
 図12に示す応用アプリAPは、例えば、NLP(自然言語処理:Natural Language Processing)アプリケーションである。例えば、情報処理装置100は、応用アプリAPに対応する機能を有してもよい。情報処理装置100の制御部130は、応用アプリAPに対応する機能を実現する実行部を有してもよい。
 応用アプリAPは、形態素列を用いて以下の処理を行う。応用アプリAPは、特徴量化を行い、既知/未知の判定を行い、学習コーパスを用いて類似事例検索を行い、学習済みモデルを用いてモデルのアップデートを行い、システム出力を行う。
[1-5-4.アプリケーション統合フロー例]
 次に、図13を用いて、アプリケーションの統合フローについて説明する。図13は、形態素解析を含むアプリケーション全体のフローの一例を示す図である。具体的には、図13は、未知語解析を形態素解析ツールに組み込んだ場合の全体フロー図を示す。なお、図13において、図11や図12と同様の点については適宜説明を省略する。
 例えば、情報処理装置100は、図13中の全体フローFA1を実行する機能を有してもよい。情報処理装置100の制御部130は、図13中の全体フローFA1を実行する機能を有してもよい。情報処理装置100の解析部134は、図13中の形態素解析部MAを実行する機能を有してもよい。情報処理装置100の実行部は、図13中の応用アプリAPを実行する機能を有してもよい。
 図13中の全体フローFA1は、図13中の形態素解析部MAと図13中の応用アプリAPとを一連の処理として実行する処理フローである。図13中の形態素解析部MAは、未知語に対する処理の点で、図11中の形態素解析部MAと相違する。図13中の形態素解析部MAは、図11中の形態素解析部MAのようなルールベースの処理ではなく、モデルM1やモデルM2のような品詞推定モデルを用いた処理である。
 図13中の全体フローFA1に示すように、図13中の形態素解析部MAは、未知語に対して図10に示すような品詞推定の処理を実行することで、未知語に対する処理(「未知語解析」ともいう)を実行する。
 例えば、応用アプリAPが行う処理には、テキストの分類タスクがある。例えば、テキストの分類タスクとは、入力テキストに対して、ある特定のラベルを与えるタスクである。ここで、正解のラベル列が既に判明しているテキストに対して、未知語が生起している入力文が持つ意味を考える。文のような単位では、あらゆる単語の組み合わせに対して、ラベルを用意しておくことは困難である。そのため、入力文との完全マッチで正解付き事例が見つかる可能性は低い。
 一方で、単語単位で似た出現分布を持つ別の単語を探すために、単語の分散表現同士の距離を測る方法が存在する。さらに、分散表現を獲得する際は、文字列のみを用いることが一般的であるが、そこに品詞を付与し、同時に分散表現を得ることで、品詞の違いを考慮した距離を定義することが可能である。この技術と未知語解析結果を組み合わせ、形態素解析辞書、トレーニングデータ共に未出現でありながら、テストデータで出現した単語に品詞を割り当て、その単語と似たベクトルを持つ単語を大規模なテキストデータを解析したコーパスから探索する。探索結果として見つかった候補(未知語言いかえ候補)が含まれるトレーニング事例から、入力事例と意味が似ている文を取り出すことで、未知語の意味と品詞を同時に推定することができ、ユーザ発話への再現率が向上する。
 また、未知語解析を行うことで、上述のような応用アプリAPの動作頑健性を向上させることが可能である。このように、情報処理装置100は、形態素解析ツールに未知語解析のアルゴリズムを適応することで、言語への知識を記述したヒューリスティックスをベースにしたルールの除外することができる。つまり、情報処理装置100は、形態素解析ツールに未知語解析のアルゴリズムを適応することで、言語拡張の容易さを向上させることができる。
 以下、図13に示す全体フローFA1に対応する動作例を説明する。ここでは、SLU(Spoken Language Understanding)を一例として説明する。具体的には、電子商取引、いわゆる通販サイトを介した商品購入(ネットショッピング)にSLUを適用した場合の動作例を説明する。また、以下の例では、スマートスピーカを利用してユーザの発話により処理を行う場合を示す。この場合、情報処理装置100は、スマートスピーカであってもよい。
 まず、ユーザは買い物をするために通販サイトを閲覧し、スマートスピーカで注文を行う。ユーザは「今日発売したXXXカートを注文したい。」と発話する。なお、「XXX」は人気キャラクター名であるものとする。
 スマートスピーカの内部サービスでは、「BUY_BOOKS」、「BUY_GAMES」のように、何かを購入したがっているユーザがいる場合に、その商品カテゴリが判明すればタスク実行可能な状態であるものとする。例えば、「BUY_BOOKS」や「BUY_GAMES」は、発話するユーザの意図を示す情報(ラベル)である。また、このサービス実現のために、情報処理装置100は、“「XXXワールドを注文したい」->BUY_GAMES”、“「今週の週刊誌WM」->BUY_BOOKS”のように、各カテゴリに属する発話事例をトレーニングデータとして大量に収集しているとする。
 そして、新しく出現した単語、すなわち未知語「XXXカート」は既存の学習コーパスに事例が存在しないため、ユーザが何を欲しがっているかはわからない。そのため、情報処理装置100は、XXXカートは未知語解析の結果によると固有名詞として出現しているようだと推定する。
 情報処理装置100は、固有名詞“スーパーXXX”と似たベクトルを持つ単語を大規模コーパスから検索する。例えば、情報処理装置100は、“スーパーXXX”、“XXXワールド”を検出する。情報処理装置100は、検出結果を含む事例と、未知語「XXXカート」を含む「今日発売したXXXカートを注文したい。」とを比較する。
 過去のラベル付きデータ“XXXワールドを注文したい”と“(今日発売した)XXXカートを注文したい”は距離が近い。そのため、情報処理装置100は、入力発話「今日発売したXXXカートを注文したい。」がBUY_GAMESに関連する発話であると推定する。
 情報処理装置100は、上述のように単語辞書に記載されていない文字列について、品詞毎の確率分布を推定可能となる。また、情報処理装置100は、未登録語の品詞がわかることで、トレーニングセットにおける類似事例を条件付きで探索可能となる。
[1-6.形態素解析]
 次に、図14~図17を用いて、形態素解析について説明する。
 まず、図14を用いて、形態素解析の概要について簡単に記載する。図14は、形態素解析の処理概要を示す図である。情報処理装置100は、以下に示すような形態素解析の処理を実行する。なお、以下の説明では、従来の形態素解析の処理と同様の点については、詳細な説明を適宜省略する。
 情報処理装置100は、形態素解析の処理により、入力テキスト(文字情報)を、品詞タグが付与された形態素(単語)の集合に変換する。例えば、情報処理装置100は、入力された文章(文字情報)に対して、辞書中に含まれている単語全てを検索し、抽出する。そして、情報処理装置100は、単語の候補を列挙したグラフ構造であるラティス構造(単に「ラティス」ともいう)を生成する。このように、情報処理装置100は、形態素解析の処理において、グラフの一種であるラティスを生成する。図14中のラティスLT1は、「東京都出身」という文字情報を対象とした場合に生成されるラティスを示す。図14中のBOS(Beginning Of Sentence)は、文頭を示すノードであり、EOS(End Of Sentence)は、文末を示すノードである。例えば、ラティスの文頭ノード(図14中の「BOS」)から文末ノード(図14中の「EOS」)までのパスが、形態素解析結果になる。
 このように、情報処理装置100は、形態素解析の対象となる文字情報中の部分一致する全文字列(単語)を辞書から抽出し、単語の候補を列挙したラティス(単語ラティス)を生成する。例えば、情報処理装置100は、事前に生成可能な単語列(ラティス)を、辞書を用いて網羅的に列挙する。そして、情報処理装置100は、各単語間の連結部において両単語が連結して出現する確率に相当するスコアを付与する。情報処理装置100は、単語同士の多くの組み合わせの中から、文章として最も確からしい(尤もらしい)と推定される単語の並びを選択する。
[1-6-1.未知語を含む形態素解析の事例その1]
 次に、図15~図17を用いて、形態素解析の処理の例を示す。図15~図17は、未知語を含む形態素解析の処理の一例を示す図である。まず、図15について説明する。図15は、未知語を含む形態素解析の事例その1である。
 図15中の事例ME1に示すように、入力文字列「東京都知事」が取得された場合、システム辞書を用いて、ラティスを生成し、入力文字列「東京都知事」を形態素に分割した情報が出力される。図15の例では、入力文字列「東京都知事」を、「東京」、「都」、「知事」の3つの形態素(文字列)に分割した結果が出力される。
 例えば、“東京都知事”という文字列を1トークン(1つの文字列)として処理したい場合、図15の場合、辞書には含まれない単語は、解析候補として扱われないために、解析不可能となる。なお、解析にはラティス(図中BOSから始まり、EOSで終わるグラフ)が用いられる。ここで、ラティス中のノードには、文字列と品詞と生起コストの3つの情報が対応付けられている。詳細な説明は省略するが、品詞と品詞のつながりのよさを示す接続コストが別途付与され、接続コストと生起コストとによって、経路上の最短パスが求められ、解析結果として出力される。
[1-6-2.未知語を含む形態素解析の事例その2]
 次に、図16について説明する。図16は、未知語を含む形態素解析の事例その2である。なお、図15と同様の点については説明を省略する。
 図16の例では、情報処理装置100は、入力文字列「東京都知事」から“東京都”をキーワード抽出し、アプリ辞書へ“東京都”を未知語として単語登録する。例えば、情報処理装置100は、システム辞書やアプリ辞書の情報を記憶部120に記憶してもよい。
 そして、情報処理装置100は、未知語「東京都」の生起コストを設定する。情報処理装置100は、種々の情報を適宜用いて未知語「東京都」の生起コストを設定する。例えば、情報処理装置100は、情報処理装置100の管理者等が指定した値を、未知語「東京都」の生起コストに設定してもよい。情報処理装置100の管理者等は、システム辞書を参照して未知語「東京都」の生起コストを指定したり、未知語「東京都」の生起コストを小さい値に設定したりする。また、情報処理装置100は、自動で未知語「東京都」の生起コストを設定してもよい。例えば、情報処理装置100は、未知語「東京都」を含むパス(経路)が選択されやすくなるように、未知語「東京都」の生起コストを設定してもよい。
 図16中の事例ME2に示すように、情報処理装置100は、入力文字列「東京都知事」を取得した場合、システム辞書やアプリ辞書を用いて、ラティスを生成し、入力文字列「東京都知事」を形態素に分割した情報を出力(生成)する。図16の例では、BOSからEOSまでの各パス(経路)のうち、「東京都」、「知事」を通るパス(Path)がその他のパス(Path)よりもコストが小さいラティスが生成されるものとする。情報処理装置100は、入力文字列「東京都知事」を、「東京都」、「知事」の2つの形態素(文字列)に分割した結果を生成する。例えば、情報処理装置100は、システム辞書やアプリ辞書の情報を記憶部120から取得してもよいし、システム辞書やアプリ辞書の情報を提供する外部の装置から取得してもよい。
[1-6-3.未知語を含む形態素解析の事例その3]
 次に、図17について説明する。図17は、未知語を含む形態素解析の事例その3である。なお、図15及び図16と同様の点については説明を省略する。
 図17の例では、情報処理装置100は、入力文字列「東京都知事」から“東京都知事”をキーワード抽出し、アプリ辞書へ“東京都知事”を未知語として単語登録する。
 そして、情報処理装置100は、未知語「東京都知事」の生起コストを設定する。情報処理装置100は、種々の情報を適宜用いて未知語「東京都知事」の生起コストを設定する。例えば、情報処理装置100は、情報処理装置100の管理者等が指定した値を、未知語「東京都知事」の生起コストに設定してもよい。例えば、情報処理装置100は、未知語「東京都知事」を含むパス(経路)が選択されやすくなるように、未知語「東京都知事」の生起コストを設定してもよい。
 図17中の事例ME3に示すように、情報処理装置100は、入力文字列「東京都知事」を取得した場合、システム辞書やアプリ辞書を用いて、ラティスを生成し、入力文字列「東京都知事」を形態素に分割した情報を出力(生成)する。図17の例では、BOSからEOSまでの各パス(経路)のうち、「東京都」、「知事」を通るパス(Path)がその他のパス(Path)よりもコストが小さいラティスが生成されるものとする。すなわち、図17の例では、「東京都」、「知事」を通るパス(Path)のコストが「東京都知事」を通るパス(Path)のコストよりも小さい。情報処理装置100は、入力文字列「東京都知事」を、「東京都」、「知事」の2つの形態素(文字列)に分割した結果を生成する。なお、情報処理装置100の管理者等は、「東京都知事」の1つの形態素(文字列)に分割した結果を生成したい場合、未知語「東京都知事」の生起コストをさらに小さく設定してもよい。
 ここで、従来手法では、未知語処理として“東京都知事”を解析結果の候補として抽出できたとしても、ヒューリスティックなルールを使わない場合、品詞が何かがわからずに結果として解析することができない。一方で、情報処理装置100は、品詞推定情報を生成することによって、“東京都知事:名詞”のようなノードをラティスに追加することができる。情報処理装置100は、未知語に品詞の情報を付加した後、文字列と品詞を特徴量として、どの程度1トークンとしてでやすいかを示すスコアを付与することで、経路の最適化を実行することができる。
[2.その他の実施形態]
 上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態(変形例)にて実施されてよい。例えばシステム構成は、上述した例に限らず、種々の態様であってもよい。この点について以下説明する。なお、以下では、実施形態に係る情報処理装置100と同様の点については、適宜説明を省略する。
[2-1.変形例]
 例えば、上述した例では、ユーザが利用する端末装置である情報処理装置100が品詞推定を行う例を示したが、品詞推定を行う情報処理装置と、ユーザが利用する端末装置とは別体であってもよい。この点について、図18及び図19を用いて説明する。図18は、本開示の変形例に係る情報処理システムの構成例を示す図である。図19は、本開示の変形例に係る情報処理装置の構成例を示す図である。
 図18に示すように、情報処理システム1には、端末装置10と、情報処理装置100Aとが含まれる。端末装置10及び情報処理装置100Aは通信網Nを介して、有線又は無線により通信可能に接続される。なお、図18に示した情報処理システム1には、複数台の端末装置10や、複数台の情報処理装置100Aが含まれてもよい。この場合、情報処理装置100Aは、通信網Nを介して端末装置10と通信し、端末装置10への情報の提供やユーザが端末装置10を介して入力した文字情報を対象として、品詞推定や形態素解析等の処理を行なったりしてもよい。また、情報処理装置100Aは、ユーザが端末装置10を介して指定したパラメータ等の情報を基に、モデルの学習を行なったりしてもよい。
 端末装置10は、ユーザによって利用される情報処理装置である。端末装置10は、例えば、ノート型PC(Personal Computer)や、デスクトップPCや、スマートフォンや、タブレット型端末や、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、端末装置10は、情報処理装置100Aが提供する情報を表示可能であればどのような端末装置であってもよい。端末装置10は、クライアント端末である。
 また、端末装置10は、ユーザによる操作を受け付ける。図18に示す例において、端末装置10は、情報処理装置100Aが提供する情報を画面に表示する。また、端末装置10は、ユーザによる操作を示す情報等の情報を情報処理装置100Aへ送信する。例えば、端末装置10は、品詞の推定対象となる文字列を情報処理装置100Aへ送信する。端末装置10は、未知語である文字列を情報処理装置100Aへ送信する。端末装置10は、辞書情報に含まれない未知語である文字列を情報処理装置100Aへ送信する。端末装置10は、文字列に対応する言語の辞書情報に含まれず、言語での未知語である文字列を情報処理装置100Aへ送信する。端末装置10は、解析の対象となる文字情報を情報処理装置100Aへ送信する。端末装置10は、品詞の推定対象となる文字列を含む文字情報を情報処理装置100Aへ送信する。
 端末装置10は、情報処理装置100Aから受信した情報を表示する。端末装置10は、情報処理装置100Aから受信した品詞推定の結果を表示する。端末装置10は、情報処理装置100Aから受信した解析結果を表示する。
 情報処理装置100Aは、端末装置10に情報を提供したり、端末装置10から情報を取得したりする点で情報処理装置100と相違する以外は、情報処理装置100と同様の情報処理を実現する。情報処理装置100Aは、クライアント端末である端末装置10にサービスを提供するサーバである。例えば、情報処理装置100Aは、端末装置10から取得した文字情報を基に、品詞推定や形態素解析の処理を実行し、その実行結果を端末装置10へ送信する。
 図19に示すように、情報処理装置100Aは、通信部11と、記憶部14と、制御部15Aとを有する。通信部11は、通信網N(インターネット等)と有線又は無線で接続され、通信網Nを介して、端末装置10との間で情報の送受信を行う。この場合、情報処理装置100Aは、情報処理装置100のような情報を表示する機能を有しなくてもよい。なお、情報処理装置100Aは、情報処理装置100Aの管理者等が利用する入力部(例えば、キーボードやマウス等)や表示部(例えば、液晶ディスプレイ等)を有してもよい。
 制御部15Aは、例えば、CPUやMPU等によって、情報処理装置100A内部に記憶されたプログラム(例えば、本開示に係る情報処理プログラム)がRAM等を作業領域として実行されることにより実現される。また、制御部15Aは、例えば、ASICやFPGA等の集積回路により実現されてもよい。
 図19に示すように、制御部15Aは、取得部151Aと、学習部152と、生成部153と、解析部154と、送信部155Aとを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部15Aの内部構成は、図19に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
 取得部151Aは、取得部151と同様に各種情報を取得する。取得部151Aは、端末装置10から各種情報を取得する。取得部151Aは、端末装置10からユーザの操作情報を取得する。取得部151Aは、記憶部14から各種情報を取得する。
 送信部155Aは、送信部155と同様に各種情報の提供を行う。送信部155Aは、端末装置10に各種情報を提供する。送信部155Aは、端末装置10へ各種情報を送信する。送信部155Aは、生成部153により生成された情報を端末装置10に提供する。送信部155Aは、解析部154による解析結果を端末装置10に提供する。送信部155Aは、端末装置10に表示させる情報を端末装置10に送信する。送信部155Aは、生成部153による品詞推定の結果や、解析部154による形態素解析の結果を端末装置10へ送信する。
[2-2.その他の構成例]
 また、上述した各実施形態や変形例に係る処理は、上記実施形態や変形例以外にも種々の異なる形態(変形例)にて実施されてよい。例えば、モデルを学習する装置(学習装置)と、モデルを用いて品詞を推定する装置(推定装置)と、形態素解析等の解析処理を実行する装置(解析装置)とは別体であってもよい。この場合、情報処理システムは、学習装置と、品詞推定を行う情報処理装置である推定装置と、解析装置とを含んでもよい。なお、上記は一例であり、情報処理システムは種々の構成により実現されてもよい。
[2-3.その他]
 また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
[3.本開示に係る効果]
 上述のように、本開示に係る情報処理装置(実施形態では情報処理装置100、100A)は、取得部(実施形態では取得部151、151A)と、生成部(実施形態では生成部153)とを備える。取得部は、品詞の推定対象となる文字列を取得する。生成部は、文字列が変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。
 これにより、本開示に係る情報処理装置は、品詞の推定対象となる文字列が変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成することで、文字列をバイトという別の情報に変換したうえでその文字列の品詞を推定することができる。また、情報処理装置は、文字列をバイト列に変換することで、どの言語であってもバイト列として品詞推定の処理を行うことができるため、言語に依存しない品詞推定が可能となる。したがって、情報処理装置は、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、文字列が複数の品詞のうちいずれの品詞であるかを推定する品詞推定情報を生成する。これにより、情報処理装置は、文字列が複数の品詞のうちいずれの品詞であるかを推定することができる。
 また、生成部は、文字列の言語に対応する品詞体系に含まれる複数の品詞のうち、文字列がいずれの品詞であるかを推定する品詞推定情報を生成する。これにより、情報処理装置は、文字列の言語に対応する品詞体系の中で、文字列が複数の品詞のうちいずれの品詞であるかを推定することができる。
 また、生成部は、文字列が複数の品詞のいずれであるかを示すスコアを含む品詞推定情報を生成する。これにより、情報処理装置は、文字列が複数の品詞のいずれであるかを示すスコアにより、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、複数の品詞の各々に対応する複数のスコアを含む品詞推定情報を生成する。これにより、情報処理装置は、複数の品詞の各々に対応する複数のスコアにより、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、文字列に対する複数の品詞の確率分布を示す品詞推定情報を生成する。これにより、情報処理装置は、文字列に対する複数の品詞の確率分布により、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、バイト列を入力とするモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、バイト列を入力とするモデルを用いることで、柔軟な文字列の品詞推定を可能にすることができる。また、情報処理装置は、バイト列を入力とするモデルを用いることで、どの言語であってもバイト列として品詞推定の処理を行うことができるため、言語に依存しない品詞推定が可能となる。
 また、生成部は、文字列が複数の品詞のいずれであるかを示すスコアを出力するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、モデルが出力し、文字列が複数の品詞のいずれであるかを示すスコアにより、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、複数の品詞の各々に対応する複数のスコアを出力するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、モデルが出力し、複数の品詞の各々に対応する複数のスコアにより、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、学習用バイト列と学習用バイト列に対応する正解情報との組合せである学習データを用いて学習されたモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、学習データを用いて学習されたモデルを用いることで、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、文字列に対応する言語の学習データを用いて学習された言語に対応するモデルを用いて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、文字列に対応する学習データを用いて学習されたモデルを用いることで、柔軟な文字列の品詞推定を可能にすることができる。
 また、取得部は、未知語である文字列を取得する。生成部は、未知語である文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、推定対象となる文字列が未知語である場合であっても、柔軟な文字列の品詞推定を可能にすることができる。
 また、取得部は、辞書情報に含まれない未知語である文字列を取得する。生成部は、辞書情報に含まれない文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、推定対象となる文字列が辞書情報に含まれない単語(未知語)である場合であっても、柔軟な文字列の品詞推定を可能にすることができる。
 また、取得部は、文字列に対応する言語の辞書情報に含まれず、言語での未知語である文字列を取得する。生成部は、言語での未知語である文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、推定対象となる文字列が、文字列に対応する言語の辞書情報に含まれない単語(未知語)である場合であっても、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、文字列に含まれる文字の各々が複数バイトに変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、文字列に含まれる文字の各々が複数バイトに変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成することで、マルチバイトにも対応し、柔軟な文字列の品詞推定を可能にすることができる。
 また、生成部は、文字列が少なくとも日本語を含む言語群のいずれかである場合、文字列に含まれる文字の各々が複数バイトに変換されたバイト列に基づいて、文字列の品詞を推定する品詞推定情報を生成する。これにより、情報処理装置は、日本語等のように1文字が複数バイトに変換され得る言語が対象となる場合であっても、柔軟な文字列の品詞推定を可能にすることができる。
[4.ハードウェア構成]
 上述してきた各実施形態に係る情報処理装置100、100A等の情報機器は、例えば図20に示すような構成のコンピュータ1000によって実現される。図20は、情報処理装置100、100A等の情報処理装置の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。以下、実施形態に係る情報処理装置100を例に挙げて説明する。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、制御部15等の機能を実現する。また、HDD1400には、本開示に係る情報処理プログラムや、記憶部14内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 なお、本技術は以下のような構成も取ることができる。
(1)
 品詞の推定対象となる文字列を取得する取得部と、
 前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する生成部と、
 を備える情報処理装置。
(2)
 前記生成部は、
 前記文字列が複数の品詞のうちいずれの品詞であるかを推定する前記品詞推定情報を生成する、
 (1)に記載の情報処理装置。
(3)
 前記生成部は、
 前記文字列の言語に対応する品詞体系に含まれる複数の品詞のうち、前記文字列がいずれの品詞であるかを推定する前記品詞推定情報を生成する、
 (2)に記載の情報処理装置。
(4)
 前記生成部は、
 前記文字列が複数の品詞のいずれであるかを示すスコアを含む前記品詞推定情報を生成する、
 (2)または(3)に記載の情報処理装置。
(5)
 前記生成部は、
 複数の品詞の各々に対応する複数のスコアを含む前記品詞推定情報を生成する、
 (4)に記載の情報処理装置。
(6)
 前記生成部は、
 前記文字列に対する複数の品詞の確率分布を示す前記品詞推定情報を生成する、
 (2)~(5)のいずれか1項に記載の情報処理装置。
(7)
 前記生成部は、
 前記バイト列を入力とするモデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (1)~(6)のいずれか1項に記載の情報処理装置。
(8)
 前記生成部は、
 前記文字列が複数の品詞のいずれであるかを示すスコアを出力する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (7)に記載の情報処理装置。
(9)
 前記生成部は、
 複数の品詞の各々に対応する複数のスコアを出力する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (7)または(8)に記載の情報処理装置。
(10)
 前記生成部は、
 学習用バイト列と前記学習用バイト列に対応する正解情報との組合せである学習データを用いて学習された前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (7)~(9)のいずれか1項に記載の情報処理装置。
(11)
 前記生成部は、
 前記文字列に対応する言語の前記学習データを用いて学習された前記言語に対応する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (10)に記載の情報処理装置。
(12)
 前記取得部は、
 未知語である前記文字列を取得し、
 前記生成部は、
 前記未知語である前記文字列の品詞を推定する品詞推定情報を生成する、
 (1)~(11)のいずれか1項に記載の情報処理装置。
(13)
 前記取得部は、
 辞書情報に含まれない前記未知語である前記文字列を取得し、
 前記生成部は、
 前記辞書情報に含まれない前記文字列の品詞を推定する品詞推定情報を生成する、
 (12)に記載の情報処理装置。
(14)
 前記取得部は、
 前記文字列に対応する言語の前記辞書情報に含まれず、前記言語での前記未知語である前記文字列を取得し、
 前記生成部は、
 前記言語での前記未知語である前記文字列の品詞を推定する品詞推定情報を生成する、
 (13)に記載の情報処理装置。
(15)
 前記生成部は、
 前記文字列に含まれる文字の各々が複数バイトに変換された前記バイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (1)~(14)のいずれか1項に記載の情報処理装置。
(16)
 前記生成部は、
 前記文字列が少なくとも日本語を含む言語群のいずれかである場合、前記文字列に含まれる文字の各々が複数バイトに変換された前記バイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
 (15)に記載の情報処理装置。
(17)
 品詞の推定対象となる文字列を取得し、
 前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
 処理を実行する情報処理方法。
 100、100A 情報処理装置
 11 通信部
 12 入力部
 13 表示部(ディスプレイ)
 14 記憶部
 141 辞書情報記憶部
 142 モデル情報記憶部
 143 品詞推定情報記憶部
 15、15A 制御部
 151、151A 取得部
 152 学習部
 153 生成部
 154 解析部
 155、155A 送信部

Claims (17)

  1.  品詞の推定対象となる文字列を取得する取得部と、
     前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する生成部と、
     を備える情報処理装置。
  2.  前記生成部は、
     前記文字列が複数の品詞のうちいずれの品詞であるかを推定する前記品詞推定情報を生成する、
     請求項1に記載の情報処理装置。
  3.  前記生成部は、
     前記文字列の言語に対応する品詞体系に含まれる複数の品詞のうち、前記文字列がいずれの品詞であるかを推定する前記品詞推定情報を生成する、
     請求項2に記載の情報処理装置。
  4.  前記生成部は、
     前記文字列が複数の品詞のいずれであるかを示すスコアを含む前記品詞推定情報を生成する、
     請求項2に記載の情報処理装置。
  5.  前記生成部は、
     複数の品詞の各々に対応する複数のスコアを含む前記品詞推定情報を生成する、
     請求項4に記載の情報処理装置。
  6.  前記生成部は、
     前記文字列に対する複数の品詞の確率分布を示す前記品詞推定情報を生成する、
     請求項2に記載の情報処理装置。
  7.  前記生成部は、
     前記バイト列を入力とするモデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項1に記載の情報処理装置。
  8.  前記生成部は、
     前記文字列が複数の品詞のいずれであるかを示すスコアを出力する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項7に記載の情報処理装置。
  9.  前記生成部は、
     複数の品詞の各々に対応する複数のスコアを出力する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項7に記載の情報処理装置。
  10.  前記生成部は、
     学習用バイト列と前記学習用バイト列に対応する正解情報との組合せである学習データを用いて学習された前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項7に記載の情報処理装置。
  11.  前記生成部は、
     前記文字列に対応する言語の前記学習データを用いて学習された前記言語に対応する前記モデルを用いて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項10に記載の情報処理装置。
  12.  前記取得部は、
     未知語である前記文字列を取得し、
     前記生成部は、
     前記未知語である前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項1に記載の情報処理装置。
  13.  前記取得部は、
     辞書情報に含まれない前記未知語である前記文字列を取得し、
     前記生成部は、
     前記辞書情報に含まれない前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項12に記載の情報処理装置。
  14.  前記取得部は、
     前記文字列に対応する言語の前記辞書情報に含まれず、前記言語での前記未知語である前記文字列を取得し、
     前記生成部は、
     前記言語での前記未知語である前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項13に記載の情報処理装置。
  15.  前記生成部は、
     前記文字列に含まれる文字の各々が複数バイトに変換された前記バイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項1に記載の情報処理装置。
  16.  前記生成部は、
     前記文字列が少なくとも日本語を含む言語群のいずれかである場合、前記文字列に含まれる文字の各々が複数バイトに変換された前記バイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
     請求項15に記載の情報処理装置。
  17.  品詞の推定対象となる文字列を取得し、
     前記文字列が変換されたバイト列に基づいて、前記文字列の品詞を推定する品詞推定情報を生成する、
     処理を実行する情報処理方法。
PCT/JP2021/011010 2020-03-30 2021-03-18 情報処理装置及び情報処理方法 WO2021200200A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-061284 2020-03-30
JP2020061284A JP2021162917A (ja) 2020-03-30 2020-03-30 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2021200200A1 true WO2021200200A1 (ja) 2021-10-07

Family

ID=77928756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/011010 WO2021200200A1 (ja) 2020-03-30 2021-03-18 情報処理装置及び情報処理方法

Country Status (2)

Country Link
JP (1) JP2021162917A (ja)
WO (1) WO2021200200A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074047A1 (ja) 2021-10-25 2023-05-04 ソニーグループ株式会社 ニューラルネットワーク装置、検出方法、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051996A (ja) * 1999-08-04 2001-02-23 Nippon Telegr & Teleph Corp <Ntt> 形態素解析方法及び装置及び形態素解析プログラムを格納した記憶媒体
JP2008305291A (ja) * 2007-06-11 2008-12-18 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2010250814A (ja) * 2009-04-14 2010-11-04 Nec (China) Co Ltd 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051996A (ja) * 1999-08-04 2001-02-23 Nippon Telegr & Teleph Corp <Ntt> 形態素解析方法及び装置及び形態素解析プログラムを格納した記憶媒体
JP2008305291A (ja) * 2007-06-11 2008-12-18 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2010250814A (ja) * 2009-04-14 2010-11-04 Nec (China) Co Ltd 品詞タグ付けシステム、品詞タグ付けモデルのトレーニング装置および方法

Also Published As

Publication number Publication date
JP2021162917A (ja) 2021-10-11

Similar Documents

Publication Publication Date Title
TWI684881B (zh) 基於機器翻譯的自動生成重述以產生一對話式代理人的方法、系統及非暫態機器可讀取媒體
WO2019153737A1 (zh) 用于对评论进行评估的方法、装置、设备和存储介质
TWI437449B (zh) 多重模式輸入方法及輸入方法編輯器系統
US20140316764A1 (en) Clarifying natural language input using targeted questions
JP2015094848A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2021197133A (ja) 意味マッチング方法、装置、電子機器、記憶媒体及びコンピュータプログラム
CN103842993A (zh) 用于上下文个性化搜索的系统和方法
CN108509427B (zh) 文本数据的数据处理方法及应用
WO2020199600A1 (zh) 情感极性分析方法及相关装置
CN111414561B (zh) 用于呈现信息的方法和装置
JP7335300B2 (ja) 知識事前訓練モデルの訓練方法、装置及び電子機器
JP6370962B1 (ja) 生成装置、生成方法および生成プログラム
Kawahara et al. Rapid development of a corpus with discourse annotations using two-stage crowdsourcing
US20210255759A1 (en) Indication of content linked to text
JP2021047817A (ja) 出力装置、及び出力プログラム
US20240020458A1 (en) Text formatter
WO2021200200A1 (ja) 情報処理装置及び情報処理方法
CN108268602A (zh) 分析文本话题点的方法、装置、设备和计算机存储介质
JP5317061B2 (ja) 単語間の意味的関係の有無についての、複数言語での同時分類器及びそのためのコンピュータプログラム。
CN111460224B (zh) 评论数据的质量标注方法、装置、设备及存储介质
JP6605997B2 (ja) 学習装置、学習方法及びプログラム
JP7194759B2 (ja) 翻訳用データ生成システム
US8666987B2 (en) Apparatus and method for processing documents to extract expressions and descriptions
WO2020199590A1 (zh) 情绪检测分析方法及相关装置
JP2016162163A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21781161

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21781161

Country of ref document: EP

Kind code of ref document: A1