JP2019121367A - Data processing system for understanding and processing sentences - Google Patents

Data processing system for understanding and processing sentences Download PDF

Info

Publication number
JP2019121367A
JP2019121367A JP2018218731A JP2018218731A JP2019121367A JP 2019121367 A JP2019121367 A JP 2019121367A JP 2018218731 A JP2018218731 A JP 2018218731A JP 2018218731 A JP2018218731 A JP 2018218731A JP 2019121367 A JP2019121367 A JP 2019121367A
Authority
JP
Japan
Prior art keywords
language
sentences
formal
formal language
natural language
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2018218731A
Other languages
Japanese (ja)
Other versions
JP6678900B2 (en
Inventor
純一 藤井
Junichi Fujii
純一 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2019121367A publication Critical patent/JP2019121367A/en
Application granted granted Critical
Publication of JP6678900B2 publication Critical patent/JP6678900B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To solve the problem in which in a conventional artificial intelligence related technology, intention and meaning of sentences and conversations cannot be fully understood; there are also problems and risks in a method of implementing an artificial intelligence by learning.SOLUTION: A system for understanding and processing sentences defines "semantic language" that describes meaning itself of sentences and conversations, and defines and implements "understanding sentences" as a real procedure. By using the semantic language, specifications of a dictionary and a program necessary for understanding sentences are defined and implemented. By using a series of systems, it is possible to understand sentences and conversations and to interpret meanings of natural languages. Also, this method of implementation can eliminate much of unexpected behaviors and risky determinations of an artificial intelligence. A nucleus technology of the "semantic language" is separated from a natural language or nationality, so that it is possible to implement a stable artificial intelligence that behaves in the same way in any country.SELECTED DRAWING: Figure 1

Description

本発明は、意味を記述する言語とその言語による情報処理によって、人間の使う言語を、解釈、理解するシステムに関するものである。   The present invention relates to a system that interprets and understands a language used by humans by a language that describes meaning and information processing by the language.

人工知能分野で最も難しい課題の一つが、「文章を理解する」ことである。文章や会話を理解することは、AI研究の重大な目標の一つである。AI学習システムを使って、「擬似的に文書を処理」する、「統計的手法で質問の意図を推定し、回答をする」方法は広く使われているが、これはあくまで「人間の知的活動をごく一部、限定的に模倣している」に過ぎない。これら学習的方法は、いまだに「文章を理解」するには至らない。また、現在主流の学習的AIは、2つの重大な欠点を持つ。   One of the most difficult problems in the field of artificial intelligence is to "understand sentences". Understanding sentences and conversations is one of the major goals of AI research. An AI learning system is used to “process the documents in a pseudo manner”, “estimate the intentions of questions with statistical methods, and answer” is widely used. It only imitates a part of the activity in a limited way. These learning methods do not yet lead to "understand the text". Also, the current mainstream of learning AI has two major drawbacks.

一つ目の問題は、知識レベル・知識の質の限定・メンテナンスが極めて難しいという点である。2016年3月23日、マイクロソフトが実施した、インターネット上で大勢とコミュニケーションを図ることで学習する、AIチャットロボット「Tay」は言語知識の学習の難しさを実験的に明らかにした。一部のユーザーから「差別的」知識を与えられ、AIは差別的な知識を学習し、ナチズムなどの思想に染まった。外部からの自然言語によるあいまいな知識は、統制が難しい。最悪の場合、1億のコミュニケーションの中に存在する1つの望ましくないやり取りが、高級ワインに入れられたドブ水になりかねない。その上、望ましくない知識は少ないがゆえに、一般的コミュニケーション(デバッグ)ではなかなか発覚しない。特定の人種に対してのみ不条理な対応をするAIなど、誰も望まないはずである。   The first problem is that it is extremely difficult to limit and maintain the knowledge level and the quality of knowledge. On March 23, 2016, Microsoft's AI chat robot "Tay", which learns by communicating with many people on the Internet, experimentally clarified the difficulty of learning linguistic knowledge. Given 'discriminate' knowledge from some users, AI learned discriminatory knowledge and was dyed into ideas such as Nazism. Ambiguous knowledge from outside natural language is difficult to control. In the worst case, one undesirable communication that exists in 100 million communications can be dove water in a fine wine. Furthermore, because there is little undesirable knowledge, it is not easy to find out in general communication (debug). No one should want it, such as an AI that makes an absurd response only to a specific race.

二つ目の問題は、知識の中に曖昧さが混入しやすく、AIが人間に近づきすぎてしまうという点である。一つ目の問題とも関連するが、現在の人工知能研究は、AIを人間に近づけようとしすぎている。AIの運用を考えれば、過度に人間的、つまり挙動が複雑で予測不可能なAIなど危険すぎて使えない。AIは運用上、ほどほどに柔軟で、常に常識的な、ルールに則った挙動をすべきである。そのためには、AIを構築する基本データは、厳密かつ明瞭に扱われるべきである。   The second problem is that ambiguity is easily incorporated in knowledge and AI gets too close to humans. As related to the first problem, current artificial intelligence research tries to bring AI too close to humans. Considering the operation of AI, it can not be used because it is too humanistic, that is, it is too dangerous, such as an AI with complicated behavior and unpredictable. AI should be reasonably flexible, always common-sense, and rule-based in operation. To that end, the basic data making up the AI should be treated strictly and clearly.

特開2008−225723号公報JP, 2008-225723, A 特開2017−138985号公報Unexamined-Japanese-Patent No. 2017-138985 特開2002−123512号公報Japanese Patent Laid-Open No. 2002-123512

以上に述べたAI、情報技術では、ある程度意味のある文章を生み出したり処理することはできるが、文章を厳密に理解することはできず、文章評価や翻訳技術に十分に寄与するとはいえない。また、処理に使う知識の質を保証することが難しく、またメンテナンスも難しい。かかる課題は、AI技術に限らず、自然言語を扱う技術に共通する問題であった。また、以上の技術は、特定の自然言語に関わる処理が多く、自然言語ごとに開発するコストが大きいものであった。かかる課題も、AI技術に限らず、自然言語を扱う技術に共通する問題であった。   The above-described AI and information technology can generate and process sentences having some meaning, but can not strictly understand the sentences, and can not sufficiently contribute to the sentence evaluation and the translation technology. In addition, it is difficult to guarantee the quality of knowledge used for processing, and maintenance is also difficult. Such a problem is not limited to the AI technology, but is common to technologies that handle natural language. Further, the above-described techniques involve a large amount of processing related to a specific natural language, and the cost of developing each natural language is large. Such a problem is not limited to the AI technology, but is a common problem in technologies that handle natural language.

本発明は上記問題を解決するため、文章や知識の処理に使用する形式言語として、より好適と思われる「意味言語」を新たに定義した。ここでいう文章には、もちろん会話などの人間が使用する一般的な言語表現を含む。以下の実施形態は、形式言語として意味言語を使用することが好適と考える。   In order to solve the above problems, the present invention newly defines a "semantic language" which seems to be more suitable as a formal language used for processing sentences and knowledge. The sentences referred to here naturally include general linguistic expressions used by humans, such as conversations. The following embodiments consider that it is preferable to use a semantic language as a formal language.

(1)請求項1に記載の発明は、コンピュータに入力された形式言語の文章を解析して理解し、その結果を出力させる。データ入力部に入力された形式言語の文章と形式言語で表現された知識辞書の内容を比較しデータ入力部に入力された形式言語の文章を理解する形式言語理解手段と、データ入力部に入力された形式言語の文章を理解できたか結果を通知する手段として機能させることを特徴とする、形式言語理解処理プログラムである。   (1) The invention according to claim 1 analyzes and understands the sentences of the formal language input to the computer, and outputs the result. A formal language understanding means for comparing the sentences of the formal language inputted in the data input unit with the contents of the knowledge dictionary expressed in the formal language and understanding the sentences of the formal language inputted in the data input unit, and inputting in the data input unit It is a formal language understanding processing program characterized in that it functions as a means for notifying the result of whether the sentences of the formal language have been understood.

(2)請求項2に記載の発明は、形式言語理解手段が、形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段として機能させることを特徴とする、請求項1に記載の形式言語理解処理プログラムである。   (2) The invention according to claim 2 is characterized in that the formal language understanding means normalizes the formal language sentence and the formal language sentence of the knowledge dictionary, the formal language normalization means, and the formal language sentence and knowledge dictionary. A formal language understanding processing program according to claim 1, characterized in that it functions as a formal language processing means for processing sentences of a formal language using contents of a knowledge dictionary.

(3)請求項3に記載の発明は、コンピュータに入力された自然言語の文章を解析して形式言語の文章に変換する。データ入力部に入力された自然言語の文章を自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、前記形式言語に変換された文章を処理結果として通知する手段として機能させることを特徴とする、自然言語変換処理プログラムである。   (3) In the invention described in claim 3, sentences of the natural language input to the computer are analyzed and converted into sentences of the formal language. Means for converting to a formal language the means for converting natural language sentences input to the data input unit into sentences of a formal language using a natural language ID dictionary, and means for notifying the sentences converted to the formal language as processing results Is a natural language conversion processing program characterized by functioning as

(4)請求項4に記載の発明は、形式言語への変換手段が、変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解手段と、形式言語理解手段が、該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段として機能させることを特徴とする、請求項3に記載の自然言語変換処理プログラムである。   (4) In the invention according to claim 4, the means for converting to a formal language understands the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary expressed in the formal language. Means for understanding the formal language, formal language understanding means normalizes the sentences of the formal language of the sentences of the formal language and the knowledge dictionary, the sentences of the formal language and the sentences of the formal language of the knowledge dictionary 4. A natural language conversion processing program according to claim 3, characterized in that it functions as a formal language processing means for processing using the contents of a knowledge dictionary.

(5)請求項5に記載の発明は、形式言語への変換手段が、自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段として機能させることを特徴とする、請求項3または4に記載の自然言語変換処理プログラムである。   (5) In the invention according to claim 5, the means for converting into a formal language is a formal language deficiency word complementing means for estimating and complementing an element omitted in a sentence of natural language, and interpretation in a sentence of natural language A natural language conversion processing program according to claim 3 or 4, characterized in that it is made to function as a formal language polygraph meaning estimation means for estimating the meaning of a polygraph having a plurality of words.

(6)請求項6に記載の発明は、コンピュータに入力された自然言語の文章を解析して理解し、その結果を出力する。データ入力部に入力された自然言語の文章を自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、前記形式言語に変換された文章を理解する形式言語理解手段と、データ入力部に入力された自然言語の文章を理解できたか結果を通知する手段として機能させることを特徴とする、自然言語理解処理プログラムである。   (6) The invention according to claim 6 analyzes and understands sentences of a natural language input to a computer, and outputs the result. Means for converting to a formal language the means for converting sentences of a natural language input to the data input unit into sentences for a formal language using a natural language ID dictionary, and means for understanding a formal language to understand sentences converted to the formal language And a natural language understanding processing program characterized in that it functions as a means for notifying whether the natural language sentence inputted in the data input unit has been understood or not.

(7)請求項7に記載の発明は、前記形式言語理解手段が、形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、該形式言語の文章と知識辞書の形式言語の文章を、知識辞書の内容を利用して加工する形式言語加工手段として機能させることを特徴とする、請求項6に記載の自然言語理解処理プログラムである。   (7) The invention according to claim 7 is characterized in that the formal language understanding means normalizes the formal language sentence and the formal language sentence of the knowledge dictionary, the formal language normalization means, the sentence of the formal language and the knowledge dictionary The natural language understanding processing program according to claim 6, characterized in that it causes the sentences of the formal language to function as formal language processing means for processing the contents of the knowledge dictionary.

(8)請求項8に記載の発明は、前記形式言語への変換手段が、自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段として機能させることを特徴とする、請求項6または7に記載の自然言語理解処理プログラムである。   (8) The invention according to claim 8 is characterized in that the formal language deficient word complementing means in which the conversion means to the formal language estimates and complements the elements omitted in the sentences of the natural language, and the natural language sentences The natural language understanding processing program according to claim 6 or 7, characterized in that it is made to function as a formal language polygraph estimating means for estimating the meaning of a polygraph having a plurality of interpretations.

(9)請求項9に記載の発明は、コンピュータに入力された自然言語の文章を解析して翻訳する。データ入力部に入力された翻訳元の自然言語の文章を翻訳元の自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、前記形式言語に変換された文章を翻訳先の自然言語ID辞書を使用して翻訳先の自然言語の文章へ変換する自然言語変換手段と、前記翻訳先の自然言語に変換された文章を処理結果として通知する手段として機能させることを特徴とする、自然言語翻訳処理プログラムである。   (9) The invention according to claim 9 analyzes and translates sentences of a natural language input to a computer. Means for converting into a formal language the means for converting the sentences of the natural language of the translation source inputted into the data input unit into the sentences of the formal language using the natural language ID dictionary of the translator, the sentence converted into the formal language Functioning as a natural language conversion means for converting into a sentence of a natural language of a conversion destination using a natural language ID dictionary of a conversion destination and a means for notifying a sentence converted into the natural language of the conversion destination as a processing result It is a natural language translation processing program that is characterized.

(10)請求項10に記載の発明は、前記形式言語への変換手段が、変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解手段と、前記形式言語理解手段が、該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段として機能させることを特徴とする、請求項9記載の自然言語翻訳処理プログラムである。   (10) In the invention according to claim 10, the means for converting to the formal language compares the sentences of the formal language converted by converting the sentences of the formal language with the contents of the knowledge dictionary represented in the formal language. Formal language understanding means to understand, formal language normalizing means for normalizing sentences of the formal language of the formal language, and the formal language understanding means of the formal language, formal language of the formal language of sentences and knowledge dictionary The natural language translation processing program according to claim 9, characterized in that it functions as a formal language processing means for processing the sentences of the above using the contents of a knowledge dictionary.

(11)請求項11に記載の発明は、前記形式言語への変換手段が、自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段として機能させることを特徴とする請求項9または10に記載の自然言語翻訳処理プログラムである。   (11) The invention according to claim 11 is characterized in that the formal language deficient word complementing means in which the conversion means to the formal language estimates and complements the elements omitted in the sentences of the natural language; The natural language translation processing program according to claim 9 or 10, characterized in that it is made to function as a formal language polygraph estimating means for estimating the meaning of a polygraph having a plurality of interpretations.

(12)請求項12に記載の発明は、請求項1〜11に記載されたプログラムに使用される形式言語として、特に意味言語を使用するプログラムである。前記データ入力部に入力される、または処理の過程で変換される、または知識辞書の文章に用いられる形式言語が、概念識別子と関係属性記述子という要素を備え、概念識別子は記述対象を抽象化した概念と一意に対応し、関係属性記述子は概念識別子や関係属性記述子の関係または属性を記述し、概念と概念の関係や概念の属性を記述する能力を持つ形式言語である意味言語を使用することを特徴とする請求項1〜11のいずれか一項に記載の言語処理プログラムである。   (12) The invention according to claim 12 is a program which uses, in particular, a semantic language as a formal language used for the program according to claims 1-11. A formal language to be input to the data input unit, or converted in the process, or used for a sentence of a knowledge dictionary includes elements of a concept identifier and a relation attribute descriptor, and the concept identifier abstracts the description object The attribute language descriptor is a formal language that has the ability to describe the relationship or attribute of a concept / concept and the attribute of a concept, describing the relationship or attribute of a concept identifier or relation attribute descriptor, uniquely corresponding to the The language processing program according to any one of claims 1 to 11, which is used.

(13)請求項13に記載の発明は、コンピュータに入力された形式言語の文章を解析して理解し、その結果を出力する。形式言語の文章データを入力するデータ入力部と、文章を理解するために必要な知識を格納した知識辞書と、形式言語の文章や途中処理内容などをを保持する記憶部と、入力された形式言語の文章と知識辞書の内容を比較することで入力された形式言語の文章を理解する形式言語理解処理部と、入力された形式言語の文章を理解できたかどうかの結果を出力する通知部を備え、データ入力部に入力された形式言語の文章を理解できたか結果を出力することを特徴とする形式言語理解処理装置である。   (13) The invention according to claim 13 analyzes and understands a sentence of a formal language input to a computer, and outputs the result. A data input unit for inputting sentence data of a formal language, a knowledge dictionary storing knowledge necessary for understanding the sentences, a storage unit for holding sentences of the formal language and intermediate processing contents, and the like A formal language comprehension processing unit that understands the sentences of the formal language input by comparing the sentences of the language and the contents of the knowledge dictionary, and a notification unit that outputs the result of whether the sentences of the input formal language can be understood It is a formal language understanding processing device characterized in that it comprises: a sentence of a formal language input to the data input unit and understood whether the sentence has been understood.

(14)請求項14に記載の発明は、前記形式言語理解処理部が、さらに該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部とを備える、請求項13に記載の形式言語理解処理装置である。   (14) The invention according to claim 14 is characterized in that the formal language understanding processing unit further comprises: a formal language normalization processing unit for normalizing sentences of the formal language and a formal language sentence of the knowledge dictionary; 14. A formal language understanding processing device according to claim 13, further comprising: a formal language processing unit that processes the contents of the sentences of the formal language of the sentence and the knowledge dictionary using the contents of the knowledge dictionary.

(15)請求項15に記載の発明は、コンピュータに入力された自然言語の文章を解析して形式言語の文章に変換する自然言語変換処理装置である。自然言語の文章データを入力するデータ入力部と、形式言語の要素と自然言語の表記を紐付けする単語IDを記録した自然言語ID辞書と、形式言語の文章や途中処理内容などを保持する記憶部と、入力された自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、変換された形式言語の文章を出力する通知部とを備え、前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書のIDに変換し形式言語の文法構造へ変換することを特徴とする自然言語変換処理装置である。   (15) The invention according to claim 15 is a natural language conversion processing device which analyzes a sentence of a natural language inputted to a computer and converts it into a sentence of a formal language. A data input unit for inputting text data of a natural language, a natural language ID dictionary recording word IDs for linking elements of the formal language and the natural language notation, and a memory for holding sentences of the formal language and intermediate processing contents A conversion unit for converting a sentence of a natural language into a sentence of a formal language, and a notification unit for outputting a sentence of the converted formal language; The part is a natural language conversion processing apparatus characterized by analyzing a sentence of a natural language, converting a component of the natural language into an ID of a natural language ID dictionary and converting it into a grammatical structure of a formal language.

(16)請求項16に記載の発明は、前記形式言語への変換処理部が、さらに文章を理解するために必要な知識を格納した知識辞書と、変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部とを備え、前記形式言語の理解処理部が、さらに該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部とを備えることを特徴とする、請求項15に記載の自然言語変換処理装置である。   (16) The invention according to claim 16 is characterized in that the conversion processing unit to a formal language further includes a knowledge dictionary storing knowledge necessary for understanding a sentence, and a sentence and formal language of a converted formal language. And a formal language understanding processing unit that understands the sentences of the formal language by comparing the contents of the expressed knowledge dictionary, the comprehension processing unit of the formal language further including the formal language sentence and the formal dictionary of the knowledge dictionary Providing a formal language normalization processing unit for normalizing the sentences of the document and a formal language processing unit for processing the sentences of the formal language and the contents of the sentences of the formal language of the knowledge dictionary using the contents of the knowledge dictionary It is a natural language conversion processing device according to claim 15, characterized by the above.

(17)請求項17に記載の発明は、前記形式言語への変換処理部が、さらに自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部とを備えることを特徴とする、請求項15または16に記載の自然言語変換処理装置である。   (17) The invention according to claim 17 is characterized in that: the formal language deficient word complementing processing unit, wherein the conversion processing unit to the formal language further infers and complements an element omitted in the sentence of the natural language; The natural language conversion processing device according to claim 15 or 16, further comprising: a formal language polygraph estimation processor for estimating the meaning of a polygraph in which a plurality of interpretations exist in the sentence.

(18)請求項18に記載の発明は、コンピュータに入力された自然言語の文章を解析して理解する自然言語理解処理装置である。自然言語の文章データを入力するデータ入力部と、形式言語の要素と自然言語の表記を紐付けする単語IDを記録した自然言語ID辞書と、文章を理解するために必要な知識を格納した知識辞書と、変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部と、入力された自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、形式言語の文章や途中処理内容などを保持する記憶部と、入力された自然言語の文章を理解できたか結果を出力する通知部とを備え、前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書のIDに変換し形式言語の文法構造へ変換することを特徴とする自然言語理解処理装置である。   (18) The invention according to claim 18 is a natural language understanding processing apparatus which analyzes and understands sentences of natural language input to a computer. Data input unit for inputting text data of natural language, Natural language ID dictionary recording word ID for linking elements of formal language and natural language notation, and knowledge for storing knowledge necessary for understanding sentences A formal language comprehension processing unit that understands the sentences of the formal language by comparing the dictionary, the sentences of the converted formal language, and the contents of the knowledge dictionary expressed in the formal language, and the sentences of the input natural language A conversion processing unit for converting a language into a formal language, a storage unit for storing the formal language sentence and intermediate processing contents, and a notification unit for outputting the result as to whether the input natural language sentence has been understood The natural language comprehension processing characterized in that the conversion processing unit to the formal language analyzes a sentence of the natural language, converts a component of the natural language into an ID of a natural language ID dictionary, and converts it to a grammar structure of the formal language It is a device .

(19)請求項19に記載の発明は、前記形式言語理解処理部が、さらに該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部とを備えることを特徴とする、請求項18に記載の自然言語理解処理装置である。   (19) The invention according to claim 19 is characterized in that the formal language understanding processing unit further comprises: a formal language normalization processing unit for normalizing sentences of the formal language and a formal language sentence of the knowledge dictionary; 19. The natural language understanding processing apparatus according to claim 18, further comprising: a formal language processing unit that processes the content of the sentences of the formal language of the sentence and the knowledge dictionary using the contents of the knowledge dictionary.

(20)請求項20に記載の発明は、前記形式言語への変換処理部が、さらに自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部とを備えることを特徴とする、請求項18または19に記載の自然言語理解処理装置である。   (20) The invention as set forth in claim 20 is the formal language deficiency word complementing processing unit, wherein the conversion processing unit to the formal language further infers and complements an element omitted in the sentence of the natural language, and a natural language 20. The natural language understanding processing apparatus according to claim 18, further comprising: a formal language polygraph estimation processor configured to estimate the meaning of a polygraph having a plurality of interpretations in the sentence.

(21)請求項21に記載の発明は、コンピュータに入力された自然言語の文章を解析して翻訳する自然言語翻訳処理装置である。自然言語の文章データを入力するデータ入力部と、形式言語の要素と翻訳元の自然言語の表記を紐付けする単語IDを記録した翻訳元言語用の自然言語ID辞書と、形式言語の要素と翻訳先の自然言語の表記を紐付けする単語IDを記録した翻訳先言語用の自然言語ID辞書と、入力された翻訳元の自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、変換された形式言語の文章を翻訳先の自然言語の文章へ変換する自然言語への変換処理部と、形式言語の文章や途中処理内容などを保持する記憶部と、変換された自然言語の文章を出力する通知部とを備え、前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書の単語IDに変換し形式言語の文法構造へ変換する、前記自然言語への変換処理部は自然言語ID辞書から自然言語の表記を得て形式言語から翻訳先の文法構造へ変換することを特徴とする、自然言語翻訳処理装置である。   (21) The invention according to claim 21 is a natural language translation processing apparatus which analyzes and translates sentences of a natural language input to a computer. A data input unit for inputting text data of a natural language, a natural language ID dictionary for a translation source language storing a word ID for linking elements of the formal language and the natural language notation of the translation source, elements of the formal language A natural language ID dictionary for the target language that records the word ID that links the natural language notation of the target language to the translation language, and conversion to a formal language that converts the input source natural language sentences into formal language sentences A processing unit, a conversion processing unit for converting a sentence of a converted formal language into a natural language sentence to be translated into a natural language, a storage unit for holding a sentence of a formal language and intermediate processing contents, and the like And a notification unit for outputting a sentence of a natural language, the conversion processing unit to the formal language analyzes the sentence of the natural language, converts a component of the natural language into a word ID of a natural language ID dictionary, and generates a grammar structure of the formal language Convert to natural language The conversion processing unit and converting into grammatical structure of the translation target from the formal language to obtain a representation of the natural language from the natural language ID dictionary, a natural language translation apparatus.

(22)請求項22に記載の発明は、前記形式言語への変換処理部が、さらに文章を理解するために必要な知識を格納した知識辞書と、変換された形式言語の文章と知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部とを備え、前記形式言語理解処理部が、さらに該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部とを備えることを特徴とする、請求項21に記載の自然言語翻訳処理装置である。   (22) The invention according to claim 22 is characterized in that: the conversion processing unit to a formal language further comprises: a knowledge dictionary storing knowledge necessary for understanding a sentence; a sentence of the formal language converted and the knowledge dictionary And a formal language understanding processing unit that understands the sentences of the formal language by comparing the contents, the formal language understanding processing unit further normalizing the sentences of the formal language and the sentences of the formal language of the knowledge dictionary A language normalization processing unit and a formal language processing unit for processing the content of the sentences of the formal language and the sentences of the formal language of the knowledge dictionary using the contents of the knowledge dictionary are provided. It is a natural language translation processing apparatus of a statement.

(23)請求項23に記載の発明は、前記形式言語への変換処理部が、さらに自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部とを備えることを特徴とする、請求項21または22に記載の自然言語翻訳処理装置である。   (23) In the invention according to claim 23, the formal language deficiency word complementing processing unit, wherein the conversion processing unit to the formal language further infers and complements an element omitted in the sentence of the natural language, and a natural language 23. The natural language translation processing device according to claim 21, further comprising: a formal language polygraph estimation processor configured to estimate the meaning of a polygraph having a plurality of interpretations in the sentence.

(24)請求項24に記載の発明は、請求項13〜23に記載された装置内で処理に使用される形式言語として、特に意味言語を使用する言語処理装置である。前記データ入力部に入力される、または処理の過程で変換される、または知識辞書の文章に用いられる形式言語が、概念識別子と関係属性記述子という要素を備え、概念識別子は記述対象を抽象化した概念と一意に対応し、関係属性記述子は概念識別子や関係属性記述子の関係または属性を記述し、概念と概念の関係や概念の属性を記述する能力を持つ形式言語である意味言語を使用することを特徴とする請求項13〜23のいずれか一項に記載の言語処理装置である。   (24) The invention according to claim 24 is a language processing apparatus which uses a semantic language, in particular, as a formal language used for processing in the apparatus according to claims 13-23. A formal language to be input to the data input unit, or converted in the process, or used for a sentence of a knowledge dictionary includes elements of a concept identifier and a relation attribute descriptor, and the concept identifier abstracts the description object The attribute language descriptor is a formal language that has the ability to describe the relationship or attribute of a concept / concept and the attribute of a concept, describing the relationship or attribute of a concept identifier or relation attribute descriptor, uniquely corresponding to the 24. A language processing apparatus according to any one of claims 13 to 23, characterized in that it is used.

本発明では、文章と知識の比較と文章と知識の加工に焦点をおき、文章を理解するために必要な手続きを定義した。これらの処理は人工知能分野で研究されてきた「形式言語」を用いることで可能となるが、本発明で定義した形式言語の一種「意味言語」を用いれば、開発・実装が容易となると考えられる。意味言語を用いて「人間の頭の中の知識」と「自然言語の会話や文章」を全く同じ形式(意味言語)で表現し、「会話や文章の比較・理解」をコンピュータプログラムの手続きとし実行できる。形式言語はもともと知識の記述や意味の記述を一つの目的として発明されているが、意味言語は形式言語として特に徹底した「概念の抽象化」を行い、品詞の差異を概念と分離し、必要な概念を新たに定義した。実質的に、意味言語が必要とする品詞は「概念識別子」と「関係属性記述子」の2種類である。意味言語をこのように定義することで、意味言語は自然言語ごとの違い(特に言語ごとの品詞体系や活用の差異)を吸収できる。自然言語における品詞の種類と扱いは異なり、異なる自然言語同士の相互変換は難しいが、品詞の種類や文法規則を最小限に抑えた言語を仲介すれば、自然言語の複雑さに対応するコストを抑えられる。そして、日本語や英語、古代エジプト語などの自然言語に依存する処理を最小限に抑え、システムの大部分を共有できる。翻訳等の言語処理において、最も開発コストが大きい「特定の語の意味を扱う処理」や、「意味を理解する処理」や「知識を使う処理」は、明確に定義され、かつ意味言語を内部形式として使うことで特定の自然言語に依存する部分を最小限にとどめ、大部分を共通化することができる。これにより、開発コストを小さくできる。   In the present invention, focusing on text-to-knowledge comparison and text-to-knowledge processing, we defined the procedures necessary to understand text. These processes can be realized by using the "formal language" which has been studied in the artificial intelligence field, but it is considered that development and implementation can be facilitated by using the "semantic language", a kind of formal language defined in the present invention. Be Expressing “knowledge in human head” and “speech and sentences in natural language” in the same form (semantic language) using semantic language, “comparison and understanding of speech and sentences” as the procedure of computer program It can be done. Formal languages were originally invented for the purpose of description of knowledge and description of meaning, but semantic languages perform "abstraction of concepts" especially as formal languages, and they need to separate parts of speech from concepts New concepts. Essentially, the parts of speech required by the semantic language are of two types, "concept identifier" and "relation attribute descriptor". By defining the semantic language in this way, the semantic language can absorb differences among natural languages (especially differences in part-of-speech system and usage among languages). Although the types and handling of parts of speech in natural languages are different, it is difficult to mutually convert different natural languages, but if you mediate a language that minimizes the types of parts of speech and grammatical rules, the cost corresponding to the complexity of natural languages It is suppressed. And you can share most of the system with minimal processing dependent on natural language such as Japanese, English, Ancient Egyptian and so on. In language processing such as translation, “processing that handles the meaning of a specific word”, “processing that understands the meaning”, and “processing that uses knowledge”, which have the highest development costs, are clearly defined and the semantic language is internal By using it as a form, it is possible to minimize the part depending on a specific natural language and to make most common. This reduces the development cost.

また、本発明の手法で知識を記述、処理系を開発していく利点はもうひとつある。それは、文章を理解する処理ができなかった場合の原因の特定がしやすいという点である。実際の開発手法として一例を挙げれば、まず正しいと考えられる事実のみを記述した書籍等のサンプルデータを読み込ませ、理解できた文章と理解できなかった文章を得る。理解できた文章のうち、新しい知識はチェックの後、知識辞書に取り込むことができる。理解できなかった文章については、具体的にどの語についての知識不足が原因かを調べ、関連する知識を知識辞書に追加する作業を、理解できるまで続ける。この作業は、最初は大変であるが、知識を蓄えるに従って作業量は知識量に反比例して減っていく。このように、明らかに有限かつ作業可能で先行きの見通しが立つ程度のステップでもって、知識辞書と処理系を構築していくことができるのも利点である。   In addition, there is another advantage of describing knowledge and developing a processing system by the method of the present invention. The point is that it is easy to identify the cause when the process of understanding a sentence can not be performed. As an example of an actual development method, first, sample data such as books describing only facts that are considered to be correct are read, and sentences that can not be understood as sentences that can be understood are obtained. Of the sentences that can be understood, new knowledge can be incorporated into the knowledge dictionary after checking. With regard to sentences that could not be understood, it is necessary to find out specifically which words cause the lack of knowledge and continue the work of adding relevant knowledge to the knowledge dictionary until it is understood. This work is difficult at first, but the amount of work decreases in inverse proportion to the amount of knowledge as knowledge is stored. In this way, it is also an advantage that the knowledge dictionary and processing system can be constructed in steps that are clearly limited, workable, and have prospects for the future.

上述した本発明によれば、以下に述べるような効果を得ることができる。
(1)請求項1記載の発明によれば、形式言語で表現された文章を受け取り、知識辞書の内容と比較することで理解できるかどうかを判定し、その結果を出力できる。文章を理解するということを、既にある知識との無矛盾の確認という形で実現する。理解する処理の最も基本的なアルゴリズムであり、入力される形式言語の文章が極めて単純で、知識辞書の内容が十分に網羅的であれば文章を理解できる可能性が高い。一方で、この構成だけでは、知識辞書の内容が入力された文章と語順まできっちりと同じでないと判定できず、また派生的な処理(人工知能分野でいうところの推論)はできない。
According to the present invention described above, the following effects can be obtained.
(1) According to the invention described in claim 1, it is possible to receive a sentence expressed in a formal language, determine whether it can be understood by comparing it with the contents of a knowledge dictionary, and output the result. Understanding sentences is realized in the form of confirmation of no contradiction with existing knowledge. It is the most basic algorithm of the process to be understood, the sentences of the formal language to be input are extremely simple, and if the content of the knowledge dictionary is sufficiently exhaustive, the sentences are likely to be understood. On the other hand, with this configuration alone, it can not be determined that the content of the knowledge dictionary is not exactly the same as the input sentence and word order, and derivative processing (inference in the artificial intelligence field) can not be performed.

(2)請求項2記載の発明によれば、請求項1の動作に2つの処理が追加されて文章理解の精度が高まる。1つ目の処理は正規化処理である。文章を正規化して意味を損なわないよう語順を整える(木構造であれば枝を入れかえ、組み替える)処理を行うことで、語順による文章の表記ゆれを解消する。2つめの処理は知識辞書の内容を使って新たな知識を生み出す(人工知能分野でいうところの推論)処理である。この処理により、全ての事例について知らなくても、推論により知識を生み出し、理解に役立てることができる。形式言語理解プログラムを請求項1、2の機能を全て備えて実装することで、以下の応用も可能である。第一に、AIに最低限のルール、例えば「ロボット憲法」のようなものを与え、知識辞書から推論することでAIに判断させる処理が行える。従来のビッグデータを用いた学習型のアルゴリズムでは、判断の根拠を得ることが難しく、メンテナンスも難しかった。また、差別的であったり不適切な知識を入力された場合に対する対処も難しかった。本発明では、判断の根拠は全て知識辞書に依存させるよう設計でき、従来技術よりはメンテナンスしやすい。また、自然言語に依存しない部分だけでAIの人格に当たるものを構築でき、必要なら追加の知識辞書を国や文化に応じて導入しても良い。そして、学習型アルゴリズムよりも決定的な型にはまった判断ができる。AIを過度に人間的に柔軟に構築する事にあまりメリットはなく、暴走の懸念が大きい。本発明でももちろん実装が悪ければ暴走するが、少なくとも学習型アルゴリズムよりは安全に設計できる。   (2) According to the second aspect of the invention, two processes are added to the operation of the first aspect to increase the accuracy of the sentence understanding. The first process is a normalization process. By performing processing of normalizing sentences and arranging word order so as not to lose meaning (in the case of a tree structure, changing branches and rearranging), it is possible to eliminate the deviation of the sentence in the word order. The second process is the process of generating new knowledge using the contents of the knowledge dictionary (inference in the artificial intelligence field). By this processing, knowledge can be generated by inference and understood for understanding without knowing all the cases. The following applications are also possible by implementing the formal language understanding program with all the functions of claims 1 and 2. First, the AI can be made to make a decision by giving the AI a minimum rule, such as "robot constitution", and inferring from the knowledge dictionary. With conventional big data learning type algorithms, it is difficult to obtain a basis for judgment and maintenance is also difficult. In addition, it was difficult to cope with cases where discriminatory or inappropriate knowledge was input. In the present invention, all of the grounds of judgment can be designed to be dependent on the knowledge dictionary, which is easier to maintain than the prior art. In addition, it is possible to construct the AI personality with only the part not dependent on natural language, and if necessary, an additional knowledge dictionary may be introduced depending on the country or culture. And, it is possible to make judgments that are more definitive than learning-type algorithms. There is not much benefit to building AI excessively and humanly flexibly, and there is a large concern of runaway. In the present invention, of course, if the implementation is poor, it will run away, but at least it can be designed more safely than a learning algorithm.

(3)請求項3記載の発明によれば、自然言語で表現された文章を受け取り、解析して形式言語の文章に変換し、その結果を出力できる。このプログラムは、形式言語の知識辞書を作成したり自然言語の文章を評価するために使うことができる。より重要なのは出力した形式言語の文章を他の発明の入力とすることで自然言語理解や翻訳に転用できる点であり、これらの処理の前処理システムとして使用できる。   (3) According to the third aspect of the present invention, a sentence expressed in a natural language can be received, analyzed, converted into a sentence in a formal language, and the result can be output. This program can be used to create a formal language knowledge dictionary and to evaluate natural language sentences. What is more important is that it can be diverted to natural language understanding and translation by using the sentences of the output formal language as input of other inventions, and it can be used as a pre-processing system for these processes.

(4)請求項4記載の発明によれば、請求項3の動作に3つの処理が追加されて形式言語への変換精度が高まる。1つ目の処理は、変換された形式言語を理解する処理である。2つ目の処理は、変換された形式言語の文章と知識辞書の形式言語の内容である形式言語の文章を正規化する処理である。3つ目の処理は、変換された形式言語の文章と知識辞書の内容である形式言語の文章を、知識辞書の知識を使って加工する処理である。これらの処理を加えることで、自然言語側に曖昧な部分があって正確な変換ができていない疑いがある場合をチェックでき、正確な変換の助けとなる。   (4) According to the fourth aspect of the invention, three operations are added to the operation of the third aspect, and the conversion accuracy to a formal language is enhanced. The first process is a process of understanding the converted formal language. The second process is a process of normalizing the sentence of the formal language which is the converted formal language sentence and the content of the formal language of the knowledge dictionary. The third process is a process of processing the sentences of the converted formal language and the sentences of the formal language which is the contents of the knowledge dictionary using the knowledge of the knowledge dictionary. By adding these processing, it is possible to check the case where there is an ambiguous part on the natural language side and there is a suspicion that the correct conversion can not be made, which helps the correct conversion.

(5)請求項5記載の発明によれば、請求項3または4の動作にさらに2つの処理が追加されて形式言語への変換精度が高まる。1つ目の処理は、形式言語への変換の際に自然言語において省略されていると考えられる要素を推測して補完する処理である。これは人工知能分野では省略補完などと呼ばれる処理に類する処理である。また、2つ目の処理は、形式言語への変換の際に自然言語において複数の意味がある同音異義語や多義語を推定する処理である。この2つを組み合わせることで、自然言語表現における照応も推測できる。   (5) According to the fifth aspect of the invention, two operations are further added to the operation of the third or fourth aspect to increase the conversion accuracy into the formal language. The first process is a process of estimating and complementing an element that is considered to be omitted in a natural language when converting to a formal language. This is a process similar to the process called omission complementation in the artificial intelligence field. The second process is a process of estimating homonyms and polynyms having multiple meanings in natural language at the time of conversion to a formal language. By combining the two, it is also possible to guess correspondence in natural language expression.

(6)請求項6記載の発明によれば、自然言語で表現された文章を受け取り、知識辞書の内容と比較することで理解できるかどうかを判定し、その結果を出力できる。この処理は、本質的には請求項3の形式言語の文章の出力を、請求項1の形式言語の文章の入力とする形で実現している。いったん理解できると判定された形式言語の文章は記憶され必要であればさらに処理を待つことができる。例えば、平叙文であればその内容、疑問文であれば問いの内容、命令(希望)文であれば要請の内容、といった必要な部分を得ることができる。   (6) According to the invention described in claim 6, it is possible to receive a sentence expressed in natural language, compare it with the contents of the knowledge dictionary, determine whether it can be understood, and output the result. This process is realized essentially by outputting the sentences of the formal language of claim 3 as the input of sentences of the formal language of claim 1. The sentences of the formal language which are determined to be understood once can be stored and can be further processed if necessary. For example, it is possible to obtain necessary parts such as the contents in the case of plain text, the contents of questions in the case of question texts, and the contents of requests in the case of command (desired) sentences.

(7)請求項7記載の発明によれば、請求項6の動作に2つの処理を追加されて、理解する処理の精度が高まる。その効果は請求項4と同じである(請求項6は基本構成に理解する処理を含むため、請求項7は請求項4と異なり形式言語理解手段は記載していない)。   (7) According to the seventh aspect of the invention, two processes are added to the operation of the sixth aspect to increase the accuracy of the process to be understood. The effect is the same as in claim 4 (because claim 6 includes the process to be understood in the basic configuration, claim 7 differs from claim 4 and does not describe formal language understanding means).

(8)請求項8記載の発明によれば、請求項6または7の動作に2つの処理を追加されて、形式言語への変換精度が高まる。その効果は請求項5と同じである。   (8) According to the invention of claim 8, by adding two processes to the operation of claim 6 or 7, the conversion accuracy to a formal language is enhanced. The effect is the same as in claim 5.

(9)請求項9記載の発明によれば、自然言語で表現された文章を受け取り、別の種類の自然言語の文章へと翻訳し、その結果を出力できる。   (9) According to the invention of claim 9, a sentence expressed in a natural language can be received, translated into a sentence of another type of natural language, and the result can be output.

(10)請求項10記載の発明によれば、請求項9の動作に3つの処理が追加されて、翻訳精度が高まる。その効果は請求項4と同じである。   (10) According to the invention of claim 10, three processes are added to the operation of claim 9 to improve translation accuracy. The effect is the same as in claim 4.

(11)請求項11記載の発明によれば、請求項9または10の動作に2つの処理が追加されて(形式言語への変換精度が高まることで)翻訳精度が高まる。その効果は請求項5と同じである。自然言語翻訳プログラムを請求項9、10、11の機能を全て備えて実装すれば、従来の翻訳システムと比較して以下の点で優れる。第一に、統計的な翻訳アルゴリズムに比較して翻訳の根拠が得やすく、誤訳の原因を特定しやすいためメンテナンスが容易である。第二に、翻訳品質は変換処理と知識処理と知識辞書の品質にのみ依存し、それぞれの機能と構造の独立性が高いため、メンテナンスしやすく開発も並行して行える。第三に、自然言語への対応は完全に言語ごとに独立しているため、例えば日本語担当者は日本語と形式言語(意味言語)だけ扱っていれば良く、開発やメンテナンスもそれぞれの自然言語ごとに独立して実行できる。つまり、100個の自然言語を相互翻訳するためには、200個のプログラムで事足りる。もしも形式言語を介さないなら、100×99の9900個のプログラムを、それぞれ2種類の言語に精通したプログラマが開発する必要がある。第四に、知識処理や知識辞書は自然言語に非依存に構築でき、全ての言語で共有できるためメンテナンスしやすく、省コストでアップデートでき、かつアップデートすれば全ての言語ですぐに恩恵を受けられる。第五に、理解する処理を使うことで、より人間の考えや意図に即した翻訳を行える。   (11) According to the invention of claim 11, two processes are added to the operation of claim 9 or 10 (by increasing the conversion accuracy to the formal language), the translation accuracy is enhanced. The effect is the same as in claim 5. If the natural language translation program is implemented with all the functions of claims 9, 10, and 11 implemented, it is superior to the conventional translation system in the following points. First, compared to statistical translation algorithms, it is easier to obtain a basis for translation and to easily identify the cause of mistranslations, which makes maintenance easier. Second, translation quality depends only on the quality of conversion processing, knowledge processing, and knowledge dictionary, and the high independence of each function and structure makes maintenance easy and parallel development. Third, since the correspondence to natural language is completely independent for each language, for example, the Japanese person in charge only needs to handle Japanese language and formal language (semantic language), and the development and maintenance of each natural language It can be run independently for each language. In other words, 200 programs are enough to mutually translate 100 natural languages. If you do not use formal language, programmers who are familiar with two languages must develop 100x99 9900 programs. Fourth, knowledge processing and knowledge dictionary can be built independently of natural language, can be shared in all languages, easy to maintain, can be updated at low cost, and if it is updated, it can be immediately benefited in all languages . Fifth, by using the process to understand, you can translate more human ideas and intentions.

(12)請求項12記載の発明によれば、請求項1〜11までの処理に使用する形式言語のすべてまたは一部を本発明で定義した意味言語で処理でき、実装が単純化する。   (12) According to the invention of claim 12, all or part of the formal language used in the process of claims 1 to 11 can be processed in the semantic language defined in the present invention, and the implementation is simplified.

(13)請求項13記載の発明によれば、形式言語で表現された文章を受け取り、知識辞書の内容と比較することで理解できるかどうかを判定し、その結果を出力できる、装置を構築できる。処理の内容は、請求項1に記載のプログラムと同様である。   (13) According to the invention as set forth in claim 13, it is possible to construct an apparatus capable of receiving a sentence expressed in a formal language, judging whether it can be understood by comparing it with the contents of a knowledge dictionary, and outputting the result. . The contents of the process are the same as the program described in claim 1.

(14)請求項14記載の発明によれば、請求項13の動作に2つの処理が追加されて文章理解の精度が高まる。処理の内容は、請求項2に記載のプログラムと同様である。   (14) According to the invention of claim 14, two processes are added to the operation of claim 13 to increase the accuracy of sentence understanding. The contents of the process are the same as the program described in claim 2.

(15)請求項15記載の発明によれば、自然言語で表現された文章を受け取り、解析して形式言語の文章に変換し、その結果を出力できる、装置を構築できる。処理の内容は、請求項3に記載のプログラムと同様である。   (15) According to the invention as set forth in claim 15, it is possible to construct an apparatus capable of receiving a sentence expressed in a natural language, analyzing it, converting it into a sentence of a formal language, and outputting the result. The content of the process is the same as that of the program according to claim 3.

(16)請求項16記載の発明によれば、請求項15の動作に3つの処理が追加されて形式言語への変換精度が高まる。処理の内容は、請求項4に記載のプログラムと同様である。   (16) According to the invention of claim 16, three processes are added to the operation of claim 15 to increase the conversion accuracy to a formal language. The content of the process is the same as that of the program according to claim 4.

(17)請求項17記載の発明によれば、請求項15または16の動作にさらに2つの処理が追加されて形式言語への変換精度が高まる。処理の内容は、請求項5に記載のプログラムと同様である。   (17) According to the invention of claim 17, two more processes are added to the operation of claim 15 or 16, and the conversion accuracy to a formal language is enhanced. The content of the process is the same as that of the program according to claim 5.

(18)請求項18記載の発明によれば、自然言語で表現された文章を受け取り、知識辞書の内容と比較することで理解できるかどうかを判定し、その結果を出力できる、装置を構築できる。処理の内容は、請求項6に記載のプログラムと同様である。   (18) According to the invention of claim 18, it is possible to construct an apparatus capable of receiving a sentence expressed in a natural language, judging whether it can be understood by comparing it with the contents of a knowledge dictionary, and outputting the result. . The content of the process is the same as that of the program according to claim 6.

(19)請求項19記載の発明によれば、請求項18の動作に2つの処理を追加されて、理解する処理の精度が高まる。処理の内容は、請求項7に記載のプログラムと同様である。   (19) According to the invention of claim 19, two processes are added to the operation of claim 18, thereby enhancing the accuracy of the process to be understood. The content of the process is the same as that of the program according to claim 7.

(20)請求項20記載の発明によれば、請求項6または7の動作に2つの処理を追加されて、形式言語への変換精度が高まる。処理の内容は、請求項8に記載のプログラムと同様である。   (20) According to the invention of claim 20, two processes are added to the operation of claim 6 or 7 to increase the conversion accuracy to a formal language. The content of the process is the same as that of the program according to claim 8.

(21)請求項21記載の発明によれば、自然言語で表現された文章を受け取り、別の種類の自然言語の文章へと翻訳し、その結果を出力できる、装置を構築できる。処理の内容は、請求項9に記載のプログラムと同様である。   (21) According to the invention of claim 21, it is possible to construct an apparatus capable of receiving a sentence expressed in a natural language, translating it into a sentence of another kind of natural language, and outputting the result. The content of the process is the same as that of the program according to claim 9.

(22)請求項22記載の発明によれば、請求項9の動作に3つの処理が追加されて、翻訳精度が高まる。処理の内容は、請求項10に記載のプログラムと同様である。   (22) According to the invention of claim 22, three processes are added to the operation of claim 9 to improve translation accuracy. The content of the process is the same as that of the program according to claim 10.

(23)請求項23記載の発明によれば、請求項9または10の動作に2つの処理が追加されて翻訳精度が高まる。処理の内容は、請求項11に記載のプログラムと同様である。   (23) According to the invention of claim 23, two processes are added to the operation of claim 9 or 10 to improve translation accuracy. The content of the process is the same as that of the program according to claim 11.

(24)請求項24記載の発明によれば、請求項1〜11までの処理に使用する形式言語のすべてまたは一部を本発明で定義した意味言語で処理でき、実装が単純化した、装置を構築できる。   (24) According to the invention as set forth in claim 24, it is possible to process all or part of the formal language used in the processing of claims 1 to 11 with the semantic language defined in the present invention, and the implementation is simplified. You can build

意味言語情報処理システムの全機能ブロック図Functional Block Diagram of Semantic Language Information Processing System 日本語用にカスタマイズした場合の「意味言語への変換処理部」「自然言語への変換処理部」「自然言語ID辞書」の例を示す図Diagram showing an example of “conversion processing unit to semantic language”, “conversion processing unit to natural language”, and “natural language ID dictionary” when customized for Japanese 意味言語操作処理部のより具体的な機能の例のブロック図Block diagram of an example of a more specific function of the semantic language operation processing unit 古代エジプト語用にカスタマイズした場合の「意味言語への変換処理部」「自然言語への変換処理部」「自然言語ID辞書」の例を示す図Diagram showing an example of “conversion processing unit to semantic language”, “conversion processing unit to natural language”, and “natural language ID dictionary” when customized for ancient Egyptian language 意味言語情報処理システムのハードウェアブロック図Hardware block diagram of semantic language information processing system 意味言語情報処理システムの基本の5つの効果Five basic effects of semantic language information processing system 第1の実施形態の意味言語理解処理のソフトウェア構成の例を示す図とフローチャートDiagram and flow chart showing an example of software configuration of semantic language understanding processing of the first embodiment 第2の実施形態の自然言語の意味言語への変換処理のソフトウェア構成の例を示す図とフローチャートDiagram and flow chart showing an example of the software configuration of conversion processing to the natural language of the second embodiment according to the present invention 第3の実施形態の自然言語変換処理のソフトウェア構成の例を示す図とフローチャートDiagram and flowchart showing an example of the software configuration of the natural language conversion process of the third embodiment 第4の実施形態の自然言語翻訳処理のソフトウェア構成の例を示す図とフローチャートDiagram and flowchart showing an example of the software configuration of natural language translation processing of the fourth embodiment 請求項に記載の効果を示す図Diagram showing the effects described in the claims 意味言語の構成要素Semantic language component 意味言語の構造の例を示す図Diagram showing an example of the structure of a semantic language 概念識別子と関係属性記述子と単語IDの例を示す図Diagram showing an example of concept identifier, relation attribute descriptor and word ID 自然言語と概念識別子の対応関係の例を示す図Diagram showing an example of correspondence between natural language and concept identifier 活用がある語の扱いHandling of words with inflection 処理に用いた関係属性記述子の定義例Example of defining relationship attribute descriptor used for processing 意味言語の情報格納形式の例を示す図Diagram showing an example of information storage format of semantic language 意味言語の表記例Example of semantic language 概念識別子と関係属性記述子のデータ構造例Example of data structure of concept identifier and relation attribute descriptor 概念識別子と関係属性記述子の実際のデータ構造例Actual data structure example of concept identifier and relation attribute descriptor 意味言語文章の実際のデータ構造Actual data structure of semantic language sentences 自然言語から意味言語表記に変換する処理のフローチャートの一例と処理例を示す図A diagram showing an example of a flowchart of processing for converting natural language into semantic language notation and an example of processing 活用単位の説明を示す図Diagram showing the usage unit 活用単位か判定する処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing for determining whether a unit of use is used 活用単位に対応した活用文字列を得る処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing for obtaining a use character string corresponding to a use unit 意味言語から自然言語表記に変換する処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing for converting a semantic language to a natural language notation 意味言語から自然言語表記に変換する処理のフローチャートのサブルーチンのフローチャートの一例を示す図The figure which shows an example of the flowchart of the subroutine of the flowchart of the processing of converting from the meaning language to the natural language notation 意味言語から自然言語に変換する処理例Example of processing to convert from semantic language to natural language 自然言語ID辞書の情報の例を示す図Figure showing an example of natural language ID dictionary information 知識辞書の構造の例を示す図Diagram showing an example of the structure of a knowledge dictionary 意味言語の木構造処理Semantic language tree processing 並べ替え可能な関係属性記述子の定義の例Example of Reorderable Relationship Attribute Descriptor Definition 意味言語の文章の正規化の処理のフローチャートの一例を示す図A diagram showing an example of a flow chart of processing of normalization of sentences of meaning language 意味言語文章の加工(知識の加工)の処理方法Processing method of semantic language sentence processing (knowledge processing) 意味言語文章の加工(知識の加工)の処理条件Processing conditions of semantic language sentence processing (knowledge processing) 意味言語の加工処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing of meaning language 意味言語の木構造に対するアルゴリズムAlgorithm for tree structure of semantic language 意味言語の文章を理解する処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing to understand sentences of a semantic language 意味言語の文章の比較により理解する処理の具体的な例Specific example of processing understood by comparison of sentences of semantic language 不完全な文章の例Incomplete text example 不足語がないか判定し、不足語の位置を推定する処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing for judging whether there is a missing word and estimating the position of the missing word 不足語を推定する処理のフローチャートの一例と処理例を示す図A diagram showing an example of a flowchart of a process for estimating a missing word and an example of the process 非自明な語句(多義語)を推定する処理のフローチャートの一例と処理例を示す図A diagram showing an example of a flowchart of a process for estimating non-trivial words (polymorphic words) and an example of the process 処理に用いた動詞辞書の生成例Example of verb dictionary generation used for processing 処理に用いた形容詞辞書の生成例Example of adjective dictionary used for processing 処理に用いた動詞テーブルの構造体宣言Structure declaration of verb table used for processing 処理に用いた形容詞テーブルの構造体宣言Structure declaration of adjective table used for processing 意味言語から自然言語表記(古代エジプト語)に変換する処理のフローチャートの一例を示す図A diagram showing an example of a flowchart of processing to convert semantic language to natural language notation (Ancient Egyptian) 意味言語の関係属性記述子のバリエーションVariation of relational attribute descriptor of semantic language 意味言語の構造のバリエーションVariation of the structure of the semantic language 意味言語で感覚を取り扱う方法の概念図Conceptual diagram of how to handle sense in semantic language 単語ID辞書のバリエーションVariation of word ID dictionary 試験実装したプログラムTest implemented program 試験実装したプログラムとライブラリの一覧List of tested programs and libraries 意味言語を読み込んで理解できるかどうか判定する処理の実行例Execution example of processing to judge whether you can read and understand semantic language 日本語から意味言語を介した古代エジプト語への変換例Example of conversion from Japanese to ancient Egyptian through semantic language

以下、本発明の好ましい実施の形態を図面に基づいて説明する。各図において、同一の構成については原則として同一の参照番号を振り、重複する説明は省略する。なお、発明者独自の概念や名称、考え方が多いため、各機能の意図や考えについて説明が必要と思われる場合は適宜これを加えている。また、説明を具体的にするために使用する数値等は、特に言及しない限りはこれに限定するものではない。また、本発明は以下の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で適宜変更できる。具体例の詳細や図面により限定されるものではない。例えば、本発明が適用される装置やシステムにおいて、処理の適用順序や構成が適宜修正または変更されてもよい。また、各機能はライブラリとしてまとめて提供されてもよいし、個別の実行プログラムとしてもよいし、組込チップとしてもよいし、専用ROM、実行環境のメソッドやAPIのように提供されてもよい。また、プログラム機能やデータは、全て単一のシステムにおくこともできるが、サーバーや分散システムに分けてもよいし、一部を適宜ダウンロードする形式でも実施できる。   Hereinafter, preferred embodiments of the present invention will be described based on the drawings. In each figure, the same reference numeral is assigned to the same configuration in principle, and the overlapping description will be omitted. In addition, since there are many concepts, names, and ideas unique to the inventor, when it is considered necessary to explain the intentions and ideas of each function, they are added as appropriate. Further, numerical values and the like used to make the description specific are not limited to this unless otherwise stated. Moreover, this invention is not limited to the following embodiment, It can change suitably in the range which does not deviate from the summary. It is not limited by the details of the specific example or the drawings. For example, in an apparatus or system to which the present invention is applied, the application order or configuration of processing may be appropriately modified or changed. Also, each function may be provided collectively as a library, may be an individual execution program, may be an embedded chip, may be provided as a dedicated ROM, a method or API of an execution environment, etc. . The program functions and data can all be stored in a single system, but may be divided into servers and distributed systems, or may be implemented in the form of appropriately downloading a part.

実施形態では、各機能をC言語のライブラリとして開発された機能ごとのモジュールとして開発しているため、各機能をモジュールとして説明する。そして、モジュールを適切に呼び出すプログラムによって適切な出力結果を得るものとして説明する。   In the embodiment, since each function is developed as a module for each function developed as a library of C language, each function will be described as a module. Then, it is described that a program that calls a module appropriately obtains an appropriate output result.

本発明の実装の説明は長くなるため、まず各機能の関係について実施形態1〜4までを説明する。つまり、発明の表面的な構成をまとめて説明する。その後、意味言語情報処理システムの各機能11〜19までの実装について図を参照しながら順に説明する。説明中で出てくる「意味言語」とは形式言語の一種で、本発明用に定義されたものであり、文章の意味を明確に単純に記述するために使用している。意味言語については、後述する図12を使って説明している。   Since the description of the implementation of the present invention is long, first, the first to fourth embodiments will be described for the relationship of each function. That is, the surface structure of the invention will be described collectively. Then, the implementation to each function 11-19 of a semantic language information processing system is demonstrated in order, referring a figure. The "semantic language" appearing in the description is a kind of formal language, which is defined for the present invention, and is used to clearly and simply describe the meaning of sentences. The semantic language is described using FIG. 12 described later.

(本発明の主たる機能の一覧)
図1は、本発明の実施に必要な、主たる機能のブロック図である。これらの機能やデータを適切に呼び出し、作用させることで本発明の実施形態1〜4が実行される。これら機能の集まりを本発明では「意味言語情報処理システム」と呼ぶ。また、意味言語への変換処理部12、自然言語への変換処理部14、自然言語ID辞書16は対応する自然言語ごとに開発・作成する必要があるので後述する(図2)。また、意味言語操作処理部13は、さらにいくつかの機能があり、必要に応じて処理を提供する(図3)。以降の実施形態は、個々の機能やデータを個別に作成することもできる。しかし、実施形態1〜4は機能や使用するデータに共通する部分が多いため、まとめて意味言語情報処理システムとして構築し、それぞれの実施形態をサービスの一つとして提供することも可能である。意味言語情報処理システム1は、文章データをデータ入力部11から受け取り、意味言語への変換処理部12、意味言語操作処理部13、自然言語への変換処理部14、意味言語理解処理部15、自然言語ID辞書16、知識辞書17、記憶部18、をコンピュータプログラムと記憶部とデータによって各機能を実行し、目的の結果を得て、通知部19で結果を出力する。データ入力部11は文章データを受け取る部分であり、その実施態様に応じてテキストデータ読み込みプログラムとしてもよいし、人間が直接入力できるデバイスでもよいし、マイクやカメラ等のセンサーでもよい。今回の実施例では、テキストデータ読み込み機能として実装した。同様に、通知部19は結果をデバイスに出力してもよいし、他のシステムへの結果通知として情報を送信してもよいし、データとして出力してもよい。今回の実施例では、コマンドプロンプトに結果を出力するとともに、テキストデータとして出力し、またプログラムの終了ステータスとしても出力するよう実装した。意味言語への変換処理部12は、自然言語を意味言語に変換する機能を有する。この機能は自然言語ごとに開発する必要がある。12は、データ入力部11が受け取ったデータが意味言語であった場合には必要ない。意味言語操作処理部13は、自然言語を意味言語に変換する過程で必要な意味言語の加工や知識の処理機能を有する。この機能は特定の自然言語には依存せず、万国共通に使用できる。自然言語への変換処理部14は意味言語の文章を特定の自然言語に変換する機能を有する。自然言語への変換処理部14は自然言語ごとに作成する必要がある。意味言語理解処理部15は、意味言語の文章を入力とし、その意味を理解する処理を実行する。自然言語ID辞書16は、意味言語を扱う際に、一意の識別子と自然言語の語を対応させる情報を有したデータである。ここでいう語とは、単語そのものではなく、意味言語の概念に対応する言語の構成素のようなものである。日本語においては、文章を処理する前に形態素解析し、その形態素を処理対象とすることが多いが、形態素と単語IDは必ずしも1対1では対応しない。本発明では、意味言語(形式言語)の要素と対応する最小要素として構成要素という呼称を使う。自然言語ID辞書16は、自然言語ごとに作成する必要がある。知識辞書17は、意味言語で書かれた知識を有したデータである。知識辞書の一部は処理に伴って更新されていくため可変なデータである。知識辞書17は特定の自然言語には依存せず、万国共通に使用できる。ただし、必要に応じて、特定の国、特定の時代、特定の文化圏、特定の世代用に一部をカスタマイズすることもできる。記憶部18は、入力されたデータを保持し、理解する処理機能の実現に必要である。
(List of main functions of the present invention)
FIG. 1 is a block diagram of the main functions required to implement the present invention. The embodiments 1 to 4 of the present invention are implemented by appropriately calling and acting on these functions and data. In the present invention, a collection of these functions is called "meaning language information processing system". Further, since it is necessary to develop and create the conversion processing unit 12 to a semantic language, the conversion processing unit 14 to a natural language, and the natural language ID dictionary 16 for each corresponding natural language, they will be described later (FIG. 2). The semantic language operation processing unit 13 further has several functions, and provides processing as needed (FIG. 3). The following embodiments can also create individual functions and data individually. However, since Embodiments 1 to 4 have many parts in common with functions and data to be used, it is possible to build them together as a semantic language information processing system and provide each embodiment as one of services. The semantic language information processing system 1 receives sentence data from the data input unit 11 and converts the semantic language conversion processor 12, the semantic language operation processor 13, the natural language conversion processor 14, the semantic language understanding processor 15, Each function is executed by the natural language ID dictionary 16, the knowledge dictionary 17, the storage unit 18 and the computer program, the storage unit and data, and the result of the object is obtained by the notification unit 19. The data input unit 11 is a part that receives text data, and may be a text data reading program according to the embodiment, may be a device that can be directly input by humans, or may be a sensor such as a microphone or a camera. In this embodiment, it is implemented as a text data reading function. Similarly, the notification unit 19 may output the result to the device, may transmit information as a result notification to another system, or may output it as data. In this embodiment, the result is output to a command prompt, and is output as text data, and is also output as an end status of the program. The semantic language conversion processing unit 12 has a function of converting a natural language into a semantic language. This feature needs to be developed for each natural language. 12 is not necessary when the data received by the data input unit 11 is a semantic language. The semantic language operation processing unit 13 has a processing function of processing and knowledge of a semantic language necessary in the process of converting a natural language into a semantic language. This function does not depend on a specific natural language, and can be used universally. The natural language conversion processing unit 14 has a function of converting the sentences of the semantic language into a specific natural language. The conversion processing unit 14 for natural language needs to be created for each natural language. The semantic language understanding processing unit 15 takes sentences of the semantic language as an input, and executes processing to understand the meaning. The natural language ID dictionary 16 is data having information for associating a unique identifier with a natural language word when handling a semantic language. The word referred to here is not a word itself but a component of a language corresponding to the concept of a semantic language. In Japanese, morpheme analysis is performed before processing a sentence, and the morpheme is often processed, but the morpheme and the word ID do not necessarily correspond one to one. In the present invention, the term "component" is used as a minimal element corresponding to an element of a semantic language (formal language). The natural language ID dictionary 16 needs to be created for each natural language. The knowledge dictionary 17 is data having knowledge written in a semantic language. A part of the knowledge dictionary is variable data because it is updated along with processing. The knowledge dictionary 17 does not depend on a specific natural language, and can be used universally. However, if necessary, you can customize a part for a specific country, a specific era, a specific cultural area, or a specific generation. The storage unit 18 is necessary for realizing a processing function that holds and understands input data.

(日本語処理のソフトウェア構成)
日本語を処理する際に必要な具体的処理機能の例を図2に示す。意味言語自体は、特定の自然言語に依存しないが、意味言語情報処理において自然言語を扱う上で12、14、16の部分を自然言語ごとに開発、作成する必要がある。今回の実施例では、「意味言語への変換処理部12」のモジュールとして、形態素解析部1201、活用処理部1202、助詞処理部1203、自然言語ID処理部1204、意味言語への変換処理部1205を開発し、活用辞書1206を作成した。「自然言語への変換処理部14」のモジュールとして、活用処理部1401、助詞処理部1402、自然言語ID処理部1403、自然言語変換処理部1404、を開発し、活用辞書1206を作成した。また、自然言語ID辞書16として日本語ID辞書1601を作成した。なお、自然言語ID辞書は特定の自然言語ごとに一つずつ作成されるものであり、以降の表記では特に記載がなければ実施例における自然言語ID辞書とは日本語ID辞書として作成された辞書のことである。また、活用処理部1202、1401、助詞処理部1203、1402、自然言語ID処理部1204、1403、は名前が重複しているが番号を変えている。これは、実際に行う処理の多くが「意味言語への変換処理部12」と「自然言語への変換処理部」で共通するか、逆関数のように処理を反転させただけのものが多いためである。つまり、モジュールとしての実体は同じライブラリで提供されることを想定して説明しているが、行う処理が少し違うため、説明の明瞭化を図るために違う番号を振っている。
(Japanese processing software configuration)
An example of a specific processing function necessary for processing Japanese is shown in FIG. The semantic language itself does not depend on a specific natural language, but in treating natural language in semantic language information processing, it is necessary to develop and create parts 12, 14 and 16 for each natural language. In the present embodiment, as modules of the “conversion to semantic language processing unit 12”, a morphological analysis unit 1201, a utilization processing unit 1202, a particle processing unit 1203, a natural language ID processing unit 1204, and a translation conversion unit to semantic language 1205 Developed and made use dictionary 1206. The utilization processing unit 1401, the particle processing unit 1402, the natural language ID processing unit 1403, and the natural language conversion processing unit 1404 were developed as modules of the “conversion to natural language processing unit 14”, and a utilization dictionary 1206 was created. Also, a Japanese ID dictionary 1601 was created as the natural language ID dictionary 16. The natural language ID dictionary is created one by one for each specific natural language, and in the following description, the natural language ID dictionary in the embodiment is a dictionary created as a Japanese ID dictionary unless otherwise noted. It is In addition, the names of the use processing units 1202 and 1401, the particle processing units 1203 and 1402, and the natural language ID processing units 1204 and 1403 overlap, but the numbers are changed. This is because many of the processes actually performed are common to the “conversion processing unit to semantic language processing unit 12” and the “conversion processing unit to natural language”, or there are many that just invert the processing like an inverse function. It is for. That is, although it is assumed that the substance as a module is provided in the same library, since the processing to be performed is slightly different, different numbers are given to clarify the explanation.

意味言語操作処理13の具体的な機能例を、図3に示す。意味言語操作処理部では、意味言語で表現された文章データを操作、加工、または特定のアルゴリズムを適用して目的の結果を得る機能を有する。意味言語正規化処理部1301は、意味言語の文章を入力とし、意味を損なわない形で加工し、データ形式を統一する処理を実行する。意味言語加工処理部1302は、意味言語文章を木構造として、木構造に対するアルゴリズムを適用し、木構造を加工する処理を実行する。意味言語不足語補完処理部1303は、自然言語から意味言語へ変換する際などに必要な語が不足している不完全な文章(図41)に対する処理を実行する。意味言語多義語推定処理部1304は、自然言語において同一表記、同一発音でありながら文脈等で意味が変わるいわゆる同音異義語や多義語がある文章に対する処理を実行する。意味言語木の操作処理部1305は、意味言語の木構造に対する様々なアルゴリズムを適用し、目的の結果を得る処理を実行する。   A specific functional example of the semantic language operation processing 13 is shown in FIG. The semantic language operation processing unit has a function of operating, processing, or applying a specific algorithm to obtain sentence data expressed in the semantic language to obtain a desired result. The semantic language normalization processing unit 1301 takes sentences of the semantic language as an input, processes it in such a manner that the meaning is not lost, and executes processing to unify the data format. The semantic language processing unit 1302 performs processing for processing the tree structure by applying an algorithm for the tree structure with the semantic language sentence as the tree structure. The semantic language deficiency word complement processing unit 1303 executes processing for an incomplete sentence (FIG. 41) in which a word necessary for converting a natural language to a semantic language is not sufficient. The semantic language polygraph definition processing unit 1304 executes processing on a sentence having a so-called homonym or polygraph having the same notation and the same pronunciation in natural language but having different meanings depending on the context or the like. The semantic language tree operation processing unit 1305 applies various algorithms to the semantic language tree structure, and executes processing to obtain a desired result.

(別の自然言語のソフトウェア構成例)
別の自然言語に対応する場合の機能の実装の例を図4に示す。この説明は、色々な自然言語にどのように対応するかを例示するために記述する。この通りに実装することを限定するわけではない。ここでは、例として古代エジプト語の中期エジプト語に対応する場合を挙げる。後述する実施例では、試験的に自然言語への変換処理の一部だけを実装し、女性詞処理などは実装していない。つまり、意味言語の文章から、ヒエログリフ表記の古代エジプト語文章へ変換する簡素な処理のみを実装している(UTF−16コードは、基本的なヒエログリフを含んでいるため、テキストで出力できる)。日本語に対応する場合と比較して、女性詞の対応や決定詞の処理などが必要だが、逆に動詞の活用形等は不要である。意味言語への変換処理部12に必要な処理は図4の通りである。ヒエログリフは分かち書きされないので、形態素解析部1211は必要である。日本語と異なる文法を持つため、いくつか特殊な処理が必要である。まず、文章に男性女性の区別があり、男性では特殊な処理はないが、女性の場合女性詞が必要であるため、女性詞処理部1212が必要である。また、同音異義語を明確化するために決定詞が多用されるため、決定詞処理部1213が必要である。また、接続詞が省略されることが多く、慣習から推測する必要があるため、接続詞推測処理部1214が必要である。また、前置詞が多用されるため前置詞処理部1215が必要である。自然言語ID処理部1216が必要なのは日本語同様である。意味言語変換処理部1217は以上の機能を呼び出しながら、意味言語へ変換する。自然言語への変換処理部14でも、上記理由から女性詞処理部1411、決定詞処理部1412、前置詞処理部1414、自然言語ID処理部1415、自然言語変換処理部1416が必要である。接続詞に関しては、意味言語の状態では接続詞にあたる関係属性記述子は明確化されており、推測の必要はない(むしろ古代エジプト語に変換すると関係属性記述子の情報が減る)ため、接続詞処理部1413が必要である。また、古代エジプト言語の語彙とIDの対応をつける中期エジプト語ID辞書1611を作成する必要がある。複数の自然言語を取り扱う場合、自然言語ID辞書は、IDを索引としたデータベースのように実装することもでき、必要なら、複数の言語体系への共有データとすることもできる。本実施例では、日本語用と古代エジプト語ヒエログリフ用の元データを、表計算ソフトでIDを共有した単一のシートとして作成している。その上で、辞書データとしてのテキスト形式で別々にエクスポートしている。
(An example of another natural language software configuration)
An example of implementation of the function in the case of supporting another natural language is shown in FIG. This description is given to illustrate how it corresponds to various natural languages. It does not necessarily limit implementation as this. Here, as an example, the case corresponding to the middle Egyptian in ancient Egyptian is given. In the embodiment to be described later, only part of the conversion processing to natural language is implemented experimentally, and feminine speech processing is not implemented. In other words, it implements only simple processing to convert sentences in semantic language to ancient Egyptian sentences in hieroglyph notation (UTF-16 code can be output as text because it contains basic hieroglyphs). Compared to the case of Japanese language, it is necessary to process the correspondence of feminine verbs and decision verbs, but conversely, the inflected forms of verbs are not necessary. The processing necessary for the conversion processing unit 12 to the semantic language is as shown in FIG. Since the hieroglyphs are not separated, the morphological analysis unit 1211 is necessary. Since it has a grammar different from Japanese, some special processing is required. First of all, there is a distinction between male and female in the text, and there is no special processing in males, but in the case of females a female verb is necessary, so a female verb processing unit 1212 is necessary. In addition, since a determiner is often used to clarify homonyms, a determiner processing unit 1213 is necessary. Also, since conjunctions are often omitted and it is necessary to infer from the convention, a conjunction guessing unit 1214 is necessary. Also, since prepositions are frequently used, a preposition processing unit 1215 is required. The requirement of the natural language ID processing unit 1216 is similar to that of Japanese. The semantic language conversion processing unit 1217 converts into the semantic language while calling the above functions. The natural language conversion processing unit 14 also needs a feminine speech processing unit 1411, a determinate speech processing unit 1412, a preposition processing unit 1414, a natural language ID processing unit 1415, and a natural language conversion processing unit 1416 for the above reasons. With regard to conjunctions, the relation attribute descriptor corresponding to the conjunction is clarified in the state of the semantic language, and there is no need to guess (rather, the information in the relation attribute descriptor is reduced when converted to ancient Egyptian). is necessary. In addition, it is necessary to create a middle Egyptian ID ID dictionary 1611 for correlating the vocabulary and ID of the ancient Egyptian language. When dealing with multiple natural languages, the natural language ID dictionary can be implemented as a database indexed by IDs, and if necessary, can be shared data to multiple language systems. In this embodiment, the original data for Japanese and for the ancient Egyptian hieroglyphs are created as a single sheet sharing the ID in a spreadsheet software. Then, they are exported separately in text format as dictionary data.

(ハードウェア構成)
本発明は、例えば図5のようなハードウェア構成で実施できる。これは一般的な情報処理装置(コンピュータ)の構成を有しており、パソコン等の現実に存在するコンピュータで実施可能である。1001は一般的なPCの本体に相当するハードウェアである。これはあくまで一般例であり、内部の各ハードウェアが必ず収まっている必要はなく、実施状況に応じて適宜変更可能である。例えば、プログラムをあらかじめ記憶装置に記憶する代わりに、スマフォのダウンロードアプリのように必要なときにダウンロードする形式でも実施可能である。また、データを分割して格納したり、複数のシステムに分散することもできる。1001は、バス1010を介して相互に接続されたCPU(演算装置)1002、ROM1003、RAM1004、外部記憶装置1005、入力I/F1006、出力I/F1007を備えている。入力I/F1006は、例えばキーボード1008等の入力装置を接続する。出力I/F1007は、例えばディスプレイ1009等の表示装置を接続する。
(Hardware configuration)
The present invention can be implemented, for example, with a hardware configuration as shown in FIG. This has a general configuration of an information processing apparatus (computer), and can be implemented by a computer that exists in reality, such as a personal computer. Reference numeral 1001 denotes hardware corresponding to a main body of a general PC. This is merely a general example, and it is not necessary for the internal hardware to be necessarily contained, and can be appropriately changed according to the implementation status. For example, instead of storing the program in advance in the storage device, it may be implemented in a form of downloading as needed, such as a Sumafo download application. Also, data can be divided and stored, or distributed to a plurality of systems. 1001 includes a CPU (arithmetic unit) 1002, a ROM 1003, a RAM 1004, an external storage device 1005, an input I / F 1006, and an output I / F 1007 mutually connected via a bus 1010. The input I / F 1006 connects an input device such as a keyboard 1008, for example. The output I / F 1007 connects a display device such as the display 1009, for example.

CPU1002は、RAM1004をワークエリアとして、ROM1003または外部記憶装置1005などに格納されたプログラムを実行することで、意味言語処理システム全体の動作を統括的に制御する。CPU1002は単一でも実行可能であるが、複数設置することもでき、また、一部の処理を外部のCPUに分散するクラウド形式にしたり、処理を別の環境で行い、結果を取得する形式にすることもできる。   The CPU 1002 controls the overall operation of the semantic language processing system by executing programs stored in the ROM 1003 or the external storage device 1005 using the RAM 1004 as a work area. Although a single CPU 1002 can be executed, a plurality of CPUs can be installed, and a part of the processing is distributed to an external CPU in a cloud format, or the processing is performed in another environment and a result is acquired You can also

<各処理の機能>
(意味言語への変換処理部)
「意味言語への変換処理部12」の具体的な機能を説明する。本実施例では、自然言語としてまず日本語を選択し、日本語処理用にライブラリを開発した。意味言語への変換処理部12のモジュールとしては、形態素解析部1201、活用処理部1202、助詞処理部1203、自然言語ID処理部1204、意味言語への変換処理部1205を開発した。また、活用処理部のデータとして、活用辞書1206を作成した。また、日本語用の自然言語ID辞書を作成した。形態素解析部1201は、受け取ったデータを形態素解析する機能をもつ。活用処理部1202は、日本語特有の動詞や形容詞などの活用を認識し、概念識別子として認識するとともに、必要に応じて関係属性記述子を認識する機能を持つ。活用処理部は、他に活用データとして活用辞書を必要とする。活用辞書1206は、活用の種類に応じて適切な関係属性記述子の特定を行うための情報を持つ。助詞処理部1203は、日本語のいわゆる助詞とともに、概念識別子に当てはまらない、接続詞などを認識し、関係属性記述子に対応付ける機能を持つ。自然言語ID処理部1204は、自然言語の単語を認識して、単語IDを対応付ける機能を持つ。意味言語変換処理部1205は、単語IDが割り振られたデータを元に、意味言語の文章構造へ変換する機能を持つ。より正確な「意味言語への変換処理部」の処理には知識辞書を使うのが好適である。自然言語では自明な主語が省かれることもあり、また、様々な前提を置いているからである。さらに、文脈で意味が変わる単語(同音異義語や多義語)も多い。また、日本語以外で「意味言語への変換処理部12」を実装する場合も、それぞれの言語特有の文法も対応する必要がある。古代エジプトの言語など古い言語では、格助詞が明確にある場合もあれば、格助詞が省略されて単語の中に格助詞が埋め込まれていると見なすことができる場合もある、という風に文法に一貫性を欠く場合が多い。このほか、分詞によって時制を表現する言語など様々である。このように意味言語への変換処理は、自然言語ごとに違う文法に対応した実装をする。
<Function of each process>
(Translation processing unit to semantic language)
A specific function of the “conversion to semantic language processing unit 12” will be described. In the present embodiment, first of all, Japanese was selected as a natural language, and a library was developed for Japanese processing. As modules of the conversion processing unit 12 to semantic language, a morphological analysis unit 1201, a utilization processing unit 1202, a particle processing unit 1203, a natural language ID processing unit 1204, and a conversion processing unit 1205 to semantic language are developed. In addition, the utilization dictionary 1206 was created as data of the utilization processing unit. We also created a natural language ID dictionary for Japanese. The morphological analysis unit 1201 has a function of morphologically analyzing the received data. The use processing unit 1202 has a function of recognizing the use of verbs and adjectives specific to Japanese, and recognizing it as a concept identifier, and recognizing a relation attribute descriptor as necessary. The utilization processing unit also needs a utilization dictionary as utilization data. The utilization dictionary 1206 has information for specifying an appropriate relation attribute descriptor according to the type of utilization. The particle processing unit 1203 has a function of recognizing not only Japanese so-called particles but also conjunctions and the like which do not apply to concept identifiers and associating them with relationship attribute descriptors. The natural language ID processing unit 1204 has a function of recognizing natural language words and associating the word IDs. The semantic language conversion processing unit 1205 has a function of converting into a sentence structure of a semantic language based on data to which a word ID is assigned. It is preferable to use a knowledge dictionary for the processing of the “conversion to semantic language processing unit” more accurately. Natural language sometimes omits trivial subjects, and has various assumptions. Furthermore, there are many words (homonyms and polygraphs) whose meaning changes depending on context. Also, in the case of implementing "the conversion processing unit 12 to the semantic language" in other than Japanese, it is necessary to correspond also to the grammar specific to each language. In old languages such as the language of ancient Egypt, there may be cases where the case particle is clearly present, or the case particle may be omitted and it may be considered that the case particle is embedded in the word. Often inconsistencies. There are various other languages that express tense by participle. In this way, conversion processing to the semantic language is implemented corresponding to different grammars for each natural language.

(自然言語への変換処理部)
「自然言語への変換処理部」14の具体的な機能を説明する。自然言語への変換処理部のモジュールとしては、活用処理部1401、助詞処理部1402、自然言語ID処理部1403、自然言語変換処理部1404を開発した。活用辞書1206と自然言語ID辞書1601は「意味言語への変換処理部12」のものと同じ辞書を使用できる。活用処理部1401は、自然言語(日本語)として出力する際に、動詞等の活用を持つ単語の、時制などの適切な活用を考慮した活用文字列を得る機能を持つ。助詞処理部1402は、関係属性記述子に対応する助詞を選び、適切な位置に出力するとともに、1値性関係属性記述子などの適切な処理(例えば、希望を表す記述子に応じて、動詞の活用を問い合わせる処理の補助など)を行う機能を持つ。自然言語ID処理部1403は、単語IDに応じて日本語表記の文字列を得たり、IDの問い合わせに対して単語の種別(名詞、固有名詞、動詞、形容詞、副詞・・など)を返す機能を持つ。自然言語変換処理部1404は、意味言語の文章から、自然言語に変換する際に必要な文法を適用し(例えば、1値性文全体関係属性記述子をどこに出力するか等)、各他機能を呼び出しながら適切な自然言語文章を出力する機能を持つ。意味言語は理論上、同音異義語などの曖昧さを排除しているため、単語の活用、時制、語順などを整理して、単語IDに対応した単語を順に出力するのが基本的な処理である。日本語以外の言語への変換処理を実装する場合、日本語と違って、話者によって男性形女性形などの活用を持つ場合など独特の文法がある。そのような場合は前提知識とそれまで処理した文章の履歴を参照し、主語の性別等を判断する処理等も別途必要になる。
(Translation processor to natural language)
Specific functions of the “conversion processing unit to natural language” will be described. As modules of the conversion processing unit to natural language, a utilization processing unit 1401, a particle processing unit 1402, a natural language ID processing unit 1403, and a natural language conversion processing unit 1404 were developed. The utilization dictionary 1206 and the natural language ID dictionary 1601 can use the same dictionary as that of the “conversion to semantic language processing unit 12”. The utilization processing unit 1401 has a function of obtaining a utilization character string in consideration of appropriate usage such as tense of a word having usage such as a verb when outputting as a natural language (Japanese). The particle processing unit 1402 selects a particle corresponding to the relation attribute descriptor and outputs it to an appropriate position, and performs appropriate processing such as a one-value relationship relation attribute descriptor (for example, a verb depending on a descriptor indicating a desire) Support functions to inquire about the use of The natural language ID processing unit 1403 obtains a character string in Japanese notation according to the word ID, and returns the type of word (noun, proper noun, verb, adjective, adverb, etc., etc.) in response to an ID query. have. The natural language conversion processing unit 1404 applies a grammar necessary for converting a sentence of a semantic language to a natural language (for example, where to output a one-value whole sentence relation attribute descriptor, etc.), each other function It has a function to output appropriate natural language sentences while calling. Since the semantic language theoretically eliminates ambiguity such as homonymous words, it is a basic process to sort out word usage, tense, word order, etc. and output the word corresponding to the word ID in order is there. Unlike the Japanese language, there are some unique grammars, such as the case where the speaker has an application such as a male form and a female form, when implementing conversion processing to a language other than Japanese. In such a case, processing for determining gender and the like of the subject is also required separately by referring to the premise knowledge and the history of the sentences processed so far.

(自然言語ID辞書)
「自然言語ID辞書」16は、日本語を扱う際には「日本語ID辞書」1601として作成する必要がある。
(Natural language ID dictionary)
The “natural language ID dictionary” 16 needs to be created as a “Japanese ID dictionary” 1601 when handling Japanese.

意味言語情報処理における処理プログラム12、13、14、15等は、CPU1002において実行されることで機能を実現される。プログラム自体は、外部記憶装置に記憶しておくのが簡易であるが、記録媒体を経由して取得されるものでもよいし、ネットワークを経由して取得されるものでもよいし、ROM組込でもよいし、専用チップに組みこむものでもよいし、起動時にRAMなどに展開しておくものでもよい。また、意味言語情報処理に使用されるデータ16、17等も、外部記憶装置に記憶しておくのが簡易であるが、記録媒体を経由して取得されるものでもよいし、ネットワークを経由して取得されるものでもよいし、ROM組込でもよいし、専用チップに組みこむものでもよいし、起動時にRAMなどに展開しておくものでもよい。また、データの提供は、データ全体を一気に取得してもよいし、必要なデータを分割して取得してもよい。   The processing programs 12, 13, 14, 15 and the like in the semantic language information processing are realized by being executed by the CPU 1002 to realize functions. Although the program itself is easy to store in the external storage device, it may be acquired via a recording medium, may be acquired via a network, or may be incorporated in a ROM. It may be good, it may be incorporated in a dedicated chip, or it may be expanded in RAM or the like at startup. In addition, although data 16, 17 etc. used for semantic language information processing is also easy to store in the external storage device, it may be acquired via a recording medium, or via a network. May be acquired, may be incorporated in a ROM, may be incorporated in a dedicated chip, or may be expanded in a RAM or the like at startup. Moreover, provision of data may acquire the whole data at a stretch, and may divide | segment and acquire required data.

入力I/F1006は、処理の対象となる入力データを、外部から入力するためのI/F(インターフェース)である。本発明では、何らかの言語によって表現された文章データ、会話データを処理対象としている。そのため、最終的に文章として表現できる入力ならどんな入力でもよい。最も簡易な入力はテキストデータであり、キーボードから入力されてもよいし、テキストデータとしてファイルや電子データとして入力されてもよいし、あるいはマイク等から入力された音声データでもよいし、他の電子データでもよい。あるいはOCR技術等を適用することで、画像データも対応可能である。   The input I / F 1006 is an I / F (interface) for externally inputting input data to be processed. In the present invention, text data and conversation data represented in a certain language are processed. Therefore, any input that can be finally expressed as a sentence may be used. The simplest input is text data, which may be input from a keyboard, may be input as text data as a file or electronic data, or may be audio data input from a microphone or the like, or other electronic It may be data. Alternatively, image data can also be handled by applying an OCR technique or the like.

出力I/F1007は、処理の結果を外部に出力するためのI/Fである。本発明では、入力された文章を処理し、理解できるかどうかを通知したり、あるいは指定された自然言語に変換して表示することができる。最も簡易な出力はディスプレイに対する出力である。このほか、人間が理解できるよう音声データ(人工音声や録音音声など)として出力することもできるし、プリンタ等で印刷として出力することもできる。また、別の装置の判断に使うために、出力をデータとしてLANケーブルやバスケーブル経由で送信することもできる。例えば、人間からの入力を受けて本システムで処理を行い、その結果を別のコンピュータに送ることができる。また、その他適宜電子データとして出力し、他のシステムや人間等への出力とすることもできる。   The output I / F 1007 is an I / F for outputting the result of processing to the outside. In the present invention, the input text can be processed to notify whether it can be understood or converted to a designated natural language and displayed. The simplest output is the output to the display. Besides, it can also be outputted as voice data (artificial voice, recorded voice, etc.) for human understanding, and can be outputted as print by a printer or the like. Also, the output can be transmitted as data via a LAN cable or a bus cable, for use in determining another device. For example, the system can perform processing in response to human input and send the result to another computer. In addition, the data can be output as electronic data as appropriate, and can be output to other systems or humans.

(基本的な5効果)
本発明の各手段を組み合わせることで、図6に示す5つの基本的な効果が得られる。まず、意味言語の文章を入力とし、文章が理解できたかどうかを判定、出力できる(図6A)。ステップS1011は意味言語文章入力である。ステップS1012は意味言語を理解する処理として意味言語理解処理部15の機能を呼び出すことで実現する。ステップS1013はステップS1012の処理結果を出力する処理である。図6Aの理解する処理は、AIが意思決定や判断を行ううえで不可欠な処理である。
(Basic 5 effects)
By combining the respective means of the present invention, five basic effects shown in FIG. 6 can be obtained. First, a sentence of a semantic language is input, and it can be judged and output whether the sentence has been understood (FIG. 6A). Step S1011 is semantic language sentence input. Step S1012 is realized by calling the function of the semantic language understanding processing unit 15 as processing of understanding the semantic language. Step S1013 is processing for outputting the processing result of step S1012. The process understood in FIG. 6A is an essential process for the AI to make decisions and decisions.

また、自然言語文章を入力とし、意味言語に変換して出力することができる(図6B)。ステップS1014は自然言語の文章入力である。ステップS1015は、自然言語を意味言語に変換する処理であり、意味言語への変換処理部12の機能を呼び出すことで実現する。ステップS1016は、変換された意味言語文章を出力する処理である。   In addition, natural language sentences can be input, converted into semantic languages and output (FIG. 6B). Step S1014 is text input of a natural language. Step S1015 is processing for converting a natural language into a semantic language, and is realized by calling the function of the conversion processing unit 12 into a semantic language. Step S1016 is processing to output the converted semantic language sentence.

また、意味言語文章を入力とし、自然言語文章に変換して出力することができる(図6C)。ステップS1017は意味言語文章入力である。ステップS1018は意味言語を自然言語に変換する処理として、自然言語への変換処理部14の機能を呼び出すことで実現する。ステップS1019は変換された自然言語文章を出力する処理である。   Also, semantic language sentences can be input, converted into natural language sentences and output (FIG. 6C). Step S1017 is semantic language sentence input. Step S1018 is implemented as processing for converting a semantic language into a natural language by calling a function of the conversion processing unit 14 into a natural language. Step S1019 is processing to output the converted natural language sentence.

また、特定の自然言語を入力とし、その自然言語を理解できたかどうか判定、出力できる(図6D)。図6Dは、実質的には図6Bの出力を図6Aの入力としたものとして開発できる。つまり、図6B+図6A=図6Dである。ステップS1020は自然言語文章の入力である。ステップS1021は自然言語を意味言語に変換する処理として、意味言語への変換処理部12の機能を呼び出すことで実現する。ステップS1022は意味言語を理解する処理として、意味言語理解処理部15の機能を呼び出すことで実現する。ステップS1023は、ステップS1022の結果結果を出力する処理である。   In addition, it is possible to input a specific natural language, determine whether or not the natural language can be understood, and output (FIG. 6D). FIG. 6D can be developed substantially with the output of FIG. 6B as the input of FIG. 6A. That is, FIG. 6B + FIG. 6A = FIG. 6D. Step S1020 is an input of a natural language sentence. Step S1021 is realized as processing for converting a natural language into a semantic language by calling a function of the conversion processing unit 12 into a semantic language. Step S1022 is realized by calling the function of the semantic language understanding processing unit 15 as processing of understanding the semantic language. Step S1023 is processing for outputting the result of step S1022.

また、特定の自然言語Aの文章を入力とし、意味言語文章に変換後、別の自然言語Bの文章として出力できる(図6E)。図6Eは、実質的には図6Bの出力を図6Cの入力としたものとして開発できる。つまり、図6B+図6C=図6Eである。ステップS1024は特定の自然言語Aの文章入力である。ステップS1025は自然言語Aから意味言語に変換する処理として、12(言語A用に開発されたもの)の機能を呼び出すことで実現する。ステップS1026は意味言語文章を自然言語Bに変換する処理として、14(言語B用に開発されたもの)の機能を呼び出すことで実現する。ステップS1027は、ステップS1026の処理結果を出力する処理である。   In addition, a sentence of a specific natural language A can be input, converted to a semantic language sentence, and then output as another natural language B sentence (FIG. 6E). FIG. 6E can be developed substantially as the output of FIG. 6B as the input of FIG. 6C. That is, FIG. 6B + FIG. 6C = FIG. 6E. Step S1024 is text input of a specific natural language A. Step S1025 is realized by calling a function of 12 (developed for language A) as processing for converting a natural language A into a semantic language. Step S1026 is implemented as processing for converting a semantic language sentence into a natural language B by calling a function of 14 (developed for the language B). Step S1027 is processing to output the processing result of step S1026.

これらの処理のうち、意味言語を自然言語に変換する処理図6Cは、形式言語としての意味言語を自然言語に変換する処理として特段の発明要素がない(形式言語を自然言語に変換する処理は既に一般に存在し、かつこの処理に新規性を持たせるような発明要素がない)と判断した。よって、意味言語を自然言語に変換する処理図6Cは請求項には記載していない(自然言語の翻訳処理として実行できる図6Eの後半の処理としては必要ではある)。   Among these processes, the process of converting a semantic language to a natural language FIG. 6C has no particular inventive element as a process of converting a semantic language as a formal language to a natural language (a process of converting a formal language to a natural language is It has been determined that there is already an existing element and that there is no inventive element that makes the process novel. Therefore, the process of converting the semantic language into the natural language FIG. 6C is not described in the claims (it is necessary as the second half of the process of FIG. 6E that can be executed as a translation process of the natural language).

<第1の実施形態>
(意味言語理解処理21のソフトウェア構成)
図7は、第1の実施形態のソフトウェア構成を示すブロック図である。意味言語理解処理21は、意味言語の文章を入力として、入力された文章と記録されている知識と比較することで文章の意味を理解する一連の機能を提供する。意味言語理解処理21は、コンピュータやOS等を利用し、機能を実現するために必要なコンピュータプログラムとデータを用意して目的の結果を得る。データ入力部11は、意味言語の文章を入力するために使用される。入力された意味言語の文章は、意味言語理解処理部15で知識辞書17の内容と比較され、その意味が理解できるかどうかの判定を行う。次に、必要に応じて入力された文章を記憶部18に記憶する。最後に理解できたかどうかの結果を通知部19で出力する。最も単純な処理であれば意味言語操作処理部13の機能は必要ない。
First Embodiment
(Software configuration of semantic language understanding process 21)
FIG. 7 is a block diagram showing the software configuration of the first embodiment. The semantic language comprehension processing 21 provides a series of functions for understanding the meaning of a sentence by comparing the input sentence with the recorded knowledge, with the sentence of the semantic language as an input. The semantic language comprehension processing 21 uses a computer, an OS, etc., prepares a computer program and data necessary to realize the function, and obtains a desired result. The data input unit 11 is used to input sentences of the semantic language. The sentence of the input semantic language is compared with the content of the knowledge dictionary 17 in the semantic language understanding processing unit 15 to determine whether the meaning can be understood. Next, the sentence input as necessary is stored in the storage unit 18. Finally, the notification unit 19 outputs the result as to whether or not it can be understood. If it is the simplest processing, the function of the semantic language operation processing unit 13 is not necessary.

しかし、知識辞書の知識文章を加工して新たな知識を作成したり、意味言語の文章を操作するためには意味言語操作処理部13の機能も必要である。 However, in order to process the knowledge sentences of the knowledge dictionary to create new knowledge or to operate sentences of the semantic language, the function of the semantic language operation processing unit 13 is also required.

<第2の実施形態>
(自然言語の意味言語への変換処理22のソフトウェア構成)
図8は、第2の実施形態のソフトウェア構成を示すブロック図である。自然言語の意味言語への変換処理22は、自然言語の文章を入力として、入力された文章を、形式言語の一種である意味言語の文章へ変換する一連の機能を提供する。自然言語の意味言語への変換処理22は、コンピュータやOS等を利用し、機能を実現するために必要なコンピュータプログラムとデータを用意して目的の結果を得る。データ入力部11は、自然言語の文章を入力されるために使用される。入力された自然言語の文章は、意味言語への変換処理部12で形態素解析後に自然言語ID辞書16の情報を使って単語IDと対応付けられ、意味言語の文章に変換され、記憶部18に記憶される。最後に、変換された意味言語の文章を通知部19で出力する。知識等を使わず、単純に意味言語へと変換するだけならば、意味言語理解処理部15、意味言語操作処理部13、知識辞書17は必要ない。
Second Embodiment
(Software configuration of conversion process 22 to semantic language of natural language)
FIG. 8 is a block diagram showing the software configuration of the second embodiment. A conversion process 22 to a natural language semantic language provides a series of functions for converting an input sentence into a semantic language sentence, which is a type of formal language, using a natural language sentence as an input. A conversion process 22 to a semantic language of a natural language uses a computer, an OS, etc., prepares a computer program and data necessary to realize the function, and obtains a desired result. The data input unit 11 is used to input natural language sentences. The input sentence of the natural language is correlated with the word ID by using information of the natural language ID dictionary 16 after morphological analysis by the conversion processing unit 12 to the semantic language, converted to a sentence of the semantic language, and stored in the storage unit 18 It is memorized. Finally, the notification unit 19 outputs the sentence of the converted semantic language. The semantic language comprehension processing unit 15, the semantic language operation processing unit 13, and the knowledge dictionary 17 are not necessary if conversion to a semantic language is simply performed without using knowledge or the like.

しかし、意味言語操作処理部13、意味言語理解処理部15、知識辞書17は、以下の3つの機能を使う場合は必要である。1つめは、自然言語の文章で省略された語を推定し意味言語の文章へ補足する処理である意味言語不足語補完処理部1303である。2つめは、自然言語の多義語を意味言語のひとつの要素に特定する意味言語多義語推定処理部1304である。3つめは、前2つの処理と関係して、知識辞書17にあらかじめ登録された一般的な知識や、それまでの文脈から得た一時的な知識(文脈の知識)を使い、より自然な解釈を行う処理を行う意味言語理解処理部15である。意味言語操作処理部13は、意味言語不足語補完処理部1303と意味言語多義語推定処理部1304を機能として含む。これらの機能を使うことで、より自然な、人間が処理する方法に近い形で文章を処理できる。 However, the semantic language operation processing unit 13, the semantic language understanding processing unit 15, and the knowledge dictionary 17 are required when using the following three functions. The first is a semantic language deficiency word complement processing unit 1303 which is a process of estimating a word omitted in a sentence of a natural language and supplementing it to a sentence of a semantic language. The second one is a semantic language polygraph estimation processing unit 1304 that specifies polygraphs of natural language as one element of the semantic language. The third is a more natural interpretation using general knowledge pre-registered in the knowledge dictionary 17 and temporary knowledge (knowledge of context) obtained from the previous context, in relation to the previous two processes. Is a semantic language understanding processing unit 15 that performs processing of The semantic language operation processing unit 13 includes, as functions, a semantic language insufficient word complementation processing unit 1303 and a semantic language polygraph meaning processing unit 1304. By using these functions, sentences can be processed in a form that is more natural and similar to human processing.

<第3の実施形態>
(自然言語理解処理23のソフトウェア構成)
図9は、第3の実施形態のソフトウェア構成を示すブロック図である。自然言語理解処理23は、自然言語の文章を入力として、入力された文章を理解する一連の機能を提供する。自然言語理解処理23は、コンピュータやOS等を利用し、機能を実現するために必要なコンピュータプログラムとデータを用意して目的の結果を得る。データ入力部11は、自然言語の文章を入力されるために使用される。入力された自然言語の文章は、意味言語への変換処理部12で自然言語ID辞書16の情報を使って自然言語IDと対応付けられ、意味言語の文章に変換され、記憶部18に記憶される。その後、意味言語の文章は、意味言語理解処理部15で知識辞書17の内容と比較され、その意味が理解できるかどうかの判定を行う。最後に理解できたかどうかの結果を通知部19で出力する。
Third Embodiment
(Software configuration of natural language understanding processing 23)
FIG. 9 is a block diagram showing the software configuration of the third embodiment. The natural language comprehension processing 23 provides a series of functions for understanding the input sentence, using natural language sentences as input. The natural language comprehension processing 23 uses a computer, an OS, etc., prepares computer programs and data necessary for realizing the functions, and obtains a desired result. The data input unit 11 is used to input natural language sentences. The input sentence of the natural language is associated with the natural language ID by using the information of the natural language ID dictionary 16 in the conversion process unit 12 to the semantic language, converted to the sentence of the semantic language, and stored in the storage unit 18 Ru. Thereafter, the sentences of the semantic language are compared with the contents of the knowledge dictionary 17 in the semantic language understanding processing unit 15 to determine whether the meaning can be understood. Finally, the notification unit 19 outputs the result as to whether or not it can be understood.

最も単純な処理であれば意味言語操作処理部13の機能は必要ない。また、意味言語への変換処理部12で意味言語理解処理15や知識辞書17を使用しない実装も可能ではある(本処理の要が「理解する処理」なのに、変換処理にだけ「理解する処理」を使わないのはナンセンスではある)。しかし、意味言語操作処理部13、意味言語理解処理部15、知識辞書17は、以下の3つの機能を使う場合は必要である。1つめは、自然言語の文章で省略された語を推定し意味言語の文章へ補足する処理である意味言語不足語補完処理部1303である。2つめは、自然言語の多義語を意味言語のひとつの要素に特定する意味言語多義語推定処理部1304である。3つめは、前2つの処理と関係して、知識辞書17にあらかじめ登録された一般的な知識や、それまでの文脈から得た一時的な知識(文脈の知識)を使い、より自然な解釈を行う処理を行う意味言語理解処理部15である。意味言語操作処理部13は、意味言語不足語補完処理部1303と意味言語多義語推定処理部1304を機能として含む。これらの機能を使うことで、より自然な、人間が処理する方法に近い形で文章を処理できる。 If it is the simplest processing, the function of the semantic language operation processing unit 13 is not necessary. Moreover, the implementation which does not use the semantic language understanding process 15 or the knowledge dictionary 17 in the conversion process part 12 to a semantic language is also possible. (The process of understanding only the conversion process although the main processing of this process is "an understanding process") It is nonsense to not use However, the semantic language operation processing unit 13, the semantic language understanding processing unit 15, and the knowledge dictionary 17 are required when using the following three functions. The first is a semantic language deficiency word complement processing unit 1303 which is a process of estimating a word omitted in a sentence of a natural language and supplementing it to a sentence of a semantic language. The second one is a semantic language polygraph estimation processing unit 1304 that specifies polygraphs of natural language as one element of the semantic language. The third is a more natural interpretation using general knowledge pre-registered in the knowledge dictionary 17 and temporary knowledge (knowledge of context) obtained from the previous context, in relation to the previous two processes. Is a semantic language understanding processing unit 15 that performs processing of The semantic language operation processing unit 13 includes, as functions, a semantic language insufficient word complementation processing unit 1303 and a semantic language polygraph meaning processing unit 1304. By using these functions, sentences can be processed in a form that is more natural and similar to human processing.

<第4の実施形態>
(自然言語翻訳処理24のソフトウェア構成)
図10は、第4の実施形態のソフトウェア構成を示すブロック図である。自然言語翻訳処理24は、自然言語の文章を入力として、指定された自然言語の文章として出力する一連の機能を提供する。入力された自然言語と出力される自然言語が別種であれば、これは翻訳機能である。また、同じ日本語であっても、古文のような文法形態や語彙が異なる言語に対応することもできる。古文のような、時代背景に関する知識が異なる文章を処理する場合は、年代・時代に応じて知識辞書の内容の一部の情報を置き換えることで対応できる。自然言語翻訳処理24は、コンピュータやOS等を利用し、機能を実現するために必要なコンピュータプログラムとデータを用意して目的の結果を得る。データ入力部11は、自然言語の文章を入力されるために使用される。本処理では自然言語の文章が2つあるため、入力された自然言語(翻訳元になる言語)の文章を自然言語A文章とする。入力された自然言語Aの文章は、(自然言語A用に開発された)意味言語への変換処理部12で自然言語ID辞書16の情報を使って自然言語IDと対応付けられ、意味言語の文章に変換され、記憶部18に記憶される。変換された意味言語の文章は、さらに(自然言語B用に開発された)自然言語への変換処理部14と、自然言語ID辞書16によって、単語IDから自然言語Bの表記に対応付けられ、自然言語Bの文章へと変換される。最後に、変換された自然言語Bの文章を通知部19で出力する。翻訳処理の場合、複数の自然言語用ID辞書を持つことになるが、前述の通り共有のデータとしてまとめることもできる。
Fourth Embodiment
(Software configuration of natural language translation processing 24)
FIG. 10 is a block diagram showing the software configuration of the fourth embodiment. The natural language translation processing 24 provides a series of functions for taking natural language sentences as input and outputting them as specified natural language sentences. If the input natural language and the output natural language are different types, this is a translation function. Also, even in the same Japanese language, it is possible to correspond to languages having different grammatical forms and vocabulary such as old sentences. When processing sentences that have different knowledge of the background, such as ancient texts, it is possible to respond by replacing part of the information in the contents of the knowledge dictionary according to the age and era. The natural language translation process 24 uses a computer, an OS, etc., and prepares a computer program and data necessary to realize the function to obtain a desired result. The data input unit 11 is used to input natural language sentences. Since there are two natural language sentences in this processing, the sentence of the input natural language (the language which becomes the translation source) is taken as the natural language A sentence. The input sentence of natural language A is associated with a natural language ID by using information of natural language ID dictionary 16 in conversion processing unit 12 to semantic language (developed for natural language A) It is converted into a sentence and stored in the storage unit 18. The converted sentence of the semantic language is further associated with the word ID to the natural language B notation by the conversion processing unit 14 for natural language (developed for natural language B) and the natural language ID dictionary 16, It is converted to natural language B sentences. Finally, the converted sentence of the natural language B is output by the notification unit 19. In the case of translation processing, a plurality of natural language ID dictionaries are provided, but as described above, they can be combined as shared data.

最も単純な処理であれば意味言語操作処理部13の機能は必要ない。また、意味言語への変換処理部12で意味言語理解処理15や知識辞書17を使用しない実装も可能である。しかし、意味言語操作処理部13、意味言語理解処理部15、知識辞書17は、以下の3つの機能を使う場合は必要である。1つめは、自然言語の文章で省略された語を推定し意味言語の文章へ補足する処理である意味言語不足語補完処理部1303である。2つめは、自然言語の多義語を意味言語のひとつの要素に特定する意味言語多義語推定処理部1304である。3つめは、前2つの処理と関係して、知識辞書17にあらかじめ登録された一般的な知識や、それまでの文脈から得た一時的な知識(文脈の知識)を使い、より自然な解釈のための処理を行う意味言語理解処理部15である。意味言語操作処理部13は、意味言語不足語補完処理部1303と意味言語多義語推定処理部1304を機能として含む。これらの機能を使うことで、より自然な、人間が処理する方法に近い形で文章を処理できる。 If it is the simplest processing, the function of the semantic language operation processing unit 13 is not necessary. Also, an implementation that does not use the semantic language understanding processing 15 or the knowledge dictionary 17 in the conversion processing unit 12 to the semantic language is possible. However, the semantic language operation processing unit 13, the semantic language understanding processing unit 15, and the knowledge dictionary 17 are required when using the following three functions. The first is a semantic language deficiency word complement processing unit 1303 which is a process of estimating a word omitted in a sentence of a natural language and supplementing it to a sentence of a semantic language. The second one is a semantic language polygraph estimation processing unit 1304 that specifies polygraphs of natural language as one element of the semantic language. The third is a more natural interpretation using general knowledge pre-registered in the knowledge dictionary 17 and temporary knowledge (knowledge of context) obtained from the context so far in relation to the previous two processes. The semantic language understanding processing unit 15 performs processing for the The semantic language operation processing unit 13 includes, as functions, a semantic language insufficient word complementation processing unit 1303 and a semantic language polygraph meaning processing unit 1304. By using these functions, sentences can be processed in a form that is more natural and similar to human processing.

(請求項に記載の効果)
本発明の効果のうち、請求項に記載の効果について図11に基づいて具体的に説明する。本発明の実装の例においては「意味言語」という言語を主に内部表現として使用している。意味言語は(意味言語の構造と文法)で後述するように形式言語の一種として定義している。意味言語は、本発明に適合するよう言語仕様をカスタマイズしている。しかし、本発明において意味言語に対して適用される処理やアルゴリズムは、木構造に対して行える処理に追加ルールを与えたものであるため、木構造で表現できる言語であれば(難易度はともかくとして)同様の処理が行えることは自明である。そこで、以下の説明では、意味言語に対して実装された処理を、形式言語に対して行えるものとして説明している。前述の通り、形式言語を自然言語に変換する処理図6Cは、曖昧性の解消や意味の解釈等をする必要がないため、単体では請求項に入れていない。以降の図11A〜図11Dは、図6A、図6B、図6D、図6Eを形式言語へと拡張したものである。
(Effects described in claims)
Among the effects of the present invention, the effects described in the claims will be specifically described based on FIG. In the implementation example of the present invention, the language "semantic language" is mainly used as an internal representation. The semantic language is defined as a kind of formal language as described later in (Structure and Grammar of Semantic Language). The semantic language customizes the language specification to fit the present invention. However, since the processing and algorithm applied to the semantic language in the present invention are the processing that can be performed on the tree structure, additional rules are given, so any language that can be expressed by the tree structure (in any case It is obvious that the same processing can be performed. Therefore, in the following description, the processing implemented for the semantic language is described as being able to be performed on the formal language. As described above, the process of converting a formal language into a natural language FIG. 6C does not have to be a single claim because it is not necessary to resolve the ambiguity or interpret the meaning. The following FIGS. 11A to 11D are extensions of FIGS. 6A, 6B, 6D, and 6E to a formal language.

図11Aでは形式言語を理解する処理を説明している。まず、形式言語で表現された文章を入力として受け取る(ステップS1031)。次に、入力された形式言語の文章と、形式言語で表現された知識を比較することで、入力された形式言語の文章を理解する処理を実行する(ステップS1032)。最後に、入力された形式言語の文章を理解できたかどうかを出力する(ステップS1033)。   FIG. 11A describes the process of understanding a formal language. First, a sentence expressed in a formal language is received as an input (step S1031). Next, a process of understanding the sentence of the input formal language is executed by comparing the input formal language sentence and the knowledge expressed in the formal language (step S1032). Finally, it is output whether the sentences of the input formal language can be understood (step S1033).

図11Bでは自然言語の文章を形式言語に変換する処理を説明している。まず、自然言語で表現された文章を入力として受け取る(ステップS1034)。次に、自然言語の文章を形式言語に変換する処理を実行する(ステップS1035)。このとき、形式言語変換処理の内部において「意味言語操作処理部13」にあるような不足語(省略された語)の補完や多義語の意味を推定する処理を実行することで、変換の精度を高めることができる。これらの処理は、いずれも形式言語を理解する処理を内部的に使用している。最後に、形式言語に変換された文章を結果として出力する(ステップS1036)。   FIG. 11B illustrates the process of converting a natural language sentence into a formal language. First, a sentence expressed in natural language is received as an input (step S1034). Next, a process of converting natural language sentences into a formal language is executed (step S1035). At this time, the conversion accuracy is achieved by executing a process of complementing a missing word (abbreviated word) as in the "semantic language operation processing unit 13" or estimating the meaning of a polygraph within the formal language conversion process. Can be enhanced. Each of these processes internally uses a process that understands formal languages. Finally, the sentence converted into the formal language is output as a result (step S1036).

図11Cでは自然言語の文章を理解する処理を説明している。まず、自然言語で表現された文章を入力として受け取る(ステップS1037)。次に、自然言語の文章を形式言語の文章に変換する(ステップS1038)。そして、変換された形式言語の文章を理解する処理を実行する(ステップS1039)。最後に、変換された形式言語の文章を理解できたかどうかの結果を出力する(ステップS1040)。この一連の処理により、入力された自然言語が理解できたかどうかを判定できる。   FIG. 11C describes the process of understanding natural language sentences. First, a sentence expressed in natural language is received as an input (step S1037). Next, sentences of natural language are converted into sentences of formal language (step S1038). Then, processing for understanding the sentence of the converted formal language is executed (step S1039). Finally, the result of whether the sentence of the converted formal language can be understood is output (step S1040). Through this series of processing, it can be determined whether or not the input natural language has been understood.

図11Dでは自然言語の文章を翻訳する処理を説明している。まず、翻訳元となる言語で表現された文章を入力として受け取る(ステップS1041)。次に、入力された自然言語の文章を形式言語に変換する(ステップS1042)。そして、翻訳先となる自然言語に変換する(ステップS1043)。最後に、翻訳先の自然言語の文章を結果として出力する(ステップS1044)。   FIG. 11D illustrates the process of translating sentences in natural language. First, a sentence expressed in a language as a translation source is received as an input (step S1041). Next, the input natural language text is converted into a formal language (step S1042). Then, it is converted into a natural language as a translation destination (step S1043). Finally, the sentence of the natural language of the translation destination is output as a result (step S1044).

(意味言語の構造と文法)
意味言語は、文章や会話の意味を記述するとともに、知識を記述するための言語体系である。図12のように、意味言語は主に2つの要素「概念識別子」と「関係属性記述子」を備えている。概念識別子は、記述するべき対象に一対一で対応する、一意的な識別子である。関係属性記述子は、2つの概念識別子どうしの関係や、概念識別子の属性を記述する。図13A、図13B、図13Cのように、意味言語は関係属性記述子をノード、概念識別子を子ノードとして構成する木構造で表現でき、本実施例のプログラム中では木構造として扱っている。この木構造は、構文木そのものである。意味言語は、会話などの人間が生成する自然言語の文章を表現できると同時に、知識などの辞書的な情報も表現できる、折衷的な言語として開発したものである。言い換えれば、「人間の会話」と「頭の中の知識」を同一文法体系で表現することを目的として開発したものである。
(Structure and Grammar of Semantic Languages)
The semantic language is a language system for describing the meaning of sentences and conversations and describing knowledge. As shown in FIG. 12, the semantic language mainly includes two elements "concept identifier" and "relation attribute descriptor". The concept identifier is a unique identifier that corresponds one-to-one to the object to be described. The relation attribute descriptor describes a relation between two concept identifiers and an attribute of the concept identifier. As shown in FIGS. 13A, 13B, and 13C, the semantic language can express the relation attribute descriptor by a tree structure configured with nodes and concept identifiers as child nodes, and is treated as a tree structure in the program of this embodiment. This tree is the syntax tree itself. The semantic language is developed as an eclectic language that can express natural language sentences generated by humans, such as conversation, and can also express lexical information such as knowledge. In other words, it was developed for the purpose of expressing "human conversation" and "knowledge in the head" in the same grammatical system.

なお、例として提示している木構造の「等価」の関係属性記述子は、実際には複数種類ある。例えば、人工知能分野のオントロジーにおけるis−a、part−ofのような関係は、いずれも日本語では「は」助詞で表記されるが、形式言語で推測等を扱うときには区別する必要がある。ただし、説明の簡素化のため、説明の内容に関わらない範囲では特に区別しない。この区別については後述する。意味言語は、その構造上、木構造化された意味ネットワークに類似する。実際、後述するように、意味言語は意味ネットワークをアレンジする形でも表現できる。   Note that there are actually multiple types of "equivalent" relationship attribute descriptors of the tree structure presented as an example. For example, relations such as is-a and part-of in the ontology of the artificial intelligence field are both described in Japanese by "ha" particles, but they need to be distinguished when handling inferences in formal languages. However, in order to simplify the explanation, it is not particularly distinguished within the scope not concerned with the contents of the explanation. This distinction will be described later. Semantic languages are similar in their structure to tree-structured semantic networks. In fact, as will be described later, the semantic language can also be expressed in the form of arranging the semantic network.

意味言語の重要な特徴として、抽象化された概念としての「希望」「命令」「問い」などを持ち、積極的に使える点がある。また、活用のある語(日本語では動詞や形容詞など)を抽象化された概念として記述し、活用は概念になんらかの意味が融合しているとして処理する点も特徴の一つである。また、「疑問文(質問文)」「感嘆文」「仮定文」「命令文(要請文)」などを、一般の文(平叙文)と同じ文法で処理できるように言語体系を構築できる点も特徴である(それぞれの文法に特化したルールを定めても良い)。定義のバリエーションとそれぞれのメリットやデメリットについては後述する。意味言語では、「問い(質問)」を、例えば5W1Hとして図13Bのように表現できる。つまり、「問い」との関係を記述することで問いを表現するのである。この表現の利点は、「問い」の概念の答えである概念「Canis lupus」がそのまま図13Bの「問い」と可換である点である。言い方を変えれば、意味言語における「質問の文章」に対応する「答えの文章」は、質問の文章の「問い」概念を適切な概念に置き換えたものである。つまり、この問いにふさわしい答えは、図13Cに示した木構造(犬の学名はCanis lupus)である。コンピュータで文章問題を解くことは現代の技術でも難しいが、自然言語の文章題を意味言語に変換し、さらに変形することで問いの形を明確にでき、かつ知識との比較も容易となる。また、図13Dのように、曖昧すぎる問い「満足する死とは何か」のような問いについても、何が聞かれているのかは解釈できる(解答できるかどうかは人による)。言い方を変えれば、人間の意図なども抽象化した概念とすることで、「文章題の要求するところ」や「命令文の意図するところ」や「何かを望んでいる文章の要求するところ」などを的確に明確に表現でき、また問いに対する答えが文意に沿うかを評価できるのである。   An important feature of the semantic language is that it has "hope", "instruction", "question" etc. as an abstracted concept and can be used positively. In addition, it is one of the features that it describes the words with verbal use (such as verbs and adjectives in Japanese) as abstracted concepts, and uses as if some meaning is fused with the concepts. In addition, the language system can be constructed so that "question sentences (question sentences)", "exclamation sentences", "assumption sentences", "instruction sentences (request sentences)", etc. can be processed with the same grammar as general sentences (plain sentences). Is also a feature (you may define rules specific to each grammar). The variations of the definition and the merits and demerits of each will be described later. In the semantic language, the “question (question)” can be expressed, for example, as 5W1H as shown in FIG. 13B. In other words, we express a question by describing the relationship with the question. The advantage of this expression is that the concept "Canis lupus", which is the answer to the concept of the "question", is directly compatible with the "question" in FIG. 13B. In other words, the “answer sentence” corresponding to the “question sentence” in the semantic language is a replacement of the “question” concept of the question sentence with an appropriate concept. That is, the appropriate answer to this question is the tree structure shown in FIG. 13C (the dog's scientific name is Canis lupus). It is difficult even with modern technology to solve a sentence problem with a computer, but by converting the text problem of a natural language into a semantic language and further transforming it, the form of the question can be clarified and comparison with knowledge becomes easy. Also, as shown in FIG. 13D, it is possible to interpret what is being asked about questions such as the question “what is the content of satisfactory death” which is too vague (can be answered by people). In other words, by abstracting human intentions and the like into concepts, "where the text issues require", "where the intention of the imperative sentences" and "where the sentences that desire something require" Etc. can be expressed clearly and it can be evaluated whether the answer to the question conforms to the meaning of the sentence.

また、「問い」は必要に応じてカスタマイズできる。例えば、「ルビーは赤い?」と質問されたら、暗に解答の選択肢を「赤い」か「そうでない(赤くない)」のどちらかであるよう要請している(図13E)。解答は、問いの木構造の「問い」部分を書き換えたものである。問いに対する答えが適切かどうかの検証は、答えを図13Fのいずれかのような形式にし、当発明で定義した「理解する処理」を実行することで容易に可能である。このように、意味言語は形式言語として使用されるが、記述されるべき概念を抽象化し、さらにどの概念も統一的に扱う。この性質は、「意味を理解する」処理を行ううえで好適であると考える。   Also, questions can be customized as needed. For example, when asked “Ruby is red?”, It implicitly requests the answer option to be either “red” or “not (not red)” (FIG. 13E). The answer is a rewrite of the question part of the question tree structure. Verification of whether or not the answer to the question is appropriate can be easily made by making the answer into one of the forms shown in FIG. 13F and performing the “understanding process” defined in the present invention. Thus, the semantic language is used as a formal language, but it abstracts the concepts to be described and treats any concepts uniformly. This property is considered to be suitable for performing the "understand the meaning" process.

本発明における意味言語の主たる存在意義は、形式言語としてコンピュータが扱える知識表現としての利用であり、これは人工知能工学における「オントロジー」とその意義を同じくする。本発明では、自然言語の代わりに、「形式言語」を用いた「知識表現」と「文章表現」を使用する。その具体的表現手段のひとつとして意味言語を定義した。意味言語を分類するならば、オントロジーの1類型または1つの実装という事にもなる。今回の実装においては発明者が扱いやすいよう、独自の定義を与えた「意味言語」を使用しているが、発明の骨子である「理解の処理」は、別の形式言語・オントロジーなどを使用しても可能である。意味言語とは若干文法や概念の相違があるものの、例えば「CYC」などから意味言語や本発明に適した形式言語に変換することは当業者なら可能である(CYCはLISPに類似した定義文を使い、概念を定義する。CYCも本質的には木構造であり、表記法は違っても意味言語と同系統の文法構造であると見ることができる)。ただし、概念の細分化にはかなりの差異があるため、本発明をCYCなどのオントロジー実装を使って実装する場合、プログラム実装を手直しするか、知識辞書を一部手直しする必要がある。もしも、CYCなどの知識を流用するなら現実的には、オントロジーで記述された辞書内の概念を、細分化して概念識別子と対応付けるのが省コストであると考える。   The main existence meaning of the semantic language in the present invention is the use as a knowledge expression that the computer can handle as a formal language, which is the same as the "ontology" in artificial intelligence engineering. In the present invention, “knowledge expression” and “text expression” using “formal language” are used instead of natural language. The semantic language was defined as one of the concrete expression means. If we classify the semantic language, it becomes one type or one implementation of the ontology. This implementation uses a "semantic language" with its own definition to make it easy for the inventor to handle, but the main point of the invention "processing of understanding" uses another formal language, ontology, etc. Is also possible. Although there are some grammatical and conceptual differences with semantic languages, it is possible for those skilled in the art to convert, for example, from "CYC" etc. to a semantic language or a formal language suitable for the present invention (CYC is a definition statement similar to LISP The concept is defined by using CYC, which is essentially a tree structure and can be viewed as a syntactic grammatical structure similar to semantic languages, although the notation is different). However, since there are considerable differences in concept subdivision, when the present invention is implemented using an ontology implementation such as CYC, it is necessary to rework the program implementation or partially revise the knowledge dictionary. If the knowledge such as CYC is to be diverted, it is practically cost-saving to subdivide concepts in the dictionary described in the ontology and associate them with concept identifiers.

(本発明における形式言語の役割)
本発明では、自然言語文章と形式言語文章を相互に変換し、変換された形式言語文章と知識の文章を比較することで文章を理解する処理を実行する。これは、イメージとしては人間の脳内で行われる処理の一部を、アルゴリズムとして明確化し、コンピュータ上で実行可能とするものである。言い換えれば、人工知能分野における「意味表象」を表現することを一つの目標としている。そして、本発明の実行のためには、自然言語の文章から変換された形式言語の文章と、知識を表現する形式言語文章が比較可能である必要がある。最も好ましいのは、どちらの形式言語の文章も全く同じ文法、全く同じ構成要素をもつことである。意味言語は、記述対象を概念識別子と関係属性記述子として抽象化することで、知識の記述と全く同じ文法に「意図」や「問い」なども組み込める形式言語である。通常の形式言語でも本発明は実施可能であるが、意味言語を用いれば処理が大幅に簡素化する。
(The role of formal language in the present invention)
In the present invention, a natural language sentence and a formal language sentence are mutually converted, and a process of understanding the sentence is executed by comparing the converted formal language sentence and the sentence of knowledge. As an image, a part of the processing performed in the human brain is clarified as an algorithm and made executable on a computer. In other words, one goal is to express "semantic representation" in the artificial intelligence field. And, in order to execute the present invention, it is necessary to be able to compare a formal language sentence converted from a natural language sentence and a formal language sentence that expresses knowledge. Most preferably, the sentences of both formal languages have exactly the same grammar and exactly the same components. The semantic language is a formal language in which “intentions” and “questions” can be incorporated into the exact same grammar as the knowledge description by abstracting the description object as a concept identifier and a relation attribute descriptor. Although the present invention can be implemented even in a regular formal language, the use of a semantic language greatly simplifies the processing.

意味言語では、人間の使用する言語というシステムの役割を次のように定義する。即ち言語システムの役割とは、「物事と物事の関係性を表すこと」である。「私は走る」という発言は、「私」という物(者)が、「走る」という事(運動状態)に「なる」ことを表している。つまり、「私=走る(状態)」になるというのである。さらに我々人間は、実体のないもの「感情」「仕組み」「考え」「希望」などに名前をつけることで、言語で表すことを可能とした。実体がないものでも、名前をつける、つまり識別子を与えることによって、言語上は実体のあるものと同等に扱うことが可能となる。「私は嬉しい」という発言は、「私」、正確には「私の心」が「嬉しいという状態」になっていることを表している。もちろん、「嬉しい」とか「悲しい」といった感情に実体はない。しかし、感情も物事として名づけることで、実体はないのに人間同士で共通理解が図れる(つまり、感情の状態をある程度察してもらえる)わけである。こういった観点からいくと、我々が意味のある会話を行うとき、常に2つ以上の概念の関係性を表現していると解釈できる。会話で主題となるのは、「自分の望み」「自分の周りで起こったこと」「相手の望み」「相手の感情」「相手の周りで起こったこと」等であるが、いずれを表現するのにも常に2つ以上の名前を使い、その関係を表現している。単語一つのみを発話する場合であっても、実際には2つ以上の概念が想定されている。例えば、「自分の感情」は、「嬉しい」と概念識別子(日本語では形容詞)一つで表現されるが、これは「感情を表す言葉を発したら、それは発言者の感情である」という暗黙の了解があるからである。つまり、厳密に表現するなら、「嬉しい」という発言は「私の感情は、嬉しい状態です」という意味である。つまるところ、「私の感情」=「嬉しい」なのだ。このように、関係性について明確に言及されていない文章でも、暗黙の了解の下で省略されているだけなのである。意味言語では、この点に着目し、言語の要素を2つ定義した。物事を表すのが概念識別子であり、関係性や属性を表すのが関係属性記述子である。   In the semantic language, the role of the human language system is defined as follows. That is, the role of the language system is "to express the relationship between things". The statement "I run" means that the person "I" becomes "run" (exercise). In other words, "I = run (state)". Furthermore, we made it possible to express in language by naming things such as emotions, mechanisms, ideas and hopes that have no substance. Even if there is no entity, by giving a name, that is, giving an identifier, it is possible to treat the language as equivalent to an entity. The statement "I'm happy" indicates that "I," to be precise, "my heart," is in a "happy" state. Of course, there is no substance in emotions such as "happy" or "sad". However, by naming emotions as things, even though there is no substance, people can achieve common understanding with each other (that is, they can have a certain understanding of the state of emotions). From this point of view, when we have a meaningful conversation, we can always interpret it as expressing the relationship between two or more concepts. The subject matter in the conversation is "your own wish," "what happened around you," "the wish of the other party," "the emotion of the other party," "what happened around the other person", etc. Also, always use two or more names to express the relationship. Even when only one word is uttered, two or more concepts are actually assumed. For example, “my emotions” are expressed as “happy” as a single concept identifier (adjective in Japanese), which implies that “If you give a word that expresses emotion, it is the speaker's emotion”. Because it is In other words, if expressed strictly, the statement "happy" means "My emotions are in a happy state". After all, "my emotions" = "happy". Thus, even sentences that are not mentioned explicitly about relationships are simply omitted under implicit consent. In the semantic language, we focused on this point and defined two elements of the language. It is a concept identifier that represents things, and a relationship attribute descriptor that represents relationships and attributes.

概念識別子は、図14Aのように単語IDと対応付けられる。意味言語における単語IDの意味は「概念の識別子となる」点を満たせばよいので、IDは数値でも文字列でも何でもよい。後述する実施例では、数値をIDとしている。後述するが、IDによってノードを並べ替える処理もあるため、何らかの序列が必要であり、数値IDが好適である。意味言語では、全ての概念識別子と関係属性記述子に全世界で共通の単語IDを割り振る。実装の際には、後述する「自然言語ID辞書」で一意のIDを割り振ると同時に、表記ゆれや単語の情報をセットで記録する。概念識別子は、記述するべき対象に一対一で対応する、一意的な識別子である。記述するべき対象とは、図15のように、物、事、現象、感情などであり、一般的な名詞だけでなく、動詞として扱われるもの、形容詞として扱われるもの、なども包括的に含む。品詞の分類は諸説あるが、学校文法で扱われる10品詞でいうと、活用の部分を除けば「名詞」「動詞」「形容詞」「形容動詞」「副詞」「連体詞」「感動詞」が概ね概念識別子に対応する。同様に学校文法でいうと、関係属性記述子は「助詞」「助動詞」(言語学でいう助動詞ではない)「接続詞」が概ね対応する(一部例外もある)。また、動詞や形容詞などの活用部の多くも関係属性記述子に概ね対応する。   The concept identifier is associated with the word ID as shown in FIG. 14A. The meaning of the word ID in the semantic language may satisfy the point of "becoming an identifier of a concept", so the ID may be a numerical value or a character string or anything. In the embodiment described later, numerical values are used as IDs. Although described later, since there is also a process of rearranging nodes by ID, some order is required, and a numerical ID is preferable. In the semantic language, a universal word ID is assigned to all concept identifiers and relation attribute descriptors. At the time of implementation, at the same time as assigning a unique ID in the "natural language ID dictionary" to be described later, information of writing fluctuation and words are recorded as a set. The concept identifier is a unique identifier that corresponds one-to-one to the object to be described. The objects to be described are things, things, phenomena, emotions, etc. as shown in FIG. 15, and include not only general nouns, but also those treated as verbs, those treated as adjectives, etc. . There are various classes of parts of speech, but in terms of 10 parts of speech used in school grammar, except for the part of utilization, "nouns", "verbs", "adjectives", "adjective verbs", "adverbs", "arguments", "sensitive verbs" are generally Corresponds to the concept identifier. Similarly, in terms of school grammar, relational attribute descriptors generally correspond to "particles", "auxiliary verbs" (not auxiliary verbs in linguistics), and "conjunctions" (with some exceptions). In addition, many of the inflection parts such as verbs and adjectives generally correspond to relationship attribute descriptors.

そして、関係属性記述子も図14Bのように単語IDと対応付けられる。表記が同じであっても、意味言語としては区別する場合、別々のIDを割り振る。逆に、同じ意味で使われるが表記が異なる助詞や接続詞など(走ら―ない、走ら―ず、走ら―ぬ、走ら―ん、走ら―ざる、の「ない」「ず」「ぬ」「ん」「ざる」など)は一つのIDに統一する。一意のIDを割り振る利点は3つある。1つ目の利点は、日本語のように同音異義語が多い言語でも、意味(概念)に沿って対応づけることができる点である。このようにIDに概念や関係性を対応付けることで、意味言語は同音異義語を持たず、全ての概念識別子を一意に扱える。一意のIDを用いることで、英語の単語のように文脈で大きく意味が変わる「light」のような単語も、きちんと分けて記述することができる。つまり、light(光=ID6827)、light(軽い=ID30140)、などのように全て別のIDを割り振る。自然言語中の「light」をどの概念識別子に対応付けるかは、自然言語を意味言語に変換するプログラムの仕事であり、アルゴリズムについては後述する。一方、表記が違っても意味が同じ単語、例えば「青森、青森県」は同じIDを対応させる。2つ目の利点として、特定の言語にない語彙もとりあえず単語IDで処理できる点がある。例えば、日本語の「もったいない」は、本実施例ではID30200を割り当てている。この語は、多くの自然言語にはないといわれる語彙である。もちろん、現在わかっている調査では、古代エジプト語には対応する語彙がない。これを意味言語に変換後、他言語(例えば古代エジプト語)として出力する場合、古代エジプト語には対応するスペルが存在しないという問題が生じる。この際には、IDを使うことで3つの対応が考えられる。第一の方法として、古代エジプト語に出力する際に対応する語無しとしてIDを出力することができる。IDは一意なので、後で調べることができる。第二の方法として、IDに対応する他の言語表記(例えば日本語表記)で出力することができる。第三の方法として、IDの語を説明する知識辞書の内容を、説明的に出力することができる。このように、IDを使うことで、存在しない語彙も柔軟に取り扱える。3つ目の利点として、全ての語や文章を数値のM式のように扱え、M式はLISPなどのプログラミング言語で扱いやすく、文法も単純であるため汎用性が高い点も挙げられる。   The relation attribute descriptor is also associated with the word ID as shown in FIG. 14B. Even if the notations are the same, separate IDs are allocated to distinguish them as semantic languages. Conversely, particles or conjunctions that have the same meaning but have different notations (such as not run, not run, not run, run, not run, run, run, etc., "not" "un" "un" "un" "n" "Zaru" etc. are unified into one ID. There are three advantages to assigning a unique ID. The first advantage is that even languages that have many homonyms, such as Japanese, can be mapped along the meaning (concept). As described above, by associating a concept or a relation with an ID, a semantic language does not have homonyms and can handle all concept identifiers uniquely. By using a unique ID, words such as "light" which are largely changed in context like English words can be described separately. In other words, all different IDs are allocated, such as light (light = ID 6827), light (light = ID 30140), and so on. It is the job of a program that converts a natural language to a semantic language as to which concept identifier the “light” in the natural language is to be associated, and the algorithm will be described later. On the other hand, words having the same meaning even if they are written differently, for example, "Aomori, Aomori Prefecture" correspond to the same ID. The second advantage is that vocabularies that do not exist in a specific language can be processed using word IDs. For example, in Japanese, "mochiitai" is assigned ID 30200 in this embodiment. This word is a vocabulary that is said to be absent in many natural languages. Of course, in current surveys, ancient Egyptian has no corresponding vocabulary. If this is converted to a semantic language and then output as another language (for example, ancient Egyptian), the problem arises that there is no corresponding spelling in ancient Egyptian. In this case, three correspondences can be considered by using an ID. As a first method, ID can be output without corresponding word when outputting to ancient Egyptian. Because the ID is unique, you can check it later. As a second method, it is possible to output in another language notation (for example, Japanese notation) corresponding to the ID. As a third method, the contents of the knowledge dictionary that explains the word of ID can be output explanatoryly. In this way, using an ID, it is possible to flexibly handle non-existent vocabulary. The third advantage is that all words and sentences can be treated like M-expressions of numerical values, and M-expressions are easy to handle in programming languages such as LISP, and have high versatility because they have simple grammars.

そして、意味言語では、自然言語における単語の活用を「概念識別子に関係属性記述子が融合したもの」と解釈する(図16)。例えば、「走る」という動詞を例にとると、走るという概念は、動物などの可動性の動物または物体が、地上から極端に離れることなく水平移動する物理的現象を表す。日本語においては、この動詞は五段活用され、「走りたい」「走らない」「走った」「走らされた」(図16A)などのバリエーションがある。意味言語では、こういった活用を、概念識別子に属性や関係性が融合していると解釈する。動詞や形容詞などの活用を持つ品詞は、ただの名詞と異なり「意図」「行為者と対象」「状態変化」などの要素がある。言い方を変えると、人間は、言語を日常的に使う上で便利なように、活用という形でこういった副次的な情報を与えていると解釈する。その証拠に、外国人がカタコトで「走る、したい・・・」「走る、しない・・・」「走る、おわった・・・」「走る、やらされた・・・」と話している状況を想像すれば、それぞれ活用無しでもなんとか意味が取れることがわかる。このように、意味言語では、活用のある単語は「概念識別子+関係属性記述子」として扱う(図16B)。ただし、後述する図50で説明しているように、他の定義も可能である。   Then, in the semantic language, utilization of the word in the natural language is interpreted as "the concept identifier and the related attribute descriptor fused" (FIG. 16). For example, taking the verb "run" as an example, the concept of run refers to a physical phenomenon in which a mobile animal or object such as an animal moves horizontally without being extremely separated from the ground. In Japanese, this verb is used in five steps, and there are variations such as "I want to run", "I do not run", "I ran" and "I was run" (Fig. 16A). In the semantic language, such utilization is interpreted as the fusion of concept identifiers with attributes and relationships. A part of speech that uses verbs and adjectives, unlike simple nouns, has elements such as "intention", "actor and subject", and "state change". In other words, human beings interpret it as giving such side information in the form of utilization, which is convenient for everyday language use. As evidence that foreigners are talking in the catagoto "run, want ..." "run, do not ..." "run, I finished ..." "run, did ..." If you imagine, you can see that meaning can be taken somehow without each use. As described above, in the semantic language, words having use are treated as “concept identifier + relation attribute descriptor” (FIG. 16B). However, as described in FIG. 50 described later, other definitions are possible.

関係属性記述子も、図17のように、概念識別子と同様に単語IDと対応付けられる。このような情報を使って、日本語における助詞などの構成要素を関係属性記述子に適切に対応付けるのが、助詞処理部1203である。関係属性記述子は、日本語における助詞や接続詞、また英語における助動詞や助詞や前置詞などに似ているが、完全に同じではない。また、プログラムで処理する際に、文章の先頭を決める必要があるので、文章の先頭を表す特殊な関係属性記述子(ID_ROOT)も定義している。後述する実施例では値を0としている。ID_ROOTは、今回の実施例で木構造を扱いやすくするために定義しただけで、意味言語自体に必須ではない。よって、後述する実施例では全ての文章の先頭(木構造では根にあたる部分のさらに上)にID_ROOTがあるが、説明には記載しない。関係属性記述子は「〜だ」「〜ならば」のように1つの概念識別子のみにかかる「1値性」のもの、「〜で」「〜に」のように1つの概念識別子のみにかかるが、文章全体を修飾する意味を持つ「1値性文全体」のもの、「〜は〜」「〜が〜」のように、2つの概念識別子を結びつけてその関係を表す「2値性」のものなどに分けられる。また実質的に同じだが表記が違う助詞を関係属性記述子に変換する場合は、同じ関係属性記述子に統一的に変換する(例えば、ID=60の「か」「または」「もしくは」は実質的に同じである。「リンゴかミカン」「リンゴまたはミカン」「リンゴもしくはミカン」はニュアンス以上の違いはない)。また、言語によっては動詞や助動詞などと呼ばれる要素の一部も、関係属性記述子に対応する。本実施例では、例えば、英語のbe動詞は、存在を定義する2値性関係属性記述子であるとみなしている。なお、関係属性記述子の定義は、本実装例、実施例が唯一の定義ではない。例えば、後述する実施例では「のは」は、「所属等価」というID=82の単一の関係属性記述子として定義している。しかし、「の(所属化)」+「は(限定等価)」と分けて定義することもできる。一般的傾向として、関係属性記述子を「のは」のようにある程度まとめたほうが処理プログラムを開発しやすい。逆に、関係属性記述子を「の」+「は」のように細かく分けて定義したほうが、理論的にも美しく、関係属性記述子の定義が簡素になる。どちらの定義を使うかは、実装者次第である。   The relation attribute descriptor is also associated with the word ID in the same manner as the concept identifier as shown in FIG. The particle processing unit 1203 appropriately associates components such as particles in Japanese with relation attribute descriptors using such information. Relational attribute descriptors are similar to particles and conjunctions in Japanese, and auxiliary verbs and particles and prepositions in English, but they are not completely the same. Also, since it is necessary to determine the beginning of a sentence when processing by a program, a special relationship attribute descriptor (ID_ROOT) indicating the beginning of a sentence is also defined. In the embodiment described later, the value is 0. ID_ROOT is defined only to make the tree structure easy to handle in the present embodiment, and is not essential to the semantic language itself. Therefore, although ID_ROOT is at the beginning of all the sentences (above the portion corresponding to the root in the tree structure) in the embodiment described later, it is not described in the description. The relation attribute descriptor applies to only one concept identifier such as "with", "if", and "one value property" related to only one concept identifier such as "~" and "if". "One-value whole sentence", which has the meaning of modifying the whole sentence, "binary" which links two concept identifiers and expresses the relation like "..." and "~". Can be divided into Also, when converting particles that are substantially the same but have different expressions into relational attribute descriptors, they are converted uniformly to the same relational attribute descriptor (for example, "?" "Or" "or" with ID = 60 is substantially "Apple or orange", "apple or orange" and "apple or orange" are no different than nuances). In addition, some elements called verbs and auxiliary verbs in some languages also correspond to relationship attribute descriptors. In the present embodiment, for example, the English be verb is regarded as a binary nature relationship attribute descriptor that defines the existence. Note that the definition of the relation attribute descriptor is not the only definition in this implementation example or example. For example, in the embodiment to be described later, “of” is defined as a single relation attribute descriptor of ID = 82 “belonging equivalent”. However, it can also be defined separately as "of (membership)" + "(limited equivalent)". As a general tendency, it is easier to develop a processing program if the relation attribute descriptors are summarized to a certain extent like "of". On the contrary, it is theoretically beautiful if the relation attribute descriptor is finely divided and defined as "of" + "ha", and the definition of the relation attribute descriptor is simplified. It is up to the implementer to use which definition.

つまり、意味言語の概念識別子と関係属性記述子に対する、自然言語の要素は1対1では対応しない場合が多い。形態素解析した場合の構成要素「形態素」と意味言語の単語との対応関係は、日本語における名詞の場合は「犬=概念識別子」と対応することが多い。しかし、動詞などの場合は「走りたい=概念識別子+関係属性記述子」のように一つの自然言語表現に対して意味言語の複数の要素が対応することが多い。この自然言語側の要素は、「形態素」や言語学における統語論の「構成素」と似ているが、同じではなく、発明中で使う形式言語の定義と直結している概念である。そのため、本発明では、自然言語側の原子にあたるようなこの要素を、単純に「構成要素」と呼ぶ。   That is, natural language elements often do not correspond on a one-to-one basis with respect to concept identifiers of semantic languages and relational attribute descriptors. In the case of nouns in Japanese, the correspondence between the component "morpheme" in the case of morphological analysis and the word of the semantic language often corresponds to "dog = concept identifier". However, in the case of a verb or the like, a plurality of elements of the semantic language often correspond to one natural language expression like "I want to run = concept identifier + relation attribute descriptor". This element on the natural language side is similar to "morpheme" or syntactic "composition" in linguistics, but it is not the same concept that is directly linked to the definition of the formal language used in the invention. Therefore, in the present invention, this element that corresponds to an atom on the natural language side is simply referred to as a "component".

意味言語における、活用のある語(動詞や形容詞など)の考え方をもう少し説明する。例えば日本語においては、形容詞は次の語に直接かかるという暗黙のルールがある。「白い」は物体から基本三原色の波長の光がバランスよく反射される物質の光学的性質の名前である。しかし、「白い人間」のように特定の語に結合している場合は、次に続く語の物理属性であることを表す関係属性記述子が、融合して隠れていると見ることができる。つまり、分解すると「白い+人間」ではなく、「白い+ところの+人間」である。これは、形容詞の意味するところと用法が明らかで、助詞や接続詞が必要ないから省略されているだけであると考えられる。意味言語の表現では、概念識別子同士の関係を過不足なく記述するために、明示されていない関係属性記述子を追加する必要がある。明示されていない関係属性記述子の追加は、古代言語を扱う際にはさらに重要なキーポイントである。一般的に、自然言語は古い時代のものほど統一性に欠け、品詞の区別も曖昧である。例えば、古代エジプト語の中期に使われていたヒエログリフ表記では、助詞としての「は」にあたる表記は「ふくろう」である。しかし、代名詞を使った「彼は」「彼の」などは代名詞に助詞が含まれ、しかも「クサリヘビ」一匹で表される。つまり、中期エジプトのヒエログリフ表記では「彼は」「彼の」の違いは文脈から読み取る必要がある。意味言語では、こういったあいまいな表記を関係属性記述子を使って厳密に表現できる。   I will explain a little more about the concept of words (verbs, adjectives, etc.) that are used in semantic languages. For example, in Japanese, there is an implicit rule that adjectives apply directly to the next word. "White" is the name of the optical property of a substance in which light of wavelengths of basic three primary colors is reflected in a balanced manner from an object. However, in the case of binding to a specific word such as "white human", it is possible to regard that a relation attribute descriptor indicating that it is a physical attribute of the following word is fused and hidden. That is, it is not "white + human" but "white + place + human" when it is disassembled. This is considered to be only omitted because the meaning and usage of the adjective is clear and no particle or conjunction is needed. In the semantic language expression, it is necessary to add a not-specified relationship attribute descriptor in order to describe the relationship between concept identifiers without excess or deficiency. The addition of unspecified relationship attribute descriptors is an even more important key point when dealing with ancient languages. In general, natural languages are less uniform than in older times, and the parts of speech are more ambiguous. For example, in the hieroglyph notation used in the middle of ancient Egyptian, the notation corresponding to "ha" as a particle is "owl". However, the pronoun "He", "his his" etc. includes particles in the pronoun, and is represented by a "Kusarisnake". That is, in the Middle Egyptian hieroglyph notation, the difference between "He" and "His" needs to be read from the context. In semantic languages, these ambiguous expressions can be expressed strictly using relational attribute descriptors.

このように、概念と概念の関係に着目して文章を構築する意味言語の文法を用いれば、自然言語文章のもつ「文章の意味」を簡素な形で抽出することが可能である。そして、意味言語が十分に簡素であるがゆえに、意味言語の文章と自然言語の文章は、自然言語の種類に関わらず比較的容易に相互変換可能である。   As described above, by using a grammar of a semantic language that constructs sentences by focusing on the relationship between concepts and concepts, it is possible to extract the "semantics of sentences" possessed by natural language sentences in a simple manner. And, because the semantic language is sufficiently simple, sentences of the semantic language and sentences of the natural language can be relatively easily converted to each other regardless of the type of natural language.

また、意味言語は論理表現を全て含めて実装できるため、そのように実装すれば1階述語論理に関して健全性と完全性を有すると考えられる。つまり、関係属性記述子に論理演算子を含めて定義し、処理系を実装することができる。推論についていえば、知識辞書が十分に正しければ、正しい演繹結果を得ることができる。ただし、帰納処理については、どのような知識にもいえることであるが、知識辞書内に検証すべき対象が全て漏れなく記述されている場合のみ、正しい帰納処理が行える。つまり、通常の自然現象や現実世界に対して、帰納法による推測はできても、辞書だけでは推測の正しさを保証できない。演繹として使える処理(新しい知識の作成、本発明における意味言語の加工処理)については後述する。   Also, since a semantic language can be implemented including all logical expressions, such an implementation is considered to have soundness and completeness with respect to first-order predicate logic. In other words, a relational attribute descriptor can be defined including logical operators to implement an implementation. In the case of reasoning, if the knowledge dictionary is correct enough, correct deduction results can be obtained. However, as for induction processing, as with any knowledge, correct induction processing can be performed only when all the objects to be verified are completely written in the knowledge dictionary. In other words, for normal natural phenomena and the real world, although inference can be made by induction, correctness of inference can not be guaranteed with a dictionary alone. Processing that can be used as deduction (creation of new knowledge, processing of semantic language in the present invention) will be described later.

(意味言語の情報格納イメージ)
本実施例では、時制や時間は図18Aのように、関係属性記述子の付加情報とする。自然言語においては、時制は言語ごとに様々な表現形式をとる。中国語のように、時制ではなく時間を表す副詞を使う言語もある。例えば、日本語には時制変化として過去・現在・未来があるが過去形と過去完了形は区別が曖昧である。そして、日本語では動詞や形容詞、言い切りの形の活用で時制を表す。他の言語の中には、未来と現在時制を区別しないものもあり、時制を副詞や分詞で表すもの、be動詞の活用で表すものなどさまざまである。しかし、意味言語における時制や時間は単純に定義できる。本実施例では、意味言語における時制や時間を、物事の関係が成り立つのが何時なのか、という情報として定義している。時間に従って変化する可能性があるのは物事の関係だけである。物事につけられた名前が変化することはない(幼虫が成虫に変わると名前が変化するのは、実体は同じでも状態が変化したからである)。従って、関係属性記述子に時制・時間情報を付加できれば、どのような時制・時間も表現できる。今回の実施例では、関係属性記述子の構造体のメンバ変数(1051)として必要な場合にのみ設定する。また、時制・時間以外に、時間論理と呼ばれる「いつか」「ずっと」なども、同じく関係属性記述子の構造体のメンバ変数(1051)として必要な場合にのみ設定する。
(Information storage image of the semantic language)
In this embodiment, the tense and the time are additional information of the relation attribute descriptor as shown in FIG. 18A. In natural language, tenses take various forms of expression for each language. Some languages, such as Chinese, use adverbs that represent time rather than time. For example, in Japanese, there are past, present, and future as tense changes, but the distinction between past tense and past perfect tense is ambiguous. And, in Japanese, we express tense by the use of verbs, adjectives and forms of narratives. Some other languages do not distinguish between the future and the present tense, such as expressing the tense with adverbs and participle, and using the be verb. However, the tense and time in the semantic language can be defined simply. In this embodiment, the tense and time in the semantic language are defined as information indicating when the relationship of things is satisfied. The only thing that can change with time is the relationship between things. The names given to things never change (when a larva changes to an adult, the name changes because the entity is the same but the state changes). Therefore, if temporal and temporal information can be added to the relation attribute descriptor, any temporal and temporal can be expressed. In the present embodiment, it is set only when necessary as a member variable (1051) of the structure of the relation attribute descriptor. In addition to tense and time, "someday" and "always", which are called temporal logic, are also set only when necessary as member variables (1051) of the structure of the relation attribute descriptor.

意味言語の文章を扱う場合、図18Bのように文章の主題と、時間や場所など文章全体を修飾する情報は独立して格納したほうが扱いやすい。例えば、「私は東京五輪でメダルをとりたかった」という文章を考える。このとき、「私はメダルをとりたかった」を主題とし、「東京五輪で」は副次的な情報と考える。つまり、(1052)と(1053)のように、あえて分けるのである。「東京五輪で」という情報は、特定の語にかかるのではなく、文全体にかかる。他の文例で例えれば、「私は12月で16歳になる」という文章では、「12月で」が明確にどの語にかかるのでもなく、「私は16歳になる」という文章全体にかかっている。このように、文全体を修飾する「1値性文全体関係属性記述子」はどれかの要素に直接かかるのではない。そのため、なんらかの法則にしたがって木構造に規則的に組み込むか、別の木として分ける必要がある。本実施例では、補助情報として分けて格納し、かつセットで扱う方法を選択した。図18Bの例でいうと、「私は東京五輪でメダルを取りたかった」という文章の「東京五輪で」の「で」が1値性文全体関係属性記述子である。また、「私は、競技場で走る」という文章の「競技場で」の「で」が1値性文全体関係属性記述子である。これは、英語での前置詞「at」「on」「in」などの情報に相当する。こういった情報は、文章全体にかかるため、日本語では特に語順の上での自由度が高い。さらに、言語によって扱いの異なる情報でもあり、英語のように前置詞で扱う場合もあれば、古代エジプト語のように活用の一部として特殊化する言語もある。さらに、同じ英語でも国によって「at」「on」「in」などは使い分けに違いがある。そのため、意味言語では独立した情報として保持しておき、自然言語に変換するときに適切なタイミングで適宜参照、出力するほうが扱いやすいのである。以降は、1052のような文章そのものを「意味主文」、意味主文を修飾する1053のような情報を「意味副文」として表記する。そして、意味副文をつくりだす「で」のような関係属性記述子を、「1値性文全体関係属性記述子」とよぶ。意味主文と意味副文は、プログラムとして実装する際に便利な要素と考えて説明しているが、意味言語に必須の要素ではない。   When dealing with sentences in a semantic language, as shown in FIG. 18B, it is easier to handle the subject of the sentences and information for modifying the whole sentence such as time and place independently. For example, consider the sentence "I wanted to win a medal in Tokyo Olympics." At this time, the theme is "I wanted to take medals", and I think "at Tokyo Olympics" is secondary information. In other words, they are divided intentionally as (1052) and (1053). The information "at Tokyo Olympics" does not apply to a specific word but to the whole sentence. For example, in the sentence "I will be 16 years old in December", the sentence "I will be 16 years old" in the whole sentence, "I will be 16 years old" It is over. Thus, the "one-value whole sentence relation attribute descriptor" that modifies the whole sentence does not directly apply to any element. Therefore, it is necessary to regularly incorporate into the tree structure according to some rule or separate as another tree. In the present embodiment, a method of separately storing as auxiliary information and handling in a set is selected. In the example of FIG. 18B, “de” of “at Tokyo Olympics” in the sentence “I wanted to win a medal at Tokyo Olympics” is a one-value whole sentence relation attribute descriptor. In addition, "de" at "at the stadium" in the sentence "I run at the stadium" is a one-value whole sentence relation attribute descriptor. This corresponds to information such as the prepositions "at", "on", and "in" in English. Such information covers the whole sentence, so in Japanese there is a high degree of freedom especially in word order. Furthermore, it is information that is handled differently depending on the language, and there are cases where it is handled with prepositions like English, and some languages are specialized as part of usage like ancient Egyptian. Furthermore, even in the same English language, "at", "on", "in", etc. differ depending on the country. Therefore, it is easier to handle semantic languages by retaining them as independent information and appropriately referring to and outputting at appropriate timing when converting into natural language. Hereinafter, a sentence such as 1052 is referred to as "mean text", and information such as 1053 for modifying the meaning text is referred to as "mean text". Then, a relation attribute descriptor such as "de" that produces a semantic sub-statement is called "one-value whole sentence relation attribute descriptor". Although the semantic main sentence and the semantic substatement are considered to be useful elements when implementing them as a program, they are not essential elements for the semantic language.

なお、この「1値性文全体関係属性記述子」には他の実装方法もある。1値性文全体関係属性記述子は、意味副文を分けるため便宜上「1値性関係属性記述子」として分類しているが、もしも木構造の一部として導入する実装とするなら、「2値性関係属性記述子」として扱う必要がある。なぜなら、かかる部分は曖昧だが、まぎれもなく修飾対象と概念識別子の関係を修飾する(つまり、文章構造を修飾する)機能を持つからである。したがって、「意味主文」と「意味副文」に分けない実装とするなら、図18Cや図18Dのように「で」を2値性関係属性記述子として木にくみ込むのが自然である。一つの木として扱うと、データ構造はシンプルになるが、自然言語に直すときの語順の扱いが複雑化しやすい。   There is another way of implementing this "one-value whole statement relation attribute descriptor". A one-value whole statement relation attribute descriptor is classified as a "one-value relation descriptor" for convenience in order to separate semantic sub-statements, but if it is implemented as part of a tree structure, "2 It should be treated as “value relationship relation attribute descriptor”. The reason is that such a part is ambiguous, but it has the function of modifying the relation between the object to be modified and the concept identifier (that is, modifying the sentence structure). Therefore, if the implementation is not divided into “meaning main sentence” and “meaning substatement”, it is natural to embed “de” in the tree as a binary property relation attribute descriptor as shown in FIG. 18C and FIG. 18D. When treated as a single tree, the data structure is simplified, but the word order when converting it to natural language is likely to be complicated.

(意味言語の表記)
意味言語は、図19のように数式に類似した形で表記できる。このように、意味言語は関係属性記述子を関数、概念識別子を変数とした関数とみることができる。これは、コンピュータ科学でよく使われる「ポーランド記法」と同じである。つまり、演算子が関係属性記述子、数値が概念識別子のポーランド記法と見なすことができる。無論、「逆ポーランド記法」でも表記できる。本明細書では、図19AにあるLISPのM式のようなカッコで表す式として意味言語を記述する。後述する実施例では、後述する「知識辞書」の記録や、意味言語の出力の際にはこの式表記を用いる。もちろん、実装に際しては概念と概念の関係性を表すことができる表記ならどんなものでもよい。意味言語では、関係属性記述子と概念識別子に一意のIDを割り当てて処理するが、これは人間には見づらい。そこで、式の明確性や説明の明瞭性を損なわない場合は、関係属性記述子の日本語表記を「[」と「]」でくくり、概念識別子を日本語表記した、図19Bのような可読性のある簡易表記も併用する。
(Notation of semantic language)
The semantic language can be expressed in a form similar to a mathematical expression as shown in FIG. Thus, the semantic language can be regarded as a function with the relation attribute descriptor as a function and a function with a concept identifier as a variable. This is the same as "Poland's notation" often used in computer science. That is, the operator can be regarded as a relation attribute descriptor, and the numerical value can be regarded as the Polish notation of a concept identifier. Of course, it can also be written in "reverse Polish notation". In this specification, the semantic language is described as an expression expressed in parentheses, such as the LISP M expression in FIG. 19A. In the embodiment to be described later, this formula notation is used for the recording of the "knowledge dictionary" to be described later and the output of the semantic language. Of course, in the implementation, any notation that can express the relation between concepts and concepts may be used. The semantic language assigns unique IDs to relational attribute descriptors and concept identifiers for processing, which is difficult for humans. Therefore, readability as shown in FIG. 19B in which the Japanese notation of the relation attribute descriptor is enclosed by “[” and “]” and the concept identifier is written in Japanese, when the clarity of the expression and the clarity of the explanation are not impaired. Use a simplified notation of

(意味言語のデータ構造)
本実施例では、概念識別子と関係属性記述子は、図20のような情報を保持し、互いにリンクすることで木構造を構築する。実施例ではC言語の構造体として実装している。概念識別子構造体(図20A)は、自身の単語IDと親ノードへのリンク(C言語ではポインタ)を持つ。イメージとしては図20Bのようなデータ構造である。関係係属性記述子構造体(図20C)は、自身の単語ID、時制、親ノードへのリンク、子ノードへのリンクとして概念識別子と関係属性記述子構造体へのリンクを2つずつ持つ。イメージとしては図20Dのようなデータ構造である。このように、2値性関係属性記述子は、子ノードへのリンクを2つ使い、1値性関係属性記述子は1つだけ使う。
(Data structure of semantic language)
In the present embodiment, the concept identifier and the relation attribute descriptor hold the information as shown in FIG. 20 and link them to construct a tree structure. In the embodiment, it is implemented as a C language structure. The concept identifier structure (FIG. 20A) has its own word ID and a link (pointer in C language) to its parent node. The image has a data structure as shown in FIG. 20B. The relation attribute descriptor structure (FIG. 20C) has its own word ID, a tense, a link to a parent node, and two links to a concept identifier and a relation attribute descriptor structure as a link to a child node. The image has a data structure as shown in FIG. 20D. Thus, the binary property relation attribute descriptor uses two links to child nodes, and uses only one single value property relation attribute descriptor.

全体としては、図21のようになる。子ノードのリンクは最大2つでよいが、C言語では型チェックが厳しく、汎用型を使うときはキャストが必要になるため、それぞれの型ごとに最大数ずつリンクを持たせた(キャストするとデバッグが難しくなる)。つまり、後述する実施例では関係属性記述子から出る子ノードへのリンクは4つもあるが、2値性関係属性記述子の場合は2つ使い、1値性関係属性記述子のときは1つしか使わない。これは開発環境に合わせた結果である点は明記しておく。このように、図21Aの木構造は、例えば図21Bのようなデータ構造で実現できる。他の新しいプログラミング言語(多態や汎用型などを持つJAVA(登録商標)のようなプログラミング言語)で開発する場合は、リンクは2つでよい。以上の理由で子ノードへのリンクは計4つあるが、子ノードは両方概念識別子である場合も、両方関係属性記述子である場合もあるため、無効なリンクは全てNULL等で無効を明示しておく。   As a whole, it becomes like FIG. A maximum of two child nodes can be linked, but type checking is strict in C language, and casts are necessary when using general-purpose types, so the maximum number of links for each type was provided (casting and debugging Is difficult). That is, although there are as many as four links from the relation attribute descriptor to the child node in the embodiment to be described later, two links are used for the binary relation relation attribute descriptor, and one link for the one-value relation relation attribute descriptor. I use only It should be noted that this is the result of matching the development environment. Thus, the tree structure of FIG. 21A can be realized, for example, by a data structure as shown in FIG. 21B. When developing with another new programming language (a programming language such as JAVA (registered trademark) having polymorphism and general-purpose types), two links may be sufficient. For the above reasons, there are a total of four links to child nodes, but both child nodes may be both concept identifiers or both relation attribute descriptors, so invalid links will all be invalidated with NULL etc. Keep it.

意味言語による文章は、今回の実施例では、1個の意味主文と、0個以上の意味副文をセットで扱う。意味副文は0個の場合もあれば、1つ以上、複数ある場合もある。そこで、プログラム内部では一つのオブジェクト(C言語では構造体)として図22Aのようにひとまとまりにし、意味副文の格納場所は複数保持させる必要がある。格納イメージとしては図22Bのようになる。つまり、意味主文と意味副文は木構造としては別にしつつ、セットで取り扱い、意味副文は複数格納できるようにする。   In the sentences according to the semantic language, in the present embodiment, one semantic main sentence and zero or more semantic sub sentences are treated as a set. There may be zero, one or more semantic sub-statements. Therefore, it is necessary to group together as one object (structure in C language) as shown in FIG. 22A in the program, and to store a plurality of storage locations of the semantic sub-statement. The stored image is as shown in FIG. 22B. That is, the semantic main sentence and the semantic sub-text are treated as a set separately while being separated as a tree structure, and a plurality of semantic sub-texts can be stored.

(自然言語から意味言語への変換処理の流れ)
自然言語から意味言語への変換処理は、例えば日本語では図23のように実施できる。この処理全体が本発明における意味言語への変換処理部12に相当し、フローチャート後半の木構造を構築する処理が意味言語変換処理部1205に相当する。本実施例では、実装の簡素化のため、よく使われる「再帰解析法」などの構文解析は使わず、先頭からの逐次処理を用いた。日本語の場合、入力として文章データを受け取る(ステップS1221)。まず形態素解析し(ステップS1222)、形態素を先頭からループ処理していく(ステップS1223)。ループの条件は、形態素がある間である。形態素ごとに活用があるかどうか自然言語ID辞書に問い合わせることで調べる(ステップS1224)。活用がない場合は(ステップS1224がNO)形態素に対応した概念識別子または関係属性記述子を認識し、単語IDを割り当てる(ステップS1228)。活用がある場合は(ステップS1224がYES)、まず形態素に対応する概念識別子に単語IDを割り当てる(ステップS1225)。次に、活用辞書を参照して、活用の種類を特定し、時制や時間を確定し、概念識別子に融合している関係属性記述子を活用の種類から特定し、それぞれに単語IDを割り当てる(ステップS1226)。時制や時間があった場合には、時制や時間を持っていた概念識別子の位置を記録する(ステップS1227)。この記録(point=word)は、値の相対的な位置ではなく、絶対的な位置(最後にどの概念識別子かわかるような、C言語でいうところのポインタのような記録)を記録する。この値は、木構造が完成した後の時制の記録に使う。これらの処理を、全ての形態素に適用する。全ての要素(概念識別子、関係属性記述子)に単語IDを割り振ったら、まずは文全体へかかる1値性関係属性記述子と、その記述子の前にある概念識別子(例では「東京五輪」「で」)をがあれば、副文木として木構造化する(ステップS1229)。ついで、残った関係属性記述子を先頭から順に処理していく(ステップS1230)。処理対象となった関係属性記述子の前にある概念識別子を子ノードとして部分木を作る(ステップS1231)。前回、一度も部分木を作る処理が行われていなければ((ステップS1232がNO)、初めて作られた木構造の部分木なので、これを木構造の根として最初の木構造とする。前回、一度でも部分木を作る処理が行われていれば(ステップS1232がYES)、前回処理した関係属性記述子(glue2)の空きノードに、今回作成した部分木のノードであるglueを接続する(ステップS1233)。その後、今回処理した関係属性記述子の位置を記録する(ステップS1234)。全ての関係属性記述子を処理し終わったら、(point=word)で記録していた概念識別子の属する親ノードに当たる関係属性記述子に時制・時間を登録する。(例では「とる」)の属する2値性関係属性記述子に付加情報として時制・時間を登録する(ステップS1235)。
(Flow of conversion process from natural language to semantic language)
The conversion process from a natural language to a semantic language can be performed, for example, in Japanese as shown in FIG. The entire processing corresponds to the conversion processing unit 12 to the semantic language in the present invention, and the processing for constructing the tree structure in the second half of the flowchart corresponds to the semantic language conversion processing unit 1205. In this embodiment, in order to simplify the implementation, syntax analysis such as “recursive analysis method” which is often used is not used, but sequential processing from the beginning is used. In the case of Japanese, sentence data is received as an input (step S1221). First, morpheme analysis is performed (step S1222), and the morpheme is subjected to loop processing from the beginning (step S1223). The condition of the loop is while there is a morpheme. It is checked by inquiring of the natural language ID dictionary whether there is utilization for each morpheme (step S1224). If not utilized (NO in step S1224), the concept identifier or relation attribute descriptor corresponding to the morpheme is recognized, and the word ID is assigned (step S1228). If there is utilization (YES in step S1224), first, a word ID is assigned to a concept identifier corresponding to a morpheme (step S1225). Next, referring to the utilization dictionary, the type of utilization is identified, the tense and time are determined, the relation attribute descriptor fused to the concept identifier is identified from the type of utilization, and the word ID is assigned to each. Step S1226). If there is a tense or time, the position of the concept identifier having the tense or time is recorded (step S1227). This record (point = word) records not the relative position of the value, but the absolute position (a record such as a pointer in C language that makes it possible to finally know which concept identifier). This value is used to record the tense after the tree structure is complete. These processes apply to all morphemes. After assigning word IDs to all elements (concept identifiers and relation attribute descriptors), first, a single-value relationship relation attribute descriptor that applies to the whole sentence, and a concept identifier in front of the descriptor (in the example, "Tokyo Olympics" If there is ")", the tree is structured as a secondary tree (step S1229). Next, the remaining relation attribute descriptors are processed in order from the top (step S1230). A subtree is created with the concept identifier in front of the relation attribute descriptor to be processed as a child node (step S1231). If the process of creating a partial tree has not been performed at the last time ((NO in step S1232), it is a partial tree of a tree structure created for the first time, so this is made the first tree structure as the root of the tree structure. If processing to create a subtree has been performed even once (step S1232 is YES), glue, which is the node of the subtree created this time, is connected to the empty node of the relation attribute descriptor (glue2) processed previously (step After that, the position of the relation attribute descriptor processed this time is recorded (step S1234) When all the relation attribute descriptors have been processed, the parent node to which the concept identifier recorded in (point = word) belongs Register the tense / time in the relation attribute descriptor that corresponds to the “Take” in the example. (Step S1235).

具体的な処理例としては、まず「私は東京五輪でメダルをとりたかった」という自然言語文章を受け取る(1236)。次に形態素解析し(1237)、活用を認識して(1238)、具体的な概念識別子や関係属性記述子として分解する(1239)。次に、文全体への1値性関係属性記述子があるので、「東京五輪で」を副文として木構造にする(1240)。次に、先頭から最初の関係属性記述子「は」に注目し、「は」の前の要素「私」とともに「私は」のノードを作る(1241)。これは最初に作られた主文の木構造のパーツなので、追加の処理はしない。次に、「メダルを」のノードを作る(1242)。前回処理した「は」の空きノードに「メダルを」のノードを追加する(1243)。次に、「とりたい」が分解された「とる+〜したい」のノードを作る(1244)。前回処理した「を」の空きノードに「とる+〜したい」のノードを追加する(1245)。最後に、時制を持っていた単語(この場合は「とる」)の属する2値性関係属性記述子「を」に付加情報として時制の「過去」を登録する(1246)。   As a specific processing example, first, a natural language sentence “I wanted to take a medal in Tokyo Olympics” is received (1236). Next, morphological analysis (1237), utilization is recognized (1238), and it is decomposed as a concrete concept identifier or relation attribute descriptor (1239). Next, since there is a one-valued nature relation attribute descriptor for the whole sentence, “in Tokyo Olympics” is made into a tree structure as a sub-statement (1240). Next, look at the first relation attribute descriptor "ha" from the top, and create a node "i" with the element "me" preceding "ha" (1241). Since this is a part of the tree structure of the main sentence made at the beginning, no additional processing is done. Next, the node of "tonal" is made (1242). A node of "medal" is added to the previously processed "ha" empty node (1243). Next, a node of “to take + to do” is formed by resolving “to take” is decomposed (1244). A node of "take +-want" is added to the previously processed free node of "to" (1245). Finally, the “past” of the tense is registered as additional information to the binary property relation attribute descriptor “to” to which the word having the tense (in this case, “takes”) belongs (1246).

(意味言語から自然言語への変換処理の流れ)
意味言語から自然言語へ変換する処理を、順を追って説明する。この処理が、本発明における自然言語への変換処理部14に相当する。まずは、意味言語から自然言語へ変換する処理において使う、活用単位というしくみを、図24にて説明する。意味言語では、図24Aのように関係属性記述子をノードとして木構造を形成し、概念識別子の関係などを記録する。このとき、意味言語においては、単語の活用が表す意味を切り離し、「とりたい」の「とる」(1254)と分けて、時制や希望を表す別の関係属性記述子として記録している(1252、1253)。これを日本語として出力する際には、日本語文法に則って、1252、1253、1254をまとめて活用形として出力する必要がある。そのため、日本語処理においては、これらをまとめた1251のようなまとまりを「活用単位」とよび、まとめて処理する実装となっている。本実装では、活用単位は大きく分けて3タイプに対応している。いずれも活用辞書に格納された情報によって具体的な活用文字列を確定する。図24Bは、1値性関係属性記述子に、活用のある概念識別子が接続した状態である。例えば、「希望」+「とる」で「とりたい」といった例である。さらに図24Cのように1値性関係属性記述子が複数連続する場合もある。この場合、下位(図で下方向)の概念識別子を再帰的に修飾する。例えば「希望」+「受動」+「とる」で「とられたい」といった例である。また、日本語においては時制を活用で表すため、図24Dのように時制のある2値性関係属性記述子の下位に活用のある概念識別子がある場合は、その時制も活用単位に含まれる。例えば、「過去時制」+「とる」で「とりたかった」といった例である。このように、活用単位は、日本語文法上ひとまとまりなので、日本語出力の際にはまとめて扱う。
(Flow of conversion process from semantic language to natural language)
The process of converting a semantic language to a natural language will be described in order. This processing corresponds to the conversion processing unit 14 for natural language in the present invention. First, a mechanism called a usage unit used in the process of converting a semantic language to a natural language will be described with reference to FIG. In the semantic language, as shown in FIG. 24A, a tree structure is formed with the relation attribute descriptor as a node, and the relation of concept identifiers is recorded. At this time, in the semantic language, the meaning represented by the utilization of the word is separated, and it is recorded as another relational attribute descriptor representing tense or hope, separately from “take” (1254) of “want”. , 1253). In order to output this as Japanese, it is necessary to output 1252 1253, and 1254 collectively as inflected forms according to the Japanese grammar. Therefore, in Japanese language processing, a group such as 1251 that combines these is called "utilization unit", and it is an implementation that processes it collectively. In this implementation, usage units are roughly divided into three types. In either case, a specific utilization character string is determined by the information stored in the utilization dictionary. FIG. 24B shows a state in which a concept identifier with utilization is connected to the one-valued nature relation attribute descriptor. For example, it is an example of "want" to "take" by "hope" + "take". Furthermore, as shown in FIG. 24C, there may be a case where a plurality of one-valued property relation attribute descriptors are continuous. In this case, the lower (downward in the figure) concept identifiers are recursively modified. For example, "desired" + "passive" + "take" is an example such as "want to be taken". In addition, in Japanese, since the tense is used by utilizing, if there is a concept identifier with utilization below the binary property relation attribute descriptor with tense as shown in FIG. 24D, that tense is also included in the utilization unit. For example, "past tense" + "take" is an example of "wanted to take". In this way, the utilization units are grouped in Japanese grammar, so they will be handled together when outputting Japanese.

活用単位を扱うには、出力の前に「活用単位を認識する処理」と、「活用単位に対応した活用文字列を得る処理」が必要である。活用単位は、木構造における特定のノード以降(特定のノードから下、葉の方向)となるので、範囲を認識し、その範囲をまとめて処理する。   In order to handle utilization units, it is necessary to perform "processing to recognize utilization units" and "processing to obtain utilization character strings corresponding to utilization units" before output. Since the utilization unit is after a specific node in the tree structure (from the specific node to the bottom, in the direction of leaves), the range is recognized, and the range is processed collectively.

(活用単位の処理の流れ)
「活用単位か判定する処理」を図25に示す。この処理と、後述する図26の処理が、本発明における活用処理部1401に相当する。この処理は、木構造を処理していく中で、「これから処理する関係属性記述子以降が活用単位でないか、活用単位ならどの範囲を処理すべきか」を知るために必要である。従って、入力として「意味言語文章」と「意味言語文章中の、判定する関係属性記述子の位置」が必要である。活用単位を認識する処理では、処理結果として、1つまたは2つの結果が得られる。「活用単位であるかどうか」の真偽値は必ず得られる結果である。さらに、結果が活用単位であると判定され、その範囲が2値性関係属性記述子の左右どちらである場合(図24Dのような場合)のみ、左右どちらかを示す2種類の値が得られる。活用単位を認識する処理では、意味言語文章(ステップS1261)、判定する関係属性記述子の位置(ステップS1262)、を入力として受け取る。次に、処理の開始位置(木構造の走査開始位置)を、(ステップS1262の入力)を使って設定する(ステップS1263)。次に、木構造を下方向に行きがけ順に辿る(ステップS1264)。なお、このループ処理は行きがけ順で実装しているが、途中に2値性関係属性記述子があれば必ず分岐して判定結果が出る処理があるので、きちんとした文章であれば戻ることはない。処理中の関係属性記述子glueが2値性でなければ(ステップS1265がNO)、関係属性記述子glueは1値性なので、glueの子にある概念識別子が活用があるかどうか判定する(ステップS1266)。概念識別子が活用のあるものなら(ステップS1266がYES)、指定の関係属性記述子positon以降(positionを含む)が、活用単位であると判定する(ステップS1275)。処理中の関係属性記述子glueの子が活用のある概念識別子でない(つまり活用のない概念識別子であるか、さらに関係属性記述子が接続しているかのどちらかである)のなら(ステップS1266がNO)、glueの子を調べる。glueの子が概念識別子でないなら(ステップS1267がNO)、処理対象の関係属性記述子をglueの子に変更する(ステップS1268)。子が存在する限り、ループは継続する(ステップS1269)。ループをそのまま終了してしまった場合は、途中で活用のある概念識別子が見つからなかったということなので、position以降が活用単位でないと判断する(ステップS1270)。glueの子が概念識別子なら(ステップS1267がYES)、ループを抜け、position以降が活用単位でないと判断する(ステップS1270)。処理対象の関係属性記述子glueが2値性関係属性記述子である場合(ステップS1265がYES)、glueの両側の関係属性記述子を調査する。まず、glueが時制を持ち、かつ左子ノードが活用のある概念識別子なら(ステップS1271がYES)、positionより左下(positionを含まない)が時制のみ(1値性の関係属性記述子が介在しない)の活用単位であると判定する(ステップS1274)。glueが時制を持たないか左子ノードが活用のある概念識別子なら(ステップS1271がNO)、さらに右子ノードを調査する。glueが時制を持ち、かつ右子ノードが活用のある概念識別子なら(ステップS1272がYES)、positionより右下(positionを含まない)が時制のみ(1値性の関係属性記述子が介在しない)の活用単位であると判定する(ステップS1273)。glueが時制を持たないか右子ノードが活用のある概念識別子なら(ステップS1272がNO)、position以降が活用単位でないと判断する(ステップS1270)。このように、活用単位であるかどうか判定し、その形態(position以降か、positionより左右どちらか下)が結果として得られる処理である。
(Flow of processing of utilization unit)
The process of determining whether it is an application unit is shown in FIG. This process and the process of FIG. 26 described later correspond to the utilization processing unit 1401 in the present invention. This processing is necessary in order to process "a tree structure" and to know "if the relation attribute descriptor to be processed from now is not the usage unit, and if it is the usage unit, which range should be processed". Therefore, as inputs, "the semantic language sentence" and "the position of the relation attribute descriptor to be determined in the semantic language sentence" are required. In the process of recognizing utilization units, one or two results are obtained as process results. The true / false value of "whether it is a usage unit" is a result that can be obtained without fail. Furthermore, two types of values indicating either right or left can be obtained only when the result is determined to be a usage unit and the range is either the left or right of the binary property relation descriptor (as in FIG. 24D). . In the process of recognizing the usage unit, the semantic language sentence (step S1261) and the position of the relation attribute descriptor to be determined (step S1262) are received as inputs. Next, the start position of the process (the start position of the tree structure scan) is set using (input of step S1262) (step S1263). Next, the tree structure is traced downward in the descending order (step S1264). Note that this loop processing is implemented in the order of the end, but if there is a binary property relation attribute descriptor in the middle, there will be processing to always branch and the judgment result will be output. . If the relation attribute descriptor glue being processed is not binary (NO in step S1265), the relation attribute descriptor glue is single-valued, so it is determined whether the concept identifier in the children of glue is used (step S1266). If the concept identifier is in use (YES in step S1266), it is determined that the designated relationship attribute descriptor positon and subsequent (including the position) is the use unit (step S1275). If the child of the relation attribute descriptor glue being processed is not a utilized concept identifier (that is, it is either a not-used concept identifier or a relation attribute descriptor is connected) (step S1266 is NO), examine the children of glue. If the child of glue is not a concept identifier (NO in step S1267), the relationship attribute descriptor to be processed is changed to a child of glue (step S1268). The loop continues as long as the child exists (step S1269). If the loop is ended as it is, it means that the concept identifier having utilization is not found halfway, so it is judged that the position and subsequent units are not utilization units (step S1270). If the child of glue is a concept identifier (YES in step S1267), the process exits the loop and determines that the position and subsequent units are not usage units (step S1270). If the relation attribute descriptor glue to be processed is a binary nature relation attribute descriptor (YES in step S1265), the relation attribute descriptors on both sides of glue are checked. First, if glue has a tense and the left child node is a concept identifier with utilization (YES in step S1271), only the lower left (does not include position) than position has tense (no one-valued relationship attribute descriptor intervenes) It is judged that it is a utilization unit of (step S1274). If glue has no tense or the left child node is a concept identifier with utilization (NO in step S1271), the right child node is further examined. If glue has a tense and the right child node is a concept identifier with utilization (YES in step S1272), only the lower right (does not include position) than position is the tense (no one-valued relationship attribute descriptor intervenes) It is determined that it is an application unit of (step S1273). If glue does not have a tense or if the right child node is a concept identifier with utilization (NO in step S1272), it is determined that the position and subsequent units are not utilization units (step S1270). In this way, it is determined whether or not it is a unit of use, and the form (position or later, or to the left or right below position) is the processing obtained as a result.

「活用単位に対応した活用文字列を得る処理」を図26に示す。この処理と前述した図25の処理が、本発明における活用処理部1401に相当する。この処理は、前述の「活用単位を認識する処理」によって活用単位であることを調査した上で行われる処理である。活用単位は、「1値性関係属性記述子の下に概念識別子が接続する」か、「2値性関係属性記述子の下の左右どちらかに概念識別子が接続する」のいずれかである。よって、活用単位を処理するには、意味言語文章(ステップS1276)、活用単位の先頭(活用単位の一番上の親ノード)の位置(ステップS1277)、2値性関係属性記述子の場合は、左右どちらのリンクが対象の概念識別子かの情報(ステップS1278)の3つないしは2つの入力が必要である。3つのうち、左右情報(ステップS1278)はないこともある。入力を受けて、処理の開始位置をpositionに設定する(ステップS1279)。処理は、ノードを末尾まで辿り(葉の方向に末尾に至るまで辿る)、見つけた順にglueを処理していく(ステップS1280)。glueが1値性関係属性記述子でないなら(ステップS1281がNO)、次の判定に移る。glueが2値性関係属性記述子でないか、時制を持つのでないなら(ステップS1282がNO)、次の判定に移る。glueのLR側の子ノード(LRは左か右かを指定する値で、positionに2値性の関係属性記述子が指定された場合は必ず設定される)に活用のある概念識別子があれば(ステップS1283がYES)、検索条件に概念識別子の単語IDを追加してループを抜ける(ステップS1288)。ループは木構造の末尾でない限り継続する(ステップS1284)。glueが2値性関係属性記述子で、かつ時制を持つなら(ステップS1282がYES)、検索条件に時制のIDを追加する(ステップS1289)。glueのLR側の子ノードに活用のある概念識別子がなければ(ステップS1283がNO)、何もせずループを続ける。glueが1値性関係属性記述子であれば(ステップS1281がYES)、検索条件にglueの単語IDを追加する(ステップS1286)。glueの子ノードが概念識別子であれば(ステップS1287がYES)、検索条件に概念識別子の単語IDを追加してループを抜け(ステップS1288)、検索条件にあう活用文字列を活用辞書から取得する(ステップS1285)。glueの子ノードが概念識別子でなければ(ステップS1287がNO)、次の関係属性記述子を調べるためループに戻る。全てのループ処理が終わったら、検索条件としてkeyに記録された単語IDを元に、活用辞書から活用文字列を取得し(ステップS1285)、処理結果とする。   FIG. 26 shows the “process of obtaining a use character string corresponding to the use unit”. This process and the process of FIG. 25 described above correspond to the utilization processing unit 1401 in the present invention. This process is a process performed after investigating that it is a utilization unit by the above-mentioned "process which recognizes utilization unit." The unit of use is either "connecting a concept identifier under the one-value property relation attribute descriptor" or "connecting a concept identifier to either the left or the right of the binary property relation attribute descriptor." Therefore, in order to process the usage unit, the meaning language sentence (step S1276), the position of the beginning of the usage unit (the topmost parent node of the usage unit) (step S1277), and in the case of the binary relationship attribute descriptor .., Three or two inputs of information (step S1278) indicating which of the left and right links is the target concept identifier are required. Of the three, there may be no left / right information (step S1278). In response to the input, the start position of the process is set to position (step S1279). The process follows nodes to the end (follows the leaves in the direction of leaves to the end) and processes the glue in the order found (step S1280). If glue is not a one-value nature relation attribute descriptor (NO in step S1281), the process proceeds to the next determination. If glue is not a binary nature relationship attribute descriptor or does not have a tense (NO in step S1282), the process proceeds to the next determination. If the LR side child node of glue is a value that specifies whether LR is left or right, and is always set if a binary relationship attribute descriptor is specified for position, if there is a concept identifier that is useful (Step S1283 is YES), the word ID of the concept identifier is added to the search condition, and the loop is exited (Step S1288). The loop continues unless it is the end of the tree structure (step S1284). If glue is a binary property relation attribute descriptor and has a tense (YES in step S1282), the ID of the tense is added to the search condition (step S1289). If the LR side child node of glue does not have a concept identifier with use (NO in step S1283), the loop continues without doing anything. If glue is a one-value nature relation attribute descriptor (YES in step S1281), the word ID of glue is added to the search condition (step S1286). If the child node of glue is a concept identifier (YES in step S1287), the word ID of the concept identifier is added to the search condition, the loop is exited (step S1288), and the utilized character string meeting the search condition is acquired from the utilization dictionary (Step S1285). If the child node of glue is not a concept identifier (NO in step S1287), the process returns to the loop to check the next relation attribute descriptor. When all loop processes are completed, a use character string is acquired from the use dictionary based on the word ID recorded in the key as the search condition (step S1285), and it is set as the processing result.

意味言語から自然言語への変換処理は、図27のように実施される。この処理が、本発明における自然言語変換処理部1404に相当する。意味言語は木構造で記録されているため、関係属性記述子を処理単位として、再帰的な処理をする。つまり、関係属性記述子に注目し、処理しながら、その子ノードに関係属性記述子があれば、同様の処理を再帰的に適用する。そのため、自身を呼び出す再帰的な定義を持つGlueSubサブルーチンを呼び出すことで実現する。まず、意味言語文章を入力として受け取る(1421)。次に、最初に処理すべき関係属性記述子として、木構造の根に当たる関係属性記述子を変数glueに指定する(1422)。最後に、サブルーチンとして定義されたGlueSubを、glueと意味言語文章を入力として呼び出す(1423)。   The conversion process from the semantic language to the natural language is performed as shown in FIG. This processing corresponds to the natural language conversion processing unit 1404 in the present invention. Since the semantic language is recorded in a tree structure, recursive processing is performed with the relation attribute descriptor as the processing unit. That is, while paying attention to the relation attribute descriptor and processing, if the child node has a relation attribute descriptor, the same process is recursively applied. Therefore, it is realized by calling the GlueSub subroutine which has a recursive definition that calls itself. First, semantic language sentences are received as input (1421). Next, as the relation attribute descriptor to be processed first, the relation attribute descriptor corresponding to the root of the tree structure is specified in the variable glue (1422). Finally, GlueSub defined as a subroutine is called with glue and a semantic language sentence as input (1423).

意味言語から自然言語への変換処理のサブルーチンであるGlueSubは、図28のように再帰的に実施される。まず、意味言語で記録された意味言語文章form(ステップS1431)と、処理対象の関係属性記述子glue(ステップS1432)を入力として受け取る。処理するglueが2値性である(ステップS1433がYES)なら、次の判定処理に進む。glueの左子ノード以降が活用単位なら(ステップS1434がYES)、活用単位の活用文字列を取得し(ステップS1435)、活用文字列を出力する(ステップS1436)。glueの左子ノード以降が活用単位でないなら(ステップS1434がNO)、次の判定に進む。glueの左子ノードが概念識別子でなければ(ステップS1437がNO)、左子ノードを指定してGlueSub自身を再帰的に呼び出す(ステップS1439)。glueの左子ノードが概念識別子であれば(ステップS1437がYES)、左子ノードの文字列を出力する(ステップS1438)。次に、glueの文字列を出力する(ステップS1440)。glueが日本語でいうところの格助詞で、かつ意味副文があれば(ステップS1441がYES)、意味副文の子ノードの文字列を出力し(ステップS1442)、意味副文の関係属性記述子の文字列を出力する(ステップS1443)。glueが格助詞でないか、または意味副文がなければ(ステップS1441がNO)そのまま次の判定に移る。glueの右子ノード以降が活用単位であれば(ステップS1444がYES)、活用単位の活用文字列を取得し(ステップS1445)、活用文字列を出力する(ステップS1446)。glueの右子ノード以降が活用単位でないなら(ステップS1444がNO)、次の判定に進む。glueの右子ノードが概念識別子でなければ(ステップS1447がNO)、右子ノードを指定してGlueSub自身を再帰的に呼び出す(ステップS1449)。glueの右子ノードが概念識別子であれば(ステップS1447がYES)、右子ノードの文字列を出力する(ステップS1448)。一方、対象のglueが2値性でない(1値性である)なら(ステップS1433がNO)、次の判定に移る。glueの子ノード以降が活用単位であれば(ステップS1450がYES)、活用単位の活用文字列を取得し(ステップS1451)、活用文字列を出力する(ステップS1452)。glueの子ノード以降が活用単位でないなら(ステップS1450がNO)、次の判定に進む。glueの子ノードが概念識別子でなければ(ステップS1453がNO)、子ノードを指定してGlueSub自身を再帰的に呼び出す(ステップS1456)。glueの子ノードが概念識別子であれば(ステップS1453がYES)、子ノードの文字列を出力する(ステップS1454)。最後に、glueの文字列を出力する(ステップS1455)。
なお、単語IDに対応する文字列は、全て日本語ID辞書から取得する。また、自然言語を出力する先である通知部(19)は、発明の実施態様により、メモリであったりコンソールなど適切なものを想定している。後述する実施例では、コマンドプロンプトに表示またはファイルにテキストとして出力する機能として実装している。
GlueSub which is a subroutine of conversion processing from a semantic language to a natural language is recursively implemented as shown in FIG. First, a semantic language sentence form (step S1431) recorded in a semantic language and a relation attribute descriptor glue (step S1432) to be processed are received as inputs. If the glue to be processed is binary (YES in step S1433), the process proceeds to the next determination process. If the left child node of glue is the utilization unit (YES in step S1434), the utilization character string of the utilization unit is acquired (step S1435), and the utilization character string is output (step S1436). If the left child node of glue is not the usage unit (NO in step S1434), the process proceeds to the next determination. If the left child node of glue is not a concept identifier (NO in step S1437), GlueSub itself is recursively called by specifying the left child node (step S1439). If the left child node of glue is a concept identifier (YES in step S1437), the character string of the left child node is output (step S1438). Next, the character string of glue is output (step S1440). If glue is a case particle in Japanese, and there is a semantic substate (YES in step S1441), the character string of the child node of the semantic substate is output (step S1442), and the relational attribute description of the semantic substate The character string of the child is output (step S1443). If glue is not a case particle or there is no semantic sub-sent (NO in step S1441), the process proceeds to the next determination. If the right child node of glue or later is the usage unit (YES in step S1444), the usage character string of the usage unit is acquired (step S1445), and the usage character string is output (step S1446). If the right child node of glue is not the utilization unit (NO in step S1444), the process proceeds to the next determination. If the right child node of glue is not a concept identifier (NO in step S1447), GlueSub itself is recursively called by specifying the right child node (step S1449). If the right child node of glue is a concept identifier (YES in step S1447), the character string of the right child node is output (step S1448). On the other hand, if the target glue is not binary (one-valued) (NO in step S1433), the process proceeds to the next determination. If a child node of glue is a utilization unit (YES in step S1450), the utilization character string of the utilization unit is acquired (step S1451), and the utilization character string is output (step S1452). If the child nodes after glue are not usage units (NO in step S1450), the process proceeds to the next determination. If the child node of glue is not a concept identifier (NO in step S1453), GlueSub itself is recursively called by specifying the child node (step S1456). If the child node of glue is a concept identifier (YES in step S1453), the character string of the child node is output (step S1454). Finally, the string of glue is output (step S1455).
Note that all character strings corresponding to word IDs are acquired from the Japanese ID dictionary. Further, according to the embodiment of the invention, the notification unit (19) to which the natural language is output assumes an appropriate device such as a memory or a console. In the embodiment described later, it is implemented as a function to display on a command prompt or output as text to a file.

ステップS1441の処理についてもう少し説明する。意味副文の情報は、特に日本語においてはいろいろな位置で出力できる。例えば、「私は、東京五輪でメダルを取りたかった」「東京五輪で、私はメダルを取りたかった」「私は、メダルを取りたかった、東京五輪で」はいずれも意味が通じる。試験実装では、最も教科書的な模範的位置に出力している。   The process of step S1441 will be described in more detail. The semantic subtext information can be output at various positions, especially in Japanese. For example, "I wanted to get a medal at Tokyo Olympics" "I wanted to get a medal at Tokyo Olympics" "I wanted to get a medal at Tokyo Olympics" all mean. In the test implementation, it outputs to the most textbook model position.

(意味言語から自然言語への変換例)
図29は、意味言語から自然言語に変換する処理の例である。図29Aは処理対象の意味言語文、図29Bはその内部表現である木構造である。図29Cは、木構造の行きがけ順の辿り方における処理順序である。左優先で、見つけた順に処理していく。この例では、まず意味主文の木構造の根である「は」関係属性記述子が最初の処理対象である。左ノードを出力し、関係属性記述子自身を出力する(1461)。次に、格助詞が出力されたので意味副文を出力する(1462)。次に、右ノード「を」を対象とする。左ノード「メダル」を出力、関係属性記述子自身を出力する(1463)。右ノードは活用単位なので、時制を含めて活用文字列を取得し、出力する(1464)。
(Example of conversion from semantic language to natural language)
FIG. 29 shows an example of processing for converting a semantic language into a natural language. FIG. 29A is a semantic language sentence to be processed, and FIG. 29B is a tree structure which is its internal representation. FIG. 29C shows the processing order in the traversal order of the tree structure. Process in the order found, with left priority first. In this example, first of all, the “a” relation attribute descriptor, which is the root of the semantic main sentence tree structure, is the first process target. The left node is output, and the relation attribute descriptor itself is output (1461). Next, since the case particle is output, the semantic sub sentence is output (1462). Next, the right node “を” is targeted. The left node "medal" is output, and the relation attribute descriptor itself is output (1463). Since the right node is a utilization unit, it acquires a utilization character string including a tense and outputs it (1464).

(各辞書のデータ構造)
自然言語ID辞書は、図30Aのような情報をもつデータとして作成する。この辞書が、本発明における自然言語ID辞書16に相当する。今回は、UTF−16文字コードのテキスト形式で作成した。本実施例では、一行目に単語ID辞書の文字コード、言語の種別を記述している(1621)。二行目に自然言語ID辞書のバージョンを記述している(1622)。以降は、単語ID、単語種別数値、自然言語における表記を列挙している。自然言語ID辞書の目的は、自然言語の表記と単語IDの対応付けを行い、相互変換を行なうための情報を得ることである。従って、この辞書は日本語用、古代エジプト語用、英語用・・・と自然言語ごとに別個に作成する必要があり、なおかつ単語IDを共有するように作成する必要がある。例えば、今回の試験実装では「男」は6023という単語IDが割り振られているので、英語における自然言語ID辞書の「Man」、ヒエログリフでの自然言語ID辞書の絵文字「男」も図30BのようにおなじIDを割り振る。自然言語ID辞書は、少なくとも「単語ID」と「自然言語表記」が必要である。加えて、その単語の大雑把な分類情報があれば、自然言語へ変換する際に便利である。後述する実施例では、単語種別数値として、日本語ID辞書に記録し、適宜参照できるようにしている。
(Data structure of each dictionary)
The natural language ID dictionary is created as data having information as shown in FIG. 30A. This dictionary corresponds to the natural language ID dictionary 16 in the present invention. This time, it was created in text format of UTF-16 character code. In the present embodiment, the character code of the word ID dictionary and the type of language are described in the first line (1621). The second line describes the version of the natural language ID dictionary (1622). After that, word ID, word type numerical value, and notation in natural language are listed. The purpose of the natural language ID dictionary is to associate natural language notations with word IDs and obtain information for mutual conversion. Therefore, this dictionary needs to be created separately for each of the Japanese language, the ancient Egyptian language, the English language,... And the natural language, and also needs to be created so as to share the word ID. For example, in this test implementation, the word ID “6023” is assigned to “male”, so “Man” in the natural language ID dictionary in English and the pictograph “male” in the natural language ID dictionary in hieroglyphs are also as shown in FIG. 30B. Assign the same ID. The natural language ID dictionary needs at least "word ID" and "natural language notation". In addition, rough classification information of the word is useful when converting to natural language. In an embodiment to be described later, a word type numerical value is recorded in the Japanese ID dictionary so that it can be referred to as appropriate.

知識辞書は、図31のような情報をもつ。この辞書が、本発明における知識辞書17に相当する。知識辞書は、あらかじめ用意する「一般知識辞書」と、文章等の処理中に知識を追加更新していく「一時知識辞書」の2つがある。図31Aは知識辞書のうち、一般常識を記録する一般知識辞書図である。図31Bは知識辞書のうち、一時知識辞書である。知識辞書は意味言語で表現され、意味言語情報処理に必要なだけの網羅的な情報をもつ。この辞書の情報量と質が、意味言語情報処理の質を左右する。知識辞書の情報は、どの自然言語にも属さない共有知識であり、この辞書は一度作ってしまえばどの国の意味言語情報処理システムでもそのまま使える共有リソースである。   The knowledge dictionary has information as shown in FIG. This dictionary corresponds to the knowledge dictionary 17 in the present invention. There are two types of knowledge dictionaries: a "general knowledge dictionary" prepared in advance, and a "temporary knowledge dictionary" in which knowledge is added and updated during processing of sentences and the like. FIG. 31A is a general knowledge dictionary diagram for recording general common sense among knowledge dictionaries. FIG. 31B shows a temporary knowledge dictionary among the knowledge dictionaries. The knowledge dictionary is expressed in a semantic language and has as many pieces of information as necessary for semantic language information processing. The amount and quality of information in this dictionary affect the quality of semantic language information processing. Information in the knowledge dictionary is shared knowledge that does not belong to any natural language, and once this dictionary is created, it is a shared resource that can be used as it is in any country's semantic language information processing system.

知識辞書の保存形式は、処理の際に意味言語として解釈できればなんでもよい。本実施例ではテキスト形式で列挙しているが、独自のバイナリ形式で記録したり圧縮することもできる。他の形式については、図51にも説明している。前述した意味主文と意味副文という形式を使用する場合は、それぞれカッコで完結しているため、1行にまとめて記録しても不都合はない。もちろん、意味主文と意味副文がセットで扱われるなら、どのような表記・記録方法でもよい。意味言語の情報の一部をまとめて、別のデータの副情報とすることもできる。特に、意味副文は、時間や場所などを限定する情報であることが多いので、意味言語を使わずに時系列データとして表したり場所データと紐付けすることもできる。意味言語の別表記については図50、図51に別に紹介する。   The storage format of the knowledge dictionary may be anything as long as it can be interpreted as a semantic language during processing. Although listed in the text format in this embodiment, it can be recorded and compressed in its own binary format. Another form is also described in FIG. In the case of using the forms of the semantic main sentence and the semantic substatement described above, there is no problem even if they are collectively recorded on one line because they are completed in parentheses respectively. Of course, as long as semantic main texts and semantic subtexts are treated as a set, any notation / recording method may be used. A part of the information of the semantic language can be put together and used as side information of another data. In particular, since the semantic sub-text is often information that limits time, place, etc., it can be represented as time-series data or linked with place data without using a semantic language. Different notations of the semantic language are introduced separately in FIG. 50 and FIG.

人間が使う言語は主語も助詞も省けるものは省くため、これらを推定するために不可欠な知識は多い。この知識は、織田信長の生年月日のような、正に知識というものだけではない。我々人間が成長する中で常識として学んでいく、「物は支えがないと落ちる」とか「人間は跳べるが単独では飛べない」などの無意識にあるものも含む。 The language used by human beings excludes subjects and particles, so there is a lot of essential knowledge to estimate them. This knowledge is more than just knowledge like Oda Nobunaga's date of birth. We learn as common sense as we grow up, and we include unconscious things such as "If things fall without support" or "A person can jump but can not fly alone".

一般知識辞書は、図31Aのように様々な事柄の知識を意味言語で大量に記録する。一般知識辞書は、人間に一般常識として共有される情報を格納する。例えば、「人間は跳べる」「人間は飛べない」「リンゴは植物である」などといった知識である。この辞書はシステムの一部としてあらかじめ作成する。1701は、意味言語として単語IDのみで記述されたものであり、記録形式としてはこれで事足りる。1702は日本語で簡易表記したもの、1703は日本語で文章として大まかに表現したものである。本実施例では、テキストファイルとして作成し、一行目に文字コードとコメント等の自然言語の種類を指定している。本来、知識辞書は無国籍であり、自然言語は必要ないが、メンテナンス時には自然言語によるコメントがあったほうがやりやすいため、実施例では指定している。ただし、あくまで補足情報である。2行目には辞書のバージョンを記述している。3行目に実装レベルを記述している。4行目以降は、意味言語で記述された知識である。実装レベルについては、図52に関連して説明している。   The general knowledge dictionary records a large amount of knowledge of various things in a semantic language as shown in FIG. 31A. The general knowledge dictionary stores information shared as general common sense to humans. For example, knowledge such as "humans can jump", "humans can not fly", and "apples are plants". This dictionary is created in advance as part of the system. Reference numeral 1701 describes only a word ID as a semantic language, and this is sufficient as a recording format. 1702 is a simplified representation in Japanese, and 1703 is a rough expression in Japanese as a sentence. In this embodiment, a text file is created, and the type of a natural language such as a character code and a comment is specified in the first line. Essentially, the knowledge dictionary is stateless, and natural language is not necessary. However, since it is easier to have a comment in natural language at the time of maintenance, it is specified in the embodiment. However, it is supplementary information. The second line describes the version of the dictionary. The implementation level is described in the third line. The fourth and subsequent lines are the knowledge described in the semantic language. The implementation level is described with reference to FIG.

一時知識辞書は、図31Bのような話の過程や文脈で蓄積する知識である。従って、処理を通して随時追加、変更される。1704は、意味言語として単語IDのみで記述されたものであり、記録形式としてはこれで事足りる。1705は日本語で簡易表記したもの、1706は日本語で文章として大まかに表現したものである。人間同士の会話では、既にわかっていると思われる内容は略されることがあるが、その内容は既に話した内容による。また、個人の事情が平均的な人間と異なる場合もある。人間の作った物語(ファンタジーやフィクション)では、一般常識とかけ離れた設定(物語を語るのが猫である等)もありうるが、これも既に書かれた内容による。こういった、一般常識だけではわからない、今だけの一時的な知識を保持するのが一時知識辞書である。例えば、「ハリー・ポッターは魔法使いである」「人間は走れるが、下半身麻痺の○○君は走れない」など、一般常識を上書きしたり、補足して処理する知識である。この知識は、文章や会話の処理が進むとともに追加されていく。こういった知識がなければ、「吾輩は猫である」などを読み進める上ですぐに解釈に齟齬を来たす。   The temporary knowledge dictionary is knowledge accumulated in the process and context of the story as shown in FIG. 31B. Therefore, it is added or changed as needed throughout the process. Reference numeral 1704 denotes a semantic language described by using only a word ID, which is sufficient as a recording format. 1705 is a simplified expression in Japanese, and 1706 is a rough expression in Japanese as a sentence. In human-to-human conversations, content that you may already know may be abbreviated, but the content depends on what you have already spoken. In addition, personal circumstances may differ from the average human being. In human-made stories (fantasy and fiction), there may be settings different from general common sense (such as cats that tell stories), but this is also due to the content already written. A temporary knowledge dictionary holds such temporary knowledge that can not be understood only by general common sense. For example, it is knowledge that overwrites or supplements general common sense such as "Harry Potter is a magician" "A human can run but a lower body paralysis ○ can not run". This knowledge is added as the processing of sentences and conversation progresses. Without such knowledge, we immediately hesitate to interpret in order to read "I am a cat".

(意味言語の木構造に対する処理)
意味言語の知識は、図32のような処理ができる。この処理が、本発明における意味言語木の操作処理部1305に相当し、これらとその他の意味言語に対する処理を適切に呼び出して適用していくのが意味言語操作処理部13である。図32では関係属性記述子は四角で囲んだ一桁の番号で表している。概念識別子は丸で囲んだ2桁の番号で表している。それぞれの番号は単語IDの相対的な大小を表している(実際の定義とは異なる連番にしてある)。意味言語は木構造で表現でき、ノードとなっている関係属性記述子は自身の子ノードの関係性を表す。これはデータ構造としては2分木であり、2分木に対して行える処理、アルゴリズムが、同様に可能である。なお、コンピュータ科学における2分木は、一般的に左ノードと右ノードを区別する「順序木」の一種とされ、本実装でも順序木として扱う。ただし、意味言語の木構造は、特定の条件を満たした場合(後述する)は順序を入れかえることができる点が異なる。つまり条件を満たせば、「データ追加(図32A)」「データ挿入(図32B)」「データ置換(図32C)」「データ削除(図32D)」「データの並べ替え(図32E)」等が可能である。また、「データの検索」「木の複製」「木同士の比較」も可能である。ただし、一般的な木に対するアルゴリズムが全て適用可能ではあるが、木の構造自体に文章の意味があるので、文章の意味を失わない処理にするにはいくつかの制約がある。制約を加えた、意味言語へ適用する木構造への処理、アルゴリズムを以降は「意味言語操作」とよぶ。「データ追加・挿入・置換」は、元の自然言語文章を反映した、図13や図15等のような形を構築するために使う。または図32Cで後述するように、「等価である」などの条件付きで適用される必要がある。「データ削除」は、他の処理に付随して使われることはあっても、削除してしまうと文章要素が失われるため単独では使わない。「データの検索」「木の複製」「木同士の比較」は、木構造変化を伴わないのでほとんど制約はない。「データの並べ替え」は、条件付きで可能である。データの並べ替え(後述する正規化)が必要なのは、自然言語から変換された意味言語文章と他の意味言語文章を扱うときである。自然言語では同じ内容をいくつもの形式で表現でき、見た目の構造が違っていても内容は同じ文章がありえる。「意味言語への変換処理部(12)」では、自然言語を先頭から処理していくため、木構造は自然言語の語順をある程度反映する。つまり、「私はケーキとお茶が好きである。」と「私はお茶とケーキが好きである」などのように語順が違うと、その語順を反映した意味言語文章になる。この文章は互いに意味するところは同じなのに「木同士の比較」では同じであると判定できない。こういった場合は、意味を変更しないように制約を守りながら、一定のルール(本実装では単語IDの昇順)で並べ替えることで、文意を損なわないように木の構造を統一化できる。つまり、これが意味言語の正規化の意義である。
(Processing for tree structure of semantic language)
The knowledge of the semantic language can be processed as shown in FIG. This processing corresponds to the semantic language tree operation processing unit 1305 in the present invention, and the semantic language operation processing unit 13 appropriately calls and applies processing on these and other semantic languages. In FIG. 32, the relation attribute descriptor is represented by a single digit number surrounded by a box. The concept identifier is represented by a circled two digit number. Each number represents the relative magnitude of the word ID (a sequence number different from the actual definition). The semantic language can be expressed in a tree structure, and the relation attribute descriptor which is a node indicates the relation of its own child node. This is a binary tree as a data structure, and processes and algorithms that can be performed on binary trees are possible as well. Note that a binary tree in computer science is generally regarded as a kind of "ordered tree" that distinguishes left nodes from right nodes, and this implementation treats it as a ordered tree. However, the tree structure of the semantic language is different in that the order can be changed if specific conditions are satisfied (described later). That is, if the conditions are satisfied, “data addition (FIG. 32A)”, “data insertion (FIG. 32B)”, “data substitution (FIG. 32C)”, “data deletion (FIG. 32D)”, “data rearrangement (FIG. 32E)” etc. It is possible. In addition, "search for data", "replication of trees", and "compare trees" are also possible. However, although all algorithms for general trees are applicable, since the tree structure itself has the meaning of sentences, there are some limitations for processing that does not lose the meaning of sentences. The process to tree structure applied to semantic languages with added constraints, the algorithm will be called "semantic language manipulation" hereafter. "Data addition / insertion / replacement" is used to construct a form as shown in FIG. 13 or 15, etc., reflecting the original natural language text. Or, as described later in FIG. 32C, it needs to be applied conditionally such as “is equivalent”. Although "data deletion" may be used along with other processes, "deleting" is not used alone because the text elements are lost. "Searching data", "duplicating trees", and "comparing trees" have almost no limitations because they do not involve tree structure changes. "Reordering of data" is possible conditionally. Sorting of data (normalization described later) is necessary when dealing with semantic language sentences converted from natural language and other semantic language sentences. In natural language, the same content can be expressed in several forms, and the content may be the same even if the appearance structure is different. In the "conversion to semantic language processing unit (12)", since the natural language is processed from the beginning, the tree structure reflects the word order of the natural language to some extent. In other words, if the word order is different, such as "I like cake and tea" and "I like tea and cake", it becomes a semantic language sentence that reflects the word order. Although this sentence has the same meaning as each other, it can not be determined that "the comparison of trees" is the same. In such a case, it is possible to unify the tree structure so as not to lose the meaning by reordering according to a certain rule (in this implementation, the ascending order of the word ID) while keeping restrictions so as not to change the meaning. In other words, this is the meaning of normalization of the semantic language.

意味言語操作処理の意味言語の正規化操作をもう少し説明する。意味言語の正規化の主たる目的は、意味が同じだが木構造が違う二つの文章を規則に従って加工し、同一の木構造に揃えることである。意味言語文章の正規化の方法の一つは、ノードの並べ替えで実行できる。主要な並べ替え方は2通りあり、ひとつは1306のような、関係属性記述子の中での並べ替えである。これは、1306の12番と13番が属している3番の関係属性記述子が、左右の子ノードの区別を持たない場合に可能である。もう一つの並べ替えは1307のような、一直線に並んだ1値性関係属性記述子の親ノードと子ノードの並べ替えである。並べ替えのルールは一貫していれば何でもよいが、後述する実施例では単語IDの昇順で並べ替えている。   The semantic language normalization operation of the semantic language operation processing will be described a little more. The main purpose of normalization of semantic languages is to process two sentences with the same meaning but different tree structures according to the rules and to arrange them in the same tree structure. One of the methods of normalization of semantic language sentences can be implemented by sorting nodes. There are two major reordering methods, one is reordering within a relation attribute descriptor, such as 1306. This is possible when the third relationship attribute descriptor to which the 12th and the 13th of 1306 belongs has no distinction between the left and right child nodes. Another sort is a sort of parent nodes and child nodes of a linear one-valued property relation attribute descriptor such as 1307. The sorting rule may be anything as long as it is consistent, but in the embodiment described later, sorting is performed in the ascending order of the word ID.

意味言語操作処理の意味言語の並べ替えによる正規化操作ができるかどうかは、後述する実施例では図33のように定義、判定している。これは、いわゆるソースコードへの定義の直書きと呼ばれるものである。並べ替えできる関係属性記述子かどうかは関係属性記述子の定義に記録してもよいが、2つの理由で処理中に直書き(マクロ展開による直書き)している。1つ目の理由は、並べ替え可能な関係属性記述子の種類は比較的限られていることである。2つ目の理由は、並べ替え処理はかなり重い処理となり、単語IDで並べ替え可能かどうか問い合わせる関数の呼び出しがボトルネックとなることである。IF文の中に展開できるマクロ定義を使ったほうが処理を高速化できるため、C言語のマクロ定義を使用した。もちろん、単語IDの問い合わせで並べ替えできるかどうかを判定するよう実装してもよい。図33Aは、マクロ定義で、並べ替えが可能な関係属性記述子のIDを書き出し、それをさらに引数つきマクロに定義しなおしている。CAN_CHANGE_YOKOで、子ノード同士の横並べ替えが可能な関係属性記述子である判定を定義している。CAN_CHANGE_TATEで、親子ノードの縦並べ替えが可能な関係属性記述子である判定を定義している。図33Bのように記述すると、マクロの定義に基づいて図33CのようにIF文の中に展開される。2値性関係属性記述子の多くは方向性がある(左右の子に順序がある)。例えば、「ケーキを食べる」と「食べるをケーキ」は違う。つまり、左と右の子ノードを入れかえる処理をしてしまうと意味が変わってしまう(それどころか意味が通らない)。左と右の子の関係に方向性がない場合(例えば、「イコール、=(ID=3)」「かつ(ID=217)」「または(ID=60)」「と(ID=9)」のような関係属性記述子)では交換可能である。このうち、「イコール(=)」は注意が必要である。   In the embodiment to be described later, it is defined and determined as shown in FIG. 33 whether or not the normalization operation can be performed by rearranging the semantic language of the semantic language operation processing. This is called so-called direct writing of definition to source code. It may be recorded in the definition of the relation attribute descriptor whether or not the relation attribute descriptor that can be rearranged, but for the two reasons, direct writing (direct writing by macro expansion) is performed during processing. The first reason is that the types of sortable relationship attribute descriptors are relatively limited. The second reason is that the sorting process is quite heavy and the call of the function inquiring whether it is possible to sort by the word ID is a bottleneck. Because the processing can be speeded up by using macro definitions that can be expanded in the IF statement, I used C language macro definitions. Of course, it may be implemented to determine whether sorting is possible by a query of word IDs. FIG. 33A is a macro definition, which writes out the IDs of reorderable relationship attribute descriptors, and further redefines them in a macro with arguments. CAN_CHANGE_YOKO defines a determination that is a relation attribute descriptor capable of side-by-side rearrangement of child nodes. CAN_CHANGE_TATE defines a judgment that is a relation attribute descriptor that allows vertical rearrangement of parent-child nodes. If it describes like FIG. 33 B, it will be expand | deployed in IF statement like FIG. Many of the binary nature relationship attribute descriptors are directional (the right and left children have an order). For example, "eat cake" and "eat cake" are different. In other words, changing the process of replacing the left and right child nodes changes the meaning (in fact, the meaning does not pass). When there is no directivity in the relationship between left and right children (for example, "equal, = (ID = 3)" and "(ID = 217)", "or (ID = 60)", "and (ID = 9)" (Relational attribute descriptor like) can be exchanged. Of these, "equal (=)" requires attention.

「イコール(=)」は日本語では助詞「は」で表すことが多いが、「は」は多くの場合完全な「等価」ではない。「犬は動物」という文章は、「犬=動物」ではなく、「犬≦動物」である。「動物」のほうが上位概念であり、犬はその構成要素の一つに過ぎない。これは入れかえると「動物は犬」であり、とんでもない知識になってしまう。本実装の関係属性記述子の定義では、助詞の「は」は、IDが3の完全等価と、IDが1の限定等価(≦)に分けている。日本語での会話では、多くの場合IDが1の限定等価しか使わない。IDが3の完全等価は、知識としては必要だが、日常会話で「みかんは(=)蜜柑だよ」などと完全に等価であることに言及することは滅多にないし、完全に等価であるという意味の発言かどうかは(知識がなければ)聞きなおさないとわからない。例えば、「犬はCanislupus(カニスループス)」といわれても、犬の学名を知らなければ、「それって、犬イコールCanislupusってこと?」と聞きなおさなければ、Canislupusが上位概念である可能性を捨てきれない。逆にいえば、知識辞書があれば日常会話の「は」がどちらであるかは判定できるのである。従って、処理の根本である知識辞書では、完全等価の「は」と限定等価の「は」を厳密に使い分ける必要がある。このように、子ノードの交換は、IDが3の等価の場合は可能であるが、IDが1の場合は単純な交換はできない。   Although "equal (=)" is often represented by the particle "ha" in Japanese, "ha" is often not perfect "equivalent". The sentence "a dog is an animal" is not "a dog = an animal" but "a dog 動物 an animal". "Animal" is a broader concept, and dogs are just one of its components. If this is replaced, "Animal is a dog", and it will become a tremendous knowledge. In the definition of the relation attribute descriptor of this implementation, the particle "ha" is divided into complete equivalence of ID 3 and limited equivalence (≦) of ID 1. Conversations in Japanese often use only the limited equivalent with an ID of 1. Although the perfect equivalence of ID 3 is necessary as knowledge, it is rare to mention that it is completely equivalent to "Mikan is (=) Tangerine" etc. in daily conversation, but it is said that it is completely equivalent. It can not be understood unless it is rehearsed (unless you have knowledge) if it is a statement of meaning. For example, even if a dog is said to be Canislupus, if you do not hear the dog's scientific name, you can say that Canislupus is a high-level concept, unless it is heard again I can not throw away my sex. Conversely, if there is a knowledge dictionary, it can be determined which of daily conversations "ha" is. Therefore, in the knowledge dictionary that is the basis of the process, it is necessary to use the exact equivalent "ha" and the limited equivalent "ha" strictly. Thus, although the exchange of child nodes is possible if the ID is equal to 3, the simple exchange is not possible if the ID is 1.

一方、1値性関係属性記述子が一直線に連続している場合の多くは、互いを入れかえても意味は変わらない。1値性関係属性記述子は、自身の子ノード一つのみを修飾する。これは「活用単位」のようにその下位ノードを次々に再帰的に修飾し、まとめて検索条件となるため、処理する上で優先順位はない。従って、「させる(ID=6)」「not(ID=10)」「だろう(ID=30)」「命令(ID=31)」「もし(仮定)(ID=48)」「受動使役(ID=55)」「誘い(ID=56)」「仮定条件(ID=57)」「禁止(ID=58)」「要請(ID=59)」「結果として(ID=67)」のような1値性関係属性記述子が一直線に連続する部分では、親ノードと子ノードを自由に入れかえることができる。   On the other hand, in many cases where the 1-valued nature relation attribute descriptors are continuous in a straight line, the meanings do not change even if they are replaced with each other. The 1-valued nature relation attribute descriptor modifies only one child node of itself. There is no priority in processing this because the lower nodes are recursively modified one after another like "utilization unit" and collectively become search conditions. Therefore, "let (ID = 6)" "not (ID = 10)" "will (ID = 30)" command (ID = 31) "if (assuming) (ID = 48)" ID = 55) “Absent (ID = 56)” “Assumption condition (ID = 57)” “Prohibited (ID = 58)” “Request (ID = 59)” “Result (ID = 67)” The parent node and the child node can be freely interchanged in the portion where the one-value relationship relation attribute descriptor is continuous in a straight line.

意味言語操作処理の意味言語の並べ替えによる正規化の操作は図34のように行える。この処理が、本発明における意味言語正規化処理部1301に相当する。この例では、並べ替え可能ならIDを左より右を大きく、上より下を大きく揃える。つまり、右昇順、下昇順である。まず、意味言語文章を入力として受け取る(ステップS1311)。次に、関係属性記述子glueを行きがけ順で辿るループ(ステップS1312)に入る。ループは、行きがけ順で全ての要素を走査し終わるまで続く。glueが2値性であれば(ステップS1313がYES)、次の判定に進む。glueが子ノードの交換が可能な関係属性記述子であれば(ステップS1314がYES)、二つの子ノードの単語IDを取得する(ステップS1321)(ステップS1322)。左の値>右の値なら(ステップS1323がYES)、子ノードを入れ換える(ステップS1324)。左の値>右の値でないなら(ステップS1323がNO)、なにもしない。一方、glueが2値性でないなら(ステップS1313がNO)、次の判定に移る。glueと子ノードを比較し、どちらも交換可能な1値性関係属性記述子なら(ステップS1315がYES)、glueとglueの子ノードの単語IDを取得する(ステップS1316)(ステップS1317)。上の値>下の値なら(ステップS1318がYES)、glueとglueの子ノードを入れ換える(ステップS1319)。そして、glueが1値性である限り対象の関係属性記述子の位置を遡る(ステップS1320)。glueと子ノードを比較し、どちらかが交換可能な1値性関係属性記述子でない(ステップS1315がNO)または上の値≦下の値(ステップS1318がNO)の場合は、何もせずループを継続する。一方、Gglueの子ノードが交換できないなら(ステップS1314がNO)、何もせずループを継続する。(ステップS1319)(ステップS1320)については説明を補足する。この2つのステップは、バブルソートをするために用意されている。1値性関係属性記述子は、2つとは限らずいくつも連続している場合がある。その場合、全ての対象を並べ替える必要がある。バブルソートは、対象範囲を調べ、一個でも並べ替えがあれば検査を先頭からやり直す。そのために遡る処理が必要である。もちろん、ここはソートであれば何でもよい。   The operation of normalization by the rearrangement of the semantic language of the semantic language operation processing can be performed as shown in FIG. This processing corresponds to the semantic language normalization processing unit 1301 in the present invention. In this example, if rearranging is possible, the IDs will be larger on the left than on the left and larger on the top than the top. That is, right ascending order, lower ascending order. First, a semantic language sentence is received as an input (step S1311). Next, a loop (step S1312) of following the relation attribute descriptor glue in the order of arrival is entered. The loop continues until all elements have been scanned in order of arrival. If glue is binary (YES in step S1313), the process proceeds to the next determination. If glue is a relation attribute descriptor capable of exchanging child nodes (YES in step S1314), word IDs of two child nodes are acquired (step S1321) (step S1322). If the value of left> the value of right (step S1323 is YES), the child node is replaced (step S1324). If the value of left> the value of right (NO in step S1323), nothing is done. On the other hand, if glue is not binary (NO in step S1313), the process proceeds to the next determination. Glue is compared with a child node, and if both are exchangeable one-valued nature relation attribute descriptors (YES in step S1315), the word IDs of the glue and the child nodes of glue are acquired (step S1316) (step S1317). If the upper value> the lower value (YES in step S1318), glue and the child nodes of glue are interchanged (step S1319). Then, the position of the target relation attribute descriptor is traced back as long as the glue is one-valued (step S1320). If the glue is compared with the child node and either is not an exchangeable single-value relationship-attribute descriptor (NO in step S1315) or the upper value ≦ the lower value (NO in step S1318), nothing is done, and the loop is performed. To continue. On the other hand, if the Gglue child node can not be exchanged (NO in step S1314), the loop continues without doing anything. (Step S1319) (Step S1320) supplements the description. These two steps are provided for bubble sorting. The 1-valued nature relation attribute descriptor is not limited to two and may be continuous. In that case, it is necessary to rearrange all objects. In bubble sorting, the target range is checked, and if there is even one sort, the inspection is repeated from the beginning. Therefore, processing to go back is necessary. Of course, anything can be done here as long as it is a sort.

(意味言語の加工方法)
意味言語操作処理の、置換操作をもう少し説明する。複数の知識から別の知識をつくりだすのが置換操作である。これは、人工知能分野における推測、推論の処理である。例えば、「人はいつか死ぬ」「Xは人である」ゆえに、「Xはいつか死ぬ」といった論法を、具体的に操作する。この「Xは人である」場合の「は」は、限定等価であり、逆にはできない(人はXである、は正しくない)。もう少し具体的にいえば、「人」は「X」を含む上位概念である。式で書けば、「X≦人」である。置換操作は置換対象が全く同じか、少なくとも下位概念であることが条件である。つまり、AをBに置換するためには、「B≦A」である必要がある。
(Method of processing semantic language)
The substitution operation of the semantic language operation processing will be described a little more. The substitution operation is to create another knowledge from multiple knowledge. This is a process of guessing and inference in the artificial intelligence field. For example, because "A man will die someday" and "X is a man", an argument "X will someday die" is specifically manipulated. The "ha" in the case of "X is a person" is a limited equivalent, and can not be reversed (a person is X, is not correct). To put it a little more concretely, "person" is a broader concept including "X". If it writes in a formula, it is "X <= person." The replacement operation is conditional on the replacement object being identical or at least a subordinate concept. That is, in order to replace A with B, it is necessary to satisfy “B ≦ A”.

意味言語の置換の主たる目的は、知識の文章に他の知識を導入し、新しい知識をつくりだすことである。意味言語の知識は、式で書けば図35のように関数処理と似た方法で代入、加工できる。図35Aは、単語IDで表記された知識の加工である。説明の簡便のため、同様の内容の処理を日本語表記したものを図35Bに示す。意味言語の加工を使えば、知識辞書に直接記録されている知識だけでなく、基礎的な知識関係から新たな知識をつくりだすことができる。実際の構造の変化は、図35Cのデータ置換である。そして、その置換が「知識に基づいた、文意を失わない置換」であるためには、元の知識の一部を別の知識からの情報で置換する必要がある。なお、本実装では、ノード一つでも木構造(部分木)として扱っている。   The main purpose of semantic language substitution is to introduce other knowledge into the sentence of knowledge and create new knowledge. Knowledge of a semantic language can be substituted and processed in a manner similar to function processing as shown in FIG. FIG. 35A shows processing of knowledge represented by a word ID. For simplicity of description, FIG. 35B shows the process of the same content written in Japanese. By using semantic language processing, it is possible to create new knowledge not only from the knowledge directly recorded in the knowledge dictionary, but also from basic knowledge relationships. The actual structural change is the data substitution of FIG. 35C. And in order for the substitution to be a "knowledge-based, sentence-insensitive substitution", it is necessary to replace part of the original knowledge with information from another knowledge. In this implementation, even one node is treated as a tree structure (partial tree).

具体的な条件を図36で説明する。木を加工するには、「元の知識の木構造(1331)」と「別の知識の木構造(1332)」があり、「元の知識の木構造に存在する部分的な木(1333)」を、別の知識も部分的な木(1334)として持っている必要がある(木の構成要素は木であるので、単一のノードでも木として扱える)。なおかつ、別の知識の部分的な木が等価か、部分的な等価で上位概念であるなど、置換できる条件が成立している必要がある。別知識である1332は、「16番は12番である」と述べているに等しい。これは、例えば「犬は動物である」といっているのと同じ関係であり、つまり12番が上位概念である。この上位概念が元の知識(1331)にも含まれているので、12番を別知識から置き換えることができるのである。犬で例えるなら、動物全般に関して述べられている文章(元の知識)の、「動物」の部分を「犬」で置換するのと同義である。また、(1335)の知識と(1336)の知識を元に、(1337)と(1338)を上位概念として置換することも可能である。この場合、(1336)は単純な語ではなく、「秋田の犬」のような文章構造である。これは、動物全般について述べられている文章の「動物」の部分を「秋田の犬」で置換するのと同じである。   Specific conditions will be described with reference to FIG. There are "original tree of knowledge (1331)" and "another tree of knowledge (1332)" to process trees, and "partial tree (1333) exists in tree of original knowledge" ", It is necessary to have another knowledge as a partial tree (1334) (because the tree component is a tree, even a single node can be treated as a tree). Furthermore, conditions that can be replaced have to be established, such as whether a partial tree of another knowledge is equivalent, or partially equivalent and a superordinate concept. Another knowledge 1332 is equivalent to saying “the 16th is the 12th”. This is the same relationship as saying, for example, "a dog is an animal", that is, 12 is a superordinate concept. This superordinate concept is included in the original knowledge (1331), so the 12th can be replaced with another knowledge. If it compares with a dog, it is synonymous with replacing the part of "animal" with "dog" in the sentence (original knowledge) described about animals in general. Moreover, based on the knowledge of (1335) and the knowledge of (1336), it is also possible to replace (1337) and (1338) as a superordinate concept. In this case, (1336) is not a simple word but a sentence structure like "Akita's dog". This is the same as replacing the "animal" portion of the text described for animals in general with "Akita's dog".

意味言語の加工の処理方法を図37に示す。この処理が、本発明における意味言語加工処理部1302に相当する。まず、入力として元となる知識の意味言語文章1を受け取る(ステップS1341)。また、もう一つの入力として、別知識として元となる知識の意味言語文章2を受け取る(ステップS1342)。次に、tre2が置換可能な関係属性記述子を持っているか調べる。調べ方は、図33と同じく、マクロ定義で関係属性記述子の種類を定義し、行きがけ順で調査している(ステップS1343)。置換可能であれば(ステップS1343がYES)、tre2Lにtre2の左のデータを、tre2Rにtre2の右のデータを記録する。この二つの値は、ノード一つの場合も、部分的な木構造の場合もある(ステップS1344)。次に、元知識であるtre1に、別知識の右値tre2R(上位概念など)があるかどうか調べる(ステップS1345)。存在すれば(ステップS1345がYES)、一致範囲を調べ、tre1vに記録する(ステップS1346)。次に、tre1vを、木の置換処理でtre2Lに置き換える(ステップS1347)。これ以外の場合、つまりtre2が置換可能でない場合(ステップS1343がNO)、またはtre1にtre2Rがない場合(ステップS1345がNO)は置換は行われない。   The processing method of semantic language processing is shown in FIG. This processing corresponds to the semantic language processing unit 1302 in the present invention. First, the semantic language sentence 1 of the original knowledge is received as an input (step S1341). Also, as another input, the semantic language sentence 2 of the original knowledge as another knowledge is received (step S1342). Next, it is checked whether tre2 has replaceable relation attribute descriptors. As in the case of FIG. 33, the type of relation attribute descriptor is defined in the macro definition, and investigation is performed in order of arrival (step S1343). If replacement is possible (YES in step S1343), the left data of tre2 is recorded in tre2L, and the right data of tre2 is recorded in tre2R. These two values may be either one node or a partial tree structure (step S1344). Next, it is checked whether the original knowledge tre1 has the right value tre2R (superordinate concept etc.) of another knowledge (step S1345). If it exists (YES in step S1345), the matching range is checked and recorded in tre1v (step S1346). Next, tre1v is replaced with tre2L by replacement processing of trees (step S1347). In other cases, that is, when tre2 is not replaceable (NO in step S1343), or when tre2R is not in tre1 (NO in step S1345), replacement is not performed.

意味言語の木構造の比較の処理方法を図38に示す。木同士の比較は、構文木のアルゴリズムでは一般的である。しかし、本発明では木の一部分をやり取りする処理を含むため、誤解を防ぐ意図で説明する。木全体を比較するときは図38Aのように、二つの木を同じルールで辿り、ノードの情報を比較して全てが同じであることを確認する。後述する実施例では行きがけ順で、不整合がひとつもなく根に戻ってくればチェック完了である。次に片方の木構造にもう片方の部分木が在るかどうかのチェックである。この場合、片方の木のチェック開始地点を順にずらしていき(図38Bでは行きがけ順)、もう片方の木の全てのノードが存在すれば、チェック完了で部分的な木が存在すると判定できる(図38Bの3回目のチェック)。   The process of comparing semantic tree structures is shown in FIG. Comparisons between trees are common in syntax tree algorithms. However, since the present invention includes the process of exchanging a part of the tree, it will be described for the purpose of preventing misunderstanding. When comparing the whole trees, as shown in FIG. 38A, two trees are followed by the same rule, and the information of the nodes is compared to confirm that all are the same. In the embodiment to be described later, it is the order of arrival, and the check is completed if there is no inconsistency and it returns to the root. Next, check if there is another subtree in one tree structure. In this case, the check start point of one tree is sequentially shifted (in FIG. 38B in the descending order), and if all nodes of the other tree exist, it can be determined that a partial tree exists when the check is completed (FIG. Third check of 38B).

意味言語を理解する操作は、例えば図39のように行える。この処理が、本発明における意味言語理解処理部15に相当する。まず、入力として、理解できるかどうか判定したい文章を、意味言語文として受け取る(ステップS1501)。次に、受け取った意味言語文を正規化する(ステップS1502)。その後、判定対象の文章と知識辞書の知識を比較していく。ループ処理で知識辞書から文章を一つずつ取得する(ステップS1503)。formとdict1が完全に同じであれば(ステップS1504がYES)、理解できると判定し(ステップS1508)、formを記録媒体に記録する(ステップS1509)。つまり、知識対象の文章の知識がそのままずばり知識辞書にあれば、理解できる文章と判定できる。一方、全く同じ知識がなかった場合(ステップS1504がNO)、対象文章に含まれる概念識別子の知識文章がないか検索して調べる(ステップS1505)。他知識があった場合(ステップS1506がYES)、他知識dict2を取得し(ステップS1510)、dict1とdict2の知識を使って(dict1の一部をdict2の情報で置換して)、新しい知識dict3をつくる(ステップS1511)。そして、dict3を正規化する(ステップS1512)。新しい知識dict3をdict1として、再度検証する(ステップS1513)。他知識がない場合(ステップS1506がNO)、ループを継続する。全ての知識に関して処理しても理解できなかった場合、そのままループ(ステップS1503)から抜け、文章が理解できないと判定する(ステップS1507)。   An operation for understanding the semantic language can be performed, for example, as shown in FIG. This process corresponds to the semantic language understanding processing unit 15 in the present invention. First, as input, a sentence to be determined whether it can be understood is received as a semantic language sentence (step S1501). Next, the received semantic language sentence is normalized (step S1502). After that, the sentence to be judged and the knowledge of the knowledge dictionary are compared. A sentence is acquired one by one from the knowledge dictionary by loop processing (step S1503). If the form and dict1 are completely the same (YES in step S1504), it is determined that the form can be understood (step S1508), and the form is recorded on the recording medium (step S1509). That is, if the knowledge of the sentence of the knowledge object is as it is in the knowledge dictionary, it can be judged as an understandable sentence. On the other hand, if the same knowledge is not found (NO in step S1504), a search is performed by searching for a knowledge sentence of a concept identifier included in the target sentence (step S1505). If there is other knowledge (step S1506 is YES), the other knowledge dict2 is acquired (step S1510), and using the knowledge of dict1 and dict2 (by replacing part of dict1 with information of dict2), new knowledge dict3 is obtained. (Step S1511). Then, dict3 is normalized (step S1512). The new knowledge dict3 is again verified as dict1 (step S1513). If there is no other knowledge (NO in step S1506), the loop is continued. If all the knowledge is processed but can not be understood, it is determined that the process exits the loop (step S1503) and the sentence can not be understood (step S1507).

知識辞書の情報により、図40Aや図40Bのように知識辞書と矛盾しないことを確認できれば、理解できる文章であると判定できる。図40Cや図40Dのように矛盾があったり知識自体が存在しなければ理解できない文章であると判定できる。人が他人の文章を読んだり、会話を聞いたときに「わかった」「理解した」という処理をプログラム手続きとして実装するのがこの手段である。このように、本発明では、文章を理解するということを、「意味言語に変換した文章と知識辞書の知識と比較して矛盾しないことを確認する」処理と「意味言語に変換した文章を記録する」処理として定義している。実際の処理では、記録した意味言語文章をさらに使うこともあるので、記憶部18などに一時的に記憶するとしてシステムを構築している。なお、今回の実施例では知識辞書から得たdict1とdict2のみを加工しているが、処理対象のformも加工できるし、本質的にはどちらを加工しても同じである。dictを加工すれば、「dict=発言者は走ることが可能」「form=発言者は走ることが可能」で一致する。formを加工すれば、「dict=人間は走ることが可能」「form=人間は走ることが可能」で一致する。これは数学でいえば3つの式1「Y=Ax」、式2「Y=Bx」、式3「A=B」、があったとき、式1に式3を適用するか、式2に式3を適用するかの違いである。つまり、知識辞書の情報がが適切ならば、知識辞書の文章を加工しても、処理対象の文章を加工しても比較・理解処理は行えるということである。   If it can be confirmed from the information of the knowledge dictionary that it does not contradict the knowledge dictionary as shown in FIG. 40A and FIG. 40B, it can be judged as an understandable sentence. As shown in FIG. 40C and FIG. 40D, it can be determined that the text can not be understood if there is a contradiction or the knowledge itself does not exist. It is this means to implement, as a program procedure, the process of "knowing" and "understanding" when a person reads another person's text or hears a conversation. As described above, in the present invention, the process of "comprehending a sentence by comparing it with the knowledge converted into the semantic language and knowledge of the knowledge dictionary to confirm that the sentence is not contradictory" processing and "the sentence converted into the semantic language are recorded. It is defined as "to process". In actual processing, since the recorded semantic language sentences may be further used, the system is constructed as being temporarily stored in the storage unit 18 or the like. In the present embodiment, only dict1 and dict2 obtained from the knowledge dictionary are processed, but the form to be processed can be processed, and it is basically the same regardless of which one is processed. If dict is processed, it agrees with “dict = speaker can run” and form = speaker can run. If form is processed, it agrees with "dict = human can run" and form = human can run. If there are three expressions 1 “Y = Ax”, expressions 2 “Y = Bx” and expressions 3 “A = B” in terms of mathematics, this applies Equation 3 to Equation 1 or Equation 2 The difference is that Equation 3 is applied. That is, if the information in the knowledge dictionary is appropriate, comparison / understanding processing can be performed even if the sentences in the knowledge dictionary are processed or the sentences to be processed are processed.

また、意味言語を理解する操作は、処理の結果として「意味が理解できた」場合以外に、「理解できなかった」の具体的カテゴリとして「矛盾があった」、「知識が足りなかった」などの結果を返すことができる。文章を理解して処理するだけであれば、「理解できなかった」はどんな場合でもただのエラーであるが、推論や学習、情報収集する場合は、それぞれのエラーカテゴリーで処理を継続できる。例えば、AIの学習中に「矛盾があった」という結果を得た場合、知識辞書か入力された文章のいずれかまたは両方に間違いや定義不足があったと考えられる。特に、知識辞書が誤っている場合は知識辞書を修正または更新する処理を行える。これは、人工知能分野における、学習操作のひとつ「知識の変容」の実装である。   In addition, the operation to understand the semantic language is "inconsistent" or "insufficient knowledge" as a specific category of "I could not understand" except when "I could understand the meaning" as a result of processing. Etc can return results. If you only understand and process sentences, "I could not understand" is just an error in any case, but when you infer, learn, and collect information, you can continue processing in each error category. For example, if the result of "contradicted" is obtained during learning of the AI, it is considered that there is an error or an insufficient definition in either or both of the knowledge dictionary and the input sentence. In particular, when the knowledge dictionary is incorrect, the process of correcting or updating the knowledge dictionary can be performed. This is an implementation of one of the learning operations "transformation of knowledge" in the artificial intelligence field.

本発明における「文章を理解する」ことの意味、定義について、表現と例を変えて詳しく説明する。本発明では、文章・会話を理解することを定義、実装するために意味言語を用いる。一般に、人間が物事を見たり聞いたりして「理解した・わかった」という場合には二つの意味合いがある。一つは、入力された情報が、「自身の持つ現実世界の知識と矛盾しないと確認する」というものである。これは、「今まで気づかなかったけど、自身の持つ現実世界の知識と矛盾しないと確認する」ものも含む。つまり、直接的な知識ではなくても、常識的に考えて矛盾しないと考えられる場合も、理解することができる。例えば、リンゴの木を見たことがない人でも、「リンゴが植物である」と知っていたなら、「リンゴは光合成する」という文章を理解できる。もう一つは、入力された情報が、「現実世界で観測された知識、事実に基づいた知識として確認した」というものである。この2つが処理できれば、文章等を処理して「理解する処理」が可能となる。   The meaning and definition of "understanding the text" in the present invention will be described in detail by changing expressions and examples. In the present invention, a semantic language is used to define and implement understanding of sentences and conversations. In general, there are two implications when humans see and hear things and "understand and understand". One is to confirm that the input information is "consistent with the knowledge of the real world possessed by oneself". This includes things like "I have not noticed until now, but confirm that they are consistent with my own knowledge of the real world." That is, even if it is not a direct knowledge, it can be understood even if it is considered as a common sense and not contradictory. For example, even if you have never seen an apple tree, if you know that "an apple is a plant", you can understand the sentence "an apple is photosynthetic". The other is that the input information is "confirmed as knowledge observed in the real world, knowledge based on facts". If these two can be processed, it becomes possible to process sentences and the like to “understand processing”.

ここで重要なのが、知識である。どんな事柄であっても、知識なしには理解できない。例えば、「ランゴルーマージーンする」という文章が理解できないのは、その単語が何なのかを知らないため、「する」対象なのかどうかすら不明だからである。つまり、この文章は(知識不足による)判定不能である。逆に、「コップを飛ぶ」という文章では、人間が「コップは飛ぶ対象ではない(跳ぶ対象にはなりうる)」と知っていれば、意味不明な文章であると判断できるのである。そして、「空を飛ぶ」「コップを跳ぶ」という文章は、「空」「コップ」「飛ぶ」「跳ぶ」に関する十分な知識があれば、理解できる。つまり、理解するということは、究極的には次のように定義できる。即ち、「自己の知識と矛盾しないことを確認する」ことである。従って、本発明では、理解する処理を、「入力された意味言語文章を知識辞書と比較し、無矛盾かどうか確認する」機能として実装する。   What is important here is knowledge. Any matter can not be understood without knowledge. For example, the sentence "Langool-Margin" can not be understood because it does not know what the word is, so it is unclear whether it is an object to "do". That is, this sentence can not be determined (due to lack of knowledge). On the other hand, in the sentence "flying a cup", if a human knows that "a cup is not a target to fly (can be a target to jump)", it can be judged as a meaningless sentence. And the sentences "fly in the sky" and "jump the cup" can be understood if there is sufficient knowledge of "sky", "cup", "fly" and "jump". In other words, understanding can be ultimately defined as follows. That is, "confirm that it is not inconsistent with one's own knowledge". Therefore, in the present invention, the process to be understood is implemented as a function “compare the input semantic language sentence with the knowledge dictionary and check whether it is consistent”.

意味言語操作処理をする上で、そのままでは情報不足である自然言語文章の例を図41に示す。これらの文章は、人間が会話する上では無意識に情報が補完されて適切に解釈されるが、コンピュータが処理する上ではこれらの曖昧さが解消されなければ適切な意味言語文が得られない。図41AではA君が発した問いに対し、B君が主語を省いて回答している。この例での主語がB君であることは人間にとっては自明である。ただし、人間にとっても、もしもAの問いがなく、何の前提もない状態で、突然Bが「走るよ!」といっていても、誰が走るのか完全に明確ではない(おそらくは本人が走るのだろうと推測するが、文脈によっては別の人の話題かもしれない)。このように、どんな動詞、形容詞であろうと、単独では文章の意味を持たないか、不明瞭である。必ず、「いつ」「どこで」「誰が(誰を)」「何を(何が)」「なぜ」「どのように」等の情報が必要である。   FIG. 41 shows an example of a natural language sentence in which information is insufficient as it is when performing semantic language operation processing. These sentences are unconsciously complemented with information and appropriately interpreted when human beings speak, but appropriate semantic language sentences can not be obtained unless these ambiguities are resolved in computer processing. In FIG. 41A, B answers the question posed by A, omitting the subject. It is obvious to humans that the subject in this example is B. However, even for humans, if there is no question of A and there is no premise, even if B suddenly says "Run!", It is not completely clear who will run (probably the person will run) I guess, but it may be another person's topic depending on the context). Thus, no matter what verb or adjective is used alone, it has no meaning in the text or is unclear. Certainly, information such as "when", "where", "who", "who", "what", "what", "why", "how", etc. is required.

また、図41BではA君が発した問いに対し、B君は「C」と回答している。この例では、「C」「が」「走る」ということで、いわゆる述語が不足している。従って、これも不完全な文章である。尚、どの要素を省略できるかは、自然言語の文法と密接に関係しているため、各言語ごとに処理を記述する必要がある。例えば、古代エジプト語中期においては、筆記におけるbe動詞にあたる語が省かれることが多い。しかし、この知識は「古代エジプトにおける公知の慣習」であるので、彼らにとっては読み書きに支障はなかったはずである。つまり、文章の省略は、相互の了解があれば成立する。そのため、この処理は普遍的ではなく時代の流れに応じてアップデートする処理であることは指摘しておきたい。大事なのは、自然言語処理プログラムがこの知識を必要なだけ実装することである。   Also, in FIG. 41B, B answers "C" in response to the question issued by A. In this example, so-called predicates are lacking for "C" "ga" "run". Therefore, this is also an incomplete sentence. In addition, since which element can be omitted is closely related to the natural language grammar, it is necessary to describe processing for each language. For example, in the middle of ancient Egyptian, the word corresponding to the be verb in writing is often omitted. However, because this knowledge is "a well-known practice in ancient Egypt", they should have no trouble reading and writing. That is, omission of sentences is established if mutual consent is obtained. Therefore, it should be pointed out that this process is not universal and is an update process according to the flow of the times. It is important that the natural language processing program implement this knowledge as much as necessary.

情報が不足した文章を判定する処理の例のフロー図を図42に示す。図41で指摘しているように、自然言語における省略の仕方は多岐にわたるので、全てを網羅することは難しい(若者言葉の略語を理解できないおじさんと同じである)。この例では、典型的な省略として「主語の省略」と「述語の省略」をの2つを発見する処理例を示している。入力として、意味言語文を受け取り(ステップS1351)、その中の概念識別子を数える(ステップS1352)。概念識別子が1つしかない場合(ステップS1353がYES)、何らかの語が省略されていると判断する。次に、そのひとつしかない概念識別子が「人間」かどうか判定する(ステップS1354)。これは、知識辞書の情報との比較で判定する。次に、概念識別子が「人間(または人間の下位概念)」と判断された場合(ステップS1354がYES)、これは主語があると判断し、述語に当たる語を補う必要がある。日本語において、標準的な文章では主語+述語なので、概念識別子の後に補うべきと判断し(ステップS1357)、さらに2値性関係属性記述子「が(単語ID=33)」を主語の後に補う(ステップS1358)。概念識別子が人間でないと判断された場合(ステップS1354がNO)、これは述語があると判断し、主語に当たる語を補う必要がある。日本語において、標準的な文章では主語+述語なので、概念識別子の前に補うべきと判断し(ステップS1355)、さらに2値性関係属性記述子「は(単語ID=1)」を主語の後に補う(ステップS1356)。概念識別子が1つでない場合(ステップS1353がNO)、なにもしない。なお、いずれの場合も、一般的な2値性関係属性記述子としてそれぞれ「は」「が」を補ったが、この関係属性記述子の選定にはいろいろな方法があり、確定的ではない点は明記しておく(人間でも、単語のみで回答されたときに、「は」なのか「が」なのかは確定できないこともある。例えば、「走る!」と答えたときに「私は走る」なのか「私が走る」のかは、この場合はニュアンスレベルの違いである)。   A flow diagram of an example of a process of determining a sentence for which information has run short is shown in FIG. As pointed out in FIG. 41, since there are various omission methods in natural language, it is difficult to cover everything (the same as an uncle who can not understand the abbreviations of youth's words). In this example, a processing example is shown in which two typical omissions of "subject omission" and "predicate omission" are found. As input, a semantic language sentence is received (step S1351), and the concept identifiers in it are counted (step S1352). If there is only one concept identifier (YES in step S1353), it is determined that some word is omitted. Next, it is determined whether the only one concept identifier is "human" (step S1354). This is determined by comparison with information in the knowledge dictionary. Next, when it is determined that the concept identifier is “human (or a subordinate concept of human)” (YES in step S1354), it is determined that the subject is present, and it is necessary to supplement the word corresponding to the predicate. In Japanese, since it is the subject + predicate in a standard sentence, it is judged that it should be supplemented after the concept identifier (step S1357), and the binary property relation attribute descriptor "was (word ID = 33)" is further supplemented after the subject (Step S1358). If it is determined that the concept identifier is not human (NO in step S1354), it is determined that there is a predicate, and it is necessary to supplement the word corresponding to the subject. In Japanese, since it is the subject + predicate in a standard sentence, it is judged that it should be supplemented before the concept identifier (step S1355), and the binary property relation attribute descriptor "is (word ID = 1)" after the subject. Make up (step S1356). If there is not one concept identifier (NO in step S1353), nothing is done. In each case, although "ha" and "ga" are supplemented as general binary property relation attribute descriptors, there are various methods for selecting this relation attribute descriptor and it is not definite. (If you answer only with words, you may not be able to determine if it is "ha" or "ga". For example, when you answer "run!", "I run "Whether I run" is the difference in nuance level in this case).

自然言語から意味言語に変換する処理において、省略された語句は図43のように補う。この処理が、本発明における意味言語不足語補完処理部1303に相当する。この処理は、人間同士の会話では省略されがちな「当たり前」な情報を、コンピュータで取り扱うための処理である。これは、人工知能分野における「照応解析」の実装として開発した。まず、自然言語の文章を入力として受け取り(ステップS1360)、意味言語文に変換し(ステップS1361)、formとする(ステップS1362)。次に、不足語があるかどうか判定し、不足語がない場合(ステップS1363がNO)、文意は明確として処理できる(ステップS1364がYES)。不足語がある場合(ステップS1363がYES)、不足語の位置を推定し、適切な語を知識辞書より補っていく処理に移る。まず、不足語の位置を取得する(ステップS1365)。次に、自然言語strを処理するまでに蓄積した一時知識を参照し、取得するループに入る(ステップS1366)。ループ処理は知識dictを新しい順に取得し、知識が無くなるまで続く。この処理によって取得する知識は新しい順である。会話の前提は、新しいものほど優先されるのが自然だからである。次に、会話の履歴であるdictから、概念識別子を取得するループに入る(ステップS1367)。ループ処理は木構造から順に(例えば行きがけ順に)概念識別子wordを取得し、取得する概念識別子が無くなるまで続く。次に、formの不明語の部分を取得したwordで置換したform2を得る(ステップS1368)。不足語が補われた文章form2が一般知識辞書や一時知識辞書と比較して理解できると判断されれば(ステップS1369がYES)、2重ループを一気に抜け、新しい文章form2を、語句が補われた明確な文章とする(ステップS1373)。新しい、明確な文章が得られたので、文章の意味は明確として判定し処理できる(ステップS1364)。なお、図43のフローチャートでは、不足語の判定と位置の推定を分けて記述しているが、実装の際には「不足語がないか判定し、不足語の位置を推定する処理」のように同時に行うのがよい。図42で示したように、ほとんど同じ処理だからである。一方、文章が理解できなかった場合(ステップS1369がNO)、wordのループ(ステップS1370)とdictのループ(ステップS1371)で文章が理解できるまで試行する。formに至るまでの文章や会話の蓄積であるdictを全て試しても理解できる文章が得られなかった場合、文章は不明として処理する(ステップS1372)。   In the process of converting a natural language into a semantic language, omitted words are supplemented as shown in FIG. This processing corresponds to the semantic language deficiency word complement processing unit 1303 in the present invention. This process is a process for the computer to handle "appropriate" information that is likely to be omitted in human conversation. This was developed as an implementation of "analytical analysis" in the artificial intelligence field. First, a sentence of a natural language is received as an input (step S1360), converted into a semantic language sentence (step S1361), and set as form (step S1362). Next, it is determined whether there is a deficient word, and if there is not a deficient word (NO in step S1363), the meaning can be processed as clear (YES in step S1364). If there is a deficient word (YES in step S1363), the position of the deficient word is estimated, and the process proceeds to a process of compensating an appropriate word from the knowledge dictionary. First, the position of the missing word is acquired (step S1365). Next, the temporary knowledge stored until processing the natural language str is referred to and a loop to be acquired is entered (step S1366). Loop processing acquires knowledge dict in order of newness and continues until knowledge disappears. The knowledge acquired by this process is in the new order. The premise of the conversation is that it is natural that the newer one is prioritized. Next, a loop for acquiring a concept identifier is entered from dict, which is a history of conversation (step S1367). The loop processing acquires concept identifier words in order from the tree structure (for example, in the order of arrival) and continues until there is no concept identifier to be acquired. Next, form2 is obtained by replacing the unknown word part of form with the acquired word (step S1368). If it is judged that the sentence form2 supplemented with the short words is comprehensible by comparison with the general knowledge dictionary or the temporary knowledge dictionary (YES in step S1369), the double loop is immediately exited, and the new sentence form2 is supplemented with the words. And clear sentences (step S1373). As new and clear sentences are obtained, the meaning of the sentences can be determined and processed as clear (step S1364). In the flowchart of FIG. 43, determination of a deficient word and estimation of a position are described separately, but at the time of mounting, as in “a process of determining whether there is a deficient word and estimating the position of the deficient word” It is good to do at the same time. This is because almost the same processing is performed as shown in FIG. On the other hand, if the sentence can not be understood (NO in step S1369), the word loop (step S1370) and the dict loop (step S1371) are tried until the sentence can be understood. If no sentences that can be understood are obtained even if all the sentences up to the form and dict, which is an accumulation of conversations, are tried, no sentences can be obtained (step S1372).

このように、通常の人間同士の会話では、普通にわかることについては省略されることが多いが、AIにとっては自明でない部分は知識によって補う。例えば、「B君は走る?」と聞いたときにB君が「走るよ!」と答えた場合(1374)、「B君(自分)は走るよ!」という意味であると解釈するべきである。そのためには、まず不足語の有無と不足語の位置を推測する(1375)。次に、過去の会話履歴からdictを受け取り(1376)、その中から人間と認められる概念識別子を抜き出す(1377)。この場合、B君に対応する単語IDは仮に999999番としている。そして、不足語とされた部分を999999番で置換(代入)すると(1378)、意味を理解できる文章となる(1379)。このように処理すれば、もしも、夏目漱石の「吾輩は猫である」という小説の文章を処理する際であっても、最初の一文が処理された後は、「発話者(主人公)は人間」という一般常識よりも、「発話者は猫」という一時的な知識に従って、以降の省略された文章を補っていくことができる。こういった省略は、一時知識辞書に登録された情報の、新しいものから順に適切なものを探して補う必要がある。人間は、こういった処理をほとんど無意識に行っているが、プログラム手続きとしてはきちんと実装しなければならない。   In this way, in ordinary human conversations, what is usually understood is often omitted, but parts that are not obvious to AI are supplemented by knowledge. For example, if you answer B "Run!" When asked "B Run?" (1374), it should be interpreted as meaning "B. You (self) will run!" is there. For that purpose, first, the presence or absence of a missing word and the position of the missing word are estimated (1375). Next, dict is received from the past conversation history (1376), and a concept identifier recognized as a human is extracted therefrom (1377). In this case, the word ID corresponding to B is tentatively 99,999. Then, when the part regarded as the deficient word is replaced (assigned) with the number 999999 (1378), it becomes a sentence in which the meaning can be understood (1379). If it is processed in this way, even when processing the sentences of the novel "I am a cat" of Soseki Natsume, after the first sentence is processed, "the utterer (protagonist) is a human being According to the temporary knowledge that "the speaker is a cat", it is possible to compensate for the subsequent omitted sentences, rather than the common sense "." Such omissions need to be found by searching for appropriate ones in the order of new information registered in the temporary knowledge dictionary. Humans perform such processing almost unconsciously, but they must be properly implemented as program procedures.

自然言語から意味言語に変換する処理において、非自明な語句(同音異義語や多義語)などの語は図44のように処理され、意味が決定される。この処理が、本発明における意味言語多義語推定処理部1304に相当する。自然言語の処理において、文脈依存性の語はこの処理が必要である。これは、人工知能分野でいうところの「語義曖昧性解消」または「単語の多義性解消」と呼ばれる処理として実装している。日本国文法において、同音異義語や多義語の分類には違いがあるが、本処理では、同じ表記で意味が異なればまとめて「多義語」として扱っている。AIにとって不明瞭な音声や文字も、意味候補が複数あるという点では多義語であり、同様に処理できる。多義語は単語IDも異なるため、意味言語では全く違う語として扱われる(そもそも意味言語に国籍はない。多義語や同音異義語はそれぞれの自然言語体系でのみ生じる)。まず、自然言語文章strを入力として受け取る(ステップS1380)。次にstrを形態素解析する(ステップS1381)。形態素の表記をもとに全ての形態素に関してループ処理を行い(ステップS1382)、自然言語ID辞書に単語IDを問い合わせる(ステップS1383)。同じ表記で意味が違う単語の場合、複数のIDが返される。次に、各形態素の単語IDが一つずつか(つまり、単語の意味が一意的か)調べる。全ての語が単語IDを一つずつのみ割り当てられていた場合は(ステップS1384がYES)、各語にあいまいさはないのでそのまま意味言語へ変換して(ステップS1385)処理を終了する。一つの語でも単語IDが複数割り当てられた場合は(ステップS1384がNO)、その自然言語(ここでは日本語)において単語が多義語であるということなので、多義語の処理に入る。まず、多義語の部分以外を全て意味言語に変換する(ステップS1386)。実施例では、多義語を特殊な構造体(ID候補を複数保持できる構造体)で表している。次に、多義語に割り当てられた全てのID(つまり、多義語の意味の候補)についてのループに入る(ステップS1387)。ループは、IDの候補が無くなるまで続く。ループの中では、formの多義語部分を多義語の意味候補で置換し、理解できるかどうか検証する。置換した意味言語文章が理解できれば(ステップS1388がYES)、そのまま意味言語文章へと変換し(ステップS1389)、処理を終了する。理解できない限り(ステップS1388がNO)ループを続け、一度も理解できないままループが終了した場合は、理解できないエラー(ステップS1390)として終了する。   In the process of converting a natural language into a semantic language, words such as non-trivial words (homophones and polygraphs) are processed as shown in FIG. 44 to determine their meanings. This process corresponds to the semantic language polygraph estimation processing unit 1304 in the present invention. In natural language processing, context sensitive words require this processing. This is implemented as a process called "word sense ambiguity resolution" or "word disambiguation" in the artificial intelligence field. In Japanese grammar, there are differences in the classification of homonyms and polygraphs, but in this processing, if the meanings are different in the same notation, they are collectively treated as "polyomists". Speech and characters that are unclear to AI are also polygraphs in that there are multiple semantic candidates and can be processed similarly. Polynesian words are also treated as completely different words in semantic languages because they also differ in word ID (meaning that there is no nationality in semantic languages in the first place. Polymorphic words and homonyms occur only in their natural language systems). First, a natural language sentence str is received as an input (step S1380). Next, morphological analysis of str is performed (step S1381). The loop processing is performed for all morphemes based on the representation of the morpheme (step S1382), and the natural language ID dictionary is inquired for the word ID (step S1383). For words that have the same notation but different meanings, multiple IDs are returned. Next, it is checked whether the word ID of each morpheme is one by one (that is, the meaning of the word is unique). If all the words are assigned only one word ID (YES in step S1384), the words are converted into semantic languages as they are since there is no ambiguity (step S1385), and the process ends. If even one word is assigned a plurality of word IDs (NO in step S1384), it means that the word is a polygraph in the natural language (here, Japanese), and therefore, processing of polygraph is started. First, all parts except for polygraph terms are converted into semantic languages (step S1386). In the embodiment, the polygraph is represented by a special structure (structure capable of holding a plurality of ID candidates). Next, a loop is entered for all the IDs assigned to the polygraph (that is, candidates for the polygraph meaning) (step S1387). The loop continues until there are no more ID candidates. Inside the loop, replace the polygraph terms of form with the polygraph semantic candidates and test whether they can be understood. If the replaced semantic language sentence can be understood (YES in step S1388), it is converted into the semantic language sentence as it is (step S1389), and the process is ended. Unless it is understood (NO in step S1388), the loop is continued, and if the loop ends without being understood even once, the process ends as an incomprehensible error (step S1390).

例えば、日本語において「イモ」という単語は、芋を意味すると同時に「田舎っぽい」という侮蔑の意味もあり、人間はこれを文脈によって理解を変える。「彼女はイモだ」という文章を受け取ったときには、一般常識から「イモ」が芋とすると理解できないが、侮蔑の意味であれば理解できるのでこちらの解釈を選択する。これを本発明で処理する場合、まず、入力(1391)を形態素解析する(1392)。単語IDを割り当てると、「イモ」には2つのIDが割り当てられてしまう(1393、1394)。これは多義語(同音異義語)という事になるので、意味言語へ変換してIDの確定処理へ入る(1395)。処理対象として意味言語文をformとし(1396)、多義語の意味候補を試していく。まず、ID=16971とすると意味言語文の意味は「彼女は芋」となり、理解不能である(1397)。次に、ID=16972とすると、意味言語文の意味は「彼女はイモ」となり、(悪口だが)理解はできる(1398)。こうして多義語の意味を確定し、終了とする(1399)。このように意味言語に変換された後は、単語ID16972が割り当てられているので、曖昧さは排除されている。こういった技術を使えば、英語のLIKEのような文脈で意味が変わる単語も適切に推定できる。処理例では概念識別子の推定を行っているが、同じ処理フローで関係属性記述子の推定も行える。例えば、日本語における助詞「は」は、完全に等価であることを示す「完全等価(ID=3)」と、前者が後者に含まれるという程度の意味の「限定等価(ID=1)」がある。意味言語では、この二つはきちんと区別し、別々の関係属性記述子となる。図36で説明しているように、完全等価の例としては、「リンゴはアップルである」、「1たす1は2である」、というふうに完全に同じであることに言及する。対して、限定等価の場合は「秋田犬は犬である」というふうに、上位概念と下位概念の関係にあることについて言及する。完全等価は語順を入れかえても大筋の意味は変わらないが、限定等価は入れかえると多くの場合間違った言及となる。どちらの関係属性記述子が正しいかは、知識がないと人間でもわからない。逆にいえば、文章に含まれる概念識別子に関する知識を十分持っていれば、この処理で適切な関係属性記述子が推定できる。   For example, in Japanese, the word "imo" means a habit as well as a sense of "poor country", and human beings change understanding depending on the context. When you receive the sentence "She is a good boy", I can not understand that "Imo" is a habit from general common sense, but I can understand it if it means the meaning of a habit so I choose this interpretation. When this is processed by the present invention, the input (1391) is morphologically analyzed (1392). When a word ID is assigned, two IDs are assigned to "imo" (1393, 1394). Since this is a polygraph (homonymous word), it is converted into a semantic language and the process for determining the ID is entered (1395). A semantic language sentence is set as form as a processing target (1396), and semantic candidates of polygraph terms are tested. First, assuming that ID = 16971, the meaning of the semantic language sentence is “she is jealousy” and is unintelligible (1397). Next, assuming ID = 16972, the meaning of the semantic language sentence becomes "She's an emo", and it can be understood (though it is bad) (1398). In this way, the meaning of the polygraph is determined, and it ends (1399). Since the word ID 16972 is assigned after such conversion into the semantic language, the ambiguity is eliminated. Using these techniques, it is possible to properly deduce words that change meaning in a context such as LIKE in English. Although the concept identifier is estimated in the processing example, the relation attribute descriptor can also be estimated by the same processing flow. For example, the particle "wa" in Japanese means "completely equivalent (ID = 3)" indicating complete equivalence, and "limited equivalent (ID = 1)" in the sense that the former is included in the latter. There is. In the semantic language, these two are properly distinguished and become separate relationship attribute descriptors. As described in FIG. 36, as a completely equivalent example, it is mentioned that "the apple is an apple", "one plus one is two", and so on. On the other hand, we refer to the relationship between the upper concept and the lower concept, such as "Akita dog is a dog" in the case of limited equivalence. Although perfect equivalence does not change the meaning of the outline even if it changes word order, limited equivalence becomes a false reference in many cases when it substitutes. People do not know which relationship attribute descriptor is correct without knowledge. Conversely, if the user has sufficient knowledge of the concept identifier included in the text, this process can estimate an appropriate relation attribute descriptor.

本発明における知識の意味をまとめると、次のようになる。人間的な文章処理を行うためには、「一般常識」「一時的知識」のような情報が必要である。文章を理解する際、人間は大きく分けて2つの前提条件をもつ。一つは、知識辞書に書かれるような、「一般常識」である。もうひとつは、会話やそれまで読んだ文章を元にした「一時的前提知識」である。これを本発明では「一時知識」と呼ぶ。一時知識は、例えばファンタジー作品に代表される、「今の文脈でのみ有効な知識」である。あるいは、「会話の中で自明な流れ」である。これは、時には一般常識より優先しないと文章理解や会話が成立しない。また、一連の文章・会話を処理していく中で新しく加わった知識も、全ての処理が終わるまで適切に保管、参照しなければならない。そのため、図31のような「一般常識」「一時知識」を両方保持した状態で文章を解釈していく必要がある。   The meaning of the knowledge in the present invention is summarized as follows. Information such as “general common sense” and “temporary knowledge” is required to perform human-like text processing. In understanding sentences, human beings are roughly divided into two preconditions. One is "general common sense" written in a knowledge dictionary. The other is "temporary preliminary knowledge" based on conversations and sentences read so far. This is called "temporary knowledge" in the present invention. Temporary knowledge is, for example, “knowledge that is valid only in the current context,” represented by fantasy works. Or it is "a trivial flow in conversation". Sometimes this does not lead to text comprehension or conversation unless it takes precedence over common sense. Also, new knowledge added while processing a series of sentences and conversations must be properly stored and referenced until all processing is completed. Therefore, it is necessary to interpret the text in a state in which both “general common sense” and “temporary knowledge” as shown in FIG. 31 are held.

日本語を処理する場合の「意味言語への変換処理部12」と「自然言語への変換処理部14」において、本実施例では、動詞は図45のように活用ごとにまとめた活用辞書(文字列テーブル)を用いる。図45、図46が、本発明における活用辞書1206である。意味言語では単語の活用を「概念識別子に関係属性記述子が融合したもの」と解釈する。例えば、「走らない」という活用は、「走る」という概念識別子に「not(否定)」の関係属性記述子が融合していると見なす。また、「走った」という活用は、「走る」という概念識別子に「過去時制」という関係属性記述子が融合していると見なす。そこで、自然言語から意味言語に変換する際に、形態素解析後に動詞活用や形容詞活用などを分類し、その活用に対応した関係属性記述子を特定するために本辞書を用いる。尚、意味言語においては文章の語の意味を記述するため、「手が後ろにまわる」といった慣用句(成句)は一まとまりとして扱う。手が後ろにまわるとは、法を犯して身柄を拘束されることを意味し、「手」や「まわる」などの個々の単語の意味合いは薄れ、一つの動詞のようにふるまう。最後の「手がうしろにまわろうよ」とは「逮捕されようよ」という意味になるが、日常表現ではまず使われない。しかし、こういった表現は極めて不自然ながら「理解できないわけではない」ためそのまま辞書に入れている。   In the present embodiment, verbs are grouped according to utilization as shown in FIG. 45 in the “conversion to semantic language processing unit 12” and “the conversion to natural language processing unit 14” when processing Japanese. Use a string table). 45 and 46 show the utilization dictionary 1206 in the present invention. In the semantic language, the use of words is interpreted as "the fusion of a concept identifier and a relation attribute descriptor". For example, the utilization "do not run" is regarded as the concept identifier "run" being fused with the "not" relation attribute descriptor. In addition, utilization of “run” is regarded as merging of a concept identifier “run” and a relation attribute descriptor “past tense”. Therefore, when converting from natural language to semantic language, verb usage, adjective usage, etc. are classified after morphological analysis, and this dictionary is used to specify the relation attribute descriptor corresponding to the usage. In addition, in the semantic language, in order to describe the meaning of the words of sentences, idiomatic phrases such as “hands follow behind” are treated as a group. The fact that the hand is behind means that the person is being detained by breaking the law, and the meaning of individual words such as "hand" and "turning" fades and acts like a single verb. The last "let's go behind hands" means "let's get arrested", but it is not used in everyday expressions. However, these expressions are extremely unnatural, but they are included in the dictionary as they are "not understandable".

一方、形容詞も本実施例では図46のように活用ごとにまとめた活用辞書(文字列テーブル)を用いる。動詞同様に、活用は関係属性記述子が融合していると解釈する。意味言語では、動詞や形容詞や副詞や形容動詞なども概念として扱える要素は全て概念として統一的に扱う。日本語における形容詞と副詞と形容動詞は、修飾する対象が名詞かどうかが違うだけでその活用はほとんど同じか共通点が多いため、このテーブルは形容詞と副詞、形容動詞の兼用として実装している。日本語では「長い」「長く」のように形容詞と副詞の区別がつきにくい語もあるため、無理に区別しないほうが処理を簡素化できる。それぞれの品詞にない活用は、テーブルを作る関数がNULLを設定し、処理の上で無視するのが簡便である。例えば、日本語形容詞において「白い」状態にすることをを表す「白く」のような活用は、「明らか」のような形容動詞については活用としては存在しない(「明らか」にするというふうに、名詞のように扱う用法はある)。この場合、「明らか」の「Aadjv_ex−>a_03−>string」はNULLとなる。   On the other hand, the adjective in this embodiment also uses a utilization dictionary (character string table) summarized for each utilization as shown in FIG. Like verbs, utilization interprets relational attribute descriptors as fused. In semantic languages, all elements that can be treated as concepts, such as verbs, adjectives, adverbs, adjectives, adjectives, etc., are all treated uniformly as concepts. This table is implemented as adjective, adverb, and adjective verbs, as adjectives and adverbs and adjective verbs in Japanese differ in their use as adjectives, adverbs and adjective verbs, as their use is almost the same or in common with each other, except for whether they are nouns or not. . In Japanese, there are words such as "long" and "long" that make it difficult to distinguish between adjectives and adverbs. It is convenient for the function that creates the table to set NULL and ignore on processing when the usage is not in each part of speech. For example, in Japanese adjectives, the use of "white" to indicate "white" state does not exist as a form-appropriate verb such as "clear" (as in "make clear", There is a usage that treats like a noun). In this case, "Aadjv_ex-> a_03-> string" of "obvious" is NULL.

実際の動詞の活用辞書は、後述する実施例では図47のような文字列テーブルで実装している。図47の実体は、C言語の構造体として定義したVERB_EXである。VERB_EXという構造体の中に、文字列型の構造体STGを定義し、VERB_EXという構造体1個で一つの動詞の活用文字列を全て展開している。日本語において、動詞は規則性を持って展開されるため、その活用は規則的に生成できる。今回の実装では、「言う」「書く」「あげる」「脱ぐ」「渡す」「走る」「飲む」「来る(カ変)」「する(サ変)」の9パターンに分けて、パターンごとに分けた処理で合計7900種類の動詞活用を規則的に展開している。全ての活用を生成すれば、あとは形態素解析の後に、活用に対応した関係属性記述子を特定できる。例えば、「走らなかった」は
verb_ex−>v_02_07−>string=走らなかった
なので、「走る+not(否定)+過去時制」という形で、「否定」と「過去時制」の2つの関係属性記述子が特定できる。形容詞も同様の構造体ADJV_EXで展開し、同様の処理を行う。今回のC言語による試験実装では、この動詞構造体であるVERB_EX構造体を約7900個、形容詞のADJV_EX構造体を2000個ほど内部で生成している。このテーブルは、WindowsPCのメモリ上で200MB程度になり、現代のPCでも十分格納できる。
An actual verb utilization dictionary is implemented by a character string table as shown in FIG. 47 in the embodiment described later. The entity in FIG. 47 is VERB_EX defined as a C language structure. In the structure VERB_EX, a string-type structure STG is defined, and a single VERB_EX structure expands all use strings of one verb. In Japanese, verbs are expanded with regularity, so their usage can be generated regularly. In this implementation, it is divided into nine patterns of "tell", "write", "get up", "take off", "pass", "run", "drink", "come" and "do" and divide it into patterns. In the process, a total of 7,900 verbs are used regularly. If all usages are generated, it is possible to specify relationship attribute descriptors corresponding to usages after morphological analysis. For example, “does not run” is verb_ex->v_02_07-> string = does not run, so in the form of “run + not (negative) + past tense”, two relation attribute descriptors of “deny” and “past tense” Can be identified. Adjectives are also expanded with the same structure ADJV_EX, and the same processing is performed. In this test implementation in C language, about 7900 verb constructs and about 2000 adjective ADJV_EX constructs are generated internally. This table is about 200 MB on the memory of Windows PC, and it can be stored enough with modern PCs.

実際の形容詞の活用辞書は、後述する実施例では図48のような文字列テーブルで実装している。実装は動詞と同じであり、ADJV_EXという構造体1個で一つの動詞の活用文字列を全て展開している。今回の実装では、「白い」「無い」「明らかだ」「明らかです」「堂々たる」の5パターンに分けて、パターンごとに分けた処理で合計2000種類超の形容詞活用を規則的に展開している。動詞と同じく形態素解析の後に、活用に対応した関係属性記述子を特定できる。例えば、「白くなった」は
adjv_ex−>a_03_05−>string=白くなった
なので、「白い+(状態そのもの)+(形容成り)+過去時制」という形で、「状態そのもの」と「形容成り」と「過去時制」の3つの関係属性記述子が特定できる。
The practical adjective utilization dictionary is implemented by a character string table as shown in FIG. 48 in the embodiment to be described later. The implementation is the same as verbs, and one structure ADJV_EX expands all the use strings of one verb. In this implementation, we divided into five patterns of "white""not""obviously""it is obvious""dignity", and regularly expanded a total of more than 2000 adjective applications by processing divided into each pattern ing. As with verbs, after morphological analysis, it is possible to specify relationship attribute descriptors corresponding to utilization. For example, "behind white" is adjv_ex->a_03_05-> string = it has become white, so "state itself" and "approval structure" in the form of "white + (state itself) + (apex) + past tense" It can identify three relationship attribute descriptors of and “past tense”.

本発明は以上のような構造が好適な実施例と考える。これを使用するときは、以上に説明した機能を、必要に応じてプログラム等適切な技術で実装すればよい。発明者の試験的実施例は後述する。   In the present invention, the structure as described above is considered to be a preferred embodiment. When this is used, the functions described above may be implemented by an appropriate technology such as a program as needed. An experimental example of the inventor will be described later.

<その他の実施態様>
他言語の対応例として、意味言語の文章を入力とし、古代エジプト語中期のヒエログリフ表記として文字列を出力する処理のフロー図を図49に示す。日本語出力と同じく、木のノードを辿り、関係属性記述子に対して再帰的に処理を実行する。そのため、再帰処理できるサブルーチンを別途定義している。なお、この実装はあくまで他言語対応の例示とすることを目的としているため、ごく簡素な実装である点は留意されたい。それでも、古代エジプトで壁画等に実際に用いられた短文フレーズ程度は、語順も含めて正確に出力できる。日本語出力との大きな違いは、日本語のような活用を使用しない点と、日本語における格助詞のほとんどは明記されない点と、日本語における「の」助詞にあたる関係属性記述子の表記が、左右入れ替わる点である。つまり、日本語で「私のこども」は、「こども、わたしの」という表記に語順が変わる。なお、出力については、UTF−16文字コードか、それより上位の文字コードを使用すればヒエログリフの絵文字をそのまま表示できる。ただし、出力する端末またはシステム内に「ヒエログリフのフォント」がインストールされていることが条件である。そうでなければ、エディタであろうが端末であろうがフォント無しとして処理される。ヒエログリフに対応したフォントはあまり多くないが、例えば「Notoフォント」シリーズはヒエログリフサブセットが含まれる。
<Other embodiments>
As a correspondence example of another language, FIG. 49 shows a flow chart of processing of inputting a sentence of a semantic language and outputting a character string as a hieroglyph notation in the middle of ancient Egyptian language. As with Japanese language output, trace the nodes of the tree and execute processing recursively on the relation attribute descriptor. Therefore, a subroutine that can be recursively processed is defined separately. Note that this implementation is intended to be an example for other languages, so it is a very simple implementation. Nevertheless, the short sentence phrase degree actually used for mural painting etc. in ancient Egypt can be output correctly including the word order. The major difference from Japanese output is that it does not use Japanese-like usage, that most of the case particles in Japanese are not specified, and the notation of relational attribute descriptor that corresponds to "no" particles in Japanese, It is the point where right and left are replaced. In other words, in Japanese, "my child" changes the word order to the notation "child, my". As for the output, if a UTF-16 character code or a character code higher than that is used, the pictograph of the hieroglyph can be displayed as it is. However, the condition is that "the font of the hieroglyph" is installed in the output terminal or system. Otherwise, whether it is an editor or a terminal, it is treated as having no font. There are not many fonts that correspond to hieroglyphs, for example, the "Noto font" series includes hieroglyph subsets.

図49の処理を順に説明する。まず、意味言語の文章を入力として受け取る(ステップS1471)。次に、根の関係属性記述子をglueとして指定し(ステップS1472)、意味言語の文章とともに引数として指定しサブルーチンGlueSubを呼び出す(ステップS1473)。   The process of FIG. 49 will be described in order. First, a sentence of a semantic language is received as an input (step S1471). Next, the root relation attribute descriptor is specified as glue (step S1472), and the sentence of the semantic language is specified as an argument, and the subroutine GlueSub is called (step S1473).

続いてサブルーチンを説明する。意味言語の文章と、処理対象となる関係属性記述子を入力として受け取る(ステップS1474)(ステップS1475)。次に、glueが2値性かどうか判定する(ステップS1476)。glueが2値性なら(ステップS1476がYES)、次の判定に移る。glueが「の(所属)」でなければ(ステップS1477がNO)、次の判定に移る。glueの左の子が概念識別子なら(ステップS1478がYES)、左の子ノードの文字列を出力する(ステップS1479)。次に、glueの右の子が概念識別子なら(ステップS1480がYES)、右の子ノードの文字列を出力し(ステップS1481)、処理を終える(再帰呼び出し元へ処理を返す)。 glueの左の子が概念識別子でなければ(ステップS1478がNO)、glueの左の子を引数として指定し、GlueSubが再帰的に呼び出される(ステップS1488)。glueの右の子が概念識別子でなければ(ステップS1480がNO)、glueの右の子を引数として指定し、GlueSubが再帰的に呼び出される(ステップS1489)。   Subsequently, the subroutine will be described. The sentence of the semantic language and the relation attribute descriptor to be processed are received as an input (step S1474) (step S1475). Next, it is determined whether glue is binary (step S1476). If glue is binary (YES in step S1476), the process proceeds to the next determination. If glue is not "of (belonging to)" (step S1477 is NO), the process proceeds to the next determination. If the left child of glue is a concept identifier (YES in step S1478), the character string of the left child node is output (step S1479). Next, if the right child of glue is a concept identifier (YES in step S1480), the character string of the right child node is output (step S1481), and the process is ended (the process is returned to the recursive caller). If the left child of glue is not a concept identifier (NO in step S1478), the left child of glue is specified as an argument, and GlueSub is recursively called (step S1488). If the right child of glue is not a concept identifier (NO in step S1480), the right child of glue is specified as an argument, and GlueSub is recursively called (step S1489).

glueが「の(所属)」であれば(ステップS1477がYES)、次の判定に移る。古代エジプト語においては、「私の物」のような「所属」関係にある場合、「物、私(の)」という語順となり、なおかつ「私は」なのか「私の」なのかは明示されず、読み手が文脈から判断する。そのため、この処理では右優先で、関係属性記述子は出力されない。glueの右の子が概念識別子であれば(ステップS1482がYES)、右の子のノードが出力される(ステップS1483)。続いて、glueの左の子が概念識別子であれば(ステップS1484がYES)、左の子のノードが出力される(ステップS1485)。glueの右の子が概念識別子でなければ(ステップS1482がNO)、glueの右の子を引数として指定し、GlueSubが再帰的に呼び出される(ステップS1486)。glueの左の子が概念識別子でなければ(ステップS1484がNO)、glueの左の子を引数として指定し、GlueSubが再帰的に呼び出される(ステップS1487)。   If glue is “no (belonging to)” (YES in step S1477), the process proceeds to the next determination. In ancient Egyptian, in the case of "belonging" relationship like "my thing", it becomes the word order "thing, me (of)" and it is clearly specified whether it is "my" or "my". In addition, the reader judges from the context. Therefore, in this process, the relation attribute descriptor is not output with right priority. If the right child of glue is a concept identifier (YES in step S1482), the right child node is output (step S1483). Subsequently, if the left child of glue is a concept identifier (YES in step S1484), the left child node is output (step S1485). If the right child of glue is not a concept identifier (NO in step S1482), the right child of glue is specified as an argument, and GlueSub is recursively called (step S1486). If the left child of glue is not a concept identifier (NO in step S1484), the left child of glue is specified as an argument, and GlueSub is recursively called (step S1487).

glueが2値性でなければ(ステップS1476がNO)、次の判定に移る。glueの子が概念識別子であれば(ステップS1490がYES)、子のノードの文字列を出力し(ステップS1491)、ついでglueの文字列を出力する(ステップS1492)。glueの子が概念識別子でなければ(ステップS1490がNO)、glueの子を引数として指定し、GlueSubが再帰的に呼び出される(ステップS1493)。   If glue is not binary (NO in step S1476), the process proceeds to the next determination. If the child of glue is a concept identifier (YES in step S1490), the character string of the child node is output (step S1491), and then the character string of glue is output (step S1492). If the child of glue is not a concept identifier (NO in step S1490), the child of glue is specified as an argument, and GlueSub is recursively called (step S1493).

他の実施形態として、意味言語の言語仕様は、本実施例に限定されるものではない。意味言語の基本的な考え方は、記述するべき物や概念などに識別子を与え、概念を抽象化し、その識別子の関係や属性を記述する文法を持つ言語システムというものである。そして、本発明の「文章を理解する処理」とは、形式言語同士を比較し、その整合性を調べることである。つまり、比較できる処理が存在すればよいのである。例えば、文章表現のための形式言語と、知識を表現するための形式言語は同一文法でなくてもよい。ただ、その場合は正規化処理以外に整合性を検証するためのルールを設ける必要がある。特に、人工知能分野の歴史上で初期の形式言語は文法の制約が多く、文章としての表現と知識の表現は異なった構造を持つ傾向が強かった。しかし、本発明の実装上は意味言語のように文章も知識も同一の表記法で表記でき、単純比較できる言語が望ましいことはいうまでもない。そういう意味では、意味言語の関係属性記述子や概念識別子の定義も実装に適した定義を採用することが好適である。   As another embodiment, the language specification of the semantic language is not limited to this embodiment. The basic idea of a semantic language is a language system with a grammar that gives identifiers to things and concepts to be described, abstracts concepts, and describes the relationships and attributes of the identifiers. Then, the "processing for understanding sentences" in the present invention is to compare formal languages with each other and check their consistency. That is, it is sufficient if there is a process that can be compared. For example, the formal language for sentence expression and the formal language for expressing knowledge may not be the same grammar. However, in that case, it is necessary to provide a rule for verifying the integrity other than the normalization process. In particular, in the history of the artificial intelligence field, the early formal languages have many restrictions of grammar, and the expressions as sentences and the expressions of knowledge tend to have different structures. However, it is needless to say that it is desirable for the implementation of the present invention to write sentences and knowledge in the same notation as in a semantic language, and to use a language that allows simple comparison. In that sense, it is preferable that definitions of relational attribute descriptors and concept identifiers in the semantic language adopt definitions suitable for implementation.

特に、関係属性記述子に関しては色々な定義の仕方がある。例えば、図50に示すように、同じ文章でも関係属性記述子の定義や概念識別子の定義次第で同じ内容の自然言語をいろいろな形で表現できる。それぞれの定義には一長一短あり、図50の定義に限ったものではなく、実施するシステムの用途やプログラミング言語との相性などを勘案し、より好適なものを選択するとよい。 In particular, there are various ways of defining the relation attribute descriptor. For example, as shown in FIG. 50, even in the same sentence, the natural language of the same content can be expressed in various ways depending on the definition of the relation attribute descriptor and the definition of the concept identifier. Each definition has merits and demerits, and is not limited to the definition of FIG. 50, and a more preferable one may be selected in consideration of the application of the system to be implemented, compatibility with the programming language, and the like.

図50Aは、本実施例で使用した、概念識別子と、2値性関係属性記述子と多くの1値性関係属性記述子をもつ意味言語の木構造例である。元の日本語文章は、「私は走りたい」という本人の願望を記述する文章である。図50Aでは、「希望」という1値性の関係属性記述子が、「走る」という概念を属性として修飾していると見る考えを反映した文法である。対して、図50Bの文法定義では、「望み」を概念として新たに付け加え、「私」「の」「望み」という形で願望を記述している。図50Bでは、「希望」の1値性関係属性記述子は使っていない。図50Cでは、「私の望み」という新しい概念を付け加え、ひとまとめにしている。このように、概念をどう定義するかは実装者にある程度の自由度があり、一貫していればよい。よって、図15に示した品詞の分類と対応関係も一例である。このように、いずれの文法を採用しても、例文の本人の願望をきちんと記述できている。どのような実装にするかは以下の点を考慮すべきと考える。実験の結果わかったことであるが、一般的に、図50Aの文法の方が構文解析や変換は実装しやすいが、木構造は複雑になりがちで意味言語操作には苦労する傾向がある。逆に、図50Bの文法では、隠れている概念を補足して木構造を構築するため、木構造の構築は複雑になりがちだがいったん変換できると木構造は美しく、操作はやりやすい傾向がある。また、図50Cのように概念をある程度まとめて定義すると、当たり前だが大量のIDが必要になる代わりに木構造はコンパクトになる傾向がある。このように、意味言語の文法定義は、構文解析に力を入れるか、意味言語そのものの処理に力を入れるかなど総合的に判断して定義するとよい。   FIG. 50A is an example of a tree structure of a semantic language having a concept identifier, a binary property relation attribute descriptor and a large number of univalued property relation attribute descriptors used in this embodiment. The original Japanese sentence is a sentence that describes the person's desire "I want to run". In FIG. 50A, this is a grammar that reflects the idea that the one-valued relation attribute descriptor “hope” is viewed as modifying the concept “run” as an attribute. On the other hand, in the grammar definition of FIG. 50B, “hope” is newly added as a concept, and desires are described in the form of “me” “of” “hope”. In FIG. 50B, the “desired” 1-valued nature relation attribute descriptor is not used. In FIG. 50C, a new concept "My wish" is added and put together. In this way, the implementer should have some degree of freedom and be consistent as to how to define the concept. Therefore, the classification and correspondence of the part of speech shown in FIG. 15 are also an example. Thus, regardless of which grammar is adopted, the desires of the example sentence can be described properly. We think that the following points should be considered as what kind of implementation it makes. As understood from the experiment, in general, the grammar of FIG. 50A is easier to implement syntactic analysis and transformation, but the tree structure tends to be complicated and tends to struggle with semantic language manipulation. Conversely, in the grammar of FIG. 50B, the construction of the tree structure tends to be complicated because the tree concept is constructed by supplementing the hidden concept, but once converted, the tree structure tends to be beautiful and easy to operate. Also, if concepts are defined together to a certain extent as shown in FIG. 50C, the tree structure tends to be compact instead of requiring a large amount of IDs, as it may be. Thus, the grammar definition of the semantic language may be defined by comprehensively judging whether to put emphasis on syntactic analysis or to process the semantic language itself.

また、概念識別子については、用途によってさらに細分化する必要が出てくる場合がある。例えば、本発明においてオントロジーにおけるis−a、part−of関係が重要な新しい知識の生成(推論処理)を行う場合(例えば、図37の知識の加工や図39の理解する処理において、より高度な知識の生成をおこなう処理を追加する場合)、は概念識別子をより注意深く定義する必要がある。例として、「運転」という概念を考える。「運転」は、「運転する」のように動詞的に扱えるが、これは厳密には「コト」の概念である。一方、「運転は難しい」という表現に使われる場合は「モノ」の概念である。「コト」の上位概念は「part−of」で定義される。一方、「モノ」の上位概念は「is−a」で定義される。この二つを区別しないと、同じ概念識別子に二つの上位概念が完全に重複してしまい、新しい知識の生成において誤った知識が生成される場合がある。対策は単純である。後述する実施例では「運転」という語に数値7221のみを割り当てているが、これを「モノ」と「コト」に区別し、異なる数値を割り当てるのである。自然言語からの変換の場合は、この2つは「多義語」として区別することで処理できる。もちろん、is−a、part−ofに対応する関係属性記述子を新たに追加する必要もある。   In addition, the concept identifier may need to be further subdivided depending on the application. For example, in the present invention, in the case of generating new knowledge (inference processing) in which the is-a, part-of relationship is important in the ontology (for example, processing of knowledge in FIG. 37 or processing in understanding FIG. 39) When adding the process of generating knowledge), it is necessary to define concept identifiers more carefully. As an example, consider the concept of "driving." "Driving" can be treated as a verb like "driving", but this is strictly the concept of "Koto". On the other hand, it is the concept of "thing" when used for the expression "driving is difficult. The superordinate concept of "Koto" is defined by "part-of". On the other hand, the superordinate concept of "thing" is defined by "is-a". If the two are not distinguished, two superordinate concepts may completely overlap in the same conceptual identifier, and false knowledge may be generated in the generation of new knowledge. The measures are simple. In the embodiment to be described later, only the numerical value 7221 is assigned to the word "operation", but this is divided into "mono" and "sub", and different numerical values are assigned. In the case of conversion from natural language, these two can be processed by distinguishing them as "polymorphism". Of course, it is also necessary to add new relation attribute descriptors corresponding to is-a and part-of.

また、平叙文(普通文)の場合はそれほど問題にならないが、疑問文、使役文、命令文、仮定文、感嘆文などは、その意味構造が複雑化しがちである。なお、図50においては、説明の簡便化のため関係属性記述子をほとんど区別せず「=」で統一している。意味がとりにくい構文木もあるが、あくまで構造の説明のためである。図50D、図50E、図50F、図50G、図50H、図50I、図50Jなどのように、概念識別子と関係属性記述子は様々に定義し、記述できる。これは、多くの自然言語が自由文脈文法を採用していることに一因がある。自由文脈文法においては、それぞれの概念の結合に曖昧さがあり、また多くの場合において人間にとっては曖昧さが問題にならない。例として、「リンゴは赤い?」という文章を挙げる。人間相手に「リンゴは赤い?」と聞いた場合、その意味は明確である(と感じる)。実際にはリンゴの品種や生育状態などにより変化するため単純には答えられないが、説明のため実際のりんごについては仔細を省く。この文章は、意味としては厳密には「リンゴの色は赤い?」とリンゴの「色」についての疑問文である。疑問文を処理するためには、疑問となっている意味の塊、文章の節のようなものをを定義する必要がある。ここで、疑問の内容としては「リンゴの色が赤い」こと全体を疑問とするか、「色が赤い」ことを疑問とするか、「赤いかどうか」を疑問とするかは、自由文脈文法の文章からは確定できない。そもそも、発問者本人もそこまでは意識していないのである。そこで、図50Eのような形式の意味言語(形式言語)に変換するときはある程度の前提を置き、どうしても不明瞭な場合は言語処理システム側から質問し返す必要も出てくる。   In addition, in the case of plain sentences (ordinary sentences), it does not matter so much, but questions, causative sentences, imperative sentences, hypothesis sentences, exclamation sentences, etc. tend to have complicated semantic structures. Note that, in FIG. 50, for simplification of the description, the relation attribute descriptor is not distinguished almost and unified by “=”. There is also a syntactic tree that is hard to make sense, but it is only for the purpose of explanation of the structure. As shown in FIGS. 50D, 50E, 50F, 50G, 50H, 50I, 50J, etc., the concept identifier and the relation attribute descriptor can be defined and described variously. This is partly due to the fact that many natural languages adopt free context grammars. In free context grammars, there is ambiguity in combining the concepts, and in many cases ambiguity is not an issue for humans. As an example, I will mention the sentence "Aren't red?" When I ask the human opponent "Are apple red?", The meaning is clear (feels like). In fact, it can not be answered simply because it changes depending on the apple cultivar and growing condition, etc., but for the sake of explanation, we omit the details of the actual apple. This sentence is, strictly speaking, "Is the color of the apple red?" And the question of the "color" of the apple. In order to process a question, it is necessary to define a chunk of meaning in question, such as a sentence section. Here, as the content of the question, whether to ask the whole that "the color of the apple is red", or whether to ask that the "color is red", or whether to ask "whether it is red", free context grammar It can not be decided from the sentence of. In the first place, the questioning person himself is not aware so much. Therefore, when converting to a semantic language (formal language) of a format as shown in FIG. 50E, it is necessary to make some assumptions, and if it is absolutely unclear, it is necessary to return a question from the language processing system side.

本発明においては、意味言語における「疑問文」「使役文」「命令文」「仮定文」「感嘆文」などを表現するために、「疑問」「使役」「命令」「仮定」「感嘆」という1値性関係属性記述子を定義している(図50D)。図50Dの形式は、自然言語の文章から直接変換しやすく、文章の構成要素が少なくなる特徴がある。しかし、文意の解釈などは複雑化しやすいという欠点もある。対して、図50Eの形式は、「疑問」「使役」「命令」「仮定」「感嘆」を概念と解釈して概念識別子として定義し、さらに必要な場合は「使役主」「命令主」などを追加して定義している。図50Eは、形態素解析結果や自然言語の文章構造そのものから直接的には構築できない。文章が明確になるように、必要な要素を補う操作が必要である。図50Eの欠点は生成の難しさだが、利点は解釈処理の容易さと意味の明確さである。図50Eの問いの文は、「色が赤い」かどうかを問うていることが明確である。そして、この問いの答えは「色が赤い」という部分木か、その否定の部分木であることが明確にわかる。AIに大学受験させるために文章題を読み取る処理を行うなら、図50Eのような疑問をより明確に示す実装が適していると考えられる。このように図50Dと図50Eは相反する性質をもち、どちらが好適かは発明の実施目的によって選ぶべきである。   In the present invention, in order to express “question sentence”, “cause sentence”, “instruction sentence”, “hypothesis sentence”, “exclamation sentence”, etc. in the semantic language, “question”, “cause”, “instruction”, “supposition”, “exclamation” Defines a one-valued nature relationship attribute descriptor (FIG. 50D). The format of FIG. 50D is characterized in that it is easy to convert directly from natural language sentences, and sentences of text components are reduced. However, there is also a drawback that interpretation of the meaning of the word is easy to complicate. On the other hand, the format of FIG. 50E interprets "question", "cause", "instruction", "assumption", "exclamation" as a concept and defines it as a concept identifier, and further, if necessary, "cestor", "instruction owner", etc. Is added and defined. FIG. 50E can not be constructed directly from the morphological analysis result or the sentence structure of the natural language itself. In order to make the sentence clear, an operation to supplement the necessary elements is necessary. The disadvantage of FIG. 50E is the difficulty of generation but the advantage is the ease of interpretation and the clarity of the meaning. It is clear that the question in FIG. 50E asks whether "the color is red". And it is clearly understood that the answer to this question is a subtree of "red color" or a subtree of the negative. If the process of reading a text subject to have an AI take a university exam, an implementation that more clearly shows the question as shown in FIG. 50E is considered to be suitable. Thus, FIG. 50D and FIG. 50E have opposite properties, and which should be chosen depending on the purpose of implementation of the invention.

その他、折衷案として図50Fのように「疑問」「使役」「命令」「仮定」「感嘆」などを2値性関係属性記述子として使用する方法もある。図50Gのように「疑問」「使役」「命令」「仮定」「感嘆」などを概念として、単一の関係として記述する方法もある。図50Hのように「疑問」「使役」「命令」「仮定」「感嘆」などを主語のように扱い、その関係を表す方法もある。図50Iのように「疑問」「使役」「命令」「仮定」「感嘆」などを2値性関係属性記述子として、さらに「状態」などの概念を補足する方法もある。図50Jのように「疑問」「使役」「命令」「仮定」「感嘆」などを2値性関係属性記述子として、補足した概念を主語のように扱う方法もある。   In addition, there is also a method of using "question", "cause", "instruction", "assumption", "exclamation" or the like as a binary relationship attribute descriptor as shown in FIG. 50F as a compromise proposal. As shown in FIG. 50G, there is also a method of describing "question", "cause", "instruction", "assumption", "exclamation" and the like as a single relationship as a concept. As shown in FIG. 50H, there is also a method of treating "questions", "causes", "instructions", "assumptions", "exclamations" and the like like subjects and expressing the relationship. As shown in FIG. 50I, there is also a method of supplementing concepts such as "state" by using "question", "cause", "instruction", "assumption", "exclamation" etc. as the binary property relation attribute descriptor. As shown in FIG. 50J, there is also a method of treating a supplemented concept as a subject, with "question", "cause", "instruction", "assumption", "exclamation" and the like as binary property relation attribute descriptors.

このように、用途によってその定義方法はいくらでもありうるが、本発明を実施するために大切なのは、「処理系の中で文法が一貫しており」かつ「すくなくとも文章を比較する方法があること」である。   Thus, depending on the application, there may be any definition methods, but what is important for practicing the present invention is that "the grammar is consistent in the processing system" and "there is a method to compare at least the sentences". It is.

また、後述する実施例では、意味言語の表現に2分木を用いているが、必ずしも2分木を使う必要はない(図51)。2分木を使った理由は、主に関係属性記述子の明確性の問題と、比較利便性、そして実装の簡素性によるところが大きい。(図51A)は、2分木の構文木である。しかし、意味言語では概念と概念の関係性を示すことが重要なので、多分木(図51B)でもグラフ(図51C)でも配列(ヒープ)(図51D)でも文字列(図51E)でも表現できる。このうち、図51Cのように有向性グラフで表現する方法は、意味ネットワークとほぼ同義となる。そして、意味ネットワークを結合したものは格フレームと呼ばれるが、これは意味言語の処理における図35に説明する意味言語加工処理(1302)に相当する。多分木は複雑な割に特段のメリットはないと考えた。グラフでも表現可能だが、比較の際や主語を決めるときに結局始点を決める必要があり、特定のノードを始点として指定できる有向グラフとなるとほとんど木と同じである。さらにグラフで表現された意味言語は、比較のアルゴリズムが複雑化しやすい。同様に配列で表現できるが、データ構造が単純な分、適用するアルゴリズムのほうが複雑になりがちである。配列を使いたいなら、よく知られたヒープ構造が好適である。文字列で表現できるのは見ての通りであるが、内部表現として使うには冗長である。   Further, in the embodiment to be described later, although the binary tree is used for expressing the semantic language, it is not always necessary to use the binary tree (FIG. 51). The reason for using a binary tree is mainly due to the problem of clarity of relational attribute descriptors, comparative convenience, and simplicity of implementation. (FIG. 51A) is a syntax tree of a binary tree. However, in the semantic language, it is important to show the relationship between concepts and concepts, so it can be expressed as a tree (FIG. 51B), a graph (FIG. 51C), an array (heap) (FIG. 51D) or a character string (FIG. 51E). Among them, the method of expressing a directed graph as shown in FIG. 51C is almost equivalent to the semantic network. A combination of semantic networks is called a case frame, which corresponds to semantic language processing (1302) described in FIG. 35 in the processing of the semantic language. Perhaps I thought that there was no particular advantage for trees despite the complexity. Although it can be expressed as a graph, it is necessary to determine the starting point after comparison or when determining the subject, and it is almost the same as a tree when it is a directed graph that can specify a specific node as the starting point. Furthermore, the semantic language represented by a graph tends to complicate the comparison algorithm. Similarly, it can be expressed as an array, but the simple data structure tends to make the applied algorithm more complicated. Well known heap structures are preferred if you want to use arrays. As you can see, it can be expressed as a string, but it is redundant to use as an internal representation.

また、意味言語文章の情報をすべて意味言語で記述する必要はない。例えば、知識の中の日付情報など、共通する部分をまとめたり、特定の部分だけ切り離すこともできる。例えば、年表データを参照する処理では、項目ごとにまとめてあったほうが処理しやすい場合もある。(図51F)では、意味言語文章の一部をインデックスのようにデータベースの項目のようにまとめたものを例示する。図51Fは、AIに対するルールブックのように使うこともできる。意味ネットワークやフレーム表現の分野でいうと、これはフレーム表現と同義と見なすこともできる。また、意味言語文章の時間を表す部分を別項目としてまとめることができる(図51G)。図51Gは、意味言語文章で書かれた歴史年表の記載のうち、時間の副文木を独立させたものと見ることができる。このような、歴史的な年代情報を含んだ知識は重要である。古い時代の言葉の中には、既に本来の意味が失われてしまった言葉も多い。また、時代によって慣用句の意味合いが変化する場合もある。知識辞書を年代情報と紐付ければ、古文書のより正確な翻訳を可能にできる。また、今の時代の知識辞書をしっかり実装しておけば、1000年後にもちゃんと文章のニュアンスまで伝わる文書を構築できる。   Also, it is not necessary to describe all the information of the semantic language sentence in the semantic language. For example, common parts, such as date information in knowledge, can be combined or separated into specific parts. For example, in the process of referring to the chronology data, it may be easier to process if the items are grouped together. In (FIG. 51F), a part of the semantic language sentence is summarized like an item of a database like an index. FIG. 51F can also be used like a rulebook for AI. In the field of semantic networks and frame representation, this can also be considered as synonymous with frame representation. Also, the part representing the time of the semantic language sentence can be summarized as a separate item (FIG. 51G). FIG. 51G can be viewed as being independent of the secondary tree of time among the descriptions of the historical chronology written in semantic language sentences. Such knowledge that includes historical age information is important. Many of the words of old age have already lost their original meaning. Also, the meaning of idioms may change depending on the age. By linking a knowledge dictionary to age information, more accurate translation of old documents can be enabled. In addition, if the knowledge dictionary of the current era is firmly implemented, it is possible to construct a document that can be transmitted to the nuances of sentences even after 1000 years.

また、意味を理解する際に、感覚を使うことも理論上可能である。概念識別子は、概念として特定できるならどんなものでも対象とできる。例えば、AIにリンゴの色を評価させる状況を考える。AIに接続されたセンサーから、木になっているリンゴの色を取得できる場合、リンゴが赤いか確認するというミッションが与えられたとする。これは、アルゴリズムとしては、「リンゴの色は赤い」という意味言語の文章を理解し、目の前の状況が条件を満たすことを確認するという処理に相当する(図52)。図52Aは、検証すべき命令、ミッションである。この場合、知識辞書の「赤い」の定義の中に、センサーの値を定義しておくのである。例えば、赤いとは、(赤いという感覚には人間同士でも個人差があるものの、)波長が650−780nmであると定義する。知識辞書にこの値範囲を定義しておけば、意味言語の文章の一部をセンサーで受け取る感覚として定義できる(図52C)。そして、実際の値(図52B)と比較し、センサーの感覚を含めて「理解」できる。つまり、適切なセンサー、または情報の入力があれば、感覚もまた理解の対象にできるのである。これを人間感覚で表現するなら、図52Cは人間の頭脳の中にある感覚の定義の表象であり、図52Bは実際に感覚を受け取ったときの人間の表象であると見ることができる。さらに別の表現をすれば、図52Bは感覚測定のハードウェアによった意味言語表現であり、図52Cは感覚を検証するAI寄りの意味言語表現である。本発明の実装では、ハードウェアの用意ができなかったため、理論的な検証に留まっている。なお、この「感覚概念」は、通常の文章処理や会話の処理を行う上では使わない。ただ辞書が肥大するだけであるので、必要に応じた追加の辞書として実装すべきであろう。後述する実施例で、知識辞書(図31A)の3行目に「Lv1」として定義しているのは、こういった追加辞書、特に感覚辞書が入っているかを明示するために置いた情報である。感覚も含めた知識辞書は「Lv2」などとして明記するためのいわば予約情報として確保している。   It is also theoretically possible to use a sense when understanding the meaning. The concept identifier can be anything that can be identified as a concept. For example, consider a situation in which AI is made to evaluate the color of an apple. Suppose that you have been given a mission to check if the apple is red if you can get the color of the apple that is a tree from a sensor connected to the AI. This corresponds to a process of understanding a sentence of a language that means "the color of an apple is red" as an algorithm, and confirming that the situation in front of the subject satisfies the condition (FIG. 52). FIG. 52A shows an instruction and a mission to be verified. In this case, the sensor value is defined in the definition of "red" in the knowledge dictionary. For example, red is defined as having a wavelength of 650 to 780 nm (although there is individual difference among humans in the sense of red). By defining this value range in the knowledge dictionary, it is possible to define a sense that part of the sentences of the semantic language is received by the sensor (FIG. 52C). Then, it can be "understood" including the sense of the sensor as compared with the actual value (FIG. 52B). In other words, with appropriate sensors or information input, senses can also be understood. If this is expressed in the human sense, FIG. 52C can be viewed as a representation of the definition of sense in the human brain and FIG. 52B is a representation of human when the sense is actually received. As yet another expression, FIG. 52B is a semantic linguistic expression by hardware of sensory measurement, and FIG. 52C is a semantic linguistic expression closer to AI for verifying the sensation. The implementation of the present invention is limited to theoretical verification because the hardware can not be prepared. Note that this "feeling concept" is not used in performing ordinary sentence processing and conversation processing. Since only the dictionary is enlarged, it should be implemented as an additional dictionary as needed. In the example to be described later, what is defined as “Lv1” in the third line of the knowledge dictionary (FIG. 31A) is information put in order to specify whether such additional dictionary, particularly the sense dictionary is included. is there. The knowledge dictionary including the sense is secured as so-called reservation information for specifying as "Lv2".

このほか、適切なセンサーがあれば、もちろん「甘い」「痛い」「臭い」などの感覚知識も含めることができる。Lv2実装では、人間の五感に対応するセンサーを勘案して値の受け取り方や解釈を定義する必要があるので今回は未実装である。   Besides this, if you have an appropriate sensor, you can, of course, include sensory knowledge such as "sweet", "pain", "smell" and so on. In Lv2 implementation, it is unimplemented this time because it is necessary to define how to receive and interpret values in consideration of sensors corresponding to human senses.

また、自然言語ID辞書は、辞書形式でもよいしデータベースとしてもよい(図53)。要は、自然言語表記とIDとの紐付けができればよい。IDは数値でなくてもよいが、数値でないと比較アルゴリズムが複雑化するため、数値IDが好適である。   Also, the natural language ID dictionary may be a dictionary format or a database (FIG. 53). The point is, as long as natural language notation and ID can be linked. Although the ID may not be a numerical value, a numerical ID is preferable because the comparison algorithm becomes complicated otherwise.

また、上述の実施形態の機能を実現するソフトウェアのプログラムやデータの全体または一部を、記録媒体から直接、あるいは通信を用いてプログラムを実行可能なコンピュータを有するシステムあるいは装置に供給し、そのプログラムを実行する場合も本発明に含める。また、辞書などの共有リソースを利用する場合も、記録媒体から直接、あるいは通信を用いて供給し、実行に利用する場合も本発明に含める。   Further, all or part of software programs and data for realizing the functions of the above-described embodiments are supplied directly from a recording medium or to a system or apparatus having a computer capable of executing the program using communication, and the program Also included in the present invention is the case where Further, also in the case of using a shared resource such as a dictionary, the present invention is also included in the present invention when supplied from a recording medium directly or using communication and used for execution.

また、本発明の実施において、実施例に挙げている機能を全て実装する必要はなく、要求される仕事に応じて一部機能を省略または追加することができる。例えば、省略された語句を特定する処理(図43)などは、実施用途に応じて、省略を全く認めない場合もあれば、若者言葉の特異的な省略語まで対応するような用途も考えられる。処理対象は自然言語なので、どこまで対応するかは実装者の選択による。   Moreover, in the implementation of the present invention, it is not necessary to implement all the functions listed in the embodiment, and some functions can be omitted or added according to the required work. For example, the process (FIG. 43) for identifying abbreviated words and the like may not be permitted at all depending on the application and may be used to correspond to specific abbreviations of the youth language. . Since the processing target is a natural language, it is up to the implementer's choice how far it corresponds.

本発明の場合、変換精度を高めるために新たなチェック項目を加えたり、また処理の簡便化のために一部処理を省略できる。例えば、より砕けた会話に対応するなら意味言語不足語補完処理1303において、図42の判定ルールステップS1354に類する処理の追加、拡充で対応できる。また、入力がより厳密であると期待できる場合(例えば入力として書類のような定型文書を期待できる場合)は、不足語の補完を省略したシステムで十分である。   In the case of the present invention, new check items can be added to improve conversion accuracy, and some processing can be omitted to simplify the processing. For example, if it corresponds to a more broken conversation, it can be coped with by adding or expanding a process similar to the judgment rule step S1354 in FIG. In addition, if it can be expected that the input is stricter (for example, if a fixed document such as a document can be expected as the input), a system in which the missing word complement is omitted is sufficient.

また、本発明において、形態素解析に意味言語理解処理結果を反映できる。日本語において形態素解析する場合は、一般的に外部ライブラリを利用するのが一般的である。しかし、より正確な形態素解析を行うために、例えば形態素解析を自前で実装し、その結果に意味言語理解処理を反映することもできる。   Further, in the present invention, the result of semantic language understanding processing can be reflected in morphological analysis. When morphological analysis is performed in Japanese, it is general to use an external library. However, in order to perform more accurate morphological analysis, for example, morphological analysis can be implemented on its own and the semantic language understanding processing can be reflected on the result.

本発明は、特定の自然言語に依存する部分をなるべく減らすよう設計している。最も厄介な知識の処理は共有化できるため、各国の言語チームで自然言語依存部を開発すれば、後の部分は共有できる。例えば、日本語開発チームは日本語と意味言語のやり取りさえ開発すれば、後は他の国の開発を待っていればよい。その上で、例えばメトロポリタン美術館で古代エジプト語用のプログラムが開発されれば、日本チームは古代エジプト語など全く知らなくても、意味言語を介して古代エジプト語の翻訳システムを構築できる。   The present invention is designed to reduce as much as possible the parts dependent on a particular natural language. Since the processing of the most troublesome knowledge can be shared, the language teams in different countries can share the latter part if they develop natural language dependent parts. For example, as long as the Japanese language development team develops exchanges between Japanese and semantic languages, it only has to wait for development in other countries. Then, for example, if a program for the ancient Egyptian language is developed at the Metropolitan Museum of Art, the Japanese team can construct an ancient Egyptian translation system via a semantic language without knowing the ancient Egyptian language at all.

(本発明の実装上の注意点)
本発明において、実装上注意したほうが良いと思われる点をいくつか指摘しておく。まず、概念識別子は大変膨大な量になると考えられる。本実施例で手作業で登録した最低限の概念識別子だけでも25000以上あり、IDで管理する上で32ビットでは到底足りないと考えられる。64ビット実装にすべきである。動詞や形容詞などは、そうそう増えないのでIDの小さいほうへまとめて配置し、いくらでも増えていく通常名詞や固有名詞をIDの大きいほうへ増やしていくのが効率的である。
(Notes on the implementation of the present invention)
In the present invention, it should be pointed out that it is better to be careful in implementation. First, concept identifiers are considered to be very large. Even the minimum concept identifier manually registered in the present embodiment is 25000 or more, and it is considered that 32 bits are far from sufficient to manage by ID. Should be a 64-bit implementation. Since verbs and adjectives do not increase so much, it is efficient to arrange them collectively to smaller IDs, and to increase normal nouns and proper nouns, which increase any number, to larger IDs.

図54のように、本発明の試験的な実施例として、内部表現および知識辞書として意味言語を用いる「JPN_to_Kotodama2.exe」、「Kotodama_to_JPN.exe」、「Kotodama_to_Hieroglyph.exe」、の3つのプログラムを開発した。これらのプログラムを開発した目的は、明細に記載したアルゴリズムおよび構成が機能することを確認するためである。本発明の実装としてこれを強いるものでも限定するものでもないが、少なくともこのような形で開発すれば、図54の効果が得られる。プログラムの動作等は、高速化のための多少のアレンジを除けば、明細に記載したフローチャート通りの実装である。このプログラムは、図6に記載の5つの効果を、プログラムの機能として集約または分割したものである。(Kotodamaの名前は、2006年の8月頃に研究開発を開始した際に内部表現の言語として命名したときの名残であり、現在は「意味言語」としているのでそのように解釈されたい)。   As shown in FIG. 54, as an experimental example of the present invention, three programs “JPN_to_Kotodama2.exe”, “Kotodama_to_JPN.exe”, “Kotodama_to_Hieroglyph.exe” using the semantic language as internal representation and knowledge dictionary are developed. did. The purpose of developing these programs is to confirm that the described algorithm and configuration work. Although the implementation of the present invention is not forced or limited, the effect of FIG. 54 can be obtained if it is developed at least in such a form. The operation of the program is implemented as the flow chart described in the specification except for some arrangements for speeding up. This program is obtained by aggregating or dividing the five effects described in FIG. 6 as functions of the program. (Kotodama's name is a remnant when it was named as a language of internal expression when R & D started in August of 2006, and it should be interpreted as it is "semantic language").

「JPN_to_Kotodama2.exe」は、日本語の文章をテキストファイルとして読み込んで、意味言語の文章に変換して出力する(図54A、図54B、図54C)。出力は、ファイルにテキスト形式で出力すると同時にコマンドプロンプトに表示もする。内部的には「理解する処理」も使用する。主に、図6Bの意味言語への変換機能のプログラムである。また、自然言語の理解処理は途中経過を確認しやすくするため、本プログラムの出力である意味言語の文章を、担当のプログラムへ渡す2段階の処理で確認する。同じく、図6E自然言語から別の自然言語への変換処理(翻訳処理)は途中経過を確認しやすくするため、本プログラムの出力である意味言語の文章を、担当のプログラムへ渡す2段階の処理で実行する。   “JPN_to_Kotodama2.exe” reads Japanese sentences as text files, converts them into sentences in the semantic language, and outputs them (FIGS. 54A, 54B, 54C). The output is output to a file in text format and also displayed on the command prompt. Internally, "understand processing" is also used. Mainly, it is a program of the conversion function to the semantic language of FIG. 6B. Also, in order to make it easy to check the progress of the natural language understanding process, the sentences of the semantic language which is the output of this program are confirmed in a two-step process of passing it to the program in charge. Similarly, in order to make it easy to confirm the progress of the conversion process (translation process) from FIG. 6E natural language to another natural language, a two-step process of passing the sentences of the semantic language that is the output of this program Run with

「Kotodama_to_JPN.exe」は、意味言語の文章をテキストファイルとして読み込んで、日本語の文章に変換して出力する。同時に、読み込んだ意味言語の文章を理解し、その結果を出力する(図54D)。出力は、ファイルにテキスト形式で出力すると同時にコマンドプロンプトに表示もする。主に、図6Aの意味言語の理解機能と、図6Cの自然言語への変換機能のプログラムである。また、図6D自然言語を理解する機能は、「JPN_to_Kotodama2.exe」の出力を「Kotodama_to_JPN.exe」への入力とすることで実行する。   "Kotodama_to_JPN.exe" reads sentences of the semantic language as text files, converts them into Japanese sentences and outputs them. At the same time, the sentence of the read semantic language is understood, and the result is output (FIG. 54D). The output is output to a file in text format and also displayed on the command prompt. Mainly, it is a program of the understanding function of the semantic language of FIG. 6A and the conversion function to the natural language of FIG. 6C. Also, the function of understanding the natural language in FIG. 6D is executed by using the output of “JPN_to_Kotodama2.exe” as an input to “Kotodama_to_JPN.exe”.

「Kotodama_to_Hieroglyph.exe」は、意味言語の文章をテキストファイルとして読み込んで、古代エジプト語の文章に変換して出力する(図54E)。出力は、ファイルにテキスト形式で出力すると同時にコマンドプロンプトに表示もする。主に、図6Eの自然言語から別の自然言語への変換(翻訳)機能の後半を担うプログラムである。   “Kotodama_to_Hieroglyph.exe” reads sentences of the semantic language as text files, converts them into sentences of ancient Egyptian and outputs them (FIG. 54E). The output is output to a file in text format and also displayed on the command prompt. The program is mainly responsible for the latter half of the translation (translation) function from the natural language of FIG. 6E to another natural language.

(実装の詳細)
図55Aは、実施にあたって試験的に開発作成したプログラムと辞書である。本発明を実施するにあたって、次のライブラリとプログラムを開発、実装し、動作を確認した。開発言語はC言語で、GCC(Mingw)とVC++2017でコンパイルした。意味言語情報処理にかかわるライブラリは「Lib−glue.c」「Lib−knowledge.c」「Lib−konnyaku2.c」「Lib−verb.c」「Lib−adjective.c」「Lib−split_sentence.c」「Lib−DicBook.c」の7つである。ライブラリは、別個のオブジェクトファイルとしてコンパイルし、最後にリンクして実行ファイルにコンパイルする。また、日本語ID辞書は「日本語ID辞書_JPN.dic」というファイル名でテキスト形式で作成している。知識辞書もテキスト形式で「知識辞書.dic」というファイル名で作成している。本実施例では、知識辞書のうちあらかじめ知っておくべき知識である「一般知識」のみをファイルとして記録し、実行時に図22に説明している構造体配列に読み込んでいる。文章処理中にでてくる文脈上、話の流れ上の知識等を記録する「一時知識」はファイルとしては記録せず、図22に説明している構造体配列にのみ記録している。これらを総括して、日本語→意味言語変換を行なうのが「JPN_to_Kotodama2.c」であり、意味言語→日本語変換を行なうのが「Kotodama_to_JPN.c」である。「Kotodama_to_JPN.c」は理解する処理も同時に呼び出す。
(Implementation details)
FIG. 55A shows a program and a dictionary developed and created on an experimental basis. In the practice of the present invention, the following libraries and programs were developed and implemented to confirm the operation. The development language is C, compiled with GCC (Mingw) and VC ++ 2017. Libraries involved in semantic language information processing are “Lib-glue.c” “Lib-knowledge.c” “Lib-konnyaku2.c” “Lib-verb.c” “Lib-adjective.c” “Lib-split_sentence.c” Seven of "Lib-DicBook.c". The library is compiled as a separate object file, finally linked and compiled into an executable file. Also, the Japanese ID dictionary is created in text format with the file name "Japanese ID dictionary _ JPN. Dic". The knowledge dictionary is also created in text format with the file name "knowledge dictionary. Dic". In this embodiment, only "general knowledge" which is knowledge to be known in advance from the knowledge dictionary is recorded as a file, and read at the time of execution into the structure array described in FIG. In the context of text processing, “temporary knowledge” for recording knowledge on the flow of a story, etc. is not recorded as a file, but is recorded only in the array of structures described in FIG. In summary, it is "JPN_to_Kotodama2.c" that performs Japanese-to-semantic language conversion, and "Kotodama_to_JPN.c" that performs semantic language-to-Japanese conversion. "Kotodama_to_JPN.c" also calls an understanding process at the same time.

意味言語→古代エジプト語変換を行なうのが、「Kotodama_to_Hieroglyph.c」である。ヒエログリフID辞書「ヒエログリフID辞書_HIE.hgp」もテキスト形式で作成した。前述の「Lib−knowledge.c」と知識辞書は全世界共通で使えるが、のこりは各言語ごとに開発する必要がある。今回は、「Lib−glue_Higph.c」「Lib−konnyaku2_Higph.c」「Lib−verb_Higph.c」「Lib−adjective_Higph.c」「Lib−split_sentence_Higph.c」「Lib−DicBook_Higph.c」を古代エジプト語用に開発した。ヒエログリフのフォント表示にあたっては、通常のパソコンには入っていないので、Googleの提供するNoteフォント一式のような対応フォントが別途必要である。また、ヒエログリフと英語、日本語を同時処理するためには、プログラムをUTF−16以上に対応させる必要がある。「Kotodama_to_Hieroglyph.c」は、ヒエログリフ表記を扱うため、日本語と異なり動詞活用などはほとんど必要ないが、「Kotodama_to_JPN.c」と動作比較するため「Lib−verb_Higph.c」等のライブラリをリンクしている。   It is "Kotodama_to_Hieroglyph.c" that performs semantic language → ancient Egyptian conversion. The hieroglyph ID dictionary "hieroglyph ID dictionary_HIE.hgp" was also created in text format. The above-mentioned "Lib-knowledge.c" and the knowledge dictionary can be used all over the world, but it must be developed for each language. In this case, "Lib-glue_Higph.c", "Lib-konnyaku2_Higph.c", "Lib-verb_Higph.c", "Lib-adjective_Higph.c", "Lib-split_sentence_Higph.c" and "Lib-DicBook_Higph.c" for ancient Egyptian language Developed. Since the hieroglyph font display is not included in a normal PC, a compatible font such as a set of Note fonts provided by Google is required separately. Also, in order to simultaneously process hieroglyphs and English and Japanese, it is necessary to make the program compatible with UTF-16 or higher. "Kotodama_to_Hieroglyph.c" handles hieroglyph notation, so verbs are hardly necessary unlike Japanese, but libraries such as "Lib-verb_Higph.c" are linked to compare with "Kotodama_to_JPN.c". There is.

図54Bには、C言語プログラマー向けに、本実施例にて使用しているプログラムのmakefileの内容を付記する。makeにはGNUMake3.81を用いて、コンパイルコマンド$(CC)にはコンパイルコマンドとオプションが展開され、「gcc −−input−charset=cp932 −std=gnu99 −DUNICODE −D_UNICODE −Wall −Wuninitialized −s −O3 −Os −c −o」としてコンパイルし、リンクしている。$(AC3_STG_OBJS)は、安全なファイル処理や文字列処理のためのライブラリがmakefile内でマクロ定義されている。$(AC3_STG_OBJS)は発明とは関連しないので割愛する。   FIG. 54B appends the contents of the makefile of the program used in the present embodiment for the C language programmer. "gcc--input-charset = cp 932-std = gnu 99-DUNICODE-D_UNICODE-Wall-Wuninitialized-s- Compiled and linked as O3-Os-c-o ". In $ (AC3_STG_OBJS), libraries for safe file processing and character string processing are macro-defined in the makefile. $ (AC3_STG_OBJS) is omitted because it is not related to the invention.

Lib−glue.cは、日本語の助詞と意味言語の関係属性記述子を主に取り扱うライブラリである。助詞と関係属性記述子は同じではないが構成要素としてよく似ているため、本ライブラリでまとめて扱う実装となっている。   Lib-glue. c is a library that mainly deals with related attribute descriptors of Japanese particles and semantic languages. The particle and the relation attribute descriptor are not the same, but they are similar as components, so they are implemented in this library.

Lib−knowledge.cは、意味言語で書かれた知識や文章の入出力と加工、木構造の処理等を扱うライブラリである。   Lib-knowledge. c is a library that handles input / output and processing of knowledge and sentences written in semantic languages, processing of tree structures, etc.

Lib−konnyaku2.cは、他のライブラリを呼び出して総合的に処理する上位ライブラリである。   Lib-konnyaku2. c is a high-level library that calls other libraries and processes them comprehensively.

Lib−verb.cは、日本語の動詞の活用テーブル生成や、融合した関係属性記述子の特定、形態素解析時の動詞マッチングを行うライブラリである。   Lib-verb. c is a library for generating a verb usage table in Japanese, specifying a fused relationship attribute descriptor, and performing verb matching in morpheme analysis.

Lib−adjective.cは、日本語の形容詞や副詞などの活用テーブル生成や、融合した関係属性記述子の特定、形態素解析時の形容詞、副詞等マッチングを行うライブラリである。   Lib-adjective. c is a library for generating utilization tables of Japanese adjectives and adverbs, specifying fused relational attribute descriptors, and matching adjectives, adverbs and the like at the time of morphological analysis.

Lib−split_sentence.cは、日本語形態素解析の総括、形態素解析後に分かち書きされた単語への単語IDの割り振り、木構造への変換処理の一部を行うライブラリである。   Lib-split_sentence. c is a library that performs generalization of Japanese morphological analysis, allocation of word IDs to divided words after morphological analysis, and part of conversion processing to a tree structure.

Lib−DicBook.cは、日本語ID辞書の読み込み、ID問い合わせに対する日本語表記の提供、日本語表記問い合わせに対する単語ID候補の提供、単語種別の回答などを行うライブラリである。   Lib-DicBook. c is a library for reading a Japanese ID dictionary, providing Japanese notation in response to an ID query, providing word ID candidates in response to a Japanese written query, and answering a word type.

日本語ID辞書_JPN.dicは、日本語用の単語ID辞書である。実際に作る際は、単語IDを古代エジプト語と共有するためにLibreOffice Calcのような表計算ソフトで一括で管理し、言語ごとにテキストファイルにコピペする形で作成した。   Japanese ID Dictionary_JPN. dic is a word ID dictionary for Japanese. When actually making it, in order to share word ID with ancient Egyptian language, it managed in bulk with spreadsheet software such as LibreOffice Calc, and created it in the form to copy to a text file for each language.

ヒエログリフID辞書_HIE.hgpは、古代エジプト語用の単語ID辞書である。実際に作る際は、単語IDを日本語と共有するためにLibreOffice Calcのような表計算ソフトで一括で管理し、言語ごとにテキストファイルにコピペする形で作成した。(拡張子が違うのは、ヒエログリフのフォントの視認性が悪く、16ポイント程度ないと判別できないため、この拡張子で開いたときだけ表示フォントサイズを変更する設定にしているためで他意はない。)   Hieroglyph ID Dictionary_HIE. hgp is a word ID dictionary for ancient Egyptian. When actually making it, in order to share the word ID with Japanese, it was managed in a batch with a spreadsheet software like LibreOffice Calc, and it was made in the form of copying to a text file for each language. (The extension is different because the visibility of the hieroglyph font is poor and it can not be determined without about 16 points, so the display font size is changed only when opened with this extension. )

知識辞書.dicは、意味言語で記述された知識辞書である。表記には数値IDを用いて作成している。   Knowledge dictionary. dic is a knowledge dictionary described in a semantic language. The notation is created using a numerical ID.

(実行の様子)
図56は本発明の試験実装の一つ、意味言語の文章を理解するプログラムの実行結果である。知識辞書にはあらかじめ「りんご」に関する知識が記録されている。りんごの色に関して、意味言語で記述された「りんごは赤い」という文章を入力した場合、りんごの色に関しては矛盾なく、あとの知識はりんごの種類などの色と無関係な知識であるため評価せず、全体として無矛盾であるため理解したことになる。一方、意味言語で記述された「りんごは暗い」という文章を読み込ませた場合、知識がないため理解できないと判断する。現在の知識量では、どの程度違うのか(未熟なら緑もある、品種によっても違う)の判断まではいかないが、知識辞書の知識量が増えれば、判断はいくらでも複雑に、正確に行えると考えられる。
(State of execution)
FIG. 56 shows an execution result of a program for understanding the sentences of the semantic language, which is one of the test implementations of the present invention. In the knowledge dictionary, knowledge about "apples" is recorded in advance. As for the color of apples, if you enter the sentence "Apples is red" written in a semantic language, it is consistent with the color of apples, and the latter knowledge should be evaluated because it is unrelated to the color of apples etc. In addition, it is understood because there is no contradiction as a whole. On the other hand, when the sentence "apple is dark" written in a semantic language is read, it is judged that it can not be understood because it has no knowledge. It is not possible to judge how much the present amount of knowledge differs (if it is immature green or different depending on the breed), but if the amount of knowledge in the knowledge dictionary is increased, it is considered that the judgment can be made as complicatedly as possible. .

図57は、本発明の試験実装の一つ、日本語から意味言語に変換するプログラムと、意味言語の文章を古代エジプト語に変換するプログラムの実行結果である。開発言語はC言語、GCC(Mingw)でコンパイルした。日本語側は、単語辞書は16400項目、表記ゆれを含めて28000あまりを登録し、動詞は7800、形容詞は2000あまりに対応している。古代エジプト語側は必要な単語のIDだけ実装した。出力は意味言語で、数値とカッコのみで記述できるが、読みづらいためセミコロンの後に一般的な日本語表記を追加して表示している。「彼女の子供は幸せだ」という文章を、完全に変換できた。日本語とは語順が逆であり、ヒエログリフの文を語順のまま訳すと「子供、彼女の、幸せ」であり、助詞はない。なお、本来のヒエログリフは美しさと面積の確保のため、いくつかの横長の文字は縦に並べてまとめられる場合がある。   FIG. 57 shows an execution result of one of the test implementations of the present invention, a program for converting Japanese to a semantic language, and a program for converting a sentence of a semantic language to ancient Egyptian. The development language was compiled with C language, GCC (Mingw). On the Japanese side, there are 16400 items in the word dictionary, and about 28,000 including notation fluctuation, 7800 for verb, and 2000 for adjective. The ancient Egyptian side implemented only the necessary word IDs. The output is a semantic language, which can be written only with numbers and parentheses, but it is displayed by adding a general Japanese notation after a semicolon to make it difficult to read. I could completely translate the sentence that "her child is happy". In Japanese, the word order is reversed, and the sentences of hieroglyphs are translated in word order as "children, her, happiness" and there are no particles. The original hieroglyphs may be arranged vertically in order to ensure beauty and area.

本発明技術は、会話や文章等の意味を解釈、理解することを可能とするものでり、基本機能をC言語で試験実装済みであるので、電子計算機上でプログラムとして作成・実行可能であることは明らかである。そのため、自然言語を取り扱う多くの電子機器に応用できる。例えば、意味問い合わせ・意味検索、言語翻訳、映像情報の台詞・状況検索、文章評価・法律評価、各種アドバイス(エキスパートシステム)、知識データベースの構築、書籍・文書のデータベース化、言語評価による犯罪防止、論争評価・裁定、学習障害の支援、精神疾患・脳障害・認知症の診断に利用可能であると考えられる。   The technology of the present invention makes it possible to interpret and understand the meaning of conversations, sentences, etc., and since the basic functions have been test-implemented in C language, they can be created and executed as programs on electronic computers. It is clear. Therefore, it can be applied to many electronic devices that handle natural language. For example, semantic query / semantic search, language translation, video information dialogue / situation search, text evaluation / legal evaluation, various advice (expert system), knowledge database construction, book / document database formation, crime evaluation by language evaluation, It is thought that it can be used for controversy evaluation and adjudication, support for learning disabilities, and diagnosis of mental diseases, brain disorders and dementia.

1・・・意味言語情報処理システムの全機能ブロック図
11・・・データ入力部
12・・・意味言語への変換処理部
13・・・意味言語操作処理部
14・・・自然言語への変換処理部
15・・・意味言語理解処理部
16・・・自然言語ID辞書
17・・・知識辞書
18・・・記憶部
19・・・通知部
1001・・・システムのハードウェア構成の一例
21・・・意味言語を理解する処理のブロック図
22・・・自然言語を意味言語へ変換する処理の機能ブロック図
23・・・自然言語を理解する処理のブロック図
24・・・自然言語を翻訳する処理のブロック図
図11A・・・形式言語を理解する処理
図11B・・・自然言語を形式言語へ変換する処理
図11C・・・(形式言語を使った)自然言語を理解する処理
図11D・・・(形式言語を使った)自然言語の翻訳処理
図13A・・・基本的な意味言語の構造例
図13B・・・「問い」を表す意味言語の構造例
図13C・・・問いに対する「答え」の意味言語の表現例
図13D・・・問いははっきりしているが答えがはっきり特定できない意味言語の構造例
図13E・・・意味言語の条件つき問いの構造例
図13F・・・意味言語の条件つき問いの回答となる構造例
図14A・・・概念識別子の単語ID例
図14B・・・関係属性記述子の単語ID例
図16A・・・日本語における動詞の活用
図16B・・・意味言語における動詞活用の扱い
図18A・・・意味言語における時制や時間の表現
図18B・・・意味主文と意味副文という考え方
図18C・・・意味副文を使わない表現例1
図18D・・・意味副文を使わない表現例2
図19A・・・意味言語の数値表記例
図19B・・・意味言語の簡易表記例
図20A・・・概念識別子の構造体定義例
図20B・・・概念識別子構造体のイメージ
図20C・・・関係属性記述子の構造体定義例
図20D・・・関係属性記述子構造体のイメージ
図21A・・・意味言語による木構造の理論的イメージ
図21B・・・意味言語を構造体のリンクで実装した木構造のイメージ
図22A・・・意味言語の文章を格納するために必要な構造体の定義例
図22B・・・意味言語の文章を格納するイメージ
図24A・・・意味言語を日本語に変換する際に必要な活用単位の例1
図24B・・・意味言語を日本語に変換する際に必要な活用単位の例2
図24C・・・意味言語を日本語に変換する際に必要な活用単位の例3
図24D・・・意味言語を日本語に変換する際に必要な活用単位の例4
図29A・・・意味言語としての表記例
図29B・・・意味言語の内部表現例
図29C・・・意味言語の内部表現の辿り方
1461・・・意味言語の変換ステップ1
1462・・・意味言語の変換ステップ2
1463・・・意味言語の変換ステップ3
1464・・・意味言語の変換ステップ4
図30A・・・自然言語ID辞書の情報例
図30B・・・自然言語辞書の多言語への対応関係
1621・・・自然言語ID辞書ヘッダ情報例1
1622・・・自然言語ID辞書ヘッダ情報例2
図31A・・・一般的知識の知識辞書(一般知識辞書)例
図31B・・・一時的知識の知識辞書(一時知識辞書)例
1701・・・一般的知識の表記例
1702・・・一般的知識の表記例(説明用簡易表記1)
1703・・・一般的知識の表記例(説明用簡易表記2)
1704・・・一時的知識の表記例
1705・・・一時的知識の表記例(説明用簡易表記1)
1706・・・一時的知識の表記例(説明用簡易表記2)
図32A・・・意味言語の木構造に対する処理例(データ追加)
図32B・・・意味言語の木構造に対する処理例(データ挿入)
図32C・・・意味言語の木構造に対する処理例(データ置換)
図32D・・・意味言語の木構造に対する処理例(データ削除)
図32E・・・意味言語の木構造に対する処理例(データ並べ替え)
1306・・・語順を並べ替えても意味が変わらない並べ替え
1307・・・意味言語の木構造で優先順位のない関係属性記述子の並べ替え
図33A・・・並べ替え可能な関係属性記述子の定義
図33B・・・並べ替え可能かどうかの判定方法
図33C・・・並べ替え可能かどうかの判定式の状態
図35A・・・意味言語の文章の知識を使った変形例
図35B・・・意味言語の文章の知識を使った変形例(簡易表記)
図35C・・・意味言語文章の変形の理論的イメージ図
図36A・・・意味言語の文章を変形できる条件例(元知識に上位概念があり、別知識に下位概念がある)
図36B・・・意味言語の文章を変形できる条件例(元知識に上位概念があり、別知識に下位概念の部分木がある)
図38A・・・意味言語の木構造の比較処理
図38B・・・意味言語の木構造の部分木の比較処理
図40A・・・意味言語の文章が理解できる場合1
図40B・・・意味言語の文章が理解できる場合2
図40C・・・意味言語の文章が理解できない場合1(矛盾する)
図40D・・・意味言語の文章が理解できない場合2(不明)
図41A・・・不完全な文章の例(主語が省略されている)
図41B・・・不完全な文章の例(主語の対象が省略されている)
図50A・・・関係属性記述子の文例(「希望」という1値性関係属性記述子を定義する)
図50B・・・関係属性記述子の別定義例1(「希望」という概念識別子を定義する)
図50C・・・関係属性記述子の別定義例2(概念識別子にまとめる)
図50D・・・意味言語別文法構造1
図50E・・・意味言語別文法構造2
図50F・・・意味言語別文法構造3
図50G・・・意味言語別文法構造4
図50H・・・意味言語別文法構造5
図50I・・・意味言語別文法構造6
図50J・・・意味言語別文法構造7
図51A・・・意味言語の文例
図51B・・・意味言語の別構造例1(多分木を使う)
図51C・・・意味言語の別構造例2(意味ネットワーク様)
図51D・・・意味言語の別構造例3(ヒープ様)
図51E・・・意味言語の別構造例4(逆ポーランド記述)
図51F・・・意味言語の別構造例5(共有項をくくりだす)
図51G・・・意味言語の別構造例6(共有する副情報をくくりだす)
図52A・・・感覚を判定するための元意味言語文章
図52B・・・センサー側で構築される感覚情報を含んだ意味言語文章
図52C・・・AI(判定)側で構築される感覚の基準情報を含んだ意味言語文章
1 ... all functional block diagram of semantic language information processing system 11 ... data input unit 12 ... conversion processing unit 13 to semantic language ... semantic language operation processing unit 14 ... conversion to natural language Processing unit 15 Meaning language understanding processing unit 16 Natural language ID dictionary 17 Knowledge dictionary 18 Storage unit 19 Notification unit 1001 An example of the hardware configuration of the system 21 ····· Block diagram of processing to understand semantic language 22 ··· Functional block diagram of processing to convert natural language into semantic language 23 ··· Block diagram of processing to understand natural language 24 · · Translate natural language Processing block diagram 11A: process of understanding formal language Figure 11B: process of converting natural language to formal language Figure 11C: process of understanding natural language (using formal language) Figure 11D・ ・ ・ (Formal language Used natural language translation processing Figure 13A ... Example structure of basic semantic language Figure 13B ... Example structure of semantic language representing "question" Figure 13C ... Meaning language of "answer" to the question Representation example Fig. 13D · · · The question is clear but the answer is not clearly specified Structural example of the semantic language Fig. 13 E · · · · · · · · Structure example to be answered Fig. 14A ... word ID example of concept identifier Fig. 14B ... word ID example of relation attribute descriptor Fig. 16A ... utilization of verb in Japanese Fig. 16B ... verb utilization in semantic language Figure 18A: Expression of tense and time in semantic language Figure 18B: Concept of meaning main sentence and meaning substate Figure 18C: Example 1 of not using meaning substate
Fig. 18D ··· Example of expression 2 without semantic substatement
19A: numerical notation example of meaning language FIG. 19B: simplified notation example of semantic language FIG. 20A: structure definition example of concept identifier FIG. 20B: image of concept identifier structure FIG. Example of structure definition of attribute descriptor Fig. 20D ... image of relation attribute descriptor structure Fig. 21A ... theoretical image of tree structure by meaning language Fig. 21B ... tree structure in which meaning language is implemented by structure link Figure 22A ... Definition example of structure necessary to store sentences of meaning language Figure 22 B ... Image of storing sentences of meaning language Figure 24A ... Necessary when converting meaning language to Japanese Example 1 of various utilization units
Fig. 24B · · · Example 2 of usage unit required to convert meaning language to Japanese
Fig. 24C ・ ・ ・ Example 3 of usage unit required to convert meaning language to Japanese
Fig. 24D · · · Example 4 of usage unit required when converting meaning language to Japanese
Fig. 29A · · · · Example of notation as a meaning language
1462 ... conversion step 2 of meaning language
1463 ... conversion step 3 of meaning language
1464 ... conversion step 4 of the semantic language
30A: information example of natural language ID dictionary FIG. 30B: correspondence relation of natural language dictionary to multiple languages 1621: natural language ID dictionary header information example 1
1622 ··· Natural language ID dictionary header information example 2
Fig. 31A · · · Examples of knowledge dictionary of general knowledge (general knowledge dictionary) Fig. 31 B · example of a knowledge dictionary of temporary knowledge (temporary knowledge dictionary) 1701 · · · Examples of writing general knowledge 1702 · · · General Knowledge notation example (for easy explanation 1 for explanation)
1703 ... notation example of general knowledge (explanation for shorthand 2)
1704 ··· Example of temporary knowledge notation 1705 · · · Example of temporary knowledge notation (simple notation 1 for explanation)
1706 ・ ・ ・ Example of temporary knowledge notation (simple notation 2 for explanation)
Fig. 32A · · · Example of processing for tree structure of semantic language (data addition)
Fig. 32B · · · Example of processing for tree structure of semantic language (data insertion)
Fig. 32C · · · Example of processing for tree structure of semantic language (data substitution)
Fig. 32D: Example of processing for tree structure of semantic language (data deletion)
Fig. 32E: Processing example for tree structure of semantic language (data reordering)
1306 ... Reordering word order does not change the meaning Reordering 1307 ... Reordering relation attribute descriptor without priority in the tree structure of semantic language Fig. 33A ... Reorderable relation attribute descriptor Fig. 33B · · · How to determine whether or not sorting is possible · Fig. 33 C · · · · · · · · State diagram of the judgment formula whether or not sorting is possible・ Modification example (simple notation) using knowledge of sentences of semantic language
Fig. 35C · · · A theoretical image of the transformation of the semantic language sentence Figure 36 A · · · Examples of conditions that can transform the sentence of the semantic language (the original knowledge has a high-level concept and the other knowledge has a low-level concept)
Fig. 36B · · · Examples of conditions that can transform sentences in the semantic language (The original knowledge has a high-level concept, and the other knowledge has a low-level partial tree)
Fig. 38A ... Comparison processing of tree structure of semantic language Fig. 38B · · · Comparison processing of partial tree of tree structure of semantic language Fig. 40A · · · When sentences of semantic language can be understood 1
Fig. 40B · · · 2 if the sentences in the semantic language can be understood
Fig. 40C · · · 1 when the sentences of the semantic language can not be understood (contradicted)
Fig. 40D · · · 2 (Unknown) when the sentence of the semantic language can not be understood
Fig. 41A · · · Example of incomplete sentences (subject is omitted)
Fig. 41B: Example of an incomplete sentence (the subject of the subject is omitted)
Fig. 50A · · · Example statement of the relation attribute descriptor (defines a one-valued relation relation attribute descriptor "desired")
FIG. 50B: Another definition example 1 of a relation attribute descriptor (defines a concept identifier “desired”)
FIG. 50C ... another definition example 2 of a relation attribute descriptor (put together in a concept identifier)
Fig. 50D ··· Semantic language specific grammar structure 1
Fig. 50E: Grammatical structure 2 according to meaning language
Fig. 50F · · · · Semantic language specific grammar structure 3
Fig. 50G: Grammatical structure 4 according to meaning language
Fig. 50H · · · Semantic language specific grammar structure 5
Fig. 50I: Grammatical structure 6 according to meaning language
Fig. 50 J: Grammatical structure 7 according to meaning language
Fig. 51A ··· Example sentence of meaning language Fig. 51 B · · · another structural example 1 of meaning language (perhaps using a tree)
Fig. 51C ・ ・ ・ Another structural example 2 of the semantic language (like a semantic network)
Fig. 51D ・ ・ ・ Another structural example 3 of the semantic language (heap-like)
Fig. 51E · · · Example of another structure of semantic language 4 (reverse Polish description)
Fig. 51F ・ ・ ・ Another structural example 5 of the semantic language (completion of common terms)
Fig. 51G ・ ・ ・ Another structural example 6 of the semantic language (take out side information to share)
Fig. 52A · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · semantic language sentence diagram 52C Semantic language sentences including reference information

Claims (24)

コンピュータに入力された形式言語の文章を解析してその結果を出力させる形式言語理解処理プログラムであって、
データ入力部に入力された形式言語の文章と形式言語で表現された知識辞書の内容を比較しデータ入力部に入力された形式言語の文章を理解する形式言語理解手段と、
データ入力部に入力された形式言語の文章を理解できたか結果を通知する手段
として機能させることを特徴とする形式言語理解処理プログラム。
A formal language understanding processing program that analyzes sentences in a formal language input to a computer and outputs the result.
Formal language understanding means for comparing the sentences of the formal language inputted in the data input unit with the contents of the knowledge dictionary expressed in the formal language and understanding the sentences of the formal language inputted in the data input unit;
A formal language understanding processing program characterized in that it functions as a means for notifying whether the sentences of a formal language input to the data input unit have been understood.
前記形式言語理解手段は、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、
該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段と、
を備えることを特徴とする請求項1に記載の形式言語理解処理プログラム。
The formal language understanding means is
Formal language normalization means for normalizing the sentences of the formal language sentences of the formal language and the knowledge dictionary;
Formal language processing means for processing the sentences of the formal language sentences of the formal language and the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary,
The formal language understanding processing program according to claim 1, comprising:
コンピュータに入力された自然言語の文章を解析して形式言語の文章に変換する自然言語変換処理プログラムであって、
データ入力部に入力された自然言語の文章を自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、
前記形式言語に変換された文章を処理結果として通知する手段
として機能させることを特徴とする自然言語変換処理プログラム。
A natural language conversion processing program that analyzes natural language sentences input to a computer and converts them into formal language sentences,
Conversion means to a formal language for converting a natural language sentence input to the data input unit into a formal language sentence using a natural language ID dictionary;
A natural language conversion processing program characterized by causing the text converted into the formal language to be notified as a processing result.
前記形式言語への変換手段は、
変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解手段と、
前記形式言語理解手段は、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、
該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段と、
を備えることを特徴とする請求項4に記載の自然言語変換処理プログラム。
The means for converting to the formal language is
A formal language understanding means for understanding the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary expressed in the formal language;
The formal language understanding means is
Formal language normalization means for normalizing the sentences of the formal language sentences of the formal language and the knowledge dictionary;
Formal language processing means for processing the sentences of the formal language sentences of the formal language and the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary,
The natural language conversion processing program according to claim 4, comprising:
前記形式言語への変換手段は、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段と、
を備えることを特徴とする請求項3または4に記載の自然言語変換処理プログラム。
The means for converting to the formal language is
Formal language short-term complementing means that guesses and complements elements omitted in natural language sentences;
Formal language polygraph meaning estimation means for estimating the meaning of a polygraph having multiple interpretations in natural language sentences;
The natural language conversion processing program according to claim 3 or 4, comprising
コンピュータに入力された自然言語の文章を解析して理解する自然言語理解処理プログラムであって、
データ入力部に入力された自然言語の文章を自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、
前記形式言語に変換された文章を理解する形式言語理解手段と、
データ入力部に入力された自然言語の文章を理解できたか結果を通知する手段
として機能させることを特徴とする自然言語理解処理プログラム。
A natural language understanding processing program that analyzes and understands natural language sentences input to a computer,
Conversion means to a formal language for converting a natural language sentence input to the data input unit into a formal language sentence using a natural language ID dictionary;
Formal language understanding means for understanding the sentence converted to the formal language;
A natural language understanding processing program characterized in that it functions as a means for notifying whether the natural language sentence inputted in the data input unit has been understood.
前記形式言語理解手段は、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、
該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段と、
を備えることを特徴とする請求項6に記載の自然言語理解処理プログラム。
The formal language understanding means is
Formal language normalization means for normalizing the sentences of the formal language sentences of the formal language and the knowledge dictionary;
Formal language processing means for processing the sentences of the formal language sentences of the formal language and the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary,
The natural language understanding processing program according to claim 6, comprising:
前記形式言語への変換手段は、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段と、
を備えることを特徴とする請求項6または7に記載の自然言語理解処理プログラム。
The means for converting to the formal language is
Formal language short-term complementing means that guesses and complements elements omitted in natural language sentences;
Formal language polygraph meaning estimation means for estimating the meaning of a polygraph having multiple interpretations in natural language sentences;
The natural language understanding processing program according to claim 6 or 7, comprising:
コンピュータに入力された自然言語の文章を解析して翻訳する自然言語翻訳処理プログラムであって、
データ入力部に入力された翻訳元の自然言語の文章を翻訳元の自然言語ID辞書を使用して形式言語の文章に変換する形式言語への変換手段と、
前記形式言語に変換された文章を翻訳先の自然言語ID辞書を使用して翻訳先の自然言語の文章へ変換する自然言語変換手段と、
前記翻訳先の自然言語の文章に変換された文章を処理結果として通知する手段
として機能させることを特徴とする自然言語翻訳処理プログラム。
A natural language translation processing program that analyzes and translates natural language sentences input to a computer, and
Conversion means to a formal language for converting the sentences of the natural language of the translation source input to the data input unit into the sentences of the formal language using the natural language ID dictionary of the translation source,
Natural language conversion means for converting the sentences converted into the formal language into the sentences of the natural language of the conversion destination using the natural language ID dictionary of the conversion destination;
A natural language translation processing program, characterized in that it functions as a means for notifying, as a processing result, a sentence converted into a sentence of a natural language of a translation destination.
前記形式言語への変換手段は、
変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解手段と、
前記形式言語理解手段は、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化手段と、
該形式言語の文章と知識辞書の形式言語の文章を知識辞書の内容を利用して加工する形式言語加工手段と、
を備えることを特徴とする請求項9記載の自然言語翻訳処理プログラム。
The means for converting to the formal language is
A formal language understanding means for understanding the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary expressed in the formal language;
The formal language understanding means is
Formal language normalization means for normalizing the sentences of the formal language sentences of the formal language and the knowledge dictionary;
Formal language processing means for processing the sentences of the formal language sentences of the formal language and the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary,
A natural language translation processing program according to claim 9, comprising:
前記形式言語への変換手段は、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完手段と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定手段と、
を備えることを特徴とする請求項9または10に記載の自然言語翻訳処理プログラム。
The means for converting to the formal language is
Formal language short-term complementing means that guesses and complements elements omitted in natural language sentences;
Formal language polygraph meaning estimation means for estimating the meaning of a polygraph having multiple interpretations in natural language sentences;
The natural language translation processing program according to claim 9 or 10, comprising:
前記データ入力部に入力される、または処理の過程で変換される、または知識辞書の文章に用いられる形式言語は、
概念識別子と関係属性記述子という要素を備え、概念識別子は記述対象を抽象化した概念と一意に対応し、関係属性記述子は概念識別子や関係属性記述子の関係または属性を記述し、概念と概念の関係や概念の属性を記述する能力を持つ形式言語である意味言語
を使用することを特徴とする請求項1〜11のいずれか一項に記載の言語処理プログラム。
The formal language to be input to the data input unit, converted in the process, or used for sentences in the knowledge dictionary is
The concept identifier has an element such as a concept identifier and a relation attribute descriptor, the concept identifier uniquely corresponds to the abstract concept of the description object, the relation attribute descriptor describes the relation or attribute of the concept identifier and the relation attribute descriptor, and The language processing program according to any one of claims 1 to 11, wherein a semantic language which is a formal language having the ability to describe concept relationships and concept attributes is used.
コンピュータに入力された形式言語の文章を解析してその結果を出力する形式言語理解処理装置であって、
形式言語の文章データを入力するデータ入力部と、
文章を理解するために必要な知識を格納した知識辞書と、
形式言語の文章や途中処理内容をを保持する記憶部と、
入力された形式言語の文章と知識辞書の内容を比較することで入力された形式言語の文章を理解する形式言語理解処理部と、
入力された形式言語の文章を理解できたかどうかの結果を出力する通知部と、
を備え、
データ入力部に入力された形式言語の文章を理解できたか結果を出力する
ことを特徴とする形式言語理解処理装置。
A formal language understanding processing apparatus that analyzes sentences of a formal language input to a computer and outputs the result.
A data input unit for inputting text data of a formal language;
A knowledge dictionary that contains the knowledge needed to understand the text,
A storage unit that holds formal language sentences and intermediate processing contents;
A formal language understanding processing unit that understands the sentences of the input formal language by comparing the sentences of the input formal language and the contents of the knowledge dictionary;
A notification unit that outputs the result as to whether the sentences of the input formal language can be understood;
Equipped with
A formal language understanding processing apparatus characterized in that it has understood whether the sentences of a formal language input to the data input unit have been understood or not.
前記形式言語理解処理部は、さらに、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、
該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部と、
を備える、
請求項13に記載の形式言語理解処理装置。
The formal language understanding processing unit further includes
A formal language normalization processing unit that normalizes sentences of the formal language sentence and the formal language sentence of the knowledge dictionary;
A formal language processing unit for processing the sentences of the formal language and the contents of the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary;
Equipped with
The formal language understanding processing device according to claim 13.
コンピュータに入力された自然言語の文章を解析して形式言語の文章に変換する自然言語変換処理装置であって、
自然言語の文章データを入力するデータ入力部と、
形式言語の要素と自然言語の表記を紐付けする単語IDを記録した自然言語ID辞書と、
形式言語の文章や途中処理内容を保持する記憶部と、
入力された自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、
変換された形式言語の文章を出力する通知部と、
を備え、
前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書のIDに変換し形式言語の文法構造へ変換する、
ことを特徴とする自然言語変換処理装置。
A natural language conversion processing apparatus that analyzes natural language sentences input to a computer and converts them into formal language sentences,
A data input unit for inputting natural language sentence data;
A natural language ID dictionary that records word IDs that link elements of the formal language and natural language notation,
A storage unit that holds formal language sentences and intermediate processing contents;
A conversion processing unit to a formal language that converts input natural language sentences into formal language sentences;
A notification unit that outputs a sentence of the converted formal language;
Equipped with
The conversion processing unit to the formal language analyzes a sentence of the natural language, converts a component of the natural language into an ID of a natural language ID dictionary, and converts it to a grammatical structure of the formal language.
A natural language conversion processing apparatus characterized in that.
前記形式言語への変換処理部は、さらに、
文章を理解するために必要な知識を格納した知識辞書と、
変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部と、
を備え、
前記形式言語の理解処理部は、さらに、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、
該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部と、
を備える、
請求項15に記載の自然言語変換処理装置。
The conversion processing unit to the formal language further includes
A knowledge dictionary that contains the knowledge needed to understand the text,
A formal language understanding processing unit that understands the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary expressed in the formal language;
Equipped with
The formal language understanding processing unit further includes:
A formal language normalization processing unit that normalizes sentences of the formal language sentence and the formal language sentence of the knowledge dictionary;
A formal language processing unit for processing the sentences of the formal language and the contents of the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary;
Equipped with
The natural language conversion processing device according to claim 15.
前記形式言語への変換処理部は、さらに、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部と、
を備える、
請求項15または16に記載の自然言語変換処理装置。
The conversion processing unit to the formal language further includes
Formal language short-term completion processing unit that estimates and complements elements omitted in natural language sentences;
A formal language polygraph term estimation processing unit that estimates the meaning of a polygraph having multiple interpretations in natural language sentences;
Equipped with
A natural language conversion processing device according to claim 15 or 16.
コンピュータに入力された自然言語の文章を解析して理解する自然言語理解処理装置であって、
自然言語の文章データを入力するデータ入力部と、
形式言語の要素と自然言語の表記を紐付けする単語IDを記録した自然言語ID辞書と、
文章を理解するために必要な知識を格納した知識辞書と、
変換された形式言語の文章と形式言語で表現された知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部と、
入力された自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、
形式言語の文章や途中処理内容を保持する記憶部と、
入力された自然言語の文章を理解できたか結果を出力する通知部と、
を備え、
前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書のIDに変換し形式言語の文法構造へ変換する、
ことを特徴とする自然言語理解処理装置。
A natural language understanding processing apparatus that analyzes and understands natural language sentences input to a computer,
A data input unit for inputting natural language sentence data;
A natural language ID dictionary that records word IDs that link elements of the formal language and natural language notation,
A knowledge dictionary that contains the knowledge needed to understand the text,
A formal language understanding processing unit that understands the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary expressed in the formal language;
A conversion processing unit to a formal language that converts input natural language sentences into formal language sentences;
A storage unit that holds formal language sentences and intermediate processing contents;
A notification unit that can understand the input natural language sentences and output the result;
Equipped with
The conversion processing unit to the formal language analyzes a sentence of the natural language, converts a component of the natural language into an ID of a natural language ID dictionary, and converts it to a grammatical structure of the formal language.
A natural language understanding processing apparatus characterized in that.
前記形式言語理解処理部は、さらに、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、
該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部と、
を備える、
請求項18に記載の自然言語理解処理装置。
The formal language understanding processing unit further includes
A formal language normalization processing unit that normalizes sentences of the formal language sentence and the formal language sentence of the knowledge dictionary;
A formal language processing unit for processing the sentences of the formal language and the contents of the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary;
Equipped with
The natural language understanding processing apparatus according to claim 18.
前記形式言語への変換処理部は、さらに、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部と、
を備える、
請求項18または19に記載の自然言語理解処理装置。
The conversion processing unit to the formal language further includes
Formal language short-term completion processing unit that estimates and complements elements omitted in natural language sentences;
A formal language polygraph term estimation processing unit that estimates the meaning of a polygraph having multiple interpretations in natural language sentences;
Equipped with
20. A natural language understanding processing apparatus according to claim 18 or 19.
コンピュータに入力された自然言語の文章を解析して翻訳する自然言語翻訳処理装置であって、
自然言語の文章データを入力するデータ入力部と、
形式言語の要素と翻訳元の自然言語の表記を紐付けする単語IDを記録した翻訳元言語用の自然言語ID辞書と、
形式言語の要素と翻訳先の自然言語の表記を紐付けする単語IDを記録した翻訳先言語用の自然言語ID辞書と、
入力された翻訳元の自然言語の文章を形式言語の文章へ変換する形式言語への変換処理部と、
変換された形式言語の文章を翻訳先の自然言語の文章へ変換する自然言語への変換処理部と、
形式言語の文章や途中処理内容を保持する記憶部と、
変換された自然言語の文章を出力する通知部と、
を備え、
前記形式言語への変換処理部は自然言語の文章を解析し自然言語の構成要素を自然言語ID辞書の単語IDに変換し形式言語の文法構造へ変換する、
前記自然言語への変換処理部は自然言語ID辞書から自然言語の表記を得て形式言語から翻訳先の文法構造へ変換する、
ことを特徴とする自然言語翻訳処理装置。
A natural language translation processing apparatus that analyzes and translates natural language sentences input into a computer,
A data input unit for inputting natural language sentence data;
A natural language ID dictionary for a source language that records a word ID that links elements of the formal language and the natural language notation of the translation source,
A natural language ID dictionary for a target language, in which a word ID for linking elements of the formal language and the natural language designation of the target language to be translated is recorded,
A conversion processing unit for a formal language that converts the input source natural language sentences into a formal language sentence;
A conversion processing unit to a natural language that converts a sentence of a converted formal language into a sentence of a natural language to be translated;
A storage unit that holds formal language sentences and intermediate processing contents;
A notification unit that outputs the converted natural language sentence;
Equipped with
The conversion processing unit to the formal language analyzes a sentence of the natural language, converts a component of the natural language into a word ID of the natural language ID dictionary, and converts it to a grammatical structure of the formal language.
The conversion processing unit to the natural language obtains the natural language description from the natural language ID dictionary, and converts the formal language into a translation target grammar structure.
A natural language translation processing apparatus characterized in that.
前記形式言語への変換処理部は、さらに、
文章を理解するために必要な知識を格納した知識辞書と、
変換された形式言語の文章と知識辞書の内容を比較することで該形式言語の文章を理解する形式言語理解処理部と
を備え、
前記形式言語理解処理部は、さらに、
該形式言語の文章と知識辞書の形式言語の文章を正規化する形式言語正規化処理部と、
該形式言語の文章と知識辞書の形式言語の文章の内容を知識辞書の内容を利用して加工する形式言語加工処理部と、
を備える、
請求項21に記載の自然言語翻訳処理装置。
The conversion processing unit to the formal language further includes
A knowledge dictionary that contains the knowledge needed to understand the text,
And a formal language understanding processing unit that understands the sentences of the formal language by comparing the sentences of the converted formal language with the contents of the knowledge dictionary.
The formal language understanding processing unit further includes
A formal language normalization processing unit that normalizes sentences of the formal language sentence and the formal language sentence of the knowledge dictionary;
A formal language processing unit for processing the sentences of the formal language and the contents of the formal language sentences of the knowledge dictionary using the contents of the knowledge dictionary;
Equipped with
22. The natural language translation processing device according to claim 21.
前記形式言語への変換処理部は、さらに、
自然言語の文章において省略されている要素を推測して補完する形式言語不足語補完処理部と、
自然言語の文章において解釈が複数存在する多義語の意味を推定する形式言語多義語推定処理部と、
を備える、
請求項21または22に記載の自然言語翻訳処理装置。
The conversion processing unit to the formal language further includes
Formal language short-term completion processing unit that estimates and complements elements omitted in natural language sentences;
A formal language polygraph term estimation processing unit that estimates the meaning of a polygraph having multiple interpretations in natural language sentences;
Equipped with
A natural language translation processing apparatus according to claim 21 or 22.
前記データ入力部に入力される、または処理の過程で変換される、または知識辞書の文章に用いられる形式言語は、
概念識別子と関係属性記述子という要素を備え、概念識別子は記述対象を抽象化した概念と一意に対応し、関係属性記述子は概念識別子や関係属性記述子の関係または属性を記述し、概念と概念の関係や概念の属性を記述する能力を持つ形式言語である意味言語
を使用することを特徴とする請求項13〜23のいずれか一項に記載の言語処理装置。
The formal language to be input to the data input unit, converted in the process, or used for sentences in the knowledge dictionary is
The concept identifier has an element such as a concept identifier and a relation attribute descriptor, the concept identifier uniquely corresponds to the abstract concept of the description object, the relation attribute descriptor describes the relation or attribute of the concept identifier and the relation attribute descriptor, and The language processing apparatus according to any one of claims 13 to 23, wherein a semantic language is used, which is a formal language having the ability to describe concept relationships and concept attributes.
JP2018218731A 2017-12-28 2018-11-22 Data processing system for understanding and processing sentences Active JP6678900B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017255487 2017-12-28
JP2017255487 2017-12-28

Publications (2)

Publication Number Publication Date
JP2019121367A true JP2019121367A (en) 2019-07-22
JP6678900B2 JP6678900B2 (en) 2020-04-15

Family

ID=67307922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018218731A Active JP6678900B2 (en) 2017-12-28 2018-11-22 Data processing system for understanding and processing sentences

Country Status (1)

Country Link
JP (1) JP6678900B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465619A (en) * 2020-12-30 2021-03-09 广东金赋科技股份有限公司 Tax handling method and device based on data conversion and one-key input gold tax three-phase system
KR20210127496A (en) * 2020-04-14 2021-10-22 삼성생명보험주식회사 Method for extracting intents based on trend

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102557088B1 (en) * 2021-05-07 2023-07-18 김상진 Method for guiding enhancement of reading comprehension and writing abilities and the apparatus thereof
WO2023157047A1 (en) * 2022-02-15 2023-08-24 日本電信電話株式会社 Validity assessment device, validity assessment method, and validity assessment program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210127496A (en) * 2020-04-14 2021-10-22 삼성생명보험주식회사 Method for extracting intents based on trend
KR102359662B1 (en) * 2020-04-14 2022-02-07 삼성생명보험주식회사 Method for extracting intents based on trend
CN112465619A (en) * 2020-12-30 2021-03-09 广东金赋科技股份有限公司 Tax handling method and device based on data conversion and one-key input gold tax three-phase system
CN112465619B (en) * 2020-12-30 2024-04-23 广东金赋科技股份有限公司 Tax handling method and device based on data conversion and one-key input tax three-period system

Also Published As

Publication number Publication date
JP6678900B2 (en) 2020-04-15

Similar Documents

Publication Publication Date Title
Brownlee Deep learning for natural language processing
Brownlee Deep learning for natural language processing: develop deep learning models for your natural language problems
US20200243076A1 (en) Multi-Dimensional Parsing Method and System for Natural Language Processing
JP6678900B2 (en) Data processing system for understanding and processing sentences
RU2509350C2 (en) Method for semantic processing of natural language using graphic intermediary language
US20100121630A1 (en) Language processing systems and methods
Johnson et al. The Classical Language Toolkit: An NLP framework for pre-modern languages
JP2000353161A (en) Method and device for controlling style in generation of natural language
JP7297458B2 (en) Interactive content creation support method
Hasegawa-Johnson et al. Grapheme-to-phoneme transduction for cross-language ASR
Jaafar et al. A survey and comparative study of Arabic NLP architectures
Schönefeld Where lexicon and syntax meet
Sitender et al. Effect of GloVe, Word2Vec and FastText Embedding on English and Hindi Neural Machine Translation Systems
Nguyen et al. Ensuring annotation consistency and accuracy for Vietnamese treebank
JPS6318458A (en) Method and apparatus for extracting feeling information
Arwidarasti et al. Converting an Indonesian constituency treebank to the Penn treebank format
KR950013128B1 (en) Apparatus and method of machine translation
Kutlu et al. Noun phrase chunking for Turkish using a dependency parser
Maurya et al. Natural language ambiguity and its effect on machine learning
Ekpenyong et al. Agent-based framework for intelligent natural language interface
Litvin et al. Development of natural language dialogue software systems
Abiola et al. A computational model of English to Yorùbá Noun-phrases Translation System
Svoboda The ordered-triple theory continued
Vaduguru et al. Sample-efficient linguistic generalizations through program synthesis: Experiments with phonology problems
Orešković An Online Syntactic and Semantic Framework for Lexical Relations Extraction Using Natural Language Deterministic Model

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200220

R150 Certificate of patent or registration of utility model

Ref document number: 6678900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250