JP2018085002A - 発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 - Google Patents
発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 Download PDFInfo
- Publication number
- JP2018085002A JP2018085002A JP2016228425A JP2016228425A JP2018085002A JP 2018085002 A JP2018085002 A JP 2018085002A JP 2016228425 A JP2016228425 A JP 2016228425A JP 2016228425 A JP2016228425 A JP 2016228425A JP 2018085002 A JP2018085002 A JP 2018085002A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- message
- text
- variable
- patent document
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Machine Translation (AREA)
Abstract
Description
そして、声というメディアがある程度以上の数のチャネルをアナログで多重化した場合(例えば、別の声が聞こえる複数のスピーカの出力を同時に聞いたり、ミキシングして聞いたりする場合)において重大メッセージの監視が難しくなるメディアであることや、口語でなされる音声の認識品質の確保が難しいこと、等から、重大メッセージの検索に便利なテキストでその記録を行うことやその声の主の要望等に実時間で自動対応を行うことが困難であった。
このため、多くの監視が動画や静止画等の画像ベース(合成されていないもの)となりがちであり、高齢者等の能動的な発言や質問や思いに対して、迅速にあるいは十分具体的に対応することが困難になっていた。
人間が、音声認識させたい認識パターンと対応する別のテキストとを関連づけて記憶させる認識パターン記憶ステップと、
コンピュータが、音声認識した認識パターンと対応する該別のテキストに記載されたデジタル処理を実時間で行う認識対応処理ステップと
を含む方法
を提供する。
:認識パターンの例は、たとえば「how old are you ?」であり、別のテキストとは「僕は$X歳; voice "$X years old"; 」である。
>これにより、英語や日本語の方言で利用者音声を認識した場合でも、それらの文法や単語を深く分析することなく、日本語のテキスト(例えば、「僕は10歳」という一行)から答えを構成する部分(この例では「10」)を抽出して、「10 years old」等と、利用者の使用している言語に沿った回答をすることが可能になる。
>また、自由な言語テキストの認識ではなく、所定の認識パターンの集合としてを絞り込むことにより、音声認識の品質も向上し、特に所定の言語的性質(例えば、語彙(特に固有名詞が特定の範囲に絞られることが多い)や文法の偏り)をもった高齢者等の発言や思いについて、検索しやすいテキストとして(5W2Hと紐づけて)記録することや、それら(発言等)にほぼ実時間で対応することも容易となる。
>また、工場の機械音やペットの鳴き声等を、認識パターンとして表現した場合には、工場の機械の稼働・状態の管理やペットの行動・感情の管理等にも用いることができる。この場合の認識パターンは、通常の自然言語でなくてもよく、各種の発音記号に類する音素記号や、所定のサンプリングレートにもとづきサンプリングした数値を並べたものでもよい。
また、請求項2の発明は、
前記別のテキストに記載された処理が、実時間で遠隔の特定の端末へ特定のメッセージを送信する処理である、
請求項1に記載の方法を提供する。
:特定のメッセージは、特定の主旨、書式又は種類であればよく、メッセージごとに変わる部分(メッセージID,メッセージの主旨に付記する内容、認識時刻、等)が存在してもよい。
>これにより、コミュニケーションの目的を良心的/良識的/無難なもの等に制限する等したい場合におけるリアルタイムコミュニケーションシステムの構築が容易となる。また、高齢者等がすこしぐらい発声内容を省略したりしても、内容が記録されやすく、かつ、伝わりやすくなる。
また、請求項3の発明は、
前記テキストに記載された処理が、実時間で遠隔の特定の端末へ新しいメッセージを要求する処理である、
請求項1又は2に記載の方法を提供する。
:要求する「新しいメッセージ」には、その遠隔の特定の端末のGPSで計測した位置その他の環境情報、その端末の利用者からの音声応答/選択肢応答/テキスト応答/画像応答、等が含まれる。
>これにより、遠隔の特定の端末の環境(とその利用者)に関するリアルタイムの情報を、対応する認識パターンの発音により取得しやすくなり、利便性が著しく向上する。例えば、認識パターンの長さが極めて短く(発声が短くてよく))、他の認識パターンとの間の識別性が十分高く、かつ、対応する前記別のテキストの示す内容が新しいメッセージについてのきわめて複雑かつ具体的な条件を規定するものになる場合には、発声によって新しいメッセージを要求する側の発声あたりの通信効率・人的消費エネルギー効率のきわめて高い通信システムとすることができる。
また、請求項4の発明は、
前記テキストに記載された処理が、遠隔の特定の端末からの未受信のメッセージを受信する処理である
請求項1又は2に記載の方法を提供する。
:遠隔の特定の端末からの未受信のメッセージは、実質的に特定の利用者又はグループからの未受信メッセージであってよい。
>これにより、その特定の端末や利用者(/グループ)から受信したいタイミングで、その旨を発声して認識パターンに認識させられば、即座に内容を受信して聞くことができるので、都合のよいタイミング(気分、TPO、等)で、気軽に聞いて理解することが可能になる。
また、請求項5の発明は、
前記テキストに記載された処理が、遠隔のすべての端末からの未受信のメッセージを受信する処理である
請求項1又は2に記載の方法を提供する。
:遠隔のすべての端末からの未受信のメッセージは、それを受信する利用者が、いずれからのメッセージでもよいのでそのタイミングで受信して処理したい旨等をシステムに示すものである。
>これにより、いずれからでも受信したいタイミングで、その旨を発声して認識パターンに認識させられば、即座に内容を受信して聞くことができるので、都合のよいタイミング(気分、TPO、等)で、気軽に聞いて理解することが可能になる。
また、請求項6の発明は、
前記テキストに記載された処理が、特定の同一メッセージを、所定の周期で、繰り返し、特定の端末(一又は複数)に送信する処理である
請求項1又は2に記載の方法を提供する。
:「特定の同一メッセージを、所定の周期で、繰り返し、特定の端末(一又は複数)に送信する処理」の目的の例としては、すぐに話したい旨のメッセージ、助けを必要とするなどSOSを示すメッセージ、仕事等が終わり次第会いたい旨のメッセージ、株相場の上昇を予想し続ける旨のメッセージ、天気が晴れていることを示し続けるメッセージ、元気であること/おなかがすいていること等を示し続けるメッセージ、等、いろいろな用途が可能である。
>これにより、たとえば、その同一メッセージを終了する旨の認識パターンが発声されるまで、継続的な状態とその変化を相手に気軽に通信することが可能になる。
また、請求項7の発明は、
前記テキストに記載された処理が、特定のメッセージを、所定の周期の配信分として他のメッセージと一緒にため込むようにしながら、該所定の周期に特定(一又は複数)の端末に送信する処理である
請求項1又は2に記載の方法を提供する。
:「特定のメッセージを、所定の周期の配信分として他のメッセージと一緒にため込むようにしながら、該所定の周期に特定(一又は複数)の端末に送信する処理」の例としては、1分、3分、5分、10分、15分、20分、30分、45分、60分、2時間、3時間、4時間、6時間、8時間、12時間、18時間、24時間毎などに、各利用者に対してその利用者宛のメッセージをまとめて配信する所定のサーバーに対して、なんらかの送信することが挙げられる。
>これにより、一定の間隔でされる一括連絡(音声読み上げ)により、一定の間隔ならば作業をじゃまされてもよいと考える相手に対して、迷惑にならない態様で、連続してメッセージ(同一又は変更あり)を送り続けることが可能となる。
また、請求項8の発明は、
第一のコンピュータが、第二のコンピュータで認識(近傍の利用者の音声、タッチ選択、入力指定、等)させるための認識パターンと対応する第一のコンピュータへの送信メッセージに対応する情報とを第二のコンピュータに送信する自分宛送信定義ステップと、
第二のコンピュータが、第一のコンピュータへの送信メッセージを、自分宛送信定義ステップで送信された認識パターンと対応する送信メッセージに制限する制限ステップと
を含む方法を提供する。
:「自分宛送信定義ステップで送信された認識パターンと対応する送信メッセージに制限する」ことは、送信された認識パターンだけを(又は送信された認識パターンを優先して)音声認識するように、音声認識パターンのリスト(コマンドリストと呼ばれることもある)を設定することにより実現してもよい。
>これにより、音声認識の認識パターンが絞られて音声認識品質を維持しやすくなり、選択肢の表示領域も節約することができ、ユーザーインターフェースの効率や品質が改善される。
また、請求項9の発明は、
第二のコンピュータにおいて、どの端末へ送信されるメッセージかを表示する
請求項8に記載の方法を提供する。
:どの端末へ送信されるメッセージかの表示は、直前に音声でおこなってもよく(この場合、事前定義された送信相手巡回リストを所定の周期で走査して順番のめぐってきた相手に(すなわち周期的に)送ることにしてもよく)、所定の画面位置への表示によりおこなってもよく、ダイアログボックス等の表示によりおこなってもよい。
>これにより、送信側が用事を依頼したり相談する相手を間違えないようにすることができる。
また、請求項10の発明は、
第二のコンピュータにおいて、どのような認識パターンを認識するかを表示する
請求項8又は9に記載の方法を提供する。
:「どのような認識パターンを認識するかの表示」は、漢字を含むひらがなカタカナテキストで行ってもよく、表音文字列の表示でおこなってもよく、アイコンや絵や動画で行ってもよく、音声自体(発声すべき音声の例を示すこと)でおこなってもよい。
:例えば、送信側遠隔端末が音声認識の対象とする認識パターンを、受信側遠隔端末が所定の集合(文脈上適切な集合)へと制限し、その旨を、音声認識する送信側端末に、受信者の識別情報等とともに、選択肢として表示できる。
>これにより、受信側が対処できる問題・課題集合を送信側にリアルタイムに示すことができ、解決にむすびつきにくい無駄なコミュニケーションが抑制される。
>例として、第一のコンピュータに「お父さん、今晩食べる? :# HNanq_send(U0001001001,今晩,る:食べる/ない:食べない);」というルールが登録されている場合を考える。この例の場合、第一のコンピュータの主な利用者はそのコンピュータが居間においてある家の主婦であり、帰りが遅くなって外で食べてかえる夫の携帯端末に対して問い合わせを行うためのルールとなる。このルールが存在することにより、その主婦が「お父さん、今夜食べる?」と発声することにより、第一のコンピュータがその発声された認識パターンを音声認識し、ルールの区切り(及び種類)を示す「:#」の右辺のテキスト(上記「別のテキスト」にあたる)「HNanq_send(U0001001001,今晩,食べる:る/食べない:ない);」を実行することになる。この右辺のテキストの意味は、U0001001001で示す利用者がログインしている遠隔端末に「今夜 食べる:る 食べない:ない」を表示しかつ同内容を発声(音声合成)させ、その後に、その遠隔端末(第二のコンピュータ)の利用者(夫)からの「る」又は「ない」のみの発声を応答として音声認識し、主婦の利用する第二のコンピュータに、「る」/「ない」に対応する正式内容である「食べる」/「食べない」を送信させ、第二のコンピュータにU0001001001(夫)からの応答として「食べる」/「食べない」を表示させかつ発声(音声合成)させるという命令である。
また、請求項11の発明は、
複数の送信メッセージ種類に対応する複数の認識パターン種類を第一又は第二のコンピュータで自動生成又は自動選択する請求項1から10に記載の方法を提供する。
:第一のコンピュータで自動生成又は自動選択する場合とは、例えば、第二のコンピュータで利用者が選択して発声する内容に対応する認識パターン集合を第一のコンピュータの利用者の都合で指定するメッセージ集合(例えば、その中から一を選択した答えが欲しいと考えている)から第一のコンピュータが逆算して生成(又は所定の集合から自動選択)する場合である。
:第二のコンピュータで自動生成又は自動選択する場合とは、例えば、第二のコンピュータで利用者が選択して発声する内容に対応する認識パターン集合を第一のコンピュータの利用者の都合で指定するメッセージ集合(例えば、その中から一を選択した答えが欲しいと考えている)から第二のコンピュータが逆算して生成(又は所定の集合から自動選択)する場合である。この場合には、第一のコンピュータに相当する立場の他のコンピュータからのメッセージ集合も参照しながら、互いに混同しにくい認識パターン集合を生成/選択することができる。最も単純には、ひらがな一文字又は二文字全体の集合等から、異なる宛先への異なるメッセージに対応するものが互いに重ならないように認識パターン集合として割り当てることができる。
端末5が音声認識することになる、ある時点での<(自動選択された)認識パターン><宛先端末><メッセージ内容>組の例
===
<認識パターン><宛先端末><メッセージ内容>
あ 端末1 「明日ひまなのでピクニックに行きましょう」
い 端末1 「明日仕事なのであそべません」
う 端末2 「体調いいです」
え 端末2 「体調いまいちです」
お 端末3 「金沢は快晴です」
か 端末3 「金沢は曇りです」
き 端末3 「金沢は雪です」
===
>これにより、利用者やシステム担当者による認識パターンの設定の手間を省力化し、より手軽なコミュニケーションが可能になる、
また、請求項12の発明は、
第二のコンピュータにおいて複数の別のコンピュータからのメッセージを出力する場合に、
メッセージを出力するタイミングが重ならないように時間的な間をあけて出力すること、
その間において第二のコンピュータが音声認識した内容について直前に出力したメッセージを送信してきたコンピュータにのみ
送信すること、
を特徴とする、請求項1から11のいずれか一項に記載の方法を提供する。
:「直前に出力したメッセージを送信してきたコンピュータにのみ送信」は、直前に出力したメッセージを送信してきたコンピュータのIPアドレスやIDなどを記憶しておくことによって容易に実現できる。
>これにより、実質複数同時の通信相手とではあっても、一人ひとりの相手とのコミュニケーションがシリアライズされた形で、上記したきわめて便利な(文脈を情報取得希望者にとって効果的なものだけに制限できるなどする)コミュニケーションを提供することができる。
また、請求項13の発明は、
コンピュータが、認識パターン(利用者がいうべきこと)と送る内容との対応を画面表示又は音声出力する
請求項1から12のいずれか一項に記載の方法を提供する。
:これは、例えば、以下の内容を画面表示したり、音声出力することにより、利用者に伝えたい宛先とメッセージに対応する「あ」〜「き」の発声を促すものである。
<認識パターン><宛先端末><メッセージ内容>
あ 端末1 「明日ひまなのでピクニックに行きましょう」
い 端末1 「明日仕事なのであそべません」
う 端末2 「体調いいです」
え 端末2 「体調いまいちです」
お 端末3 「金沢は快晴です」
か 端末3 「金沢は曇りです」
き 端末3 「金沢は雪です」
===
>これにより、送りたい内容と発声する内容の対応を利用者に知らせやすくなり、すでに知っている場合にもまちがえにくくなる。また、送りたい内容と対応する発声すべき内容を大胆に設計/設定することが可能になる。発声すべき内容の自然な選択肢が複数あり、互いに類似する場合に、それらを互いに類似性の少ない発声内容となるように発声内容の集合を設計/設定することができる。
また、請求項14の発明は、
認識パターン(いうべきこと)と対応する別のテキストの解釈が、自然言語に変数を埋め込むことを許したリテラルを用いた論理プログラムの実行を含む、
請求項1から12のいずれか一項に記載の方法を提供する。
:「自然言語に変数を埋め込むことを許したリテラルを用いた論理プログラムの実行」とは、例えば、下で引用した特許文献1、6に記載されるような実行である。
>これにより、知識や価値観等を考慮したきわめて高度なコミュニケーションを、音声認識と結びつけて行うことが可能になる。、
また、請求項15の発明は、
請求項1から14のいずれか一項に記載の方法を実施するためのコンピュータプログラムを提供する。
また、請求項16の発明は、
請求項1から14のいずれか一項に記載の方法を実施するための装置を提供する。
===
<特許文献1の課題> 自然言語に変数を埋め込む形式で表現した知識をコンピュータでPROLOG同様に自動処理することを実現可能にし、述語論理レベルの網羅的な演繹や解探索(自動単一化処理、自動導出処理、そのための後ろ向き推論、バックトラック)を実現すること。
変数が格構造に縛られない利点を十分に生かし、処理を高速化し、証明や学習等のため結果を見やすく表示すること。
<特許文献1の解決手段(概要)>
人間が、PROLOGにおける「事実」、「ルール」又は「ゴール」の入力にあたり、PROLOGにおける「リテラル」にあたる内容の定数部分と変数部分とを文字種、デリミタ又はエスケープ文字により区別してコンピュータに入力し、
コンピュータが、文の主部、述部等の境界をまたがりうるものとして変数を取扱いながら、その入力に含まれる文の自動単一化処理、自動導出処理又はその両方を行う。
変数を含みうる文であるパターンと、変数を含まない文である定数文字列との単一化を、パターンに最初に出現する変数の最長一致解を求めて、該最長一致解の文字列を後ろから空文字になるまで削る過程を該パターンに代入してできる
各新たなパターンについて、該新たなパターンができる前提となった削る過程の解の各状態をそれぞれ記憶しながら、再帰的に同様に変数がなくなるまで繰り返し、変数がなくなったときに単一化した各途中の解の状態を結合して各単一化の答えを得る。
パターン中の固定文字列が最長一致解を削る過程の文字列に含まれるか等を検出して高速化する。
パターン対パターンの単一化は語頭や語尾の一致に着目して高速化する。全探索の具体的手法も提供する。
<特許文献1の解決手段(全文、ただし一部本発明と混同しないように加筆・修正)>
(0009)
本発明は、かかる課題に鑑みてなされたものであり、特許文献1の請求項1は、
コンピュータが、論理型プログラミング言語PROLOGの機能の一部又は全部を自動的に行う方法であって、
人間が、PROLOGにおける「事実」、「ルール」又は「ゴール」の入力にあたり、PROLOGにおける「リテラル」にあたる内容(以降、「文」と呼ぶ)の定数部分と変数部分とを文字種、デリミタ又はエスケープ文字により区別してコンピュータに入力すること、
コンピュータが、文の主部、述部、主語、述語、目的語、補語、連用修飾語、連体修飾語又は文の境界をまたがりうるものとして変数を取扱いながら、上記「事実」、「ルール」又は「ゴール」の入力に含まれる文の自動単一化処理、自動導出処理又はその両方を行うこと、
を特徴とする処理方法を提供する。
ここで、「人間が、・・・定数部分と変数部分とを文字種、デリミタ又はエスケープ文字により区別してコンピュータに入力する」とは、人間が本発明によるアプリケーションソフト(処理系)の入力欄内やコマンドプロンプト後等に(フロントエンドプロセッサ等を介して又は介さずに)直接入力すること、インターネットブラウザや文章編集ソフト等からコピーペーストやカットペーストすること、別途入力して保存してあったテキストファイル等を読み込んだり、引用したり、参照したりすること等を含む。
また、「コンピュータが、文の主部、述部、主語、述語、目的語、補語、連用修飾語、連体修飾語又は文の境界をまたがりうるものとして変数を取扱い」とは、日本語等の助詞等や英語等の前置詞等を介した明示的な区切りのある格構造(構文解析結果や意味解析結果の階層構造に該当するものを含みうる)の境界(明示的な区切り)をまたがりうるだけでなく、英語等の例えばSV形式・SVO形式・SVOO形式・SVOC形式のSとVの境界、VとOの境界、VとCの境界等をまたがり得、重文や複文の文の境界等をもまたがり得るものとして取り扱うモードを含む(逆に、取り扱わないモードがあってもよい)。これらの場合、変数に入り得る解候補として、文全体や、文全体を構成する文字列から文としての文法構造による区切りの単位を無視して任意の部分文字列を抽出したもの、さらには階層的な参照構造をもつ複文・重文やもっと長い論文等の全体や、さらにそれらの任意の部分文字列が対象となる(なお、「文の境界」をもまたがりうるものとして取り扱う場合であって、知識源の集合を扱う(例えば、ファイルにまとめた知識源の集合を一括して読み込む、書き込む、参照する、等する)場合には、文の境界「以外」に知識源どうしの区切りが必要となるため、このような区切りとして、例えば、改行コードやタブコード等を用いることができる)。
これにより、自然言語に変数を埋め込む形式で表現した知識や情報も、普通の文章形式の知識や情報も、それらの間での現実的な相互活用の可能性が十分に開けた一元的な知識源として、両者を特に区別せずにコンピュータで自動処理することが可能になる(上記「困難性A」の克服)。
「現実的」な相互作用の可能性が「十分」に開けるためには、コンピュータによる自動処理が検索処理系として備えるべき1)検索式(パターンを指定する表現)の簡便性、2)十分な適合率(解の正確性)、3)十分な再現率(解候補を抽出する上での網羅性)を備えていなければならないが、本発明では、文中の自由な(すなわち、文法や意味の区切りに制限されない)場所に変数(複数種類でもよく複数回でもよい)の埋め込みを許容し(簡便性を確保し)つつも、PROLOGの知識処理手順(と内在する知識解釈方針)に基本的に沿うことにより、他の処理系におけるようなハイブリッドな知識処理手順(と、そのハイブリッドな処理手順に対応する複雑な知識解釈方針)によって起こりうる適合率(解の正確性)低下のリスクを回避しつつ、「文の主部、述部、主語、述語、目的語、補語、連用修飾語、連体修飾語又は文の境界をまたがりうるものとして変数を取扱」うことにより、自然言語の区切り表現(読点、句読点、カッコ、コンマ、ピリオド、等)や修飾的なフレーズ(形容詞句、副詞句、必須でない格の表現、等)による指定パターンの泣き別れ出現が原因となる不当な不一致(正規表現的なアンマッチ)を防ぎ、格構造の明示されない表層的な文字列表現間(検索式と知識源の間)での一定の再現性(解候補を抽出する上での網羅性)を確保可能としている。また、知識源となった自然言語の正確な文脈(前後の文字列)を損ないにくい一体的・連続的な引用・抽出(変数への解候補としての)も可能となり、結局、その透明性・単純性により推論の実質的な健全性(根拠や推論経緯の正当性)の確認・検証が手軽かつ容易となり、根拠がいつも明確であるという現実的な安心感を利用者にもたらし、全体として、変数が格構造に縛られない(さらに、格構造のルール(出現順序等)について知らなくてもよく、引数の順番が間違っているかもしれないという不安もない)という仕様の利点を十分に生かしきることを可能にする。
なお、本発明は日本語(一文字の情報量が多く、単語の間にスペースがない)を第一の対象にしているため、文字を処理単位、区切りの単位としている内容が多いが、英語等(一文字の情報量が少なく、一文の文字数は多いが、単語の間にスペースのあるもの)は、スペースで区切った単語を単位として同様の処理をすることも可能である。
(0010)
また、特許文献1の請求項2は、
前記自動単一化処理において、
変数を含みうる文であるパターン(定数部分と変数部分とを文字種、デリミタ又はエスケープ文字により区別したもの)と、変数を含まない文である定数文字列との単一化を、
パターン(例:$Xと$Yは$Zが好き)に最初(又は最後)に出現する変数(例:$X)の最長一致解(例:太郎と次郎)を求めて、該最長一致解の文字列を後ろ(又は前)から空文字になるまで削る過程(例:太郎と次郎>太郎と次>太郎と>太郎>太>空)を該パターンに代入してできる各新たなパターン(例:「太郎と次郎と$Yは$Zが好き」>「太郎と次と$Yは$Zが好き」>「太郎とと$Yは$Zが好き」>「太郎と$Yは$Zが好き」>「太と$Yは$Zが好き」>「と$Yは$Zが好き」)について、該新たなパターンができる前提となった削る過程の解の各状態($X=太郎と次郎>太郎と次>太郎と>太郎>太>空)をそれぞれ記憶しながら、
再帰的に同様に変数がなくなるまで繰り返し、
変数がなくなったときに単一化した各途中の解の状態(例:真($X=太郎と次郎,$Y=三郎),真($X=太郎,$Y=次郎と三郎))を結合して各単一化の答え(例:答え1=($X=太郎と次郎,$Y=三郎),答え2=($X=太郎,$Y=次郎と三郎)を得ることを特徴とする
特許文献1の請求項1に記載の処理方法を提供する。
ここで、「(又は最後)」は「(又は前)」に対応しており、最後に出現する変数から代入するときは、削り始めが前からとなる必要があることを意味する。
これにより、最長一致解から最短一致解に至るすべての可能性について確実に網羅した各解候補の状態を検証し、網羅的な答え(さらに絞りこまれた解候補の集合)を提供することが可能になる。
(0011)
また、特許文献1の請求項3は、
空文字になるまで徐々に削るかわりに、別途求めた最短一致解までしか徐々に削らないことを特徴とする
特許文献1の請求項2に記載の処理方法を提供する。
これにより、最短一致解未満の長さから「空」文字までの解探索の計算を節約することができ、自動処理の高速化が可能となる場合がある。
(0012)
また、特許文献1の請求項4は、
空文字になるまで徐々に削る際、
パターン中で該変数が最初(又は最後)に出現した直後(又は直前)の固定文字である1文字C(直後(又は直前)が別の変数でその解が空文字でないときは該別の変数に解候補として代入されている解候補の最初(又は最後)の1文字C)が該最長一致解に含まれる場合に、
該最長一致解の文字列の最後(又は最初)からそのCに最初にあたるまでの部分文字列をそのCを含め削ることを特徴とする
特許文献1の請求項2又は3に記載の処理方法を提供する。
ここで、「(又は最後)」は「(又は直前)」に対応しており、最後に出現する変数から代入するときは、削り始めが前からとなる必要があることを意味する。
これにより、変数の直後(又は直前)の固定文字にマッチしない解候補の列挙とその解候補を前提とした探索を節約することができ、自動処理の高速化が可能となる場合がある。
(0013)
また、特許文献1の請求項5は、
前記自動単一化処理又は自動導出処理において、
前記「ゴール」(「サブゴール」を含む。以下同じ)となる束縛情報を求める際、
該「ゴール」を構成する各文について独立して束縛情報を求め
各束縛情報の積集合が空でない場合に戻り値真とその積集合を返す
特許文献1の請求項1から4のいずれか一項に記載の処理方法を提供する。
ここで、束縛情報とは、各変数に同時にそのような解候補を代入してみたか/すべきかということを示す情報である。各変数への一つの束縛の仕方を示す束縛情報は、「,」をAND結合と解釈することにより、「変数名1=値1,変数名2=値2,・・・,変数名N=値N」といったリスト形式で表現することができる一方、複数の束縛の仕方は、そのようなリストの集合として、あるいは、「,」ではなくAND/OR結合を明示して複数束縛間の共通部分をくくりだした形や、複数束縛の全体を標準化した連言標準形や選言標準形で表現することができる。
これにより、同時に満たすべきパターン(文)が複数あり、パターン(文)間で同名の変数には同じ解が入るべきとする問題形式の場合(例えば、ユーザからのそのようなAND結合問合せや、ルールのボディ部に複数の文がある場合)に、ルールのより右側のパターンについて、より左側のパターンの各単一化結果ごとに多大な全文探索処理を無駄に繰り返す可能性がすくなくなり、ボディ部をバックトラックしながら深さ優先探索する非効率(変数を自然言語に埋め込む形式においてより顕著な非効率)を回避し、同時に満たすべき各パターンごとの処理を単純化することができる。また、推論過程の表示や検証(完全性や健全性)をわかりやすく、容易にする。また、ルールの意味として必要な直観にとって余計であり定義されるべきでなかった順序性(ボディ部の文間の)が推論過程に副作用を与えることを防ぐことができる。
(0014)
また、特許文献1の請求項6は、
前記自動単一化処理又は自動導出処理において、
前記「ゴール」となる束縛情報を求める際、
既存の束縛情報を最初に空とし、
「ゴール」が含む文集合を、既存の束縛情報の適用下で該一文が真となりうるかと該なりうるための追加の束縛情報について自動計算して該追加の束縛情報を該既存の束縛情報に加えながら該一文を除いて再帰的に小さくしていき、
真となりうるまま該文集合が空集合になったときの既存の束縛情報を「ゴール」となる束縛情報とする
特許文献1の請求項1から4のいずれか一項に記載の処理方法を提供する。
ここで、「再帰的に小さくしていき」とは、再帰が深くなるほど文集合が小さくかつ束縛情報が複雑になる(より多くの変数が束縛され、束縛する値の範囲がより絞られる)よう、例えば、C言語で再帰呼び出しをする処理や、独自に宣言し定義した深さ優先探索用のスタック構造(構造体の配列とスタックポインタ等)によって同等の再帰的処理を実現することをいう。
これにより、変数を自然言語に埋め込む形式で表現された、同時に満たすべき複数パターンのAND結合からなるオープンクエスチョンを自動処理する問題を、より単純かつ再帰的な同一構造を持つ部分問題へとシンプルに変換し、推論過程の表示や検証(完全性や健全性の)を容易にする。
(0015)
また、特許文献1の請求項7は、
前記自動単一化処理又は自動導出処理において、
変数を含まないパターンと変数を含まない事実との単一化を行う場合、
パターンと事実が文字列として一致する場合に真を返す、又は
パターンと事実が文字列として一致しない場合に偽を返す
特許文献1の請求項1から6のいずれか一項に記載の処理方法を提供する。
これにより、シンプルかつ迅速に探索を行うことができる。
なお、「変数を含まない事実」が句点等で区切られた複数の文を含む場合。「文字列としての一致」は、パターンの文字列が事実の文字列の部分に一致することであってもよいとするモードを設けることもできる。
これにより、同型の複数の情報を一つの事実にまとめて表現して探索の対象とすることができる。また、複数要素間のなんらかの順序性(例えば、大きさ、貴重さ、古さ・・・等)も表現しやすくなる。
(0016)
また、特許文献1の請求項8は、
前記自動単一化処理又は自動導出処理において、
変数を含まないパターンとホーン節の変数を含まないヘッド部との単一化を行う場合、
パターンとヘッド部が文字列として一致する場合に、該ホーン節のボディ部をサブゴールとして特許文献1の請求項5又は6に記載の処理方法を適用した結果を返し、
一致しない場合に偽を返す
特許文献1の請求項1から7のいずれか一項に記載の処理方法を提供する。
これにより、変数を自然言語に埋め込む形式で表現するルールのヘッドが変数を含まない場合の健全な機械的解釈と、シームレスでわかりやすくかつシンプルで統一的な処理メカニズムと、対応する推論過程の説明を与えることができる。
(0017)
また、特許文献1の請求項9は、
前記自動単一化処理又は自動導出処理において、
変数を含まないパターンと変数を含むヘッド部をもつホーン節との単一化を行う場合、
特許文献1の請求項2から4のいずれか一項に記載の処理方法における「定数文字列」として当該パ
ターンを用いかつ同処理方法における「パターン」として当該ヘッド部を用いて処理して求めた各束縛情報について、
当該ホーン節のボディ部に適用したものを特許文献1の請求項5又は6に記載の処理方法の「サブゴ
ール」として処理した結果が真となるものが存在すれば真を返す、又は
存在しなければ偽を返す
特許文献1の請求項1から8のいずれか一項に記載の処理方法を提供する。
これにより、変数を自然言語に埋め込む形式で表現するルールのヘッドが変数を含み、このルールを起動したパターンが変数を含まない場合に、ボディ部の変数の束縛範囲を事前に制限して、真偽判断の処理を高速化することができる。
また、健全な機械的解釈と、シームレスでわかりやすくかつシンプルで統一的な処理メカニズムと、対応する推論過程の説明を与えることができる。
(0018)
また、特許文献1の請求項10は、
前記自動単一化処理又は自動導出処理において、
変数を含むパターンと変数を含まない事実との単一化を行う場合、
特許文献1の請求項2から4のいずれか一項に記載の処理方法における「パターン」として当該パタ
ーンを用いかつ同処理方法における「定数文字列」として当該事実を用いて処理した結果を返す、
特許文献1の請求項1から9のいずれか一項に記載の処理方法を提供する。
これにより、パターンと(静的な)事実との間のすべての解候補(格変数への)が洗い出されて「結果」として返されるため、上記「困難性A」克服のための基礎的な機構をシンプルに与えることができ、推論過程の可視化や検証だけでなくさらにはルールの修正等といったユーザーの手を介した学習をも容易にする。
(0019)
また、特許文献1の請求項11は、
前記自動単一化処理又は自動導出処理において、
変数を含むパターンと変数を含まないヘッド部をもつホーン節との単一化を行う場合、
特許文献1の請求項2から4のいずれか一項に記載の処理方法における「パターン」として当該パタ
ーンを用いかつ同処理方法における「定数文字列」として当該ヘッド部を用いて処理した結果を真とする束縛情報(C)が存在する場合で、かつ、当該ホーン節のボディ部を請求項5又は6に記載の処理方法の「サブゴール」として処理した結果が真の場合に当該束縛情報(C)とともに真を返す、
特許文献1の請求項1から10のいずれか一項に記載の処理方法を提供する。
これにより、変数を含むパターンと(変数を含まない静的な)ヘッドとの間のすべての解候補(各変数への)が洗い出されて「結果」として返されるため、上記「困難性A」克服のための基礎的な機構をシンプルに与えることができ、推論過程の可視化や検証だけでなくさらにはルールの修正等といったユーザーの手を介した学習をも容易にする。
また、より単純かつ再帰的な(または相互再帰的な)同一構造を持つ部分問題へとシンプルに変換し、推論過程の表示や検証(完全性や健全性の)を容易にする。
また、変数を自然言語に埋め込む形式で表現するルールのヘッドが変数を含まない場合の健全な機械的解釈と、シームレスでわかりやすくかつシンプルで統一的な処理メカニズムと、これらに該当する推論過程の説明を与えることができる。
(0020)
また、特許文献1の請求項12は、
前記自動単一化処理又は自動導出処理において、
変数を含むパターンと変数を含むヘッド部をもつホーン節との単一化を行う場合、
パターンとヘッド部の頭、尾又は両方に存在する文字数分の固定文字が一致していない場合に偽を返す、
特許文献1の請求項1から11のいずれか一項に記載の処理方法を提供する。
これにより、一律の探索に比して、明らかに大幅な計算量節約と処理速度向上が図れる。
(0021)
また、特許文献1の請求項13は、
前記自動単一化処理又は自動導出処理において、
変数を含む第一のパターンと変数を含むヘッド部をもつホーン節との単一化を行う場合、
パターンとヘッド部の頭及び尾に存在する文字数分の固定文字が一致している場合、
特許文献1の請求項5又は6に記載の処理方法における「サブゴール」として当該ホーン節のボディ
部を適用した結果が真となる各束縛情報により当該ホーン節のヘッド部を束縛して得られる各第二のパターンについて、
第二のパターンが変数を含まない場合に、
特許文献1の請求項2から4のいずれか一項に記載の処理方法における「パターン」として第一の
パターンを用いかつ同処理方法における「定数文字列」として第二のパターンを用いて処理した結果を返す、
請求項1から12のいずれか一項に記載の処理方法を提供する。
ここで、「第二のパターンが変数を含まない場合」とは、ホーン節(ルール)において、ヘッド部に含まれるすべての変数がボディ部「にも」含まれており、ボディ部のすべての変数が定数(固定文字列)で束縛された結果としてヘッド部のすべての変数も定数(固定文字列)で束縛(代入)されたことによりヘッド部の変数が消えてヘッド部が定数文字列と見なせるようになったことをいう。
これにより、変数を含むパターンと変数を含むヘッド部をもつホーン節(ルール)との単一化をシンプルな計算モデルにより、ユーザーがトレースしやすい流れで機械的・自動的に行うことができる。
すなわち、変数を含むパターンと変数を(各束縛情報により)含まなくなった(=定数文字列化した)ヘッド部との間のすべての解候補(パターンの各変数へ代入すべきもの)を洗い出して「結果」として返す形に、元々のより複雑な問題(変数対変数の単一化)を帰着(問題を変換)させることにより、上記「困難性A」克服のための基礎的な機構をシンプルに与え、思考プロセスとしても表現しやすいものにできている。また、この「帰着(問題の変換)」に当たって、より単純かつ再帰的な(または相互再帰的な)同一構造を持つ部分問題へとシンプルに変換しているため、推論過程の可視化や検証(完全性や健全性の)だけでなくルールの修正等といったユーザーの手を介した学習をも容易にする。 結局、変数を自然言語に埋め込む形式で表現するルールのヘッドが変数を含む場合の健全な機械的解釈と、シームレスでわかりやすくかつシンプルで統一的な処理メカニズムと、これらに該当する推論過程の説明を容易に与えることができる。
(0022)
また、特許文献1の請求項14は、
変数を含む事実が入力されることをコンピュータが制限することを特徴とする
特許文献1の請求項1から13のいずれか一項に記載の処理方法を提供する。
ここで、変数を含む事実(ルールでない知識源)とは、例えば、「$Xは$Xである。」(トートロジー的に恒真となる事実)や「$Xは$Yである。」(表層的な文型だけが合致していれば真となってしまう根拠のない事実)等がある。
これらがコンピュータに入力されることを制限することにより、パターン(変数を含みうる文)と事実(変数を含まない文(=固定文字列))との自動単一化処理の計算が単純になり、自動処理による高速な回答が可能となる。また、根拠のない事実を知識源に混入しにくくする。
(0023)
また、特許文献1の請求項15は、
前記ルールがいわゆるホーン節と同様の形式であり、ヘッド部がボディ部に出現しない変数を含むことをコンピュータが制限することを特徴とする
特許文献1の請求項1から14のいずれか一項に記載の処理方法を提供する。
ここで、「ヘッド部がボディ部に出現しない変数を含むことをコンピュータが制限する」とは、ヘッド部が「$Xは素敵」であり、ボディ部が「$Yは強い,$Yは$Zに優しい,$Zは子供,$Yは賢い」といったように、ボディ部のすべての文中の変数(この例では、$Yと$Z)が束縛(代入)されても、ヘッド部の変数(この例では、$X)が束縛されないまま残るようなルールが知識源として入力されたり、記憶されたり、起動されたりすることをコンピュータが制限することをいう。このようなルールは、事実の場合と同様に、ヘッド部に束縛されない変数を残すことにつながるため、健全でない推論結果を生み出しやすく、推論のスピードをも低下させる原因となる。
こうしたルールがコンピュータに入力されることを制限することにより、パターン(変数を含みうる文)とヘッド部(特許文献1の請求項13により変数を含まない文(=固定文字列)の集
合に帰着可能)との自動単一化処理の計算が単純になり、自動処理による高速な回答が可能となる。また、根拠のない推論結果を生み出しにくくする。
(0024)
また、特許文献1の請求項16は、
前記自動単一化処理又は自動導出処理において、
束縛されない変数が互いに残っているパターンとヘッド部又は事実との自動単一化処理を、
固定文字列として極小となる解の集合を求めて返すことにより行うことを特徴する、 特許文献1の請求項1から13のいずれか一項に記載の処理方法を提供する。
ここで、「固定文字列として極小となる解の集合」の例としては、「$Aは$B」と「$Cも$D」との間の自動単一化の結果として、{($A=”も”、$B=<空>、$C=<空>、$D=”は”),($A=空、$B=”も”、$C=”は”、$D=空)}という2つの解を提供することがある。
これにより、無限個の解が存在する場合にも解の例(特に最小のシンプルな例)を提供することが可能になる。
(0025)
また、特許文献1の請求項17は、
前記自動単一化処理又は自動導出処理において、
束縛されない変数が互いに残っているパターンとヘッド部又は事実との自動単一化処理を、
変数を含む文字列として極小となる解の集合を求めて返すことにより行うことを特徴する、
特許文献1の請求項1から13のいずれか一項に記載の処理方法を提供する。
ここで、「固定文字列として極小となる解の集合」の例としては、「$Aは$B」と「$Cも$D」との間の自動単一化の結果として、{($A=”$Cも”、$B=<自由>、$C=<自由>、$D=”は$B”),($A=<自由>、$B=”も$D”、$C=”$Aは”、$D=<自由>)}という2つの解を提供すること等がある。変数を束縛する値(変数に代入される値)の文字列長(ただし、変数が含まれる場合は変数の出現あたり1文字と見なす)の合計(解組みを通じた)が極小となるものと考えることができる。
これにより、無限個の解が存在する場合にも解の一般形を提供することが可能になる。
(0026)
また、特許文献1の請求項18は、
束縛されない変数が互いに残っているパターンとヘッド部又は事実との各文字列の頭及び尾に共通して存在する文字数分の固定文字が一致していない場合、
偽を返すことを特徴とする、
特許文献1の請求項16又は17に記載の処理方法を提供する。
これにより、単一化の可能性のない自動探索を節約し、自動処理を高速化することができる。
(0027)
また、特許文献1の請求項19は、
前記固定文字列又は変数を含む文字列として極小となる解の集合を求める際、
束縛されない変数が互いに残っているパターンとヘッド部又は事実とからなる両文字列(第一の文字列と第二の文字列とする)に含まれる各変数が、各文字列内では共通に束縛され、文字列間では独立に束縛されるものとしながら(あるいは、同名変数を共通に束縛するスコープを各文字列内のみ(あるいは、文字列間は変数のスコープ外)としながら)、
各変数に相手の文字列(第一の文字列中の変数には第二の文字列、第二の文字列中の変数には第一の文字列)のあらゆる部分文字列(<空>及び文字列全体も含む)又は自分自身を代入してみて両文字列が一致する場合を探す全探索により極小となる解の集合を求めることを特徴する、
特許文献1の請求項16又は17に記載の処理方法を提供する。
「又は自分自身を・・・代入」とは、文字列中の「$X」には「$X」そのものを代入することをいい、たまたま第一の文字列にも第二の文字列にも$X(互いのスコープは異なっている)が含まれるときは、第一の文字列の$Xと第二の文字列の$Xをあえて区別できるように(例えば、「$X1」と「$X2」、等として)代入することによっても明らかに健全な計算を行うことができる。
これにより、健全性と停止性(計算の有限性)を確保しながら解集合の一定の網羅性(問題(パターン対)の性質によっては完全性)を確保することができる。
(0028)
また、特許文献1の請求項20は、
束縛されない変数が互いに残っているパターンとヘッド部又は事実とからなる両文字列そのものではなく、
束縛されない変数が互いに残っているパターンとヘッド部又は事実との各文字列の頭及び尾に共通して存在する文字数分の固定文字を両者から除いて残る二つの文字列に相当する両文字列について、
特許文献1の請求項19に記載の処理をする処理方法を提供する。
これにより、解集合の一定の網羅性(場合によっては完全性)を保ちながら全探索の空間を小さくでき、処理が高速化される。
例えば、「石川の$Aは$Bが好き。」と「石川の$Cも$Dアイスが好き。」との間の自動単一化の過程として、そのまま解を探すのではなく、頭尾の共通部分を削除して ”$Aは$B”
と
”$Cも$Dアイス”
とした上で、全探索により「$A」と「$B」それぞれに、”$Cも$Dアイス”の全ての部分文字列(これは、$Cや$Dといった変数(${・・・}形式の変数も同じ)は1文字とすると、6文字であるため、6×(6+1)/2+1(<空>分)+1(自分自身を代入分)=23通りある)を代入しつつ、同様に、「$C」と「$D」それぞれに”$Aは$B”の全ての部分文字列(これは、同様に3文字であるため、3×(3+1)/2+1+1=8通りある)を代入してみてできる全ての両文字列(23×23×8×8通り)について、両文字列が一致した場合(例えば、(
”もはアイス”,
”はもアイス”,
”$Aはもアイス”,
”$Cもはアイス”,
”$Aはも$Dアイス”
※ちなみに”$Cもは$Bアイス”は一致しない
)となった場合の代入組の集合{
($A=”も”、$B=”アイス”、$C=<空>、$D=”は”),
($A=<空>,$B=”もアイス”,$C=”は”,$D=<空>),
($A=”$A”,$B=”もアイス”,$C=”$Aは”,$D=<空>),
($A=”$Cも”,$B=”アイス”,$C=”$C”,$D=”は”),
($A=”$A”,$B=”も$Dアイス”,$C=”$Aは”,$D=”$D”) }又は、各代入組の部分的代入の集合(例えば{
($A=”も”、$B=”アイス”),
($A=<空>,$B=”もアイス”),
($A=”$A”,$B=”もアイス”),
($A=”$Cも”,$B=”アイス”),
($A=”$A”,$B=”も$Dアイス”)
})
を解として答えることができる。
なお、$A=”$A”や$B=”も$Dアイス”は、$Aや$Dが自由であり、そこにどのような文字列を代入しても単一化できる(すなわち、無限の解があるということと、その無限個の解(文字列)の制約(正規表現的な形)のあり方)を示すことができる。 (0029)
また、特許文献1の請求項21は、
各変数に相手の文字列のあらゆる部分文字列(<空>及び文字列全体も含む)又は自分自身を代入してみて両文字列が一致する場合を探す全探索により極小となる解の集合を求める際、
変数に代入する部分文字列に変数が含まれる場合に、当該部分文字列に含まれる変数を両文字列にそれまで存在しなかった新しい変数で置き換えながら、該新しい変数に対しての同様の代入も以後再帰的に行いながら両文字列が一致する場合を探す全探索を行うことを特徴とする
特許文献1の請求項19又は20に記載の処理方法を提供する。
これにより、自文字列内の固定文字を相手文字列内の変数を介して反射的に自文字列内の変数に代入した解をも探す必要のある性格の問題(例えば、両文字列={”$Xは$X”,”い$Yう”}の場合では、解候補として($X=”いう”,$Y=”うはい”)を列挙できなければならない)について、解探索の健全性を維持したまま、解候補列挙の網羅性をより高めることができる。上の例では、両文字列(「パターン対」とも呼ぶ)={”$Xは$X”,”い$Yう”}から($X=”いう”,$Y=”うはい”)という解候補を列挙できることを、本発明により再帰的に($X=”い${Y1}う”)⇒(${Y1}=<空>)⇒($Y=”うはい”)という探索枝(探索木の一部であり、本発明に沿った幅優先探索の場合は有限回で生成可能である)を生成しうることによって、示すことができる。
「再帰的に・・・全探索」とは、例えば、各変数への各ありうる代入(前の特許文献1の請求項と同
じ)を再帰的に繰り返す幅優先探索をしながら一致する代入系列(例えば、上記の($X=”い${Y1}う”)⇒(${Y1}=<空>)⇒($Y=”うはい”)、等)を列挙することである。最初の代入のバリエーションは、両文字列中の変数の種類がそれぞれ2個と3個であり文字列の長さがそれぞれ6字と7字(変数はまとめて1字と数える)であれば、2個×(7×(7+1)/2+1+1)+3個×(6×(6+1)/2+1+1)=60+69=129通りとなる。これらの枝から派生するさらなる枝の最長深さが均等になるように幅優先探索を行う場合、代入回数等によるリミッター(上限値と比較するプログラムステップ等)を設けることにより、一回一回の探索を適当な計算量に制限することができる(再帰性によって保証されなくなった停止性や応答速度の確保)。なお、深さ優先探索とした場合にも、深さの制限や代入回数等によって計算量を制限することができる。いずれも自己再帰や相互再帰による無限ループを、再帰的な関数の呼び出しを管理するスタック構造(構造体の配列)等を設けて、先祖(より根方向)となる枝の呼出しパラメータ(その代入系列(代入文脈)に応じた両文字列の状態表現を含んでいてもよい)を現在の呼出しパラメータと比較したりすることにより回避することができる。また、両文字列の頭尾に存在する固定文字列が共通して存在する文字数分一致しているかどうかなどにより、単一化しえない枝の枝刈りを行うこともできる。なお、制限した計算量(例えば代入百万回や探索深さ20以内)の探索により解が見つからなかった場合に「解なし(精度:代入百万回かつ探索深さ20以内)」として、見つかった場合に、「($X=”いう”,$Y=”うはい”),(・・・),・・・(但し、精度:代入百万回かつ探索深さ20以内)」等として探索精度を明示しながらユーザに答えることもできる。また、代入の制限回数以内かつ制限探索深さ以内で明らかに全探索できた場合(完全性のある場合)には、その旨を「解なし(全探索済)」あるいは「($X=”いう”,$Y=”うはい”),(・・・),・・・(全探索済)」等と明示して、ユーザに答えることもできる。
(0030)
また、特許文献1の請求項22は、
変数に代入した結果についても、各文字列の頭及び尾に共通して存在する文字数分の固定文字を両者から除いて残る二つの文字列を、
「相手の文字列のあらゆる部分文字列(<空>及び文字列全体も含む)」の対象となるの「相手の文字列」として、探索が進むごとに、文字列の頭又は尾に存在する固定文字数が少なくすることを特徴とする、
特許文献1の請求項19〜21のいずれか一項に記載の処理方法を提供する。
これにより、探索を進めるごとに(先の枝にいくほど)枝の個数が少なくなり計算量を節約することができる。
(0031)
また、特許文献1の請求項23は、
前記固定文字列又は変数を含む文字列として極小となる解の集合を求める際、
束縛されない変数が互いに残っているパターンとヘッド部又は事実とからなる両文字列(第一の文字列と第二の文字列とする)に含まれる各変数が、各文字列内では共通に束縛され、文字列間では独立に束縛されるものとしながら(あるいは、同名変数を共通に束縛するスコープを各文字列内のみ(あるいは、文字列間は変数のスコープ外)としながら)、
各変数に、固定文字列(空文字を含む)又は変数を含む文字列を再帰的に代入してみて解の集合を求める処理方法であって、
代入してみる変数を相手文字列の頭又は尾が固定文字である自文字列の対応する頭又は尾の変数に限定し、
代入値を、該頭である場合には該頭の固定文字もしくは固定文字列に続く新しい変数又は<空>とし、該尾である場合には新しい変数に続く該尾の固定文字もしくは固定文字列又は<空>とし、
変数に代入した結果について、各文字列の頭及び尾に共通して存在する文字数分の固定文字を両者から除くことを繰り返す、
ことを特徴とする特許文献1の請求項16又は17に記載の処理方法を提供する。
これにより、頭及び尾の固定文字の存在に着目して解の列挙範囲を(探索の網羅性を損なわずに)大幅に制限すること可能になり、大幅な計算量節約と高速化が可能になる。 (0032)
また、特許文献1の請求項24は、
前記固定文字列又は変数を含む文字列として極小となる解の集合を求める際、
束縛されない変数が互いに残っているパターンとヘッド部又は事実とからなる両文字列(第一の文字列と第二の文字列とする)に含まれる各変数が、各文字列内では共通に束縛され、文字列間では独立に束縛されるものとしながら(あるいは、同名変数を共通に束縛するスコープを各文字列内のみ(あるいは、文字列間は変数のスコープ外)としながら)、
各変数に、固定文字列(空文字を含む)を再帰的に代入してみて解の集合を求める処理方法であって、
各文字列の頭及び尾に存在する文字数分の共通する固定文字を除いてできる両文字列中の固定文字種(変数の識別子やデリミタを除いた文字種)だけを用いてできる束縛情報を、束縛する値の文字列長の合計が小さいものから順に列挙していくことにより求める、 特許文献1の請求項16又は17に記載の処理方法を提供する。
これにより、一定の性質をもった問題については、効率よく解に到達し、列挙することもできる。
(0033)
また、特許文献1の請求項25は、
求めた「変数を含む文字列として極小となる解の集合」をもとに、
当該ホーン節の変数を当該変数を含む文字列で一時的に書き換えてできるホーン節により探索を継続する特許文献1の請求項19〜24に記載の処理方法を提供する。
これにより、パターンとホーン節(ルール)のヘッド部とが単一化するために必要であることが計算された制約(上記の例では、変数「$C」が”$Aは”という形の文字列で束縛(代入)されることでしか単一化しえないという制約の働くような単一化方針(例えば、上記最後の代入組の場合)もある)を、そのホーン節のボディ部の探索プロセスに伝播することができ、探索を効率化することができる。
(0034)
また、特許文献1の請求項26は、
求めた「変数を含む文字列として極小となる解の集合」をもとに、
「変数を含む文字列」の変数部分に、当該「変数を含む事実」の解組の集合としてあらかじめ定義された固定文字列組の集合の各要素を代入してできる固定文字列組の集合を返す、
特許文献1の請求項19〜25のいずれか一項に記載の処理方法を提供する。
これにより、変数(一個又は複数)を含む事実とその変数に埋めうる適切な答え(又は仮説)の集合とをひもづけたデータベース(例えば、「言葉方程式(登録商標)」「VLANK(登録商標)」中の知識源)と効率的に連携した解探索を行うことができる。また、似た文型をもつ大量の事実を、本発明の枠組みと連携させて効率的に管理することができる。
(0035)
また、特許文献1の請求項27は、
前記自動単一化処理又は自動導出処理において、
変数を含む第一のパターンと変数を含む第二のパターンとの自動単一化を行う場合、
両パターンの頭及び尾に存在する文字数分の固定文字が一致しており、かつ、同じ変数が各パターン内で一度しか出現しない場合、
無限個の解の存在を意味する情報を返す、
特許文献1の請求項1から26のいずれか一項に記載の処理方法を提供する。
(0036)
また、特許文献1の請求項28は、
特許文献1の請求項1から27のいずれか一項の方法を実行するための装置を提供する。
(0037)
また、特許文献1の請求項29は、
特許文献1の請求項1から27のいずれか一項の方法をコンピュータに実行させるためのコンピュー
タプログラムを提供する。
(特許文献1の発明の効果)
(0038)
本発明の効果は、各特許文献1の請求項について上述したとおりである。
(特許文献1の図面の簡単な説明)
(0039)
(図1)図1は本発明を最も効果的に実施するネットワークシステムの全体図である
。(実施例1)
(図2)図2は本発明を実施するコンピュータのハードウエア構成を示した説明図で
ある。(実施例1)
(図3)図3は本発明を実施する端末における画面表示の例を示した説明図である。
(実施例1)
(特許文献1の発明を実施するための形態)
(0040)
本発明は、ネットワークに接続された/接続されてないあらゆる種類のコンピュータ(クラウドサーバー、大型汎用機、デスクトップPC、ノートPC、携帯端末、本発明専用機)において実施することができるが、一般的なマルチタスク機能とウィンドウ機能をもちインターネットに接続されたPCにより実現した形態により説明する。
図1は本発明を最も効果的に実施するそのネットワークシステムの全体図であり、コンテンツ管理装置1は、利用者PC2又は利用者兼管理者PC2により、本発明で取り扱うコンテンツ(ルールや事実)の投稿を受け付け、所定のポリシーによって共有アクセス権やコンテンツ提供優先順位を制御しながらコンテンツを配信する公知のファイル共有サーバーでよい。利用者PC2は、その利用者ごとに、その信じる内容(や検討したい内容)を自然言語で表現したコンテンツ(ルールや事実)を本発明の方法に沿って入力して記憶し本発明の方法によって処理するコンピュータ、携帯端末等である。
図2は本発明で用いるコンピュータのハードウエア構成を示した説明図である。これは計算機の構成としては一般的なものであり、本発明の特徴は、不揮発性メモリ2hに記憶されたプログラム3及びコンテンツデータ4の指示や記載に従い自然法則を用いてCPU2eで処理される処理の内容、及び、利用者との対話プロトコル(書式)の在り方にある。
図3は本発明を実施する端末における画面表示の例を示した説明図である。図では「?$Aしない」という問い(オープンクエスチョン形式)に対して、図示しない記憶したリストLの1行目の「されていやなことはなるべくしない」という事実を用いて「$A =
されて嫌なことをなるべく/1/」という答えを列挙し、同様にリストLの9行目の「いじめをしない」という事実を用いて「$A = いじめ/9/」と答えている。
(0041)
このような実施形態においては、C++言語等を介して製造されたコンピュータプログラムにより、コンピュータ(PC等)に可能なあらゆる動作を実施させることができる。したがって、自然法則を用いたコンピュータの公知の基本的な動作(レジスタやメモリやストレージへの記憶・取り出し、四則演算、比較、等)や既に開発環境等の標準ライブラリとなっている一般的な機能(変数やN次元配列への代入・比較・コピー、文字列や数値の操作/比較/表示、リスト構造・キュー構造・ハッシュ構造・ベクトル型等の操作、バイナリ―サーチやソート操作、正規表現によるパターンマッチ操作、ネットワーク通信操作、等)の実現方法については、本発明の本質(新規性や進歩性につながる独自の構成)とも異なり、当業者にもよく知られているので、詳述はしない。一方、このような一般的な機能を組み合わせて、本発明に固有の処理をどのような操作順序や記憶の仕方(アルゴリズムやデータ構造)で実現するかについては、以下に詳述する。このアルゴリズム等の説明、上記した課題解決手段の説明及び本発明の図面の説明を提供して開発の参考とさせることにより、標準レベルの職業的プログラマであれば、標準的なアプリケーションプログラム開発技法(C++によるGUIアプリケーション統合開発環境、等)を用いて、本発明の方法をコンピュータに実施させることが明らかに可能となり、また、この方法のための装置やプログラムを作成することも可能となる。
(0042)
以下に示すアルゴリズムは、C言語/C++言語等を用いて所望の「関数」を新たに定義した上で関数呼出しを行うという標準的な構造化プログラミングをベースにしたアルゴリズムであり、当業者は、下記各関数の機能分担に応じた入出力や機能切り分けを行いながら(或いは、下記に示した仕様に沿って関数群をそのままコーディングすることにより)、本発明の解決手段に相当する処理手段(プログラムや計算機)を実現することが可能となる。
(0043)
■問い合わせPに対する知識リストLの処理アルゴリズム仕様
=====================================================================================================================
関数Q1(P:変数を含みうるパターン,L:知識リスト):★特許文献1の請求項に共通するメイン関数の特許文献1の実施例1★
{
1.Lの最初の行の内容B(事実又はホーン節)を取り出す。
ただし、Lが空の場合(最初の行が取り出せなかった場合)、偽を出力して終了。
2.変数の束縛情報Cの初期値を空とし、下記関数H(P,B,C)を呼出し、真となる(=マッチする)束縛情報(=解集合)Cを出力。
真(=マッチした)の場合
真(はい)を出力する(マッチした内容Bの行番号も添えて出力する)。
偽の場合
何もしない。
3.Lの次の行の内容B’が
ある場合
・B←B’とし、2に移動する。
ない場合
・2で真を一度も出力していない場合は偽(いいえ)を出力。
・終了。
}
(0044)
■問い合わせPに対する知識リストLの処理アルゴリズム仕様(事前固定文字列化版) =====================================================================================================================
関数Q2(P:変数を含みうるパターン,L:知識リスト):★特許文献1の請求項に共通するメイン関数の実施例2(事前固定文字列化版)★
{
(事前の固定文字列化)
1.{Lのみから演繹できるすべての文字列/その各文字列を演繹する根拠として用いたLの行番集合}を各行とする固定文字列テキストTを求める。
具体的には、上記関数Q1(”$A”,L)の出力系列(A=解1/根拠1,A=解2/根拠2,・・・)の要素を各行としてマージしたテキストTを求める。
求める途中で無限ループになる場合について、明示的な呼出管理スタック等を用いた無限ループ検出機能により演繹を部分的に省略する。
・例えば、ホーン節の真偽の確認をある変数束縛条件下でコンピュータが行う途中で
同じホーン節の真偽を同じ変数束縛条件下で確認しようとしていないかを、
構造体(確認中のホーン節識別子,現在の変数束縛条件)をメンバーとする呼出管理スタックを管理し、
呼出し時にスタックの根に向かって同じ組み合わせがないかリニアサーチすることにより
無限ループを検出する。
(固定文字列のみである故にQ1よりシンプルな方法(関数F)で解集合を求める)
2.テキストTの各行tにつき、下記関数F(P,t,C)が真となるCをすべて出力する。
(最終結果の出力)
3.Cが一つでもあれば真を出力し、なければ偽を出力する。
}
(0045)
■問い合わせPに対する、一の事実(固定文字列)又はホーン節B(但し、ヘッドに含まれるすべての変数がボディにも存在)の処理アルゴリズム仕様
=====================================================================================================================
関数H(P:変数を含みうるパターン,B:一の事実(固定文字列)又はホーン節,C:変数の束縛情報):★特許文献1の請求項1〜15の発明で使用する関数の特許文献1の実施例1−1★
{
Pが変数を含まない場合{
Bが事実である場合{
P=Bの場合は、真を返す。
そうでない場合は偽を返す。
}
Bがホーン節である場合{
Bのヘッド部が変数を含まない場合{
P=Bのヘッド部の場合は、関数D(Bのボディ部,E)の真偽を返す。
そうでない場合は偽を返す。
}
Bのヘッド部が変数を含む場合{
F(Bのヘッド部,P,C1)を真とする各C1について、
関数D(Bのボディ部にC1を適用したもの,E)の結果が真となるC1があれば、 真を返す。
そうでない場合は偽を返す。
}
}
}
Pが変数を含む場合{
Bが事実である場合{
F(P,B,C1)が真となるC1が存在すれば、そのようなすべてのC1をCに加えて真を返す。
そのようなC1が存在しなければ、偽を返す。
}
Bがホーン節である場合{
Bのヘッド部が変数を含まない場合{
F(P,Bのヘッド部,C1)を真とするC1が存在する場合で、かつ
関数D(Bのボディ部,E)が真であれば、そのようなすべてのC1をCに加えて真を返す。
そうでない場合は偽を返す。
}
Bのヘッド部が変数を含む場合{
★特許文献1の請求項12の発明を実施する場合★
//高速化の工夫(オプション)開始
PとBのヘッド部の頭及び尾に存在する文字数分の固定文字が一致していない場合{
偽を返す。
}
//高速化の工夫(オプション)終了
★特許文献1の請求項13の発明の実施★
PとBのヘッド部の頭及び尾に存在する文字数分の固定文字が一致している場合{
関数D(Bのボディ部,E)の結果が真となるE中のいずれかの束縛情報Gについて、 関数F(P,Bのヘッド部をGで束縛したもの(固定文字列になるはず),C1)を真とするC1があれば
そのようなすべてのC1をCに加えて真を返す。
そのようなC1が存在しない場合は偽を返す。
}
}
}
}
}
(0046)
■ホーン節のボディ部(又は変数を共有する重文の問い合わせ)の解集合の列挙アルゴリズム仕様
=====================================================================================================================
呼出例
→関数D("$Aと$Bは友達だ,$Aは人間,$Bは人間", E);
戻り例
←真(E=((A=花子,B=太郎),(A=太郎,B=次郎),(A=次郎,B=三郎)))
=====================================================================================================================
関数D(J:ボディ部(又は変数を共有する重文の問い合わせ),E:解集合):★特許文献1の請求項6の発明で使用する関数の特許文献1の実施例1−2A★
※ただし、知識源全体Lはグローバル変数に格納して参照可能とする
{
1.J中の最初の文Mを取り出す。最初の文が存在しない場合真を返す。
2.知識源全体Lに対して、前記関数Q1(M,L)又はQ2(M,L)を呼び出す。
結果が偽のときは
偽を返す。
真のとき
Mが変数を含まない場合
何もしない。
Mが変数を含む場合
Mを真とするためにとりうる束縛情報の集合Cを記憶する。
※真とするために束縛不要の変数は、その旨を明示的に示すこともできる。
※束縛値が無限集合でありながら真とするために一定の条件を要求する場合は、その条件を付記することもできる。
3.J中の次の文M’を取り出す。存在しない場合、真(E=束縛情報の集合C)を返す。
4.知識源全体Lに対して、前記関数Q1(M’,L)又はQ2(M’,L)を呼び出す。
結果が偽のときは
偽を返す。
真のとき
M’が変数を含まない場合
何もしない。
M’が変数を含む場合
M’を真とするためにとりうる束縛情報の集合C’と記憶してあった集合Cとの積集合を新たなCとする。
但し、元々の集合Cが空集合でなく積集合をとって空集合となったときは偽を返す。
※真とするために束縛不要の変数は、その旨を明示的に示すこともできる。
※束縛値が無限集合でありながら真とするために一定の条件を要求する場合は、その条件を付記することもできる。
5.3に戻る。
}
関数D2(J:ボディ部(又は変数を共有する重文の問い合わせ),E:解集合):★特許文献1の請求項6の発明で使用する関数の特許文献1の別の実施例1−2B(関数の再帰呼び出しを用い束縛情報を他の文に波及させることにより高速化を図ったもの)★
{
1.J中の最初の文Mを取り出す。Mが存在しない場合真を返す。
2.知識源全体Lに対して、Q1(M,L)又はQ2(M,L)を呼び出す。
結果が偽のときは
偽を返す。
真のとき
Mが変数を含まない場合
Jの次の文がなければ真を返し
あれば次の文を新たなMとし2に戻る。
Mが変数を含む場合
Jの次の文がなければ、とりうる束縛情報をEに格納して真を返し
あればとりうる束縛情報を集合Cとして記憶する。
3.Eを空にし、集合C中の各束縛情報Kについて
再帰呼び出しD2(KによりJの次の文以降を束縛してできるボディ部J’,E’)を実行する
結果が真のときは
Eに、真となったそのKかつE’を加える
4.各Kについて一度も真となっていないときは偽を返し、一度でも真となっているときは真(E)を返す
}
関数D3(J:ボディ部(又は変数を共有する重文の問い合わせ),E:解集合):★特許文献1の請求項5の発明で使用する関数の特許文献1の実施例1−3★
{
1.J中の最初の文M1を取り出す。最初の文が存在しない場合真を返す。
2.知識源全体Lに対して、Q1(M1,L)又はQ2(M1,L)を呼び出す。
結果が偽のときは
偽を返す。
真のとき
M1が変数を含まない場合
何もしない。
M1が変数を含む場合
とりうる束縛情報の集合C1を記憶する。
3.同様に、偽とならないうちはM2,M3・・・についてC2,C3・・・を求めていく。
偽となった場合は偽を返す。
4.残ったC1,C2,C3・・・Cnについて積集合Cを求めて、真(C)を返す。
}
(0047)
■問い合わせPに対する事実Sの多長一致解(複数も可)の列挙アルゴリズム仕様
=====================================================================================================================
呼出例
→関数F("$Aと$Bは友達だ","太郎と次郎と三郎は友達だ", "");
関数F(P:変数を含みうるパターン,S:定数文字列,C:変数の束縛情報):★特許文献1の請求項2の発明(ただし、「(又は最後)」と「又は前」を省いた実現例)で使用する関数の特許文献1の実施例1−4A★
{
(準備)
1.P中の変数の種類数Vと、出現する変数の名前N1,N2,・・・を出現順に求める
(Pがもともと変数を含まない場合への対応)
2.Vが0のときは、
⇒ P=Sのとき、真を返して終了。
⇒ P≠Sのとき、偽を返して終了。
(出力)
3.Vが1のときは、N1がP中に何回出現しようとも、PとSの単一化の解R1は1つしかないので、
⇒ マッチする場合、その唯一の解を「CかつN1=R1」として出力して、真を返して終了。
⇒ マッチしない場合、偽を返して終了。
※単一化そのものは、正規表現とのマッチ(同じ変数が二度以上出現する場合は後置参照あり)として実施可能
4.Vが2以上のとき
変数N1についての最長一致解R1で、P中の全てのN1を埋めてできるP’について 再帰呼び出しF(P’,S,CかつN1=R1)を実行
⇒ N1について最長一致解とした解集合が出力される
5.R1’←R1の最後の1文字を除いた文字列とし
P中の全てのN1をR1’で埋めてできるP’’について
再帰呼び出しF(P’’,S,CかつN1=R1’)を実行
⇒ N1について、最長一致解より1文字除いた解候補R1’とした解集合が出力される
6.R1’が
1文字以上の場合、(★特許文献1の請求項3では最短一致解の文字数より大きい場合)
⇒R1←R1’として5に戻る。
0文字の場合、(★特許文献1の請求項3では最短一致解の文字数である場合)
終了。
}
(0048)
関数F(P:変数を含みうるパターン,S:定数文字列,C:変数の束縛情報):★請求項4の発明で使用する関数の実施例1−4B★
//P中で変数が最初に出現した直後の固定文字列の最初の文字Cに着目して高速化の工夫その1をした関数F
{
(準備)
1.P中の変数の種類数Vと、出現する変数の名前N1,N2,・・・を出現順に求める
(Pがもともと変数を含まない場合への対応)
2.Vが0のときは、
⇒ P=Sのとき、真を返して終了。
⇒ P≠Sのとき、偽を返して終了。
(出力)
3.Vが1のときは、N1がP中に何回出現しようとも、PとSの単一化の解R1は1つしかないので、
⇒ マッチする場合、その唯一の解を「CかつN1=R1」として出力して、TRUEを返して終了。
⇒ マッチしない場合、偽を返して終了。
4.(高速化の工夫その2。この処理は5以降でカバーされるため省いてもよい。★この工夫2は、特許文献1の請求項にはしていない★)
Vが2以上のときで、
すべての変数(N1(=N),N2,・・・)について最長一致モードでマッチしてみた解と
すべての変数(N1(=N),N2,・・・)について最短一致モードでマッチしてみた解と
が同一(N1=R1,N2=R2,・・・)のとき
⇒ その唯一の解を「CかつN1=R1かつN2=R2かつ・・・」として出力して終了する
そもそもマッチしなかった場合、
⇒ 偽を返して終了。
同一でないとき
⇒ 5に続く
5.Vが2以上のとき
変数N1についての最長一致解R1で、P中の全てのN1を埋めてできるP’について 再帰呼び出しF(P’,S,CかつN1=R1)を実行
⇒ N1について最長一致解とした解集合が出力される
6.P中で変数N1の後すぐに変数N1(自分自身)が続くとき
⇒ 7以降で処理する
別の変数N2が続くとき
⇒ 7以降で処理する(ただし、7で1文字CはN2の解R2の最初の1文字とする)
固定文字が続くとき
⇒ 7以降で処理する
7.P中で変数N1が最初に出現した直後の固定文字である1文字C(直後が別の変数N2であるときはR2の最初の1文字C)が、
最長一致解R1に含まれる場合
⇒ 1)R1’←R1の文字列の最後からそのCにあたるまでの部分文字列を削除した文字列
⇒ 2)P’’←R1’でP中のすべてのNを埋めてできるパターン
⇒ 3)再帰呼び出しF(P’’,S,CかつN1=R1’)を実行
⇒N1について一段階だけ短めの解が存在すれば出力できるはず
最長一致解R1に含まれない場合
⇒ N1についてはより短い解の列挙が終わったので、終了。
8.R1←R1’として7に戻る。
}
=====================================================================================================================
以上が、特許文献1(特願2014−087008)からの抜粋である。
===========================================================
特許文献6は、請求項1として、
テキスト読み上げ機能を有するコンピュータプログラムであって、
該コンピュータプログラムからアクセス可能なテキスト(文字列の集合。文字列間の順序性を問うものでもよく問わないものでもよい)と、
変数を含んだ文字列をリテラルとして許容しかつリテラルを真とするように変数を埋める文字列を答えとする質問文を含む論理式とから、
該論理式に応じた該質問文の答えとなる文字列を抽出又は合成して読み上げることを特徴とする
コンピュータプログラム、を提供する。
:ここで、「アクセス可能なテキスト」は、たとえば、自然言語で記述された事実の集合、及び、リテラルとして自然言語に変数を埋め込める形式を用いたPROLOGのホーン節であるルール(推論規則)の集合であり、ルール(推論規則)を含んでいてもよく、含んでいなくてもよい。
:「変数を埋める文字列を答えとする質問文を含む論理式」は、そのような質問文以外の事実やルール(推論規則)を含んでいてもよく、含んでいなくてもよい。正規表現またはそのサブセットと等価なものさらにそれらを拡張したものであってもよい。
:「ルール(推論規則)」は、プロダクションルール、項書き換え規則、PROLOGのホーン節、等であってもよく、さらに、これらを文字列に変数を埋め込んだリテラルを許す形式に拡張したものであってよい。
>これにより、自然言語テキストだけのときや、論理式だけのときよりも、論理の表現と(読み上げ機能のための)音声合成のための表層的自然言語表現とが一体となったテキスト形式の知識表現として、一元的に管理することができるようになり、知識の追加、編集、削除等が、一般的な論理型(宣言型)/手続型プログラミング言語(PROLOG、AWK、SQL、PERL、PHP、C++、JAVA(登録商標)、等)を知らない小学生でも気軽に実施可能となる。
>また、変数を埋める文字列を答えとする質問文を含む論理式を用いることから、各答えを含む各文章全体や各文全体でなく、各答えのポイントとなる文字列のみ(共通部分が多い文字列の相違部分のみ)を、動的に(すなわち質問文の異なりに応じて)要領よく(退屈/冗長とならないように)抽出・合成して読み上げることが可能となる。
(0006)
特許文献6は、請求項2として、
前記アクセス可能なテキストが推論規則を含んでいる
請求項1に記載のコンピュータプログラムを提供する。
:ここで、「推論規則」は、例えば、PROLOGのホーン節のリテラルとして、文字列に変数を含んだ形式を許し、「ご近所は$X:-req "http://hoge.net/JP/ISHIKAWA/KOMATSU/BIRUGAWA.jpl"; $X;」等とすることができる。この意味は、「インターネットの所定URL(この例では、地域を階層的にフォルダ管理しているサイト)からBIRUGAWA.jplファイルを取得し、その各行を”ご近所は”に連接することにより得られる文字列の全体を真とする」である。
>これにより、遠隔で更新されるインターネット上のローカルニュースのうち関心のあるファイルにのみアクセスして関心のある部分だけを(「$Yと$Zが結婚した」などと)抽出して(場合によってはさらに「$Yと$Zは新婚夫婦である」などとテキスト同士の新たな合成をもして)読み上げる等といった機能をモジュール定義して、動的にそのまま利用したり、あるいは静的に一部の機能だけを修正して再利用したり、さらに関連分野の分析・抽出用途に流用したりすることを容易にする。
(0007)
特許文献6は、請求項3として、
前記論理式が事実を含んでいる
請求項1または2に記載のコンピュータプログラムを提供する。
:ここで、「事実を含む論理式」の簡単な例として”「今日は天気がよい」「太郎は趣味の$Xに夢中になれる」”を挙げる。
:この場合、「今日は天気がよい」は事実であり、
推論規則を含むテキスト(例えば、
「太郎は趣味の釣りに夢中になれる:−今日は天気がよい;」
「太郎は趣味の読書に夢中になれる:−今日は天気が悪い;」
「太郎は好きな仕事に夢中になれる」
)に、
この事実(「今日は天気がよい」)を付加した上で
「太郎は趣味の$Xに夢中になれる」の「$X」を埋められる解(この場合「釣り」)を求めることになる。
>これにより、動的に(質問時に、一時的に)成立しうるルールとそうでないルールを切り分けたり、論理式内の質問文に答えるヒントを自ら提供したり、問題や解の範囲を広げたり制限したりすることが可能になる。
(0008)
特許文献6は、請求項4として、
前記論理式が推論規則を含んでいる
請求項1から3のいずれか一項に記載のコンピュータプログラムを提供する。
:ここで「推論規則を含む論理式」は、例えば、”「小松市小1算数は$X:-req "http://hoge.net/JP/ISHIKAWA/KOMATSU/ELEMENTARY/1/ARITH.jpl"; $X;」「小松市$X?」”等であってもよい。
>これにより、動的に(質問時に、一時的に)適用したい(解釈、書き換え、等のための)ルールを質問ごとに付記することができるようになる。また、その解釈の真偽を通じて、事実の場合と同様に、成立しうるルールとそうでないルールを切り分けたり、論理式内の質問文に答えるヒントを自ら提供したり、問題や解の範囲を広げたり制限したりすることが可能になる。
(0009)
特許文献6は、請求項5として、
前記アクセス可能なテキストを、
予め限った選択肢(テキスト集合)の中から
利用者が選択するユーザーインターフェースを有する
請求項1から4のいずれか一項に記載のコンピュータプログラムを提供する。
:このようなインターフェースは、ハードウエアとしてのドラムロール、ジョグダイアル、ソフトウエアコントロールとしてのリストボックス(N段組み形式でもよい)、コンボボックス、ラジオボタン等、または、それらを組み合わせて表現したコンピュータグラフィック、等とすることができる。
:テキスト集合は、例えば、ローカルファイルへのパスの集合、社内LAN共有フォルダへのパスの集合、インターネットファイルへのURL/URIパスの集合、メモリ内のテキストへのポインタ、又はそれらの組み合わせとすることができる。
>これにより、小中学生を含めた未成年教育用途などの場合に、コンテンツを制限することができる。また、科目ごとに対象とするテキストを分けて低学年や高齢者でも効率的にアクセス・編集・管理することができる。
(0010)
特許文献6は、請求項6として、
アクセス可能なテキスト毎にテキストと対応する論理式集合を関連づけて記憶し、
アクセスしているテキストと対応する論理式集合から論理式を利用者が選択するユーザーインターフェースを有する
請求項1から5のいずれか一項に記載のコンピュータプログラムを提供する。
:「論理式集合」の要素はアクセス可能なテキスト毎にひとつでもよい。
:「テキストと対応する論理式」とは、過去にそのテキストに対して問われた論理式、そのテキストに対して有用なことがわかっている論理式、そもそもそのテキストに問われることを想定して(用語等が)設計された論理式、等である。
>これにより、コンピュータや論理式に慣れていないユーザー(小学生、高齢者、等)でも、補助者なしで、ワンクリックで簡単に実質的な対話等が可能となる。
>「テキストと対応する論理式」は、アクセス可能なテキストに所定の書式により一つ又は複数埋め込んで管理するのが好ましい。以下の例では、2つのボタンから選択するだけで、問い合わせをすることができる。以下の例では「:&」は選択ボタンとしてヘッドを表示するという意味である。
===
私の父は78歳
私の母は73歳
私の妹は45歳
私の妹は43歳
私の男の家族の年令は$X歳 :& 私の男の家族は$X歳; //1つ目の選択ボタン
私の男の家族は$X歳 :- 私の父は$X歳;
私の男の家族は$X歳 :- 私の祖父は$X歳;
私の男の家族は$X歳 :- 私の兄は$X歳;
私の男の家族は$X歳 :- 私の弟は$X歳;
私の男の家族は$X歳 :- 私の息子は$X歳;
私の女の家族の年令は$X歳 :& 私の女の家族は$X歳; //2つ目の選択ボタン
私の男の家族は$X歳 :- 私の母は$X歳;
私の男の家族は$X歳 :- 私の祖母は$X歳;
私の男の家族は$X歳 :- 私の姉は$X歳;
私の男の家族は$X歳 :- 私の妹は$X歳;
私の男の家族は$X歳 :- 私の娘は$X歳;
===
:この場合、データの前半を外部ファイルから動的に読み込むようにプログラムすることができ(C言語の#includeやPHPのrequire_onceなどと類似する機能をもった組み込み関数による)、その場合は外部ファイルの更新(社外のニュース配信会社、社内の知識編集者、家族内のIT担当者、等による)に応じて答えを更新することができる。
:アクセス可能なテキストがローカルファイル(共有設定もされていない)の場合には自分のみが更新するファイルという運用になる。共有ファイルの場合やインターネット公開ファイルの場合にはそれぞれのアクセス権をもった担当者が更新するファイルという運用になる。
:選択するためのボタンは、N段組みのリストボックスや、それをレンガ式にずらして並べたものや、ボタンを代表する漢字一字のラベルを平面や疑似3Dに配置したものや、使用頻度に応じて大きさの異なる円内に論理式の内容や要約を記載したもの、等とすることができる。
:なお、ボタンコントロールをマウス押下できない利用者や、より簡便に利用したい利用者向けに、各ボタンに対応する論理式の内容を音声認識や目線認識で選択するように構成してもよい(このような認識のための要素技術は現在では自明のための詳述はしない)。また、本質的にN個から1個を選択できるインターフェースであれば、ボタン式に限るものではなく、ドラムロール式タッチ式、脳波測定選択式など、種々の方法を利用することができる。
:また、従業員の顔認識センサーと連動させるときは、従業員ごとによく押下するボタンをコンピュータに記憶させたり、管理者側が従業員毎に覚えさせたい内容(ルール、専門知識、最新情報、英単語、連絡事項など)を表す論理式をコンピュータに記憶させたりして、従業員が近づいて認識されたときに、ボタンを押さなくても、その従業員に知らせる/勉強させるべき内容を音声等で出力することができる。
:また、高齢者については、分野別に整理された身近な内容(友達一覧、親戚一覧、買い物先一覧、電話先一覧・・・を示す各ボタン)により物忘れの防止にも用いることもできる。
:また、学校では、その学校で遵守させたい道徳やルール(携帯してはいけないもの一覧、服装規則一覧、等)、覚えてほしい先生の名前一覧、地域の身近な知識一覧(周辺の歴史、地理など)、学年ごとに覚えてほしい英単語や古語や年表や定理の一覧、等の体系的な列挙にも用いることができる。
(0011)
特許文献6は、請求項7として、
抽出又は合成して読み上げる質問文の答えとなる文字列が複数存在する場合、
乱数生成アルゴリズムを用いてランダムな順序で読み上げることを特徴とする
請求項1から6のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、記憶する必要のない知識間の順序性を排して、それぞれを独立した知識として認識させることが容易になる。
(0012)
特許文献6は、請求項8として、
抽出又は合成して読み上げる質問文の答えとなる文字列が複数存在する場合であって、
一以上の文字列を読み上げた後に読み上げを中断して再開した場合、
中断までにまだ読み上げていない文字列を優先して読み上げることを特徴とする
請求項1から7のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、中断に左右されずに、満遍なく答えのすべてをもれなくだぶりなく伝えることが可能となる。
(0013)
特許文献6は、請求項9として、
抽出又は合成して読み上げる質問文の答えとなる文字列が複数存在する場合、
該複数存在する文字列の間又は該複数存在する文字列を抽出するテキストの間に比率を設定し、
該設定した比率に沿った頻度割合で該複数存在する文字列を繰り返し読み上げることを特徴とする
請求項1から8のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、重点的に覚えるべきものとそうでないものとをバランスよく暗記するときに用いることなどが可能となる。
(0014)
特許文献6は、請求項10として、
更新されるテキストを、
所定の時刻または頻度で所定の場所から自動ロードして
前記アクセス可能なテキストとし、
所定の論理式に応じた質問文の答えとなる文字列を、
該アクセス可能なテキストから自動的に抽出又は合成して読み上げることを特徴とする
請求項1から9のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、ニュースサイトが更新するインターネット上のHTMLテキストを「更新されるテキスト」としていた場合には、論理式でフィルタしたニュースのみを所定の時刻や頻度でチェックすることも可能になる。
>また、複数のコンテンツを組み合わせることにより、例えば、目覚まし勉強&ニュースチェック機能が提供できる。
>また、更新されるテキストが社内外のインターフェースとして指定された基幹業務系のドキュメントやデータベースカラムである場合には、さらにテンプレートエンジン等と連携させることにより、タイムリーな自動業務文書作成なども容易となる。
(0015)
特許文献6は、請求項11として、
所定の時刻または頻度で、
所定の論理式に応じた質問文の答えとなる文字列を、
所定のアクセス可能なテキストから自動的に抽出又は合成して読み上げることを特徴とする
請求項1から9のいずれか一項に記載のコンピュータプログラムを提供する。
:自動読み上げの時刻又は頻度は、例えば、日ごと時刻設定、時ごと分設定、分ごと秒設定、日時指定、曜日指定など種々の指定方法があってもよい。
>これにより、社内ルールなど不正確な記憶となりがちな知識をくりかえしにより正確に覚えさせることができる。
(0016)
特許文献6は、請求項12として、
前記アクセス可能なテキストを、
不特定多数の利用者からの投稿に応じて追加することを特徴とする、
請求項1から11のいずれか一項に記載のコンピュータプログラムを提供する。
:投稿への対応は、所定の共有フォルダやインターネットサイトへの投稿を検知する形でもよく、不特定のインターネットサイトへの投稿をいわゆるクローラーが収集する形でもよい。
>これにより、勉強用のテキストや業務用/趣味用の情報の収集・交換・共有・相互ブラッシュアップ等が可能となる。
(0017)
特許文献6は、請求項13として、
前記アクセス可能なテキストを、
不特定多数の利用者からの投稿に応じて編集することを特徴とする、
請求項1から12のいずれか一項に記載のコンピュータプログラムを提供する。
:投稿への対応は、所定の共有フォルダやインターネットサイトへの編集による更新投稿を検知する形でもよく、不特定のインターネットサイトへの編集による更新投稿をクローラーが収集する形でもよい。
>これにより、勉強用のテキストや業務用/趣味用の情報の相互補完・相互チェック等が可能となる。
(0018)
特許文献6は、請求項14として、
前記投稿をテーマのカテゴリ階層を明確にして行い、
答えとなる文字列の抽出又は合成に用いるアクセス可能なテキストのユーザー又は論理式による絞り込みを
該階層を指定して行うことを特徴とする
請求項12又は13に記載のコンピュータプログラムを提供する。
:投稿は、以下の内容を明確にしながら行われることが好ましい。
・サーバー
・ファイル名
・タイトル
・バージョン番号
・テキストの内容
・テーマの階層的分類(ツリー状のテーマ)
:カテゴリ(分類)の例としては、以下のようなものが挙げられる。
・地域ニュースツリー(地域による細分)
・研究専門分野ツリー(研究分野による細分)
・イベントツリー(イベント分野による細分(音楽、リサイクル、スポーツ、等))
(0019)
特許文献6は、請求項15として、
前記答えとなる文字列に応じた画像または音声を
文字列と同時に又は文字列の代わりに出力(遠隔の複数のコンピュータからなるシステムで機能分割する場合又は同一コンピュータにおいて機能分割する場合には送信であってもよい)することを特徴とする請求項1から14のいずれか一項に記載のコンピュータプログラムを提供する。
:この「音声」は動的な合成音声ではなく事前録音した音声などとすることができる。
:画像は動画であってもよい。
>これにより、論理式に応じたテーマの答えの集合やテキストの内容をより具体的に臨場感をもって表現することができる。
(0020)
特許文献6は、請求項16として、
前記答えとなる文字列のみ(一又は複数)、又は、論理式によってはアクセス可能なテキスト自体(一又は複数の組み合わせ)を
端末(スマートフォンであってよい)、又は、該端末のためのアプリケーションソフト宛てに送信し、
該端末又は該アプリケーションソフトにより出力を行うことを特徴とする請求項1から15のいずれか一項に記載のコンピュータプログラムを提供する。
:端末は携帯端末であることが有利であり、このようにして行われる文字列やテキスト自体は、電車やすきま時間での勉強のため、あるいは、ビジネスの現場での情報・知識共有のために使用できる。
>これにより、より自由により適した態様で答えやテキストを提供することが可能となる。
(0021)
特許文献6は、請求項17として、
前記抽出、合成又は送信を、中継するコンピュータ経由で行う
請求項16に記載のコンピュータプログラム。
>これにより、複数の利用者に配信しやすくなり、配信もコントロールしやすくなり、コンテンツの配信順を制御したり、コンテンツに広告を挿入したりでき、広告モデルでの安価な提供も可能となる。
>また、発信端末側に複雑な論理演算を用いた抽出や合成や音声合成の機能をもたせる必要がなくなり、発信端末をスマートフォン等の携帯端末とすることが容易となり、投稿(発信)数の向上を期待でき、携帯端末において特に重要な電力の消耗やメモリの使用を減らすことが可能となる。
>また、発信と出力をいずれも同一利用者のスマートフォンとすること等により、(自分や他人の過去の)読み上げを楽しみながら、さらに追加や変更の候補を中継するコンピュータに投稿するスパイラルを楽しむことも容易となる。
(0022)
特許文献6は、請求項18として、
前記中継するコンピュータが複数の利用者の端末に配信するように構成した
請求項17に記載のコンピュータプログラム。
:この場合、配信内容に目印をつけるなどすることにより、発信した利用者以外の利用者にのみ配信するように設定することもできる。
:また、配信することを契約した利用者にのみ、あるいは、配信する利用者の数の制限内の利用者にのみ配信するように構成することもできる。
:契約した制限内の数の利用者にのみ配信する場合であって、中継するコンピュータが複数の端末からの要求に応じて配信する場合、IDとパスワードによる認証の他、端末のMACアドレスやその他の端末・利用者属性の組み合わせを(傍受した人が再現できない)ハッシュ値に変換して送信するように端末用アプリケーションソフトをプログラムすることができ、配信要求とともに端末から中継コンピュータに送信されるハッシュ値の種類によって、何台の端末が配信を要求しているかを(たとえ、利用者間で共通のID/パスワードを採用している場合でも)、中継コンピュータが計算することができ、配信数を抑制する等することができる。
>これにより、答えやテキストを、それを必要とする可能性の大きい複数の利用者にタイミングよく配信することが可能となる。
(0023)
特許文献6は、請求項19として、
前記中継するコンピュータが、
該中継するコンピュータに新しく送信されたコンテンツからそれ以前に配信されたコンテンツへと
さかのぼるように、
配信を要求した端末または利用者に対して、
内容を送信する
請求項17又は18に記載のコンピュータプログラム。
:ここでコンテンツとは、ひとかたまりの内容をいい、例えば、論理式に応じた複数の解が存在するときはこうした複数の解をまとめて一つのコンテンツとすることができ、一つのニュース記事を構成する複数の文(もともとその順序にも意味がある)はまとめて一つのコンテンツとなる。
>これにより、新しい(多くの場合にその利用者にとってより重要な)コンテンツにより早く触れることが可能となる。
(0024)
特許文献6は、請求項20として、
同一の利用者IDまたは利用者グループが所属しているグループチャンネルについて
新しいコンテンツが関係する利用者から中継するコンピュータに送信された場合に
前記さかのぼる制御をリセットして当該新しいコンテンツを先頭として再度さかのぼるように制御する
請求項19に記載のコンピュータプログラム。
>これにより、新しいニュースなどにより敏感に反応して情報共有を行うことができる。
(0025)
特許文献6は、請求項21として、
質問文を含む論理式も出力することを特徴とする
請求項1から20のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、読み上げる順序における各順番の意味や位置づけを簡潔に表示することが可能になる。
>また、中継コンピュータ等においてクイズ形式のコンテンツを生成したり、各端末でクイズ形式のコンテンツを実施することが容易になる。
>答えとなる文字列と論理式との組み合わせは、「テーマが何か」とその「答え(解)」を、共通部分と差異部分(複数解のときは複数)として、メリハリのある、しかも少ない通信量/表示量/発話量で最終利用者に伝えることが可能となる。関連したメール配信/連絡等も同じ契機で実施する場合にはパケット量の節約等にもつながる。
(0026)
特許文献6は、請求項22として、
出力する答えを導くために用いたテキストまたはその一部も出力することを特徴とする
請求項1から21のいずれか一項に記載のコンピュータプログラムを提供する。
>これにより、答えだけでなく、根拠も憶えたり確認したりすることが可能となる。
>また、論理的思考力の醸成につながる。
(0027)
特許文献6は、請求項23として、
出力する答えを指定する変数(または可変領域)が一種類(例えば、「$Xは$Yが好き」ではなく「$Xは花子が好き」のように主語のみのとき、等)の場合に、
項目名を省略して出力することを特徴とする
請求項1から22のいずれか一項に記載のコンピュータプログラム。
>これにより、区別する必要もなく本質的でもない変数名などを伝えてしまうコスト(時間、通信、電気、メモリなど)を省略することができる。
(0028)
特許文献6は、請求項24として、
出力する答えを指定する変数(または可変領域)が英文アルファベット1文字以外(例えば、「${主語}は${目的語}が好き」等)の場合に、
項目名を省略せずに出力することを特徴とする
請求項1から23のいずれか一項に記載のコンピュータプログラム。
>これにより、複数のフィールドからなる答えのフィールドの位置づけを間違う可能性を減らすことができる。
(0029)
特許文献6は、請求項25として、
前記答えとなる文字列もしくはアクセス可能なテキスト自体と、
質問文を含む論理式とから、
前記発信するコンピュータ、前記中継するコンピュータ、又は、前記中継するコンピュータから配信されたコンピュータが、
クイズ形式のコンテンツを生成し、
いずれかのコンピュータで実施することを特徴とする
請求項21に記載のコンピュータプログラムを提供する。
:ここで、もっとも単純なクイズ生成方法は、質問文を自然言語に機械的におきなおし(自然言語を機械生成し)、「答えとなる文字列」をそのクイズの答えとすることである。
:出力する答えを導くために用いたテキストまたはその一部を参照できるときは、それを答えの参考情報として加えることができ、参照できないときは、アクセス可能なテキスト(一つ又は組み合わせ)自体を参考情報として加えることもできる。
>これにより、身近な情報(山田さんの家のポチが子犬を2匹生んだ、等)を蓄積したテキストと身近な質問文を含む論理式(「$Xが$Yを生んだ」、等)とから、身近なクイズ問題を簡易に自動生成することができ、例えば、中継するコンピュータの利用者IDを共有する老人ホームの入居者や特定の学級の生徒が、それらの「内輪ネタ」等を継続的にクイズコンテンツ(例えば、{クイズ問題例1:□が子犬を2匹生んだ,答え:山田さんの家のポチ}、等)にして楽しむことが可能になる。この場合、中継するコンピュータにWEBサーバー機能をもたせ、利用者IDを共有する範囲の端末に対して、生成されたクイズコンテンツをレンダリングするようにしてもよい。
:なお、スクリーンセーバー形式で必要な知識を覚えたり情報を伝達したりするアプリケーションソフトに対して穴埋め形式のコンテンツを提供する場合も同様である。
(0030)
特許文献6は、請求項26として、
前記中継するコンピュータが、
配信する前に、
コンテンツに所定の広告を挿入する
請求項21に記載のコンピュータプログラムを提供する。
:テキストに対しては広告テキストだけでなく広告画像や広告音声へのリンクを挿入することができ、音声や動画についてはそれらを挿入したり合成することができる。
>これにより、広告モデルのマネタイズが可能となり、一般消費者に対してより安価に答えやテキストを提供することが可能となる。
(0031)
特許文献6は、請求項27として、
前記論理式が前向き推論のための式を含み、
閾値以上になった項目を読み上げた上で閾値以下に戻す
ことを特徴とする請求項1から26のいずれか一項に記載のコンピュータプログラム。
:前向き推論のための式とは、例えばPROLOGのassert文である。変数を文字列に埋め込んだ形式のリテラルを許容する処理系でも、同様のassert文を定義し実施することができる。また別の論理式の例として、「”$A地方で風がふく”―>”$A地方の桶屋が儲かる”:0.6」等と確信度を導入して、所定の命題”北陸地方で風がふく”が真となったときに別の命題”北陸地方の桶屋が儲かる”の当初確信度0.2を0.68(=0.2+0.6−0.2×0.6)などと更新してもよい。別の例では、条件側の確信度が1.0(真)でなく所定閾値0.5のときにも、K←K×0.5として、新しい確信度=0.44(=0.2+0.3−0.2×0.3)とすることにしてもよい。また、条件となる命題やリテラルを複数にして前向き推論を行ってもよく、各条件について確信度が各所定閾値以上の場合に条件を満たすことにしてもよい。
:命題等の真をトリガーとする場合には、テキストを新たにロードしたときに元々真である命題等および直後に真であることが証明できる命題等について前向き推論の論理式を適用することができ、真の命題等に変更(追加、削除など)があったときに確信度をリセットして最初から再適用することなどが可能である。
:確信度が不要なとき(assert文とその逆の文のみのとき)は従来のPROLOG動作時と同様のメモリ構成で対応できるが、確信度を設けるときはクローズドハッシュ等専用のメモリ領域を設けることが好ましい。assertして付け加えられた内容や確信度は論式による問い合わせごと又は利用者によるセッションごとにリセットされるように構成してもよい。
:また、前記ボタン(複数ある)は、前向き推論により又はよらずに、特定の命題を真としたり偽としたり設定できるように定義づけられていることが好ましい。
>これにより、社員や生徒の、影響連鎖についての判断力を強化したり学習させたりさせることができる(単純な前向き推論論理式や複数の条件を含む前向き推論論理式による)。
>また、ニュースとその影響の仮説を自動生成したり、自動判断/自動分析をすることが容易になる。
(0032)
特許文献6は、請求項28として、
請求項1から27のいずれか一項に記載のコンピュータプログラムを含む装置を提供する。
(0033)
特許文献6は、請求項29として、
請求項1から27のいずれか一項に記載のコンピュータプログラムを用いた方法を提供する。
================================================
以上が特許文献6(特願2016−196069)の概要抜粋である。
図1は、本発明の方法によるコミュニケーションの一実施例を示す説明図である。第一のコンピュータ(1)には、認識パターン「おとうさんよるは」と対応する処理を示すデジタルテキスト「Anq(U001,夜ご飯は家で, 食べる:る/食べない:ない);」とからなるコミュニケーションルールが1つのみ登録されており、利用者U002(妻)(1a)が、「おとうさんよるは」と発声して第一のコンピュータ(1)に音声認識させることにより利用者U001(夫)(2a)に対して新しいコミュニケーションを起動しようとしたところである。
図2は、図1から、音声認識した第一のコンピュータ(1)が、コミュニケーションルールの認識パターン「おとうさんよるは」を音声認識して、利用者U001(夫)(2a)にアンケートを行うコミュニケーションパターン(この例では、Anq(...)に該当するもの)が起動されて、第二のコンピュータ(2)にメッセージサーバー(3)を介してその旨が通信され、第二のコンピュータ(2)において関連情報と選択肢(この例では2つだが、別の実施例ではもっと多くてもよい)が利用者U001(夫)(2a)に対して表示されるとともに、夫(2a)に返信を促す内容「よるごはんはいえで」が第二のコンピュータ(2)において音声合成されて夫(2a)に対して発声される様子を示す説明図である。
図3は、図2から、画面を確認しかつ合成音声「よるごはんはいえで」を聞いた利用者U001(夫)(2a)が、「る」という認識パターンに該当する発声を行って、「家で食べる」というアンケートの選択肢を第二のコンピュータ(2)の音声認識により送り主である利用者U002(妻)(1a)に回答しようとしたところを示す説明図である。このとき、妻(1a)側の第一のコンピュータ(1)の画面には問い合わせ中である旨が表示されている。
図4は、図3から、「家で食べる」という選択肢が第二のコンピュータ(2)で音声認識されて、その旨のメッセージ(デジタルテキスト)がもともとの発信先である第一のコンピュータ(1)に対して、メッセージサーバー(3)を介して伝わり、第一のコンピュータ(1)に結果が表示されかつ対応する音声合成も行われている様子を示す説明図である。
このコミュニケーションは、妻がはじめてから終了するまで、夫妻がそばにいる場合の実際の会話とあまりかわらない時間(実時間)で終了することが可能である。
遠隔のコンピュータ(1)が自分のコンピュータ(1)に別のコンピュータ(2)がおくるべきメッセージ集合(食べる、食べない)と各対応する認識パターン集合(る、ない)とを、自分のコンピュータ(1)から動的に指定することができる。この実施例では、ルールとして登録した上で、音声認識させて起動しているが、図示しない別の実施例では、第一のコンピュータにインストールした本発明によるアプリケーションのコマンドプロンプト等から処理コマンドとなるデジタルテキスト「Anq(U001,夜ご飯は家で, 食べる:る/食べない:ない);」を利用者が都度動的にタイプ入力して起動できるように構成してもよい。
またさらに別の実施例では、第二のコンピュータが、複数の第一のコンピュータ(図示しない)からのコミュニケーションを、必要に応じてシリアライズしたりしなかったりしながらほぼ同時に処理するため、要求される返信内容(とひもづく返信先も)に対応する複数の選択肢の(利用者発声等による)選択が互いに混同しにくいような認識パターン集合を、第一のコンピュータが(認識パターンの)指定を省略した場合や指定がバッティングした場合等に、第二のコンピュータが自動生成することもできる。このような自動生成は、単純には、互いに混同しにくいことがわかっている所定の認識パターン集合(たとえば、3文字以上の動物の名前(この場合は、通信内容のその音声空間における暗号化機能も備わる))から必要に応じて割り当てたり、該当するコミュニケーションが終了して不要になった認識パターンのみを認識パターン集合にもどしたりすること(再利用できるようにすること)により実現することができる。シリアライズするか否かについては、送信側が送信時にメッセージ内のフラグや引数として明示的に指定した内容と、受信側が設定ファイル等に明示的に指定した受信シリアライズポリシーとの調整によって決定するようにしている。
1a 第一のコンピュータの利用者
2 第二のコンピュータ
1a 第二のコンピュータの利用者
3 メッセージサーバー
Claims (16)
- 人間が、音声認識させたい認識パターンと対応する別のテキストとを関連づけて記憶させる認識パターン記憶ステップと、
コンピュータが、音声認識した認識パターンと対応する該別のテキストに記載された処理を実時間で行う認識対応処理ステップと
を含む方法。 - 前記別のテキストに記載された処理が、実時間で遠隔の特定の端末へ特定のメッセージを送信する処理である、
請求項1に記載の方法。 - 前記テキストに記載された処理が、実時間で遠隔の特定の端末へ新しいメッセージを要求する処理である、
請求項1又は2に記載の方法。 - 前記テキストに記載された処理が、遠隔の特定の端末からの未受信のメッセージを受信する処理である
請求項1又は2に記載の方法。 - 前記テキストに記載された処理が、遠隔のすべての端末からの未受信のメッセージを受信する処理である
請求項1又は2に記載の方法。 - 前記テキストに記載された処理が、特定の同一メッセージを、所定の周期で、繰り返し、特定の端末(一又は複数)に送信する処理である
請求項1又は2に記載の方法。 - 前記テキストに記載された処理が、特定のメッセージを、所定の周期の配信分として他のメッセージと一緒にため込むようにしながら、該所定の周期に特定(一又は複数)の端末に送信する処理である
請求項1又は2に記載の方法。 - 第一のコンピュータが、第二のコンピュータで認識(近傍の利用者の音声、タッチ選択、入力指定、等)させるための認識パターンと対応する第一のコンピュータへの送信メッセージに対応する情報とを第二のコンピュータに送信する自分宛送信定義ステップと、
第二のコンピュータが、第一のコンピュータへの送信メッセージを、自分宛送信定義ステップで送信された認識パターンと対応する送信メッセージに制限する制限ステップと
を含む方法。 - 第二のコンピュータにおいて、どの端末へ送信されるメッセージかを表示する
請求項8に記載の方法。 - 第二のコンピュータにおいて、どのような認識パターンを認識するかを表示する
請求項8又は9に記載の方法。 - 複数の送信メッセージ種類に対応する複数の認識パターン種類を第一又は第二のコンピュータで自動生成又は自動選択する請求項1から10に記載の方法。
- 第二のコンピュータにおいて複数の別のコンピュータからのメッセージを出力する場合に、
メッセージを出力するタイミングが重ならないように時間的な間をあけて出力すること、
その間において第二のコンピュータが音声認識した内容について直前に出力したメッセージを送信してきたコンピュータにのみ送信すること、
を特徴とする、請求項1から11のいずれか一項に記載の方法。 - コンピュータが認識パターン(利用者がいうべきこと)と送る内容との対応を画面表示又は音声出力する
請求項1から12のいずれか一項に記載の方法。 - 認識パターン(いうべきこと)と対応する別のテキストの解釈が、自然言語に変数を埋め込むことを許したリテラルを用いた論理プログラムの実行を含む、
請求項1から12のいずれか一項に記載の方法。 - 請求項1から14のいずれか一項に記載の方法を実施するためのコンピュータプログラム。
- 請求項1から14のいずれか一項に記載の方法を実施するための装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016228425A JP2018085002A (ja) | 2016-11-25 | 2016-11-25 | 発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016228425A JP2018085002A (ja) | 2016-11-25 | 2016-11-25 | 発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018085002A true JP2018085002A (ja) | 2018-05-31 |
Family
ID=62237170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016228425A Pending JP2018085002A (ja) | 2016-11-25 | 2016-11-25 | 発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018085002A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301968A (ja) * | 2005-04-20 | 2006-11-02 | Sony Computer Entertainment Inc | 会話支援装置 |
-
2016
- 2016-11-25 JP JP2016228425A patent/JP2018085002A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301968A (ja) * | 2005-04-20 | 2006-11-02 | Sony Computer Entertainment Inc | 会話支援装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11823074B2 (en) | Intelligent communication manager and summarizer | |
US8935163B2 (en) | Automatic conversation system and conversation scenario editing device | |
Park et al. | Systematic review on chatbot techniques and applications | |
WO2017217507A1 (ja) | コミュニケーションを支援する人工知能システム | |
US11586689B2 (en) | Electronic apparatus and controlling method thereof | |
AU2014331209B2 (en) | Method for dialogue between a machine, such as a humanoid robot, and a human interlocutor; computer program product; and humanoid robot for implementing such a method | |
JP7242736B2 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
Fang et al. | Sounding board–university of washington’s alexa prize submission | |
Garrido et al. | Smart tourist information points by combining agents, semantics and AI techniques | |
Origlia et al. | FANTASIA: a framework for advanced natural tools and applications in social, interactive approaches | |
CN115827838A (zh) | 基于故事续写和动态知识库的对话生成方法及系统 | |
Baymurzina et al. | Dream technical report for the alexa prize 4 | |
JP6697373B2 (ja) | 文生成装置、文生成方法及びプログラム | |
JP6895037B2 (ja) | 音声認識方法、コンピュータプログラム及び装置 | |
KR102101311B1 (ko) | 동물구현체를 포함하는 가상현실 플랫폼 제공 방법 및 장치 | |
JP6905729B2 (ja) | 探索枝刈り方法、コンピュータプログラム及び装置 | |
JP2018085002A (ja) | 発言や思いに対しデジタルで実時間対応する方法、コンピュータプログラム及び装置 | |
CN114911904A (zh) | 机器人回复方法、装置、电子设备及存储介质 | |
JP6858721B2 (ja) | コンテンツに関する対話を実施可能な対話制御装置、プログラム及び方法 | |
Patel et al. | My Buddy App: Communications between Smart Devices through Voice Assist | |
JP7020659B2 (ja) | テキストをもとに出力するコンピュータプログラム、装置及び方法 | |
JP2018063509A (ja) | テキストをもとに出力するコンピュータプログラム、装置及び方法 | |
JP2020177367A (ja) | エッジ主導型協働aiのためのコンピュータシステム、そのためのプログラム及び方法 | |
Jordan | Conversation as a tool of research in practical theology | |
Vadhera et al. | Chatbot on COVID-19 for sustaining good health during the pandemic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201001 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210803 |