[go: up one dir, main page]

JP7762371B1 - データ処理方法、データ処理システム、及びデータ処理用プログラム - Google Patents

データ処理方法、データ処理システム、及びデータ処理用プログラム

Info

Publication number
JP7762371B1
JP7762371B1 JP2025026240A JP2025026240A JP7762371B1 JP 7762371 B1 JP7762371 B1 JP 7762371B1 JP 2025026240 A JP2025026240 A JP 2025026240A JP 2025026240 A JP2025026240 A JP 2025026240A JP 7762371 B1 JP7762371 B1 JP 7762371B1
Authority
JP
Japan
Prior art keywords
data
processing
information
input
language model
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.)
Active
Application number
JP2025026240A
Other languages
English (en)
Inventor
啓史 奥原
Original Assignee
株式会社エーエスピーコム
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 株式会社エーエスピーコム filed Critical 株式会社エーエスピーコム
Priority to JP2025026240A priority Critical patent/JP7762371B1/ja
Application granted granted Critical
Publication of JP7762371B1 publication Critical patent/JP7762371B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

【課題】データ処理の利便性を向上する。
【解決手段】複数のデータ項目に値が入力された対象データの処理方法であって、前記複数のデータ項目を特定する情報及び該複数のデータ項目の値の属性情報をベクトル化し、データ項目間の関連性の情報、ベクトル化された複数のデータ項目を特定する情報、及びベクトル化された複数のデータ項目の値の属性情報を含む設計情報データを準備し、データ処理の種類を特定する情報と処理内容を表すテキストデータを大規模言語モデルに入力して処理のキーとなる単語を出力させ、出力された単語をベクトル化モデルに入力してキーベクトルを生成し、設計情報データを参照してキーベクトルから対象データのデータ項目及び処理内容を特定し、特定されたデータ項目に特定された内容の処理を実行する又は該処理を実行するための情報を出力するデータ処理方法。
【選択図】図1

Description

本発明は、複数の所定のデータ項目のそれぞれに値が入力されたデータに対する処理を実行する技術に関する。
企業や官公庁など様々な場所において、顧客情報等を収録したデータベースが用いられている。データベースとしては、収録される情報のデータ項目を1乃至複数の列に設定し、行方向にレコードを入力したテーブルを複数、相互に関連付けることにより構成されるリレーショナルデータベースが広く用いられている。リレーショナルデータベースでは、例えば、使用者がSQL(Structured Query Language)文により、検索対象のテーブル及び列を指定し、検索条件を設定して検索を実行することによって所望のレコードの情報を得ることができる(例えば特許文献1)。
特開平5-120100号公報 特開2022-91986号公報
"Embedding(ベクトル化)についてイメージを掴む!",[online], クラスメソッド株式会社,2025年2月20日検索,インターネット<URL: https://zenn.dev/peishim/articles/c696ff85a539bd> "IBM Granite",[online],日本アイ・ビー・エム株式会社,2025年2月20日検索,インターネット<URL:https://www.ibm.com/jp-ja/topics/large-language-models>
上記のデータベース検索で所望のレコードを抽出するためには、使用者が、テーブルの名称及び各列に設定されたデータ項目の名称、各データ項目の値の属性(数値、テキスト等)に関する検索条件をSQL文に正確に記載する必要がある。そのため、データベースの構造を知らなければデータベースから所望のレコードを抽出することができないという問題があった。ここでは、データベース検索を例に説明したが、データベースのレコードの入力、更新、削除等の処理においても、処理対象のテーブルの名称、カラムの名称などを正確に指定する必要があり、同様の問題があった。また、いわゆるデータベースの形式を採らないデータ群に対する処理においても同様の問題があった。
本発明が解決しようとする課題は、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行する際の利便性を向上することである。
上記課題を解決するために成された本発明の一態様は、複数の所定のデータ項目のそれぞれに値が入力された対象データに対する処理を実行するために用いられる方法であって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルを準備し、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルを準備し、
前記ベクトル化モデルを用いて、前記複数のデータ項目を特定する情報、及び前記複数のデータ項目のそれぞれの値の属性情報をベクトル化し、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報を準備し、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、
前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させ、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成し、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定し、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する
ことを特徴とする。
大規模言語モデル(LLM: Large Language Models)は、例えば、様々なテキストデータを単語や句読点などの最小単位の要素に分割するトークン化、及びトークン化されたデータを数値化するベクトル化を経て生成されるベクトルを機械学習させることによってパラメータが調整されたニューラルネットワークで構築される、自然言語処理(NLP:Natural Language Processing)に特化した生成AIである。こうした大規模言語モデルに対して、出力させるべき単語の属性を予め学習させておくことにより、自然言語として入力されるテキストデータから、使用目的(本発明では、例えばデータベースの検索)に応じた単語を出力させることができる。また、ベクトル化モデル(エンベディング(Embedding)モデルともいう。)は、例えば、多数の単語とベクトルの組を用いた深層学習によって構築される学習済みモデルである。こうしたベクトル化モデルを用いることにより、入力される単語の意味を反映した成分を有するベクトルを出力させることができる。
本発明に係るデータ処理方法は、典型的には、データベースを構成するデータ(レコード)に対する処理を行うために用いられるが、それ以外のデータを処理するためにも用いられ得る。本発明に係るデータ処理方法では、大規模言語モデルとベクトル化モデルを予め準備しておく。また、データ項目を特定する情報、及びデータ項目毎に入力されるレコードの値の属性情報をベクトル化し、データ項目の関連性の情報と併せて設計情報データを作成しておく。ここでいう値の属性情報とは、例えば、数値、フリーテキスト、選択肢(プルダウン形式などで選択されるもの)である。なお、対象データの値にはNullも含まれ得る。また、データ項目の関連性の情報とは、例えば複数のデータ項目が1つのテーブルを構成するものである場合には、それらに共通するテーブルを特定する情報、あるデータ項目に対して値が入力されたときにその値に基づいて別のデータ項目の値を更新するといった情報である。
使用者は、データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力する。データに対する処理の種類は、例えば、データの検索、データ項目の値の入力、更新、及び削除である。データに対する処理の種類の情報は、使用者が直接的に入力するものに限定されず、間接的に入力するもの(例えば、特定の画面を通じて入力されたことに基づいて処理の種類を特定する、特定のメールアドレスにテキストデータが送信されたことに基づいて処理の種類を特定する)などが含まれ得る。入力されたテキストデータは大規模言語モデルに入力され、該大規模言語モデルからデータ処理のキーとなる単語を出力させる。データ処理のキーとなる単語としては、例えば、業種、住所、従業員数などのデータ項目に関連する単語や、1年以内、1ヶ月以内、京都府などの検索条件に関連する単語が挙げられる。また、ベクトル化モデルを用いて、大規模言語モデルから出力された単語をベクトル化することによりキーベクトルを生成する。そして、設計情報データを参照することにより、キーベクトルから処理対象のデータ項目及び処理内容を特定する。このように、単語や文章の意味をベクトル化し、その意味が類似するものを特定する手法はセマンティック検索やベクトル検索と呼ばれる。こうした検索を行うことにより、大規模言語モデルから出力される単語と、データ項目を特定する情報、及び各データ項目の値の属性情報が完全に一致していない場合でも、両者が有する意味の類似度(ベクトル成分の近似度)に基づいてデータ処理の対象及びデータ処理の内容を特定することができる。例えば、処理キーベクトルに最も近い(成分の差異が最も小さい、ベクトル間の距離が短い、ベクトル間の成す角が小さい、など)ベクトルを有することに基づいてデータ処理の対象及び内容を特定する。
データ処理の対象であるデータ項目と、当該データ項目に対する処理の内容を決定すると、特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する。
本発明の別の一態様は、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行するために用いられるシステムであって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化モデルによってベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化モデルによってベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する処理実行部と
を備えることを特徴とする。
本発明のさらに別の一態様は、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行するために用いられるプログラムであって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化モデルによってベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化モデルによってベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
を有するシステムにおいて、コンピュータを、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する処理実行部
として機能させることを特徴とする。
本発明に係るデータ処理方法、データ処理システム、又はデータ処理用プログラムを用いることにより、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行する際の利便性を向上することができる。
本発明に係るデータ処理システムの一実施形態の要部構成図。 本実施形態におけるデータ処理に係る設計情報データの構成を説明する図。 本実施形態におけるナレッジ処理に係る設計情報データの構成を説明する図。 本実施形態におけるカラム処理グループ(情報グループ)に関する設計情報と結合情報に関する設計情報の例。 本実施形態における基本情報に関する設計情報と項目情報に関する設計情報の例。 本実施形態における選択肢情報に関する設計情報の例。 本実施形態におけるサンプル値情報に関する設計情報の例。 本実施形態におけるトリガー情報に関する設計情報の例。 本実施形態における、トリガーによる更新明細情報に関する設計情報の例。 本実施形態におけるナレッジ情報に関する設計情報とナレッジ情報関連文書に関する設計情報の例。 本実施形態におけるデータベースに対する処理の例。 本実施形態における画面等に入力されるデータに対する処理の例。 本実施形態におけるナレッジ処理の例。 本実施形態のデータ処理装置を既存の業務システムに組み込んでデータ処理を実行する流れを説明するイメージフロー。 本実施形態における要求情報(構造体)の例。 本実施形態における分解結果情報(構造体)の例。 本実施形態における返却情報(構造体)の例。 本実施形態における顧客訪問レポートの入力フォームの画面例。
本発明に係るデータ処理方法、データ処理システム、及びデータ処理用プログラムの実施形態について、以下、図面を参照して説明する。本実施形態では、企業に設けられた業務システム(企業内データベース)に収録された情報を処理する例について説明する。
図1に、本実施形態のデータ処理システム1の要部構成を示す。データ処理システム1は、企業等がプライベートネットワーク内に有する業務システム10とデータ処理装置20を備えている。
業務システム10には、営業支援システム11、販売管理システム12、給与計算システム13、人事管理システム14などが含まれている。また、営業支援システム11は顧客管理データベース(DB)11D、販売管理システム12は財務管理データベース(DB)12D、給与計算システム13は給与管理データベース(DB)13D、人事管理システム14は人事管理データベース(DB)14Dをそれぞれ有している。ここでは、各システムが1つのデータベースを有する例を説明したが、1つのシステムが複数のデータベースを有してもよい。
顧客管理データベース11D、財務管理データベース12D、給与管理データベース13D、人事管理データベース14Dはいずれも、列方向にデータ項目が並び、行方向にレコードが並んだテーブルを複数、関連づけたリレーショナルデータベースである。
データ処理装置20は、記憶部21を備えている。記憶部21には、設計情報データ記憶部211、チューニングデータ記憶部212、大規模言語モデル(LLM)記憶部213、ベクトル化モデル記憶部214、及び入力フォーム記憶部215が設けられている。
設計情報データ記憶部211は、本実施形態における特徴的な要素の1つであり、データ処理装置20による処理の対象である各種のデータベースの構造に関する情報が設計情報データとして保存されている。
設計情報データは、大別して、データ処理に係る情報(データベースに対する処理とそれ以外の自然言語処理を含む)と、ナレッジ情報(蓄積されたデータを元に実行するデータ処理)で構成されている。
図2に、データ処理に係る設計情報データの構成を示す。データ処理に係る設計情報は、(1)実行する処理の内容を特定するための処理グループ、(2)データベース内のテーブル間の結合関係や複数の入力画面の間の結合関係を表す結合情報、(3)データベースのテーブル、画面に関する基本情報、(4)テーブル内のカラム(列)や画面内に設けられる項目に関する項目情報、(5)データベースのカラムや画面内の項目に提示される選択肢に関する選択肢情報、(6)データベースのカラムや画面内の項目に入力される値に関する値サンプル情報、及び(11)(12)トリガー情報を含む。
図3に、ナレッジ処理に係る設計情報データの構成を示す。ナレッジ処理に係る設計情報は、(7)日報などの文書を蓄積したナレッジ情報と、(8)ナレッジ情報に基づいて指示やアドバイスなどの新たな情報を生成するためのナレッジ情報関連文書(テンプレート等)が含まれる。
図4は、(1)処理グループ(情報グループ)に関する設計情報と(2)結合情報に関する設計情報の例である。(1)処理グループ(情報グループ)は、直接データベースのテーブルや画面の情報を取り扱うものではなく、情報の集合体としてのラベルを指す。処理グループ(情報グループ)に関する設計情報には、システム識別、機能グループ、グループコード、対象識別、名称、意味、ベクトル値、及びアクセス権に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。(2)結合情報は、処理グループが、データベースにおいてどのテーブルの組み合わせで処理を実行するか、また画面の場合、どの画面又はオブジェクト単位の集合体で処理するかなど、いくつかの基本情報を1つとしてみるための結合子情報を指す。結合情報に関する設計情報には、システム識別、機能グループ、グループコード、統合順序情報、情報ID、名称、識別子、統合種別、及び統合元情報条件に関する項目が設けられており、それぞれに値(文字、数値)が設定されている。
図5は、(3)基本情報に関する設計情報と(4)項目情報に関する設計情報の例である。(3)基本情報は、データベースではテーブル、画面では画面全体のラベル、処理では処理全体のラベルを指す。基本情報に関する設計情報には、システム識別、機能グループ、対象識別、情報ID、名称、意味、ベクトル値、及びアクセス権に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。(4)項目情報は、データベースではカラム(列)、画面では項目オブジェクト、処理では処理明細のラベルを指す。項目情報に関する設計情報には、システム識別、機能グループ、対象識別、情報ID、項目ID、選択肢参照用区分、選択肢参照項目ID、名称、意味、ベクトル値、属性、桁数、省略値、項目タイプ、必須項目、自動セット対象、及びアクセス権に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。
図6は、(5)選択肢情報に関する設計情報の例である。(5)選択肢情報は、属性が選択肢(選択リストやラジオボタンのようなケース)の場合は、その選択値毎の情報を指す。選択肢情報に関する設計情報には、システム識別、機能グループ、対象識別、情報ID、項目ID、選択肢、名称、意味、ベクトル値、属性、及び桁数に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。
図7は、(6)サンプル値情報に関する設計情報の例である。(6)サンプル値情報は、項目の属性が選択肢以外の場合に、その特徴を表すサンプル値毎の情報を指す。サンプル値情報に関する設計情報には、システム識別、機能グループ、対象識別、情報ID、項目ID、属性、3種類のサンプル値(文字、数値、日付)、名称、意味、及びベクトル値に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。なお、選択肢情報とサンプル情報は、項目固有の情報のほか、システム内共通や機能グループ内共通のパブリック情報を登録して使用することも可能である。
図8は、(11)トリガー情報に関する設計情報の例である。(11)トリガー情報は、監視項目情報と、その項目に入力や変更があった場合に、他の項目を連動して更新する仕様の情報を指す。(11)トリガー情報に関する設計情報には、システム識別、機能グループ、トリガー管理番号、対象情報ID、対象項目ID、発動条件、発動指定値(文字、数値、日付)、アクション、及びアクセス権に関する項目が設けられており、それぞれに値(文字、数値、日付)が設定されている。
図9は、(12)トリガー明細情報に関する設計情報の例である。(12)トリガー明細情報は、トリガー発動後の参照元情報と設定先情報を指す。(12)トリガー明細情報に関する設計情報には、システム識別、機能グループ、トリガー管理番号、読取元/更新先を識別する区分、枝番(行)、対象情報ID、対象項目ID、読取/更新条件、プロンプト、指定値(文字、数値、日付)、及び動作に関する項目が設けられており、それぞれに値(文字、数値、日付)が設定されている。
図10は、(7)ナレッジ情報に関する設計情報と(8)ナレッジ情報関連文書に関する設計情報の例である。(7)ナレッジ情報に関する設計情報には、システム識別、機能グループ、情報固有番号、関連タイプ、記録文書、ベクトル値、キー1~3、及び名称に関する項目が設けられており、それぞれに値(文字、数値、ベクトル配列)が設定されている。(8)ナレッジ情報関連文書には、システム識別、機能グループ、情報固有番号、関連文書枝番、及び関連文章に関する項目が設けられており、それぞれに値(文字、数値)が設定されている。
チューニングデータ記憶部212には、大規模言語モデルのチューニングを行うためのデータが保存されている。大規模言語モデルのチューニングは、プロンプトチューニング、ファインチューニングなどの学習方法で行われる。これにより、業界に固有の情報(例えば、業界用語とその意味、略語)などを学習した大規模言語モデルが得られる。チューニングデータとして、例えば、製造業の場合、不良品が発生しない確率を意味する「歩留まり率」という業界用語、歩留まり率が0以上1以下の数値(又は0以上100以下の百分率)で表されること、その歩留まり率が1に近いほど良品の割合が高く、0に近いほど不良品の割合が高いことを意味すること、などの情報が用いられる。
また、記憶部21には、所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する等の機械学習によって構築された学習済みモデルである大規模言語モデルが保存された大規模言語モデル記憶部213と、所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部214が設けられている。
本実施形態で使用する大規模言語モデル(LLM: Large Language Models)は、様々なテキストデータを単語や句読点などの最小単位の要素に分割するトークン化、及びトークン化されたデータを数値化するベクトル化を経て生成されるベクトルを機械学習させることによってパラメータが調整されたニューラルネットワークで構築される、自然言語処理(NLP:Natural Language Processing)に特化した生成AIである。本実施形態では、こうした大規模言語モデルに対して、出力させるべき単語の属性を予め学習させておくことにより、自然言語などで入力されるテキストデータのトークン化、クレンジング等を行い、データの処理に関連した単語を出力させる。
本実施形態では、企業の内部のみで使用することが可能な(外部への接続がないプライベートネットワーク内に設けられた)大規模言語モデル記憶部213に保存されている大規模言語モデルを使用する。大規模な言語モデルは一企業で所有することが難しく、例えばクラウド上に設けられた大規模言語モデルを不特定多数(あるいは特定多数)で共有することが一般的である。本発明では一般に広く開放された(パブリックな)大規模言語モデルを使用することも可能ではあるが、顧客情報などの企業内の秘密事項に関連する情報を大規模言語モデルに学習させると、その情報が外部に流出する恐れがある。
そのため、本実施形態のように、閉じた環境でのみ利用可能な(プライベートな)大規模言語モデルを使用することが好ましい。本実施形態では、入力される自然言語から、データベースに収録される情報の処理(検索、データ入力、データ更新など)に関連する単語を抽出できればよく、あらゆる種類の単語を機械学習したものを用いなくてもよい。そのような大規模言語モデルとして、例えば、IBM社のGranite(非特許文献2)を好適に用いることができる。Graniteは軽量で計算負荷が小さく設計された大規模言語モデルであり、大規模な企業でなくても企業単位で所有し使用することが可能である。このように非公的な大規模言語モデルを用いる場合には、上記のチューニングを行う際に、設計情報データ記憶部211に保存されている設計情報データも用いたチューニングを行うとよい。これにより、大規模言語モデルから、テーブルやカラムなどをより正確に特定可能な処理キーを出力させることができる。
本実施形態で使用するベクトル化モデルは、多数の単語とベクトルの組を用いた深層学習によって構築される学習済みモデルであり、大規模言語モデルの一部を構成している。本実施形態では、こうしたベクトル化モデルを用いることにより、入力される単語の意味を反映した成分を有するベクトルを出力させることができる。上記の設計情報に含まれるベクトル配列(ベクトル値)は、こうしたベクトル化モデルを用いることにより生成することができる。ベクトル化モデルは、Embeddingモデル(例えば非特許文献1)とも呼ばれ、セマンティック検索(ベクトル検索ともいう)を行うために用いられる。ベクトル化モデルにはインターネット等のネットワークを通じて使用可能な好適なソフトウェアを用いてもよく、企業単位で所有するソフトウェアを用いてもよい。
記憶部21には、さらに、各種のデータを入力するための入力フォームが保存された入力フォーム記憶部215が設けられている。例えば、顧客管理データベース11Dに関連する入力フォームには、新規顧客を登録するためのフォーム、顧客への訪問の結果を報告するためのフォーム、顧客との取引の結果を入力するためのフォームなどが含まれる。これらの入力フォームでは、カラムに対応するデータ項目と、そのカラムの値を入力する表示欄が設けられている。また、特定のデータ項目について、その値が入力されたことをトリガーとして別のカラムの値を変更するなどの処理が対応付けられている(トリガー情報として保存されている。図8及び図9)。さらに、各入力フォームの特定の入力・表示欄に自然言語などのテキストデータが入力されると大規模言語モデル及び/又はベクトル化モデルによる処理が行われるようになっている(これもトリガー情報として保存されている)。
データ処理装置20は、機能ブロックとして、設計情報データ作成部31、チューニング実行部32、処理キー取得部33、キーベクトル生成部34、処理内容特定部35、処理命令生成部36、及び処理実行部37を備えている。データ処理装置20は、例えば一般的なパーソナルコンピュータやワークステーションで構成され、予めインストールされたデータ処理用プログラムをプロセッサで実行することによってこれらの機能ブロックが具現化される。また、データ処理装置20には、キーボードやマウスなどから成る入力部51と、液晶ディスプレイなどから成る表示部52が接続されている。
図11~図13に、本実施形態のデータ処理装置において行われるデータ処理の概要を示す。図11はデータベースに対する処理、図12は画面等に入力されるデータに対する処理、図13はナレッジ処理に関する。
図11に示すように、データベースに対する処理には、データ検索(SELECT)、データ更新(UPDATE)、データ作成(INSERT)、及びデータ削除(DELETE)の4種類がある。これらのデータ処理を実行する際にはいずれも自然文から成るテキストデータを入力し、大規模言語モデル(LLM)による処理(LLMによる言語処理1)及びベクトルデータベース(DB)処理(ベクトルDB処理1)を行って、それぞれ出力を得る。
図12に示すように、画面等に入力されるデータに対する処理には、項目群から要約を生成する処理、文章から項目群を生成する処理、及び文章から条件群を生成する処理の3種類がある。項目群から要約を生成する処理では、項目群と値の構造体の情報を入力し、ベクトルデータベース(DB)処理(ベクトルDB処理1)及び大規模言語モデル(LLM)による処理(LLMによる言語処理2)を行って、要約文書を得る。文章から項目群を生成する処理、及び文章から条件群を生成する処理では、自然文と設定先の項目群の構造体情報を入力し、大規模言語モデル(LLM)による処理(LLMによる言語処理1)及びベクトルデータベース(DB)処理(ベクトルDB処理1)を行って、項目群と設定値の配列を得る。
図13に示すように、ナレッジ処理には、蓄積(ベクトルDB)、要約、及び提案の3種類がある。蓄積処理では、要約元の項目群と値の構造体情報及び関連タイプ並びに関連文書を入力し、大規模言語モデル(LLM)による処理(LLMによる言語処理1)、ベクトルデータベース(DB)処理(ベクトルDB処理1)、大規模言語モデル(LLM)による処理(LLMによる言語処理2)及びベクトルデータベース(DB)処理(ベクトルDB処理2)を行ってデータを蓄積する。(蓄積処理では出力を行わない)。要約処理では、要約元の項目群と値の構造体情報を入力し、大規模言語モデルによる処理(LLMによる言語処理1)、ベクトルデータベース(DB)処理(ベクトルDB処理1)、及び大規模言語モデル(LLM)による処理(LLMによる言語処理2)を行って、出力として要約文書を得る。提案処理では、要約元の項目群及び値の構造体情報並びに返却関連タイプを入力し、大規模言語モデル(LLM)による処理(LLMによる言語処理1)、ベクトルデータベース(DB)処理(ベクトルDB処理1)、大規模言語モデル(LLM)による処理(LLMによる言語処理2)及びベクトルデータベース(DB)処理(ベクトルDB処理2)を行って、出力として関連文書を得る。
次に、本実施形態のデータ処理システムの動作(本発明に係るデータ処理方法の一実施形態)を説明する。
本実施形態のデータ処理システム1では、処理対象である業務システム10のデータベースのそれぞれについて、図2~図10を参照して説明した設計情報を用いて、図11~図13を参照して説明した処理を実行する。
本実施形態のデータ処理装置20は、既存の業務システム10に組み込むことができる。図14は、データ処理装置20を既存の業務システム10に組み込んだデータ処理システム1において上記処理を実行する流れを説明するイメージフローである。図14において破線で囲まれた部分は業務システム10における処理・動作を示し、一点鎖線で囲まれた部分はデータ処理装置20による処理・動作を示す。業務システム10とデータ処理装置20は、アプリケーション・プログラミング・インターフェース(API: Application Programming Interface)を介して情報を送受信するように構成されている。
本実施形態のデータ処理システム1を機能させる前に、予め、設計情報データ作成部31によって、図2~図10を参照して説明した設計情報を作成し、ベクトルデータベース(DB)としてデータ処理装置20の設計情報データ記憶部211に保存しておく。また、予め、チューニング実行部32によって、チューニングデータ記憶部212に保存されたチューニングデータを用いて大規模言語モデルのプロンプトチューニングやファインチューニングといった学習を実行し、学習後の大規模言語モデルが大規模言語モデル記憶部213に保存しておく。
一般に、データベースには、そのデータベースに対するデータ処理を行うためのプログラムが対応付けられており、そのプログラムを介して使用者は当該データベースに対する各種のデータ処理を実行できるようになっている。従来のデータ処理では、使用者がプログラムに対し、そのプログラムにおいて処理可能な言語で命令文を入力してデータ処理を行っている。
一方、本実施形態のデータ処理装置20を組み込んだ場合には、使用者が自然文などのテキストデータ(要求情報)を入力すると、APIを介してデータ処理装置20に送られる。データ処理装置20では、処理キー取得部33が、大規模言語モデルにそのテキストデータを要求情報(構造体)として入力し、大規模言語モデルによって分解及び出力される分解結果情報(構造体)を処理キーとして得る(LLMによる言語処理1)。
図15に示すように、要求情報(構造体)には、API基本情報、対象識別、要求アクション、要求する自然文、追加プロンプト、情報ID、及び入力情報配列が含まれ得る。これらのうち、API基本情報や対象識別は、例えば、使用者が入力した画面や使用者がテキストデータを送信した宛先のメールアドレスから特定することも可能である。また、図16に示すように、分解結果情報(構造体)には、API基本情報、対象識別、情報ID、入力情報配列、及び分解情報配列が含まれ得る。
続いて、キーベクトル生成部34は、ベクトル化モデルを用いて処理キーをベクトル化する。そして、処理内容特定部35は、そのベクトルを用いて設計情報データベース(ベクトルDB)内の仕様情報、値や選択肢のセマンティック検索を行って、使用者が入力したテキストデータによって要求されたデータ処理の内容を特定する(ベクトルDB処理1)。
ここで、処理内容がデータベースに対する処理(図11)である場合には、処理命令生成部36は、特定されたデータ処理の内容を記載した命令文(対象のデータベースに対応付けられたプログラム言語で記載された命令文)を、返却情報(構造体)として生成し、APIを介して業務システム10に送る。図17に示すように、返却情報(構造体)には、結果ステータス情報及び結果情報配列が含まれ得る。
処理内容が項目群から要約を生成する処理(図12)又はナレッジ処理(図13)である場合には、処理実行部37が、再び大規模言語モデルによる処理(要約文の作成など)を実行する(LLMによる言語処理2)。また、処理内容が要約処理又は提案処理(図13)である場合には、処理実行部37が、再びベクトル化モデルを用いたベクトルDBの検索を実行する(ベクトルDB処理2)。これらの処理のあと、処理命令生成部36は、特定されたデータ処理の内容を記載した命令文(対象のデータベースに対応付けられたプログラム言語で記載された命令文)を、返却情報(構造体)として生成し、APIを介して業務システム10に送る。
データ処理装置20では、上記の処理を経て、それぞれのデータ処理の内容に予め対応付けられた形式の情報を出力する。
データ処理装置20から出力された情報は、APIを経て業務システム10に入力される。業務システム10では、各データベースに対応付けられたプログラムがその情報を処理する。これにより、使用者が自然言語などのテキストデータにより入力した要求情報に基づくデータ処理が行われる。
従来のデータ処理システムにおいて使用者が所望のデータ処理(レコードの抽出等)を実行するためには、使用者が、テーブルの名称及び各列に設定されたデータ項目の名称、各データ項目の値の属性(数値、テキスト等)、処理内容をSQL文に正確に記載する必要があったため、データベースの構造やプログラム言語を知らなければデータベースから所望のレコードを抽出することができないという問題があった。
これに対し、本実施形態では、処理キーである文言が、データベースを構成するテーブル情報、カラム情報等に設定された名称と一致していなくても、ベクトル値の比較によって判断される意味の類似度に基づいて検索対象となるテーブル、カラムを特定し、さらに当該カラムの値に対する処理内容を特定することができる。こうした処理はセマンティック検索やベクトル検索と呼ばれる。このようにセマンティック検索を行うことで、使用者が処理対象のデータベースの構造に関する知識を持たない場合でも、所望の情報を抽出することができる。また、使用者は所望のデータ処理の内容を自然文などのテキストデータで入力すればよく、プログラム言語に関する知識も不要である。
また、業務システムでは、様々な従業員がレコードを追加したりデータ項目の値を変更あるいは更新したりすることが一般的である。しかし、全ての従業員がデータ項目に入力する際の入力形式を知っているわけではない。そのため、同じ意味を持つ値であったとしても異なる形式の値が混在してしまう。異なる形式としては、例えば、算用数字と漢数字の混在や、単位の有無(単位を入力したことによってテキストデータとして認識され、数字データに対する統計処理の対象外となる)などが挙げられる。従来のデータ処理システムでは、このように、様々な形式の値が混在して入力されると、入力された値がそのまま反映されるため、例えば数字データに対する統計処理を行った場合、漢数字で入力された値や単位とともに入力された値が統計処理されないという問題があった。
これに対し、本実施形態のデータ処理システム1では、使用者が様々な形式で入力したテキストデータから、設計情報に定められた形式でデータ処理が実行されるため、
数字データに対する統計処理や、データの抽出を正確に行うことができる。
本実施形態のデータ処理システム1は、以下のような機能を実装したものとすることができる。
支援機能:例えば、要求自然文などの一部の入力データを元に、残りの他の項目を自動で入力する。個々の入力値を集めて要約してまとめ文書(例えば日報の本文)を作る。電子メール等に記載された自然文から内容を解析し、その後に行うべき処理フローを呼び出す。
自動作成機能:出先から音声やメモの写真などを電子メールに添付するなどして、予め要求情報のうちAPI基本情報、対象識別、要求するアクションなどが対応付けられた、所定のメールアドレスに送信することにより日報や報告書などを自動的に作成する。
応答機能:問い合わせフォームや問い合わせ先として設定されたメールアドレスに受信した問い合わせ文と近い意味を有する過去の問い合わせ文を探索し、それに対する回答を予め用意されたテンプレートに埋め込んだ回答文を提案する。
データ抽出(検索)機能:要求文章に応じて適切な検索の条件を自動的に設定する。
蓄積機能:成功パターンのデータや失敗パターンのデータを蓄積し、ナレッジとして活用する。例えば、入力された日報などのデータと近い意味を有する、蓄積されたデータから要約報告や提案を行う。
応用:名刺画像からテキストを読み取り、顧客や担当者を自動抽出する。
以下、本実施形態のデータ処理システム1におけるデータ処理の具体的な例をいくつか説明する。
<データベースに対する処理:SELECT>
使用者が、予め顧客管理データベース11Dに対応付けられた画面から「最近訪問できていない顧客リスト」というテキストデータを入力すると、大規模言語モデルによって、「顧客」、「リスト」、「最近訪問できていない」という文言が出力され、設計情報データに対するセマンティック検索によって、「顧客」という文言が対象テーブルを意味し、「リスト」という文言が対象カラム群を意味し、「最近訪問できていない」という文言が検索条件を意味する文言であることが特定される。そして、処理命令生成部36によって、このデータ検索を実行するための命令文が生成され、返却情報として業務システム10へと送られる。
<データベースに対する処理:UPDATE>
使用者が、予め顧客管理データベース11Dに対応付けられた画面から「5キロ圏内の商談中の見込み顧客のDM発送を有効にする」というテキストデータを入力すると、大規模言語モデルによって、「商談中;顧客」、「DM発送;有効」、「5キロ圏内;見込み顧客」という文言が出力される。そして、設計情報データに対するセマンティック検索によって、「商談中;顧客」という文言が対象テーブルを意味することが特定される。また、、「DM発送;有効」という文言に対応するカラム情報を検索し、そのカラムに対する処理を意味する「有効」に関する仕様を検索する。そして、最も意味が近い選択肢情報を特定する。さらに、「5キロ圏内」のように特定の数値が入力されている場合も、設計情報に対するセマンティック検索によって、最も意味が近い選択肢情報を特定する。これにより、「5キロ圏内;見込み顧客」という検索条件に該当する顧客について、「DM発送」というデータ項目の選択肢が「有効」という値に更新される。
<データベースに対する処理:INSERT&画面等の項目に対する処理:文章から条件群>
使用者は、顧客管理データベース11Dに「顧客訪問レポート」を追加する画面にアクセスする。と、処理キー取得部33は、記憶部21に保存されている、顧客訪問レポートの入力フォームを読み出して表示部52の画面に表示する。
顧客訪問レポートの入力フォームの画面例を図18に示す。この画面には、顧客コード、顧客名、状況報告、ABCランク、及び確度の欄が設けられている。これらのうち、使用者は顧客名と状況報告の欄(図18に実線で示した欄)にテキストデータを入力する。使用者が顧客名を入力すると、データベースから顧客名のコード(顧客コード)が読み出され顧客コード欄に表示される。
状況報告欄には自然言語のテキストデータを入力する。使用者が状況報告欄に自然言語のテキストデータを入力すると、処理キー取得部33は入力された自然言語を大規模言語モデルに入力する。大規模言語モデルは、入力された自然言語から、データ処理に関連する文言(処理キー)として、「受注額」、「高額」、「見込める」、「競合相手」、「若干不利」、「状況」といった文言を出力する。
キーベクトル生成部34は、大規模言語モデルから出力された文言をベクトル化モデルに入力し、キーベクトルを生成する。処理内容特定部35は、設計情報データを参照し、生成されたベクトル値に対応するデータ処理の内容を特定する。この例では、設計情報として、状況報告のデータ項目に対する値が入力されたときに、優先度及び確度のデータ項目の値を生成するというトリガー情報が設定されている。この設計情報と、優先度と確度のそれぞれに入力される値の属性情報を参照し、処理内容特定部35は、上記出力された単語群から優先度と確度のデータ項目への入力値を決定する(図18の例では、優先度の値「A」及び確度の値「50%」)。
処理命令生成部36は、処理内容特定部35により特定された処理の内容(データ項目とその値の組)を顧客管理データベース11Dにレコードとして追加するための命令文を生成し、返却情報(構造体)として業務システム10に送信する。業務システム10では、処理命令生成部36から生成された処理命令文を実行し、使用者が指定したデータベース(ここでは顧客管理データベース11D)にレコードを追加する。
従来のデータ処理システムでは、上記例における状況報告のように使用者が自然言語で入力した情報がそのままデータベースの値として入力されるのみで、有意な統計処理などを行うことはできなかった。これに対し、本実施形態のデータ処理システム1では、使用者が入力した自然言語から、予め決められたデータ項目(ここでは優先度及び確度)の値が決定されるため、これらの値を用いた有意な統計処理を行うことが可能になる。また、自然言語による入力では、同じ内容であっても入力する者によってテキストの長短、表現などが異なるため、入力された自然言語の文章等を詳細に読まなければ状況を正しく把握することが難しいという問題があった。これに対し、本実施形態のデータ処理システム1では、大規模言語モデルによって様々な使用者が記載した自然言語を共通の基準で評価した値をデータベースに登録することができる。
自然言語からSQL文を作成する技術として、特許文献2には、処理対象の質問情報をターゲットテーブルのテーブルコンテンツと事前にマッチングして事前マッチング結果を取得し、質問事項とのマッチング度が最も高い単語セグメントを抽出すること、そして、抽出された単語セグメントに意味的に関連付けられたターゲット属性値を決定し、そのターゲット属性値等を用いてSQLクエリステートメントを生成する技術が記載されている。特許文献2によれば、この技術を用いることで、ユーザが提示する質問情報がテーブルの列名または属性値と完全にマッチングしない場合でもSQL文を生成することが可能であるとされている。
特許文献2には上記技術が概念的に提示されているのみで、当該技術具体的に適用した事例が示されていないが、これは、対話型による人からの要求命令に応じてSQL文を作成し、それを実行した結果のデータを出力するもので、SQL文以外の検索手法を用いることはできない。そのため、SQL文の入力形式に沿ったデータベース検索しか実行することができない。また、大規模言語モデルからデータ処理に必要な要素を正確に出力させてSQL文を作成することも容易ではない。さらに、特許文献2において、属性という文言が何を意味するかも明確ではない。加えて、データベース内に複数のテーブルが存在する場合(いわゆるリレーショナルデータベースなどの場合)にどのようにこの技術を適用すればよいかも不明である。
一方、本実施形態のデータ処理システム1では、SQL文を用いることも可能であるが、本質的にはセマンティック検索によってデータベース検索に必要な要素を出力させるものであり、SQL文を用いたデータベース検索以外の検索手法にも用いることができる。また、本実施形態では、図2~図10を参照して説明したように、データベースの設計情報データにおいて各項目の属性が定義されており、それによって使用者の意図に沿った正確なデータ処理を行うことが可能である。さらに、本実施形態のデータ処理システム1は、大規模言語モデル及びベクトル化モデルを、データベース検索だけでなく、データベースへのレコードの登録やデータ項目の値の更新、削除にも使用、及び画面等の項目への入力に対する処理(図12)やナレッジ処理(図13)にも使用することで、多様なデータ処理を行うことが可能となっている。
以上、説明したように、本実施形態のデータ処理方法、データ処理システム、及びデータ処理用プログラムは、業務システム(既存の膨大な業務システムを含む)に人工知能(AI)を組み合わせたものである。本実施形態のデータ処理方法、データ処理システム、及びデータ処理用プログラムを用いることにより、既存の業務システムに設計変更を行ったりシステムを開発し直したりすることなく、軽微な改修で既存の業務システムを、AIに対応した、柔軟かつ効率的な業務システムに改良することができる。また、本実施形態のデータ処理方法、データ処理システム、及びデータ処理用プログラムでは、設計情報を使用するうちにより多くの設計情報を蓄積してAIによる設計情報の理解度を高めることができる。これにより、将来的には、各種データの入出力画面や帳票そのものをユーザのニーズに合わせてAIに生成させることが可能になり、こうした処理を担うプログラム自体も不要になることが想定される。
上記実施形態は一例であって、本発明の趣旨に沿って適宜に変更することができる。
上記実施形態では、使用者が処理対象のデータベースを特定したり、データ処理の内容に応じた入口(特定の画面、特定のメールアドレス)からデータ処理の内容を入力したりする場合を説明したが、全てのデータベース及び全ての種類のデータ処理を実行するための入口を共通のものとしてもよい。その場合には、処理内容特定部35が全てのデータベースの設計情報データを参照し、使用者が入力した自然言語などのテキストデータからキーベクトル生成部34によって生成されたキーベクトルに基づいて処理対象のデータベース及びそのデータベースにおけるデータ処理の種類及び内容を特定すればよい。ただし、少なくともデータベース毎に使用者が指示を入力する画面等の入口を分けておくことで、セマンティック検索に係る負荷が軽減され、また、より正確なデータ処理を行いやすくなる。
使用者が入力したテキストデータから、データ処理を実行させる命令文に必要な要素をすべて抽出することができない場合があり得る。こうした場合には、処理内容特定部35は、欠けている要素を表示部52の画面に表示するなどして使用者に通知したり、エラーメッセージを出力したりするなどするとよい。
上記実施形態では、データベース内の情報を検索したりデータベースにデータを入力したりするために必要な構成を全てデータ処理装置20の内部に設けた例を説明したが、これらの構成の一部を別の装置(プライベートネットワーク内の別の装置、オープンネットワークに設けられ、暗号化やパスワードによってアクセスが制限されたクラウドサーバなどを含む。)に設けてもよい。例えば、上記実施形態では、大規模言語モデル記憶部213とベクトル化モデル記憶部214をデータ処理装置20の内部に設けたが、データ処理装置20とネットワークを介して接続された別の装置(同上)に設けられた大規模言語モデルやベクトル化モデルを用いてもよい。また、パブリックな大規模言語モデルやベクトル化モデルを用いる場合には、オープンネットワーク(インターネット等)を介して接続された別の装置(クラウドコンピュータ等)に設けられたものを用いてもよい。さらに、データベース検索に係る機能ブロックと、データ入力に係る機能ブロックをそれぞれ別の装置(同上)に設け、データ処理システム1の内部のネットワークにそれらの装置を接続してもよい。
上記実施形態では、企業の業務システム10に設けられた顧客管理データベース11Dに対するデータ処理の例を説明したが、官公庁などの公的機関に設けられた様々な種類のデータベース内の情報を処理する場合にも上記同様の構成を採ることができる。また、上記実施形態において説明した、データ処理の具体的な例は、本実施形態のデータ処理システム1において実行可能な一部に過ぎず、データベースの内容や使用目的に応じて適宜に変更可能である。さらに、上記実施形態では、業務システム10とデータ処理装置20が1つのプライベートネットワーク内に設けられた構成を説明したが、これらはオープンネットワーク(インターネット等)を介して接続されていてもよい。
上記実施形態ではデータベース内の全データへのアクセスを許可する場合を説明したが、一部のデータ(例えば、経営に関するデータ、財務に関するデータ、人事に関するデータ)を収録した部分についてはアクセス権限を有する者のみがアクセス可能としてもよい。例えば、データ処理システム1の使用時に使用者IDとパスワードによるログインを実行させ、その際に認証した使用者IDに応じてアクセス可能な範囲を確定するという構成を採ることができる。
上記実施形態では、データベース内のデータを処理する例を説明したが、データベース以外のデータを処理する際にも上記同様の構成を採ることができる。例えば、上記実施形態で説明した、顧客訪問レポートを追加する処理は、顧客訪問レポートを書面として提出するなどの目的(即ち、データベースのレコードとして追加する処理を伴わない目的)でも用いることができる。また、上記実施形態では、使用者が入力した自然文から優先度及び確度というデータ項目の値を生成したが、これとは逆に、優先度及び確度を使用者に入力させ、それらの値から大規模言語モデルによって自然文を生成するように構成してもよい。
また、上記実施形態におけるトリガー情報を複数組み合わせてフローチャート様の処理を実行させることもできる。例えば、顧客管理データベース11Dの優先度がAであるレコードの数が10を超えるとそれらを抽出し、それらのレコードをリストとしてデータ出力させるなど、様々な処理を組み合わせて実行させることができる。
[態様]
上述した例示的な実施形態が以下の態様の具体例であることは、当業者には明らかである。
(第1項)
本発明の一態様は、複数の所定のデータ項目のそれぞれに値が入力された対象データに対する処理を実行するために用いられる方法であって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルを準備し、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルを準備し、
前記ベクトル化モデルを用いて、前記複数のデータ項目を特定する情報、及び前記複数のデータ項目のそれぞれの値の属性情報をベクトル化し、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データを準備し、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、
前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させ、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成し、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定し、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する
ことを特徴とする。
(第7項)
本発明の別の一態様は、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行するために用いられるシステムであって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化モデルによってベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化モデルによってベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する処理実行部と
を備えることを特徴とする。
(第9項)
本発明のさらに別の一態様は、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行するために用いられるプログラムであって、
所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
前記複数のデータ項目の間の関連性の情報、前記ベクトル化モデルによってベクトル化された複数のデータ項目を特定する情報、及び前記ベクトル化モデルによってベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
を有するシステムにおいて、コンピュータを、
使用者に前記対象データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
前記設計情報データを参照することにより、前記キーベクトルから前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
前記特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する処理実行部
として機能させることを特徴とする。
第1項に係るデータ処理方法、第7項に係るデータ処理システム、及び第9項に係るデータ処理用プログラムでは、典型的には、データベースを構成するデータ(レコード)に対する処理を行うために用いられるが、それ以外のデータを処理するためにも用いられ得る。本発明に係るデータ処理方法では、大規模言語モデルとベクトル化モデルを予め準備しておく。また、データ項目を特定する情報、及びデータ項目毎に入力されるレコードの値の属性情報をベクトル化し、データ項目の関連性の情報と併せて設計情報データを作成しておく。ここでいう値の属性情報とは、例えば、数値、フリーテキスト、選択肢(プルダウン形式などで選択されるもの)である。なお、対象データの値にはNullも含まれ得る。また、データ項目の関連性の情報とは、例えば複数のデータ項目が1つのテーブルを構成するものである場合には、それらに共通するテーブルを特定する情報、あるデータ項目に対して値が入力されたときにその値に基づいて別のデータ項目の値を更新するといった情報である。
使用者は、データに対する処理の種類を特定する情報と該処理の内容を表すテキストデータを入力する。データに対する処理の種類は、例えば、データの検索、データ項目の値の入力、更新、及び削除である。データに対する処理の種類の情報は、使用者が直接的に入力するものに限定されず、間接的に入力するもの(例えば、特定の画面を通じて入力されたことに基づいて処理の種類を特定する、特定のメールアドレスにテキストデータが送信されたことに基づいて処理の種類を特定する)などが含まれ得る。入力されたテキストデータは大規模言語モデルに入力され、該大規模言語モデルからデータ処理のキーとなる単語を出力させる。データ処理のキーとなる単語としては、例えば、業種、住所、従業員数などのデータ項目に関連する単語や、1年以内、1ヶ月以内、京都府などの検索条件に関連する単語が挙げられる。また、ベクトル化モデルを用いて、大規模言語モデルから出力された単語をベクトル化することによりキーベクトルを生成する。そして、設計情報データを参照することにより、キーベクトルから処理対象のデータ項目及び処理内容を特定する。このように、単語や文章の意味をベクトル化し、その意味が類似するものを特定する手法はセマンティック検索やベクトル検索と呼ばれる。こうした検索を行うことにより、大規模言語モデルから出力される単語と、データ項目を特定する情報、及び各データ項目の値の属性情報が完全に一致していない場合でも、両者が有する意味の類似度(ベクトル成分の近似度)に基づいてデータ処理の対象及びデータ処理の内容を特定することができる。例えば、処理キーベクトルに最も近い(成分の差異が最も小さい、ベクトル間の距離が短い、ベクトル間の成す角が小さい、など)ベクトルを有することに基づいてデータ処理の対象及び内容を特定する。
データ処理の対象であるデータ項目と、当該データ項目に対する処理の内容を決定すると、特定されたデータ項目に対して前記特定された内容の処理を実行する、又は該処理を実行するための情報を出力する。これにより、複数の所定の項目のそれぞれに値が入力されたデータに対する処理を実行する際の利便性を向上することができる。
(第2項)
第2項に係るデータ処理方法は、第1項に係るデータ処理方法において、
前記大規模言語モデルが、予め用意されたライブラリに収録された、予め決められた文言と、該文言の意味を学習したものである。
第2項に係るデータ処理方法では、業界内で通称される略語や俗称などを大規模言語モデルによって正しく処理することができる。
(第3項)
第3項に係るデータ処理方法は、第1項又は第2項に係るデータ処理方法において、
前記大規模言語モデルは、前記データベースとともにプライベートネットワーク内に設けられている。
第3項に係るデータ処理方法では、企業等の内部の秘密情報が外部に漏れるのを防ぐことができる。
(第4項)
第4項に係るデータ処理方法は、第3項に係るデータ処理方法において、
前記大規模言語モデルは、さらに、前記設計情報データを学習したものである。
第4項に係るデータ処理方法では、データベースの構造や属性を学習した大規模言語モデルを用いることで、テーブルやカラムをより正確に特定可能な処理キーを出力させることができる。
(第5項)
第5項に係るデータ処理方法は、第1項から第4項のいずれかに係るデータ処理方法において、さらに、
前記設計情報に、予め決められた第1のデータ項目に対する入力が行われたときに、予め決められた第2のデータ項目に対するデータ処理を実行するトリガー情報が含まれる。
第5項に係るデータ処理方法では、使用者が第1のデータ項目に入力した情報を自動的に第2のデータ項目に反映することができる。
(第6項)
第6項に係るデータ処理方法は、第5項に係るデータ処理方法において、さらに、
前記設計情報データに、前記第1のデータ項目に対して入力される値を所定の基準に照らして前記第2のデータ項目に対する入力値に変換するための変換情報が含まれており、
前記第1のデータ項目に情報が入力されると、前記変換情報に基づいて該入力された値を変換した入力値が前記第2のデータ項目の値として入力される。
第6項に係るデータ処理方法では、使用者が自然言語として入力し、大規模言語モデルから出力された文言から、重要度のランク付けや確度の値などを自動的に決定することができる。
(第8項)
第8項に係るデータ処理システムは、第7項に係るデータ処理システムにおいて、
前記データは、前記データ処理システムと独立に設けられ、予め用意されたプログラムに従って動作するデータベースに収録されたものであり、
前記処理実行部は、前記プログラムで実行可能な言語により前記特定された内容の処理を実行するための命令文を出力する
ことを特徴とする。
第8項に係るデータ処理システムは、既存のデータベースに組み込んで用いることができる。
1…データ処理システム
10…業務システム
11…営業支援システム
11D…顧客管理データベース
12…販売管理システム
13…給与計算システム
14…人事管理システム
20…データ処理装置
21…記憶部
211…設計情報データ記憶部
212…チューニングデータ記憶部
213…大規模言語モデル記憶部
214…ベクトル化モデル記憶部
215…入力フォーム記憶部
31…設計情報データ作成部
32…チューニング実行部
33…処理キー取得部
34…キーベクトル生成部
35…処理内容特定部
36…処理命令生成部
37…処理実行部
51…入力部
52…表示部

Claims (9)

  1. データベースの複数のデータ項目のうちの少なくとも1つのデータ項目のそれぞれに値が入力された対象データに関する処理をコンピュータが実行するデータ処理方法であって、
    所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルを準備し、
    所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルを準備し、
    前記ベクトル化モデルを用いて、前記複数のデータ項目のそれぞれを特定する情報、及び前記複数のデータ項目のそれぞれの値の属性情報をベクトル化し、
    記ベクトル化された複数のデータ項目のそれぞれを特定する情報、及び前記ベクトル化された複数のデータ項目のそれぞれの値の属性情報を含む設計情報データを設計情報データ記憶部に保存し、
    使用者に前記対象データに対する処理の内容を表すテキストデータを入力させ、
    前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させ、
    前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成し、
    記キーベクトルと、前記複数のデータ項目のそれぞれを特定する情報のベクトル及び前記複数のデータ項目のそれぞれの値の属性情報のベクトルとを比較し、前記キーベクトルとの類似度に基づいて前記対象データのデータ項目及び処理内容を特定し、
    前記特定されたデータ項目に関して前記特定された内容の処理を実行す
    ことを特徴とするデータ処理方法。
  2. 前記大規模言語モデルが、予め用意されたライブラリに収録された、予め決められた文言と、該文言の意味を学習したものである、請求項1に記載のデータ処理方法。
  3. 前記大規模言語モデルは、プライベートネットワーク内に設けられている、請求項1に記載のデータ処理方法。
  4. 前記大規模言語モデルは、さらに、前記設計情報データを学習したものである、請求項3に記載のデータ処理方法。
  5. さらに、
    前記設計情報データに、予め決められた第1のデータ項目に対する入力が行われたときに、予め決められた第2のデータ項目に対するデータ処理を実行するトリガー情報が含まれる、請求項1に記載のデータ処理方法。
  6. さらに、
    前記設計情報データに、予め決められた第1のデータ項目に対して入力される値を所定の基準に照らして、予め決められた第2のデータ項目に対する入力値に変換するための変換情報が含まれており、
    記第1のデータ項目に値が入力されると、前記変換情報に基づいて該入力された値を変換した入力値が前記第のデータ項目の値として入力される、請求項1に記載のデータ処理方法。
  7. データベースの複数のデータ項目のうちの少なくとも1つのデータ項目のそれぞれに値が入力された対象データに関する処理を実行するために用いられるデータ処理システムであって、
    所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
    所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
    記ベクトル化モデルを用いてベクトル化された前記複数のデータ項目のそれぞれを特定する情報、及び前記ベクトル化モデルを用いてベクトル化された前記複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
    使用者に前記対象データに対する処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
    前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
    記キーベクトルと、前記複数のデータ項目のそれぞれを特定する情報のベクトル及び前記複数のデータ項目のそれぞれの値の属性情報のベクトルとを比較し、前記キーベクトルとの類似度に基づいて前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
    前記特定されたデータ項目に関して前記特定された内容の処理を実行する処理実行部と
    を備えることを特徴とするデータ処理システム。
  8. 記処理実行部は、前記特定された内容の処理を実行する、所定のプログラム言語で記載された命令文を出力する
    ことを特徴とする、請求項7に記載のデータ処理システム。
  9. データベースの複数のデータ項目のうちの少なくとも1つのデータ項目のそれぞれに値が入力された対象データに関する処理をコンピュータに実行させるためのデータ処理用プログラムであって、
    所定の機械学習によって構築された、テキストデータの入力を受けてデータ処理のキーとなる単語を出力する大規模言語モデルが保存された大規模言語モデル記憶部と、
    所定の機械学習によって構築された、入力された単語をベクトル化して出力するベクトル化モデルが保存されたベクトル化モデル記憶部と、
    記ベクトル化モデルを用いてベクトル化された前記複数のデータ項目のそれぞれを特定する情報、及び前記ベクトル化モデルを用いてベクトル化された前記複数のデータ項目のそれぞれの値の属性情報を含む設計情報データが保存された設計情報データ記憶部と、
    を有するシステムにおけるコンピュータを、
    使用者に前記対象データに対する処理の内容を表すテキストデータを入力させ、前記処理の内容を表すテキストデータを前記大規模言語モデルに入力することにより、該大規模言語モデルから該処理のキーとなる単語を出力させる処理キー取得部と、
    前記大規模言語モデルから出力された単語を前記ベクトル化モデルに入力することによりキーベクトルを生成するキーベクトル生成部と、
    記キーベクトルと、前記複数のデータ項目のそれぞれを特定する情報のベクトル及び前記複数のデータ項目のそれぞれの値の属性情報のベクトルとを比較し、前記キーベクトルとの類似度に基づいて前記対象データのデータ項目及び処理内容を特定する処理内容特定部と、
    前記特定されたデータ項目に関して前記特定された内容の処理を実行する処理実行部
    として機能させることを特徴とするデータ処理用プログラム。
JP2025026240A 2025-02-20 2025-02-20 データ処理方法、データ処理システム、及びデータ処理用プログラム Active JP7762371B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025026240A JP7762371B1 (ja) 2025-02-20 2025-02-20 データ処理方法、データ処理システム、及びデータ処理用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2025026240A JP7762371B1 (ja) 2025-02-20 2025-02-20 データ処理方法、データ処理システム、及びデータ処理用プログラム

Publications (1)

Publication Number Publication Date
JP7762371B1 true JP7762371B1 (ja) 2025-10-30

Family

ID=97488041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2025026240A Active JP7762371B1 (ja) 2025-02-20 2025-02-20 データ処理方法、データ処理システム、及びデータ処理用プログラム

Country Status (1)

Country Link
JP (1) JP7762371B1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235770A (ja) * 2005-02-23 2006-09-07 Fujitsu Ltd Sql自動生成のためのプログラム
JP2007094570A (ja) * 2005-09-27 2007-04-12 Nomura Research Institute Ltd データベース利用システム
JP2016053919A (ja) * 2014-09-04 2016-04-14 東芝テック株式会社 サーバ装置およびプログラム
JP2016170785A (ja) * 2015-03-13 2016-09-23 キヤノンマーケティングジャパン株式会社 情報処理装置と、その処理方法及びプログラム
JP2020194251A (ja) * 2019-05-27 2020-12-03 有限会社イーグルコンピューターシステム 業務システム構築装置、業務システム構築方法、及び業務システム構築プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235770A (ja) * 2005-02-23 2006-09-07 Fujitsu Ltd Sql自動生成のためのプログラム
JP2007094570A (ja) * 2005-09-27 2007-04-12 Nomura Research Institute Ltd データベース利用システム
JP2016053919A (ja) * 2014-09-04 2016-04-14 東芝テック株式会社 サーバ装置およびプログラム
JP2016170785A (ja) * 2015-03-13 2016-09-23 キヤノンマーケティングジャパン株式会社 情報処理装置と、その処理方法及びプログラム
JP2020194251A (ja) * 2019-05-27 2020-12-03 有限会社イーグルコンピューターシステム 業務システム構築装置、業務システム構築方法、及び業務システム構築プログラム

Similar Documents

Publication Publication Date Title
US12197505B2 (en) Data preparation using semantic roles
US7933906B2 (en) Method and system for assessing relevant properties of work contexts for use by information services
US7720867B2 (en) Natural language query construction using purpose-driven template
US7895595B2 (en) Automatic method and system for formulating and transforming representations of context used by information services
US20200097560A1 (en) Ranking Enterprise Search Results Based on Relationships Between Users
US20030014398A1 (en) Query modification system for information retrieval
WO2013071305A2 (en) Systems and methods for manipulating data using natural language commands
US20060116986A1 (en) Formulating and refining queries on structured data
US12271827B2 (en) Computer prediction of relevant data from multiple disparate sources
CN111126073B (zh) 语义检索方法和装置
RU61442U1 (ru) Система автоматизированного упорядочения неструктурированного информационного потока входных данных
US20060036461A1 (en) Active relationship management
US12093265B2 (en) Semantics based data and metadata mapping
JP7762371B1 (ja) データ処理方法、データ処理システム、及びデータ処理用プログラム
CN113095078A (zh) 关联资产确定方法、装置和电子设备
US12530659B2 (en) Content collaboration platform with an entity card interface and cross-product topic-based data structures
US20250315906A1 (en) Generative artifical intellgience patent claim mapping
JP2026018998A (ja) 業務支援システム、業務支援方法、及びプログラム
Riboni Effectiveness and Optimization of Large Language Models in Natural Language Processing for MongoDB Data Retrieval
Riboni Effectiveness and Optimization of Large Language Models in Natural Language
KR20010086191A (ko) 6하원칙과 계층 구조 표현에 의한 데이터 기술.인식 방법
KR20030009997A (ko) 6하원칙과 계층 구조 표현에 의한 데이터 기술.인식 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20250225

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20250305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20250305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20250724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250905

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251008

R150 Certificate of patent or registration of utility model

Ref document number: 7762371

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150