WO2017017738A1 - 符号化プログラム、符号化装置、及び符号化方法 - Google Patents

符号化プログラム、符号化装置、及び符号化方法 Download PDF

Info

Publication number
WO2017017738A1
WO2017017738A1 PCT/JP2015/071171 JP2015071171W WO2017017738A1 WO 2017017738 A1 WO2017017738 A1 WO 2017017738A1 JP 2015071171 W JP2015071171 W JP 2015071171W WO 2017017738 A1 WO2017017738 A1 WO 2017017738A1
Authority
WO
WIPO (PCT)
Prior art keywords
character string
morpheme
encoding
registered character
registered
Prior art date
Application number
PCT/JP2015/071171
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 富士通株式会社
Priority to PCT/JP2015/071171 priority Critical patent/WO2017017738A1/ja
Priority to JP2017530480A priority patent/JP6753401B2/ja
Publication of WO2017017738A1 publication Critical patent/WO2017017738A1/ja
Priority to US15/875,802 priority patent/US10747946B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/157Transformation using dictionaries or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Definitions

  • the present invention relates to an encoding program, an encoding device, and an encoding method.
  • Morphological analysis is a process of dividing text into morphemes and adding part-of-speech information to each morpheme.
  • a morpheme obtained by morpheme analysis may be treated as a word.
  • Document information storage devices that encode and store morphemes extracted from document information are also known (see, for example, Patent Document 1).
  • This document information storage device performs morpheme analysis processing to extract morphemes as document information constituent elements from the input document information, encodes the extracted morphemes, and performs compression processing on the encoded morphemes.
  • the compressed encoded morpheme is stored in the storage unit.
  • an object of the present invention is to improve the efficiency of a two-stage encoding process for an encoding target text.
  • the encoding program causes the computer to execute the following processing.
  • the computer is used for classification of morphemes, and the first morpheme of the registered character string of each record included in the character string encoding information including a plurality of records in which the registered character string and the code are associated with each other is stored in each of the plurality of records.
  • the encoding target text is analyzed based on the included morpheme classification information.
  • the computer encodes a code starting from a certain morpheme included in the encoding target text according to identification of a certain morpheme included in a record corresponding to a certain registered character string among a plurality of records included in the morpheme classification information.
  • the character string to be encoded is searched for in the character string encoding information. (3) When the computer corresponds to a certain registered character string, the computer converts the character string to be encoded into a code associated with a certain registered character string in the character string encoding information. (4) The computer outputs an encoded text including the converted code.
  • Patent Document 1 encodes a document by assigning a code registered in a postal code dictionary, a synonym dictionary, or the like to one or more morphemes extracted from the document by morphological analysis.
  • FIG. 1 shows an example of a morphological analysis dictionary used in morphological analysis.
  • the morphological analysis dictionary in FIG. 1 includes morphemes, parts of speech, and codes.
  • the part of speech represents the part of speech of each morpheme, and the code represents a code associated with each morpheme.
  • Fig. 2 shows an example of a zip code dictionary.
  • the postal code dictionary of FIG. 2 includes a character string and a code.
  • the character string includes a plurality of morphemes representing the address to which the zip code is assigned, and the code represents the zip code associated with each character string.
  • FIG. 3 shows an example of encoding processing using the morphological analysis dictionary of FIG. 1 and the zip code dictionary of FIG.
  • the encoding target text 301 “having in Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture” is input, first, the encoding target text 301 is divided into a plurality of morphemes by morphological analysis of the first pass. Then, each morpheme is converted into a code registered in the morpheme analysis dictionary, and the encoded text 302 is generated. For example, the first morpheme “Kanagawa” of the encoding target text 301 is converted to a hexadecimal code 0x0105.
  • the character string included in the encoded text 302 is compared with the character string registered in the zip code dictionary by the second pass encoding, and if the two character strings match, the character string is stored in the zip code dictionary.
  • the encoded text 303 is generated by being converted into the registered code.
  • the character string “Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture” is converted into reference numerals 211-0053.
  • a plurality of morphemes representing an address are replaced with one code, so that the first pass encoding result can be further compressed.
  • a morpheme analysis dictionary is employed in order to extract a morpheme, which is the smallest unit of speech or meaning, at high speed.
  • a morpheme analysis dictionary one code is assigned to one morpheme.
  • a zip code dictionary is employed to extract a character string representing an address at high speed.
  • the postal code dictionary one code is assigned to a plurality of morphemes.
  • the encoding process is performed in two passes (two stages) of the first pass and the second pass.
  • the 2-pass encoding process takes more time than the 1-pass encoding process and uses more computing resources such as storage areas.
  • FIG. 4 shows an example of a morphological analysis dictionary to which a code of a zip code dictionary is added in order to perform processing equivalent to 2-pass encoding processing in 1 pass.
  • the character string “Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture” is registered as a morpheme and is associated with reference numerals 211-0053.
  • the appearance frequency of the character string representing the address in the text is lower than the appearance frequency of the morpheme representing each place name included in the address, in the case of extracting the morpheme in descending order of the statistical appearance frequency in the morpheme analysis, The possibility that a character string representing an address is extracted is extremely low. For this reason, even if the morphological analysis dictionary of FIG. 4 is used, the encoded text 303 is not generated from the encoding target text 301 but the encoded text 302 is generated. As a result, the code of the zip code dictionary is not used, and the compression rate is not improved.
  • the zip code dictionary is searched by the complete longest match method for all the morphemes of the morpheme analysis result.
  • the complete longest match search is performed by referring to the postal code dictionary as many times as the number of morphemes, it takes an enormous amount of time.
  • FIG. 5 shows a functional configuration example of the encoding apparatus according to the embodiment.
  • the encoding device 501 in FIG. 5 includes a storage unit 511, an encoding unit 512, and an output unit 513.
  • the storage unit 511 stores morpheme classification information 521 and character string encoding information 522.
  • the character string encoding information 522 has a plurality of records, and a registered character string and a code associated with the registered character string are registered in each record.
  • the morpheme classification information 521 has a plurality of records each including a plurality of morphemes, and is used for morpheme classification.
  • the morpheme classification information 521 includes a record including the first morpheme of the registered character string of each record included in the character string encoding information 522.
  • the encoding unit 512 encodes the encoding target text based on the morpheme segment information 521 and the character string encoding information 522, generates the encoded text, and the output unit 513 outputs the encoded text.
  • FIG. 6 is a flowchart showing an example of encoding processing performed by the encoding device 501 in FIG.
  • the encoding unit 512 analyzes the encoding target text based on the morpheme segment information 521 (step 601).
  • the encoding unit 512 then includes the morpheme included in the encoding target text in accordance with the identification of a certain morpheme included in the record corresponding to a certain registered character string among the plurality of records included in the morpheme segmentation information 521.
  • a character string to be encoded starting from is searched for in the character string encoding information (step 602).
  • the encoding unit 512 converts the encoding target character string into a code associated with the registered character string (step 603). Then, the output unit 513 outputs the encoded text including the converted code (step 604).
  • the two-stage encoding process for the encoding target text can be made efficient.
  • FIG. 7 shows a specific example of the encoding device 501 in FIG. 7 includes an analysis unit 711, a determination unit 712, a conversion unit 713, and a conversion unit 714.
  • the storage unit 511 stores a morphological analysis dictionary 721 and an address dictionary 722.
  • the morpheme analysis dictionary 721 and the address dictionary 722 respectively correspond to the morpheme classification information 521 and the character string encoding information 522 in FIG.
  • FIG. 8 shows an example of the morphological analysis dictionary 721.
  • the morpheme analysis dictionary 721 in FIG. 8 includes morphemes, parts of speech, codes, and flags.
  • the part of speech represents the part of speech of each morpheme
  • the code represents a code associated with each morpheme.
  • the flag is switching information indicating whether switching from the morphological analysis dictionary 721 to the address dictionary 722 is performed. When the flag is logic “1”, the flag indicates that switching is performed. When the flag is logic “0” Indicates no switching.
  • the flag corresponding to the first morpheme of the character string representing the prefecture is set to logic “1”.
  • the part of speech of “Tokyo” is a noun
  • the code is C1
  • the flag is logic “1”.
  • the part of speech of “Kawasaki” is a noun
  • the code is C4, and the flag is logic “0”.
  • FIG. 9 shows an example of the address dictionary 722.
  • the address dictionary 722 in FIG. 9 includes a character string and a code.
  • the character string includes a plurality of morphemes representing addresses, and the code represents a code associated with each character string.
  • the code may be a zip code.
  • a plurality of character strings registered in the address dictionary 722 are divided into a plurality of blocks corresponding to the prefectures.
  • the separator 901 represents the start position of the block “Tokyo”, and the separator 902 represents the start position of the block “Kanagawa”. For example, the sign of “Suginami-ku, Tokyo” is D1, and the sign of “Nakahara-ku, Kawasaki City, Kanagawa Prefecture” is D3.
  • the analysis unit 711 sets switching information in the morpheme analysis dictionary 721, performs morpheme analysis on the encoding target text based on the morpheme analysis dictionary 721, and divides the encoding target text into a plurality of morphemes.
  • the determination unit 712 determines whether to switch to the address dictionary 722 for each morpheme generated by the analysis unit 711.
  • the conversion unit 713 converts the morpheme into codes of the morpheme analysis dictionary 721, and the conversion unit 714 converts a plurality of morphemes representing addresses into codes of the address dictionary 722.
  • FIG. 10 is a flowchart illustrating an example of the switching information setting process performed by the analysis unit 711.
  • the analysis unit 711 performs morphological analysis on each character string registered in the address dictionary 722 based on the morphological analysis dictionary 721, and divides each character string into a plurality of morphemes (step 1001).
  • the analysis unit 711 selects the first morpheme of each character string from the morphemes in the morpheme analysis dictionary 721, and sets the switching information by changing the flag of the selected morpheme to logic “1” (Step S1). 1002).
  • the analysis unit 711 may set a pointer indicating the start position of the block of the address dictionary 722 as switching information instead of the flag.
  • a pointer indicating the position of the separator 901 is set as switching information for “Tokyo”
  • a pointer indicating the position of the separator 902 is set as switching information for “Kanagawa”.
  • FIG. 11 is a flowchart showing a specific example of the encoding process performed by the encoding device 501 in FIG.
  • the analysis unit 711 performs morpheme analysis on the encoding target text based on the morphological analysis dictionary 721 (step 1101), and extracts morphemes sequentially from the beginning of the encoding target text (step 1102).
  • the determination unit 712 determines whether or not the morpheme switching information extracted by the analysis unit 711 indicates switching in the morpheme analysis dictionary 721 (step 1103).
  • the determination unit 712 stores the encoding target character string (morpheme group) starting from the extracted morpheme included in the encoding target text in the address dictionary 722. (Step 1104). At this time, the determination unit 712 searches for the encoding target character string in the block indicated by the switching information, and checks whether the encoding target character string is registered in the block. The determination unit 712 checks whether or not the encoding target character string is registered in the block by, for example, comparing the encoding target character string and each registered character string in the block by a complete longest match search. be able to.
  • the conversion unit 714 converts the encoding target character string into a code registered in the address dictionary 722 (step 1105). Then, the determination unit 712 checks whether or not the last morpheme of the encoding target text has been converted into a code (step 1106). When the last morpheme has not been converted into a code (step 1106, NO), the determination unit 712 repeats the processing from step 1101 on the remaining text.
  • the conversion unit 713 converts the morpheme extracted by the analysis unit 711 into a code registered in the morpheme analysis dictionary 721 (step 1108). Then, the encoding unit 512 performs processing from step 1106 onward. If the encoding target character string is not registered in the address dictionary 722 (step 1104, NO), the encoding unit 512 performs the processing from step 1108 onward.
  • the output unit 513 When the last morpheme is converted into a code (step 1106, YES), the output unit 513 outputs the encoded text including the code string (step 1107).
  • a text to be encoded that “has lived in Nakahara-ku, Kawasaki-shi, Kanagawa” is divided as “Kanagawa / prefecture / Kawasaki / city / Nakahara / ku / inhabited”.
  • a flag “1” of “Kanagawa” indicates switching, a character string starting from “Kanagawa” is searched in the block of “Kanagawa” of the address dictionary 722 of FIG. A registered character string “Nakahara-ku, Kawasaki City, Kanagawa Prefecture” is detected.
  • the encoding target text “Go to Kanagawa” is divided as “Kanagawa / Ni / Go”.
  • the flag “1” of “Kanagawa” indicates switching, a character string starting from “Kanagawa” is searched in the address dictionary 722, but “ni” is the address dictionary 722. Is not included in any of the registered strings. Therefore, “Kanagawa” is converted into a code of the morphological analysis dictionary 721.
  • the morpheme in the encoding target text matches the first morpheme of the registered character string in the address dictionary 722, but the encoded target character string starting from the morpheme is any registered character string in the address dictionary 722. If they do not match, the search time is wasted. Therefore, it is desirable to further speed up the encoding process by omitting the search for character strings that are not registered in the address dictionary 722.
  • FIG. 12 shows a specific example of the encoding device 501 that omits searching for character strings that are not registered in the address dictionary 722.
  • the configuration of the encoding device 501 in FIG. 12 is the same as that of the encoding device 501 in FIG.
  • the storage unit 511 stores morpheme position information 1211 in addition to the morphological analysis dictionary 721 and the address dictionary 722, and includes a work area 1212.
  • the morpheme position information 1211 is information indicating the position of the morpheme in the registered character string for each morpheme included in each registered character string of the address dictionary 722.
  • the work area 1212 is used to determine whether or not a character string is registered in the address dictionary 722 using the morpheme position information 1211 and may be a stack.
  • FIG. 13 shows an example of an address dictionary 722 in which the address of each prefecture is divided into a plurality of blocks.
  • “Tokyo 1” and “Tokyo 2” represent block names of addresses in “Tokyo”
  • “Kanagawa 1” to “Kanagawa 5” represent block names of addresses in “Kanagawa Prefecture”.
  • FIG. 14 shows an example of morpheme position information 1211 for the address dictionary 722 of FIG.
  • the morpheme position information 1211 in FIG. 14 includes filter information for morphemes, offsets, and prefecture blocks.
  • the morpheme represents each morpheme included in each registered character string of the address dictionary 722, and the offset represents the position of the morpheme in the registered character string.
  • the combination of “Tokyo” and offset “1” indicates that the first morpheme of the registered character string is “Tokyo”, and the combination of “Tama” and offset “3” is 3 in the registered character string.
  • the morpheme is “Tama”.
  • the filter information is represented by a bit string including bit values as many as the number of blocks.
  • bit value of a certain block is logical “1”, it indicates that a morpheme exists at the position indicated by the offset in any registered character string included in the block.
  • bit value of a certain block is logic “0”, it indicates that there is no morpheme at the position indicated by the offset in all registered character strings included in the block.
  • bit value “1” of “Tokyo 1” corresponding to the combination of “Tokyo” and the offset “1” has a registered character string whose leading morpheme is “Tokyo” in the block of “Tokyo 1”. Indicates that it exists.
  • bit value “0” of “Kanagawa 1” corresponding to the combination of “Tokyo” and the offset “1” has a registered character string whose leading morpheme is “Tokyo” in the block of “Kanagawa 1”. Indicates that it does not exist.
  • the bit value “1” of “Tokyo 1” corresponding to the combination of “Tama” and offset “3” has a registered character string whose third morpheme is “Tama” in the block of “Tokyo 1”. Indicates to do.
  • the bit value “1” of “Kanagawa 3” corresponding to the combination of “Tama” and offset “5” is a registered character string in which the fifth morpheme is “Tama” in the block of “Kanagawa 3”. Indicates that exists.
  • encoding target character string is registered in the address dictionary 722 without comparing the encoding target character string and the registered character string. Is possible. Furthermore, when the encoding target character string is registered in the address dictionary 722, a block including the encoding target character string can be narrowed down from a plurality of blocks corresponding to the same head morpheme.
  • FIG. 15 is a flowchart showing a specific example of the encoding process performed by the encoding device 501 in FIG.
  • the processing of Step 1501 to Step 1503 and Step 1506 to Step 1509 is the same as the processing of Step 1101 to Step 1103 and Step 1105 to Step 1108 of FIG.
  • the determination unit 712 specifies a search target block in the address dictionary 722 by narrowing down the blocks using the morpheme position information 1211 (step 1504). Then, the determination unit 712 searches for the encoding target character string in the search target block (step 1505). If the search target block exists, the encoding target character string is registered in the search target block (step 1505, YES), and therefore the encoding unit 512 performs the processing from step 1506 onward.
  • step 1505 if the search target block does not exist, the encoding target character string is not registered in the address dictionary 722 (step 1505, NO), and therefore the encoding unit 512 performs the processing from step 1509 onward. In this case, the process of searching for the encoding target character string from the address dictionary 722 is not performed.
  • FIG. 16 is a flowchart showing an example of the block narrowing process performed in step 1504 of FIG.
  • the determination unit 712 sets 1 to a variable X representing an offset (step 1601), and sets the morpheme extracted in step 1502 to a variable W representing a morpheme (step 1602).
  • the determination unit 712 searches the bit string of the filter information corresponding to X and W from the morpheme position information 1211 (step 1603) and checks whether or not the corresponding filter information exists (step 1604). When the corresponding filter information exists (step 1604, YES), the determination unit 712 adds the filter information to the work area 1212 (step 1607), and increments X by 1 (step 1608). Then, the determination unit 712 sets the next morpheme in the encoding target text to W (step 1602), and repeats the processing after step 1603.
  • the determination unit 712 refers to the filter information stored in the work area 1212, and includes a block including the bit value “1” for all morphemes. Is identified (step 1605). Then, the determination unit 712 checks the number of identified blocks (step 1606).
  • the determination unit 712 determines the block as a search target block (step 1607). On the other hand, when the number of identified blocks is two or more (step 1606, NO), the determination unit 712 determines that the encoding target character string is not registered in the address dictionary 722, and ends the process.
  • FIG. 17 shows an example of filter information stored in the work area 1212.
  • the text to be encoded “having to live in Tama-ku, Kawasaki-shi, Kanagawa” is divided into “Kanagawa / prefecture / Kawasaki / city / Tama / ku / Noborito / inhabiting”.
  • the flag “1” of the first “Kanagawa” indicates switching, it corresponds to the combination of “Kanagawa” and the offset “1” from the morpheme position information 1211 of FIG. Filter information is retrieved. Since the bit string of the corresponding filter information includes the bit value “1” in the blocks “Kanagawa 1” to “Kanagawa 5”, this bit string is added to the work area 1212.
  • filter information corresponding to the following combination of morpheme and offset is retrieved from the morpheme position information 1211 and added to the work area 1212. "Prefecture” and "2" “Kawasaki” and “3” “City” and “4" “Tama” and “5” “Region” and “6” “Noborito” and "7"
  • the determination unit 712 obtains a logical product of the vertical bit string including the seven bit values corresponding to each block in FIG. 17 and the bit string including the seven bit values “1”.
  • a block including a bit value “1” may be specified for each morpheme.
  • the block including the bit value “1” for all the morphemes is only the block of “Kanagawa 3”, the block is determined as a search target block.
  • an encoding target character string “Kanagawa / prefecture / Kawasaki / city / Tama / ku / Noborito” is searched for in the block “Kanagawa 3” in the address dictionary 722 of FIG.
  • “Kanagawa / prefecture / Kawasaki / city / Tama / ward / Noborito” is converted into a corresponding code, and subsequent “ni” and “dwell” are converted into codes in the morphological analysis dictionary 721.
  • the text to be encoded that “I live in Ichinomiya, Tama City, Tokyo” is divided into “Tokyo / Miyako / Tama / City / Ichinomiya / Ni / I live”.
  • the flag “1” of the first “Tokyo” indicates switching, it corresponds to the combination of “Tokyo” and the offset “1” from the morpheme position information 1211 of FIG. Filter information is retrieved.
  • the bit string of the corresponding filter information includes the bit value “1” in the blocks “Tokyo 1” and “Tokyo 2”, this bit string is added to the work area 1212.
  • filter information corresponding to the following combination of morpheme and offset is retrieved from the morpheme position information 1211 and added to the work area 1212.
  • “City” and “2” “Tama” and “3”
  • “City” and “4" “Ichinomiya” and “5”
  • the filter information corresponding to the combination of the next morpheme “ni” and the offset “6” does not exist in the morpheme position information 1211, the bit value “ A block containing 1 ′′ is identified. Then, when the corresponding block is only the block of “Tokyo 1”, that block is determined as the search target block.
  • the encoding target character string “Tokyo / To / Tama / City / Ichinomiya” is searched in the block “Tokyo 1” in the address dictionary 722 in FIG. Then, “Tokyo / To / Tama / City / Ichinomiya” is converted into a corresponding code, and subsequent “Ni” and “Dwell” are converted into codes in the morphological analysis dictionary 721.
  • the encoding target text “Go to Kanagawa” is divided as “Kanagawa / Ni / Go”.
  • the flag “1” of the first “Kanagawa” indicates switching, it corresponds to the combination of “Kanagawa” and the offset “1” from the morpheme position information 1211 of FIG. Filter information is retrieved. Since the bit string of the corresponding filter information includes the bit value “1” in the blocks “Kanagawa 1” to “Kanagawa 5”, this bit string is added to the work area 1212.
  • the filter information corresponding to the combination of the next morpheme “ni” and the offset “2” does not exist in the morpheme position information 1211, the block including the bit value “1” by referring only to the filter information of “Kanagawa” Is identified.
  • the address dictionary 722 since five blocks “Kanagawa 1” to “Kanagawa 5” correspond, it is determined that the character string starting from “Kanagawa” is not registered in the address dictionary 722. Therefore, “Kanagawa” is not searched in the address dictionary 722, and “Kanagawa” is converted into a code of the morphological analysis dictionary 721.
  • the morpheme in the encoding target text matches the leading morpheme of the registered character string in the address dictionary 722, but the encoding target character string starting from the morpheme Does not match any registered character string, the search of the address dictionary 722 is omitted. As a result, unnecessary search processing is reduced, and the encoding processing is further speeded up.
  • a dictionary in which a character string other than the address is registered instead of the address dictionary 722.
  • a proper noun dictionary in which proper noun character strings are registered an idiomatic dictionary in which idiomatic character strings are registered, an idiomatic dictionary in which idiomatic character strings are registered, an error message dictionary in which error message character strings are registered, etc. It may be used instead of the dictionary 722.
  • FIG. 18 shows an example of an error message dictionary.
  • the error message dictionary of FIG. 18 includes an error message and a code.
  • the error message includes a plurality of morphemes representing the error message, and the code represents a code associated with each error message. For example, the code of “File Deliver Start” is 0xe001, and the code of “Memory Allocate Error” is 0xe002.
  • a plurality of error messages may be divided into a plurality of blocks corresponding to the first morpheme and registered in the error message dictionary.
  • the configuration of the encoding device 501 in FIGS. 5, 7, and 12 is merely an example, and some components may be omitted or changed according to the use and conditions of the encoding device 501.
  • 6, 10, 11, 15, and 16 are merely examples, and some processes may be omitted or changed according to the configuration and conditions of the encoding device 501.
  • the switching information setting process in FIG. 10 can be omitted.
  • the morpheme analysis dictionary in FIG. 8, the address dictionary in FIGS. 9 and 13, the morpheme position information in FIG. 14, and the error message dictionary in FIG. 18 are merely examples, and different morphemes are used depending on the configuration and conditions of the encoding device 501.
  • An analysis dictionary, address dictionary, morpheme position information, or error message dictionary may be used.
  • the address dictionary of FIG. 9 may be used instead of the address dictionary of FIG.
  • FIG. 19 includes a central processing unit (CPU) 1901, a memory 1902, an input device 1903, an output device 1904, an auxiliary storage device 1905, a medium driving device 1906, and a network connection device 1907. These components are connected to each other by a bus 1908.
  • CPU central processing unit
  • the memory 1902 is, for example, a semiconductor memory such as a Read Only Memory (ROM), a Random Access Memory (RAM), or a flash memory.
  • the memory 1902 stores a program and data for encoding processing.
  • the memory 1902 can be used as the storage unit 511 in FIGS. 5, 7, and 12.
  • the CPU 1901 executes a program using the memory 1902, for example, thereby performing the encoding unit 512, the analysis unit 711, the determination unit 712, the conversion unit 713, and the conversion in FIG. 5, FIG. 7, and FIG. It operates as a unit 714 and performs an encoding process.
  • the input device 1903 is, for example, a keyboard, a pointing device, or the like, and is used for inputting an instruction or information from a user or an operator.
  • the output device 1904 is, for example, a display device, a printer, a speaker, or the like, and is used to output an inquiry to a user or an operator or a processing result.
  • the auxiliary storage device 1905 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a tape device, or the like.
  • the auxiliary storage device 1905 may be a hard disk drive or a flash memory.
  • the information processing apparatus can store programs and data in the auxiliary storage device 1905 and load them into the memory 1902 for use.
  • the auxiliary storage device 1905 can be used as the storage unit 511 in FIGS. 5, 7, and 12.
  • the medium driving device 1906 drives the portable recording medium 1909 and accesses the recorded contents.
  • the portable recording medium 1909 is a memory device, a flexible disk, an optical disk, a magneto-optical disk, or the like.
  • the portable recording medium 1909 may be a Compact Disk Read Only Memory (CD-ROM), Digital Versatile Disk (DVD), Universal Serial Bus (USB) memory, or the like.
  • CD-ROM Compact Disk Read Only Memory
  • DVD Digital Versatile Disk
  • USB Universal Serial Bus
  • the computer-readable recording medium storing the program and data is a physical (non-transitory) recording medium such as the memory 1902, the auxiliary storage device 1905, and the portable recording medium 1909.
  • the network connection device 1907 is a communication interface that is connected to a communication network such as Local Area Network (LAN) or the Internet and performs data conversion accompanying communication.
  • the information processing apparatus can receive a program and data from an external apparatus via the network connection apparatus 1907, load them into the memory 1902, and use them.
  • the network connection device 1907 can be used as the output unit 513 in FIGS. 5, 7, and 12.
  • the information processing apparatus does not have to include all the components shown in FIG. 19, and some of the components can be omitted depending on the application and conditions.
  • the input device 1903 may be omitted when an instruction or information is not input from the user or operator, and the output device 1904 is omitted when an inquiry or processing result is not output to the user or operator. May be.
  • the medium driving device 1906 or the network connection device 1907 may be omitted.

Abstract

コンピュータは、形態素の区分に用いられる形態素区分情報に基づいて、符号化対象テキストを解析する(ステップ601)。形態素区分情報は、登録文字列と符号とを対応付けたレコードを複数有する文字列符号化情報に含まれる各レコードの登録文字列の先頭形態素を複数のレコード各々に含む。次に、コンピュータは、ある登録文字列に対応した形態素区分情報のレコードに含まれるある形態素の識別に応じて、符号化対象テキストに含まれるある形態素から始まる符号化対象文字列を文字列符号化情報において探索する(ステップ602)。そして、コンピュータは、符号化対象文字列がある登録文字列に対応する場合、符号化対象文字列を文字列符号化情報においてある登録文字列に対応付けられた符号に変換し(ステップ603)、変換後の符号を含む符号化テキストを出力する(ステップ604)。

Description

符号化プログラム、符号化装置、及び符号化方法
 本発明は、符号化プログラム、符号化装置、及び符号化方法に関する。
 形態素解析は、テキストを形態素に分割し、各形態素に対して品詞情報を付与する処理である。形態素解析により得られる形態素は、単語として扱われることもある。
 文書情報から抽出した形態素を符号化して格納する文書情報格納装置も知られている(例えば、特許文献1を参照)。この文書情報格納装置は、形態素解析処理を施すことにより、入力された文書情報から文書情報構成要素としての形態素を抽出し、抽出された形態素を符号化し、符号化された形態素に圧縮処理を施し、圧縮された符号化形態素を記憶部に格納する。
特開平11-85790号公報
 上述した従来の符号化処理では、圧縮率を向上させるために2種類の辞書を用いて2段階の符号化処理が行われる場合、処理時間が長くなることがある。
 1つの側面において、本発明は、符号化対象テキストに対する2段階の符号化処理を効率化することを目的とする。
 1つの案では、符号化プログラムは、以下の処理をコンピュータに実行させる。
(1)コンピュータは、形態素の区分に用いられ、登録文字列と符号とを対応付けたレコードを複数有する文字列符号化情報に含まれる各レコードの登録文字列の先頭形態素を複数のレコード各々に含む形態素区分情報に基づいて、符号化対象テキストを解析する。
(2)コンピュータは、形態素区分情報に含まれる複数のレコードのうち、ある登録文字列に対応したレコードに含まれる、ある形態素の識別に応じて、符号化対象テキストに含まれるある形態素から始まる符号化対象文字列を文字列符号化情報において探索する。
(3)コンピュータは、符号化対象文字列がある登録文字列に対応する場合、符号化対象文字列を文字列符号化情報においてある登録文字列に対応付けられた符号に変換する。
(4)コンピュータは、変換後の符号を含む符号化テキストを出力する。
 実施形態によれば、符号化対象テキストに対する2段階の符号化処理を効率化することができる。
形態素解析辞書を示す図である。 郵便番号辞書を示す図である。 形態素解析辞書及び郵便番号辞書を用いた符号化処理を示す図である。 郵便番号辞書の符号を追加した形態素解析辞書を示す図である。 符号化装置の機能的構成図である。 符号化処理のフローチャートである。 符号化装置の具体例を示す機能的構成図である。 切り替え情報を含む形態素解析辞書を示す図である。 住所辞書を示す図である。 切り替え情報設定処理のフローチャートである。 符号化処理の具体例を示すフローチャートである。 登録されていない文字列の探索を省略する符号化装置の機能的構成図である。 都道府県を複数のブロックに分割した住所辞書を示す図である。 形態素位置情報を示す図である。 登録されていない文字列の探索を省略する符号化処理のフローチャートである。 ブロック絞り込み処理のフローチャートである。 作業領域に格納されるフィルタ情報を示す図である。 エラーメッセージ辞書を示す図である。 情報処理装置の構成図である。
 以下、図面を参照しながら、実施形態を詳細に説明する。
 特許文献1の文書情報格納装置は、文書から形態素解析により抽出した1つ以上の形態素に対して、郵便番号辞書、同義語辞書等に登録された符号を割り当てることで、文書を符号化する。
 図1は、形態素解析で用いられる形態素解析辞書の例を示している。図1の形態素解析辞書は、形態素、品詞、及び符号を含む。品詞は、各形態素の品詞を表し、符号は、各形態素に対応付けられた符号を表す。
 図2は、郵便番号辞書の例を示している。図2の郵便番号辞書は、文字列及び符号を含む。文字列は、郵便番号が付与された住所を表す複数の形態素を含み、符号は、各文字列に対応付けられた郵便番号を表す。
 図3は、図1の形態素解析辞書及び図2の郵便番号辞書を用いた符号化処理の例を示している。「神奈川県川崎市中原区上小田中に住む」という符号化対象テキスト301が入力された場合、まず、第1パスの形態素解析により符号化対象テキスト301が複数の形態素に分割される。そして、それぞれの形態素が形態素解析辞書に登録された符号に変換され、符号化テキスト302が生成される。例えば、符号化対象テキスト301の先頭の形態素「神奈川」は、16進数の符号0x0105に変換されている。
 次に、第2パスの符号化により符号化テキスト302に含まれる文字列が郵便番号辞書に登録された文字列と比較され、2つの文字列が一致する場合、その文字列が郵便番号辞書に登録された符号に変換されて、符号化テキスト303が生成される。この例では、「神奈川県川崎市中原区上小田中」という文字列が符号211-0053に変換されている。このように、第2パスの符号化を行うことで、住所を表す複数の形態素が1つの符号に置き換えられるため、第1パスの符号化結果をさらに圧縮することができる。
 第1パスの形態素解析では、品詞又は意味を持つ最小の単位である形態素を高速に抽出するために形態素解析辞書が採用される。形態素解析辞書では、1つの形態素に対して1つの符号が割り当てられる。一方、第2パスの符号化では、住所を表す文字列を高速に抽出するために郵便番号辞書が採用される。郵便番号辞書では、複数の形態素に対して1つの符号が割り当てられる。
 このように、2つの辞書の間で符号が割り当てられる形態素の個数が異なるため、第1パス及び第2パスの2パス(2段階)に分けて符号化処理が行われる。2パスの符号化処理は、1パスの符号化処理よりも時間がかかるとともに、記憶領域等の計算資源をより多く使用する。
 図4は、2パスの符号化処理と同等の処理を1パスで行うために、郵便番号辞書の符号を追加した形態素解析辞書の例を示している。図4の形態素解析辞書では、「神奈川県川崎市中原区上小田中」という文字列が形態素として登録されており、符号211-0053と対応付けられている。
 しかし、テキスト中における住所を表す文字列の出現頻度は、その住所に含まれる個々の地名を表す形態素の出現頻度よりも低いため、形態素解析において統計的出現頻度の高い順に形態素を抽出する場合、住所を表す文字列が抽出される可能性は極めて低い。このため、図4の形態素解析辞書を用いたとしても、符号化対象テキスト301から符号化テキスト303が生成されることはなく、符号化テキスト302が生成される。結果的に、郵便番号辞書の符号が使用されず、圧縮率が向上しない。
 また、第2パスの符号化において、住所を表す文字列に対して郵便番号辞書の符号を割り当てるために、形態素解析結果のすべての形態素に対して、完全最長一致法により郵便番号辞書が探索される。この場合、形態素の個数と同じ回数だけ、郵便番号辞書を参照して完全最長一致検索が行われるため、膨大な時間がかかる。
 なお、かかる問題は、第2パスの符号化において郵便番号辞書を用いる場合に限らず、住所以外の他の文字列を登録した辞書を用いる場合においても生ずるものである。
 図5は、実施形態の符号化装置の機能的構成例を示している。図5の符号化装置501は、記憶部511、符号化部512、及び出力部513を含む。
 記憶部511は、形態素区分情報521及び文字列符号化情報522を記憶する。文字列符号化情報522は、複数のレコードを有し、各レコードには、登録文字列とその登録文字列に対応付けられた符号とが登録される。形態素区分情報521は、複数の形態素それぞれを含む複数のレコードを有し、形態素の区分に用いられる。形態素区分情報521には、文字列符号化情報522に含まれる各レコードの登録文字列の先頭形態素を含むレコードが含まれる。
 符号化部512は、形態素区分情報521及び文字列符号化情報522に基づいて符号化対象テキストを符号化して、符号化テキストを生成し、出力部513は、符号化テキストを出力する。
 図6は、図5の符号化装置501が行う符号化処理の例を示すフローチャートである。まず、符号化部512は、形態素区分情報521に基づいて符号化対象テキストを解析する(ステップ601)。そして、符号化部512は、形態素区分情報521に含まれる複数のレコードのうち、ある登録文字列に対応したレコードに含まれる、ある形態素の識別に応じて、符号化対象テキストに含まれるその形態素から始まる符号化対象文字列を文字列符号化情報内で探索する(ステップ602)。
 符号化対象文字列がある登録文字列に対応する場合、符号化部512は、符号化対象文字列をその登録文字列に対応付けられた符号に変換する(ステップ603)。そして、出力部513は、変換後の符号を含む符号化テキストを出力する(ステップ604)。
 このような符号化装置501によれば、符号化対象テキストに対する2段階の符号化処理を効率化することができる。
 図7は、図5の符号化装置501の具体例を示している。図7の符号化部512は、解析部711、判定部712、変換部713、及び変換部714を含み、記憶部511は、形態素解析辞書721及び住所辞書722を記憶する。形態素解析辞書721及び住所辞書722は、図5の形態素区分情報521及び文字列符号化情報522にそれぞれ対応する。
 図8は、形態素解析辞書721の例を示している。図8の形態素解析辞書721は、形態素、品詞、符号、及びフラグを含む。品詞は、各形態素の品詞を表し、符号は、各形態素に対応付けられた符号を表す。フラグは、形態素解析辞書721から住所辞書722への切り替えを行うか否かを示す切り替え情報であり、フラグが論理“1”のとき、切り替えを行うことを示し、フラグが論理“0”のとき、切り替えを行わないことを示す。
 この例では、都道府県を表す文字列の先頭の形態素に対応するフラグが論理“1”に設定されている。例えば、「東京」の品詞は名詞であり、符号はC1であり、フラグは論理“1”である。一方、「川崎」の品詞は名詞であり、符号はC4であり、フラグは論理“0”である。
 図9は、住所辞書722の例を示している。図9の住所辞書722は、文字列及び符号を含む。文字列は、住所を表す複数の形態素を含み、符号は、各文字列に対応付けられた符号を表す。符号は、郵便番号であってもよい。住所辞書722に登録された複数の文字列は、都道府県に対応する複数のブロックに分割されている。セパレータ901は、「東京都」のブロックの開始位置を表し、セパレータ902は、「神奈川県」のブロックの開始位置を表す。例えば、「東京都杉並区」の符号はD1であり、「神奈川県川崎市中原区」の符号はD3である。
 解析部711は、形態素解析辞書721に切り替え情報を設定するとともに、形態素解析辞書721に基づいて符号化対象テキストに対する形態素解析を行い、符号化対象テキストを複数の形態素に分割する。判定部712は、解析部711が生成した形態素毎に住所辞書722への切り替えを行うか否かを判定する。変換部713は、形態素を形態素解析辞書721の符号に変換し、変換部714は、住所を表す複数の形態素を住所辞書722の符号に変換する。
 図10は、解析部711が行う切り替え情報設定処理の例を示すフローチャートである。切り替え情報設定処理の開始時には、形態素解析辞書721内のすべての形態素のフラグが論理“0”に設定されている。まず、解析部711は、形態素解析辞書721に基づいて、住所辞書722に登録されている各文字列に対する形態素解析を行い、各文字列を複数の形態素に分割する(ステップ1001)。そして、解析部711は、形態素解析辞書721内の形態素の中から各文字列の先頭の形態素を選択し、選択した形態素のフラグを論理“1”に変更することで切り替え情報を設定する(ステップ1002)。
 解析部711は、フラグの代わりに住所辞書722のブロックの開始位置を指すポインタを、切り替え情報として設定してもよい。この場合、「東京」の切り替え情報としては、セパレータ901の位置を指すポインタが設定され、「神奈川」の切り替え情報としては、セパレータ902の位置を指すポインタが設定される。
 図11は、図7の符号化装置501が行う符号化処理の具体例を示すフローチャートである。まず、解析部711は、形態素解析辞書721に基づいて符号化対象テキストに対する形態素解析を行い(ステップ1101)、符号化対象テキストの先頭から順に形態素を抽出する(ステップ1102)。次に、判定部712は、形態素解析辞書721において、解析部711が抽出した形態素の切り替え情報が切り替えを示しているか否かを判定する(ステップ1103)。
 切り替え情報が切り替えを示している場合(ステップ1103,YES)、判定部712は、符号化対象テキストに含まれる、抽出された形態素から始まる符号化対象文字列(形態素群)を、住所辞書722内で探索する(ステップ1104)。このとき、判定部712は、切り替え情報が示すブロック内で符号化対象文字列を探索し、符号化対象文字列がそのブロックに登録されているか否かをチェックする。判定部712は、例えば、完全最長一致検索により符号化対象文字列とブロック内の各登録文字列とを比較することで、符号化対象文字列がそのブロックに登録されているか否かをチェックすることができる。
 符号化対象文字列が住所辞書722に登録されている場合(ステップ1104,YES)、変換部714は、その符号化対象文字列を住所辞書722に登録された符号に変換する(ステップ1105)。そして、判定部712は、符号化対象テキストの最後の形態素が符号に変換されたか否かをチェックする(ステップ1106)。最後の形態素が符号に変換されていない場合(ステップ1106,NO)、判定部712は、残りのテキストに対して、ステップ1101以降の処理を繰り返す。
 一方、切り替え情報が切り替えを示していない場合(ステップ1103,NO)、変換部713は、解析部711が抽出した形態素を、形態素解析辞書721に登録された符号に変換する(ステップ1108)。そして、符号化部512は、ステップ1106以降の処理を行う。また、符号化対象文字列が住所辞書722に登録されていない場合(ステップ1104,NO)、符号化部512は、ステップ1108以降の処理を行う。
 そして、最後の形態素が符号に変換された場合(ステップ1106,YES)、出力部513は、符号列を含む符号化テキストを出力する(ステップ1107)。
 例えば、「神奈川県川崎市中原区に住む」という符号化対象テキストは、「神奈川/県/川崎/市/中原/区/に/住む」のように分割される。図8の形態素解析辞書721では、「神奈川」のフラグ“1”が切り替えを示しているため、「神奈川」から始まる文字列が図9の住所辞書722の「神奈川」のブロック内で探索され、「神奈川県川崎市中原区」という登録文字列が検出される。そこで、「神奈川/県/川崎/市/中原/区」が対応する符号D3に変換され、後続する「に」及び「住む」は形態素解析辞書721の符号に変換される。
 形態素解析辞書721においてフラグの代わりにポインタが用いられる場合、形態素に対応するポインタが存在すれば、切り替え情報が切り替えを示していると判定され、ポインタが存在しなければ、切り替え情報が切り替えを示していないと判定される。
 このような符号化処理によれば、住所辞書722の登録文字列が出現した時点で形態素解析辞書721から住所辞書722へ切り替えられるため、2パスの符号化処理を1パスで行うことが可能になる。これにより、2段階の符号化処理が高速化されるとともに、符号化処理に使用する記憶領域等の計算資源が削減される。
 また、複数の登録文字列を先頭の形態素に対応する複数のブロックに分割して住所辞書722に登録することで、符号化対象文字列の先頭の形態素に対応するブロックのみを探索対象にすることが可能になる。これにより、探索対象ブロックが限定され、探索処理が効率化される。
 しかし、図11の符号化処理では、切り替えを示す切り替え情報が検出される度に、符号化対象テキストに含まれる符号化対象文字列と、住所辞書722の対応するブロック内のすべての登録文字列とが、完全最長一致検索により比較される。このため、1ブロックに多数の登録文字列が含まれている場合、ステップ1104の探索処理に長い時間がかかる。
 例えば、「神奈川に行く」という符号化対象テキストは、「神奈川/に/行く」のように分割される。図8の形態素解析辞書721では、「神奈川」のフラグ“1”が切り替えを示しているため、「神奈川」から始まる文字列が住所辞書722内で探索されるが、「に」は住所辞書722内のいずれの登録文字列にも含まれていない。このため、「神奈川」は形態素解析辞書721の符号に変換される。
 このように、符号化対象テキスト内の形態素が住所辞書722の登録文字列の先頭の形態素と一致しているが、その形態素から始まる符号化対象文字列が住所辞書722内のいずれの登録文字列とも一致しない場合は、探索時間が無駄になってしまう。そこで、住所辞書722に登録されていない文字列の探索を省略して、符号化処理をさらに高速化することが望ましい。
 図12は、住所辞書722に登録されていない文字列の探索を省略する符号化装置501の具体例を示している。図12の符号化装置501の構成は、図7の符号化装置501と同様である。記憶部511は、形態素解析辞書721及び住所辞書722に加えて形態素位置情報1211を記憶し、作業領域1212を含む。形態素位置情報1211は、住所辞書722の各登録文字列に含まれる各形態素について、登録文字列内における形態素の位置を示す情報である。作業領域1212は、形態素位置情報1211を用いて文字列が住所辞書722に登録されているか否かを判定するために用いられ、スタックであってもよい。
 図13は、各都道府県の住所を複数のブロックに分割した住所辞書722の例を示している。「東京1」及び「東京2」は、「東京都」の住所のブロック名を表し、「神奈川1」~「神奈川5」は、「神奈川県」の住所のブロック名を表す。
 図14は、図13の住所辞書722に対する形態素位置情報1211の例を示している。図14の形態素位置情報1211は、形態素、オフセット、及び都道府県のブロックに対するフィルタ情報を含む。形態素は、住所辞書722の各登録文字列に含まれる各形態素を表し、オフセットは、登録文字列内における形態素の位置を表す。例えば、「東京」とオフセット“1”との組み合わせは、登録文字列の先頭の形態素が「東京」であることを表し、「多摩」とオフセット“3”との組み合わせは、登録文字列の3番目の形態素が「多摩」であることを表す。
 フィルタ情報は、ブロックの個数だけのビット値を含むビット列で表される。あるブロックのビット値が論理“1”のとき、そのブロックに含まれるいずれかの登録文字列内において、オフセットが示す位置に形態素が存在することを示す。一方、あるブロックのビット値が論理“0”のとき、そのブロックに含まれるすべての登録文字列内において、オフセットが示す位置には形態素が存在しないことを表す。
 例えば、「東京」とオフセット“1”との組み合わせに対応する「東京1」のビット値“1”は、「東京1」のブロックには、先頭の形態素が「東京」である登録文字列が存在することを示す。また、「東京」とオフセット“1”との組み合わせに対応する「神奈川1」のビット値“0”は、「神奈川1」のブロックには、先頭の形態素が「東京」である登録文字列が存在しないことを示す。
 「多摩」とオフセット“3”との組み合わせに対応する「東京1」のビット値“1”は、「東京1」のブロックには、3番目の形態素が「多摩」である登録文字列が存在することを示す。また、「多摩」とオフセット“5”との組み合わせに対応する「神奈川3」のビット値“1”は、「神奈川3」のブロックには、5番目の形態素が「多摩」である登録文字列が存在することを示す。
 このような形態素位置情報1211を用いることで、符号化対象文字列と登録文字列とを比較しなくても、その符号化対象文字列が住所辞書722に登録されているか否かを判定することが可能になる。さらに、符号化対象文字列が住所辞書722に登録されている場合、同じ先頭の形態素に対応する複数のブロックの中から、その符号化対象文字列を含むブロックを絞り込むことも可能になる。
 図15は、図12の符号化装置501が行う符号化処理の具体例を示すフローチャートである。ステップ1501~ステップ1503及びステップ1506~ステップ1509の処理は、図11のステップ1101~ステップ1103及びステップ1105~ステップ1108の処理と同様である。
 切り替え情報が切り替えを示している場合(ステップ1503,YES)、判定部712は、形態素位置情報1211を用いてブロックを絞り込むことで、住所辞書722内の探索対象ブロックを特定する(ステップ1504)。そして、判定部712は、符号化対象文字列を探索対象ブロック内で探索する(ステップ1505)。探索対象ブロックが存在する場合は、符号化対象文字列が探索対象ブロックに登録されているため(ステップ1505,YES)、符号化部512は、ステップ1506以降の処理を行う。
 一方、探索対象ブロックが存在しない場合は、符号化対象文字列が住所辞書722に登録されていないため(ステップ1505,NO)、符号化部512は、ステップ1509以降の処理を行う。この場合、住所辞書722から符号化対象文字列を探索する処理は行われない。
 図16は、図15のステップ1504で行われるブロック絞り込み処理の例を示すフローチャートである。まず、判定部712は、オフセットを表す変数Xに1を設定し(ステップ1601)、形態素を表す変数Wにステップ1502で抽出された形態素を設定する(ステップ1602)。
 次に、判定部712は、形態素位置情報1211からX及びWに対応するフィルタ情報のビット列を検索し(ステップ1603)、対応するフィルタ情報が存在するか否かをチェックする(ステップ1604)。対応するフィルタ情報が存在する場合(ステップ1604,YES)、判定部712は、そのフィルタ情報を作業領域1212に追加し(ステップ1607)、Xを1だけインクリメントする(ステップ1608)。そして、判定部712は、符号化対象テキスト内の次の形態素をWに設定し(ステップ1602)、ステップ1603以降の処理を繰り返す。
 一方、対応するフィルタ情報が存在しない場合(ステップ1604,NO)、判定部712は、作業領域1212に格納されたフィルタ情報を参照して、すべての形態素に対してビット値“1”を含むブロックを特定する(ステップ1605)。そして、判定部712は、特定したブロックの個数をチェックする(ステップ1606)。
 特定したブロックの個数が1個である場合(ステップ1606,YES)、判定部712は、そのブロックを探索対象ブロックに決定する(ステップ1607)。一方、特定したブロックの個数が2個以上である場合(ステップ1606,NO)、判定部712は、符号化対象文字列が住所辞書722に登録されていないと判定して、処理を終了する。
 図17は、作業領域1212に格納されるフィルタ情報の例を示している。例えば、「神奈川県川崎市多摩区登戸に住む」という符号化対象テキストは、「神奈川/県/川崎/市/多摩/区/登戸/に/住む」のように分割される。
 図8の形態素解析辞書721では、先頭の「神奈川」のフラグ“1”が切り替えを示しているため、図14の形態素位置情報1211から、「神奈川」とオフセット“1”との組み合わせに対応するフィルタ情報が検索される。そして、対応するフィルタ情報のビット列は、「神奈川1」~「神奈川5」のブロックにビット値“1”を含んでいるため、このビット列が作業領域1212に追加される。
 同様にして、以下のような形態素及びオフセットの組み合わせに対応するフィルタ情報が形態素位置情報1211から検索されて、作業領域1212に追加される。
 「県」及び“2”
 「川崎」及び“3”
 「市」及び“4”
 「多摩」及び“5”
 「区」及び“6”
 「登戸」及び“7”
 しかし、次の形態素「に」とオフセット“8”との組み合わせに対応するフィルタ情報は形態素位置情報1211に存在しないため、図17の7個のフィルタ情報を参照して、すべての形態素に対してビット値“1”を含むブロックが特定される。このとき、判定部712は、図17の各ブロックに対応する7個のビット値を含む縦方向のビット列と、7個のビット値“1”を含むビット列との論理積を求めることで、すべての形態素に対してビット値“1”を含むブロックを特定してもよい。
 この場合、すべての形態素に対してビット値“1”を含むブロックは、「神奈川3」のブロックのみであるため、そのブロックが探索対象ブロックに決定される。次に、図13の住所辞書722における「神奈川3」のブロック内で、「神奈川/県/川崎/市/多摩/区/登戸」という符号化対象文字列が探索される。そして、「神奈川/県/川崎/市/多摩/区/登戸」が対応する符号に変換され、後続する「に」及び「住む」は形態素解析辞書721の符号に変換される。
 また、「東京都多摩市一ノ宮に住む」という符号化対象テキストは、「東京/都/多摩/市/一ノ宮/に/住む」のように分割される。図8の形態素解析辞書721では、先頭の「東京」のフラグ“1”が切り替えを示しているため、図14の形態素位置情報1211から、「東京」とオフセット“1”との組み合わせに対応するフィルタ情報が検索される。そして、対応するフィルタ情報のビット列は、「東京1」及び「東京2」のブロックにビット値“1”を含んでいるため、このビット列が作業領域1212に追加される。
 同様にして、以下のような形態素及びオフセットの組み合わせに対応するフィルタ情報が形態素位置情報1211から検索されて、作業領域1212に追加される。
 「都」及び“2”
 「多摩」及び“3”
 「市」及び“4”
 「一ノ宮」及び“5”
 しかし、次の形態素「に」とオフセット“6”との組み合わせに対応するフィルタ情報は形態素位置情報1211に存在しないため、5個のフィルタ情報を参照して、すべての形態素に対してビット値“1”を含むブロックが特定される。そして、該当するブロックが「東京1」のブロックのみである場合、そのブロックが探索対象ブロックに決定される。
 次に、図13の住所辞書722における「東京1」のブロック内で、「東京/都/多摩/市/一ノ宮」という符号化対象文字列が探索される。そして、「東京/都/多摩/市/一ノ宮」が対応する符号に変換され、後続する「に」及び「住む」は形態素解析辞書721の符号に変換される。
 一方、「神奈川に行く」という符号化対象テキストは、「神奈川/に/行く」のように分割される。図8の形態素解析辞書721では、先頭の「神奈川」のフラグ“1”が切り替えを示しているため、図14の形態素位置情報1211から、「神奈川」とオフセット“1”との組み合わせに対応するフィルタ情報が検索される。そして、対応するフィルタ情報のビット列は、「神奈川1」~「神奈川5」のブロックにビット値“1”を含んでいるため、このビット列が作業領域1212に追加される。
 しかし、次の形態素「に」とオフセット“2”との組み合わせに対応するフィルタ情報は形態素位置情報1211に存在しないため、「神奈川」のフィルタ情報のみを参照してビット値“1”を含むブロックが特定される。この場合、「神奈川1」~「神奈川5」の5個のブロックが該当するため、「神奈川」から始まる文字列が住所辞書722に登録されていないと判定される。したがって、住所辞書722内で「神奈川」が探索されることはなく、「神奈川」は形態素解析辞書721の符号に変換される。
 このように、図12の符号化装置501によれば、符号化対象テキスト内の形態素が住所辞書722の登録文字列の先頭の形態素と一致しているが、その形態素から始まる符号化対象文字列がいずれの登録文字列とも一致しない場合は、住所辞書722の探索が省略される。これにより、不要な探索処理が削減されるため、符号化処理がさらに高速化される。
 ところで、第2パスの符号化において、住所辞書722の代わりに、住所以外の他の文字列を登録した辞書を用いることも可能である。例えば、固有名詞の文字列を登録した固有名詞辞書、成句の文字列を登録した成句辞書、慣用句の文字列を登録した慣用句辞書、エラーメッセージの文字列を登録したエラーメッセージ辞書等を住所辞書722の代わりに用いてもよい。
 図18は、エラーメッセージ辞書の例を示している。図18のエラーメッセージ辞書は、エラーメッセージ及び符号を含む。エラーメッセージは、エラーメッセージを表す複数の形態素を含み、符号は、各エラーメッセージに対応付けられた符号を表す。例えば、“File Deliver Start”の符号は0xe001であり、“Memory Allocate Error”の符号は0xe002である。図9の住所辞書722と同様に、複数のエラーメッセージを先頭の形態素に対応する複数のブロックに分割して、エラーメッセージ辞書に登録してもよい。
 図5、図7、及び図12の符号化装置501の構成は一例に過ぎず、符号化装置501の用途や条件に応じて一部の構成要素を省略又は変更してもよい。
 図6、図10、図11、図15、及び図16のフローチャートは一例に過ぎず、符号化装置501の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、形態素解析辞書721にあらかじめ切り替え情報が設定されている場合は、図10の切り替え情報設定処理を省略することができる。
 図8の形態素解析辞書、図9及び図13の住所辞書、図14の形態素位置情報、及び図18のエラーメッセージ辞書は一例に過ぎず、符号化装置501の構成や条件に応じて別の形態素解析辞書、住所辞書、形態素位置情報、又はエラーメッセージ辞書を用いてもよい。例えば、図12の符号化装置501において、図13の住所辞書の代わりに図9の住所辞書を用いてもよい。
 図5、図7、及び図12の符号化装置501は、例えば、図19に示すような情報処理装置(コンピュータ)を用いて実現可能である。図19の情報処理装置は、Central Processing Unit(CPU)1901、メモリ1902、入力装置1903、出力装置1904、補助記憶装置1905、媒体駆動装置1906、及びネットワーク接続装置1907を含む。これらの構成要素はバス1908により互いに接続されている。
 メモリ1902は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリである。メモリ1902は、符号化処理のためのプログラム及びデータを格納する。メモリ1902は、図5、図7、及び図12の記憶部511として用いることができる。
 CPU1901(プロセッサ)は、例えば、メモリ1902を利用してプログラムを実行することにより、図5、図7、及び図12の符号化部512、解析部711、判定部712、変換部713、及び変換部714として動作し、符号化処理を行う。
 入力装置1903は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置1904は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。
 補助記憶装置1905は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1905は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置1905にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。補助記憶装置1905は、図5、図7、及び図12の記憶部511として用いることができる。
 媒体駆動装置1906は、可搬型記録媒体1909を駆動し、その記録内容にアクセスする。可搬型記録媒体1909は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1909は、Compact Disk Read Only Memory(CD-ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。ユーザ又はオペレータは、この可搬型記録媒体1909にプログラム及びデータを格納しておき、それらをメモリ1902にロードして使用することができる。
 このように、プログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1902、補助記憶装置1905、及び可搬型記録媒体1909のような、物理的な(非一時的な)記録媒体である。
 ネットワーク接続装置1907は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、ネットワーク接続装置1907を介して外部の装置からプログラム及びデータを受信し、それらをメモリ1902にロードして使用することができる。ネットワーク接続装置1907は、図5、図7、及び図12の出力部513として用いることができる。
 なお、情報処理装置が図19のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータからの指示や情報の入力を行わない場合は、入力装置1903を省略してもよく、ユーザ又はオペレータへの問い合わせや処理結果の出力を行わない場合は、出力装置1904を省略してもよい。情報処理装置が可搬型記録媒体1909又は通信ネットワークにアクセスしない場合は、媒体駆動装置1906又はネットワーク接続装置1907を省略してもよい。
 開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。

Claims (12)

  1.  形態素の区分に用いられ、登録文字列と符号とを対応付けたレコードを複数有する文字列符号化情報に含まれる各レコードの登録文字列の先頭形態素を複数のレコード各々に含む形態素区分情報に基づいて、符号化対象テキストを解析し、
     前記形態素区分情報に含まれる前記複数のレコードのうち、ある登録文字列に対応したレコードに含まれる、ある形態素の識別に応じて、前記符号化対象テキストに含まれる前記ある形態素から始まる符号化対象文字列を前記文字列符号化情報において探索し、
     前記符号化対象文字列が前記ある登録文字列に対応する場合、前記符号化対象文字列を前記文字列符号化情報において前記ある登録文字列に対応付けられた符号に変換し、
     前記符号を含む符号化テキストを出力する、
    処理をコンピュータに実行させる符号化プログラム。
  2.  前記文字列符号化情報は、前記ある形態素を含む複数の先頭形態素それぞれに対応する複数のブロックを含み、前記複数のブロックの各々は、前記複数の先頭形態素の各々から始まる複数の登録文字列と前記複数の登録文字列それぞれに対応付けられた複数の符号とを含み、前記コンピュータは、前記複数のブロックのうち前記ある形態素に対応するブロックに含まれる前記複数の登録文字列の中から、前記符号化対象文字列を探索することを特徴とする請求項1記載の符号化プログラム。
  3.  前記コンピュータは、各ブロックに含まれる各登録文字列内の複数の形態素それぞれの各登録文字列内における位置を示す形態素位置情報に基づいて、前記ある登録文字列を含むブロックを特定し、特定したブロックに含まれる前記複数の登録文字列の中から前記符号化対象文字列を探索することを特徴とする請求項2記載の符号化プログラム。
  4.  前記形態素位置情報は、形態素と登録文字列内における位置との組み合わせ毎に、前記複数のブロックそれぞれが前記組み合わせに対応する登録文字列を含むか否かを示す情報を含み、前記コンピュータは、前記符号化対象文字列に含まれる各形態素と前記符号化対象文字列内における各形態素の位置とに基づいて、前記形態素位置情報を参照することで、前記ある登録文字列を含む前記ブロックを特定することを特徴とする請求項3記載の符号化プログラム。
  5.  登録文字列と符号とを対応付けたレコードを複数有する文字列符号化情報と、形態素の区分に用いられ、前記文字列符号化情報に含まれる各レコードの登録文字列の先頭形態素を複数のレコード各々に含む形態素区分情報とを記憶する記憶部と、
     前記形態素区分情報に基づいて符号化対象テキストを解析し、前記形態素区分情報に含まれる前記複数のレコードのうち、ある登録文字列に対応したレコードに含まれる、ある形態素の識別に応じて、前記符号化対象テキストに含まれる前記ある形態素から始まる符号化対象文字列を前記文字列符号化情報において探索し、前記符号化対象文字列が前記ある登録文字列に対応する場合、前記符号化対象文字列を前記文字列符号化情報において前記ある登録文字列に対応付けられた符号に変換する符号化部と、
     前記符号を含む符号化テキストを出力する出力部と、
    を備えることを特徴とする符号化装置。
  6.  前記文字列符号化情報は、前記ある形態素を含む複数の先頭形態素それぞれに対応する複数のブロックを含み、前記複数のブロックの各々は、前記複数の先頭形態素の各々から始まる複数の登録文字列と前記複数の登録文字列それぞれに対応付けられた複数の符号とを含み、前記符号化部は、前記複数のブロックのうち前記ある形態素に対応するブロックに含まれる前記複数の登録文字列の中から、前記符号化対象文字列を探索することを特徴とする請求項5記載の符号化装置。
  7.  前記記憶部は、各ブロックに含まれる各登録文字列内の複数の形態素それぞれの各登録文字列内における位置を示す形態素位置情報を記憶し、前記符号化部は、前記形態素位置情報に基づいて、前記ある登録文字列を含むブロックを特定し、特定したブロックに含まれる前記複数の登録文字列の中から前記符号化対象文字列を探索することを特徴とする請求項6記載の符号化装置。
  8.  前記形態素位置情報は、形態素と登録文字列内における位置との組み合わせ毎に、前記複数のブロックそれぞれが前記組み合わせに対応する登録文字列を含むか否かを示す情報を含み、前記符号化部は、前記符号化対象文字列に含まれる各形態素と前記符号化対象文字列内における各形態素の位置とに基づいて、前記形態素位置情報を参照することで、前記ある登録文字列を含む前記ブロックを特定することを特徴とする請求項7記載の符号化装置。
  9.  コンピュータが、
     形態素の区分に用いられ、登録文字列と符号とを対応付けたレコードを複数有する文字列符号化情報に含まれる各レコードの登録文字列の先頭形態素を複数のレコード各々に含む形態素区分情報に基づいて、符号化対象テキストを解析し、
     前記形態素区分情報に含まれる前記複数のレコードのうち、ある登録文字列に対応したレコードに含まれる、ある形態素の識別に応じて、前記符号化対象テキストに含まれる前記ある形態素から始まる符号化対象文字列を前記文字列符号化情報において探索し、
     前記符号化対象文字列が前記ある登録文字列に対応する場合、前記符号化対象文字列を前記文字列符号化情報において前記ある登録文字列に対応付けられた符号に変換し、
     前記符号を含む符号化テキストを出力する、
    ことを特徴とする符号化方法。
  10.  前記文字列符号化情報は、前記ある形態素を含む複数の先頭形態素それぞれに対応する複数のブロックを含み、前記複数のブロックの各々は、前記複数の先頭形態素の各々から始まる複数の登録文字列と前記複数の登録文字列それぞれに対応付けられた複数の符号とを含み、前記コンピュータは、前記複数のブロックのうち前記ある形態素に対応するブロックに含まれる前記複数の登録文字列の中から、前記符号化対象文字列を探索することを特徴とする請求項9記載の符号化方法。
  11.  前記コンピュータは、各ブロックに含まれる各登録文字列内の複数の形態素それぞれの各登録文字列内における位置を示す形態素位置情報に基づいて、前記ある登録文字列を含むブロックを特定し、特定したブロックに含まれる前記複数の登録文字列の中から前記符号化対象文字列を探索することを特徴とする請求項10記載の符号化方法。
  12.  前記形態素位置情報は、形態素と登録文字列内における位置との組み合わせ毎に、前記複数のブロックそれぞれが前記組み合わせに対応する登録文字列を含むか否かを示す情報を含み、前記コンピュータは、前記符号化対象文字列に含まれる各形態素と前記符号化対象文字列内における各形態素の位置とに基づいて、前記形態素位置情報を参照することで、前記ある登録文字列を含む前記ブロックを特定することを特徴とする請求項11記載の符号化方法。
PCT/JP2015/071171 2015-07-24 2015-07-24 符号化プログラム、符号化装置、及び符号化方法 WO2017017738A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2015/071171 WO2017017738A1 (ja) 2015-07-24 2015-07-24 符号化プログラム、符号化装置、及び符号化方法
JP2017530480A JP6753401B2 (ja) 2015-07-24 2015-07-24 符号化プログラム、符号化装置、及び符号化方法
US15/875,802 US10747946B2 (en) 2015-07-24 2018-01-19 Non-transitory computer-readable storage medium, encoding apparatus, and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071171 WO2017017738A1 (ja) 2015-07-24 2015-07-24 符号化プログラム、符号化装置、及び符号化方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/875,802 Continuation US10747946B2 (en) 2015-07-24 2018-01-19 Non-transitory computer-readable storage medium, encoding apparatus, and encoding method

Publications (1)

Publication Number Publication Date
WO2017017738A1 true WO2017017738A1 (ja) 2017-02-02

Family

ID=57884236

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/071171 WO2017017738A1 (ja) 2015-07-24 2015-07-24 符号化プログラム、符号化装置、及び符号化方法

Country Status (3)

Country Link
US (1) US10747946B2 (ja)
JP (1) JP6753401B2 (ja)
WO (1) WO2017017738A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739512A (zh) * 2018-12-28 2019-05-10 江苏极光网络技术有限公司 一种解析型语言文本式分析转换方法
CN109857740A (zh) * 2019-01-25 2019-06-07 上海赜睿信息科技有限公司 字符串的存储方法、匹配方法、电子设备及可读存储介质
CN111868805A (zh) * 2018-03-19 2020-10-30 日本电信电话株式会社 参数设定装置、运算装置、方法、程序、以及记录介质
WO2021245926A1 (ja) * 2020-06-05 2021-12-09 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6737025B2 (ja) * 2016-07-19 2020-08-05 富士通株式会社 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法
US10394860B1 (en) * 2016-11-23 2019-08-27 Parallels International Gmbh Zero knowledge search engine
JP7229795B2 (ja) * 2019-02-01 2023-02-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ アノテーション装置、アノテーション方法、及び、プログラム
CN110390063B (zh) * 2019-07-03 2022-04-22 北京字节跳动网络技术有限公司 一种数据解析方法、装置、介质和电子设备
JP7256935B2 (ja) * 2019-09-02 2023-04-13 富士通株式会社 辞書作成装置及び辞書作成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324427A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報圧縮装置
JPH1185790A (ja) * 1997-09-10 1999-03-30 Fujitsu Ltd 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0176858B1 (en) * 1984-09-18 1993-01-20 Sharp Kabushiki Kaisha Translation system
US4777617A (en) * 1987-03-12 1988-10-11 International Business Machines Corporation Method for verifying spelling of compound words
JP2765665B2 (ja) * 1991-08-01 1998-06-18 富士通株式会社 タイポグラフィカル情報付き文書の翻訳装置
US5268840A (en) * 1992-04-30 1993-12-07 Industrial Technology Research Institute Method and system for morphologizing text
US5590317A (en) 1992-05-27 1996-12-31 Hitachi, Ltd. Document information compression and retrieval system and document information registration and retrieval method
JPH0773279A (ja) * 1993-07-05 1995-03-17 Hitachi Ltd 文字変換装置
JPH07230461A (ja) 1993-12-24 1995-08-29 Ricoh Co Ltd 構文解析装置及び機械翻訳装置
US5893133A (en) * 1995-08-16 1999-04-06 International Business Machines Corporation Keyboard for a system and method for processing Chinese language text
JPH09231219A (ja) 1996-02-26 1997-09-05 Fujitsu Ltd 表記地名の校正支援方法および校正支援地名辞書および校正支援システム
JP3421700B2 (ja) * 1998-01-22 2003-06-30 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
CN1652107A (zh) * 1998-06-04 2005-08-10 松下电器产业株式会社 语言变换规则产生装置、语言变换装置及程序记录媒体
JP4003854B2 (ja) * 1998-09-28 2007-11-07 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
JP4083400B2 (ja) 2001-07-30 2008-04-30 三菱電機株式会社 アクセント句境界決定装置、音声合成装置及び方法並びにプログラム
JP4693466B2 (ja) * 2005-04-06 2011-06-01 東芝ソリューション株式会社 レポートチェック装置、レポート作成装置、記憶媒体、プログラム
JP4140920B2 (ja) * 2006-04-20 2008-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 個人情報の保護を支援する情報処理装置
US8175875B1 (en) * 2006-05-19 2012-05-08 Google Inc. Efficient indexing of documents with similar content
KR101042515B1 (ko) * 2008-12-11 2011-06-17 주식회사 네오패드 사용자의 의도에 기반한 정보 검색방법 및 정보 제공방법
RU2012121711A (ru) * 2009-12-04 2013-11-27 Сони Корпорейшн Устройство поиска, способ поиска программы
JP5862893B2 (ja) * 2010-08-24 2016-02-16 日本電気株式会社 文書分析システム、文書分析方法及び文書分析プログラム
JP5505234B2 (ja) * 2010-09-29 2014-05-28 富士通株式会社 文字列比較プログラム、文字列比較装置及び文字列比較方法
JP2014021905A (ja) * 2012-07-23 2014-02-03 Fujitsu Ltd 入力支援プログラム、入力支援方法および入力支援装置
US9183655B2 (en) * 2012-07-27 2015-11-10 Semantic Compaction Systems, Inc. Visual scenes for teaching a plurality of polysemous symbol sequences and corresponding rationales
JP6028567B2 (ja) * 2012-12-28 2016-11-16 富士通株式会社 データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法
JP5753217B2 (ja) * 2013-05-17 2015-07-22 株式会社アイディーズ 商品コード分析システム及び商品コード分析プログラム
US9911034B2 (en) * 2013-06-18 2018-03-06 Abbyy Development Llc Methods and systems that use hierarchically organized data structure containing standard feature symbols in order to convert document images to electronic documents
JP6098725B2 (ja) * 2013-09-02 2017-03-22 富士通株式会社 情報検索処理プログラム、装置、および方法
TWI525606B (zh) * 2014-06-05 2016-03-11 和碩聯合科技股份有限公司 資訊提供方法、系統及字串提供系統
JP6531398B2 (ja) * 2015-01-19 2019-06-19 富士通株式会社 プログラム
JP6447161B2 (ja) * 2015-01-20 2019-01-09 富士通株式会社 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324427A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報圧縮装置
JPH1185790A (ja) * 1997-09-10 1999-03-30 Fujitsu Ltd 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111868805A (zh) * 2018-03-19 2020-10-30 日本电信电话株式会社 参数设定装置、运算装置、方法、程序、以及记录介质
CN111868805B (zh) * 2018-03-19 2023-08-29 日本电信电话株式会社 参数设定装置、运算装置、它们的方法、以及记录介质
CN109739512A (zh) * 2018-12-28 2019-05-10 江苏极光网络技术有限公司 一种解析型语言文本式分析转换方法
CN109857740A (zh) * 2019-01-25 2019-06-07 上海赜睿信息科技有限公司 字符串的存储方法、匹配方法、电子设备及可读存储介质
CN109857740B (zh) * 2019-01-25 2021-06-04 上海赜睿信息科技有限公司 字符串的存储方法、匹配方法、电子设备及可读存储介质
WO2021245926A1 (ja) * 2020-06-05 2021-12-09 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
JP7371779B2 (ja) 2020-06-05 2023-10-31 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Also Published As

Publication number Publication date
JP6753401B2 (ja) 2020-09-09
US20180143954A1 (en) 2018-05-24
US10747946B2 (en) 2020-08-18
JPWO2017017738A1 (ja) 2018-05-31

Similar Documents

Publication Publication Date Title
WO2017017738A1 (ja) 符号化プログラム、符号化装置、及び符号化方法
JP6447161B2 (ja) 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法
US7548845B2 (en) Apparatus, method, and program product for translation and method of providing translation support service
EP3032439B1 (en) Compression computer program and search computer program
US10740562B2 (en) Search apparatus, encoding method, and search method based on morpheme position in a target document
JP6599219B2 (ja) 読み付与装置、読み付与方法、およびプログラム
JP6680126B2 (ja) 符号化プログラム、符号化装置、符号化方法、及び検索方法
US11669553B2 (en) Context-dependent shared dictionaries
EP3119002B1 (en) Encoding program, encoding method, information processsing device, replacement program, and replacement method
JP2007219620A (ja) テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法
JP6805720B2 (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP2000201080A (ja) 付加コ―ドを用いたデ―タ圧縮/復元装置および方法
US20190155902A1 (en) Information generation method, information processing device, and word extraction method
JP6838471B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP6805927B2 (ja) インデックス生成プログラム、データ検索プログラム、インデックス生成装置、データ検索装置、インデックス生成方法、及びデータ検索方法
JP2018077604A (ja) 機能記述からの実現手段・方法の侵害候補を自動特定する人工知能装置
JP2018180808A (ja) 解析プログラム、解析方法および解析装置
JP6765992B2 (ja) 超球面空間言語モデル生成装置、クエリ尤度算出装置、これらの方法およびプログラム
JP2005275880A (ja) 字句をデータに変換する装置、方法及びプログラム
JPWO2017009958A1 (ja) 圧縮プログラム、圧縮方法および圧縮装置
JP4061283B2 (ja) 字句をデータに変換する装置、方法及びプログラム
JP2004013680A (ja) 文字コード圧縮・復元装置および同方法
JP2021085996A (ja) 音声認識システム、音声認識方法
JP2004348574A (ja) 文書蓄積装置、文書蓄積方法およびそのプログラムを記録した記録媒体
JPH02299086A (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: 15899572

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017530480

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15899572

Country of ref document: EP

Kind code of ref document: A1