WO2021084631A1 - 情報処理装置、抽出方法および抽出プログラム - Google Patents
情報処理装置、抽出方法および抽出プログラム Download PDFInfo
- Publication number
- WO2021084631A1 WO2021084631A1 PCT/JP2019/042437 JP2019042437W WO2021084631A1 WO 2021084631 A1 WO2021084631 A1 WO 2021084631A1 JP 2019042437 W JP2019042437 W JP 2019042437W WO 2021084631 A1 WO2021084631 A1 WO 2021084631A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- group
- compound words
- grouped
- compound
- keyword
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
Definitions
- the present invention relates to an information processing device, an extraction method, and an extraction program.
- the conventional compound word synonym extraction technology cannot accurately extract synonyms.
- the number of occurrences of words co-occurring around the compound word is used as a vector component, and the similarity is calculated based on the similarity of the co-occurrence vectors.
- the calculation accuracy of similarity is reduced, and there is a problem that synonyms cannot be extracted with high accuracy.
- the information processing apparatus of the present invention is extracted by an extraction unit that extracts a compound word consisting of a general noun and a sa-variant noun from document data, and an extraction unit.
- the grouping unit that groups the compound words that have the same input keyword and the sa-variant noun in the first group and the compound words that have the same keyword and the general noun in the second group, and the above-mentioned
- a calculation unit that calculates the similarity between each compound word and the keyword, and the calculation unit.
- the compound words grouped in the first group and the presentation unit that presents synonym candidates for the keyword from the compound words grouped in the second group. It is characterized by having.
- FIG. 1 is a diagram showing an example of the configuration of the information processing apparatus according to the first embodiment.
- FIG. 2 is a diagram showing an example of a group of compound words having the same s-irregular connection noun.
- FIG. 3 is a diagram showing an example of a group of compound words having the same general noun.
- FIG. 4 is a diagram illustrating an example of calculating the degree of similarity for a group of compound words having the same s-irregular connection noun.
- FIG. 5 is a diagram illustrating an example of calculating the degree of similarity for a group of compound words having the same general noun.
- FIG. 6 is a diagram showing an output example of synonym candidates.
- FIG. 1 is a diagram showing an example of the configuration of the information processing apparatus according to the first embodiment.
- FIG. 2 is a diagram showing an example of a group of compound words having the same s-irregular connection noun.
- FIG. 3 is a diagram showing an example of a
- FIG. 7 is a diagram illustrating an outline of processing in the information processing apparatus according to the first embodiment.
- FIG. 8 is a flowchart showing an example of a flow of synonym extraction processing in the information processing apparatus according to the first embodiment.
- FIG. 9 is a diagram showing a computer that executes an extraction program.
- FIG. 1 is a diagram showing an example of the configuration of the display control device according to the first embodiment.
- the information processing device 10 is a device for preventing fluctuations in the description of compound words in a development document by presenting synonyms of compound words input by a developer (user) who creates document data such as a development document.
- the information processing device 10 includes a communication unit 11, an input unit 12, an output unit 13, a control unit 14, and a storage unit 15. Each part will be described below.
- the communication unit 11 is a communication interface for transmitting and receiving various information to and from other devices connected via a network or the like.
- the communication unit 11 is realized by a NIC (Network Interface Card) or the like, and communicates between another device and the control unit 14 via a telecommunication line such as a LAN (Local Area Network) or the Internet.
- a NIC Network Interface Card
- LAN Local Area Network
- the communication unit 11 inputs a keyword input via a terminal device (not shown) or the like to the control unit 14.
- the input unit 12 is realized by using an input device such as a keyboard or a mouse, and inputs various instruction information such as processing start to the control unit 14 in response to an input operation by the operator. It is realized by an output unit 13, a display device such as a liquid crystal display, a printing device such as a printer, and the like. For example, the output unit 13 outputs synonym candidates in the document data for the input keyword.
- the storage unit 15 is realized by 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, and is a processing program or a processing program for operating the information processing device 10. Data used during execution of is stored.
- the storage unit 15 has a document data storage unit 15a.
- the document data storage unit 15a stores the document data.
- the document data storage unit 15a stores the text data of the development document as the document data.
- the document data is not limited to the text data of the development document, and may be, for example, text data to be reviewed.
- the control unit 14 has an internal memory for storing a program that defines various processing procedures and required data, and executes various processing by these.
- the control unit 14 is an electronic circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
- the control unit 14 includes an extraction unit 14a, a grouping unit 14b, a calculation unit 14c, and a presentation unit 14d.
- the extraction unit 14a extracts a compound word consisting of a general noun and a s-irregular noun from the document data. For example, when the extraction unit 14a receives a keyword from the user, the extraction unit 14a acquires the document data from the document data storage unit 15a. When a plurality of types of document data are stored in the document data from the document data storage unit 15a, the user may specify the target document data.
- the extraction unit 14a analyzes the corpus of the acquired document data by morphological analysis, concatenates consecutive noun subclassifications of "general noun” + “sa-hen connection noun”, and extracts them as compound words.
- the extraction unit 1a shall extract even when the order of the general noun and the sa-variant noun is reversed.
- the extraction unit 14a is a continuous "middleware" (general noun) and a "restart” (sa-variable noun) as a continuous "general noun” + “sa-variable noun”. Extract “Resume”.
- "restart middleware” has a relationship of object (noun) + predicate (verb), such as "restart middleware (noun) (verb)”.
- the grouping unit 14b groups the compound words having the same input keyword and the s-irregular connection noun into the first group, and the grouping unit 14b groups the compound words having the same keyword and the general noun. Group into 2 groups.
- FIG. 2 is a diagram showing an example of a group of compound words having the same s-irregular connection noun.
- FIG. 3 is a diagram showing an example of a group of compound words having the same general noun.
- the calculation unit 14c calculates the similarity between each compound word and the keyword for the compound words grouped in the first group by the grouping unit and the compound words grouped in the second group.
- the calculation unit 14c calculates the similarity using the Levenshtein distance between each compound word and the keyword.
- the Levenshtein distance is a distance indicating how different the two character strings are.
- the Levenshtein distance is the minimum number of steps required to transform one character string into the other character string by inserting, deleting, or replacing one character. In the following, this minimum number of times will be appropriately referred to as “cost”.
- the calculation unit 14c may perform a process for standardizing the Levenshtein distance in consideration of the length of the character string. For example, the calculation unit 14c calculates the Levenshtein distance between the character string A and the character string B, and then divides the calculated Levenshtein distance by the length of the longer character string of the character string A and the character string B. Find the standardized Levenshtein distance.
- the standardized Levenshtein distance has a distance between 0 and 1.
- the calculation unit 14c may calculate the similarity by weighting the compound words of the first group so as to have higher similarity than the compound words of the second group. For example, when the weight correction value is "1/2", the calculation unit 14c multiplies the value of the Levenshtein distance of the first group by 1/2. The smaller the Levenshtein distance value, the higher the similarity between the character strings.
- FIG. 4 is a diagram illustrating an example of calculating the degree of similarity for a group of compound words having the same s-irregular connection noun.
- the weight correction value is "1/2".
- the calculation unit 14c calculates the Levenshtein distance between each general noun part and the general noun part of the keyword in the group of compound words having the same s-irregular connection noun.
- the calculation unit 14c includes the general noun part "middleware" of the keyword and the general noun part "middle” of the compound word in the document data. Calculate the Levenshtein distance.
- the minimum number of steps required for the general noun part "middleware” to be transformed into the general noun part "middle” of the compound word in the document data is "3", and the character string is long. Since the number of characters of the general noun "middleware" is "6", the cost "3" is multiplied by the weight "1/2” and the multiplied value is divided by the number of characters "6". As a result, the calculation unit 14c obtains "1/4" as the degree of similarity (described as "corrected cost” in the example of FIG. 4).
- FIG. 5 is a diagram illustrating an example of calculating the degree of similarity for a group of compound words having the same general noun.
- the calculation unit 14c calculates the Levenshtein distance between each sa-variable noun part and the sa-variable noun part of the keyword in the group of compound words having the same general noun.
- the calculation unit 14c has the keyword "restart” and the compound word "construction” in the document data. Calculate the Levenshtein distance with.
- the minimum number of steps required for the sa-variable noun part "restart” to be transformed into the sa-variable noun part "construction” of the compound word in the document data is "2", and the character string. Since the number of characters of the s-irregular connection noun with the longer one is "2" (in this example, the number of characters of "restart” and “construction” is the same "2"), the cost "2" is divided by the number of characters "2". As a result, the calculation unit 14c obtains "1" as the degree of similarity (described as "cost” in the example of FIG. 5).
- the presentation unit 14d presents synonym candidates for keywords from among compound words based on the similarity calculated by the calculation unit 14c. For example, the presentation unit 14d determines the order of similarity of each compound word calculated by the calculation unit 14c, and according to the order, the compound words grouped in the first group and the second group Suggest synonyms for keywords from the grouped compound words.
- the presentation unit 14d may determine the order of similarity of each compound word calculated by the calculation unit 14c, and present the synonym candidates of the keywords from the compound words according to the order. Good. As illustrated in FIG. 6, the presentation unit 14d ranks the compound words having the lowest cost value calculated by the calculation unit 14c or the corrected cost value, that is, the compound words having the highest degree of similarity to the keyword. Is set to "1", then the order of the compound word having the smallest cost value or the corrected cost value is set to "2", and then the order "3" and thereafter are set in the same manner.
- the presentation unit 14d may present the highest-ranked compound word among the set ranks as a candidate for a synonym, or may present a compound word having a predetermined rank among the higher-ranked compound words as a synonym. .. That is, in the example of FIG. 6, for example, when presenting the highest-level compound word as a synonym candidate, the presentation unit 14d presents "middle restart" as a synonym candidate. Further, in the example of FIG. 6, for example, when the presentation unit 14d presents the compound words in the first to third ranks of the upper compound words as synonym candidates, “middle restart” and “OS restart”. , "Resume app" is presented as a candidate for synonyms. The presentation unit 14d does not present the same compound word as the keyword.
- the information processing apparatus 10 extracts a compound word consisting of a general noun and a sa-variable noun from the document data, and among the extracted compound words, the compound word having the same input keyword and the sa-variable noun is selected. Group into one group, and group compound words with the same keyword and general noun into the second group. Then, the information processing apparatus 10 calculates the similarity between each compound word and the keyword for the compound words grouped in the first group and the compound words grouped in the second group. Subsequently, the information processing apparatus 10 presents synonym candidates for keywords from the compound words grouped in the first group and the compound words grouped in the second group based on the calculated similarity. ..
- FIG. 7 is a diagram illustrating an outline of processing in the information processing apparatus according to the first embodiment.
- a compound word consisting of a general noun and a s-irregular noun is extracted from the document data, and the compound word is input from the extracted compound words.
- Compound words with the same keyword and s-irregular noun are grouped in the first group, and compound words with the same keyword and general noun are grouped in the second group.
- the information processing device 10 calculates the similarity between each compound word and the keyword for the compound words grouped in the first group and the compound words grouped in the second group.
- the information processing apparatus 10 has a synonym for "middleware restart” as illustrated in FIG. Present "middle restart” as a word candidate.
- FIG. 8 is a flowchart showing an example of a flow of synonym extraction processing in the information processing apparatus according to the first embodiment.
- the extraction unit 14a of the information processing apparatus 10 receives a keyword from the user (step S101 affirmative), the extraction unit 14a extracts the compound word from the document data (step S102).
- the extraction unit 14a analyzes the corpus of the document data by morphological analysis, concatenates consecutive noun subclassifications of "general noun” + “s-irregular noun”, and extracts them as compound words.
- the grouping unit 14b groups the input keywords and the s-irregular connection nouns into the same compound words among the compound words extracted by the extraction unit 14a (step S103), and the grouping units 14b have the same keywords and general nouns. Grouping with (step S104).
- the calculation unit 14c calculates the similarity between each compound word and the keyword for the grouped compound words (step S105). For example, the calculation unit 14c calculates the similarity using the Levenshtein distance between each compound word and the keyword.
- the presentation unit 14d presents synonym candidates for keywords from among compound words based on the similarity calculated by the calculation unit 14c (step S106). For example, the presentation unit 14d determines the order of similarity of each compound word calculated by the calculation unit 14c, and presents synonym candidates for keywords from the grouped compound words according to the order.
- the information processing apparatus 10 extracts a compound word consisting of a general noun and a sa-variable noun from the document data, and among the extracted compound words, the compound word having the same input keyword and the sa-variable noun is selected. Group into one group, and group compound words with the same keyword and general noun into the second group. Then, the information processing apparatus 10 calculates the similarity between each compound word and the keyword for the compound words grouped in the first group and the compound words grouped in the second group. Subsequently, the information processing apparatus 10 presents synonym candidates for keywords from the compound words grouped in the first group and the compound words grouped in the second group based on the calculated similarity. ..
- the information processing device 10 can accurately extract synonyms. That is, the information processing apparatus 10 according to the first embodiment can extract synonyms with high accuracy without lowering the calculation accuracy of the similarity even if the compound words have a low number of appearances.
- a compound word of a general noun + a s-irregular noun (in the example, middleware + restart) is often used as a keyword in the development document, and the information processing apparatus 10 has a general noun part.
- the similarity can be calculated with high accuracy by grouping those with the same and the same s-irregular nouns and calculating the similarity (for example, Levenshtein distance).
- the one in which the general noun part (object) is paraphrased is considered to have higher similarity than the one in which the sa-variant noun part is paraphrased.
- the device 10 calculates the similarity by performing weight correction so as to increase the similarity of the group in which the general noun portion is paraphrased.
- the information processing apparatus 10 calculates the degree of similarity by performing weight correction on the keyword of "middleware restart” so that "middleware restart” has higher similarity than "middleware restart”.
- the information processing apparatus 10 enables more accurate extraction of synonyms even for compound words that appear less frequently.
- each component of each of the illustrated devices 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 them may be functionally or physically distributed / physically in arbitrary units according to various loads and usage conditions. Can be integrated and configured. Further, each processing function performed by each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.
- FIG. 9 is a diagram showing a computer that executes an extraction program.
- the computer 1000 has, for example, a memory 1010 and a CPU 1020.
- the computer 1000 also has a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. Each of these parts is connected by a bus 1080.
- the memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012.
- the ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System).
- BIOS Basic Input Output System
- the hard disk drive interface 1030 is connected to the hard disk drive 1090.
- the disk drive interface 1040 is connected to the disk drive 1100.
- a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100.
- the serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052.
- the video adapter 1060 is connected to, for example, the display 1061.
- the hard disk drive 1090 stores, for example, OS1091, application program 1092, program module 1093, and program data 1094. That is, the program that defines each process of the information processing apparatus 10 is implemented as a program module 1093 in which a code that can be executed by a computer is described.
- the program module 1093 is stored in, for example, the hard disk drive 1090.
- a program module 1093 for executing a process similar to the functional configuration in the device is stored in the hard disk drive 1090.
- the hard disk drive 1090 may be replaced by an SSD (Solid State Drive).
- the data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, a memory 1010 or a hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 into the RAM 1012 as needed, and executes the program.
- the program module 1093 and the program data 1094 are not limited to those stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network or WAN. Then, the program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
情報処理装置(10)は、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出し、抽出した複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。そして、情報処理装置(10)は、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。続いて、情報処理装置(10)は、計算した類似度に基づいて、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語のなかからキーワードの類義語候補を提示する。
Description
本発明は、情報処理装置、抽出方法および抽出プログラムに関する。
従来、要件定義書等の開発文書作成時において、単語の統一性を保ち記載することは、後工程における文書レビュー時の稼働削減や仕様誤認による不具合盛り込みの防止のためにも重要である。従来の複合語の類義語抽出技術においては、複合語の周辺に共起する語の出現回数をベクトル成分として、その共起ベクトルの類似度で類似性を算出する手法が知られている(例えば、特許文献1参照)。
しかしながら、従来の複合語の類義語抽出技術では、精度良く類義語の抽出を行うことができなかったという課題があった。例えば、上記した従来の複合語の類義語抽出技術では、複合語の周辺に共起する語の出現回数をベクトル成分として、その共起ベクトルの類似度で類似性を算出するので、出現回数の低い複合語では類似度の計算精度が低下し、精度良く類義語を抽出できないという課題があった。
上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出する抽出部と、前記抽出部によって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、前記キーワードと一般名詞が同一の複合語を第2のグループにグルーピングするグルーピング部と、前記グルーピング部によって前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語について、各複合語と前記キーワードとの類似度をそれぞれ計算する計算部と、前記計算部によって計算された類似度に基づいて、前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語のなかから前記キーワードの類義語候補を提示する提示部とを有することを特徴とする。
本発明によれば、精度良く類義語の抽出を行うことができるという効果を奏する。
以下に、本願に係る情報処理装置、抽出方法および抽出プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る情報処理装置、抽出方法および抽出プログラムが限定されるものではない。
[第1の実施形態]
以下の実施の形態では、第1の実施形態に係る情報処理装置10の構成、情報処理装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
以下の実施の形態では、第1の実施形態に係る情報処理装置10の構成、情報処理装置10の処理の流れを順に説明し、最後に第1の実施形態による効果を説明する。
[情報処理装置の構成]
まず、図1を用いて、情報処理装置10の構成について説明する。図1は、第1の実施形態に係る表示制御装置の構成の一例を示す図である。情報処理装置10は、開発文書等の文書データを作成する開発者(ユーザ)が入力した複合語の類義語を提示することで、開発文書における複合語の記載ゆれを防止するための装置である。
まず、図1を用いて、情報処理装置10の構成について説明する。図1は、第1の実施形態に係る表示制御装置の構成の一例を示す図である。情報処理装置10は、開発文書等の文書データを作成する開発者(ユーザ)が入力した複合語の類義語を提示することで、開発文書における複合語の記載ゆれを防止するための装置である。
図1に示すように、情報処理装置10は、通信部11、入力部12、出力部13、制御部14及び記憶部15を有する。以下では、各部について説明する。
通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部14との間の通信を行う。例えば、通信部11は、端末装置(図示せず)などを介して入力されたキーワードを、制御部14に入力する。
入力部12は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部14に対して処理開始などの各種指示情報を入力する。出力部13、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。例えば、出力部13は、入力されたキーワードについての文書データ内の類義語の候補を出力する。
記憶部15は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、情報処理装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。例えば、記憶部15は、文書データ記憶部15aを有する。
文書データ記憶部15aは、文書データを記憶する。例えば、文書データ記憶部15aは、文書データとして、開発文書のテキストデータを記憶する。なお、文書データは、開発文書のテキストデータに限定されるものではなく、例えば、校閲対象のテキストデータなどであってもよい。
制御部14は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部14は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。制御部14は、抽出部14a、グルーピング部14b、計算部14cおよび提示部14dを有する。
抽出部14aは、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出する。例えば、抽出部14aは、ユーザからキーワードを受け付けると、文書データ記憶部15aから文書データを取得する。なお、文書データ記憶部15aから文書データに複数種類の文書データが記憶されている場合には、ユーザが対象となる文書データを指定するようにしてもよい。
そして、例えば、抽出部14aは、取得した文書データのコーパスを形態素解析し、名詞の細分類が「一般名詞」+「サ変接続名詞」で連続したものを連結して、複合語として抽出する。なお、抽出部1aは、一般名詞とサ変接続名詞の順番が逆の場合も抽出するものとする。具体例を挙げて説明すると、抽出部14aは、「一般名詞」+「サ変接続名詞」で連続したものとして、「ミドルウェア」(一般名詞)と「再開」(サ変接続名詞)が連続した「ミドルウェア再開」を抽出する。なお、「ミドルウェア再開」は、「ミドルウェア(名詞)を再開する(動詞)」というように、目的語(名詞)+述語(動詞)の関係となっている。
グルーピング部14bは、抽出部14aによって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。
例えば、グルーピング部14bは、キーワードが「ミドルウェア再開」である場合に、図2に例示するように、サ変接続名詞部の「再開」が同一である複合語として、「ミドルウェア再開」、「ミドル再開」、「OS再開」および「アプリ再開」を同一グループにグルーピングする。図2は、サ変接続名詞が同一の複合語のグループの一例を示す図である。
また、例えば、グルーピング部14bは、キーワードが「ミドルウェア再開」である場合に、図3に例示するように、一般名詞部の「ミドルウェア」が同一である複合語として、「ミドルウェア再開」、「ミドルウェア構築」、「ミドルウェア再起動」および「ミドルウェア停止」を同一グループにグルーピングする。図3は、一般名詞が同一の複合語のグループの一例を示す図である。
計算部14cは、グルーピング部によって第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。
例えば、計算部14cは、各複合語とキーワードとのレーベンシュタイン距離を用いて類似度を計算する。ここで、レーベンシュタイン距離とは、二つの文字列がどの程度異なっているかを示す距離のことをいう。また、レーベンシュタイン距離とは、1文字の挿入、削除、置換を行うことによって、一方の文字列をもう一方の文字列に変形するのに必要な手順の最少回数である。なお、以降では、この最小回数について、適宜「コスト」と記載する。
具体例を挙げて説明すると、「kitten」を「sitting」に変形する場合には、例えば、kitten→sitten(kをsに置換)→sittin(eをiに置換)→sitting(gを追加)という手順となるため、最低でも3回の手順が必要となる。このため、「kitten」と「sitting」の2単語間のレーベンシュタイン距離は、「3」となる。
また、計算部14cは、文字列の長さを考慮して、レーベンシュタイン距離を標準化するための処理を行ってもよい。例えば、計算部14cは、文字列Aと文字列Bのレーベンシュタイン距離を計算した後、計算したレーベンシュタイン距離を文字列Aと文字列Bのうち長い方の文字列の長さで除算し、標準化されたレーベンシュタイン距離をもとめる。標準化されたレーベンシュタイン距離は、0から1までの間の距離をもつ。
また、計算部14cは、第1のグループの複合語が第2のグループの複合語よりも類似度が高くなるように重み付して類似度を計算するようにしてもよい。例えば、計算部14cは、重み補正値が「1/2」である場合には、第1のグループのレーベンシュタイン距離の値に1/2を乗算する。なお、レーベンシュタイン距離の値が小さいほど、文字列同士の類似度が高いものとする。
ここで、図4の例を用いて、サ変接続名詞が同一の複合語のグループについての類似度の計算例について説明する。図4は、サ変接続名詞が同一の複合語のグループについての類似度の計算例について説明する図である。なお、図4の例では、重み補正値が「1/2」であるものとする。図4に例示するように、計算部14cは、サ変接続名詞が同一の複合語のグループのなかの各一般名詞部とキーワードの一般名詞部とのレーベンシュタイン距離をそれぞれ計算する。
図4の一例を挙げて説明すると、計算部14cは、キーワードが「ミドルウェア再開」である場合に、キーワードの一般名詞部「ミドルウェア」と文書データ内の複合語の一般名詞部「ミドル」とのレーベンシュタイン距離を計算する。この場合、計算部14cは、一般名詞部「ミドルウェア」が文書データ内の複合語の一般名詞部「ミドル」に変形するのに必要な手順の最少回数が「3」であり、文字列が長い方の一般名詞「ミドルウェア」の文字数が「6」であるため、コスト「3」と重み「1/2」を乗算し、乗算した値を文字数「6」で除算する。この結果、計算部14cは、類似度(図4の例では、「補正後コスト」と記載)として「1/4」を得る。
続いて、図5の例を用いて、一般名詞が同一の複合語のグループについての類似度の計算例について説明する。図5は、一般名詞が同一の複合語のグループについての類似度の計算例について説明する図である。図5に例示するように、計算部14cは、一般名詞が同一の複合語のグループのなかの各サ変接続名詞部とキーワードのサ変接続名詞部とのレーベンシュタイン距離をそれぞれ計算する。
図5の一例を挙げて説明すると、計算部14cは、キーワードが「ミドルウェア再開」である場合に、キーワードのサ変接続名詞部「再開」と文書データ内の複合語のサ変接続名詞部「構築」とのレーベンシュタイン距離を計算する。この場合、計算部14cは、サ変接続名詞部「再開」が文書データ内の複合語のサ変接続名詞部「構築」に変形するのに必要な手順の最少回数が「2」であり、文字列が長い方のサ変接続名詞の文字数が「2」であるため(この例では、「再開」と「構築」の文字数が同じ「2」)、コスト「2」を文字数「2」で除算する。この結果、計算部14cは、類似度(図5の例では、「コスト」と記載)として「1」を得る。
提示部14dは、計算部14cによって計算された類似度に基づいて、複合語のなかからキーワードの類義語候補を提示する。例えば、提示部14dは、計算部14cによって計算された各複合語の類似度の順位を決定し、該順位に応じて、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語のなかからキーワードの類義語候補を提示する。
また、例えば、提示部14dは、計算部14cによって計算された各複合語の類似度の順位を決定し、該順位に応じて、複合語のなかからキーワードの類義語候補を提示するようにしてもよい。図6に例示するように、提示部14dは、計算部14cによって計算されたコストの値もしくは補正後のコストの値が最も小さい複合語、つまり、キーワードとの類似度が最も高い複合語の順位を「1」と設定し、次いでコストの値もしくは補正後のコストの値が最も小さい複合語の順位を「2」と設定し、その後、順位「3」以降についても同様に設定していく。
そして、提示部14dは、設定した順位のうち、最上位の複合語を類義語の候補として提示してもよいし、上位の複合語のうちの所定順位の複合語を類義語として提示してもよい。つまり、図6の例では、例えば、提示部14dは、最上位の複合語を類義語の候補として提示する場合には、「ミドル再開」を類義語の候補として提示する。また、図6の例では、例えば、提示部14dは、上位の複合語のうちの1~3位までの複合語を類義語の候補として提示する場合には、「ミドル再開」、「OS再開」、「アプリ再開」を類義語の候補として提示する。なお、提示部14dは、キーワードと同じ複合語については提示しないものとする。
このように、情報処理装置10は、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出し、抽出した複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。そして、情報処理装置10は、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。続いて、情報処理装置10は、計算した類似度に基づいて、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語のなかからキーワードの類義語候補を提示する。
ここで、図7を用いて、情報処理装置10における処理の概要を説明する。図7は、第1の実施形態に係る情報処理装置における処理の概要を説明する図である。図7に例示するように、ユーザからキーワードとして「ミドルウェア再開」の入力を受け付けると、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出し、抽出した複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。
そして、情報処理装置10は、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。この結果、情報処理装置10は、計算した類似度が最も高い複合語が「ミドル再開」である場合には、図7に例示するように、「ミドルウェア再開」に同義語がある旨と、同義語の候補として「ミドル再開」を提示する。
[情報処理装置の処理手順]
次に、図8を用いて、第1の実施形態に係る情報処理装置10による処理手順の例を説明する。図8は、第1の実施形態に係る情報処理装置における類義語抽出処理の流れの一例を示すフローチャートである。
次に、図8を用いて、第1の実施形態に係る情報処理装置10による処理手順の例を説明する。図8は、第1の実施形態に係る情報処理装置における類義語抽出処理の流れの一例を示すフローチャートである。
図8に例示するように、情報処理装置10の抽出部14aは、ユーザからキーワードを受け付けると(ステップS101肯定)、文書データから複合語を抽出する(ステップS102)。例えば、抽出部14aは、文書データのコーパスを形態素解析し、名詞の細分類が「一般名詞」+「サ変接続名詞」で連続したものを連結して、複合語として抽出する。
続いて、グルーピング部14bは、抽出部14aによって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語でグルーピングし(ステップS103)、キーワードと一般名詞が同一の複合語でグルーピングする(ステップS104)。
そして、計算部14cは、グルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する(ステップS105)。例えば、計算部14cは、各複合語とキーワードとのレーベンシュタイン距離を用いて類似度を計算する。
提示部14dは、計算部14cによって計算された類似度に基づいて、複合語のなかからキーワードの類義語候補を提示する(ステップS106)。例えば、提示部14dは、計算部14cによって計算された各複合語の類似度の順位を決定し、該順位に応じて、グルーピングされた複合語のなかからキーワードの類義語候補を提示する。
[第1の実施形態の効果]
このように、情報処理装置10は、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出し、抽出した複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。そして、情報処理装置10は、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。続いて、情報処理装置10は、計算した類似度に基づいて、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語のなかからキーワードの類義語候補を提示する。
このように、情報処理装置10は、文書データから一般名詞とサ変接続名詞とからなる複合語を抽出し、抽出した複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、キーワードと一般名詞が同一の複合語を第2のグループにグルーピングする。そして、情報処理装置10は、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語について、各複合語とキーワードとの類似度をそれぞれ計算する。続いて、情報処理装置10は、計算した類似度に基づいて、第1のグループにグルーピングされた複合語、および、第2のグループにグルーピングされた複合語のなかからキーワードの類義語候補を提示する。
このため、情報処理装置10は、精度良く類義語の抽出を行うことが可能である。つまり、第1の実施形態に係る情報処理装置10は、出現回数の低い複合語であっても、類似度の計算精度が低下せず、精度良く類義語の抽出を行うことが可能である。
また、本実施形態では、開発文書においては、一般名詞+サ変接続名詞の複合語(例では、ミドルウェア+再開)がキーワードして多く用いられることに着目し、情報処理装置10は、一般名詞部が同一なもの、サ変接続名詞が同一なものをグルーピングしてそれぞれ類似度(例えばレーベンシュタイン距離)を算出することで、精度良く類似度を計算することができる。
また、本実施形態では、当該複合語においては、一般名詞部(目的語)が言い換えられたものの方が、サ変接続名詞部が言い換えられたものより類似性が高いと考えられることから、情報処理装置10は、上記の一般名詞部が言い換えられたグループの類似度を高くなるように重み補正を行って類似度の計算を行う。例えば、情報処理装置10は、「ミドルウェア再開」のキーワードに対し、「ミドル再開」の方が「ミドルウェア再起動」より類似性が高くなるように重み補正を行って類似度の計算を行う。これにより、情報処理装置10は、出現回数の低い複合語に対しても、より精度良く類義語の抽出を可能とする。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図9は、抽出プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
図9は、抽出プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報処理装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられるデータは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク、WANを介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 情報処理装置
11 通信部
12 入力部
13 出力部
14 制御部
14a 抽出部
14b グルーピング部
14c 計算部
14d 提示部
15 記憶部
15a 文書データ記憶部
11 通信部
12 入力部
13 出力部
14 制御部
14a 抽出部
14b グルーピング部
14c 計算部
14d 提示部
15 記憶部
15a 文書データ記憶部
Claims (6)
- 文書データから一般名詞とサ変接続名詞とからなる複合語を抽出する抽出部と、
前記抽出部によって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、前記キーワードと一般名詞が同一の複合語を第2のグループにグルーピングするグルーピング部と、
前記グルーピング部によって前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語について、各複合語と前記キーワードとの類似度をそれぞれ計算する計算部と、
前記計算部によって計算された類似度に基づいて、前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語のなかから前記キーワードの類義語候補を提示する提示部と
を有することを特徴とする情報処理装置。 - 前記計算部は、前記各複合語と前記キーワードとのレーベンシュタイン距離を用いて前記類似度を計算することを特徴とする請求項1に記載の情報処理装置。
- 前記計算部は、前記第1のグループの複合語が前記第2のグループの複合語よりも類似度が高くなるように重み付して前記類似度を計算することを特徴とする請求項1に記載の情報処理装置。
- 前記提示部は、前記計算部によって計算された各複合語の類似度の順位を決定し、該順位に応じて、前記複合語のなかから前記キーワードの類義語候補を提示することを特徴とする請求項1に記載の情報処理装置。
- 情報処理装置によって実行される抽出方法であって、
文書データから一般名詞とサ変接続名詞とからなる複合語を抽出する抽出工程と、
前記抽出工程によって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、前記キーワードと一般名詞が同一の複合語を第2のグループにグルーピングするグルーピング工程と、
前記グルーピング工程によって前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語について、各複合語と前記キーワードとの類似度をそれぞれ計算する計算工程と、
前記計算工程によって計算された類似度に基づいて、前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語のなかから前記キーワードの類義語候補を提示する提示工程と
を含むことを特徴とする抽出方法。 - 文書データから一般名詞とサ変接続名詞とからなる複合語を抽出する抽出ステップと、
前記抽出ステップによって抽出された複合語のうち、入力されたキーワードとサ変接続名詞が同一の複合語を第1のグループにグルーピングし、前記キーワードと一般名詞が同一の複合語を第2のグループにグルーピングするグルーピングステップと、
前記グルーピングステップによって前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語について、各複合語と前記キーワードとの類似度をそれぞれ計算する計算ステップと、
前記計算ステップによって計算された類似度に基づいて、前記第1のグループにグルーピングされた複合語、および、前記第2のグループにグルーピングされた複合語のなかから前記キーワードの類義語候補を提示する提示ステップと
をコンピュータに実行させることを特徴とする抽出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/042437 WO2021084631A1 (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、抽出方法および抽出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/042437 WO2021084631A1 (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、抽出方法および抽出プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021084631A1 true WO2021084631A1 (ja) | 2021-05-06 |
Family
ID=75714919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/042437 WO2021084631A1 (ja) | 2019-10-29 | 2019-10-29 | 情報処理装置、抽出方法および抽出プログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021084631A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137718A (ja) * | 1998-11-04 | 2000-05-16 | Nippon Telegr & Teleph Corp <Ntt> | 単語の類似性判別方法および単語の類似性判別プログラムを記録した記録媒体 |
JP2000298673A (ja) * | 1999-04-14 | 2000-10-24 | Oki Electric Ind Co Ltd | 情報抽出装置 |
-
2019
- 2019-10-29 WO PCT/JP2019/042437 patent/WO2021084631A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137718A (ja) * | 1998-11-04 | 2000-05-16 | Nippon Telegr & Teleph Corp <Ntt> | 単語の類似性判別方法および単語の類似性判別プログラムを記録した記録媒体 |
JP2000298673A (ja) * | 1999-04-14 | 2000-10-24 | Oki Electric Ind Co Ltd | 情報抽出装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9002695B2 (en) | Machine translation device, method of processing data, and program | |
US7630880B2 (en) | Japanese virtual dictionary | |
US20100223047A1 (en) | Computer-assisted natural language translation | |
US20040039563A1 (en) | Machine translation apparatus and method | |
WO2005101236A2 (en) | Lexical association metric for knowledge-free extraction of phrasal terms | |
US20050131896A1 (en) | Learning and using generalized string patterns for information extraction | |
CN113590796A (zh) | 排序模型的训练方法、装置和电子设备 | |
US11650996B1 (en) | Determining query intent and complexity using machine learning | |
WO2022047252A1 (en) | Automatically identifying multi-word expressions | |
US20210350090A1 (en) | Text to visualization | |
CN106030568A (zh) | 自然语言处理系统、自然语言处理方法、以及自然语言处理程序 | |
CN112529743B (zh) | 合同要素抽取方法、装置、电子设备及介质 | |
US11422798B2 (en) | Context-based word embedding for programming artifacts | |
WO2020095655A1 (ja) | 選定装置および選定方法 | |
WO2021084631A1 (ja) | 情報処理装置、抽出方法および抽出プログラム | |
US9275035B2 (en) | Method and system to determine part-of-speech | |
WO2020170804A1 (ja) | 同義語抽出装置、同義語抽出方法、および、同義語抽出プログラム | |
WO2020166397A1 (ja) | 校閲方法、情報処理装置および校閲プログラム | |
CN113391806A (zh) | 一种将颜色代码进行转换的方法、装置、设备和可读介质 | |
US11017172B2 (en) | Proposition identification in natural language and usage thereof for search and retrieval | |
CN113378561A (zh) | 词语预测模板生成方法及装置 | |
JP2017134454A (ja) | 提示装置、提示方法、および提示プログラム | |
JP2020123134A (ja) | 抽出方法,情報処理装置および抽出プログラム | |
US20240303262A1 (en) | Semantic Search Architecture for Information Retrieval with Natural Language Queries | |
KR102668118B1 (ko) | 자연어 기반의 비디오 검색을 위한 학습 장치 및 학습 방법 |
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: 19950792 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: 19950792 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |