JP5600826B1 - 非構造化データ処理システム、非構造化データ処理方法およびプログラム - Google Patents
非構造化データ処理システム、非構造化データ処理方法およびプログラム Download PDFInfo
- Publication number
- JP5600826B1 JP5600826B1 JP2013175709A JP2013175709A JP5600826B1 JP 5600826 B1 JP5600826 B1 JP 5600826B1 JP 2013175709 A JP2013175709 A JP 2013175709A JP 2013175709 A JP2013175709 A JP 2013175709A JP 5600826 B1 JP5600826 B1 JP 5600826B1
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- unstructured data
- component
- components
- generated
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
Abstract
【課題】自然言語文などの非構造化データを処理するワークフローが、適切に自動構築かつ自動実行できるようにする。
【解決手段】非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成する非構造化データ処理プラットフォームを備える。複数のコンポーネントの入出力を定義するメタデータを持つ。ワークフローを生成する際には、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成する。ワークフローは一つまたは複数からなる任意のサーバで自動的に実行する。
【選択図】図3
【解決手段】非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成する非構造化データ処理プラットフォームを備える。複数のコンポーネントの入出力を定義するメタデータを持つ。ワークフローを生成する際には、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成する。ワークフローは一つまたは複数からなる任意のサーバで自動的に実行する。
【選択図】図3
Description
本発明は、自然言語文などの非構造化データを処理する非構造化データ処理システム、非構造化データ処理方法及びプログラムに関する。
従来、例えば問題文に対する回答文を作成する処理や、入力文を他の言語の文章に変換する処理などの各種言語処理を行うシステムは、構築に非常に手間と時間がかかるという問題があった。具体的には、自然言語処理を行うための処理ツールとして、音声認識ツール、言語モデルを生成するツール、構文解析を行うツール、単語アライメントを行うツール、自動翻訳を行うツールなどの様々なツールがある。また、同じような処理を行うツールであっても、使用目的や処理精度が異なる様々なツールが存在する。
特許文献1には、UIMA(Unstructured Information Management Architecture)のアーキテクチャを利用した自動テキスト分析システムの例についての記載がある。
これらの様々なツールを組み合わせることで、目的とする自然言語文処理が行えるシステムを組むことは可能である。しかしながら、実際には自然言語文を処理する既存のツールは、そのツールを作成した際の要求に合わせて専用に設計されたものがほとんどである。したがって、何らかの目的をもって複数の言語処理ツールを組み合わせる場合、それぞれのツールの間でのデータの入出力などが適正に行えるようなチューニング作業が必要であり、自然言語文の入力から結果の出力までのシステムを完成させるためには、専門的な知識を持った者が時間をかけて作業を行う必要があった。従来、自然言語文を処理するワークフローを自動構築するようなシステムは存在しなかった。
上述したように、様々な処理モジュールで共通となるアーキテクチャとして、UIMAと称されるものが既に開発されている(特許文献1参照)。このUIMAを適用することで、複数の言語処理ツールが共通のプラットフォームで実行できるようになる。
しかしながら、UIMAは、データ構造や処理を行う階層構造などを規定するだけであるため、専門家でないユーザが使いこなすためには敷居が高いという問題があった。また、UIMAは共通のプラットフォームを提供するだけであるため、システムの拡張や、言語処理ツールそれぞれのカスタマイズなどは、システムの設計者に任されており、UIMAの適用だけで、上述したような自然言語文を処理するワークフローが自動構築できるものではない。
しかしながら、UIMAは、データ構造や処理を行う階層構造などを規定するだけであるため、専門家でないユーザが使いこなすためには敷居が高いという問題があった。また、UIMAは共通のプラットフォームを提供するだけであるため、システムの拡張や、言語処理ツールそれぞれのカスタマイズなどは、システムの設計者に任されており、UIMAの適用だけで、上述したような自然言語文を処理するワークフローが自動構築できるものではない。
なお、ここまでは、自然言語文を処理するワークフローを構築する場合の問題について説明したが、その他の非構造化データを処理するワークフローを構築する場合にも同様の問題がある。自然言語文以外の非構造化データには、例えば画像データ、動画データ、音声データなどがある。
本発明はこれらの点に鑑みてなされたものであり、自然言語文などの非構造化データを処理するワークフローが自動構築できる非構造化データ処理システム、非構造化データ処理方法およびプログラムを提供することを目的とする。
本発明の非構造化データ処理システムは、非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成する非構造化データ処理プラットフォームを備え、複数のコンポーネントの入出力を定義するメタデータを持つ。
また、本発明の非構造化データ処理システムは、ワークフロー生成部と、評価部と、ワークフロー実行部と、表示部とを備える。
評価部は、ワークフロー生成部が生成したワークフローによる非構造化データの処理結果の評価を行う。
ワークフロー生成部は、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成する。
ワークフロー実行部は、ワークフロー生成部が生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行う。
表示部は、ワークフロー生成部が生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する。
また、本発明の非構造化データ処理システムは、ワークフロー生成部と、評価部と、ワークフロー実行部と、表示部とを備える。
評価部は、ワークフロー生成部が生成したワークフローによる非構造化データの処理結果の評価を行う。
ワークフロー生成部は、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成する。
ワークフロー実行部は、ワークフロー生成部が生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行う。
表示部は、ワークフロー生成部が生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する。
本発明の非構造化データ処理方法は、非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成して、その生成されたワークフローを実行する非構造化データ処理方法であり、複数のコンポーネントの入出力を定義するメタデータを持つ。
そして、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成処理を行う。
また、ワークフロー生成処理で生成したワークフローによる非構造化データの処理結果の評価を行う評価処理を行う。
さらに、ワークフロー生成部が生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うことで、ワークフロー実行処理を行う。
さらにまた、ワークフロー生成処理で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示処理を行う。
そして、複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成処理を行う。
また、ワークフロー生成処理で生成したワークフローによる非構造化データの処理結果の評価を行う評価処理を行う。
さらに、ワークフロー生成部が生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うことで、ワークフロー実行処理を行う。
さらにまた、ワークフロー生成処理で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示処理を行う。
本発明のプログラムは、非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成して、その生成されたワークフローによる手順をコンピュータに実行させるためのプログラムであり、以下の手順をコンピュータに実行させるためのプログラムである。
(a)複数のコンポーネントの入出力を定義するメタデータを保持する手順
(b)複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成手順
(c)ワークフロー生成手順で生成したワークフローによる非構造化データの処理結果の評価を行う評価手順
(d)ワークフロー生成手順で生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うことで、ワークフロー実行処理を行うワークフロー実行手順
(e)ワークフロー生成手順で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示手順
(a)複数のコンポーネントの入出力を定義するメタデータを保持する手順
(b)複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成手順
(c)ワークフロー生成手順で生成したワークフローによる非構造化データの処理結果の評価を行う評価手順
(d)ワークフロー生成手順で生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うことで、ワークフロー実行処理を行うワークフロー実行手順
(e)ワークフロー生成手順で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示手順
本発明によると、適切なコンポーネントが選ばれて、非構造化データの入力から処理結果を得るまでのワークフローが自動的に生成されるため、情報処理に関する知識がないユーザであっても、必要な処理を行うシステムを自動的に得ることができるようになる。
以下、本発明の一実施の形態の例(以下「本例」と称する。)を、添付図面を参照して説明する。本例のシステムは、非構造化データの一例として、自然言語文のデータを扱うものとした。この自然言語文のデータを扱うのは1つの例であり、画像データ(動画データ、静止画像データ)や音声データなどのその他の非構造化データを扱うシステムに本発明を適用してもよい。
[1.システム全体の構成例]
図1は、本例の自然言語処理システム全体の例を示す。
本例の自然言語処理システムは、それぞれがネットワークを介してデータ転送可能に接続される、クライアント端末10とサーバ20によって構築される。また、本例の自然言語処理システムは、言語処理を行うコンポーネント(ツール)が用意された外部のサーバ30〜70ともネットワークを介してデータ転送を行うことができる。言語処理を行うコンポーネントとしては、例えば音声認識用のコンポーネント、言語モデルを生成するコンポーネント、構文解析を行うコンポーネント、単語アライメントを行うコンポーネント、自動翻訳を行うコンポーネントなど様々なものがある。これらのコンポーネントは、非構造化データを扱うUIMAのアーキテクチャにより、共通のプラットフォーム上でデータ交換を行うことが可能なものである。共通のプラットフォーム上でデータ交換を可能とするために、それぞれのコンポーネントは、データフォーマットとデータ構造とデータ表現を統一すると共に、階層構造を明確化する。
図1は、本例の自然言語処理システム全体の例を示す。
本例の自然言語処理システムは、それぞれがネットワークを介してデータ転送可能に接続される、クライアント端末10とサーバ20によって構築される。また、本例の自然言語処理システムは、言語処理を行うコンポーネント(ツール)が用意された外部のサーバ30〜70ともネットワークを介してデータ転送を行うことができる。言語処理を行うコンポーネントとしては、例えば音声認識用のコンポーネント、言語モデルを生成するコンポーネント、構文解析を行うコンポーネント、単語アライメントを行うコンポーネント、自動翻訳を行うコンポーネントなど様々なものがある。これらのコンポーネントは、非構造化データを扱うUIMAのアーキテクチャにより、共通のプラットフォーム上でデータ交換を行うことが可能なものである。共通のプラットフォーム上でデータ交換を可能とするために、それぞれのコンポーネントは、データフォーマットとデータ構造とデータ表現を統一すると共に、階層構造を明確化する。
ここで、コンポーネントの例について示すと、例えば文境界検出器として作動するコンポーネントと、単語境界検出器として作動するコンポーネントとがある。
文境界検出器は、付加情報なしのテキストを受け取り、そのテキストに文境界を付加して出力する。文境界検出器の入力と出力の定義例を示すと、例えば入力は[Text, N/A]、出力は[Text、Sentence]となる。
単語境界検出器は、文境界の付加されたテキストを受け取り、そのテキストに単語境界を付加して出力する。単語境界検出器の入力と出力の定義例を示すと、入力は[Text, Sentence]、出力は[Text、Token]となる。
文境界検出器は、付加情報なしのテキストを受け取り、そのテキストに文境界を付加して出力する。文境界検出器の入力と出力の定義例を示すと、例えば入力は[Text, N/A]、出力は[Text、Sentence]となる。
単語境界検出器は、文境界の付加されたテキストを受け取り、そのテキストに単語境界を付加して出力する。単語境界検出器の入力と出力の定義例を示すと、入力は[Text, Sentence]、出力は[Text、Token]となる。
上述した入力や出力を定義する[Text],[Sentence],[Token]等は、生情報や付加情報の種類を表すデータ型である。データ型は階層的に定義され、親子関係が利用できるようになっている。例えば、単語境界に品詞を付与したものは、[POSToken]という[Token]の子データ型として定義される。
既存ツールをコンポーネント化するにあたっては、必要に応じて実装の修正を行い、入出力による完全な記述が行えるようにする。既存ツールのコンポーネント化に際しては、なるべく細かく分割することで、再利用性(組み合わせ数の増加)の向上を図る。ただし、あくまで入出力による完全な記述が行える範囲にとどめる。たとえば一般的なプログラミングの関数も入出力の定義がなされているが、[Integer]や[String]と書いてあるだけで暗黙の条件が存在することが多く、そのままではコンポーネント化することはできない。
既存ツールをコンポーネント化するにあたっては、必要に応じて実装の修正を行い、入出力による完全な記述が行えるようにする。既存ツールのコンポーネント化に際しては、なるべく細かく分割することで、再利用性(組み合わせ数の増加)の向上を図る。ただし、あくまで入出力による完全な記述が行える範囲にとどめる。たとえば一般的なプログラミングの関数も入出力の定義がなされているが、[Integer]や[String]と書いてあるだけで暗黙の条件が存在することが多く、そのままではコンポーネント化することはできない。
このようにコンポーネント化をしていくと、コンポーネントごとに必要なデータ型があり、それらを合わせてデータ型階層を構築する。データ型は際限なく深い階層を作れてしまうが、完全な入出力記述を行うのに必要なデータ型のみにとどめることで、不要なデータ型を定義する必要がなくなる。一方、完全な入出力記述を行うのに必要なデータ型に加え、比較評価の対象となりうるデータ型については、これを定義することが必要となる。なお、サーバ20は、言語処理を行うコンポーネントの一部又は全てを備えていてもよい。
クライアント端末10は、ユーザが操作するキーボードなどの入力部や、処理結果などを表示する表示部を備えた情報処理端末である。ユーザが初めてシステムを使う際は、サーバ20からこのクライアント端末10にクライアントプログラムが自動的にダウンロードされ自動的にインストールされる。このクライアント端末10は、ネットワークを介してサーバ20にアクセスして、ワークフローの作成指示を行う。
サーバ20は、自然言語処理プラットフォームを備える。このサーバ20に用意された自然言語処理プラットフォームは、メタデータ記憶部21とリソース部22とを有する。
サーバ20は、自然言語処理プラットフォームを備える。このサーバ20に用意された自然言語処理プラットフォームは、メタデータ記憶部21とリソース部22とを有する。
メタデータ記憶部21は、自然言語処理プラットフォームで使用することが可能な言語処理コンポーネントについての情報(メタデータ)を記憶する。リソース部22は、クライアント端末10から指示された要求に基づいて、メタデータ記憶部21に記憶されたメタデータを使って、適切な言語処理についての実行可能なワークフロープログラムを生成する。
メタデータ記憶部21が記憶するメタデータには、このシステムが使用可能なそれぞれのコンポーネントについて、入出力を定義したデータを持つ。すなわち、上述したように、コンポーネントごとの入力及び出力の定義と、データ型階層の定義が、メタデータで示される。
メタデータ記憶部21は、リソース部22で定義されたコンポーネントを実行するプログラムを記憶する。コンポーネントを実行するプログラムは複数に分割することができる。コンポーネントを実行するプログラムは複数のコンポーネントで共有することもできる。
クライアントプログラムがワークフローを生成する際には、クライアント端末10から指示された、入力となる自然言語文の形式と、最終的に出力したいデータ形式とをクライアントプログラムが判断して、その入力から出力が得られるまでに必要なコンポーネントを探し出す処理を行う。クライアントプログラムによる具体的なワークフロー生成処理の例は後述する。
メタデータ記憶部21は、リソース部22で定義されたコンポーネントを実行するプログラムを記憶する。コンポーネントを実行するプログラムは複数に分割することができる。コンポーネントを実行するプログラムは複数のコンポーネントで共有することもできる。
クライアントプログラムがワークフローを生成する際には、クライアント端末10から指示された、入力となる自然言語文の形式と、最終的に出力したいデータ形式とをクライアントプログラムが判断して、その入力から出力が得られるまでに必要なコンポーネントを探し出す処理を行う。クライアントプログラムによる具体的なワークフロー生成処理の例は後述する。
サーバ40,50,60,70は、実行可能なワークフロープログラムを実行する計算資源である。クライアント端末10内のクライアントプログラムの指示により、リソース部22から転送された言語処理を行うコンポーネントプログラムを備える。そして、サーバ20が生成したワークフローで指定されたコンポーネントを備えたサーバ(サーバ40〜70のいずれか、または複数)内のコンポーネント実行部が、言語処理を実行する。
複数のサーバ40〜70が分散してコンポーネントを持つシステムとするのは、あくまでも1つの例であり、例えば1つのサーバ40に全てのコンポーネントを持たせて、サーバ40がコンポーネント実行部(ワークフロー実行部)を持つようにしてもよい。あるいは、自然言語処理プラットフォームを持つサーバ20が、言語処理を行うコンポーネントを持つようにしてもよい。さらに、本例の自然言語処理プラットフォームで作成されたワークフローで指定されたコンポーネントのデータを、各サーバ40〜70からクライアント端末10に転送して、クライアント端末10がワークフローを実行するワークフロー実行部を備えるようにしてもよい。
複数のサーバ40〜70が分散してコンポーネントを持つシステムとするのは、あくまでも1つの例であり、例えば1つのサーバ40に全てのコンポーネントを持たせて、サーバ40がコンポーネント実行部(ワークフロー実行部)を持つようにしてもよい。あるいは、自然言語処理プラットフォームを持つサーバ20が、言語処理を行うコンポーネントを持つようにしてもよい。さらに、本例の自然言語処理プラットフォームで作成されたワークフローで指定されたコンポーネントのデータを、各サーバ40〜70からクライアント端末10に転送して、クライアント端末10がワークフローを実行するワークフロー実行部を備えるようにしてもよい。
[2.クライアント端末がワークフローの生成処理を実行する場合の構成例]
図2は、クライアント端末10が、サーバ20から必要な情報を取得して、ワークフローの生成処理を行う場合の機能ブロック図である。図2では、クライアント端末10が、メタデータ記憶部17を備え、メタデータを蓄積する例を示しているが、クライアント端末10がサーバ20などとデータ転送を行って、随時サーバからメタデータを読み出すようにしてもよい。
図2は、クライアント端末10が、サーバ20から必要な情報を取得して、ワークフローの生成処理を行う場合の機能ブロック図である。図2では、クライアント端末10が、メタデータ記憶部17を備え、メタデータを蓄積する例を示しているが、クライアント端末10がサーバ20などとデータ転送を行って、随時サーバからメタデータを読み出すようにしてもよい。
図2に示すように、クライアント端末10は、ユーザが操作するキーボードやマウスなどからなる入力部11を備える。入力部11にユーザ操作指令が入力されると、その指令が条件判定部12に供給される。条件判定部12は、ユーザが入力した条件を判定し、判定した条件をワークフロー生成部13に伝える。例えば、ユーザは、入力部11を使ってワークフローの最初のコンポーネントと最後のコンポーネントとを指定する。このとき、条件判定部12が、その指定されたコンポーネントを判定する。あるいは、ユーザが直接コンポーネントを指定する代わりに、コンポーネントの種類,機能などの条件の詳細を指定してもよい。これらの処理を条件判定部12が行う際には、メタデータ記憶部17が記憶したメタデータを参照する。クライアント端末10のメタデータ記憶部17が記憶したデータは、サーバ20のメタデータ記憶部21から読み出したデータである。
ワークフロー生成部13は、条件判定部12からワークフローの条件が伝えられると、ワークフローを作成する。このとき、ワークフロー生成部13は、メタデータ記憶部17に記憶されたメタデータを参照して、条件に合致するコンポーネントを探し出す。
すなわち、ワークフロー生成部13がメタデータ記憶部17に記憶されたメタデータを参照することで、ワークフロー生成部13は、任意のコンポーネントのペアが接続可能かどうかを自動的に判定することができる。つまり、一方のコンポーネントのデータ出力形式と、他方のコンポーネントのデータ入力形式とが同じ階層で一致する場合に、この2つのコンポーネントは接続可能と判断することができる。
すなわち、ワークフロー生成部13がメタデータ記憶部17に記憶されたメタデータを参照することで、ワークフロー生成部13は、任意のコンポーネントのペアが接続可能かどうかを自動的に判定することができる。つまり、一方のコンポーネントのデータ出力形式と、他方のコンポーネントのデータ入力形式とが同じ階層で一致する場合に、この2つのコンポーネントは接続可能と判断することができる。
このように入出力の定義と階層構造のデータとを使って、ワークフロー生成部13が、接続可能なコンポーネントを接続して行くことにより、実行可能なワークフローが生成される。
ワークフロー生成部13がワークフローを生成する際の制約条件がない場合には、作成可能なワークフローの数が多くなりすぎるので、ユーザは、ワークフローの最初のコンポーネント(入力の指定)と、最後のコンポーネント(目的の指定)を、表示部16での表示を見ながら指定するのが好ましい。
ワークフロー生成部13がワークフローを生成する際の制約条件がない場合には、作成可能なワークフローの数が多くなりすぎるので、ユーザは、ワークフローの最初のコンポーネント(入力の指定)と、最後のコンポーネント(目的の指定)を、表示部16での表示を見ながら指定するのが好ましい。
例えば、最初の状態では、表示部16は使用可能なコンポーネントの一覧を表示し、ユーザはGUI操作などでその一覧中から最初のコンポーネントと最後のコンポーネントを指定することができる。あるいは、最初のコンポーネントと最後のコンポーネントの途中にあるコンポーネントを指定してもよい。
このようにユーザがコンポーネントを指定することにより、生成するワークフロー数を削減した上で、目的に合致した適切なワークフローを生成することができる。
このようにユーザがコンポーネントを指定することにより、生成するワークフロー数を削減した上で、目的に合致した適切なワークフローを生成することができる。
なお、ワークフロー生成部13がワークフローを生成する際に、オプションとして、必ず特定のコンポーネントを用いるように指定するようにしてもよい。
また、ワークフロー生成部13が作成したワークフローの数が多い場合には、予め決められた所定の優先順序に従って、候補のワークフローを表示してもよい。例えば、候補のワークフローが複数あるとき、単純な構造のワークフローから複雑な構造のワークフローまで、順次表示するようにしてもよい。
また、ワークフロー生成部13が作成したワークフローの数が多い場合には、予め決められた所定の優先順序に従って、候補のワークフローを表示してもよい。例えば、候補のワークフローが複数あるとき、単純な構造のワークフローから複雑な構造のワークフローまで、順次表示するようにしてもよい。
ワークフロー生成部13が作成したワークフローは、表示部16に表示される。なお、入力部11を使ってユーザが入力した条件についても、表示部16に表示される。
そして、ワークフロー生成部13が作成したワークフローは、評価部14によって評価される。このとき、評価部14は、例えば「人間がつけた正解」を、ワークフローによる処理が、何パーセント自動的に復元できたかで評価を行う。但し、数値の算出方法はデータや目的によってさまざまである。
予め評価を行うコンポーネントを用意して、評価部14がそのコンポーネントを実行することにより評価を行うようにしてもよい。また、評価部14は、複数種類の異なる評価を同時に実行して、多面的に評価を行うようにしてもよい。
評価部14が評価した結果は、表示部16に表示される。例えば、表示部16には、何パーセント自動的に復元できたかの数値が表示される。
そして、ワークフロー生成部13が作成したワークフローは、評価部14によって評価される。このとき、評価部14は、例えば「人間がつけた正解」を、ワークフローによる処理が、何パーセント自動的に復元できたかで評価を行う。但し、数値の算出方法はデータや目的によってさまざまである。
予め評価を行うコンポーネントを用意して、評価部14がそのコンポーネントを実行することにより評価を行うようにしてもよい。また、評価部14は、複数種類の異なる評価を同時に実行して、多面的に評価を行うようにしてもよい。
評価部14が評価した結果は、表示部16に表示される。例えば、表示部16には、何パーセント自動的に復元できたかの数値が表示される。
また、クライアント端末10は、ユーザ選択部15を備える。ユーザ選択部15は、入力部11からの指示により、作成したワークフローのいずれかを選択して、自然言語文のデータを処理するワークフローを確定する。確定したワークフローは、表示部16に表示される。
その後、クライアント端末10がワークフローを実行する際には、そのワークフローを構成するそれぞれのコンポーネントを持つサーバ(例えばサーバ40〜70のいずれか)に対して、指定した自然言語文の処理を指示する。そして、サーバからの処理結果をクライアント端末10が受け取り、この受け取った処理結果を必要に応じて、クライアント端末10から別のコンポーネントを持つサーバに送ることにより、クライアント端末10からの指示でワークフロー全体の処理を実行することができる。
その後、クライアント端末10がワークフローを実行する際には、そのワークフローを構成するそれぞれのコンポーネントを持つサーバ(例えばサーバ40〜70のいずれか)に対して、指定した自然言語文の処理を指示する。そして、サーバからの処理結果をクライアント端末10が受け取り、この受け取った処理結果を必要に応じて、クライアント端末10から別のコンポーネントを持つサーバに送ることにより、クライアント端末10からの指示でワークフロー全体の処理を実行することができる。
なお、既に説明したように、この図2のクライアント端末10の構成は、ワークフローの作成処理に必要なデータやプログラムをクライアント端末10が取得して、クライアント端末10がワークフローの作成処理を実行する場合の例である。これに対して、サーバ側が一部又は全ての構成要素を備えて、クライアント端末10はユーザからの操作入力と表示だけを行うようにしてもよい。また、クライアント端末10が、それぞれのコンポーネントの処理を実行する能力がある場合には、それぞれのコンポーネントのデータをクライアント端末10が取得して、クライアント端末10がワークフローで示された各コンポーネントの処理を行うようにしてもよい。
[3.ワークフロー生成時の処理例]
図3は、クライアント端末10が、サーバ20から必要なデータを取得して、ワークフローを生成する際の処理例を示すフローチャートである。
まず、クライアント端末10のクライアントプログラムは、計算資源の用意と指定を行う(ステップS11)。
そして、クライアント端末10の条件判定部12及びワークフロー生成部13は、サーバ20のメタデータ記憶部21から、必要なメタデータを取得する(ステップS12)。
図3は、クライアント端末10が、サーバ20から必要なデータを取得して、ワークフローを生成する際の処理例を示すフローチャートである。
まず、クライアント端末10のクライアントプログラムは、計算資源の用意と指定を行う(ステップS11)。
そして、クライアント端末10の条件判定部12及びワークフロー生成部13は、サーバ20のメタデータ記憶部21から、必要なメタデータを取得する(ステップS12)。
次に、クライアント端末10は、ユーザ操作で入力された自然言語処理を実行するために必要なコンポーネントの検索を行う(ステップS13)。このとき、ユーザは、最初と最後のコンポーネントを指定するなどの、条件を指定する操作を行うことができる。またユーザは、最初と最後の処理の種類などの、その他の検索条件を指定してもよい。
クライアント端末10のワークフロー生成部13が検索したコンポーネントは、クライアント端末10が備える表示部に表示される。このとき、ユーザは、表示されたコンポーネントの中から、いずれかのコンポーネントを指定することができる。また、複数のコンポーネントを選択して、その選択したコンポーネントを接続するような操作を、クライアント端末10の画面上で行うこともできる。
クライアント端末10のワークフロー生成部13は、ステップS13で検出されたコンポーネントやユーザにより指定されたコンポーネントを使用して、ワークフローを生成する(ステップS14)。このとき、ワークフロー生成部13では、ユーザによるコンポーネントの指定がない場合には、自動的にワークフローを生成する処理が行われる。また、最初と最後などの一部のコンポーネントが指定されたとき、ワークフロー生成部13では、それらのコンポーネントを使って、半自動でワークフローが生成される。
そして、クライアント端末10のユーザ選択部15は、作成されたワークフローの候補が複数あるか否かを判断する(ステップS15)。このステップS15の判断で複数の候補がある場合、ユーザ選択部15は、ワークフローの選択画面を表示部16に表示する(ステップS16)。
そして、ユーザ選択部15は、ユーザ操作により作成されたワークフローの候補から、いずれかのワークフローを選択して確定する処理が行われたか否かを判断する(ステップS17)。ワークフロー生成部13が作成した候補が、ワークフローに確定しない場合には、ステップS13の処理に戻る。
そして、ユーザ選択部15は、ユーザ操作により作成されたワークフローの候補から、いずれかのワークフローを選択して確定する処理が行われたか否かを判断する(ステップS17)。ワークフロー生成部13が作成した候補が、ワークフローに確定しない場合には、ステップS13の処理に戻る。
そして、ステップS17でいずれかの候補のワークフローが、自然言語文を処理するワークフローとして確定したとき、クライアント端末10は、そのワークフローを構成する各コンポーネントを保持したサーバに対して、実行モードを指定する(ステップS18)。そして、クライアント端末10はリソース部22から必要なコンポーネント実行プログラムをサーバ40〜70に転送し、UIMAのアーキテクチャを利用して、ワークフローを作成するのに必要なサービスを展開する(ステップS21)。そして、クライアント端末10から実行モードが指定されたサーバは、指定された自然言語文の処理を指示する(ステップS22)。
その後、評価部14は、サーバでのコンポーネントの実行結果を評価する(ステップS19)。評価部もコンポーネントの一種なので、サーバ40〜70、あるいはクライアント端末で実行してもよい。評価部14は、コンポーネントを実行したサーバから、処理結果のデータを取得して、評価処理を行う。例えば「人間がつけた正解」を、ワークフローによる処理が、何パーセント自動的に復元できたかで評価を行い、そのパーセントの数値を表示部16に表示する。
表示部16に表示された評価結果を見たユーザは、そのワークフローで良いか否かを判断し(ステップS20)、該当するワークフローで良いと判断したときには、ワークフローの作成処理を終了する。また、ユーザが、該当するワークフローの評価結果などからそのワークフローが良くないと判断したときには、ステップS13のコンポーネントの検索に戻って、再度、別の条件でワークフローの作成処理を実行する。
表示部16に表示された評価結果を見たユーザは、そのワークフローで良いか否かを判断し(ステップS20)、該当するワークフローで良いと判断したときには、ワークフローの作成処理を終了する。また、ユーザが、該当するワークフローの評価結果などからそのワークフローが良くないと判断したときには、ステップS13のコンポーネントの検索に戻って、再度、別の条件でワークフローの作成処理を実行する。
[4.操作画面の例]
次に、図4以降の図を参照して、ワークフローを作成する際の、表示部16での表示画面の例について説明する。
図4は、クライアント端末10が、サーバ20からコンポーネントについてのメタデータを転送中の表示画面の例である。
この図4に示すように、本例のシステムが使用可能なコンポーネントを持ったサーバからクライアント端末10にコンポーネントに関するデータを受信する際には、ローディング中の表示が行われる。
次に、図4以降の図を参照して、ワークフローを作成する際の、表示部16での表示画面の例について説明する。
図4は、クライアント端末10が、サーバ20からコンポーネントについてのメタデータを転送中の表示画面の例である。
この図4に示すように、本例のシステムが使用可能なコンポーネントを持ったサーバからクライアント端末10にコンポーネントに関するデータを受信する際には、ローディング中の表示が行われる。
図5は、新たにコンポーネントを追加する場合の、表示部16での表示画面の例である。
図5の左側には、既に実装されているコンポーネント配布サイトのアドレスのリストが表示されている。また、図5の右側には、左側のリストから選んだサイトについての説明が記載されている。
そして、新たに追加したいコンポーネントがある場合には、画面上側の「URL」と記載された欄に、そのコンポーネントが得られるサーバのアドレスを入力した後、その欄の右横の「Add」と表示されたボタンをユーザが押すことで、追加処理が行われる。サーバ30はそのような追加サーバの例である。
さらに、「Remove」と表示されたボタンをユーザが押すことで、画面上で現在選択されているアドレスのサイトが削除されると共に、そのサイトが提供するコンポーネントが、コンポーネントリストから削除される。
この図5に示す画面での操作により、クライアント端末10がワークフローを作成する際に、使用可能なコンポーネントを自由に追加または削除することができる。
図5の左側には、既に実装されているコンポーネント配布サイトのアドレスのリストが表示されている。また、図5の右側には、左側のリストから選んだサイトについての説明が記載されている。
そして、新たに追加したいコンポーネントがある場合には、画面上側の「URL」と記載された欄に、そのコンポーネントが得られるサーバのアドレスを入力した後、その欄の右横の「Add」と表示されたボタンをユーザが押すことで、追加処理が行われる。サーバ30はそのような追加サーバの例である。
さらに、「Remove」と表示されたボタンをユーザが押すことで、画面上で現在選択されているアドレスのサイトが削除されると共に、そのサイトが提供するコンポーネントが、コンポーネントリストから削除される。
この図5に示す画面での操作により、クライアント端末10がワークフローを作成する際に、使用可能なコンポーネントを自由に追加または削除することができる。
図6は、各コンポーネントについてのメタデータを使用して、コンポーネントを画面上に表示させた例を示す。図6の例では、2つのコンポーネントを接続した例を示す。
この例では、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントは、複数の出力形態を持っていることがメタデータで示され、画面上では、それぞれの出力形態ごとに、個別の出力部が示される。そして、2つのコンポーネントの間を接続した線で示される出力部と入力部が、出力及び入力に使用されることが示される。このコンポーネントの出力部と入力部との線での接続は、ユーザが表示部16の画面上で操作を行って、接続することを指示するようにしてもよい。但し、出力部と入力部のデータ形式が一致しない場合には、画面上で線による接続ができないように制限される。
この例では、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントは、複数の出力形態を持っていることがメタデータで示され、画面上では、それぞれの出力形態ごとに、個別の出力部が示される。そして、2つのコンポーネントの間を接続した線で示される出力部と入力部が、出力及び入力に使用されることが示される。このコンポーネントの出力部と入力部との線での接続は、ユーザが表示部16の画面上で操作を行って、接続することを指示するようにしてもよい。但し、出力部と入力部のデータ形式が一致しない場合には、画面上で線による接続ができないように制限される。
図7は、ワークフローを作成した際の表示例を示す。
図7の例では、3つのコンポーネントを直列に接続した、比較的簡単なワークフローの例を示す。この例でも、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントの出力部と入力部との適切な箇所が線で接続されている。また、図7の左側のリストは、用意されたコンポーネントの一覧を示すものである。図7に示すように、コンポーネントの一覧の中で、現在選択中のコンポーネントが目立つように、表示色の反転表示などを行うことが望ましい。
図7の例では、3つのコンポーネントを直列に接続した、比較的簡単なワークフローの例を示す。この例でも、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントの出力部と入力部との適切な箇所が線で接続されている。また、図7の左側のリストは、用意されたコンポーネントの一覧を示すものである。図7に示すように、コンポーネントの一覧の中で、現在選択中のコンポーネントが目立つように、表示色の反転表示などを行うことが望ましい。
図8は、ワークフローを作成した際の別の表示例を示す。
図8の例では、5つのコンポーネントを接続した、比較的複雑なワークフローの例を示す。この例でも、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントの出力部と入力部との適切な箇所が線で接続されている。左端のコンポーネントからは、別々の四つのコンポーネントへと接続されている。そのうち一番上で接続されたコンポーネントの出力部は、左端のコンポーネントの出力部と同時に右端のコンポーネントに接続している。
図8の例では、5つのコンポーネントを接続した、比較的複雑なワークフローの例を示す。この例でも、それぞれのコンポーネントを四角形の箱で示し、それぞれのコンポーネントの出力部と入力部との適切な箇所が線で接続されている。左端のコンポーネントからは、別々の四つのコンポーネントへと接続されている。そのうち一番上で接続されたコンポーネントの出力部は、左端のコンポーネントの出力部と同時に右端のコンポーネントに接続している。
図9は、最初のコンポーネントと最後のコンポーネントとの間に、複数の異なるコンポーネントによるワークフローが作成可能である場合に、それぞれのワークフローを構成するコンポーネントを、それぞれのコンポーネントの名称で簡単に示した例である。
図9の例では、最初のコンポーネントと最後のコンポーネントとの間に、2つのコンポーネントがある状態を示し、それぞれ異なるコンポーネントの組み合わせによる5種類のワークフローを示している。
この図9に示すような表示は、コンポーネント間の接続を行う場合に、複数のワークフローがあるときにその選択肢を示す表示形式である。ユーザはこの中から希望のワークフローを選択する。
図9の例では、最初のコンポーネントと最後のコンポーネントとの間に、2つのコンポーネントがある状態を示し、それぞれ異なるコンポーネントの組み合わせによる5種類のワークフローを示している。
この図9に示すような表示は、コンポーネント間の接続を行う場合に、複数のワークフローがあるときにその選択肢を示す表示形式である。ユーザはこの中から希望のワークフローを選択する。
図10は、ワークフローが作成された状態で、実行モードを指定するときの例を示す図である。
この図10の例では、「Run Locally」と記載された欄をユーザが選択することで、図示されたワークフローの各コンポーネントのデータが、サーバからクライアント端末10に転送されて、クライアント端末10で実行される。このときには、結果出力先のディレクトリが生成される。
また、「Run on Servers」と記載された欄をユーザが選択すると、図示されたワークフローの各コンポーネントが、それぞれのコンポーネントを保持したサーバ側で実行される。
さらに、ワークフローの一部または全部を、待ち受け遠隔サービスとして展開することもできる。待ち受け遠隔サービスは、UIMAのアーキテクチャを利用して指定したサーバに展開され、コンポーネントの一つとして利用できる。
この図10の例では、「Run Locally」と記載された欄をユーザが選択することで、図示されたワークフローの各コンポーネントのデータが、サーバからクライアント端末10に転送されて、クライアント端末10で実行される。このときには、結果出力先のディレクトリが生成される。
また、「Run on Servers」と記載された欄をユーザが選択すると、図示されたワークフローの各コンポーネントが、それぞれのコンポーネントを保持したサーバ側で実行される。
さらに、ワークフローの一部または全部を、待ち受け遠隔サービスとして展開することもできる。待ち受け遠隔サービスは、UIMAのアーキテクチャを利用して指定したサーバに展開され、コンポーネントの一つとして利用できる。
図11は、比較グループを作成する場合の表示例を示す。
図11に示すように、画面上に表示されたコンポーネントの内で、現在表示中のグループに属すコンポーネントを示す箱と、そのコンポーネントを接続する線だけを強調表示する。そして、現在表示中のグループに属さないコンポーネントについては、灰色で薄く表示する。
例えば、図11の例では、3つのグループ(Group1,Group2,Group3)を示し、その3つのグループの内の選択中のグループを示す箱や線が、強調表示されている。
図11に示すように、画面上に表示されたコンポーネントの内で、現在表示中のグループに属すコンポーネントを示す箱と、そのコンポーネントを接続する線だけを強調表示する。そして、現在表示中のグループに属さないコンポーネントについては、灰色で薄く表示する。
例えば、図11の例では、3つのグループ(Group1,Group2,Group3)を示し、その3つのグループの内の選択中のグループを示す箱や線が、強調表示されている。
この図11の比較グループの作成は、例えばワークフローが表示された画面から、1つのコンポーネントを選択して、そのコンポーネントについて、比較グループを作成する処理を選ぶことで、実行される。このときには、選択されたコンポーネントについての出力タイプが列挙され、出力タイプの選択ができる。また、そのグループに含めるコンポーネントの選択をすることも可能である。
図12は、3つの比較グループが作成された場合の表示例を示す。
画面上の3つの比較グループは、それぞれ「Group1」,「Group2」,「Group3」と記載されたラベルで表現されている。それぞれの比較グループは、同じ出力タイプをもつコンポーネントの集合を保持する。ユーザは、それぞれの比較グループに、ひとつまたは複数の評価コンポーネントを指定できる。
コンポーネント間の接続は、評価を行う前に実行されるワークフローを示している。この接続の通りワークフローを実行したのちに、それぞれのグループについて評価が行われる。
画面上の3つの比較グループは、それぞれ「Group1」,「Group2」,「Group3」と記載されたラベルで表現されている。それぞれの比較グループは、同じ出力タイプをもつコンポーネントの集合を保持する。ユーザは、それぞれの比較グループに、ひとつまたは複数の評価コンポーネントを指定できる。
コンポーネント間の接続は、評価を行う前に実行されるワークフローを示している。この接続の通りワークフローを実行したのちに、それぞれのグループについて評価が行われる。
[5.学習素性による評価処理の例]
図13のフローチャートは、学習素性による評価処理を行う場合の例である。
先に説明した評価部14では、あらかじめ実行可能なコンポーネントを用意して、その評価を行うようにしたが、システムが機械学習を行うことで、より精度の高いコンポーネントを作成することができる。
図13は、機械学習によりコンポーネントの作成を行った場合の例を示す。まず、入力部11には、教師つき機械学習のための学習データが供給される(ステップS41)。学習データとしては、例えば人間が作成した正解による文境界データなどがある。学習素性生成コンポーネントは、この学習データから学習素性を生成し(ステップS42)、学習素性抽出コンポーネントはユーザの指示に基づいてその学習素性を抽出する(ステップS43)。そして、学習器コンポーネントは、学習器として機能する処理部の訓練を行い(ステップS44)、評価部14はその訓練結果を評価する(ステップS44)。訓練された処理部は、新しく作成されたコンポーネントとして、ほかのワークフロー内で利用可能になる。
学習器としては、サポートベクトルマシン、条件付き確率場、最大エントロピーモデル、隠れマルコフモデルなどいくつかの異なる学習手法が利用可能である。学習結果の解析を助けるために、どの学習素性が出力結果に影響を与えたかを解析する機能を提供する。
このようにして、ユーザは、機械学習により新しいコンポーネントを作成し、その評価を行うことができる。
図13のフローチャートは、学習素性による評価処理を行う場合の例である。
先に説明した評価部14では、あらかじめ実行可能なコンポーネントを用意して、その評価を行うようにしたが、システムが機械学習を行うことで、より精度の高いコンポーネントを作成することができる。
図13は、機械学習によりコンポーネントの作成を行った場合の例を示す。まず、入力部11には、教師つき機械学習のための学習データが供給される(ステップS41)。学習データとしては、例えば人間が作成した正解による文境界データなどがある。学習素性生成コンポーネントは、この学習データから学習素性を生成し(ステップS42)、学習素性抽出コンポーネントはユーザの指示に基づいてその学習素性を抽出する(ステップS43)。そして、学習器コンポーネントは、学習器として機能する処理部の訓練を行い(ステップS44)、評価部14はその訓練結果を評価する(ステップS44)。訓練された処理部は、新しく作成されたコンポーネントとして、ほかのワークフロー内で利用可能になる。
学習器としては、サポートベクトルマシン、条件付き確率場、最大エントロピーモデル、隠れマルコフモデルなどいくつかの異なる学習手法が利用可能である。学習結果の解析を助けるために、どの学習素性が出力結果に影響を与えたかを解析する機能を提供する。
このようにして、ユーザは、機械学習により新しいコンポーネントを作成し、その評価を行うことができる。
[6.コンポーネントの組み合わせの例]
本例のシステムでは、自然言語文の処理を行うコンポーネントを使用して、ワークフローを作成する場合について説明した。ここで、自然言語文の処理を行うコンポーネントの具体的な例としては、例えば図14に示すものがある。この図14の例は、自然言語文である質問文がシステムに入力して与えられたときに、その質問文に対する回答文を作成する場合である。
本例のシステムでは、自然言語文の処理を行うコンポーネントを使用して、ワークフローを作成する場合について説明した。ここで、自然言語文の処理を行うコンポーネントの具体的な例としては、例えば図14に示すものがある。この図14の例は、自然言語文である質問文がシステムに入力して与えられたときに、その質問文に対する回答文を作成する場合である。
すなわち、質問文に対する回答文作成するワークフローは、自然言語文の質問解析コンポーネントと、自然言語文からクエリを生成するクエリ生成コンポーネントと、文章の単語の意味を検索する検索エンジンのコンポーネントと、検索結果などの情報を抽出する情報抽出コンポーネントと、質問と検索された情報などとの適合度を計算する適合度計算コンポーネントと、解答文を生成する解答文生成コンポーネントとを有する。それぞれの種類のコンポーネントは、2〜5種類程度の複数種類のものが用意され、クライアント端末10などがワークフローを作成する際には、それぞれのコンポーネントの組み合わせがあり得る。
[7.結果の表示例]
図15は、ワークフローを作成した結果の表示例を示す。
この図15に示した表は、各行が異なるワークフローのペアを比較評価した結果である。例えば1行目は、ワークフローA(左側の3つのコンポーネント)とワークフローB(右側の3つのコンポーネント)の結果を比較したものである。それぞれの行で、「Total」と記載された欄が、評価の統計結果である。統計結果としては、「G」がワークフローAの比較対象データ数を示し、「T」がワークフローBの比較対象データ数を示し、「M」が「G」と「T」のうち一致したとみなされた数、それらをもとにした統計値F1-score(F値)を示す。F値は、P(Precision:精度)とR(Recall:再現率)の相加平均である。F,P,Rは、自然言語処理において最もよく使われる評価尺度である。
図15は、ワークフローを作成した結果の表示例を示す。
この図15に示した表は、各行が異なるワークフローのペアを比較評価した結果である。例えば1行目は、ワークフローA(左側の3つのコンポーネント)とワークフローB(右側の3つのコンポーネント)の結果を比較したものである。それぞれの行で、「Total」と記載された欄が、評価の統計結果である。統計結果としては、「G」がワークフローAの比較対象データ数を示し、「T」がワークフローBの比較対象データ数を示し、「M」が「G」と「T」のうち一致したとみなされた数、それらをもとにした統計値F1-score(F値)を示す。F値は、P(Precision:精度)とR(Recall:再現率)の相加平均である。F,P,Rは、自然言語処理において最もよく使われる評価尺度である。
この結果表示は、比較するワークフローのいずれかが、人間の作った正解データを読み込むワークフローであった場合は、いわゆる性能評価になる。また、比較するワークフローがいずれも作成したワークフローである場合には、ワークフロー同士の類似度を計算していることになる。
[8.変形例]
なお、ここまで説明した実施の形態の例では、自然言語処理を行うシステムに適用した例とした。この自然言語文のデータを扱うのは1つの例であり、本発明は、画像データ(動画データ、静止画像データ)や音声データなどのその他の非構造化データを扱うシステムに適用してもよい。
なお、ここまで説明した実施の形態の例では、自然言語処理を行うシステムに適用した例とした。この自然言語文のデータを扱うのは1つの例であり、本発明は、画像データ(動画データ、静止画像データ)や音声データなどのその他の非構造化データを扱うシステムに適用してもよい。
10…クライアント端末、11…入力部、12…条件判定部、13…ワークフロー生成部、14…評価部、15…ユーザ選択部、16…表示部、17…メタデータ記憶部、20,30,40,50,60,70…サーバ、21…メタデータ記憶部、22…リソース部
Claims (7)
- 非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成する非構造化データ処理プラットフォームを備えた非構造化データ処理システムであり、
前記非構造化データ処理プラットフォームは、前記複数のコンポーネントの入出力を定義するメタデータを持ち、
前記複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、前記複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成部と、
前記ワークフロー生成部が生成したワークフローによる非構造化データの処理結果の評価を行う評価部と、
前記ワークフロー生成部が生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うワークフロー実行部と、
前記ワークフロー生成部が生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示部と、を備えた
非構造化データ処理システム。 - 前記非構造化データは、自然言語のデータである
請求項1に記載の非構造化データ処理システム。 - 前記メタデータを多次元のデータ型に拡張し、前記複数のコンポーネントの入出力を多面的な入出力表現で行うようにした
請求項1又は2に記載の非構造化データ処理システム。 - 前記複数のコンポーネントの内で候補となるコンポーネントを表示し、その表示したコンポーネントについてユーザにより選択があるとき、その選択されたコンポーネントを接続するラインを表示することで、前記ワークフロー生成部が生成するワークフローの候補を表示するようにした
請求項1〜3のいずれか1項に記載の非構造化データ処理システム。 - 前記非構造化データの処理を行う複数のコンポーネントの内の少なくとも1つのコンポーネントは、機械学習を行うことで生成されたコンポーネントであり、
前記ワークフロー生成部が生成するワークフローは、機械学習を行うことで生成されたコンポーネントを含む
請求項1〜4のいずれか1項に記載の非構造化データ処理システム。 - 非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成して、その生成されたワークフローを実行する装置の非構造化データ処理方法において、
前記複数のコンポーネントの入出力を定義するメタデータを持ち、
前記複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、前記複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成処理ステップと、
前記ワークフロー生成処理で生成したワークフローによる非構造化データの処理結果の評価を行う評価処理ステップと、
前記ワークフロー生成処理で生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うワークフロー実行処理ステップと、
前記ワークフロー生成処理で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示ステップと、を含む
非構造化データ処理方法。 - 非構造化データの処理を行う複数のコンポーネントを接続することで、非構造化データ処理についてのワークフローを生成して、その生成されたワークフローによる手順をコンピュータに実行させるためのプログラムにおいて、
前記複数のコンポーネントの入出力を定義するメタデータを保持する手順と、
前記複数のコンポーネントの内で、ユーザにより指定されたコンポーネント、又はユーザが指定した出力を生成できるコンポーネントを、前記複数のコンポーネントから選択して、その選択したコンポーネントを接続したワークフローを生成するワークフロー生成手順と、
前記ワークフロー生成手順で生成したワークフローから適切なワークフローを選択して、その選択されたワークフローを適用して、非構造化データの処理を行うワークフロー実行手順と、
前記ワークフロー生成手順で生成したワークフローによる非構造化データの処理結果の評価を行う評価処理手順と、
前記ワークフロー生成手順で生成したワークフローを、少なくともそれぞれのコンポーネントを示す図形を接続した形式で表示する表示手順を、
コンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013175709A JP5600826B1 (ja) | 2013-08-27 | 2013-08-27 | 非構造化データ処理システム、非構造化データ処理方法およびプログラム |
PCT/JP2014/072341 WO2015030016A1 (ja) | 2013-08-27 | 2014-08-26 | 非構造化データ処理システム、非構造化データ処理方法および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013175709A JP5600826B1 (ja) | 2013-08-27 | 2013-08-27 | 非構造化データ処理システム、非構造化データ処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5600826B1 true JP5600826B1 (ja) | 2014-10-08 |
JP2015045939A JP2015045939A (ja) | 2015-03-12 |
Family
ID=51840368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013175709A Expired - Fee Related JP5600826B1 (ja) | 2013-08-27 | 2013-08-27 | 非構造化データ処理システム、非構造化データ処理方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5600826B1 (ja) |
WO (1) | WO2015030016A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461547B2 (en) | 2018-09-12 | 2022-10-04 | Fujifilm Business Innovation Corp. | Non-transitory computer readable medium for generating a target program source using software specification written in a natural language |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151814A (ja) * | 2003-03-24 | 2009-07-09 | Map Of Medicine Ltd | グラフィカルユーザインタフェースに関する改良 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000089944A (ja) * | 1998-07-15 | 2000-03-31 | Hitachi Software Eng Co Ltd | 接続ガイドマ―カ表示方法およびシステム、記録媒体 |
US7865835B2 (en) * | 2007-10-25 | 2011-01-04 | Aquatic Informatics Inc. | System and method for hydrological analysis |
-
2013
- 2013-08-27 JP JP2013175709A patent/JP5600826B1/ja not_active Expired - Fee Related
-
2014
- 2014-08-26 WO PCT/JP2014/072341 patent/WO2015030016A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009151814A (ja) * | 2003-03-24 | 2009-07-09 | Map Of Medicine Ltd | グラフィカルユーザインタフェースに関する改良 |
Non-Patent Citations (4)
Title |
---|
CSNG200800938006; 狩野 芳伸、辻井 潤一: 'UIMAを基盤とする相互運用性の向上と自動組み合わせ比較 -国際共同プロジェクト U-Compare' 情報処理学会研究報告 Vol.2008、No.67, 20080710, pp.37-42, 社団法人情報処理学会 * |
CSNJ201210017226; 狩野 芳伸: 'Kachako:誰でも使える全自動自然言語処理プラットホーム' 2012年度人工知能学会全国大会(第26回)論文集 , 20120622, pp.1-4, 社団法人人工知能学会 * |
JPN6014008875; 狩野 芳伸: 'Kachako:誰でも使える全自動自然言語処理プラットホーム' 2012年度人工知能学会全国大会(第26回)論文集 , 20120622, pp.1-4, 社団法人人工知能学会 * |
JPN6014008876; 狩野 芳伸、辻井 潤一: 'UIMAを基盤とする相互運用性の向上と自動組み合わせ比較 -国際共同プロジェクト U-Compare' 情報処理学会研究報告 Vol.2008、No.67, 20080710, pp.37-42, 社団法人情報処理学会 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461547B2 (en) | 2018-09-12 | 2022-10-04 | Fujifilm Business Innovation Corp. | Non-transitory computer readable medium for generating a target program source using software specification written in a natural language |
Also Published As
Publication number | Publication date |
---|---|
WO2015030016A1 (ja) | 2015-03-05 |
JP2015045939A (ja) | 2015-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102565659B1 (ko) | 정보 생성 방법 및 장치 | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
JP5939588B2 (ja) | 関連ノードを探索する方法、並びに、そのコンピュータ、及びコンピュータ・プログラム | |
JP6663873B2 (ja) | プログラム自動生成システム及びプログラム自動生成方法 | |
WO2018079225A1 (ja) | 自動予測システム、自動予測方法および自動予測プログラム | |
CN111158656B (zh) | 基于因果树法的测试代码生成方法及装置 | |
CN106484389B (zh) | 动作流分段管理 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
Kuschke et al. | Pattern-based auto-completion of UML modeling activities | |
JP5634374B2 (ja) | 仕様作成支援装置、及び、プログラム | |
JP6723893B2 (ja) | データ統合装置およびデータ統合方法 | |
JP7275591B2 (ja) | 評価支援プログラム、評価支援方法および情報処理装置 | |
JP5600826B1 (ja) | 非構造化データ処理システム、非構造化データ処理方法およびプログラム | |
Eyal-Salman et al. | Feature-to-code traceability in legacy software variants | |
JP2009015395A (ja) | 辞書構築支援装置および辞書構築支援プログラム | |
Miao et al. | ModelHUB: lifecycle management for deep learning | |
WO2018174000A1 (ja) | 構成管理装置、構成管理方法および記録媒体 | |
JP6287506B2 (ja) | データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置 | |
Taieb | Data analysis with Python: a modern approach | |
JP6062735B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法、ソフトウェア開発支援プログラム | |
CN117521017B (zh) | 一种获取多模态特征方法和装置 | |
JP2010102606A (ja) | 製品構成決定支援装置及び方法 | |
JP2005352861A (ja) | 電子データ処理方法、電子データ処理装置、および、電子データ処理プログラム | |
US20060048126A1 (en) | Method and a system thereof for generating a homepage content file capable of dynamically linking with a plurality of on-demand knowledge bases | |
JP2023174053A (ja) | 登録プログラム、登録方法、及び、情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140705 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5600826 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |