JP2020190857A - Computer program, method and device for inference using weight and general-purpose ai - Google Patents

Computer program, method and device for inference using weight and general-purpose ai Download PDF

Info

Publication number
JP2020190857A
JP2020190857A JP2019094914A JP2019094914A JP2020190857A JP 2020190857 A JP2020190857 A JP 2020190857A JP 2019094914 A JP2019094914 A JP 2019094914A JP 2019094914 A JP2019094914 A JP 2019094914A JP 2020190857 A JP2020190857 A JP 2020190857A
Authority
JP
Japan
Prior art keywords
computer program
weights
value
sum
user
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.)
Pending
Application number
JP2019094914A
Other languages
Japanese (ja)
Inventor
中村圭介
Keisuke Nakamura
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.)
Nareru System Co Ltd
Original Assignee
Nareru System Co Ltd
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 Nareru System Co Ltd filed Critical Nareru System Co Ltd
Priority to JP2019094914A priority Critical patent/JP2020190857A/en
Publication of JP2020190857A publication Critical patent/JP2020190857A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To achieve a general-purpose AI which can robustly utilize information by a plurality of weights and is active over knowledge of a plurality of fields and official/private information at a small cost of knowledge representation.SOLUTION: A computer program is provided, which can infer whether an effect is established in accordance with the magnitude of the sum of weights of established conditions about a Horn clause being a Horn clause of a logic programming language Prolog or a clause of a logic programming language for enabling equivalent declaratory interpretation to be able to add a weight to each condition.SELECTED DRAWING: Figure 1

Description

本発明は、重みを用いた推論と汎用AIのためのコンピュータプログラム、方法および装置に関する。
また、特に、自由文(各国自然言語の全体を含む)によって知識を表現したそのようなコンピュータプログラム等に関する。
The present invention relates to computer programs, methods and devices for weighted inference and general purpose AI.
It also relates, in particular, to such computer programs that express knowledge in free text (including the entire natural language of each country).

従来、ニューラルネットワーク(ディープラーニングを含む)やファジー集合、ファジーPROLOGなど、
複数の重み(関連づけ等の強度)によってより頑強に情報を活かせる知識表現が試みられてきたが、
自然言語の全体を含む自由文で表現された極めて柔軟でプライベートな知識や価値観については
統合的なアプローチがされてこなかった。
このため、
知識表現のコストが大きく、
複数分野の知識や公私の情報にまたがって活躍する汎用的なAIを実現する際の大きな足かせになっていた。
Conventionally, neural networks (including deep learning), fuzzy sets, fuzzy PROLOG, etc.
Knowledge representation has been attempted to make more robust use of information by using multiple weights (strength of association, etc.).
There has been no integrated approach to extremely flexible and private knowledge and values expressed in free text, including the whole of natural language.
For this reason,
The cost of knowledge representation is high
It was a major obstacle to the realization of general-purpose AI that is active across knowledge in multiple fields and public and private information.

特願2019−078141Japanese Patent Application No. 2019-078141 特願2013−087008Japanese Patent Application No. 2013-087008 特願2017−192296Japanese Patent Application No. 2017-192296 特願2017−092076Japanese Patent Application No. 2017-092076 特願2017−092057Japanese Patent Application No. 2017-092057 特願2017−092047Japanese Patent Application No. 2017-092047 特願2016−165180Japanese Patent Application No. 2016-165180 特願2016−009324Japanese Patent Application No. 2016-09324 特願2015−234356Japanese Patent Application 2015-234356 特願2015−219007Japanese Patent Application 2015-219007

したがって、本発明が解決しようとする課題は、
複数の重みによって頑強に情報を活かすことができ、
知識の表現コストが小さく、
複数分野の知識や公私の情報にまたがって活躍する
汎用的なAIを実現することである。
Therefore, the problem to be solved by the present invention is
Information can be used robustly by multiple weights,
The cost of expressing knowledge is small,
It is to realize a general-purpose AI that plays an active role across knowledge in multiple fields and public and private information.

このような課題を解決するため、本発明は、
請求項1として
論理プログラミング言語Prologのホーン節、
又は、
同等の宣言的解釈が可能な論理プログラミング言語の節
であって、
各条件毎に重みを付すことができるようにしたホーン節について、
成立した条件の重みの和の大小に応じて効果が成立するかどうかを推論できるようにした
コンピュータプログラム
を提供する。
:例えば、「同等の宣言的解釈が可能な論理プログラミング言語の節」とは、変数を自由文(各国自然言語の全体を含む)に埋め込んだ文を、ホーン節のボディ部を構成する条件の一つおよび/又はヘッド部を構成する効果とする論理プログラミング言語の節、等である(特許文献2を参照)。
:なお、各条件毎に付される重みは負であってもよく、この場合は、負の重みに応じて構成要件の成立を妨げたり(大きい閾値を要求する場合)あるいは促進したり(小さい閾値を要求する場合)する条件となる。
>これにより、論理プログラムの編集者が、ニューラルネットワークにより近い論理表現力を獲得することができる。
In order to solve such a problem, the present invention
As claim 1, the horn clause of the logic programming language Prolog,
Or
A section of a logic programming language that allows for equivalent declarative interpretation
About the horn clause that can be weighted for each condition
Provided is a computer program capable of inferring whether or not an effect is satisfied according to the magnitude of the sum of the weights of the satisfied conditions.
: For example, "a section of a logic programming language capable of equivalent declarative interpretation" is a condition in which a sentence in which variables are embedded in a free sentence (including the entire natural language of each country) constitutes the body part of the horn clause. One and / or a section of a logic programming language having an effect constituting a head portion, etc. (see Patent Document 2).
: Note that the weight attached to each condition may be negative, and in this case, the establishment of the constituent requirements may be hindered (when a large threshold value is required) or promoted (small) depending on the negative weight. When a threshold is required), it becomes a condition.
> This allows the editor of a logical program to acquire a logical expressive power closer to that of a neural network.

本発明はまた、請求項2として
前記ホーン節に付された重みの和の閾値に関する条件に応じて効果が成立するかどうかを推論できるようにした
請求項1に記載のコンピュータプログラム
を提供する。
:これは、例えば、効果(ヘッド部)と条件部(ボディ部)を分けるデリミタ(通常は「:−」)を、「:%>=80」のように80以上を要求するものとして論理プログラミング言語において付して、解釈系であるコンピュータプログラムがそれを解釈することが可能である。
:例えば、以下のように論理プログラミング(第2から第12行がルールおよびファクトに該当)し、問合せ(?$X likes sports)をし、答え(:$X = Ichiro :$X = Yuta )を得ることを想定しているが、「%<−50」のように−50より小さい和を要求するように論理プログラミングすることもできるように解釈系コンピュータプログラムを構成することもできる。
===
1:
2: $X likes sports :%70 40/$X likes tennis ; 40/$X likes baseball ; 40/$X likes swimming ; 20/$X likes dance ; 10/$X likes e-sports ;
3: Ichiro likes baseball
4: Ichiro likes swimming
5: Ichiro likes tennis
6: Koji likes baseball
7: Koji likes e-sports
8: Yuta likes swimming
9: Yuta likes dance
10: Yuta likes e-sports
11: Hanako likes tennis
12: Hanako likes dance
===
-------2019/05/11 12:26:53-------S

−> ?$X likes sports

:$X = Ichiro

:$X = Yuta

探索時間 = 1357msec
===

>これにより、論理プログラムの編集者が、ニューラルネットワークにより近い論理表現力を少ないコストで獲得することができるようになる。
The present invention also provides the computer program according to claim 1, wherein it is possible to infer whether or not the effect is satisfied according to the condition regarding the threshold value of the sum of the weights attached to the horn clause.
: This is logical programming, for example, assuming that the delimiter (usually ":-") that separates the effect (head part) and the condition part (body part) requires 80 or more, such as ":%> = 80". It is possible for a computer program, which is an interpreter, to interpret it by attaching it in a language.
: For example, logical programming (lines 2 to 12 correspond to rules and facts), query (? $ X likes sports), and answer (: $ X = Ichiro: $ X = Yuta) as follows. Although it is supposed to be obtained, the interpretation computer program can also be configured so that it can be logically programmed to require a sum smaller than -50, such as "% <-50".
===
1: 1:
2: $ X likes sports:% 70 40 / $ X likes tennis; 40 / $ X likes baseball; 40 / $ X likes swimming; 20 / $ X likes dance; 10 / $ X likes e-sports;
3: Ichiro likes baseball
4: Ichiro likes swimming
5: Ichiro likes tennis
6: Koji likes baseball
7: Koji likes e-sports
8: Yuta likes swimming
9: Yuta likes dance
10: Yuta likes e-sports
11: Hanako likes tennis
12: Hanako likes dance
===
------- 2019/05/11 12:26:53 ------- S

->? $ X likes sports

: $ X = Ichiro

: $ X = Yuta

Search time = 1357msec
===

> This allows the editor of a logical program to acquire a logical expressive power closer to that of a neural network at a lower cost.

本発明はまた、請求項3として、
前記節を、
重みの和を求める関数として参照できるように、又は、
重みの和を求めつつ手続的に解釈できるものとして呼び出せるようにした
請求項1に記載の
コンピュータプログラム
を提供する。
:C言語の関数呼び出し(戻り値は整数)がもっとも類似する概念であり、呼び出した結果を標準的なPrologの文法外の比較構文(例:「IF(幸せ(太郎,結婚,$Y)>幸せ(太郎,恋人,$Y)){PRINT ”太郎は$Yと結婚すべし!”;}」)に用いたり代入文(例:「$X=幸せ(太郎,結婚,$Y)」)に用いたりすることができる。
>これにより、一つの書き方で複数の用途(論理ゲート、関数、等)として用いることができるようになり、知識の記述コストを節約することができるようになる。
The present invention also claims that claim 3.
The above section
So that it can be referred to as a function to find the sum of weights, or
The computer program according to claim 1, which can be called as being procedurally interpretable while obtaining the sum of weights.
: C language function call (return value is an integer) is the most similar concept, and the result of the call is compared syntax outside the standard Prolog grammar (example: "IF (happiness (Taro, marriage, $ Y))> Happiness (Taro, lover, $ Y)) {LINK "Taro should marry $ Y!";} ") Or substitution statement (example:" $ X = happiness (Taro, marriage, $ Y) ") It can be used for.
> As a result, one writing method can be used for multiple purposes (logical gates, functions, etc.), and the cost of writing knowledge can be saved.

本発明はまた、請求項4として、
請求項3の参照又は呼出に対し、
ヘッド中の束縛されていない変数組に対応する束縛値組と各束縛値組に対応する前記関数としての戻り値を返す又は表示する
請求項3に記載の
コンピュータプログラム
を提供する。
:例えば、以下のようになる。

===
[論理プログラム]
$Xは$Yが好き :%70 50/$Xは$Yのそばにいたがる ; 70/$Xと$Yは恋仲 ; 30/$Xは哺乳類 ;
太郎は花子のそばにいたがる
次郎は花子のそばにいたがる
太郎は哺乳類
次郎はロボット
太郎と花子は恋仲

[呼出]
?$Xは$Yが好き

[表示]
{〇=150/70($X=太郎、$Y=花子),?=50/70($X=次郎、$Y=花子)}
===

:上で、「〇」は成立を、150は戻り値を、70は閾値を、「?」は不成立(証拠不十分)を示す。
>これにより、解ごとに成立する/しない程度や理由を呼び出し側の文脈に伝え、もしくは、利用者に示すことができる。
The present invention also claims that claim 4.
For the reference or call of claim 3.
The computer program according to claim 3, which returns or displays a bound value set corresponding to an unbound variable set in the head and a return value as the function corresponding to each bound value set.
: For example, it becomes as follows.

===
[Logical program]
$ X likes $ Y:% 70 50 / $ X wants to be near $ Y; 70 / $ X and $ Y are in love; 30 / $ X is a mammal;
Taro wants to be near Hanako Jiro wants to be near Hanako Taro is a mammal Jiro is a robot Taro and Hanako are in love

[Call]
?? $ X likes $ Y

[display]
{○ = 150/70 ($ X = Taro, $ Y = Hanako) ,? = 50/70 ($ X = Jiro, $ Y = Hanako)}
===

: Above, "○" indicates the establishment, 150 indicates the return value, 70 indicates the threshold value, and "?" Indicates the failure (insufficient evidence).
> As a result, it is possible to convey to the context of the caller the degree and reason why it is established or not for each solution, or to show the user.

本発明はまた、請求項5として、
前記節が、好感、幸福、健康又は成功の原因に関する理論を表現したものである
請求項1から4のいずれか一項に記載のコンピュータプログラム
を提供する。
:「原因に関する理論」とは、例えば「成功する :- 成功するまでやめない; 」「$Xは幸せだ :- $Xには理解してくれるパートナーがいる ; $Xには打ち込める仕事がある ; 」などである。
>これにより、多くの人が推論結果に興味をもてるようになり、システムからの問いかけに対して本当の情報を提供するようになる。
The present invention also claims 5
The computer program according to any one of claims 1 to 4, wherein the section expresses a theory regarding the cause of liking, happiness, health or success.
: "Theory about the cause" is, for example, "Success: -I will not stop until I succeed;""$ X is happy:-$ X has a partner who understands; $ X has a job to devote to ; ”And so on.
> This makes many people interested in the inference results and provides real information to the questions from the system.

本発明はまた、請求項6として、
前記論理プログラムにおける重み又は閾値が変数で表現されており、
表現された該変数が該条件において数値で束縛されている場合に、
該数値を重み又は閾値としてそれぞれ採用する
請求項1から5のいずれか一項に記載のコンピュータプログラム。
:「重みが変数(例えば、$<大文字一時>)で表現されて」いる例としては、例えば、
「$X100gは$Ygの砂糖を含み甘い :%10 $Y/$X100gは砂糖を$Yg含む;($Z/5)/$X100gはみかん汁を$Zg含む;」等がある。$X100gが砂糖を10g以上含んでいればそれだけで甘いこと、たとえ砂糖を5gしか含んでいなくても「みかん汁」を25g以上含んでいれば重みが5+(25/5)=10となり、ヘッドが「$X100gは5gの砂糖を含み甘い」ということを簡潔に推論することができるようになる。
:「閾値が変数(例えば、$<大文字一時>)で表現されて」いる例としては、例えば、
「$X100gは$Ygの糖分を含む :%$Y $M/$X100gは砂糖を$Mg含む;($N/5)/$X100gはみかん汁を$Ng含む;」等がある。砂糖とみかん汁に含まれる糖分(M+N/5)がY以上になれば、ヘッドの効果を簡潔に推論することができるようになる。
>これらにより、推論規則の重みや閾値を用いた完結な表現力がますます向上する。
The present invention also claims that claim 6.
The weight or threshold value in the logical program is represented by a variable.
When the expressed variable is numerically bound under the condition,
The computer program according to any one of claims 1 to 5, which adopts the numerical value as a weight or a threshold value, respectively.
: As an example of "the weight is represented by a variable (for example, $ <capital letter>)", for example,
"$ X100g contains $ Yg of sugar and is sweet:% 10 $ Y / $ X100g contains $ Yg of sugar; ($ Z / 5) / $ X100g contains $ Zg of mandarin orange juice;" and the like. If $ X100g contains 10g or more of sugar, it is sweet by itself, and even if it contains only 5g of sugar, if it contains 25g or more of "tangerine juice", the weight becomes 5+ (25/5) = 10. The head will be able to concisely infer that "$ X 100g is sweet with 5g of sugar".
: As an example of "the threshold value is represented by a variable (for example, $ <capital letter>)", for example,
"$ X100g contains $ Yg of sugar:% $ Y $ M / $ X100g contains $ Mg of sugar; ($ N / 5) / $ X100g contains $ Ng of mandarin orange juice;" and the like. When the sugar content (M + N / 5) contained in sugar and mandarin orange juice is Y or more, the effect of the head can be inferred concisely.
> These will further improve the complete expressiveness using the weights and thresholds of inference rules.

本発明はまた、請求項7として、
所定のルール中の重みの和、又は、所定の重みつき価値集合の重みの和が、
多く又は少なくなるように
利用者に関する文脈を更新できる会話(利用者への質問、質問を受けた応答、等を含む)を
利用者に対して実施していくコンピュータプログラム
を提供する。
:「所定のルール中の重みの和」とは、たとえばカゼである証拠となる症状(熱、せき、鼻水、・・・)の各所定重みの和が大きくなるように「熱がありますか?」「せきがでますか?」「鼻水がでますか?」・・・等と利用者に質問し、「あなたは熱がある」という文等を文脈に追加することにより、「あなたはカゼです」という診断(推論結果)に結び付けて、その解決策(例えば、「内科にいったほうがいいかも」)などを提案するような会話をしていくことができる。
:一方「所定の重みつき価値集合の重みの和」とは、利用者があらかじめ登録した設定ファイルに記憶された
以下のような情報をもとに、
重み(70、70、50)の和が(例えば)より大きくなるように、
より大きな重みをもつ
「よき理解者の存在」や
「情熱をもってとりくめる仕事の存在」を証明できるような
推論規則集合を探し
(すなわち、
すでに主となっている知識源(主プログラム(Prologの場合は事実とルール)の中からや、
候補知識源としてあらかじめ設定された主プログラム候補URLリストや、
それらを検索できる外部サイトURL等
から探し)、
それぞれの推論規則の条件部を直接あるいは間接的ないし再帰的に(他の推論規則をも組み合わせて遡って)証明できる
質問系列を利用者に対して実施していく(すなわち利用者専用の文脈に新たな事実を追加していく)ことである。

===
<%*
70/よき理解者の存在
70/情熱をもってとりくめる仕事の存在
50/よき職場環境の存在
>%*
===

>これにより、「所定のルール」や「所定の重みつき価値集合」に応じた自動対話を利用者と行いやすくすることができる。
The present invention also claims that claim 7.
The sum of the weights in a given rule, or the sum of the weights of a given weighted value set,
Provide a computer program that conducts conversations (including questions to users, responses to questions, etc.) that can update the context about users so that they become more or less.
: "Sum of weights in a given rule" means, for example, "Do you have a fever?" So that the sum of each given weight of symptoms (fever, cough, runny nose, ...) that is evidence of a cold is large. By asking the user "Do you have a cough?""Do you have a runny nose?" ... and add the sentence "You have a fever" to the context, "You have a cold." It is possible to have a conversation that suggests a solution (for example, "maybe I should go to internal medicine") in connection with the diagnosis (reasoning result).
: On the other hand, "sum of weights of predetermined weighted value sets" is based on the following information stored in the setting file registered in advance by the user.
So that the sum of the weights (70, 70, 50) is greater than (eg)
Look for a set of inference rules that can prove the greater weight of "the existence of a good understanding person" and "the existence of work that is passionate about" (ie,
From the already main sources of knowledge (main programs (facts and rules in the case of Prolog),
Main program candidate URL list preset as a candidate knowledge source,
Search from external site URLs that can search them),
A series of questions that can prove the conditional part of each inference rule directly, indirectly, or recursively (retroactively in combination with other inference rules) is implemented for the user (that is, in a user-specific context). (Adding new facts).

===
<% *
70 / Existence of a good understanding person 70 / Existence of work to work with passion 50 / Existence of a good working environment>% *
===

> This makes it easier to perform automatic dialogue with the user according to the "predetermined rule" and the "predetermined weighted value set".

本発明はまた、請求項8として、
なるべく早く又は少ない質問で、前記和が多く又は少なくなるように
利用者に質問をしていく請求項7に記載のコンピュータプログラム
を提供する。
:これは、条件に対応する質問結果の真偽を探索木等で事前にシミュレーションすることによって求めることができる。
:シミュメーションに時間がかかる場合は、各種の枝刈りをして、質問までにかかる計算時間をたとえば6秒以内に抑えることが可能である。
>これにより、コストの少ない効率的な質問系列を利用者に対して提供することができる。
The present invention also claims that claim 8.
The computer program according to claim 7, which asks a user a question so as to increase or decrease the sum as soon as possible or with a small number of questions.
: This can be obtained by simulating the truth of the question result corresponding to the condition in advance with a search tree or the like.
: If the simulation takes a long time, it is possible to trim various prunes to reduce the calculation time to ask a question within, for example, 6 seconds.
> As a result, it is possible to provide the user with an efficient question sequence with low cost.

本発明はまた、請求項9として、
利用者ごとのメモリ(個別の定義のため、実行時の文脈の記憶のため、等)の内容に応じて
実行時にこれまでのものと切り替えて用いるコンピュータプログラム、又は、
実行時にこれまでのものに追加して用いるコンピュータプログラムを
決定することを特徴とするコンピュータプログラム
を提供する。
The present invention also claims as 9.
A computer program that is used by switching from the previous one at the time of execution according to the contents of the memory for each user (for individual definition, for storing the context at the time of execution, etc.), or
Provided is a computer program characterized by determining a computer program to be used in addition to the conventional ones at the time of execution.

本発明はまた、請求項10として、
利用者ごとのメモリ(個別の定義のため、実行時の文脈の記憶のため、等)の内容に応じて
実行時に検索して
これまでのものと切り替えて、又は、これまでのものに追加して実行すべき
コンピュータプログラム又は該コンピュータプログラムの検索範囲を定めた
ことを特徴とする
コンピュータプログラム
を提供する。
:「利用者ごとのメモリ」の内容により、切替と追加も使い分けることが可能であり、利用者ごとのメモリには、最後に採用したコンピュータプログラムも含むことができるため、採用される候補となるコンピュータプログラムの中に切替られるべきものか、追加されるべきものかを、そのコンピュータプログラムのプログラマが指定することができる。このことは、切替/追加のそれぞれ場合の検索範囲についても該当し、プログラマは各コンピュータプログラムが切り替えられる先のコンピュータプログラムの候補をHTMLの場合のように直接的・間接的に指定することができ、追加して実行する範囲についても同様である。
>これにより、利用者ごと、コンピュータプログラムのプログラマごとに、好ましい設定や展開の範囲を指定することができる。
The present invention also claims 10.
Search at runtime according to the contents of the memory for each user (for individual definition, memory of runtime context, etc.), switch to the previous one, or add to the previous one Provided is a computer program to be executed or a computer program characterized in that a search range of the computer program is defined.
: Depending on the content of "Memory for each user", switching and addition can be used properly, and the memory for each user can include the last adopted computer program, so it is a candidate for adoption. The programmer of a computer program can specify whether it should be switched or added to the computer program. This also applies to the search range in each case of switching / adding, and the programmer can directly or indirectly specify the candidate computer program to which each computer program is switched, as in the case of HTML. The same applies to the range to be additionally executed.
> This makes it possible to specify a preferable setting and deployment range for each user and each programmer of the computer program.

本発明はまた、請求項11として、
利用者ごとのメモリ中又は実行するコンピュータプログラム中の価値の重みの相対的または絶対的定義によって
相対的順位付け又は絶対的重み付けをした価値の優先度に従って
より優先されるべき価値をより早く充たすように質問や誘導を行う
チャットボット用コンピュータプログラム
を提供する。
:以下は、相対的に定義した例であり、同じ行の「;」は等価性を示し、前の行を相対的価値が高いことを示す。

===
<%*
よき理解者の存在;情熱をもってとりくめる仕事の存在
よき職場環境の存在
>%*
===

:一方、以下は、絶対的に定義した例であり、「重み/内容」を示しており、重みが同じものは等価とみなす。

===
<%*
70/よき理解者の存在
70/情熱をもってとりくめる仕事の存在
50/よき職場環境の存在
>%*
===

各価値(「よき理解者の存在」等)を「効果」(ホーン節のヘッド等)とする「推論規則」(ホーン節等)の「条件部」(ホーン節のボディ部)のうち、利用者文脈に事実(例えば「今日は晴れ」)として存在しない条件(「今日は晴れ」)について、展開する他の推論規則(例えば「今日は晴れ:−今雲がない;今日の天気予報は晴れ;天気予報はよくあたる;」等)がない場合には、直接「今日は晴れ?」等と質問し、展開する推論規則があり、そのほとんどの条件(例えば、「今日の天気予報は晴れ」「天気予報はよくあたる」の2つ)が利用者文脈に事実として登録されている場合には、例えば、残りの1つの条件である「今雲がない」を利用して「今雲がない?」という質問をチャットボットが利用者に投げかけて、「今日は晴れ」という価値の内容を間接的に証明して、「釣りにいけば?」という他の提案型会話ができるコンピュータプログラムの追加や切替につなげたりすることができる。
>これにより、より重要な価値について、
より早く利用者に足りない条件(利用者が自ら満たせるもの(例えば、デートに行く文脈で、出かける前に歯をみがくこと、等))を示唆しかつその後利用者が自ら満たしたことを例えば選択肢(「1:みがいた、2:まだ」)等により入力させて利用者文脈に事実として追加したり、
すでに足りている関連事実を確認したり、
「あと□□をすれば、なんと〇〇ができる!」のような戦術的な推奨会話ができるような
チャットボットや同様の利用者インターフェースを構成することができる。
:なお、価値が達成されているかに関連する、それぞれの推論規則の条件が満たされているかどうかの自動確認や自動質問は、PROLOG相当の推論規則の条件部を再帰的に展開して質問が必要な部分のみを特定して行うことができる。
:また、推論規則の条件の一つを、「〇〇を提案した」という形式にして、実際に利用者にチャットボット会話の中で提案するよう制御することによって、優先する価値についてすでに実現したことを意味するフラグの効果をもたせ、その価値ではなく「次に」優先すべき価値を実現するように会話を制御するようにすることもできる。
:この場合、例えば:「提案実施1 :- 鼻水が出る;くちゃみをする;熱がある;頭が痛い;「内科に行くことを提案した」という推論規則と、例えば:「各種提案実施 :− 40/提案実施1 ; 30/提案実施2;」という推論規則又は同等の価値定義があることによって、
カゼであるか確認しかつ内科への通院等を勧める提案実施1と、
今日晴れであるか等を確認し今日釣りにいくことを勧める提案実施2と
を一つの価値定義(利用者定義ファイルや利用者文脈メモリ(外部コンピュータプログラムのコピーも含んでよい)のいずれにあってもよい)に共存させ、複数の分野・観点についての会話を利用者との一つのセッションに効率的に共存させることが可能になる。

===
<%*
40/提案実施1
30/提案実施2
>%*
===
The present invention also claims 11.
Relatively or absolutely weighted by relative or absolute definition of value weights in memory for each user or in the running computer program, to fill the value that should be prioritized faster according to the priority of the value. Provide a computer program for chatbots that asks questions and guides people.
: The following is a relative definition example, where the ";" in the same line indicates equivalence and the previous line has a high relative value.

===
<% *
Existence of a good understanding person; Existence of work that works with passion Existence of a good work environment>% *
===

: On the other hand, the following is an absolutely defined example, showing "weight / content", and those with the same weight are regarded as equivalent.

===
<% *
70 / Existence of a good understanding person 70 / Existence of work to work with passion 50 / Existence of a good working environment>% *
===

Use of the "condition part" (body part of the horn clause) of the "rule of inference" (horn clause, etc.) with each value ("existence of a good understanding person", etc.) as the "effect" (head of the horn clause, etc.) Other inference rules that develop for conditions that do not exist as facts (eg, "today is sunny") in the human context (eg, "today is sunny:-no clouds now; today's weather forecast is sunny") If there is no such thing as "the weather forecast is good;"), there is an inference rule that develops by directly asking "is it sunny today?", And most of the conditions (for example, "the weather forecast is sunny today"). If "weather forecast is good") is registered as a fact in the user context, for example, "there is no horn" using the remaining one condition, "there is no horn". Addition of a computer program that allows chatbots to ask users the question "?", Indirectly prove the value of "Today is sunny", and have other suggestive conversations such as "Why don't you go fishing?" And can be connected to switching.
> This allows for more important value
For example, suggesting conditions that the user lacks earlier (what the user can meet himself (for example, brushing his teeth before going out in the context of going on a date, etc.)) and then satisfying himself. ("1: Polished, 2: Still"), etc. to input and add as a fact to the user context,
Check the relevant facts that are already sufficient,
You can configure a chatbot or similar user interface that allows you to have tactical recommended conversations such as "If you do □□, you can do XX!".
: In addition, for automatic confirmation and automatic questioning whether the conditions of each inference rule related to whether the value is achieved are met, the condition part of the inference rule equivalent to PROLOG is recursively expanded and the question is asked. Only the necessary parts can be specified and performed.
: Also, by controlling one of the conditions of the inference rule to actually propose to the user in the chatbot conversation in the form of "proposed XX", the priority value has already been realized. It can also have the effect of a flag that means that the conversation is controlled to achieve a "next" priority value rather than that value.
: In this case, for example: "Proposal implementation 1:-Runny nose; swelling; fever; headache;" inference rule that "proposed to go to internal medicine" and, for example: "Implement various proposals" : -40 / Proposal Implementation 1; 30 / Proposal Implementation 2; ”by the inference rule or equivalent definition of value
Proposal implementation 1 to confirm whether it is a cold and recommend going to the internal medicine department, etc.
Proposal implementation 2 that confirms whether it is sunny today and recommends going fishing today is in one of the value definitions (user definition file and user context memory (including a copy of an external computer program)). It is possible to coexist in one session with the user efficiently by coexisting in one session with the user.

===
<% *
40 / Proposal implementation 1
30 / Proposal implementation 2
>% *
===

本発明はまた、このようなコンピュータプログラムを用いた方法を提供する。 The present invention also provides a method using such a computer program.

本発明はまた、このようなコンピュータプログラムを備える装置を提供する。 The present invention also provides a device comprising such a computer program.

本発明による知識源(論理プログラム)の相互作用の例を示す図である。It is a figure which shows the example of the interaction of the knowledge source (logical program) by this invention. 本発明によるシステムの単純な動作例を示す図である。It is a figure which shows the simple operation example of the system by this invention. 本発明によりめざす汎用AIシステムのアーキテクチャを示す図である。It is a figure which shows the architecture of the general-purpose AI system aimed at by this invention.

最も有利な形態では、主プログラム(PG)となりうる論理プログラム側にも価値の重みが定義でき、利用者の定義ファイルや文脈メモリ(セーブしたときはファイルになる)にも「重み」をつけられる。
利用者定義+文脈の総合得点が高まるようなシステムからの質問や誘導のありかたが実施される。
論理プログラムは、前述した特許文献で示すように、プログラム内の外部リンクの動的引用(LOR)や、利用者文脈の動的書換能力をもつ。
汎用AIの実行のために一時的(動的)にロードされる主プログラム(論理プログラム)は、価値観の他、起動頻度や重要度のパラメータをもち、価値を高めるための質問の頻度や、価値の間の衝突を調整することができるようになっている。
動的に(切替/追加)ロードされる主プログラム検索範囲の指定は、以下の種類がある。
1)主PG候補のURLリスト
2)利用者定義をわたすと主PG候補のURLリストを返す外部サーバーのURL
3)利用者定義と利用者文脈そのものを渡すと最適主PGそのもの、PG集合または候補URLリストを返す検索サーバーのURL
汎用AIチャットボットという形態をとる場合には、ユーザー独自定義プログラム(例えばPYTHONやC#等)によるを優先的に実施できるように構成される。また、ユーザーがキーボード入力中の場合は、文脈の追加とみなして思考と出力を控える。
主プログラムは主プログラム自体の方針に沿って質問をし、AIチャットボットの内部状態を変更しかつ利用者文脈を蓄積していく。
主プログラムは、解決したい価値の順番に従って、原因特定>問題解決提案へと進む。
主プログラムの多くは以下のように解決したい価値の順位をもつ。
<%*
${利用者}は最高に幸せになる
${利用者]の一番大事な人が100年間幸せに暮らす
${利用者}が人類の幸せに貢献する
>%*
主プログラムの多くは、解決したい価値につながる推論規則および仮定をもつ。

${利用者}は最高に幸せになる :- $Xは最高のパートナーと仕事を一生維持する; $Xは100年生きる ;
$Xは$Y年生きる :- $Xは$Y年生きると信じている
利用者は100年生きると信じている

主プログラムはなるべく高い「解決したい価値」を充たすようにチャットボット等として利用者に質問や提案を行う。
質問のフォーマットは多くの場合選択肢(番号つき)であるが、選択肢の内容(他の選択肢にない部分文字列)で回答することもできる。
価値の定義が、「<&*」の場合は、「解決したい価値」は一つではなく複数見つけるようにする。
利用者文脈はコメントで追加されたタイムスタンプにもとづき1日でクリアされる。
企業向けの代表的なチャットボットはCFO、社内教育者、一般教育システムとして機能するが、一般向けは雑談にも用いられる。
In the most advantageous form, the value weight can be defined on the logical program side that can be the main program (PG), and the user's definition file and context memory (which becomes a file when saved) can also be "weighted". ..
Questions and guidance from the system that increase the total score of user definition + context will be implemented.
As shown in the above-mentioned patent documents, the logical program has the ability to dynamically cite (LOR) external links in the program and dynamically rewrite the user context.
The main program (logical program) that is temporarily (dynamically) loaded for the execution of general-purpose AI has parameters such as startup frequency and importance in addition to values, and the frequency of questions to increase the value and It is now possible to adjust for conflicts between values.
There are the following types of specifications for the search range of the main program that is dynamically (switched / added) loaded.
1) URL list of main PG candidates 2) URL of an external server that returns the URL list of main PG candidates when the user definition is passed
3) The URL of the search server that returns the optimum main PG itself, PG set, or candidate URL list when the user definition and user context itself are passed.
When taking the form of a general-purpose AI chatbot, it is configured so that a user-specific program (for example, PYTHON, C #, etc.) can be preferentially implemented. Also, if the user is typing on the keyboard, consider it as an addition of context and refrain from thinking and outputting.
The main program asks questions according to the policy of the main program itself, changes the internal state of the AI chatbot, and accumulates the user context.
The main program proceeds to cause identification> problem solving proposal according to the order of the value to be solved.
Many of the main programs have the following value rankings that they want to solve.
<% *
$ {User} will be the happiest
The most important person of $ {user] lives happily for 100 years
$ {User} contributes to human happiness>% *
Many of the main programs have inference rules and assumptions that lead to the value you want to solve.

$ {User} will be the happiest:-$ X will keep working with the best partner for the rest of his life; $ X will live for 100 years;
$ X lives $ Y years:-$ X believes it will live $ Y years Users believe it will live 100 years

The main program asks questions and suggestions to users as chatbots, etc. so as to satisfy the highest possible "value to be solved".
Question formats are often choices (numbered), but you can also answer with choice content (substrings not found in other choices).
If the definition of value is "<&*", try to find multiple "values you want to solve" instead of one.
The user context is cleared in one day based on the time stamp added in the comment.
A typical chatbot for companies functions as a CFO, in-house educator, and general education system, but the general public is also used for chat.

図1は、本発明の一実施例のコンピュータプログラム(図示されない)による、利用者定義と利用者文脈の内容をもとにした、主プログラム(請求項1から11のコンピュータプログラムとは異なる論理プログラム)の検索と切替と定義・文脈の書換による、重みを用いた汎用AIの仕組みを説明する図である。
図2は、重みを用いた単純な論理(ただし、自然言語である英語がベース)の実施例を占めす図である。
図3は、本発明によって目指す汎用AIのアーキテクチャを示す図である。
FIG. 1 is a logical program different from the computer programs of claims 1 to 11 based on the contents of the user definition and the user context according to the computer program (not shown) of the embodiment of the present invention. ) Is a diagram for explaining the mechanism of general-purpose AI using weights by searching and switching and rewriting the definition / context.
FIG. 2 is a diagram occupying an example of simple logic using weights (however, based on English, which is a natural language).
FIG. 3 is a diagram showing a general-purpose AI architecture aimed at by the present invention.

PG 主プログラムとなりうる論理プログラム(手続的に解釈すべき部分を含んでもよい) Logical program that can be the PG main program (may include parts that should be interpreted procedurally)

Claims (13)

論理プログラミング言語Prologのホーン節、
又は、
同等の宣言的解釈が可能な論理プログラミング言語の節
であって、
各条件毎に重みを付すことができるようにしたホーン節について、
成立した条件の重みの和の大小に応じて効果が成立するかどうかを推論できるようにした
コンピュータプログラム。
The horn clause of the logic programming language Prolog,
Or
A section of a logic programming language that allows for equivalent declarative interpretation
About the horn clause that can be weighted for each condition
A computer program that makes it possible to infer whether or not an effect is satisfied according to the magnitude of the sum of the weights of the satisfied conditions.
前記節に付された重みの和の閾値に関する条件に応じて効果が成立するかどうかを推論できるようにした
請求項1に記載のコンピュータプログラム。
The computer program according to claim 1, wherein it is possible to infer whether or not the effect is satisfied according to the condition relating to the threshold value of the sum of the weights attached to the section.
前記節を、
重みの和を求める関数として参照できるように、又は、
重みの和を求めつつ手続的に解釈できるものとして呼び出せるようにした
請求項1に記載の
コンピュータプログラム。
The above section
So that it can be referred to as a function to find the sum of weights, or
The computer program according to claim 1, which can be called as being procedurally interpretable while obtaining the sum of weights.
請求項3の参照又は呼出に対し、
ヘッド中の束縛されていない変数組に対応する束縛値組と各束縛値組に対応する前記関数としての戻り値を返す又は表示する
請求項3に記載の
コンピュータプログラム。
For the reference or call of claim 3.
The computer program according to claim 3, wherein a bound value set corresponding to an unbound variable set in the head and a return value as the function corresponding to each bound value set are returned or displayed.
前記節が、好感、幸福、健康又は成功の原因に関する理論を表現したものである
請求項1から4のいずれか一項に記載のコンピュータプログラム。
The computer program according to any one of claims 1 to 4, wherein the section expresses a theory regarding the cause of liking, happiness, health or success.
前記論理プログラムにおける重み又は閾値が変数で表現されており、
表現された該変数が該条件において数値で束縛されている場合に、
該数値を重み又は閾値としてそれぞれ採用する
請求項1から5のいずれか一項に記載のコンピュータプログラム。
The weight or threshold value in the logical program is represented by a variable.
When the expressed variable is numerically bound under the condition,
The computer program according to any one of claims 1 to 5, which adopts the numerical value as a weight or a threshold value, respectively.
所定のルール中の重みの和、又は、所定の重みつき価値集合の重みの和が、
多く又は少なくなるように
利用者に関する文脈を更新できる会話(利用者への質問、質問を受けた応答、等を含む)を
利用者に対して実施していくコンピュータプログラム。
The sum of the weights in a given rule, or the sum of the weights of a given weighted value set,
A computer program that conducts conversations (including questions to users, responses to questions, etc.) that can update the context of users so that they are more or less.
なるべく早く又は少ない質問で、前記和が多く又は少なくなるように
利用者に質問をしていく請求項7に記載のコンピュータプログラム。
The computer program according to claim 7, wherein the user is asked a question as soon as possible or with a small number of questions so that the sum is large or small.
利用者ごとのメモリ(個別の定義のため、実行時の文脈の記憶のため、等)の内容に応じて
実行時にこれまでのものと切り替えて用いるコンピュータプログラム、又は、
実行時にこれまでのものに追加して用いるコンピュータプログラムを
決定することを特徴とするコンピュータプログラム。
A computer program that is used by switching from the previous one at the time of execution according to the contents of the memory for each user (for individual definition, for storing the context at the time of execution, etc.), or
A computer program characterized by determining which computer program to use in addition to the previous ones at run time.
利用者ごとのメモリ(個別の定義のため、実行時の文脈の記憶のため、等)の内容に応じて
実行時に検索して
これまでのものと切り替えて、又は、これまでのものに追加して実行すべき
コンピュータプログラム又は該コンピュータプログラムの検索範囲を定めた
ことを特徴とする
コンピュータプログラム。
Search at runtime according to the contents of the memory for each user (for individual definition, memory of runtime context, etc.), switch to the previous one, or add to the previous one A computer program to be executed or a computer program characterized in that a search range of the computer program is defined.
利用者ごとのメモリ中又は実行するコンピュータプログラム中の価値の重みの相対的または絶対的定義によって
相対的順位付け又は絶対的重み付けをした価値の優先度に従って
より優先されるべき価値をより早く充たすように質問や誘導を行う
チャットボット用コンピュータプログラム。
Relatively or absolutely weighted by relative or absolute definition of value weights in memory for each user or in the running computer program, to fill the value that should be prioritized faster according to the priority of the value. A computer program for chatbots that asks questions and guides you.
請求項1から11のいずれか一項に記載のコンピュータプログラムを用いた方法。
The method using the computer program according to any one of claims 1 to 11.
請求項1から11のいずれか一項に記載のコンピュータプログラムを備える装置。 A device comprising the computer program according to any one of claims 1 to 11.
JP2019094914A 2019-05-20 2019-05-20 Computer program, method and device for inference using weight and general-purpose ai Pending JP2020190857A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019094914A JP2020190857A (en) 2019-05-20 2019-05-20 Computer program, method and device for inference using weight and general-purpose ai

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019094914A JP2020190857A (en) 2019-05-20 2019-05-20 Computer program, method and device for inference using weight and general-purpose ai

Publications (1)

Publication Number Publication Date
JP2020190857A true JP2020190857A (en) 2020-11-26

Family

ID=73454636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019094914A Pending JP2020190857A (en) 2019-05-20 2019-05-20 Computer program, method and device for inference using weight and general-purpose ai

Country Status (1)

Country Link
JP (1) JP2020190857A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107634A1 (en) 2020-11-17 2022-05-27 公立大学法人名古屋市立大学 Method for assisting determination on adaptability of esophageal cancer to endoscopic therapy, method for determining adaptability of esophageal cancer to endoscopic therapy, method for collecting data for use in determination on adaptability of esophageal cancer to endoscopic therapy, method for diagnosing adaptability of esophageal cancer to endoscopic therapy, in vitro method for assisting determination on adaptability of esophageal cancer to endoscopic therapy, method for testing on adaptability of esophageal cancer to endoscopic therapy, method for diagnosing adaptability of esophageal cancer to endoscopic therapy, diagnosis kit, and method for treating esophageal cancer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022107634A1 (en) 2020-11-17 2022-05-27 公立大学法人名古屋市立大学 Method for assisting determination on adaptability of esophageal cancer to endoscopic therapy, method for determining adaptability of esophageal cancer to endoscopic therapy, method for collecting data for use in determination on adaptability of esophageal cancer to endoscopic therapy, method for diagnosing adaptability of esophageal cancer to endoscopic therapy, in vitro method for assisting determination on adaptability of esophageal cancer to endoscopic therapy, method for testing on adaptability of esophageal cancer to endoscopic therapy, method for diagnosing adaptability of esophageal cancer to endoscopic therapy, diagnosis kit, and method for treating esophageal cancer

Similar Documents

Publication Publication Date Title
Stich et al. What is folk psychology?
Benyon et al. Applying user modeling to human-computer interaction design
Poggi et al. Greta. a believable embodied conversational agent
De Koch Software engineering for adaptive hypermedia systems
Gorayska et al. The roots of relevance
Danilava et al. Artificial conversational companions a requirements analysis
McDonald et al. Factors contributing to efficiency in natural language generation
JP2020190857A (en) Computer program, method and device for inference using weight and general-purpose ai
Dall'Aglio Extending the theory of premature automatization: The fantasy as an abstract rule in hierarchical cognitive control
Salazar et al. A case based reasoning model for multilingual language generation in dialogues
Guinn et al. Extracting emotional information from the text of spoken dialog
Koit Reasoning and communicative strategies in a model of argument-based negotiation
Kochen et al. Computers and comprehension
Shah Recognizing and responding to student plans in an intelligent tutoring system: Circsim-tutor
Fehling Unified Theories of Cognition: modeling cognitive competence
Smith Consciousness in action
Kailuweit Radical Role and Reference Grammar (RRRG)
Meister Tagging time in prolog: the temporality effect project
Nerlich ELEMENTS FOR AN INTEGRAL THEORY OF LANGUAGE CHANCE
Blattner Is Heidegger a representationalist?
Dror Parenthetical Clauses in the Qurʼān
Pereplyotchik Representations in language processing: why comprehension is not “brute-causal”
Starks The Logical Structure of Consciousness (behavior, personality, rationality, higher order thought, intentionality)
Gardner et al. Biased inferences about gender from names
Canado et al. Communicative Interaction: Intercultural Verbal and Nonverbal Interaction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190627

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190612

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190611