JP5838871B2 - データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム - Google Patents

データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム Download PDF

Info

Publication number
JP5838871B2
JP5838871B2 JP2012057545A JP2012057545A JP5838871B2 JP 5838871 B2 JP5838871 B2 JP 5838871B2 JP 2012057545 A JP2012057545 A JP 2012057545A JP 2012057545 A JP2012057545 A JP 2012057545A JP 5838871 B2 JP5838871 B2 JP 5838871B2
Authority
JP
Japan
Prior art keywords
data
character
length
character string
analysis
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
Application number
JP2012057545A
Other languages
English (en)
Other versions
JP2013191062A (ja
Inventor
守 石原
守 石原
田中 秀明
秀明 田中
美憲 荒井
美憲 荒井
和久 谷本
和久 谷本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012057545A priority Critical patent/JP5838871B2/ja
Priority to US13/798,626 priority patent/US8977635B2/en
Publication of JP2013191062A publication Critical patent/JP2013191062A/ja
Application granted granted Critical
Publication of JP5838871B2 publication Critical patent/JP5838871B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Description

開示の技術は、データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラムに関する。
コンピュータシステムで使用する入力データや出力データの中には、複数の項目のデータを含むレコードが複数含まれるデータがある。典型的な例は、例えばデータベース装置を含むコンピュータシステムで使用されるデータである。データベース装置で使用されるデータは、データベース装置を含むコンピュータシステム毎に定義されることが一般的である。定義が相違するコンピュータシステムの間でデータを授受するためには、一方のコンピュータシステムの出力データを、他方のコンピュータシステムの入力データに変換する処理が必要である。このためには、一方のコンピュータシステムの出力データの定義と、他方のコンピュータシステムの入力データの定義とを関係付ける必要がある。例えば、入力データの形式(例えば入力フォーマット)の定義や、出力データの形式(例えば出力フォーマット)の定義、位置、順序等の変換方法(マッピング)の定義は一般的に手作業によって作成される。
これに対し、例えば、データの定義を行う技術として、改行文字や特定の文字を含むフォーマット済みのテキストファイルに対して、テキストフォーマットを認識する技術が知られている。この技術では、ページにヘッダーやフッター、段組、図表割付などのテキストフォーマット済のテキストファイルに対して、テキストフォーマットを認識する。具体的には、複数行を比較し、ページ長を推定する。また、空白文字等の特定文字が連続する範囲を段落の境界と認識し、図表領域のように文章ではなく処理が不要な行を認識する。
また、非構造化文書を構造化文書に変換するために、非構造化文書を構造化文書に変換するときに使用する文書の論理構造の構成要素を表す特徴的な文字列を、非構造化文書から抽出する技術が知られている。この技術では、文書の論理構造の構成要素を表す特徴的な文字列が含まれている非構造化文書から、その特徴的な文字列を抽出し、抽出した文字列を用いて、非構造化文書を構造化文書に変換する。
また、文書生成プログラムにおいて項目を判定するため、第一文書に含まれる第1文字列が第2文字列に関係する文字列を含むときに、第2文字列を項目として判定する技術が開示されている。この技術では、特定の文字が含まれた名刺などの画像からテキストを抽出し、抽出したテキストを対象として特定の文字に基づいて項目を判定している。
特開平6−203020号公報 特開平10−21249号公報 特開2011−170546号公報
ところで、例えばデータベース装置を含むコンピュータシステムで使用するデータの一例として、データの長さやデータの型が予め定められた項目を複数含む固定長データが知られている。固定長データは、複数の項目のデータの長さやデータの型が予め定められている一方で、項目毎の区切りがなくデータが連続していることが一般的である。このため、改行文字や特定の文字を含むテキストや文書を入力データとして、使用する技術は、固定長データを適用することが困難である。従って、固定長データを、定義が相違する他のコンピュータシステムで使用するためには、手作業による項目等の定義が必要であった。すなわち、固定長データを他のコンピュータシステムで使用するために、固定長データの形式(例えば出力フォーマット)を手作業によって定義しなければならない。
1つの側面では、本発明は、複数の項目のデータを含むレコードが複数連続する入力データの区切り位置を解析することを目的とする。
1つの案では、複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データが入力される。この入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる特定のデータ長を求める。そして、求めた特定のデータ長に基づいて、入力データにおけるレコードの区切り位置を推定する。
1つの実施態様では、複数の各項目に関する各データを含むレコードが複数連続する入力データの区切り位置を解析できる、という効果を有する。
本実施形態に係るデータ解析システムの概略構成を示すブロック図である。 本実施形態に係るデータ解析システムの概略ブロック図である。 本実施形態に係るデータ解析装置の解析処理の流れの一例を示すフローチャートである。 第1解析部における処理の流れの一例を示すフローチャートである。 (A)は固定長データの一例を示し、(B)は約数で分割したデータを示し(C)は分割データに対する部分配列を示すイメージ図である。 (A)は、約数で固定長データを分割したデータ、(B)は部分配列を示すイメージ図である。 (A)は、約数で固定長データを分割したデータ、(B)は部分配列を示すイメージ図である。 第2解析部における処理の流れの一例を示すフローチャートである。 詰め文字を推測する過程の説明図である。 第3解析部における第1の推測処理の流れの一例を示すフローチャートである。 第3解析部における第1の推測処理の過程についての説明図である。 第3解析部における第2の推測処理の流れの一例を示すフローチャートである。 第3解析部における第2の推測処理の過程についての説明図である。 第3解析部における第2の推測処理の過程についての説明図である。 第3解析部における第2の推測処理の過程についての説明図である。 データ分割処理の流れを示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
(データ解析システム)
図1には、コンピュータで実現される本実施形態に係るデータ解析システム10が示されている。データ解析システム10は、少なくとも解析部14を含むデータ解析装置11と、分割部26を含むデータ分割装置13とを含む。データ解析装置11の解析部14は、第1解析部16と、第2解析部20及び第3解析部22を含む項目解析部18と、を備えている。解析部14には、複数の項目のデータが区切り記号無しに連続する固定長データ12が入力される。解析部14は、入力された固定長データ12を解析し、各項目のデータの区切りを示す情報(以下、区切りを示す情報)24を出力する。また、データ分割装置13の分割部26には、解析部14から出力された区切りを示す情報24と、固定長データ12が入力される。分割部26は、区切りを示す情報24に基づいて固定長データ12を分割し、項目定義データ28として出力する。
データ解析システム10は、例えば図2に示すコンピュータ30で実現することができる。コンピュータ30はCPU32、メモリ64、不揮発性の記憶部36、ディスプレイ52、キーボード54、マウス56を備え、これらはバス62を介して互いに接続されている。また、コンピュータ30はインターネット等の通信回線に接続するためのインタフェース(I/O)60と、記録媒体が挿入され、挿入された記録媒体に対して読み書きするための装置(R/W)58がバス62に接続されている。なお、記憶部36はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。
記憶部36には、コンピュータ30をデータ解析装置11として機能させるための解析プログラム38が記憶されている。また、記憶部36には、コンピュータ30をデータ分割装置13として機能させるための分割プログラム46が記憶されている。CPU32は、解析プログラム38を記憶部36から読み出してメモリ34に展開し、解析プログラム38が有するプロセスを順次実行する。また、CPU32は、分割プログラム46を記憶部36から読み出してメモリ34に展開し、分割プログラム46が有するプロセスを順次実行する。
なお、本実施形態では、コンピュータ30によってデータ解析装置11とデータ分割装置13との各々を実現させる一例を示すが、データ解析装置11とデータ分割装置13は1つのコンピュータに含まれることに限定されない。つまり、開示の技術におけるデータ解析装置11とデータ分割装置13とは、各々独立したコンピュータで実現できるようにしてもよい。この場合、データ解析装置11として機能するコンピュータと、データ分割装置13として機能するコンピュータの間は、R/W58またはI/O60によりデータを授受することができる。
解析プログラム38は、第1解析プロセス40、第2解析プロセス42、及び第3解析プロセス44を有する。CPU32は、第1解析プロセス40を実行することで、図1に示すデータ解析装置11の第1解析部16として動作する。つまりデータ解析システム10に含まれるデータ解析装置11がコンピュータ30で実現され、第1解析プロセス40を実行することでコンピュータ30は第1解析部16として動作される。またCPU32は、第2解析プロセス42を実行することで、図1に示す第2解析部20として動作する。またCPU32は、第3解析プロセス44を実行することで、図1に示す第3解析部22として動作する。また、CPU32は、第2解析プロセス42と第3解析プロセス44を実行することで、図1に示す項目解析部18として動作される。
なお、解析プログラム38は開示の技術におけるデータ解析プログラムの一例である。つまり、解析プログラム38はコンピュータ30をデータ解析装置11として機能させるためのデータ解析プログラムの一例である。
分割プログラム46は、分割プロセス50を有する。CPU32は、分割プロセス50を実行することで、図1に示すデータ分割装置13の分割部26として動作する。つまりデータ解析システム10に含まれるデータ分割装置13がコンピュータ30で実現され、分割プロセス50を実行することでコンピュータ30は分割部26として動作される。
なお、分割プログラム46は開示の技術におけるデータ分割プログラムの一例である。つまり、分割プログラム46はコンピュータ30をデータ分割装置13として機能させるためのデータ分割プログラムの一例である。
データ解析装置11は、入力される固定長データ12を解析する。コンピュータで使用されるデータの一例には、異なる形式の複数のデータがある。例えば、例えば、XML形式のデータは、タグによって項目が明示的に区切られている。他例のCSV形式のデータば、カンマ等の所定記号によって項目が明示的に区切られている。ところが、固定長データ12は、「長さと型が決まっている項目を複数有するデータ」である。すなわち、固定長データ12は、項目の区切りが存在しないため、データの中のどこからどこまでが一つの項目であるのかを判断することが困難である。また、複数の項目が連続されて1つのレコードとなる場合、複数のレコードが区切り無しに連続する。従って、12は、項目の区切りが存在しないため、データの中のどこからどこまでが一つのレコードであるのかを判断することが困難である。そこで、データ解析装置11は、入力される区切りがない形式の固定長データ12から、項目の区切りを自動的に解析する。
まず、データ解析装置11の第1解析部16は、入力される固定長データ12を解析し、文字の種類等に基づいて固定長データ12のレコードの区切り位置を求める。項目解析部18は、第1解析部16により解析された1つのレコードについて、項目の区切り位置を求める。詳細には、第2解析部20において、文字や数字に連続する詰め文字を求め、第3解析部22において詰め文字及び文字の種類等に基づいて固定長データ12の1つのレコードにおける項目の区切り位置を求める。
また、データ分割装置13は、データ解析装置11で解析された固定長データ12のレコードの区切り位置及び1つのレコードにおける項目の区切り位置を示す情報24に基づいて、固定長データ12を項目毎に分割し、項目定義データ28を得る。詳細には、データ分割装置13の分割部26に、解析部14から出力される区切りを示す情報24と、固定長データ12とが入力される。分割部26は、入力された固定長データ12に対して区切りを示す情報24を使用して、項目毎に分割した項目定義データ28を出力する。
なお、本実施形態では、コンピュータ30の記憶部36に解析プログラム38及び分割プログラム46が予め記憶されている態様を説明する。しかし、解析プログラム38及び分割プログラム46は、例えば、外部の情報処理装置から通信によって受信されてメモリ34に記憶される構成であってもよい。また、解析プログラム38及び分割プログラム46は、記憶部36又はメモリ34に一纏めに記憶されることに限られるものではない。例えば解析プログラム38及び分割プログラム46は、個々のプログラムやプロセス毎に分けて記憶部に記憶されてもよく、インターネット等のコンピュータネットワーク上に分散されて記憶されていてもよい。
次に本実施形態の作用を説明する。
まず、図3〜図15を参照し、データ解析システム10のデータ解析装置11によって実現される固定長データ12の区切りを示す情報を求める解析処理を説明する。
データ解析装置11による解析処理では図3に示す処理ルーチンが実行される。まず、解析部14は、ステップ100において、ユーザ等の指示により指定されたデータ解析対象の固定長データ12を取得する。固定長データ12は、長さと型が決まっている項目を区切り記号等の特殊な文字等を含まずに連続して複数持つデータである。次のステップ102において第1解析部16は、取得された固定長データ12により1レコード長を推測する。
詳細は後述するが、本実施形態では、固定長データ12として例えばテキストデータを採用する。第1解析部16は、固定長データ12としてのテキストデータを、当該テキストデータに含まれる各文字のデータが、例えば数字以外の文字を示すデータか数字を示すデータかを表す文字の種類に変換する。また、変換した文字の種類の配列に応じて、「文字を示すデータ」が連続する文字列パターンの開始位置と「数字を示すデータ」が連続する数字列パターンの終了位置を求める。次に、文字列パターンの開始位置及び数字列パターンの終了位置が各レコードで一致、又は予め定めた閾値以上になるデータの長さを1レコード長と推定する。なお、この場合、全てのレコード長は同一であることが好ましい。また、文字列パターンの開始位置及び数字列パターンの終了位置は、その逆、すなわち文字列パターンの終了位置及び数字列パターンの開始位置でもよい。
次のステップ104において、項目解析部18の第2解析部20は、固定長データ12における詰め文字を推測する。第2解析部20は、詳細は後述するが、数字列の前後何れかに同じ文字が連続する場合、連続する文字を数字列の詰め文字(パディング文字)と推測する。また、文字列の前後何れかに同じ文字が連続する場合、連続する文字を文字列の詰め文字(パディング文字)と推測する。
次のステップ106において、項目解析部18の第3解析部22は、第1解析部16で推測された1レコード長と、第2解析部20で推測された詰め文字を用いて、固定長データ12における項目の区切り位置を推測する。第3解析部22は、詳細は後述するが、次の推測方法により項目の区切り位置を推測する。第1の推測方法は、レコードにおける各位置の文字の種類を求め、各レコードに共通する「文字の種類が相違する境界」を、項目の区切り位置と推定する。第2の推測方法は、予め定義された文字の種類の配列から項目の区切り位置を推測する。例えば「数字の並び」に一致または予め定めた閾値以上になるパターンを求め、そのパターンが各レコードに共通して出現するときに、そのパターンを項目と推測し、パターンの前後何れかの位置を項目の区切り位置と推測する。
次のステップ108において、解析部14は、解析結果として区切りを示す情報24を出力する。区切りを示す情報24は、1レコード長、1レコード長から定まる各レコードの境界位置、1レコードに含まれる各項目の長さ(項目長)、各項目の文字の種類、及び項目毎の区切り位置を含む。
このように、長さと型が決まっている項目を複数持つ固定長データに対して、項目の区切りを自動的に判別でき、個々の項目の開始位置と長さを推測できる。従って、長さと型が決まっている項目を複数持つ固定長データに含まれる個々の項目の開始位置と長さを、コンピュータへ手入力する手間を削減することができる。
第1解析部16によるステップ102の第1解析処理では、図4の処理ルーチンが実行される。本実施形態では、一例として、固定長データ12が、数字以外の文字を示すデータと数字を示すデータとを含むテキストデータである場合について説明する。つまり、文字の種類が文字型の文字列と、数値型の数字列と、を含む固定長データについて説明する。
第1解析部16は、数字以外の文字を示すデータを少なくとも1つ含む文字列の開始位置と、数字を示すデータを少なくとも1つ含む数字列の終了位置を求める。文字列の開始位置と数字列の終了位置は、固定長データに含まれるレコードの各々について同様の位置である。そこで、次に、文字列の開始位置と数字列の終了位置の間隔の繰り返しパターンが規則的になるように、1レコードの長さを求める。つまり、固定長データ上に、文字列の開始位置と数字列の終了位置が周期的に位置する、1レコードの長さを求める。ここで、全てのレコード長が同じであるなら、1レコードの長さは全レコード長の約数である。そこで、本実施形態では全レコード長の約数を用いて、第1解析部16が1レコードの長さを推定する一例を詳細に説明する。
図4のステップ110において、第1解析部16は、ステップ100で取得した固定長データ12の全体の長さ(文字長)を特定し、固定長データ12の全体の長さの約数を求める。次のステップ112では、ステップ110で求めた約数のうち、「1」、固定長データ12の全体の長さに一致する約数を除いた約数の中から処理対象の約数を設定する。本実施形態では、最の約数から順に設定する場合を説明する。
次のステップ114では、固定長データの全体の文字数を、ステップ112で設定した処理対象の約数で除算した結果(文字数)の長さで、固定長データの全体を分割し、分割したデータを分割データとして設定する。
次のステップ116では、ステップ114で設定した分割データ毎に、数字列の終了位置と文字列の開始位置を求める。この場合、固定長データの1文字を予め定めた単位文字とし、単位文字毎に、単位文字の種類を示す型情報に変換することにより、数字列の終了位置と文字列の開始位置を求めることができる。つまり、固定長データは、複数の各項目のデータを含むレコードが複数連続する入力データである。また、固定長データの1文字を予め定めた単位文字とし、単位文字毎に、単位文字の種類を示す型情報を配列したとき、配列した全型情報配列の一部である部分配列は、分割データについて型情報を配列したものに相当する。第1解析部16は、その部分配列に対応する分割データ毎に、数字列の終了位置と文字列の開始位置を求める。
次のステップ118では、分割データの各々について、数字列の終了位置と文字列の開始位置(または数字列の開始位置と文字列の終了位置)の一致度を求める。一致度は、例えば、分割した個々の部分配列における型情報の配列が一致する比率を示す。一致度の一例は、分割データの総数に対する数字列の終了位置と文字列の開始位置(または数字列の開始位置と文字列の終了位置)が分割データと対応している分割データの個数との比率である。つまり、同じ位置に、数字列の終了位置と文字列の開始位置(または数字列の開始位置と文字列の終了位置)が位置している分割データの数が多くなるほど一致度は大きくなる。
次のステップ120では、ステップ118で求めた一致度が予め定めた閾値以上か否かを判断する。予め定めた閾値としては、例えば、8割以上で一致することを示す値、好ましくは、9割以上で一致することを示す値、最も好ましくは、完全一致することを示す値を適用することができる。
一致度が閾値以上であるときは、ステップ120で肯定されてステップ122の処理へ移行する。ステップ122では、ステップ112で設定した処理対象の約数で全体長を除算した結果の長さ(文字数)を仮レコード長に設定する。次のステップ124では、ステップ112で設定した処理対象の約数で全体長を除算した結果の長さ(文字数)を、全体長と見なし、処理を継続する。すなわち、ステップ124では、ステップ122で設定した仮レコード長を全体長とみなす。この処理は、ステップ110で用いた固定長データ12から、ステップ122で設定した仮レコード長のデータに、対象とするデータを置き換えて処理を継続することに相当とする。これにより、処理対象の約数に対する約数について繰り返し処理が行われる。ステップ124の処理によって、仮レコード長に設定したレコードに、複数のレコードが含まれるときに、さらに仮レコード長の約数で除算した結果の長さ(文字数)で分割することができる。なお、ステップ112において処理対象の約数の全てを順次処理対象の約数に設定して繰り返し処理するときには、ステップ124の処理がステップ112以降で処理することになるため、ステップ124の処理をスキップすることができる。
一方、ステップ120で否定されると、ステップ126において、第1解析部16は、全ての約数について、処理が終了したか否かを判断する。ステップ126で否定されると、ステップ112へ戻りステップ112から処理を継続する。一方、ステップ126で肯定されると、ステップ128の処理へ移行する。次のステップ128では、ステップ122で最後に設定された仮レコード長を、固定長データ12に含まれる複数項目のデータによる1レコード長に決定する。
以上のようにして固定長データ12に対する1レコード長を推測する。
なお、ステップ128では、決定した1レコード長の開始位置及び終了位置の少なくとも一方の位置を、固定長データのレコードの区切り位置を示す区切情報として出力することができる。
図5〜図7には、1レコード長を推測する一例として、固定長データ12の全体の長さの約数毎に対応して固定長データ12を分割し、1レコード長を推測する過程を示した。図5(A)は固定長データ12の一例として、30文字の固定長データ12を示している。従って、固定長データ12の全体長は30であり、約数は、30,15,10,6,5,3,2,1である。なお、全体長を約数の各々で除算した結果は、1,2,3,5,6,10,15,30である
図5(B)は、約数15において固定長データ12を分割した分割データ12A−1,12A−2を示している。また、図5(C)は、分割データ12A−1,12A−2について、数字列の終了位置を「数」、文字列の開始位置を「文」の各々の文字に置き換えた部分配列12a−1,12a−2を示している。図5(C)から理解されるように、数字列の終了位置と文字列の開始位置は、部分配列12a−1,12a−2で一致しない。すなわち、分割データの1文字目の文字の種類のみが一致し、他の位置では不一致である。このことは、約数15によってレコード長を求めたとき、数字列の終了位置と文字列の開始位置の一致度が略「0」であることを示している。
図6(A)は、約数10において固定長データ12を分割した分割データ12B−1,12B−2,12B−3を示している。また、図6(B)は、分割データ12B−1,12B−2,12B−3について、数字列の終了位置を「数」、文字列の開始位置を「文」の各々の文字に置き換えた部分配列12b−1,12b−2,12b−3を示している。図6(B)から理解されるように、数字列の終了位置と文字列の開始位置は、各部分配列12b−1〜12b−3について略一致する。すなわち、分割データの1文字目の文字の種類のみが不一致であり、他の文字については一致する。このことは、約数10によってレコード長を求めたとき、数字列の終了位置と文字列の開始位置の一致度が9割を超える好ましい一致度であることを示している。
次に、約数10について、その約数である5,2のうち約数5について説明する。
図7(A)は、約数5において固定長データ12を分割した分割データ12C−1,12C−2,12C−3,12C−4,12C−5,12C−6を示している。また、図7(B)は、分割データ12C−1〜12C−6に対応する部分配列12c−1〜12c−6を示している。図7(B)から理解されるように、数字列の終了位置と文字列の開始位置は、部分配列12c−1〜12c−6について一致しない。
以上のことにより、図5(A)に示す一例の30文字の固定長データ12は、レコード長が「10」であると推測できる。
次に、項目解析部18の第2解析部20によるステップ104の第2解析処理では、図8の処理ルーチンが実行される。本実施形態では、一例として、長さと型が決まっている項目を複数持つ固定長データから、詰め文字(パディング文字)を推測する。なお、本実施形態では、数字列の詰め文字は数字列の前、文字列の詰め文字は文字列の後ろに連続する場合を説明する。しかし、開示の技術は、数字列の詰め文字は数字列の前、文字列の詰め文字は文字列の後ろに連続する場合に限定されるものではない。例えば、数字列の前後、および文字列の前後に同じ文字が連続する数を、以下に説明する方法と同様に計数することで、数字列の前後、および文字列の前後の何れに詰め文字が連続する場合でも適用することができる。
第2解析部20は、数字列の前(または後ろ)に同じ文字が連続する場合、連続する文字を数字列(数値型項目)の詰め文字(パディング文字)と判断する。また、文字列の後ろ(または前)に同じ文字が連続する場合、連続する文字を文字列(文字型項目)の詰め文字(パディング文字)と判断する。これらの第2解析部20において詰め文字(パディング文字)を推測する一例を詳細に説明する。
図8のステップ130では、ステップ100で取得した固定長データ12について、数字列の前に連続する文字を調べ、連続する同一文字の文字数を計数する。次のステップ132では、ステップ130で計数した同一文字について、文字数の合計が最大の文字を、数字列の詰め文字に設定する。また、次のステップ134では、固定長データ12について、文字列の後ろに連続する文字を調べ、連続する同一文字の文字数を計数する。次のステップ136では、ステップ134で計数した同一文字について、文字数の合計が最大の文字を、文字列の詰め文字に設定する。
以上のようにして固定長データ12における詰め文字(パディング文字)を推測する。
図9には、詰め文字を推測する過程の一例を示した。まず、数字列の前に連続する文字を探索する(ステップ130)。図9の例では、文字を探索するための数字列の先頭は、2文字目の「1」、8文字目の「1」、19文字目の「1」、30文字目の「0」である。これらの数字列の前に連続する文字を探索する。その過程を符号S130で示した。つまり、数字列の前に続く文字を調べる。連続して同一文字が連続する場合は、連続する文字数を計数する。探索の結果は、「空白」1文字、「郎」1文字、「郎」1文字、及び「空白」3文字である。探索の結果において、文字数の合計数が最大の文字を詰め文字とみなす。従って、図9の一例では、数字列の詰め文字は、「空白」を設定する。
次に、文字列の後ろに連続する文字を探索する(ステップ134)。図9の例では、文字を探索するための文字列の末尾は、4文字目の「田」、7文字目の「郎」、18文字目の「郎」、23文字目の「森」、26文字目の「−」である。これらの文字列の後ろに連続する文字を探索する。その過程を符号S134で示した。つまり、文字列の後ろに続く文字を調べる。連続して同一文字が連続する場合は、連続する文字数を計数する。探索の結果は、「空白」1文字、「1」1文字、「1」1文字、「空白」2文字、及び「空白」3文字である。探索の結果において、文字数の合計数が最大の文字を詰め文字とみなす。従って、図9の一例では、文字列の詰め文字は、「空白」を設定する。
次に、項目解析部18の第3解析部22によるステップ106の第3解析処理では、第1解析部16で推測された1レコード長と、第2解析部20で推測された詰め文字を用いて、固定長データ12についての項目の区切りを推測する。第3解析部22は、第1の推測方法または第2の推測方法により項目の区切りを推測する。
第1の推測方法は、レコードにおける各位置の文字の種類を求め、各レコードに共通する「文字の種類が相違する境界」を、項目の区切りと推測する。つまり、固定長データと、1レコード長の各情報を基づいて、レコード上の文字の位置毎に文字の種類を判定して項目の区切りを見出し、1つの項目の範囲を求める。例えば、各レコードを配列方向と直交する方向に並べたときに各レコードの文字を縦(レコードの配列方向と直交する方向)に見て、レコード上の各文字の種類を判断することにより、項目の区切りを見出し、1つの項目の範囲を求める。
詳細には、第3解析部22における第1の推測方法では、図10の処理ルーチンが実行される。なお、本実施形態では、全てのレコードの長さが一致する場合を説明する。また、数字列の前(または後ろ)に詰め文字が連続することがある、また文字列の後ろ(または前)に詰め文字が連続することがある場合を説明する。また、1レコードの長さ、数字列のパディング文字、文字列のパディング文字は、事前に推測されているものとする。
図10のステップ140では、ステップ100で取得した固定長データ12、ステップ102で推測した1レコード長、ステップ104で推測した詰め文字に関する情報を取得する。次のステップ142では固定長データ12をステップ102で推測した1レコード長で分割し、分割された分割データを1レコードとみなす。次のステップ144では、1レコードとみなした分割データについて、先頭文字から末尾文字まで1文字づつ、全てのレコードで共通に文字の位置を文字の種類判別対象とする。このステップ144の処理は、縦方向にレコードの文字の位置が共通になるようにレコードを並べたときに文字を縦に参照することに相当する。
次のステップ146では、全てのレコードについて文字の位置(n文字目)に共通する文字の種類を求める。なお、ステップ146では、文字列の文字と数字列の文字とが混在する場合には、文字列の文字とみなすことが好ましい。次のステップ148では、1レコード長のデータのパターンとして先頭位置から末尾位置までの各位置の文字種別を決定する。次のステップ150では、1レコード長のデータについて先頭位置から末尾位置までに詰め文字が存在するときにその詰め文字の位置を記録する。次のステップ152では、数字列の先頭位置から末尾位置までを数値型項目の位置に設定する。なお、数字列の先頭位置は、詰め文字を含む場合がある。また、数字列の末尾位置は詰め文字を含まない。次のステップ154では、文字列の先頭位置から末尾位置までを文字型項目の位置に設定する。なお、文字列の先頭位置は、詰め文字を含まない。また、文字列の末尾位置は、詰め文字を含む場合がある。次のステップ156では、ステップ152及び154による数値型項目の位置、及び文字型項目の位置により、項目の区切りを決定する。
なお、項目の区切りを決定する場合には、文字列を優先することが好ましい。例えば、数値型項目の位置による先頭位置から末尾位置までを数値型項目とし、その先頭位置から末尾位置までの文字数を数値型項目のデータ長と推測する。また、文字型項目の位置による先頭位置から末尾位置までを文字型項目とし、その先頭位置から末尾位置までの文字数を文字型項目のデータ長と推測する。項目の区切りを決定する場合に文字列を優先すると、文字型項目を推測する場合において、詰め文字の有無が有効に機能する。例えば、文字列の先頭に詰め文字を含まず、かつ文字列の末尾に詰め文字を含む場合があるとき、文字列が連続する範囲で、詰め文字の有無の境界部分が項目の区切りであると推測できる。
以上のようにして固定長データ12における項目の区切り位置を推測する。
図11には、項目を推測する過程の一例を示した。図11(A)は、約数10で固定長データ12を分割した分割データ12B−1,12B−2,12B−3を示している(図6(A)も参照)。また、図11(B)は、1レコード長のデータのパターンとして、先頭位置から末尾位置までの各位置の文字種別を決定(ステップ148)した部分配列12Dを示している。また、図11(B)には、1レコード長のデータについて先頭位置から末尾位置までに詰め文字が存在するときに記録した詰め文字の位置(ステップ150)に文字「パ」を格納したデータ配列12Eを示した。
図11に示す固定長データ12による、項目の推測は、2文字の数値型項目、3文字の文字型項目、3文字の文字型項目、及び2文字の数値型項目が連続するデータであるという推測結果を得ることができる。
このように、固定長データと、推測された1レコード長により、各レコードを判別できる。また、各レコードの文字の位置で共通の文字の種類(レコードを縦に確認したときの文字位置の文字の種類)を判断することにより、項目の区切りを特定でき、1つの項目の範囲を設定できる。
なお、本実施形態では、数値型項目と文字型項目が存在するものとして説明したが、開示の技術は、数値型項目と文字型項目に限定されるものではない。例えば、アルファベットや記号文字を示すデータを含む項目など、文字の種類で切り分け可能な項目であれば、開示の技術は適用可能である。
次に、第3解析部22における第2の推測方法は、予め定義された文字の種類の配列から項目の区切り位置を推測する。例えば「数字の並び」に一致または一致度が予め定めた閾値以上になるパターンを求め、そのパターンが各レコードに共通して出現するときに、そのパターンを項目と推測し、パターンの前後何れかの位置を項目の区切り位置として推測する。つまり、正規表現で特定できるパターンによりレコードの項目を判断することにより、項目の区切り位置を設定し、1つの項目を推定する。
本実施形態では、正規表現による日付を示す文字型項目(例えば、MMDD形式の日付型項目)、その他の文字型項目、および、数値型項目が存在する場合について説明する。なお、正規表現による他の例として、日付を示す文字型項目に限定されな。例えば、値を任意の文字列パターンで表すことができる項目であれば、同様の方法で項目の区切りを推測することができる。
詳細には、第3解析部22における第2の推測方法では、図12の処理ルーチンが実行される。なお、本実施形態では、全てのレコードの長さが一致する場合を説明する。また、数字列の前(または後ろ)に詰め文字が連続することがあ、また文字列の後ろ(または前)に詰め文字が連続することがある場合を説明する。また、1レコードの長さ、数字列のパディング文字、文字列のパディング文字は、事前に推測されているものとする。
図12のステップ160では、図10のステップ140と同様に固定長データ12、推測した1レコード長、及び詰め文字に関する情報を取得する。次のステップ162では、図10のステップ142と同様に、固定長データ12を推測した1レコード長で分割し、分割された分割データを1レコードとみなす。
次のステップ164では、1レコードとみなした分割データについて、正規表現による特定項目(例えば、日付を示す文字型項目。一例はMMDD形式の日付型項目)の位置を判別する。MMDD形式の日付型項目では、MMの位置には文字として「01」〜「12」の何れか1つの2桁数字を示す文字が対応する。また、DDの位置には文字として「01」〜「31」の何れか1つの2桁数字を示す文字が対応する。
次のステップ166では、全てのレコード、又は或る一定割合を超える数のレコードについて、共通に日付を示す文字型項目と判別できる位置を日付型項目に設定する。この場合の或る一定割合は、予め定めた閾値であり、例えば、8割以上の割合を示す値があり、好ましくは、9割以上の割合を示す値があり、最も好ましくは、全てのレコードに対応する10割の割合を示す値である。
次のステップ168では、ステップ166で設定した日付型項目以外の文字について、数値型項目の位置を判別する。次のステップ170では、全てのレコード、又は或る一定割合を超える数のレコードについて、共通に数値型項目と判別できる位置を数値型項目に設定する。この場合の或る一定割合は、予め定めた閾値であり、例えば、8割以上の割合を示す値、好ましくは、9割以上の割合を示す値、最も好ましくは、全てのレコードに対応する10割の割合を示す値を適用することができる。
次のステップ172では、文字型項目を判別する。なお、本実施形態では、詰め文字の終端位置までを1つの文字列に設定する場合を説明する。次のステップ174では、或る一定割合を超える数のレコードについて、共通に文字型項目と判別できる位置を文字型項目に設定する。この場合の或る一定割合は、予め定めた閾値であり、例えば、8割以上の割合を示す値、好ましくは、9割以上の割合を示す値、最も好ましくは、全てのレコードに対応する10割の割合を示す値を適用することができる。
次のステップ176では、ステップ166,170及び174による日付型項目の位置、数値型項目の位置、及び文字型項目の位置により、項目の区切りを決定する。
以上のようにして固定長データ12における項目の区切り位置を推測する。
図13〜図15には、第2の推測方法により項目を推測する過程の一例を示した。図13は日付型項目の推測過程を示し、図14は数値型項目の推測過程を示し、図15は文字型項目の推測過程を示した。図13(A)は、日付を示す文字型項目を含む全体長30文字の固定長データを約数10で分割した分割データ12F−1,12F−2,12F−3を示している。また、図13(B)は、1レコード長のデータのパターンとして、日付を示す文字型項目である日付型項目の文字の種類が設定された部分配列12fを示している。
図13(A)に示すように、分割データ12F−1では、6文字目から9文字目の文字列と、7文字目から10文字目の文字列とが日付を示す文字型項目に対応する。また、分割データ12F−2では、6文字目から9文字目の文字列と、7文字目から10文字目の文字列とが日付を示す文字型項目に対応する。一方、分割データ12F−3は、6文字目から9文字目の文字列のみが日付を示す文字型項目に対応する。分割データ12F−1〜3の対応から、図13(B)に示すように、1レコード長のデータのパターンとして、日付型項目の位置は、6文字目から9文字目の文字列の位置が対応されると推測でき、文字の種類が設定された部分配列12fを推測できる。
次に、日付型項目以外の残存する文字について、数値型項目を推測する。図14(A)は、日付型項目以外の文字を含む分割データ12F−1,12F−2,12F−3を示した。また、図14(B)は、1レコード長のデータのパターンとして、日付型項目と数値型項目の文字の種類が設定された部分配列12fを示した。
図14(A)に示すように、分割データ12F−1〜12F3では、10文字目の文字が数値型項目に対応する。従って、図14(B)に示すように、1レコード長のデータのパターンとして、数値型項目の位置は、10文字目の文字位置が対応されると推測でき、文字の種類が設定された部分配列12fを推測できる。
次に、日付型項目及び数値側項目以外の残存する文字について、文字型項目を推測する。一例として、図15には文字型項目の推測過程を示した。図15(A)は、日付型項目及び数値側項目以外の文字を含む分割データ12F−1,12F−2,12F−3を示した。また、図15(B)は、1レコード長のデータのパターンとして、日付型項目、数値側項目、及び文字型項目の文字の種類が設定された部分配列12fを示している。
図15(A)に示すように、分割データ12F−1では、1文字目から3文字目の文字列と、4文字目から5文字目の文字列とが文字型項目に対応する。また、分割データ12F−2では、1文字目から5文字目の文字列が文字型項目に対応する。そして、分割データ12F−3は、1文字目から3文字目の文字列と、4文字目から5文字目の文字列とが文字型項目に対応する。分割データ12F−1〜3の対応から、図15(B)に示すように、文字の種類が設定された部分配列12fを推測できる。すなわち、1レコード長のデータのパターンとして、文字型項目の位置は、1文字目から3文字目の文字列と、4文字目から5文字目の文字列との位置が対応されると推測でき、文字の種類が設定された部分配列12fを推測できる。
従って、図15(B)に示すように、項目の推測は、3文字の文字型項目、2文字の文字型項目、4文字の日付型項目、及び1文字の数値型項目が連続するデータであるという推測結果を得ることができる。このように、固定長データと、推測された1レコード長により、各レコードを判別できる。
次に図16を参照し、データ解析システム10のデータ分割装置13によって実現される固定長データ12の分割処理を説明する。
データ分割装置13による分割処理では図16に示す処理ルーチンが実行される。まず、データ分割装置13の分割部26は、ステップ180において、ユーザ等の指示により指定されたデータ解析対象の固定長データ12、及びデータ解析装置11で解析された区切りを示す情報を取得する。次のステップ182において分割部26は、取得された固定長データ12を、解析された区切りを示す情報を使用して項目毎に分割する。次のステップ184において分割部26は、項目毎に分割したデータに対して、区切りを示す情報による項目に対応する文字の種類と文字数を対応づけた項目定義データを生成し、出力する。
なお、本実施形態では、データ分割装置13が、固定長データ12を項目毎に分割する態様を説明したが、開示の技術は固定長データ12を項目毎に分割することに限定されるものではない。例えば、固定長データ12に、データ解析装置11で解析された区切りを示す情報を関連づけて、固定長データファイルとして出力するようにしてもよい。
また、上記ではデータ解析装置およびデータ分割装置をコンピュータにより実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
また、上記ではプログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。例えば、開示の技術におけるデータ解析プログラムまたはデータ分割プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
前記解析部は、文字と数字との境界位置を、項目の区切り位置を示す項目区切情報とする請求項1に記載のデータ解析装置。
(付記2)
前記入力データに含まれる予め定めた閾値を超える文字数の文字を前記詰め文字とするときに、
前記解析部は、前記詰め文字の有無の境界位置を、項目の区切り位置を示す項目区切情報とする請求項1に記載のデータ解析装置。
10 データ解析システム
11 データ解析装置
12 固定長データ
13 データ分割装置
14 解析部
16 第1解析部
18 項目解析部
20 第2解析部
22 第3解析部
24 区切りを示す情報
26 分割部
30 コンピュータ
32 CPU
34 メモリ
36 記憶部
38 解析プログラム
40 第1解析プロセス
42 第2解析プロセス
44 第3解析プロセス
46 分割プログラム
50 分割プロセス

Claims (14)

  1. 複数のデータ項目それぞれの値文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定する解析部
    を備えたデータ解析装置。
  2. 前記解析部は、前記文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となるときの、前記部分文字列データの開始位置及び終了位置の少なくとも一方の位置を、前記入力データにおける前記レコードの区切り位置と推定する
    請求項1に記載のデータ解析装置。
  3. 前記解析部は、前記文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となるときの、文字のデータ属性の切り替わり位置を、前記入力データにおける前記データ項目の区切り位置と推定する
    請求項2に記載のデータ解析装置。
  4. 前記解析部は、前記特定のデータ長として前記入力データの総文字数の約数を用いて前記入力データを分割する
    請求項1〜請求項3の何れか1項に記載のデータ解析装置。
  5. 前記入力データは、前記データ項目及び前記レコードの少なくとも一方の区切りを示す予め定めた特定区切情報を含んでいないデータである
    請求項1〜請求項4の何れか1項に記載のデータ解析装置。
  6. 前記解析部は、推定した前記レコードの区切り位置で前記入力データを複数の部分文字列データに分割し、分割した複数の部分文字列データのうちの閾値以上の割合の部分文字列データに共通する文字のデータ属性の切り替わり位置を、前記入力データにおける前記データ項目の区切り位置と推定する
    を含む請求項1〜請求項5の何れか1項に記載のデータ解析装置。
  7. 前記解析部は、推定した前記レコードの区切り位置で前記入力データを複数の部分文字列データに分割し、分割した個々の部分文字列データに含まれる連続する同一文字を詰め文字に設定し、設定した前記詰め文字の連続の開始位置または終了位置を、前記入力データにおける前記データ項目の区切り位置と推定する
    を含む請求項1〜請求項6の何れか1項に記載のデータ解析装置。
  8. 前記解析部は、前記部分文字列データに含まれる連続する同一文字のうち、文字数が最大の文字を前記詰め文字に設定する
    請求項7に記載のデータ解析装置。
  9. 前記複数のデータ項目は、文字型のデータ項目と数字型のデータ項目を含む
    請求項1〜請求項8の何れか1項に記載のデータ解析装置。
  10. 複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定するデータ解析装置により推定された区切り位置を示す情報が入力され、入力された前記情報に基づいて、前記入力データを分割する分割部
    を備えるデータ分割装置。
  11. 複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定する解析ステップ
    を含む処理をコンピュータに実行させるデータ解析方法。
  12. 複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定するデータ解析方法により推定された区切り位置を示す情報が入力され、入力された前記情報に基づいて、前記入力データを分割する分割ステップ、
    を含む処理をコンピュータに実行させるデータ分割方法。
  13. コンピュータに、
    複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定する解析ステップ
    を含む処理を実行させるためのデータ解析プログラム。
  14. コンピュータに、
    複数のデータ項目それぞれの値を文字列として含むレコードが複数連続する入力データに対し、前記入力データを特定のデータ長毎に分割したときに生成されることとなる複数の部分文字列データそれぞれにおける、文字のデータ属性の切り替わり位置が前記複数の部分文字列データ間で所定以上の一致度となる前記特定のデータ長に基づいて、前記入力データにおける前記レコードの区切り位置を推定するデータ解析プログラムにより推定された区切り位置を示す情報が入力され、入力された前記情報に基づいて、前記入力データを分割する分割ステップ
    を含む処理を実行させるためのデータ分割プログラム。
JP2012057545A 2012-03-14 2012-03-14 データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム Expired - Fee Related JP5838871B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012057545A JP5838871B2 (ja) 2012-03-14 2012-03-14 データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム
US13/798,626 US8977635B2 (en) 2012-03-14 2013-03-13 Device, method of processing data, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012057545A JP5838871B2 (ja) 2012-03-14 2012-03-14 データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム

Publications (2)

Publication Number Publication Date
JP2013191062A JP2013191062A (ja) 2013-09-26
JP5838871B2 true JP5838871B2 (ja) 2016-01-06

Family

ID=49158663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012057545A Expired - Fee Related JP5838871B2 (ja) 2012-03-14 2012-03-14 データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム

Country Status (2)

Country Link
US (1) US8977635B2 (ja)
JP (1) JP5838871B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169394B2 (en) 2014-06-05 2019-01-01 International Business Machines Corporation Managing data sets of a storage system
CN108351898B (zh) 2015-10-30 2021-10-08 安客诚公司 用于结构化多字段文件布局的自动化解释
JP6242540B1 (ja) * 2016-03-17 2017-12-06 株式会社日立製作所 データ変換システム及びデータ変換方法
EP3667660A4 (en) * 2017-08-09 2020-12-23 Sony Corporation INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING PROCESS

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06203020A (ja) 1992-12-29 1994-07-22 Hitachi Ltd テキストフォーマット認識生成方法および装置
US5634123A (en) * 1993-07-08 1997-05-27 Park City Group, Inc. Data management using nested records and code points
JPH08190479A (ja) * 1995-01-05 1996-07-23 Mitsubishi Electric Corp データベース移行方式
JP3724878B2 (ja) 1996-06-28 2005-12-07 株式会社日立製作所 キーワード抽出ルール生成方法
JP2004021698A (ja) * 2002-06-18 2004-01-22 Hitachi Eng Co Ltd データファイル変換処理システム
JP4279588B2 (ja) * 2003-04-21 2009-06-17 エヌ・ティ・ティ・データ・ジェトロニクス株式会社 データ変換装置及び方法
US7512610B1 (en) * 2005-09-30 2009-03-31 Miosoft Corporation Processing data records
JP5690349B2 (ja) * 2009-11-13 2015-03-25 アビニシオ テクノロジー エルエルシー レコード形式情報の管理
JP2011170546A (ja) 2010-02-17 2011-09-01 Fuji Xerox Co Ltd 文書生成装置及びプログラム

Also Published As

Publication number Publication date
JP2013191062A (ja) 2013-09-26
US20130246444A1 (en) 2013-09-19
US8977635B2 (en) 2015-03-10

Similar Documents

Publication Publication Date Title
JP5138046B2 (ja) 検索システム、検索方法およびプログラム
CN107729526B (zh) 一种文本结构化的方法
US9025890B2 (en) Information classification device, information classification method, and information classification program
JP6107513B2 (ja) 情報処理システム、情報処理方法、および情報処理プログラム
JP5838871B2 (ja) データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム
US8484229B2 (en) Method and system for identifying traditional arabic poems
US8527516B1 (en) Identifying similar digital text volumes
US10346450B2 (en) Automatic datacenter state summarization
JP5056337B2 (ja) 情報検索システム
JP6856527B2 (ja) メッセージ分析装置、メッセージ分析方法、および、メッセージ分析プログラム
CN113282717B (zh) 文本中实体关系的抽取方法、装置、电子设备及存储介质
JP2007219620A (ja) テキスト検索装置、テキスト検索プログラム、及びテキスト検索方法
JP6191440B2 (ja) スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法
JP5577546B2 (ja) 計算機システム
JP2010250439A (ja) 検索システム、データ生成方法、プログラムおよびプログラムを記録した記録媒体
US20190294637A1 (en) Similar data search device, similar data search method, and recording medium
JP6723726B2 (ja) 入力支援装置
JP2016076100A (ja) ファイル分割システム及び方法
JP6807201B2 (ja) 情報処理装置
JP7208222B2 (ja) データレコード内のフォーマットを動的に定義する技術
JP5795302B2 (ja) 形態素解析装置、方法、及びプログラム
JP5184987B2 (ja) 索引情報作成装置、索引情報作成方法及びプログラム
JP6753190B2 (ja) 文書検索装置及びプログラム
CN110874398A (zh) 违禁词处理方法、装置、电子设备及存储介质
JP6044422B2 (ja) 略称生成方法および略称生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150928

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: 20151013

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151026

R150 Certificate of patent or registration of utility model

Ref document number: 5838871

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees