(57)【要約】【課題】複数の項目の中から、目的とする項目の候補を推定する項目推定方法等を提供すること。【解決手段】発注明細毎に、発注品の単価、発注品の数量、単価及び数量に対応する発注総額、並びに発注品の他の単価及び数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる複数の数値データ間の関係に基づき、複数の項目のうち、数量の項目の候補及び発注総額の項目を特定し、複数の項目のうち、特定した数量の項目の候補及び発注総額の項目以外のいずれかの項目を選択し、選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した数量の項目の候補に対応付けられた数値データで除算した値を算出し、算出した値の発注明細間のバラツキに基づき、選択した項目が他の発注総額の項目であるか否かを判定し、結果を出力する。【選択図】図１
2017174306.tif 000002
【特許請求の範囲】
【請求項１】
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行い、
判定結果を出力する
処理をコンピュータが実行することを特徴とする項目推定方法。
【請求項２】
いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目又は前記発注品の単価の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注品の単価の項目並びに前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目又は前記発注品の単価の項目の一方の候補に対応付けられた数値データで除算した値と、該項目に対応付けられた数値データを、特定した前記数量の項目又は前記発注品の単価の項目の他方の候補に対応付けられた数値データで除算した値とを算出し、
算出した値それぞれの発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする請求項１に記載の項目推定方法。
【請求項３】
算出した値それぞれの発注明細間のバラツキに基づき、前記数量の項目又は前記発注品の単価の項目の候補のいずれが前記数量の項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする請求項２に記載の項目推定方法。
【請求項４】
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数取得する取得部と、
取得したいずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定する特定部と、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択する選択部と、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出する算出部と、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行う判定部と、
判定結果を出力する出力部と
を備えることを特徴とする項目推定装置。
【請求項５】
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行い、
判定結果を出力する
処理をコンピュータに実行させことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの複数の項目のうち、いずれが目的とする項目であるのかを推定する項目推定方法等に関する。
【背景技術】
【０００２】
近年、企業内で複数のデータの統合や、形式の統一化が行われている。データの統合や、データ形式の統一化をするためには、各データの項目内容を把握することが必要となる。
【０００３】
項目名や値を人が見れば分かることもあるが、各データの項目数が多い場合、データの種類が多い場合、人が全てを把握することは困難である。特に、数値項目は、一つのデータに多数含まれることが多い。そして、各数値項目の値域や値の分布のみでは、どのような項目であるのか把握できないことが多い。
【０００４】
一方、データ分析については、複数の項目の値にある複数の関係性（ルール）に基づいて、ルールの前件部と後件部を満たすレコード数を効率的に数える技術が提案されている（例えば、特許文献１を参照）。
【０００５】
また、レコード集合により異なる複数のルール間の類似性を、ユーザにわかりやすく提示する技術が提案されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−３４７２１号公報
【特許文献２】特開平８−２７２８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来のデータ分析技術は、項目間やレコード間の関係性（ルール）に着目したものであり、項目が意味するところを具体的に推定することはできない。
【０００８】
１つの側面では、複数の項目の中から、目的とする項目の候補を推定する項目推定方法などを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様では、発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定し、前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行い、判定結果を出力する。
【発明の効果】
【００１０】
一観点によれば、複数の項目の中から、目的とする項目の候補を推定可能である。
【図面の簡単な説明】
【００１１】
【図１】項目推定システムの構成例を示すブロック図である。
【図２】発注情報データベースのレコードレイアウトの一例を示す説明図である。
【図３】項目推定結果データベースのレコードレイアウトの一例を示す説明図である。
【図４】型推定結果データベースのレコードレイアウトの一例を示す説明図である。
【図５】項目推定装置のメイン処理の手順を示すフローチャートである。
【図６】推定処理の手順を示すフローチャートである。
【図７】仮単価の計算結果を示す説明図である。
【図８】仮単価をグループ分けした結果を示す説明図である。
【図９】仮単価を日付項目でさらにグループ分けした結果を示す説明図である。
【図１０】仮単価を日付項目でグループ分けした結果を示す説明図である。
【図１１】近さ判定処理の手順を示すフローチャートである。
【図１２】仮単価と日付項目の一例と、それらの統計値を示す説明図である。
【図１３】仮単価と日付項目の他の例と、それらの統計値を示す説明図である。
【図１４】項目推定装置の機能部の一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態を、図面を参照して説明する。
【００１３】
以下の説明において、処理対象のデータ例として、物品等の発注情報を用いる。そして、目的とする項目は、発注単価、発注数、決定価格とする。なお、決定価格とは、発注者と受注者とが最終的に合意した価格である。また、目的とする項目の候補となる項目のことを、候補項目と言う。
【００１４】
図１は、項目推定システム１０の構成例を示すブロック図である。項目推定システム１０は、項目推定装置１、発注管理装置２を含む。項目推定装置１と発注管理装置２とは、ネットワークＮにより接続されている。項目推定装置１及び発注管理装置２は、汎用コンピュータ、ワークステーション、サーバコンピュータ、デスクトップ型ＰＣ（パーソナルコンピュータ）、ノートブック型ＰＣ等である。
【００１５】
発注管理装置２は、発注情報データベース２１、項目推定結果データベース２２、型推定結果データベース２３を含む。発注情報データベース２１は、処理対象となる発注情報を記憶している。項目推定結果データベース２２は、発注情報データベース２１の項目の中から、発注単価、発注数、決定価格の候補を推定した結果を記憶する。この推定は関連技術を用いて推定した結果である。項目推定結果は３つの候補項目を含む。この３つの項目いずれかが、発注単価、発注数又は決定価格であることは、推定できている。型推定結果データベース２３は、発注情報データベース２１の項目のそれぞれのデータ型を、関連技術により推定した結果である。型推定結果は、例えば、数値、日付、文字列である。なお、発注管理装置２は、処理対象となる発注情報を記憶するデータベースを複数記憶していても良い。この場合、複数のデータベース間で項目が異なってもよい。データ項目が異なる場合、発注管理装置２はデータベース毎に、以下に説明するメイン処理、推定処理を行う。
【００１６】
図１に示すように、項目推定装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、データ取得部１４、結果出力部１５、大容量記憶部１６、通信部１７、読み取り部１８を含む。各構成はバスＢで接続されている。
【００１７】
ＣＰＵ１１はＲＯＭ１２に記憶された制御プログラム（コンピュータプログラム）１Ｐに従いハードウェア各部を制御する。ＲＡＭ１３は例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、フラッシュメモリである。ＲＡＭ１３はＣＰＵ１１による制御プログラム１Ｐの実行時に発生するデータを一時的に記憶する。
【００１８】
データ取得部１４は、キーボード、マウス等の入力機器を介して、種々のデータを取得する。結果出力部１５は、表示装置等に推定結果である推定項目集合を出力する。
【００１９】
大容量記憶部１６は、例えばハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。大容量記憶部１６は、推定項目集合データベース１６１を記憶している。推定項目集合データベース１６１は、項目推定装置１のメイン処理により得られる推定項目集合を含む。また、発注情報データベース２１、項目推定結果データベース２２、型推定結果データベース２３を大容量記憶部１６に記憶しても良い。さらにまた、大容量記憶部１６は、ＲＡＭ１３と同様に、制御プログラム１Ｐの実行時に発生するデータなどを一時的に記憶しても良い。加えて、制御プログラム１Ｐを大容量記憶部１６に記憶しても良い。通信部１７はネットワークＮを介して、発注管理装置２など他のコンピュータと通信を行う。
【００２０】
読み取り部１８はＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭを含む可搬型記憶媒体１ａを読み取る。ＣＰＵ１１が読み取り部１８を介して、制御プログラム１Ｐを可搬型記憶媒体１ａより読み取り、大容量記憶部１６に記憶しても良い。また、ネットワークＮを介して他のコンピュータからＣＰＵ１１が制御プログラム１Ｐをダウンロードし、大容量記憶部１６に記憶しても良い。さらにまた、半導体メモリ１ｂから、ＣＰＵ１１が制御プログラム１Ｐを読み込んでも良い。
【００２１】
図２は、発注情報データベース２１のレコードレイアウトの一例を示す説明図である。発注情報データベース２１は、ＨＣＩＤ列、ＨＮＭＩ列、ＨＮＣＤ列、ＨＴＮＫ列、ＨＫＳＵ列、ＨＫＫＫ列、ＫＫＫＫ列、ＨＴＴＳ列、ＨＤＡＹ列、ＮＤＡＹ列、ＨＴＣＤ列、ＴＮＴＳ列を含む。ここで、発注情報データベース２１の主キーは、ＨＣＩＤ列であるとする。主キーは、ＳＱＬ文などの関連技術により、発注情報データベース２１に問い合わせることにより、取得することが可能である。
【００２２】
図３は、項目推定結果データベース２２のレコードレイアウトの一例を示す説明図である。項目推定結果データベース２２は、Ｎｏ．列、データベース名列、セット番号列、項目名列を含む。Ｎｏ．列は、データベースを識別する順番号を記憶する。データベース名列は、データベースの名称を記憶する。セット番号列は候補項目の集合が複数ある場合にそれを識別する番号を記憶する。以下、候補項目の集合それぞれを「項目セット」という。項目列は候補項目の項目名を記憶する。ここでは、目的とする項目は、発注単価、発注数、決定価格の３項目である。したがって、図３に示す例では、３つのレコードで１つの項目セットを示す。図３に示す例では、セット番号１の項目セットが１つ記憶されている。項目セットに含まれる候補項目は、「ＨＴＮＫ」、「ＨＫＳＵ」、「ＨＫＫＫ」の３つである。なお、Ｎｏ．列はデータベースを識別するための項目である。したがって、データベースを識別可能な他の項目があれば、必ずしも必要な項目ではない。例えば、データベースの名称により、データベースが識別可能であれば、Ｎｏ．列はなくても良い。
【００２３】
図４は、型推定結果データベース２３のレコードレイアウトの一例を示す説明図である。型推定結果データベース２３は、Ｎｏ．列、データベース名列、項目名列、型列を含む。Ｎｏ．列及びデータベース名列は、項目推定結果データベース２２と同様である。項目名列は、対象となるデータベースに含まれる各項目の項目名を記憶する。型列は、対象となるデータベースに含まれる各項目のデータ型を記憶する。上述したように、データ型は、例えば、数値、日付、文字列などである。
【００２４】
図５は、項目推定装置１のメイン処理の手順を示すフローチャートである。項目推定装置１のＣＰＵ１１は、処理データを取得する（ステップＳ１）。処理データとは、例えば、処理対象となる発注情報である。図１に示した構成例では、これらのデータは、通信部１７を介して、発注管理装置２から取得する。処理対象となる発注情報が複数ある場合は、発注情報を特定する識別情報、データベース番号やデータベース名を、データ取得部１４を介して取得してもよい。データベース番号やデータベース名は、例えば、ユーザがキーボード等のインタフェース用いて入力する。
【００２５】
ＣＰＵ１１は、項目セットを選択する（ステップＳ２）。ＣＰＵ１１は、項目推定結果データベース２２から、処理対象となっている発注情報に対応した項目推定結果を読みだす。読みだした項目推定結果に含まれる１つの項目セットを選択する。ＣＰＵ１１は、選択した項目セットに含まれる候補項目以外であって、データ型が数値である項目、数値項目を１つ選択する（ステップＳ３）。ＣＰＵ１１は、型推定結果データベース２３を型列の値が数値であるレコードを読みだす。ＣＰＵ１１は、読み出しレコードのうち、項目名が、項目セットに含まれる項目名と一致するものは、除外する。ＣＰＵ１１は、残ったレコードの一つを選択し、選択したレコードに対応する項目を選択した数値項目とする。
【００２６】
ＣＰＵ１１は、推定処理を行う（ステップＳ４）。推定処理については、後述する。ＣＰＵ１１は、他に数値項目があるか否かを判定する（ステップＳ５）。ＣＰＵ１１は、他に数値項目があると判定した場合（ステップＳ５でＹＥＳ）、処理をステップＳ３に戻し、未選択である他の数値項目についての処理を行う。ＣＰＵ１１は、他に数値項目がないと判定した場合（ステップＳ５でＮＯ）、他に項目セットがあるか否かを判定する（ステップＳ６）。ＣＰＵ１１は、他に項目セットがあると判定した場合（ステップＳ６でＹＥＳ）、処理をステップＳ２に戻し、未選択である他の項目セットについての処理を行う。ＣＰＵ１１は、他に項目セットがないと判定した場合（ステップＳ６でＮＯ）、推定項目集合データベース１６１に記憶する推定項目集合すべてを処理結果として出力し（ステップＳ７）、処理を終了する。
【００２７】
次に、推定処理について説明する。なお、以下の説明において、各項目セットにおいては、どの候補項目が発注価格を示す項目であることは判明しているとする。各項目セットにおいて、発注価格以外の２つの候補項目のいずれが発注単価であるか、発注数量であるかが不明であるとする。
【００２８】
図６は、推定処理の手順を示すフローチャートである。ＣＰＵ１１は仮単価を計算する（ステップＳ１１）。仮単価は、ステップＳ３で選択した数値項目を、発注単価又は発注数量の候補となった項目の値で割った値を示す。
【００２９】
ＣＰＵ１１は、候補項目、ステップＳ３で選択した数値項目以外の項目を１つ選択する（ステップＳ１２）。選択した項目の値により、ステップＳ１１で求めた仮単価をグループ分けする（ステップＳ１３）。ＣＰＵ１１はグループ分けした各グループにおいて、仮単価が同一であるか否かを判定する（ステップＳ１４）。ＣＰＵ１１は、各グループで仮単価が同一であると判定した場合（ステップＳ１４でＹＥＳ）、推定項目集合を推定項目集合データベース１６１に記憶する（ステップＳ１５）。推定項目集合は、発注単価、発注数、決定価格、発注品を識別する項目を含む。ＣＰＵ１１は、ステップＳ３で選択した項目が決定価格、ステップＳ１３で選択した項目が発注品を識別する項目とする。発注品を識別する項目とは、例えば、品名又は品コードである。また、ＣＰＵ１１は、仮単価が同一となる場合のステップＳ１３における割る数（候補項目の１つ）を発注数量とする。ＣＰＵ１１は、残りの候補項目を発注単価とする。
【００３０】
ＣＰＵ１１は、仮単価が同一ではないと判定した場合（ステップＳ１４でＮＯ）、日付項目との関係で仮単価が近いか否かを判定する（ステップＳ１６）。ここで、日付との関係で仮単価が近いか否かの判定を行うのは、発注単価は日付との関係で次のように変動することを前提としている。すなわは、発注単価は、短い期間でみれば価格は変動しないが、長い期間でみれば価格は変動する。すなわち、グループ内で、仮単価が同一とならない場合であっても、日付が近いもので細分化し、細分化したグループ内で仮単価が同一又は近ければ、グループ内で仮単価が同一であるとみなして良い。
【００３１】
ＣＰＵ１１は、日付項目との関係で仮単価が近いと判定した場合（ステップＳ１６でＹＥＳ）、ステップＳ１５を実行する。ここで、ＣＰＵ１１は、ステップＳ３で選択した項目が決定価格、ステップＳ１３で選択した項目が発注品を識別する項目とする。また、ＣＰＵ１１は、仮単価が近い場合のステップＳ１３における割る数（候補項目の１つ）を発注数量とする。ＣＰＵ１１は、残りの候補項目を発注単価とする。なお、近いか否かの判定については、後に詳細を説明する。
【００３２】
ＣＰＵ１１は、ＣＰＵ１１は、日付項目との関係で仮単価が近くないと判定した場合（ステップＳ１６でＮＯ）、処理をステップＳ１７に移す。ＣＰＵ１１は、他に非数値項目があるか否かを判定する（ステップＳ１７）。ＣＰＵ１１は、他に非数値項目があると判定した場合（ステップＳ１７でＹＥＳ）、処理をステップＳ１２に戻し、未選択である他の非数値項目についての処理を行う。ＣＰＵ１１は、他に非数値項目がないと判定した場合（ステップＳ１７でＮＯ）、推定処理を終了し、処理を呼び出し元に戻す。
【００３３】
次に、図２に示す発注情報を例として、メイン処理、推定処理の内容を再度、説明する。以下の説明においては、発注情報のレコードは、図２において具体的に数値が示されているレコードのみとする。発注情報に含まれる項目は、図２において具体的に項目名が示されている項目とする。発注情報の主キーは、ＨＣＩＤとする。また、項目セットは、図３に示すように１セットであるとする。そして、項目セットの含まれる候補項目のうち、ＨＫＫＫが発注価格であると判明しているとする。したがって、候補項目のＨＴＮＫ、ＨＫＳＵの一方が発注単価であり、他方が発注数量である。また、図２に示す発注情報に含まれる各項目の値を示す場合は、上から下の順に示すものとする。すなわち、最初に、ＨＣＩＤ＝１０１０１０であるレコードの値を示し、最後に、ＨＣＩＤ＝１０２０１４であるレコードの値を示す。以上の前提のもとで、メイン処理、推定処理を説明する。
【００３４】
図５のステップＳ１で取得される処理データは、図２に示す発注情報である。ステップＳ２で選択される項目セットは、図３に示す項目セットである。ステップＳ３で選択されるべき数値項目は、主キー、候補項目を除くから、ＨＮＣＤ、ＫＫＫＫ、ＨＴＣＤ、ＴＮＴＳである。
【００３５】
ステップＳ３で、ＨＮＣＤが選択されたとする。図７は、仮単価の計算結果を示す説明図である。図７Ａは、仮単価を計算するときの割る数をＨＴＮＫとした場合である。図７Ｂは、仮単価を計算するときの割る数をＨＫＳＵとした場合である。図７Ａ、７Ｂともに、左側に示す表は、発注情報データベース２１の抜粋である。右側の表は仮単価の計算結果を示す。
【００３６】
次に、ＣＰＵ１１は、ステップＳ１３において、グループ分けする項目として、ＨＮＭＩを選択したとする。図８は、仮単価をグループ分けした結果を示す説明図である。図８Ａは、仮単価を計算するときの割る数をＨＴＮＫとした場合である。図８Ｂは、仮単価を計算するときの割る数をＨＫＳＵとした場合である。図８Ａ、８Ｂともに、左側に示す表は、発注情報データベース２１の抜粋である。右側の表は仮単価の計算結果を示す。図８Ａ、８Ｂに示すように、ＨＮＭＩでグループ分けした場合、ＨＮＭＩ＝ａａａａのグループは、グループ内で仮単価が同一ではない。すなわち、ＣＰＵ１１はステップＳ１４でＮＯと判定する。
【００３７】
ＣＰＵ１１はステップＳ１６で、日付項目との関係で仮単価が近いか否かを判定する。図９は仮単価を日付項目でさらにグループ分けした結果を示す説明図である。図９では日付項目としてＨＤＡＹを選択した場合を示している。ＨＤＡＹは８桁の数字で日付を示している。例えば、２０１４０１１０は、２０１４年０１月１０日を示している。図９Ａ、９Ｂともに、左側に示す表及び真ん中より右寄りの表は、発注情報データベース２１の抜粋である。右側の表は仮単価の計算結果を示す。図９Ａは、仮単価を計算するときの割る数をＨＴＮＫとした場合である。図９Ｂは、仮単価を計算するときの割る数をＨＫＳＵとした場合である。図９Ａに示すグループＧ１１、グループＧ１２は仮単価が同一ではない。図９Ｂに示すグループＧ２１は仮単価が同一である。グループＧ２２は仮単価が同一ではない。したがって、ＣＰＵ１１はステップＳ１６でＮＯと判定する。日付項目としてＮＤＡＹを選択した場合、日付のバラツキが大きい。また、例示している発注情報のレコード数が少なく、近いと判定はできない。
【００３８】
ＣＰＵ１１はステップＳ１７で他に非数値項目があるか否かを判定する。図４に示したようにＨＮＭＩ以外に非数値項目はないので、ＣＰＵ１１はステップＳ１７をＮＯと判断する。ＣＰＵ１１は推定処理を終了し、呼び出し元に戻す。ＣＰＵ１１はステップＳ５で他の数値項目があるか否か判定する。未処理の数値項目として、ＫＫＫＫ、ＨＴＴＳ、ＨＴＣＤ、ＴＮＴＳがあるから、ＣＰＵ１１はステップＳ５をＹＥＳと判定する。ＣＰＵ１１は処理をステップＳ３に戻す。ＣＰＵ１１はステップＳ３で、数値項目としてＫＫＫＫを選択したとする。ＣＰＵ１１は推定処理を行う。
【００３９】
図１０は、仮単価を日付項目でグループ分けした結果を示す説明図である。図１０は、グループ分けする項目として、ＨＮＭＩを選択し、日付項目としてＨＤＡＹを選択した例である。図１０Ａは仮単価の計算時に割る数をＨＴＮＫとした場合である。図１０Ｂは仮単価の計算時に割る数をＨＫＳＵとした場合である。図１０Ａに示す結果では、グループＧ３１、Ｇ３２で仮単価が同一とならない。図１０Ｂに示す結果では、グループＧ４１、Ｇ４２はそれぞれグループ内で仮単価が同一である。したがって、ＣＰＵ１１は図６のステップＳ１６でＹＥＳと判断する。ＣＰＵ１１はステップＳ１５で推定項目集合を推定項目集合データベース１６１に記憶する。ここでの推定項目集合は次のとおりである。発注単価がＨＴＮＫ、発注数量がＨＫＳＵ、決定価格がＫＫＫＫ、発注品を識別する項目がＨＮＭＩである。
【００４０】
ＣＰＵ１１はステップＳ１７で再び、ＮＯと判定する。ステップＳ５では、ＹＥＳと判定し、ＣＰＵ１１は推定処理を繰り返す。ここでは、数値項目としてＨＴＣＤを選択した場合と、ＴＮＴＳを選択した場合である。
【００４１】
次に、図６のステップＳ１６で実行される日付項目との関係での仮単価が近いか否かを判定する方法の一例について説明する。以下に示す例は、値の差の絶対値の基礎統計を取り、その値を用いて、日付や金額の近さを判定するものである。
【００４２】
図１１は、近さ判定処理の手順を示すフローチャートである。ＣＰＵ１１は、処理対象として１つの日付項目を選択する（ステップＳ２１）。ＣＰＵ１１は、選択した日付項目により仮単価をソートする（ステップＳ２２）。ＣＰＵ１１は、前後のレコード間で、仮単価の差分と日付の差分とを算出する（ステップＳ２３）。ＣＰＵ１１は、仮単価の差分、日付の差分それぞれについて、平均値を算出する（ステップＳ２４）。ＣＰＵ１１は、処理対象として一組の差分を選択する（ステップＳ２５）。ＣＰＵ１１は選択した一組のうち、日付の差分が平均値より小さいか否かを判定する（ステップＳ２６）。ＣＰＵ１１は、日付の差分が平均値以上である判定した場合（ステップＳ２６でＮＯ）、処理をステップＳ２８へ移す。ＣＰＵ１１は、日付の差分が平均値より小さいと判定した場合（ステップＳ２６でＹＥＳ）、仮単価の差分が平均値より小さいか否かを判定する（ステップＳ２７）。ＣＰＵ１１は、仮単価の差分が平均値より小さいと判定した場合（ステップＳ２７でＹＥＳ）、未選択の他の差分があるか否かを判定する（ステップＳ２８）。ＣＰＵ１１は、未選択の他の差分があると判定した場合（ステップＳ２８でＹＥＳ）、処理をステップＳ２５に戻し、他の差分についての処理を行う。ＣＰＵ１１は、未選択の他の差分がないと判定した場合（ステップＳ２８でＮＯ）、処理結果に近いと設定し（ステップＳ２９）、処理を呼び出し元に戻す。ＣＰＵ１１は、仮単価の差分が平均値以上であると判定した場合（ステップＳ２７でＮＯ）、未選択の他の日付項目があるか否かを判定する（ステップＳ３０）。ＣＰＵ１１は未選択の他の日付項目があると判定した場合（ステップＳ３０でＹＥＳ）、処理をステップＳ２１に戻し、他の日付項目についての処理を行う。ＣＰＵ１１は未選択の他の日付項目がないと判定した場合（ステップＳ３０でＮＯ）、処理結果に近くないと設定し（ステップＳ３１）、処理を呼び出し元に戻す。
【００４３】
次に、近さ判定の処理例について、説明する。図１２は仮単価と日付項目の一例と、それらの統計値を示す説明図である。図１２に示す上側の表において、Ｎｏ．列は、レコードを特定するための識別子である。仮単価列は、仮単価の一例を示している。日付項目列は各仮単価に対応した日付を示す。仮単価は日付の昇順にソートしてある。仮単価の差分列及び日付の差分列は、それぞれ前のレコードとの差分（差の絶対値）を示している。図１２において、Ｎｏ．１のレコードは、仮単価１５００、日付２０１４／０４／１０である。Ｎｏ．２のレコードは、仮単価１４００、日付２０１４／０５／１０である。したがって、Ｎｏ．２のレコードにおいて、仮単価の差分は、１５００−１４００＝１００である。日付の差分は、２０１４／０５／１０−２０１４／０４／１０＝３０（日）である。他のレコードも同様である。図１２に示す下側の表は、仮単価の差分の平均値と、日付の差分の平均値を示している。値は、それぞれ４０、１５．８である。
【００４４】
ここでは、図１１で示したように、レコード間の日付の差分が平均値よりも小さい場合（ステップＳ２６でＹＥＳ）、仮単価の差分が処理対象となる。また、レコード間の日付の差分が平均値以上の場合（ステップＳ２６でＮＯ）、仮単価の差分を処理対象としない。そして、処理対象とする全てのレコード間で仮単価の差分が０又は平均値以内であれば（ステップＳ２７でＹＥＳ、ステップＳ２８でＮＯ）、仮単価が近いと判定する（ステップＳ２９）。
図１２に示す例では、日付の差分の平均値は１５．８であるから、日付の差分が１５．８日以下である次の３組が比較対象となる。Ｎｏ．２とＮＯ．３、Ｎｏ．６とＮｏ．７、Ｎｏ．８とＮｏ．９である。そして、３組についての仮単価の差分は全て０である。したがって、図１２に示す仮単価のデータは日付項目との関係で、近いと判定する。
【００４５】
図１３は、仮単価と日付項目の他の例と、それらの統計値を示す説明図である。図１３に示す仮単価、日付項目、統計値などの表示形式は、図１２と同様であるから説明を省略する。図１３に示すレコードにおいても、仮単価の差分の平均値は４０、日付の差分の平均値は１５．８である。仮単価の差分の処理対象となるのは、日付の差分が１５．８日以下であるレコードである。そして、図１２の場合と同様に、次の３組である。Ｎｏ．２とＮＯ．３、Ｎｏ．６とＮｏ．７、Ｎｏ．８とＮｏ．９である。これら３組のうち、Ｎｏ．２とＮＯ．３、Ｎｏ．６とＮｏ．７の仮単価の差分は０である。しかし、Ｎｏ．８とＮＯ．９との仮単価の差分は２００である。よって、仮単価の差分が平均値４０よりも値が大きい（ステップＳ２７でＮＯ）。他に日付項目がなければ（ステップＳ３０でＮＯ）、図１３に示す仮単価のデータは日付項目との関係を参酌しても、近くないと判定する（ステップＳ３１）。なお、上述した近いか否かの判定の手法は一例である。他の統計的に判定する手法が適用可能である。
【００４６】
図１４は、項目推定装置１の機能部の一例を示す説明図である。項目推定装置１は、取得部１１ａ、特定部１１ｂ、選択部１１ｃ、算出部１１ｄ、判定部１１ｅ、出力部１１ｆを含む。
【００４７】
取得部１１ａは発注情報を複数取得する。発注情報は、発注明細毎に、発注品の単価、発注品の数量、単価及び数量に対応する発注総額、並びに前記発注品の他の単価及び数量に対応する他の発注総額を含む複数の数値データを有する。
【００４８】
特定部１１ｂは、取得したいずれかの発注情報に含まれる複数の数値データ間の関係に基づき、複数の項目のうち、数量の項目の候補及び発注総額の項目を特定する。
【００４９】
選択部１１ｃは、複数の項目のうち、特定した数量の項目の候補及び発注総額の項目以外のいずれかの項目を選択する。
【００５０】
算出部１１ｄは、選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した数量の項目の候補に対応付けられた数値データで除算した値を算出する。
【００５１】
判定部１１ｅは、算出した値の発注明細間のバラツキに基づき、選択した項目が他の発注総額の項目であるか否かの判定を行う。
【００５２】
出力部１１ｆは、判定結果を出力する。
【００５３】
本実施の形態は、以下の効果を奏する。発注情報や納品情報などのように項目の中に、数値項目が大量にある情報の中から、発注単価、発注数量、決定価格、発注品を識別する項目の候補を、精度よく推定することが可能となる。
【００５４】
また、発注単価、数量、発注価格の候補が複数ある場合、決定価格と商品名が決まらないような候補を排除可能で、候補を削減可能である。
【００５５】
各実施の形態で記載されている技術的特徴（構成要件）はお互いに組み合わせ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００５６】
以上の実施の形態に関し、さらに以下の付記を開示する。
【００５７】
（付記１）
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行い、
判定結果を出力する
処理をコンピュータが実行することを特徴とする項目推定方法。
【００５８】
（付記２）
いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目又は前記発注品の単価の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注品の単価の項目並びに前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目又は前記発注品の単価の項目の一方の候補に対応付けられた数値データで除算した値と、該項目に対応付けられた数値データを、特定した前記数量の項目又は前記発注品の単価の項目の他方の候補に対応付けられた数値データで除算した値とを算出し、
算出した値それぞれの発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする付記１に記載の項目推定方法。
【００５９】
（付記３）
算出した値それぞれの発注明細間のバラツキに基づき、前記数量の項目又は前記発注品の単価の項目の候補のいずれが前記数量の項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする付記２に記載の項目推定方法。
【００６０】
（付記４）
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目及び選択した項目以外の項目を更に選択し、
更に選択した項目に対応付けられた値ごとに、算出した値をグループ化し、
各グループ内での算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする付記１から付記３のいずれか一つに記載の項目推定方法。
【００６１】
（付記５）
前記複数の項目には、前記発注品を識別する項目が含まれており、
各グループ内での算出した値の発注明細間のバラツキに基づき、更に選択した項目が発注品を識別する項目であるか否かの判定を行う
処理をコンピュータが実行することを特徴とする付記４に記載の項目推定方法。
【００６２】
（付記６）
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数取得する取得部と、
取得したいずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定する特定部と、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択する選択部と、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出する算出部と、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行う判定部と、
判定結果を出力する出力部と
を備えることを特徴とする項目推定装置。
【００６３】
（付記７）
発注明細毎に、発注品の単価、前記発注品の数量、前記単価及び前記数量に対応する発注総額、並びに前記発注品の他の単価及び前記数量に対応する他の発注総額を含む複数の項目に対応付けられた複数の数値データを有する発注情報を複数記憶する記憶部を参照し、いずれかの発注情報に含まれる前記複数の数値データ間の関係に基づき、前記複数の項目のうち、前記数量の項目の候補及び前記発注総額の項目を特定し、
前記複数の項目のうち、特定した前記数量の項目の候補及び前記発注総額の項目以外のいずれかの項目を選択し、
選択した前記項目ごとに、該項目に対応付けられた数値データを、特定した前記数量の項目の候補に対応付けられた数値データで除算した値を算出し、
算出した値の発注明細間のバラツキに基づき、選択した前記項目が前記他の発注総額の項目であるか否かの判定を行い、
判定結果を出力する
処理をコンピュータに実行させことを特徴とするコンピュータプログラム。
【符号の説明】
【００６４】
１      項目推定装置
１１    ＣＰＵ
１１ａ  取得部
１１ｂ  特定部
１１ｃ  選択部
１１ｄ  算出部
１１ｅ  判定部
１１ｆ  出力部
１２    ＲＯＭ
１３    ＲＡＭ
１４    データ取得部
１５    結果出力部
１６    大容量記憶部
１６１  推定項目集合データベース
１７    通信部
１８    読み取り部
１Ｐ    制御プログラム
１ａ    可搬型記憶媒体
１ｂ    半導体メモリ
２      発注管理装置
２１    発注情報データベース
２２    項目推定結果データベース
２３    型推定結果データベース
【図１】
2017174306.tif 000003
【図２】
2017174306.tif 000004
【図３】
2017174306.tif 000005
【図４】
2017174306.tif 000006
【図５】
2017174306.tif 000007
【図６】
2017174306.tif 000008
【図７】
2017174306.tif 000009
【図８】
2017174306.tif 000010
【図９】
2017174306.tif 000011
【図１０】
2017174306.tif 000012
【図１１】
2017174306.tif 000013
【図１２】
2017174306.tif 000014
【図１３】
2017174306.tif 000015
【図１４】
2017174306.tif 000016