IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Personal AIの特許一覧

特許7573141自動プログラム生成機能におけるアイディアの独自性の流出防止方法
<>
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図1
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図2
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図3
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図4
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図5
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図6
  • 特許-自動プログラム生成機能におけるアイディアの独自性の流出防止方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-17
(45)【発行日】2024-10-25
(54)【発明の名称】自動プログラム生成機能におけるアイディアの独自性の流出防止方法
(51)【国際特許分類】
   G06F 8/30 20180101AFI20241018BHJP
   G06N 3/0475 20230101ALI20241018BHJP
【FI】
G06F8/30
G06N3/0475
【請求項の数】 5
(21)【出願番号】P 2024015310
(22)【出願日】2024-02-04
【審査請求日】2024-02-12
【早期審査対象出願】
(73)【特許権者】
【識別番号】716000938
【氏名又は名称】株式会社Personal AI
(72)【発明者】
【氏名】森 昌也
【審査官】久々宇 篤志
(56)【参考文献】
【文献】WPTurbo Docs,[online],2023年10月26日,[2024年5月9日検索]、インターネット<URL:https://docs.wpturbo.dev/docs/save-a-snippet-public-vs-private/>
【文献】「世界のウェブアーカイブ|国立国会図書館インターネット資料収集保存事業」、 [online],2023年12月02日,[2024年5月9日検索]、インターネット<URL:https://web.archive.org/web/20231202130203/https://wpturbo.dev/pro/>
【文献】自治体DXフォーラム2023 FIXER 生成型AIの課題を解決する「GaiXer」 自治体業務を変革するその実力とは,日経BPガバメントテクノロジー 第48号,日本,2023年09月28日
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/30
G06N 3/0475
(57)【特許請求の範囲】
【請求項1】
自然言語文を元とするコードと自然言語文の組み合わせ、あるいは自然言語文を元とするコンパイル済みプログラムと自然言語文の組み合わせについて他ユーザと共通に使用可能な前記それぞれの組み合わせのいずれかまたは双方を持ち、別にユーザ自身専用の前記それぞれの組み合わせのいずれかまたは双方を持ち、自身以外のプログラム自動生成機能への問い合わせによって存在を確認した他ユーザの前記のコード、コンパイル済みプログラムを、自身のプログラム自動生成機能に取り込むことが可能な生成AIあるいはプログラム自動生成機能を持つコンピュータシステム
【請求項2】
請求項1にあって、ユーザ自身専用の前述のコードあるいはコンパイル済みプログラムを他者からの要求に対して使用権を与えることが可能なプログラム自動生成機能を持つ生成AIあるいはプログラム自動生成機能を持つコンピュータシステム
【請求項3】
請求項1にあってユーザ自身専用の前述のコードあるいはコンパイル済みプログラムに関連付けて、入出力フォーマット、または入出力フォーマットとコード内容説明の組み合わせをもつ生成AIあるいはプログラム自動生成機能を持つコンピュータシステム
【請求項4】
請求項1にあってユーザ自身専用の前述のコードあるいはコンパイル済みプログラムに関連したデータに対してデータ構造、またはデータ構造とデータ内容説明の組み合わせをもつ生成AIあるいはプログラム自動生成機能を持つコンピュータシステム
【請求項5】
請求項1にあって自身以外のプログラム自動生成機能に指定した条件に関連したデータの有無を自身のプログラム自動生成機能から自身以外のプログラム自動生成機能へ問い合わせる機能を持った生成AIあるいはプログラム自動生成機能を持つコンピュータシステム
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウエアを自動的に作成する自動プログラム生成機能、所謂自動プログラミングに関し、複数の自動プログラミングを実行する環境つまり自動プログラム生成機能に適用して有効な技術に関する
【背景技術】
【0002】
生成AIが一般的に活用されるようになり、人のプログラミングを必要としない自動プログラム生成機能、所謂自動プログラミングが主流になると、自然言語処理を使用した人工知能によってプログラムが生成され、人によるプログラミングが減少していくと考えられている。自動プログラミングは、現状、人によって作成された自然言語とコードを関連付けたものを利用してプログラムの生成を行っており、自動プログラム生成機能に関連付けたデータベース内に、または自動プログラム生成機能を持ったプログラム内に自然言語に対するプログラミングコードを関連付けている。新たな言葉や文章に対して相当するコードを追加していく。 このコードの挿入先は、自動プログラム生成機能を持ったプログラム内または共通に使用するデータベース内となっている。そのことにより使用者毎に入力した自然言語に関わらず、結果として共通に学習成長し、利用する全てのユーザがその学習したコードと自然言語との関係を利用することができるようになる。このデータベース内に自然言語対応コードを持つ構造は、複数のデータベースにあっても逐次同期を行い、同一のデータベースを利用する形をとっている。また自動プログラム生成機能内に自然言語対応コードを持つ構造は、全ての自動プログラム生成機能に学習した結果を追加し、再コンパイルして逐次同期を行うことで、同一の自動プログラム生成機を維持できる。 それによって全てのユーザが学習した結果を同様に享受できる。
【0003】
一方、この同一環境である自動プログラム生成機能のデメリットとして、同じ自然言語文のシナリオを使用すると、同一のプログラムが生成可能となってしまうことにある。独自性のあるアイディアを実現し、付加価値を持ったアプリケーションソフトの開発を行っても、同様な自然言語文章を与えることによって同様の類似アプリケーションソフトが開発可能となり。競争力喪失という問題を生み出すことになる。さらに生成AIの様に自動プログラム生成機能が学習機能を持つことによって1つの自動プログラム生成機能に与えられた自然言語文から作成されたプログラムが、全ての自動プログラム生成機能に共有することで、アイディアの独自性の喪失や流出が起こり得る。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平09-073306 プログラム作成の為の入力方法をより自然言語(数種類提唱する)に近づけ、プログラム入力に関連の深いデータベースの入力方法
【文献】特開平06-214776 自然言語で書かれたソフトウェア仕様を入力として、対象とするプログラムソースを自動的に生成するもの
【文献】特許7064680 特開平06-214776に自然言語処理の方法を付加し、対応するプログラムコードをデータベースに格納したもの
【文献】特許6958884 特開平06-21477と内容がおなじじあって会話の受付を付加したもの
【発明の概要】
【発明が解決しようとする課題】
【0005】
生成AIをはじめ自動プログラム生成機能をもつシステムやプログラムにおいて、同じ自動プログラム生成機能を使用する場合、異なる使用環境において任意の同様の自然言語文を入力することによって、同様のプログラムコードが生成されてしまう。入力する自然言語文における独自のアイディアが、生成される同様のプログラムコードを介して流出することを意味している。これを避けるために、自動プログラム生成機能を持つシステムやプログラム生成機能自体が共通するプログラムコードの生成および他者に模倣されない独自のプログラムコードの双方が自動生成できるようにする。
【0006】
ここで自然言語と対になるプログラムコードとは、自動プログラム生成機能自体や、関連付けられたデータベースやファイルシステムなどに格納された単語や文節、文、文法などに対となるプログラムのソースコード、コンパイル済みのプログラムを言い、入力文に対して自然言語処理によって、単語、文節、文、文法分割されたものに対となるプログラムコードを自動プログラム生成機能に関連付けられたデータベースやファイルシステムまたは自動プログラム生成機能内部に格納されたものから抽出することをいう。
【課題を解決するための手段】
【0007】
自動プログラム生成機能共通に自動プログラム生成機能に関連付けられたデータベースやファイルシステムに格納された単語や文節、文、文法などに対となるプログラムコード、コンパイル済みのプログラムまたは自動プログラム生成機能プログラム自体に取り込んだ単語や文節、文、文法などに対となるプログラムコード、コンパイル済みのプログラムをもつ。これとは別に、ユーザやユーザグループ毎に別の自動プログラム生成機能に関連付けられたデータベースやファイルシステムなどに格納された単語や文節、文、文法などに対となるプログラムコード、コンパイル済みのプログラムまたは自動プログラム生成機能プログラム自体に取り込んだ単語や文節、文、文法などに対となるプログラムコード、コンパイル済みのプログラムをもつことで独自性の高い、または秘匿性の高い単語や文節、文、文法などに対となるプログラムコード、コンパイル済みのプログラムを他者から使用を不可にする
【図面の簡単な説明】
【0008】
図1】プログラム自動成績機能からデータベースまたはファイルシステムまたは、プログラム自動成績機能内にもつ共通に使用する自然言語とプログラムコードの対と共通部分とは別にデータベースまたはファイルシステムまたは、プログラム自動成績機能内にもつユーザ毎にアクセスコントロールを行う自然言語とプログラムコードの対
図2】生成AIをはじめ、プログラム自動生成機能、所謂自動プログラミングの自然言語処理によって与えられた内容を分割し、内容に応じたコードをデータベースから取り出すという一般的な人工知能フロー例と生成AI化した場合のコード取り出し例
図3】1つのプログラム自動生成機能から不特定多数または任意の複数のプログラム自動生成機能に対して、条件を送信して条件をに合致したコードまたはデータを持っているかどうかを尋ね、プログラム自動生成機能がその条件に合致したコードまたはデータを持っている場合、応答する例図
図4】プログラム自動生成機能、所謂自動プログラミング自身が自然言語処理によって内容分割された内容をデータベースに持っていない場合に、他のプログラム自動生成機能、所謂自動プログラミングに確認し、持っていた場合は、内容を送ってもらうフロー例図
図5】プログラム自動生成機能が、所持するコードまたはデータに対して、コードやデータに紐づいたサブデータを持っている例図
図6図1の一つのプログラム自動生成機能が与えられた条件に対して応答後のコードのやり取り例
図7図1の一つのプログラム自動生成機能が与えられた条件に対して応答後のデータのやり取り例
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【0010】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明はコンピュータで使用可能なプログラムとしても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムは、ハードディスク、DVD-ROM、光記憶装置または磁気記憶装置、半導体記憶装置等の任意のコンピュータ可読媒体に記録できる。
【0011】
また以下の実施の形態では、一般的なコンピュータシステム等を用いることができる。実施の形態で用いることができるコンピュータシステムやネットワークシステム、人工知能向けシステムは、中央演算処理装置(CPU)、主記憶装置(メインメモリ:RAM)、不揮発性記憶装置(ROM)、コプロセッサ、画像アクセラレータ(GPU)、キャッシュメモリ、入出力制御装置(I/O)、人工知能機能用半導体、フラッシュメモリ等、一般的にコンピュータシステムやネットワークシステム、人工知能向けシステムに備えられるハードウェア資源を備える。また、ハードディスク装置やフラッシュメモリ等の外部記憶装置、インターネット等のネットワークに接続可能な通信手段を備えることができる。コンピュータシステムには、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ、サーバー等各種のコンピュータやクラウド化されたネットワーク接続されたコンピュータやタブレットコンピュータ、スマートフォン等各種携帯情報端末、人工知能を構成するシステムが含まれる。
【0012】
本発明は、自動プログラム生成機能、所謂自動プログラミングにおいて、自動プログラム生成機能によって生成されたプログラムコードを自動プログラム生成機能に追加することで、学習成長する生成AIや自動プログラム生成機能が、成長した結果、同様な自然言語文の入力によって、同様なプログラミングコードを出力できるようになることで、独自性の高い入力内容であっても同様なプログラムコードが出力されてしまうことを防止する事、つまり秘匿性阻害の防止、独自性の流出防止を目的とするものである。
【0013】
本発明の構成は、図1のように自動プログラム生成機能に関連付けられたユーザ共通に使用可能な自然言語と対となるプログラムコードの組み合わせをデータベースまたはファイルシステムまたは自動プログラム生成機能の機能内のもつ構造と、これとは別にユーザ毎にアクセスをコントロールすることで、アクセス許可するユーザのみ使用可能な自然言語と対となるプログラムコードの組み合わせの部分をデータベースまたはファイルシステムまたは自動プログラム生成機能の機能内の構造によって構成される。ユーザ共通部分の自然言語は、単語、文節、文章、文法のそれぞれの単独または組み合わせを指し、それに対となるプログラムコードを組み合わせからなるものを格納することを基本とする。許可されたユーザのみ使用可能な部分の自然言語は、共通部分とは別にデータベースまたはファイルシステムまたは自動プログラム生成機能の機能内の部分を所持するユーザまたはユーザグループから入力された任意の自然言語文章と、その文章から構成されたプログラムコードの対を格納することを基本とする。ユーザから入力された任意の自然言語文章によって自動プログラミングされたプログラムコードは、その任意の意図、つまりは独自の考えが反映されたコードは、許可なくしては他者が利用できなくする。機能はより小さな機能からなる構成の組み合わせで構成されることで成り立つ。よって、小さな機能の使用を他者に許可しない場合は、より大きな機能の構成によって作成される独自の機能の構成が難しくなる。よって、すべての機能を構成する自然言語文書を全く同一で入力しない且つユーザ固有部分の自然言語とコードの組み合わせを許可しない限り同じ構成のプログラムを生成できなくする。これによりプログラムを通じての独自のアイディアの他者への流出を避けることが可能になる。
【0014】
自然言語文、文節および文法等の入力に対するコード作成時は、第一に自身のユーザ固有エリアのデータベースまたはファイルシステムまたはプログラム自動生成機能の内部に自然言語文、文節および文法等の入力と同一のものが既に存在するかどうかを確認し、存在する場合はこれに対となるコードを使用する。存在しない場合は、全ての他ユーザへ自身の使用許可確認を順に行う。ひとつ以上の他ユーザが自身に対して許可している場合は、他者のユーザ固有エリアのデータベースまたはファイルシステムまたはプログラム自動生成機能の内部に内容説明の自然言語文と入力自然言語文と同様のなものが存在するか確認し、存在する場合は、格納された内容説明とコードの組み合わせ、フォーマットを受け取り、格納された内容と自然言語文、文節および文法等の入力を確認し同一と反アダンした場合は、このコードを使用する。いずれの他者にも存在しない場合は、自身の共通の基本データベースから自然言語と対になる基本的なコードから自然言語の基本形と基本的なコードの組み合わせから取得し組み合わせ構築する。自然言語の基本形とは、条件Aであれば、処理Bを行い、それ以外は処理Cを実施するという入力自然言語を指し、基本的なコードとは、if 条件A 処理B else 処理Cといったコードを割り当てる基本形から割り当てていく一般的な自動プログラミングを指す。
【0015】
通常生成AIをはじめとする自動プログラム生成機能において図2のように自然言語で構成された文章を自然言語処理すると、入力された自然言語文章を内容別に分割し、さらに文や文節に詳細分割したうえで単語や文法を含む関係性からその単語や文法に応じたコードをデータベースやファイルシステムまたは自動プログラム生成機能プログラム自体に格納した中から自然言語と対をなすコードを取り出し合成していくことでコードを作成していく。また同時に作成したコードを分解した文や詳細分割した文章、文、文節に対として共通に使用するデータベースやファイルシステムまたは自動プログラム生成機能プログラム自体に格納することで、自動プログラム生成機能が学習していく。結果同様の入力文章を与えた場合に、他者の作成した文章、文、文節に対となるコードを取り出し可能になってしまうため、結果的に他者が自身が構築したコードを利用可能になってしまう。このことを避けるためにこれを入力者独自の領域であるデータベースやファイルシステムまたは自動プログラム生成機能プログラム自体部分に格納し、使用許可を与えたユーザのみアクセス可能にすることで、特定ユーザのみ使用可能となり、独自のアイディアの許可者以外の他者への流出を避けることが可能にするものである。通常プログラムの作成は、小さな単位のプログラムの組み合わせによって大きなプログラムが構築されるため、細かな機能内容と対となるコードが、共通部分に構築されない限り、機能概要の入力によって全体として機能をなすコードが模倣されるリスクはなくなる。
【0016】
図3は、生成AIをはじめとする、複数のプログラム自動生成機能、所謂自動プログラミング間においてデータや自己学習し自己成長するためのコードのやり取り例である。実現したい自然言語文または文節に対するコードをプログラム自動生成機能が関連するデータベースまたはファイルシステムまたはプログラム自動生成機能自体に所持していない場合、他のプログラム自動生成機能の共通以外の部分つまり、ユーザ固有のデータベースまたはファイルシステムまたはプログラム自動生成機能自体に所持自然言語文または文節に対応したコードを所持しているかどうかを確認する。所持を確認されたプログラム自動生成機能は、質問された方のプログラム自動生成機能をもつユーザに既にアクセス権を与えている場合において、質問された内容である自然言語と自身が所持するコードと対をなす説明内容が一致すると判断した場合は、質問してきたプログラム自動生成機能に対して所持する旨を応答し、コード、フォーマット、内容説明を送信する。質問した方は、その説明内容を自身の質問と一致しているかを判断し、一致した場合は、自身のデータベースまたはファイルシステムまたはプログラム自動生成機能自体に取り込むことで、成長する。コードを取り込む際または使用する際にそのコードに悪影響を及ぼす可能性を確認する。
【0017】
図4は、図3においてプログラム自動生成機能Aが実現したい自然言語文を受け取ってからプログラム自動生成機能B、C、Dに確認し、該当するプログラムコードを受け取るまでのフロー例である。
【0018】
図5は、自動プログラム生成機能のデータベースまたはファイルシステムまたは自動プログラム生成機能の機能内のコードを格納する部分のインターフェイスを示す例である。入力である自然言語の文、文節、単語、文法、またはそれぞれの組み合わせに対するコードの他に、コードの入力、出力または組み合わせたフォーマット、内容の説明となる格納時の文、文節、単語、文法、またはそれぞれの組み合わせを格納する例である。。例えば他者から自然言語文に対して、処理確認された場合、所持確認に対して、応答可能なユーザである場合は、入力、出力または組み合わせたフォーマットと内容説明を返答し、合致すると判断した場合は、コードを応答することで、許可するユーザに対して、コードを返信できる。またコード以外に取得したデータを加工したものを所持している場合の例として、任意のデータの所持の質問に対して、内容説明とデータ構造およびデータを返信することで、許可されたユーザに対して任意のデータを返信することによって、許可されたユーザが任意のデータを使用することができる例である。
【0019】
図6は、0017の説明におけるコードのやり取りを2つの自動プログラム生成機能間でやり取りする例であり、同様に図7は0017の説明におけるデータのやり取りに応用した2つの自動プログラム生成機能間でやり取りする例である。
【0020】
他ユーザのコードまたはコンパイル済みプログラムを受け取る場合、他ユーザのコードまたはコンパイル済みプログラムにエラーやウィルスが混入していることによって、取り込んだ後に発生するシステムエラーを防止するため、取り込む時点でエラー等がないかを取り込むコードまたはコンパイル済みプログラムを確認することで、取り込んだ後のエラーが取り込んだ後の全体のプログラムに影響を及ばさないようにする事が可能になる
【産業上の利用可能性】
【0021】
個々人や会社ごとに他者への流出を避けた独自のアプリケーションソフトウエアを構築する生成AIへの応用が可能
【0022】
また独自に生成したプログラムコードを課金販売するサイトなどに使用可能であり、登録済みユーザのみ作成済み機能のコードを提供する生成AIに応用することで独自のノウハウを特定のユーザだけに使用許可を与えることが可能になる。
【要約】
【課題】生成AIや人のコーディング不要の自動プログラミングが主流になると、同様な自然言語の入力によってプログラム自動生成機能で作成されたコードは、同等なコードとなり、他者によって模倣されやすくなる。独自性を担保する自動プログラミングを実現する
【解決手段】自動プログラム生成機能に関連付けられたデータベースなどに格納された単語や文節、文、文法などに対となるコード等を共通部分と、使用者固有の部分に分けることで他者からの使用をコントロールする
【選択図】図1
図1
図2
図3
図4
図5
図6
図7