(57)【要約】【課題】少量の入力済みデータでも予測機能を利用でき、且つ、予測機能による候補データの提示に伴う情報漏洩を抑制可能とする。【解決手段】グループＩＤ、キー情報および文字列を含む定義データにおける、固有表現種類に対応する文字列を、固有表現種類に予め関連付けられる変換後文字列に変換する。定義データを候補データとして記憶し、候補データにおいて、定義データに含まれる変換後文字列に対応する文字列を変換後文字列に置き換える。キー情報およびグループＩＤを含む検索要求に従い、キー情報に対応する候補データを記憶された候補データから取得して端末装置に提示する。提示する候補データに含まれる文字列であって、検索要求に含まれるグループＩＤが示すグループにおいて用いられず、当該グループＩＤと異なるグループＩＤが示すグループにおいて用いられる文字列を、端末装置に提示する文字列から除外する。【選択図】図４
2019133467.tif 000002
【特許請求の範囲】
【請求項１】
固有表現種類と変換後文字列とが関連付けられて格納される格納部と、
グループを識別するグループ識別情報と、キー情報と、該キー情報に関連付けられた文字列と、を含む定義データにおける、前記固有表現種類に対応する該文字列を、該固有表現種類に関連付けられる前記変換後文字列に変換する変換部と、
前記定義データを候補データとして記憶し、該定義データに前記変換後文字列が含まれる場合に、該変換後文字列に対応する文字列を該変換後文字列に置き換えた該定義データを該候補データとして記憶する候補データ記憶部と、
前記キー情報および前記グループ識別情報を含む検索要求に従い、前記候補データ記憶部から、該検索要求が含む前記キー情報に対応する前記候補データを取得する検索部と、
前記検索部により取得された前記候補データを端末装置に提示する提示部と、
を備え、
前記提示部は、
前記候補データに含まれる前記文字列のうち、前記検索要求に含まれる前記グループ識別情報が示す前記グループにおいて用いられず、該グループ識別情報と異なるグループ識別情報が示すグループにおいて用いられる該文字列を除外して前記端末装置に提示する
情報処理装置。
【請求項２】
前記検索部は、
前記検索要求が含む前記キー情報に対応する前記候補データに含まれる前記文字列を該候補データに含まれる前記グループ識別情報毎にそれぞれ集計したスコアを取得し、
前記提示部は、
前記検索部により取得された前記候補データに含まれる前記文字列から、提示する文字列を前記スコアに基づき決定する
請求項１に記載の情報処理装置。
【請求項３】
前記固有表現種類は、少なくとも前記グループ識別情報毎に固有の表現種類であり、
前記変換後文字列は、前記固有表現種類に対応し、前記グループ識別情報それぞれに共通して適用可能な文字列である
請求項１または請求項２に記載の情報処理装置。
【請求項４】
ネットワークを介して接続される前記端末装置に、
前記検索要求を入力するための入力部と、
前記候補データに基づく画面を表示する表示部と、
を提供する通信部
をさらに備える請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
情報処理装置の情報処理方法であって、
グループを識別するグループ識別情報と、キー情報と、該キー情報に関連付けられた文字列と、を含む定義データにおける、固有表現種類に対応する該文字列を、該固有表現種類に予め関連付けられる変換後文字列に変換する変換ステップと、
前記定義データを候補データとして候補データ記憶部に記憶し、該定義データに前記変換後文字列が含まれる場合に、該変換後文字列に対応する文字列を該変換後文字列に置き換えた該定義データを該候補データとして該候補データ記憶部に記憶する記憶ステップと、
前記キー情報および前記グループ識別情報を含む検索要求に従い、前記候補データ記憶部から、該検索要求が含む前記キー情報に対応する前記候補データを取得する検索ステップと、
前記検索ステップにより取得された前記候補データを端末装置に提示する提示ステップと、
前記提示ステップにより提示される前記候補データに含まれる前記文字列であって、前記検索要求に含まれる前記グループ識別情報が示す前記グループにおいて用いられず、該グループ識別情報と異なるグループ識別情報が示すグループにおいて用いられる該文字列を前記端末装置に提示する文字列から除外する除外ステップと、
を含む
情報処理方法。
【請求項６】
ネットワークを介して端末装置が接続される情報処理装置に実行させるための情報処理プログラムであって、
グループを識別するグループ識別情報と、キー情報と、該キー情報に関連付けられた文字列と、を含む定義データにおける、固有表現種類に対応する該文字列を、該固有表現種類に予め関連付けられる変換後文字列に変換する変換ステップと、
前記定義データを候補データとして候補データ記憶部に記憶し、該定義データに前記変換後文字列が含まれる場合に、該変換後文字列に対応する文字列を該変換後文字列に置き換えた該定義データを該候補データとして該候補データ記憶部に記憶する記憶ステップと、
前記キー情報および前記グループ識別情報を含む検索要求に従い、前記候補データ記憶部から、該検索要求が含む前記キー情報に対応する前記候補データを取得する検索ステップと、
前記検索ステップにより取得された前記候補データを端末装置に提示する提示ステップと、
前記提示ステップにより提示される前記候補データに含まれる前記文字列であって、前記検索要求に含まれる前記グループ識別情報が示す前記グループにおいて用いられず、該グループ識別情報と異なるグループ識別情報が示すグループにおいて用いられる該文字列を前記端末装置に提示する文字列から除外する除外ステップと、
を前記情報処理装置に実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
ユーザによるアプリケーションソフトウェアの作成を容易とするための、アプリケーション作成支援ツール（以下、支援ツール）が知られている。支援ツールは、例えば、画面に従い各入力領域に値を入力することで、ユーザインタフェースやデータ構造が定義され、アプリケーションソフトウェアが作成される。このような支援ツールにおいて、入力領域に対する入力データの候補を予測してユーザに提示する予測機能を適用すると、ユーザにとって利便性が高い。特許文献１には、設計書（入力フォーム）を蓄積しておき、ユーザが何らかの設計書を利用すると、類似する設計書を検索して共通する内容の部分を見易く表示する技術が記載されている。
【０００３】
上述の予測機能は、例えば、過去に入力された情報を参照して候補データを予測することで実現可能である。支援ツールがクラウドサービスを利用して提供される場合、予測機能による候補データを、複数の企業や団体、個人など様々なユーザにより入力されたデータを参照して予測することになる。
【０００４】
一方、上述した予測機能を実現するために参照するデータの中には、当該情報を入力したユーザにとって第三者に開示してはならない秘密データが含まれている場合がある。したがって、予測機能において、あるユーザにより入力された秘密データを参照して予測した候補データが当該ユーザに対する第三者に開示され、情報漏洩が発生してしまうおそれがある。従来技術では、この情報漏洩の発生を、入力された入力データが一般的なデータであるか、あるいは、入力したユーザ（企業、団体、個人など）に固有のデータであるかを、大量のデータを参照して同様のデータが多数存在するか否かに基づき判定することで抑制していた。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した予測機能により候補データを提示するためには、既存ユーザが当該支援ツールを用いて大量（例えば統計的に有意な数）のデータを入力していることが前提となる。また、既存ユーザによる当該支援ツールを用いての大量のデータ入力は、上述した予測機能の利用に伴う情報漏洩を抑制するためにも必要である。したがって、入力データ数が少ない状態では、予測機能の利用が困難であるという問題点があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、入力済みのデータが少量であっても予測機能を利用でき、且つ、予測機能による候補データの提示に伴う情報漏洩を抑制可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、固有表現種類と変換後文字列とが関連付けられて格納される格納部と、グループを識別するグループ識別情報と、キー情報と、キー情報に関連付けられた文字列と、を含む定義データにおける、固有表現種類に対応する文字列を、固有表現種類に関連付けられる変換後文字列に変換する変換部と、定義データを候補データとして記憶し、定義データに変換後文字列が含まれる場合に、変換後文字列に対応する文字列を変換後文字列に置き換えた定義データを候補データとして記憶する候補データ記憶部と、キー情報およびグループ識別情報を含む検索要求に従い、候補データ記憶部から、検索要求が含むキー情報に対応する候補データを取得する検索部と、検索部により取得された候補データを端末装置に提示する提示部と、を備え、提示部は、候補データに含まれる文字列のうち、検索要求に含まれるグループ識別情報が示すグループにおいて用いられず、グループ識別情報と異なるグループ識別情報が示すグループにおいて用いられる文字列を除外して端末装置に提示する。
【発明の効果】
【０００８】
本発明によれば、入力済みのデータが少量であっても予測機能を利用でき、且つ、予測機能による候補データの提示に伴う情報漏洩を抑制可能となるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に適用可能な情報処理システムの一例の構成を示すブロック図である。
【図２】図２は、実施形態に係る情報処理装置としてのサーバのハードウェア構成の例を示すブロック図である。
【図３】図３は、実施形態に適用可能な端末装置のハードウェア構成の例を示すブロック図である。
【図４】図４は、実施形態に係るサーバの機能を説明するための一例の機能ブロック図である。
【図５】図５は、実施形態に係る、候補データ記憶部に候補データが記憶された様子を模式的に示す図である。
【図６】図６は、実施形態に適用可能な端末装置の機能を説明するための一例の機能ブロック図である。
【図７】図７は、実施形態に係る、候補データの検索処理を示す一例のフローチャートである。
【図８】図８は、実施形態に適用可能なログイン画面の例を示す図である。
【図９】図９は、実施形態に適用可能な支援ツールにおける、アプリ作成画面の初期画面の例を示す図である。
【図１０】図１０は、実施形態に適用可能な支援ツールの、各表示文字列が確定されたアプリ作成画面の例を示す図である。
【図１１】図１１は、実施形態に適用可能な支援ツールの、各表示文字列が確定されたアプリ作成画面の例を示す図である。
【図１２】図１２は、実施形態に係る、サーバにおける定義データの保存処理を示す一例のフローチャートである。
【発明を実施するための形態】
【００１０】
（実施形態の概要）
以下に添付図面を参照して、情報処理装置、情報処理方法および情報処理プログラムの実施形態を詳細に説明する。図１は、実施形態に適用可能な情報処理システムの一例の構成を示すブロック図である。図１において、実施形態に適用可能な情報処理システム１は、サーバ１０と、複数の端末装置（ＰＣ）２０、２０、…とがネットワーク２を介して接続されて構成される。
【００１１】
ネットワーク２は、インターネットや、ＬＡＮ(Local  Area  Network)、ＷＡＮ(Wide  Area  Network)などを適用でき、また、これらを組み合わせたネットワークを適用してもよい。また、ネットワーク２は、有線通信によるネットワークに限らず、無線通信によるネットワークを含んでもよい。また、サーバ１０は、図１では、１の情報処理装置であるように示されているが、実際には、サーバ１０は、機能を複数の情報処理装置、ストレージ装置などで分散させて実現する、クラウドシステムとして構成される。これに限らず、サーバ１０を１の情報処理装置により構成してもよい。
【００１２】
図１において、情報処理システム１は、各端末装置２０、２０、…を利用するユーザを、グループ３０1、３０2、…を単位として管理する。各グループ３０1、３０2、…は、例えば企業や団体などの組織体であって、それぞれ１以上のユーザが所属する。グループ３０1、３０2、…が個人であってもよい。
【００１３】
実施形態に係る情報処理システム１において、サーバ１０は、端末装置２０からの要求に応じて、特定のアプリケーションソフトウェアを作成するためのアプリケーションソフトウェア作成支援ツール（以下、支援ツール）のユーザインタフェースを、ネットワーク２を介して当該端末装置２０に提供する。サーバ１０は、既に記憶されている、特定のアプリケーションソフトウェアを定義するための各項目の値を予測した予測候補を含む候補データを、端末装置２０から送信されたキー情報に基づき検索し、支援ツールのユーザインタフェースを介して端末装置２０に提供する。端末装置２０は、このユーザインタフェースによる画面を、例えば汎用のＷｅｂブラウザを用いて表示させる。
【００１４】
サーバ１０は、公開されることが好ましくない値（秘密データ）が予測候補として用いられている場合、予め記憶される変換テーブルを参照して当該予測候補を公開可能な値に変換して、端末装置２０に提供する。また、サーバ１０は、候補データをグループ３０1、３０2、…単位で管理し、予測候補の値が、端末装置２０から要求を送信したユーザが属するグループでは用いられていない値の場合に、当該予測候補を非表示とする。
【００１５】
実施形態に係る情報処理システム１は、このようにして予測候補の値および当該予測候補の表示の可否を制御することで、蓄積される候補データが少量であっても予測機能を利用でき、且つ、予測機能による候補データの提示に伴う情報漏洩の抑制が可能となる。
【００１６】
（実施形態のより詳細な構成）
図２は、実施形態に係る情報処理装置としてのサーバ１０のハードウェア構成の例を示すブロック図である。なお、ここでは、サーバ１０を単体の装置として示しているが、それぞれ図２と同等の構成を持つ複数台の装置を協働して動作させて、１のサーバ１０としてもよい。図２において、サーバ１０は、それぞれバス１０１０により接続された、ＣＰＵ(Central  Processing  Unit)１０００と、ＲＯＭ(Read  Only  Memory)１００１と、ＲＡＭ(Random  Access  Memory)１００２と、ストレージ１００３と、通信Ｉ／Ｆ１００４と、を含む。
【００１７】
ストレージ１００３は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ１００３としてフラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ１００３は、ＣＰＵ１０００が実行するためのプログラムや各種データが記憶される。ＣＰＵ１０００は、ＲＯＭ１００１やストレージ１００３に予め記憶されるプログラムに従い、ＲＡＭ１００２をワークメモリとして用いて、このサーバ１０の全体の動作を制御する。通信Ｉ／Ｆ１００４は、ＣＰＵ１０００の制御に従いネットワーク２を介した通信を行う。
【００１８】
図３は、実施形態に適用可能な端末装置２０のハードウェア構成の例を示すブロック図である。図３において、端末装置２０は、それぞれバス２０１０により接続された、ＣＰＵ２０００と、ＲＯＭ２００１と、ＲＡＭ２００２と、グラフィックＩ／Ｆ２００３と、ストレージ２００４と、入力デバイス２００５と、データＩ／Ｆ２００６と、通信Ｉ／Ｆ２００７と、を備え、これら各部がバス２０１０により互いに通信可能に接続されている。
【００１９】
このように、端末装置２０は、ＣＰＵ２０００と、ＣＰＵ２０００に接続される各メモリとを備え、一般的なコンピュータと同等の構成を有する。端末装置２０は、デスクトップ型のコンピュータであってもよいし、タブレット型コンピュータであってもよい。また、端末装置２０は、多機能型携帯端末（スマートフォン）であってもよい。
【００２０】
ストレージ２００４は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ２００４としてハードディスクドライブを用いてもよい。ストレージ２００４は、ＣＰＵ２０００が実行するためのプログラムや各種データが格納される。なお、ストレージ２００４およびＲＯＭ２００１は、例えば１つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
【００２１】
ＣＰＵ２０００は、ＲＯＭ２００１およびストレージ２００４に記憶されるプログラムに従い、ＲＡＭ２００２をワークメモリとして用いて、この端末装置２０の全体を制御する。グラフィックＩ／Ｆ２００３は、ＣＰＵ２０００により生成された表示制御信号を、例えば端末装置２０に接続される表示デバイス２０２０が表示可能な信号に変換して出力する。表示デバイス２０２０は、例えばＬＣＤ(Liquid  Crystal  Display)を含み、グラフィックＩ／Ｆ２００３から出力された信号により駆動されて、表示制御信号に応じた画面を表示させる。
【００２２】
入力デバイス２００５は、ユーザ操作を受け付け、ユーザ操作に応じた制御信号を出力する。入力デバイス２００５は、例えばキーボードやポインティングデバイスを適用できる。また、表示デバイス２０２０と入力デバイス２００５とを一体的に形成し、表示デバイス２０２０に表示される画面に対して直接的に入力操作を実行可能な所謂タッチパネルとして構成してもよい。
【００２３】
データＩ／Ｆ２００６は、外部機器との間でデータの入出力を行う。データＩ／Ｆ２００６としては、例えば、ＵＳＢ(Universal  Serial  Bus)やＢｌｕｅｔｏｏｔｈ（登録商標）といったインタフェースを適用することができる。通信Ｉ／Ｆ２００７は、ＣＰＵ２０００の制御に従いネットワーク２を介した通信を行う。
【００２４】
図４は、実施形態に係るサーバ１０の機能を説明するための一例の機能ブロック図である。図４において、サーバ１０は、通信部１００と、ＵＩ部１０２と、認証部１０１と、検索部１０３と、提示部１０４と、変換部１０５と、を含む。サーバ１０は、さらに、ユーザ情報記憶部１１０と、定義データ記憶部１１１と、変換テーブル１１２と、候補データ記憶部１１３と、を含む。
【００２５】
これらのうち、通信部１００、ＵＩ部１０２、認証部１０１、検索部１０３、提示部１０４および変換部１０５は、ＣＰＵ１０００上で情報処理プログラムが実行されることで実現される。また、ユーザ情報記憶部１１０、定義データ記憶部１１１、変換テーブル１１２および候補データ記憶部１１３は、それぞれストレージ１００３の所定の記憶領域が用いられる。
【００２６】
通信部１００は、ネットワーク２を介して各端末装置２０、２０、…と通信を行う。
【００２７】
認証部１０１は、端末装置２０からサーバ１０へのアクセスに対して、ユーザ情報記憶部１１０に記憶されるユーザ情報を参照して認証処理を行う。
【００２８】
表１は、実施形態に適用可能な、ユーザ情報記憶部１１０に記憶されるユーザ情報の例を示す。表１に示されるように、ユーザ情報は、グループＩＤと、ユーザＩＤと、パスワードとが関連付けられたユーザ情報を含む。グループＩＤは、図１におけるグループ３０1、３０2、…を識別するグループ識別情報である。ユーザＩＤは、支援ツールを利用するユーザを識別するためのユーザ識別情報である。認証部１０１は、端末装置２０から送信されたユーザＩＤおよびパスワードに従いユーザ情報を参照して、認証処理を行う。
【００２９】
【表１】
2019133467.tif 000003
【００３０】
ＵＩ部１０２は、認証部１０１により認証された端末装置２０からの要求に応じて、支援ツールのＵＩ（ユーザインタフェース）を当該端末装置２０に対してネットワーク２を介して提供する。また、ＵＩ部１０２は、当該ＵＩに応じた処理を実行する。
【００３１】
例えば、ＵＩ部１０２は、支援ツールのＵＩを表示させるための表示制御情報をＨＴＭＬ(HyperText  Markup  Language)に準じて記述したファイルを、ストレージ１００３など、ネットワーク２上の所定のＵＲＬ(Uniform  Resource  Locator)が示す場所に格納する。以下、当該ファイルのＵＲＬを、適宜、支援ツールのＵＩのＵＲＬ、のように記述する。
【００３２】
端末装置２０は、搭載されるブラウザアプリケーションを用いて当該ＵＲＬを指定して当該ファイルにアクセスすることで、当該ファイルの記述に従い支援ツールのＵＩ（具体例は後述する）をディスプレイ（表示デバイス２０２０）に表示させることができる。また、端末装置２０において当該ＵＩに従い入力されたデータは、ネットワーク２を介してサーバ１０に送信され、通信部１００により受信されてＵＩ部１０２に渡される。
【００３３】
また、ＵＩ部１０２は、支援ツールに従い入力され端末装置２０から送信された、アプリケーションソフトウェアの定義データを、定義データ記憶部１１１に記憶する。
【００３４】
表２は、実施形態に適用可能な定義データの例を示す。表２の例では、定義データは、当該アプリケーションソフトウェアに関し、グループ、タイトルおよび各項目の各データを含む。グループは、作成するユーザの所属するグループ３０1、３０2、…を示すグループＩＤが設定される。タイトルは、当該アプリケーションソフトウェアのタイトルが設定される。タイトルの設定値は、当該定義データおよび当該定義データに基づき生成された候補データを検索する際のキー情報として用いられる。
【００３５】
【表２】
2019133467.tif 000004
【００３６】
各項目は、それぞれ項目名と、属性と、初期値と、を含む。項目名は、項目の名前が設定される。属性は、項目のタイプ（種類）が設定される。属性の例としては、項目に対してテキストデータを入力する「入力」、承認先を入力する「承認」、データの添付を行う「添付」、その項目の値の可否などを指定する「チェックボックス」などが挙げられる。支援ツールは、作成されるアプリケーションソフトウェアにおける各項目に対して、対応する属性に指定された処理を設定する。初期値は、その項目に対する値の入力を補助するための情報が設定される。
【００３７】
表２の例では、グループＩＤとして「Group#A」が設定され、この定義データがグループ「Group#A」に所属するユーザにより作成されたことが示されている。また、タイトルに「出張申請」が設定される。定義データにおいて、項目名「出発地」、「行き先」、「内容」、「旅費」、「承認先」および「補足」がそれぞれ設定されている。また、項目名「出発地」、「行き先」、「内容」、「旅費」および「補足」に対して、それぞれ属性「入力」が設定され、項目名「承認先」に対して属性「承認」が設定されている。
【００３８】
さらに、表２に示す定義データにおいて、項目名「内容」、「承認先」および「補足」に、それぞれ初期値が設定されている。これらのうち、項目名「承認先」の初期値は、承認の要求先のメールアドレスが設定されている。なお、初期値の欄が空白となっている項目名「出発地」、「行き先」および「旅費」は、初期値としてそれぞれｎｕｌｌ値が設定されているものと見做すことができる。
【００３９】
検索部１０３は、支援ツールに従い入力され端末装置２０から送信された検索要求に従い、候補データ記憶部１１３に記憶される候補データを検索する。このとき、検索部１０３は、検索された各候補データに含まれる各値を、少なくとも検索要求を行ったユーザのユーザＩＤに関連付けられるグループＩＤと、その他のグループＩＤと、についてそれぞれ集計してスコアを求める。
【００４０】
提示部１０４は、検索部１０３により検索された候補データを、支援ツールに対して入力される定義データの予測候補として支援ツールに組み込んで、検索要求を送信した端末装置２０に対して提示する。このとき、提示部１０４は、検索部１０３で求められたスコアに基づき、候補データに含まれる各値の表示および非表示を決定する。
【００４１】
変換部１０５は、端末装置２０において支援ツールに従い入力された定義データが所定の固有表現の文字列を含んでいる場合に、変換テーブル１１２を参照して、当該固有表現の文字列を、他の文字列に変換する。変換部１０５は、当該固有表現の文字列が他の文字列に変換された定義データを、候補データとして候補データ記憶部１１３に記憶する。
【００４２】
表３は、実施形態に係る変換テーブル１１２の例を示す。表３に示されるように、変換テーブル１１２は、固有表現種類（第１の文字列）と、変換後文字列（第２の文字列）とが関連付けて登録される。換言すれば、変換テーブル１１２は、固有表現種類と変換後文字列とが関連付けて格納される格納部である。固有表現種類は、固有表現の種類を示す。固有表現は、特定のユーザあるいは特定のグループに固有の表現であり、当該特定のユーザあるいは特定のグループ以外の他のユーザあるいは他のグループに公開することが好ましくない表現である。固有表現種類の例としては、個人の名前や連絡先の情報（メールアドレス、電話番号、住所など）が挙げられる。また、会社名や組織名、製品名も、同様に、特定のユーザやグループに固有の固有表現として扱うことができる。
【００４３】
【表３】
2019133467.tif 000005
【００４４】
固有表現種類は、このような固有表現の種類を示す。表３の例では、変換テーブル１１２に対し、固有表現種類として、「人名」、「会社名」、「組織名」、「製品名」、「電話番号」および「メールアドレス」が登録されている。
【００４５】
変換後文字列は、固有表現種類に対応する当たり障りの無い表現の文字列が登録される。より具体的には、変換後文字列は、例えば固有表現種類に対応する固有表現の上位概念を示す文字列を適用できる。表３の例では、変換後文字列として、固有表現種類そのものを示す文字列が適用されている。また、表３の例では、固有表現種類そのものを示す文字列を括弧で括った文字列を変換後文字列として適用している。これにより、当該文字列が変換後文字列であることが明確に示される。
【００４６】
変換部１０５は、定義データに含まれる各項目および初期値の文字列を解析して当該文字列の表現種類を特定し、特定された表現種類に基づき変換テーブル１１２を参照し、当該表現種類が変換テーブル１１２に登録された固有表現種類に該当するか否かを判定する。変換部１０５は、例えば、当該文字列から単語を抽出し、抽出した単語に基づき当該文字列の上位概念を示す文字列を求め、この上位概念の文字列を、当該文字列の表現種類に特定する。より具体的な例として、変換部１０５は、解析対象の文字列が、名字や名前らしき文字列を含む場合、当該文字列の表現種類が人名であると判定し、変換テーブル１１２を参照して、当該文字列を固有表現種類「人名」に対応する変換後文字列「［人名］」に変換する。他の固有表現種類についても、同様にして判定が可能である。
【００４７】
表４は、実施形態に係る候補データの例を示す。表４は、変換部１０５が表２の定義データを変換テーブル１１２を参照して変換した場合の例である。例えば、表２において、項目名「承認先」に対応する初期値の文字列「ｍａｉｌ０１＠ｅｘａｍｐｌｅ．ｃｏｍ」は、記号「＠（アットマーク）」を含むと共に、記号「＠」の後ろに「．ｃｏｍ」を含み、メールアドレスのフォームに適合するため、この文字列がメールアドレスらしき文字列であると判定できる。
【００４８】
【表４】
2019133467.tif 000006
【００４９】
変換部１０５は、変換テーブル１１２を参照し、定義データにおける当該初期値の文字列「ｍａｉｌ０１＠ｅｘａｍｐｌｅ．ｃｏｍ」を、固有表現種類「メールアドレス」に対応する変換後文字列「［メールアドレス］」に変換する。表４は、このように、変換部１０５が表２の定義データの項目名「承認先」に対応する初期値の文字列「ｍａｉｌ０１＠ｅｘａｍｐｌｅ．ｃｏｍ」を変換後文字列「［メールアドレス］」に変換した候補データの例を示す。変換部１０５は、このように定義データに含まれる文字列を変換した候補データを、候補データ記憶部１１３に記憶する。
【００５０】
図５は、実施形態に係る、候補データ記憶部１１３に候補データが記憶された様子を模式的に示す図である。このように、候補データ記憶部１１３は、１以上の候補データ１１３０1、１１３０2、…が記憶される。各候補データ１１３０1、１１３０2、…は、グループＩＤ１１３１1と、キー情報１１３１2（タイトル、図中ではアプリ名として示す）と、各項目の文字列１１３１3と、各項目に対応する初期値の文字列１１３２と、を含む。
【００５１】
サーバ１０における実施形態に係る各機能を実現するための情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該情報処理プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
【００５２】
当該情報処理プログラムは、通信部１００と、ＵＩ部１０２と、認証部１０１と、検索部１０３と、提示部１０４と、変換部１０５と、を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１０００がストレージ１００３などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がＲＡＭ１００２などの主記憶装置上にロードされ、通信部１００と、ＵＩ部１０２と、認証部１０１と、検索部１０３と、提示部１０４と、変換部１０５と、が主記憶装置上に生成されるようになっている。
【００５３】
図６は、実施形態に適用可能な端末装置２０の機能を説明するための一例の機能ブロック図である。図６において、端末装置２０は、制御部２００と、Ｗｅｂブラウザ２０１と、通信部２０２と、を含む。制御部２００は、この端末装置２０の全体の動作を制御するもので、例えば、ＯＳ(Operating  System)である。通信部２０２は、ネットワーク２を介した通信を行う。
【００５４】
Ｗｅｂブラウザ２０１は、表示デバイス２０２０に画面を表示させるための表示制御信号を生成する表示部２１０と、入力デバイス２００５に対する入力操作に応じた入力信号を生成する入力受付部２１１とを含む。Ｗｅｂブラウザ２０１は、例えばＨＴＭＬに準じて記述されたファイル（ＨＴＭＬファイル）を読み込み、ＨＴＭＬファイルの記述に従いＵＩを形成することができる。例えば、Ｗｅｂブラウザ２０１は、読み込んだＨＴＭＬファイルの記述を解析し、解析結果に従い表示部２１０により表示制御信号を生成させる。表示部２１０は、例えばグラフィックＩ／Ｆ２００３を制御し、表示制御信号に従い表示デバイス２０２０にファイルの内容に応じた画面を表示させる。また、Ｗｅｂブラウザ２０１は、読み込んだファイルの記述の解析結果に従い、入力受付部２１１により生成される入力信号に応じた処理を実行する。Ｗｅｂブラウザ２０１は、例えば、端末装置２０に搭載されるＯＳに同梱される汎用のＷｅｂブラウザを適用できる。
【００５５】
端末装置２０における各機能を実現するためのプログラムは、例えば端末装置２０に予め搭載される。これに限らず、当該プログラムの一部または全部を、インターネットなどのネットワークを介して端末装置２０に提供してもよいし、コンピュータで読み取り可能な記録媒体を介して端末装置２０に提供してもよい。
【００５６】
（実施形態に係る処理のより詳細な説明）
図７は、実施形態に係る、候補データの検索処理を示す一例のフローチャートである。なお、図７のフローチャートによる処理に先立って、候補データ記憶部１１３に対して、１以上、好ましくは数１０件以上の候補データ１１３０1、１１３０2、…が既に記憶されているものとする。
【００５７】
ステップＳ１００で、サーバ１０は、端末装置２０からの支援ツールの起動要求を受け付け、端末装置２０を操作するユーザに係るグループ情報を取得する。例えば、サーバ１０は、ＵＩ部１０２により、端末装置２０からの起動要求に応じて、図８に例示されるようなログイン画面を表示させるための表示制御情報を端末装置２０に送信する。端末装置２０は、Ｗｅｂブラウザ２０１により、送信された表示制御情報に従ったログイン画面を表示デバイス２０２０に表示させる。
【００５８】
なお、以下では、適宜、画面を表示させるための表示制御情報を送信することを、画面を送信する、などのように記述する。また、画面を表示デバイス２０２０に表示させることを、適宜、画面を表示させる、などのように記述する。
【００５９】
図８において、ログイン画面４０は、ユーザＩＤを入力するための入力領域４００と、パスワードを入力するための入力領域４０１と、支援ツールの起動を指示するための起動ボタン４０２と、を含む。Ｗｅｂブラウザ２０１は、入力領域４００および４０１にそれぞれユーザＩＤおよびパスワードが入力された上で起動ボタン４０２が操作されると、入力されたユーザＩＤおよびパスワードを含む支援ツールの起動要求を、サーバ１０に送信する。
【００６０】
ユーザＩＤおよびパスワードを含む起動要求は、サーバ１０に受信され、ＵＩ部１０２に渡される。ＵＩ部１０２は、起動要求に含まれるユーザＩＤおよびパスワードを認証部１０１に渡す。認証部１０１は、これらユーザＩＤおよびパスワードに基づきユーザ情報記憶部１１０を参照して認証処理を行う。ＵＩ部１０２は、ユーザＩＤに基づきユーザ情報記憶部１１０を参照し、当該ユーザＩＤに関連付けられたグループＩＤを取得する。
【００６１】
次のステップＳ１０１で、ＵＩ部１０２は、支援ツールの初期画面を端末装置２０に送信する。端末装置２０において、Ｗｅｂブラウザ２０１は、初期画面を表示させる。図９は、実施形態に適用可能な支援ツールにおける、アプリ作成画面の初期画面の例を示す図である。図９において、初期画面４１ａは、表示領域４１０と、入力領域４１１および４１２と、追加ボタン４１３と、作成ボタン４１４と、が設けられる。表示領域４１０は、ステップＳ１００で取得されたユーザＩＤおよびグループＩＤがそれぞれ表示される。
【００６２】
入力領域４１１は、支援ツールにより作成するアプリケーションソフトウェアのタイトル（アプリ名）の文字列を入力するための領域である。この入力領域４１１に入力された値（文字列）が、候補データを検索するためのキー情報となる。入力領域４１２は、当該アプリケーションソフトウェアを定義するための各項目の情報を入力するための領域である。初期画面４１ａにおいては、入力領域４１２は、ブランクとなっている。追加ボタン４１３は、入力領域４１２に対して項目を追加するためのボタンである。作成ボタン４１４は、アプリケーションソフトウェアの作成開始を指示するためのボタンである。
【００６３】
ユーザは、端末装置２０に表示される初期画面４１ａにおいて、入力領域４１１に、作成しようとするアプリケーションソフトウェアのタイトルを入力し、作成ボタン４１４を操作する。Ｗｅｂブラウザ２０１は、この作成ボタン４１４の操作に応じて、アプリケーションソフトウェアの作成指示と、入力領域４１１に入力されたタイトルの文字列とをサーバ１０に送信する。これら作成指示およびタイトルの文字列は、サーバ１０に受信され、ＵＩ部１０２に渡される。
【００６４】
次のステップＳ１０２で、ＵＩ部１０２は、端末装置２０から送信されたタイトルの文字列を取得する。ＵＩ部１０２は、取得したタイトルの文字列を検索部１０３に渡し、検索部１０３に対して、当該タイトルの文字列に基づく候補データの検索を依頼する。検索部１０３は、ＵＩ部１０２から渡されたタイトルの文字列をキー情報として用いて、候補データ記憶部１１３を検索する。ここでは、キー情報に基づき複数の候補データが検索されたものとする。
【００６５】
次のステップＳ１０３で、検索部１０３は、ステップＳ１０２で検索された各候補データに含まれる各タイトル、各項目および各初期値それぞれの文字列について、グループＩＤ毎に集計を行い、スコアを取得する。取得したスコアの例を、表５および表６に示す。表５および表６は、グループＩＤ「Group#A」および「Group#B」の各ユーザが、それぞれキー情報「出張申請」により候補データを検索した結果の例を示す。表５および表６の例では、検索結果の候補データは、上述した表４に示した候補データの各項目を含んでいる。
【００６６】
【表５】
2019133467.tif 000007
【００６７】
【表６】
2019133467.tif 000008
【００６８】
表５および表６において、タイトル、項目名および初期値それぞれについて、ステップＳ１００で認証されたユーザが属するグループの検索ヒット数を集計したスコア（自スコア）と、それ以外のグループ全ての検索ヒット数を集計したスコア（他スコア）と、を併記している。表５のグループＩＤ「Group#A」に対応する検索結果の例では、キー情報としてのタイトル「出張申請」でヒットした候補データの自スコアが「３９」、他スコアが「１００」、総数が「１３９」であることが示されている。一方、表６のグループＩＤ「Group#B」に対応する検索結果の例では、キー情報「出張申請」でヒットした候補データの自スコアが「３５」、他スコアが「１０４」であることが示されている。
【００６９】
また、表５の例では、グループＩＤ「Group#A」に対応する検索結果において、キー情報「出張申請」でヒットした各候補データに含まれる各項目名のうち、項目名「出発地」のヒット数に対応する自スコアおよび他スコアがそれぞれ「２５」および「４１」、項目名「行き先」のヒット数に対応する自スコアおよび他スコアがそれぞれ「２１」および「３５」であることが示されている。
【００７０】
さらに、表５の例において、キー情報「出張申請」でヒットした各候補データに含まれる項目名「承認先」に対応する、変換後文字列としての初期値「［メールアドレス］」のヒット数に対応する自スコアが「２０」、他スコアが「３０」とされている。このように、候補データに対する検索は、変換後文字列に対して行われる。
【００７１】
さらにまた、表５の例において、項目名「補足」に対応する初期値「今期予算は50万円です」は、変換テーブル１１２に基づく変換が行われていない値である。この初期値「今期予算は50万円です」のヒット数に対する自スコアが「１」、他スコアが「１」とされている。一方、表６の例では、当該初期値「今期予算は50万円です」のヒット数に対する自スコアが「０」、他スコアが「２」となっており、この初期値「今期予算は50万円です」が、グループＩＤ「Group#B」におけるキー情報「出張申請」でヒットした各候補データに含まれる項目名「補足」に対応する初期値としては、用いられていないことが示されている。
【００７２】
図７のフローチャートの説明に戻り、次のステップＳ１０４で、提示部１０４は、ステップＳ１０２で検索された各候補データに含まれる各項目名および各初期文字列のうち、対象の文字列について、自スコアを取得する。次のステップＳ１０５で、提示部１０４は、ステップＳ１０４で取得した自スコアが「０」であるか否かを判定する。提示部１０４は、対象の文字列の自スコアが「０」ではないと判定した場合（ステップＳ１０５、「Ｎｏ」）、処理をステップＳ１０６に移行させる。
【００７３】
ステップＳ１０６で、提示部１０４は、対象の文字列のうち、自スコアおよび他スコアを合計した合計スコアが最も高い文字列を、表示文字列に決定する。
【００７４】
ここで、提示部１０４は、各候補データに含まれる各項目名の文字列について、例えば当該文字列に出現する単語などに基づき当該文字列の意味を解析し、意味が対応する文字列同士を、共通する項目名に対応付けることができる。例えば、表７に示されるように、各文字列「行き先」、「目的地」および「到着地」は、互いに意味が対応する文字列であると判断できる。
【００７５】
【表７】
2019133467.tif 000009
【００７６】
一例として、表７に示されるように、各文字列「行き先」、「目的地」および「到着地」の、キー情報「出張申請」に対応する候補データにおける合計スコアがそれぞれ「５６」、「４９」および「３４」とされている場合について考える。この場合、提示部１０４は、合計スコアがこれらのうち最大の「５６」である文字列「行き先」が、これら各文字列「行き先」、「目的地」および「到着地」のうち最も信頼度が大きな文字列であると判定できる。したがって、提示部１０４は、当該文字列「行き先」を、これら文字列「行き先」、「目的地」および「到着地」を代表する項目名として、表示文字列に決定する。
【００７７】
一方、提示部１０４は、ステップＳ１０５で、ステップＳ１０４において取得した自スコアが「０」であると判定した場合（ステップＳ１０５、「Ｙｅｓ」）、処理をステップＳ１０７に移行させる。
【００７８】
ステップＳ１０７で、提示部１０４は、対象の文字列を非表示の文字列（非表示文字列）に決定する。すなわち、他グループにおいて用いられ、自グループにおいて用いられていない文字列は、当該他グループにとって、第三者（例えば自グループ）に公開することが好ましくない情報を含む文字列である可能性がある。したがって、提示部１０４は、このような文字列を、ステップＳ１００で認証されたユーザが属するグループに対して表示しない非表示文字列に設定する。
【００７９】
表５および表６を参照して、ステップＳ１０４の判定について、より具体的に説明する。表５に示すグループＩＤ「Group#A」に係る検索結果において、項目名「補足」に対応する初期値「今期予算は50万円です」は、自スコアが「１」、他スコアが「１」とされている。したがって、この初期値「今期予算は50万円です」は、グループＩＤ「Group#A」に対しては、表示文字列に設定する。一方、表６に示すグループＩＤ「Group#B」に係る検索結果において、項目名「補足」に対応する初期値「今期予算は50万円です」は、自スコアが「０」、他スコアが「２」とされている。したがって、この初期値「今期予算は50万円です」は、グループＩＤ「Group#B」に対しては、非表示文字列に設定する。
【００８０】
提示部１０４は、ステップＳ１０６またはステップＳ１０７の処理の後、処理をステップＳ１０８に移行させる。ステップＳ１０８で、提示部１０４は、ステップＳ１０２で検索された各候補データに含まれる各項目名および各初期文字列に含まれる全ての文字列について、ステップＳ１０４以降、ステップＳ１０８までの処理が終了したか否かを判定する。
【００８１】
提示部１０４は、ステップＳ１０８で、終了してないと判定した場合（ステップＳ１０８、「Ｎｏ」）、処理をステップＳ１０４に戻し、次の文字列について、処理を実行する。一方、提示部１０４は、ステップＳ１０８で処理が終了したと判定した場合（ステップＳ１０８、「Ｙｅｓ」）、処理をステップＳ１０９に移行させて、支援ツールによりアプリ作成画面（後述する）に表示させる表示文字列を確定させ、この図７のフローチャートによる一連の処理を終了させる。
【００８２】
図１０および図１１は、実施形態に適用可能な支援ツールの、各表示文字列が確定されたアプリ作成画面４１ｂの例を示す図である。図１０および図１１は、上述の、グループＩＤ「Group#A」の例およびグループＩＤ「Group#B」の例に対応するアプリ作成画面４１ｂの例をそれぞれ示している。アプリ作成画面４１ｂは、サーバ１０においてＵＩ部１０２により生成され、端末装置２０に送信される。アプリ作成画面４１ｂは、端末装置２０において、Ｗｅｂブラウザ２０１により表示される。
【００８３】
なお、図１０において、上述した図９と共通する部分には同一の符号を付して、詳細な説明を省略する。また、図１１は、図１０と同一の画面構成であるため、以下では、特に記載の無い限り、図１０を例にとって説明を行う。
【００８４】
図１０において、アプリ作成画面４１ｂは、図９の初期画面４１ａと同様に、表示領域４１０と、入力領域４１１および４１２と、追加ボタン４１３と、を含む。また、アプリ作成画面４１ｂは、初期画面４１ａの作成ボタン４１４の代わりに、保存ボタン４１５を含む。
【００８５】
入力領域４１１は、図７のフローチャートのステップＳ１０２において取得されたタイトルの文字列（この例では「出張申請」）が表示される。入力領域４１２は、入力領域４１１に表示されるタイトルの文字列をキー情報として検索された候補データの各項目名に対応する各入力領域４１２０1、４１２０2、４１２０3、４１２０4、４１２０5および４１２０6が設けられる。図１０の例では、各入力領域４１２０1、４１２０2、…、４１２０6は、左端にチェックボックスが配され、以降、右方向に、項目名、属性および初期値を入力する各入力領域が配される。
【００８６】
チェックボックスは、対応する入力領域４１２０1、４１２０2、…、４１２０6を有効とするか否かを指定する。各入力領域４１２０1、４１２０2、…、４１２０6における、項目名および初期値の入力領域には、それぞれ、図７のフローチャートのステップＳ１０２で検索された候補データに対してスコアに基づき確定された、各項目名および各初期値の文字列が、当該各項目名および各初期値の予測候補としてそれぞれ表示される。
【００８７】
図１０の例では、入力領域４１２０1、４１２０2および４１２０4の初期値の入力領域が空白とされている。この空白とされた入力領域は、ｎｕｌｌ値が入力されていると見做すことができる。また、各入力領域４１２０1、４１２０2、…、４１２０6における属性の入力領域には、対応する項目名の入力領域に表示される項目名に対応する属性が、当該属性の予測候補として表示される。
【００８８】
ここで、グループＩＤ「Group#A」に係る候補データは、表５に示したように、項目名「補足」に対応する初期値の文字列「今期予算は50万円です」について、自スコアが「１」、他スコアが「１」とされ、当該文字列が表示文字列に設定されている。したがって、図１０の例では、項目名の入力領域に「補足」が表示される入力領域４１２０6において、初期値の入力領域４１２１に、当該文字列「今期予算は50万円です」が予測候補として表示されている。
【００８９】
一方、グループＩＤ「Group#B」に係る候補データは、表６に示したように、項目名「補足」に対応する初期値の文字列「今期予算は50万円です」について、自スコアが「０」、他スコアが「２」とされ、当該文字列が非表示文字列にとして扱われている。したがって、当該文字列「今期予算は50万円です」が表示対象の文字列から除外され、図１１に例示されるように、項目名の入力領域に「補足」が表示される入力領域４１２０6において、当該文字列に対応する入力領域４１２１’が空白とされている。
【００９０】
ユーザは、端末装置２０において入力デバイス２００５を操作することで、Ｗｅｂブラウザ２０１に表示される画面上で、アプリ作成画面４１ｂの各入力領域４１１、４１２０1〜４１２０6に予測候補として表示される各文字列を変更することが可能である。例えば、ユーザは、端末装置２０において、表示デバイス２０２０に表示されるアプリ作成画面４１ｂに従い入力デバイス２００５を操作し、各入力領域４１１、４１２０1〜４１２０6に対して所望の文字列を入力することができる。
【００９１】
ここで、例えば新たなグループＩＤを用いて実施形態に係る支援ツールによりアプリケーションソフトウェアを作成する場合について考える。この場合、上述したステップＳ１０５〜ステップＳ１０７の処理によれば、各項目名の自スコアが全て「０」となり、各項目名の予測候補が全く表示されないことになる。例えば、新規のグループＩＤにより実施形態に係る支援ツールを使用する場合には、各項目名に対応する自スコアの初期値を例えば「１」とすることで、新規のグループＩＤによる支援ツールの利用に際して予測候補を表示させることが可能となる。
【００９２】
端末装置２０において、Ｗｅｂブラウザ２０１は、アプリ作成画面４１ｂの保存ボタン４１５に対する操作に応じて、各入力領域４１１、４１２０1〜４１２０6に表示される文字列と、当該文字列の保存要求とをサーバ１０に送信する。ここでサーバ１０に送信される各文字列は、支援ツールにより作成されるアプリケーションソフトウェアを定義するための定義データである。また、Ｗｅｂブラウザ２０１は、例えば図７のフローチャートのステップＳ１００で取得したグループＩＤを保存要求に含めてサーバ１０に送信する。
【００９３】
図１２は、実施形態に係る、サーバ１０における定義データの保存処理を示す一例のフローチャートである。ステップＳ２００で、サーバ１０は、端末装置２０から送信された保存要求と、保存対象である定義データと、を受信し、ＵＩ部１０２に渡す。次のステップＳ２０１で、変換部１０５は、ＵＩ部１０２から、ステップＳ２００で受信された定義データに含まれる各文字列を取得する。変換部１０５は、取得した定義データの各文字列を、保存要求に含まれるグループＩＤと関連付けて、定義データ記憶部１１１に記憶する。
【００９４】
次のステップＳ２０２で、変換部１０５は、取得した定義データに含まれる各文字列から処理の対象とする対象文字列を取得する。処理の対象とする対象文字列は、例えば、定義データに含まれる各項目および初期値の文字列である。次のステップＳ２０３で、変換部１０５は、上述したようにして対象文字列を解析し、対象文字列の表現種類を特定する。
【００９５】
次のステップＳ２０３で、変換部１０５は、ステップＳ２０３で特定した表現種類に基づき変換テーブル１１２を参照する。次のステップＳ２０５で、変換部１０５は、ステップＳ２０３で特定した表現種類が変換テーブル１１２に登録される固有表現種類の何れかに該当するか否かを判定する。変換部１０５は、変換テーブル１１２に、当該表現種類に対応する固有表現種類が登録されていると判定した場合（ステップＳ２０５、「Ｙｅｓ」）、処理をステップＳ２０６に移行させる。ステップＳ２０６で、変換部１０５は、対象文字列を、当該対象文字列に基づき特定された表現種類に対応する固有表現種類の文字列に変換する。
【００９６】
一方、ステップＳ２０５で当該表現種類が変換テーブル１１２に登録される固有表現種類に該当しないと判定した場合（ステップＳ２０５、「Ｎｏ」）、変換部１０５は、ステップＳ２０６の変換処理をスキップして、処理をステップＳ２０７に移行する。
【００９７】
ステップＳ２０７で、変換部１０５は、ステップＳ２０１で取得された定義データに含まれる全ての文字列について、ステップＳ２０２以降、ステップＳ２０６までの処理が終了したか否かを判定する。
【００９８】
変換部１０５は、ステップＳ２０７で、終了していないと判定した場合（ステップＳ２０７、「Ｎｏ」）、処理をステップＳ２０２に戻し、次の文字列について、処理を実行する。一方、変換部１０５は、ステップＳ２０７で処理が終了したと判定した場合（ステップＳ２０７、「Ｙｅｓ」）、処理をステップＳ２０８に移行させる。ステップＳ２０８で、変換部１０５は、ステップＳ２０６の処理で変換された文字列を含む定義データを、当該定義データ関連に付けられたグループＩＤに対応する候補データとして、候補データ記憶部１１３に記憶する。
【００９９】
上述したように、実施形態では、アプリ作成画面４１ｂの各項目名および各初期値として入力された文字列の表現種類が固有表現種類に対応する場合に、当該文字列を他の文字列に変換して予測候補として表示している。また、アプリ作成画面４１ｂの各項目名および各初期値に表示する予測候補の表示および非表示を、グループＩＤ毎に集計したスコアに基づき制御している。そのため、蓄積される候補データが少量であっても予測機能を利用でき、且つ、予測機能による候補データの提示に伴う情報漏洩の抑制が可能となる。例えば、実施形態に係る支援ツールは、入力されたキー情報に対応する少なくとも１つの候補データが候補データ記憶部１１３に記憶されていれば、予測候補を表示可能である。
【０１００】
上述では、実施形態がアプリケーションソフトウェアの作成を支援する支援ツールに適用されるものとして説明したが、これはこの例に限定されない。すなわち、実施形態は、入力に規則性のあるフォームの作成など、規則性のある処理を完成させる事例であれば、他の事例にも適用可能である。
【０１０１】
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１０２】
１  情報処理システム
２  ネットワーク
１０  サーバ
２０  端末装置
３０1、３０2  グループ
４１ａ  初期画面
４１ｂ  アプリ作成画面
１００  通信部
１０１  認証部
１０２  ＵＩ部
１０３  検索部
１０４  提示部
１０５  変換部
１１０  ユーザ情報記憶部
１１１  定義データ記憶部
１１２  変換テーブル
１１３  候補データ記憶部
２０１  Ｗｅｂブラウザ
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２０１３−１９６４６８号公報
【図１】
2019133467.tif 000010
【図２】
2019133467.tif 000011
【図３】
2019133467.tif 000012
【図４】
2019133467.tif 000013
【図５】
2019133467.tif 000014
【図６】
2019133467.tif 000015
【図７】
2019133467.tif 000016
【図８】
2019133467.tif 000017
【図９】
2019133467.tif 000018
【図１０】
2019133467.tif 000019
【図１１】
2019133467.tif 000020
【図１２】
2019133467.tif 000021