(57)【要約】      （修正有）【課題】付帯情報を関連付けて登録したい商品情報に対し、ユーザの手間を低減しつつ当該商品情報に対応した適切な付帯情報を推定する。【解決手段】データ処理装置１０１における付帯情報推定処理は、取得した第一の商品情報と、記憶装置に記憶されている単位確定商品テーブルから取得した付帯情報を含む第二の商品情報との距離を計算するステップＳ６０６と、距離が最短である第二の商品情報の付帯情報を用いて、第一の商品情報の付帯情報を設定するステップＳ６１１と、設定した第一の商品情報の付帯情報を、第一の商品情報に対応付けて単位確定商品テーブルに登録するステップＳ６１３と、を含む。【選択図】図６
2020095432.tif 000002
【特許請求の範囲】
【請求項１】
取得した第一の商品情報と商品の付帯情報を含む第二の商品情報とを用いて、前記第一の商品情報の付帯情報を推定する推定手段と、
前記推定手段で推定した付帯情報を、前記第一の商品情報に対応付けて登録する登録手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第一の商品情報と前記第二の商品情報との距離を算出する算出手段と、
前記算出手段で算出した前記第一の商品情報と前記第二の商品情報との距離が最短となる最短商品情報を、第二の商品情報から特定する特定手段と、
をさらに備え、
前記推定手段は、前記特定手段で特定した前記最短商品情報の付帯情報を用いて前記第一の商品情報の付帯情報を推定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第一の商品情報は、付帯情報を含まない商品情報と付帯情報を含む商品情報との少なくともいずれか１つの商品情報を含む情報であり、
前記算出手段は、前記第一の商品情報が付帯情報を含む商品情報であった場合は、当該第一の商品情報の付帯情報を除いて前記距離を算出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第二の商品情報を記憶する記憶手段をさらに備え、
前記記憶手段は、前記推定手段で推定した付帯情報を確定させるか否かの基準である確定閾値、もしくは前記推定手段で推定した付帯情報を棄却するか否かの基準である棄却閾値の少なくともいずれか１つの値を記憶することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記登録手段は、前記推定手段で推定された付帯情報に対応する商品情報の距離の値と、前記確定閾値もしくは前記棄却閾値の少なくともいずれか１つの値とを用いて当該付帯情報を登録するか否かを決定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記推定手段で推定した付帯情報を確認させる画面を表示させるよう制御する表示制御手段、
をさらに備え、
前記表示制御手段は、前記第一の商品情報と前記推定手段で推定された付帯情報とを表示するよう制御することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記推定手段で推定に用いた前記第二の商品情報に関する情報を前記画面に表示するよう制御することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記付帯情報は、商品の単位を示す情報を含むことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置
【請求項９】
情報処理装置の制御方法であって、
取得した第一の商品情報と商品の付帯情報を含む第二の商品情報とを用いて、前記第一の商品情報の付帯情報を推定する推定ステップと、
前記推定ステップで推定した付帯情報を、前記第一の商品情報に対応付けて登録する登録ステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、およびプログラムに関する。
【背景技術】
【０００２】
他社商品を商材として取り扱う企業は、製品メーカから提供される製品情報カタログ（メーカ提供情報）から自社の商品マスタを構築する。メーカ提供情報には商品の情報のみであり、その商品の属性や付帯情報などの情報は含まれないが、自社の商品マスタには商品ごとの付帯情報は必要な情報となる。
【０００３】
例えば、商品の付帯情報として単位の情報が必要となる。大部分の商品の単位は、一般的な商品の特徴（例えば寸法など）から機械的に付与することができるが、一部の該当しない商品は例外的に担当者が個別に判断して単位を付与する必要がある。現状では、一般的に付与できる単位も含めて、担当者が全て手入力で商品マスタへ単位の付与を行っている。
【０００４】
しかしながら、メーカ提供情報が膨大であるため単位を付与する作業について担当者の工数が大きくなるという問題がある。また担当者の判断のぶれなどで似たような商品に異なる単位が設定されるなどの問題もある。
【０００５】
特許文献１には、パターンと辞書を組み合わせて特定表現を抽出する技術について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−７５９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１には、パターンと辞書を組み合わせて一般的な文書から特定表現を抽出することはできても、例外的な商品名称など商品の特徴的な表現に対応できないという課題がある。そのため、商品の情報や商品に関する特有の表現から商品に付帯する情報を推定することが望まれる。
【０００８】
そこで、本発明は、必要な付帯情報と関連付けて登録したい商品情報に対して、ユーザの手間を低減しつつ当該商品情報に対応した適切な付帯情報を推定することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、取得した第一の商品情報と商品の付帯情報を含む第二の商品情報とを用いて、前記第一の商品情報の付帯情報を推定する推定手段と、前記推定手段で推定した付帯情報を、前記第一の商品情報に対応付けて登録する登録手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、必要な付帯情報と関連付けて登録したい商品情報に対して、ユーザの手間を低減しつつ当該商品情報に対応した適切な付帯情報を推定可能な効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における、システム構成の一例を示す図である。
【図２】本発明の実施形態における、データ処理装置１０１、記憶装置１０２、クライアント端末１０３のハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施形態における、機能構成の一例を示す図である。
【図４】本発明の実施形態における、商品マスタ構築のための処理全体の概要の一例を示すフローチャートである。
【図５】本発明の実施形態における、単位推定処理の一例を示すフローチャートである。
【図６】本発明の実施形態における、商品名による単位推定処理の一例を示すフローチャートである。
【図７】本発明の実施形態における、商品名と単位による単位推定処理の一例を示すフローチャートである。
【図８】本発明の実施形態における、バリエーション単語の一例を示す図である。
【図９】本発明の実施形態における、ユーザチェック画面９００の一例を示す図である。
【図１０】本発明の実施形態における、ユーザチェックリスト３０４の一例を示す図である。
【図１１】本発明の実施形態における、単位確定商品３０３の一例を示す図である。
【図１２】本発明の実施形態における、ユーザ定義パターン３０２の一例を示す図である。
【図１３】本発明の実施形態における、距離計算の一例を示す図である。
【図１４】本発明の実施形態における、商品名に単位が含まれる場合の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１３】
図１は、本発明の実施形態における情報処理装置のシステム構成の一例を示す図である。
【００１４】
本発明の実施形態における情報処理装置のシステムは、データ処理装置１０１、記憶装置１０２、クライアント端末１０３が、ネットワーク１０４を介して接続される構成となっている。
【００１５】
データ処理装置１０１（情報処理装置）は、本発明における単位推定処理や商品マスタ構築などのデータ処理を行う。
【００１６】
記憶装置１０２は、ユーザ定義パターンや商品マスタといったデータの記憶を行う。
【００１７】
クライアント端末１０３は、データ処理装置１０１に対してユーザチェック処理を行う際にユーザ入出力部とのやりとりを行う。
【００１８】
図２は、本発明の実施形態におけるデータ処理装置１０１、記憶装置１０２、クライアント端末１０３のハードウェア構成の一例を示すブロック図である。
【００１９】
図２に示すように、情報処理装置は、システムバス２０４を介してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３、入力コントローラ２０５、ビデオコントローラ２０６、メモリコントローラ２０７、および通信Ｉ／Ｆコントローラ２０８が接続される。
【００２０】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２１】
ＲＯＭ２０２あるいは外部メモリ２１１は、ＣＰＵ２０１が実行する制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ（データテーブルを含む）を保持している。
【００２２】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【００２３】
入力コントローラ２０５は、入力デバイス２０９や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下（指等でタッチ）することにより、各種の指示を行うことができることとする。
【００２４】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【００２５】
ビデオコントローラ２０６は、ディスプレイ２１０（表示制御手段）などの外部出力装置への表示を制御する。ディスプレイ２１０は本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものではく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【００２６】
なおビデオコントローラ２０６は、表示制御を行うためのビデオメモリ（ＶＲＡＭ）を制御することが可能で、ビデオメモリ領域としてＲＡＭ２０３の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【００２７】
メモリコントローラ２０７は、外部メモリ２１１へのアクセスを制御する。外部メモリ２１１としては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置（ハードディスク）、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等を利用可能である。
【００２８】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信やＩＳＤＮなどの電話回線、および携帯電話の３Ｇ回線を用いた通信が可能である。
【００２９】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３０】
次に図３を参照して、本発明の実施形態における各種装置の機能構成の一例について説明する。なお、本実施形態では商品の付帯情報として「単位」の設定を行う処理について中心に説明を行うが、本発明によって推定される情報は商品の属性や商品の扱い方など、商品に関する情報であればどんな情報を推定できてもよい。商品に関する情報の推定は、記憶装置１０２で記憶する各データテーブルを変更することによって推定できる情報が異なるものとする。
【００３１】
本実施形態の記憶装置１０２は、辞書や商品マスタ等のデータテーブルを記憶する記憶装置である。記憶装置１０２は、バリエーション単語辞書３０１、ユーザ定義パターン３０２、単位確定商品３０３、ユーザチェックリスト３０４、商品マスタ３０５を記憶する。
【００３２】
バリエーション単語辞書３０１は、図８に一例を示すように、商品のバリエーション（色や材料など）を表すバリエーション単語として用いる単語の集合が格納される辞書である。各単語に付加的な情報を定義してもよい。
【００３３】
ユーザ定義パターン３０２は、図１２に一例を示すようなユーザが定義した商品の商品パターンを格納する。ユーザ定義パターン３０２は、ユーザが定義した商品のパターン１２０１とそれに対応する単位１２０２で構成される。このパターンは事前にシステム管理者が設定したデフォルトルールに該当しない商品名に、ユーザが例外的に単位を付与する際に用いる。
【００３４】
単位確定商品３０３は、図１１に一例を示すような単位確定商品テーブルを格納する。単位確定商品３０３は商品名１１０１、単位１１０２、確定種別１１０３などから構成される。単位が確定した商品名を、どのルールで確定（確定種別１１０３で判別する）したかを含めて保存する。確定種別１１０３が保持され、単位確定商品３０３へ情報を保存する処理がくり返し処理が実行されることにより、単位確定商品３０３が拡充される。この処理により、商品名の単位推定の精度向上に結び付く。
【００３５】
ユーザチェックリスト３０４は、図１０に一例を示すようなユーザチェックリストを格納する。ユーザチェックリスト３０４は、システムにより推定された単位の確度が比較的低い商品名であって、ユーザにチェックを求める商品名を保持するために用いる。
【００３６】
商品マスタ３０５は、本システムの単位推定処理と、ユーザのチェックを経て、単位が確定された全商品の情報を格納するテーブルである（不図示）。
【００３７】
次に、データ処理装置１０１が備える機能部について説明する。データ処理装置１０１は、バリエーション辞書構築部３０６、単位推定処理部３０７、ユーザチェック処理部３０８、商品マスタ構築部３０９、推定対象商品リスト入力部３１０、ユーザ入出力部３１１、を備える。
【００３８】
バリエーション辞書構築部３０６は、単位確定商品３０３に格納されている商品名を用いて、バリエーション単語辞書３０１を更新する処理を行う。
【００３９】
単位推定処理部３０７は、単位が未確定の商品名、あるいは商品名に含まれる単位から該商品に対応する単位を推定する処理を行う（付帯情報の推定）。
【００４０】
ユーザチェック処理部３０８は、ユーザチェックリスト３０４から、図９に一例を示すユーザチェック画面９０１を生成し、ユーザからの入力に応じてユーザチェックリスト３０４を更新する処理を行う。
【００４１】
商品マスタ構築部３０９は、単位確定商品３０３とユーザチェック済みのユーザチェックリスト３０４を用いて商品マスタ３０５を構築する処理を行う。
【００４２】
推定対象商品リスト入力部３１０は、本システムで単位推定を行う対象商品のリストを読み込む処理を行う。リストの読み込みは、バッチ処理で定期的に行う構成にしてもよいし、ユーザが明示的にリストを読み込ませる構成にしてもよい。
【００４３】
ユーザ入出力部３１１は、データ処理装置１０１とクライアント端末１０３との通信処理を、ネットワーク１０４を介して行う。
【００４４】
なお、本実施形態においては、記憶装置１０２が備える辞書や商品マスタ等のデータテーブルをデータ処理装置１０１が適宜取得するが、必要な各データテーブルをデータ処理装置１０１が備えていてもよいし、他の装置やクラウドサービス上から取得してもよい。
【００４５】
次に図４のフローチャートを用いて、本発明の実施形態における情報処理装置が実行する処理について説明する。
【００４６】
図４のフローチャートは、データ処理装置１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、商品マスタ３０５を構築するための処理全体の概要を示すフローチャートである。
【００４７】
ステップＳ４０１では、データ処理装置１０１のＣＰＵ２０１は、推定対象商品リストの取得を行う。推定対象商品リストとは、他社商品を商材として取り扱う企業が、製品メーカのメーカ提供情報から取得する商品のリストである（第一の商品情報）。当該リストには商品の単位を含むものもあれば商品の単位を含まないものもあるものとする。
【００４８】
ステップＳ４０２では、データ処理装置１０１のＣＰＵ２０１は、推定対象商品リスト中に単位未設定商品があるか否か判定する。データ処理装置１０１のＣＰＵ２０１は、推定対象商品リスト中に単位未設定商品があると判定した場合はステップＳ４０３に処理を進める。データ処理装置１０１のＣＰＵ２０１は、該商品リスト中に単位未設定商品がないと判定した場合はステップＳ４０４に処理を進める。
【００４９】
ステップＳ４０３では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品に対して、後述の単位推定処理を実行する。これは、推定対象商品リストに含まれる商品の情報（第一の商品情報）と、記憶装置１０２に記憶されている各情報に含まれる商品情報（第二の商品情報）とを用いて、単位を推定する処理を示す。
【００５０】
ステップＳ４０４では、データ処理装置１０１のＣＰＵ２０１は、バリエーション辞書構築部３０６の処理により、記憶装置１０２に記憶されているバリエーション単語辞書３０１の更新を行う。図８に一例を示すように、商品のバリエーション（色や材料など）を表す単語は商品名の末尾に現れる場合が多いと考えられる。そのため、ここでは、データ処理装置１０１のＣＰＵ２０１が記憶装置１０２に記憶されている単位確定商品３０３から商品名１１０１の一覧を抽出し、単語の前方が一致する商品名の集合からバリエーション単語を抽出する。抽出されたバリエーション単語を用いてバリエーション単語辞書３０１の更新を行う。
【００５１】
ここで、図１１の説明を行う。図１１は、単位確定商品３０３の一例を示す図である。単位確定商品３０３は、商品名１１０１、単位１１０２、確定種別１１０３の項目を含む。
【００５２】
商品名１１０１には、単位が確定した商品の名称が登録される。
【００５３】
単位１１０２には、確定した単位が登録される。
【００５４】
確定種別１１０３は、単位を確定させる根拠となったデータの種別を判別するための項目であり、「デフォルト」または「ユーザ」が登録される。
【００５５】
ステップＳ４０５では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されているユーザチェックリスト３０４を用いて、図９に一例を示すユーザチェック画面９０１をクライアント端末１０３に表示し、ユーザチェック処理を行う。データ処理装置１０１のＣＰＵ２０１は、ユーザによるクライアント端末１０３に表示されたユーザチェック画面９０１の操作を受け付け、システムにより推定された単位の検査と確定を行う。
【００５６】
ここで、図９について説明する。図９はユーザチェックリスト３０４に格納された推定単位に関する情報をユーザに確認させるためのユーザチェック画面９０１の一例を示す図である。ユーザチェック画面９０１は、商品名列９０２、推定単位列９０３、ユーザ設定テキストボックス９０４、確定ボタン９０６からなる。このユーザチェック画面９０１はユーザチェックリスト３０４に基づいて作成されるものである。
【００５７】
商品名列９０２は、ユーザチェックリスト３０４の商品名１００１の情報が表示される。ここにマウスカーソルを合わせることで、９０５に示すような付帯情報（ユーザチェックリスト３０４の類似商品またはパターン１００３の情報など）が表示されるようにしてもよい。これにより、ユーザは推定された単位の詳細情報を見ながら最終的な単位を決定することが可能となる。
【００５８】
推定単位列９０３は、ユーザチェックリスト３０４の推定単位１００２の情報が表示される。
【００５９】
ユーザ設定テキストボックス９０４は、ユーザがシステムの単位推定結果が間違っていると判定した場合、またはシステムが単位を推定できなかった場合に、ユーザによって単位を設定するためのものである。
【００６０】
確定ボタン９０６は、ユーザからの押下を受け付けると商品名列９０２の商品名の単位が確定し、確定した商品名と単位の情報はユーザチェックリスト３０４のユーザ設定単位１００４に格納される。
【００６１】
さらに、図１０について説明を行う。図１０は、ユーザチェックリスト３０４の一例を示す図である。ユーザチェックリスト３０４は商品名１００１、推定単位１００２、類似商品またはパターン１００３、ユーザ設定単位１００４、その他の項目からなる。
【００６２】
商品名１００１は、推定対象の商品名が登録される。
【００６３】
推定単位１００２は、システムによって推定された単位が登録される。システムが単位を推定できなかった場合は何も登録されない。
【００６４】
類似商品またはパターン１００３は、推定単位の根拠となった商品名またはパターンが登録される。システムが単位を推定できなかった場合は何も登録されない。
【００６５】
ユーザ設定単位１００４は、ユーザがユーザチェック画面９０１を用いて設定した単位が登録される。ユーザがシステムの推定単位をそのまま使うよう指定した場合には、システムの推定単位１００２が登録される。
【００６６】
ステップＳ４０６では、データ処理装置１０１のＣＰＵ２０１は、クライアント端末１０３からユーザの検査結果を受け取り、ユーザチェックリスト３０４のユーザ設定単位１００４を登録する。
【００６７】
ステップＳ４０７では、データ処理装置１０１のＣＰＵ２０１は、商品マスタ構築部３０９の機能により、記憶装置１０２に記憶されている単位確定商品３０３およびユーザチェックリスト３０４を用いて商品マスタ３０５を構築する。なお、商品マスタ３０５の構築時には、古い商品マスタを削除してから新しい商品マスタを作成してもよいし、古い商品マスタを維持しながら変更のあるレコードのみを更新するようにしてもよい。これは、単位推定処理で推定した単位（付帯情報）を、ステップＳ４０１で取得した推定対象商品リスト（第一の商品情報）と対応付けて登録する処理を示す。
【００６８】
ステップＳ４０８では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されている単位確定商品３０３およびユーザチェックリスト３０４の情報を削除する。但し、単位確定商品３０３の確定種別１１０３が「ユーザ」であるものは保持する。この処理により、ユーザ定義パターン３０２によって設定された商品の単位について、処理を重ねるごとに拡充していくため、単位推定の精度が向上していくことが期待される。
【００６９】
図１２は、ユーザ定義パターン３０２の一例を示す図である。ユーザ定義パターン３０２は、パターン１２０１、単位１２０２の項目からなる
パターン１２０１は、商品名と比較するためのパターンが登録される。商品名を登録してもよいし、ワイルドカード（アスタリスク：＊など）や正規表現などを使ったパターンを登録してもよい。
【００７０】
単位１２０２は、商品名がパターン１２０１に合致する商品の推定単位が登録される。
【００７１】
図５のフローチャートは、データ処理装置１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、図４のステップＳ４０３の単位推定処理を示すフローチャートである。
【００７２】
ステップＳ５０１では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されている商品マスタ３０５に単位未設定商品の情報が存在するか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、商品マスタ３０５に単位未設定商品の情報が存在すると判定した場合はステップＳ５０２に処理を進め、商品マスタ３０５に単位未設定商品の情報が存在しないと判定した場合はステップＳ５０３に処理を進める。
【００７３】
ステップＳ５０２では、データ処理装置１０１のＣＰＵ２０１は、商品マスタ３０５に該当した商品の情報を用いて、単位確定商品３０３の商品名１１０１に単位未設定商品の商品名を追加する。また、データ処理装置１０１のＣＰＵ２０１は、商品マスタ３０５を用いて、単位確定商品３０３の単位１１０２に商品マスタ３０５で該当した商品の単位を、確定種別１１０３に「デフォルト」をそれぞれ設定したレコードを追加する。つまり、ここでは単位未設定商品の情報が商品マスタ３０５に含まれていたことから、単位未設定商品にデフォルトルールを適用する。そして、単位未設定商品として取得した情報に対して商品マスタ３０５の情報を適用した商品名１１０１と単位１１０２、およびデフォルトルールを適用したことを示す確定種別１１０３を単位確定商品３０３に格納する処理を示す。
【００７４】
ステップＳ５０３では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に格納されているユーザ定義パターン３０２を用いる。そして単位未設定商品の商品名にマッチするパターンを持つユーザ定義パターンが１つだけ存在し、かつ、単位未設定商品の商品名に単位が含まれないか否かを判定する。単位未設定商品の商品名にマッチするパターンを持つユーザ定義パターンが１つだけ存在し、かつ、単位未設定商品の商品名に単位が含まれないと判定した場合はステップＳ５０４に処理を進める。それ以外の場合は、データ処理装置１０１のＣＰＵ２０１は、ステップＳ５０５に処理を進める。
【００７５】
ステップＳ５０４では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名が該当するユーザ定義パターン３０２の情報を用いて、単位確定商品３０３の商品名１１０１に単位未設定商品の商品名を追加する。さらにデータ処理装置１０１のＣＰＵ２０１は、単位確定商品３０３の単位１１０２にユーザ定義パターンの単位１２０２を、確定種別１１０３に「ユーザ」をそれぞれ設定したレコードを追加する。つまり、ここでは、取得した単位未設定商品が、あらかじめ設定しておいたユーザ定義パターン３０２に当てはまった場合である。そして単位未設定商品として取得した情報に対してユーザ定義パターン３０２を適用した商品名１１０１と単位１１０２、およびユーザのルールを適用したことを示す確定種別１１０３を単位確定商品３０３に格納する処理を示す。
【００７６】
ステップＳ５０５では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名に単位が含まれるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名に単位が含まれない場合はステップＳ５０６に処理を進め、単位未設定商品の商品名に単位が含まれる場合はステップＳ５０７に処理を進める。
【００７７】
ステップＳ５０６では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品に対して後述の商品名による単位推定処理を行う。
【００７８】
ステップＳ５０７では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品に対して後述の商品名と単位による単位推定処理を行う。
【００７９】
ステップＳ５０８では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ５０６およびステップＳ５０７で単位推定が不可であったか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、単位推定が不可であった場合は処理をステップＳ５０９に進め、単位推定が不可でない場合は処理を終了する。
【００８０】
ステップＳ５０９では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品に対してデフォルトルールが適用できるか否かを判定する。なお、デフォルトルールは事前にシステム管理者が設定しておくルールである。このルールは商品名に対してのみ設定するルールとは限らず、単位推定が不可であった単位未設定商品に対して、当該単位未設定商品のあらゆる情報を用いてルールを作成してもよい。例えば、単位未設定商品の寸法の情報を使って単位を設定するようなルールを設定してもよい。データ処理装置１０１のＣＰＵ２０１は、単位未設定商品にデフォルトルールが適用できる場合はステップＳ５１０に、適用できない場合はステップＳ５１１に処理を進める。
【００８１】
ステップＳ５１０では、データ処理装置１０１のＣＰＵ２０１は、単位確定商品３０３の商品名１１０１に単位未設定商品の商品名を追加する。さらに、データ処理装置１０１のＣＰＵ２０１は、単位確定商品３０３の単位１１０２にデフォルトルールで設定された単位を、確定種別１１０３に「デフォルト」をそれぞれ設定したレコードを追加する。
【００８２】
ステップＳ５１１では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品に対してデフォルトルールが適用できなかった場合にユーザチェックリスト３０４へ単位未設定商品の情報を登録する。この処理により、単位推定が最後までできなかった商品名をユーザがチェックすることが可能となる。
【００８３】
以上で、図５の単位推定処理の説明を終了する。
【００８４】
図６のフローチャートは、データ処理装置１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、商品名による単位推定の処理を示すフローチャートである。図６のフローチャートは、取得した単位未設定商品に、商品名の情報が含まれており、単位の情報は含まれていない場合の処理である。
【００８５】
ステップＳ６０１では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名の形態素解析を行う。
【００８６】
ステップＳ６０２では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されている単位確定商品３０３から、確定種別１１０３が「ユーザ」であるレコードを抽出する。このレコードをユーザ確定商品群とする。
【００８７】
ステップＳ６０３では、データ処理装置１０１のＣＰＵ２０１は、距離計算をしていないユーザ確定商品があるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、距離計算をしていないユーザ確定商品があると判定した場合にはステップＳ６０４に処理を進める。データ処理装置１０１のＣＰＵ２０１は、距離計算をしていないユーザ確定商品がないと判定した場合にはステップＳ６０９に処理を進める。
【００８８】
ステップＳ６０４では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品もしくはユーザ確定商品あるいはその両方の商品名にバリエーション単語が含まれるか否かを判定する。バリエーション単語が含まれているか否かの判定は、バリエーション単語辞書３０１を用いる。データ処理装置１０１のＣＰＵ２０１は、バリエーション単語が含まれると判定した場合にはステップＳ６０５へ、バリエーション単語が含まれないと判定した場合にはステップＳ６０６へ処理を進める。
【００８９】
ステップＳ６０５では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品もしくはユーザ確定商品あるいはその両方の商品名に含まれるバリエーション単語を除去する。これは、単位推定のために必要でないバリエーションの情報を除去するために行う。
【００９０】
ステップＳ６０６では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名とユーザ確定商品の商品名との距離を計算する。これは、第一の商品情報と第二の商品情報との距離を算出する処理を示す。
【００９１】
ここで、重み付きの編集距離を使った一例を図１３に示す。この重み付き編集距離は、商品名の末尾の単語がその商品の特徴を示すことが多いという仮定から、末尾の単語における距離を２倍として計算している。この例では、単位未設定商品の「Ｘ溶剤」と、ユーザ確定商品の「ＡＢＣ溶液」と「溶液入れ」との距離を計算している。通常の重みなし編集距離を用いると、両ユーザ確定商品との距離は同じ４になるが、重みつき編集距離を用いると、「ＡＢＣ溶液」との距離が５、「溶液入れ」との距離が６となる。距離の値が小さければ小さいほど単位未設定商品とユーザ確定商品は似ている商品名であるといえるので、「ＡＢＣ溶液」のほうが「Ｘ溶剤」と近いという距離計算が可能となる。なお、重み付き編集距離を使った距離計算は一例であり、適切な距離計算が可能なあらゆる方法を用いてもよい。
【００９２】
ステップＳ６０７では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ６０６で計算した結果、単位未設定商品との距離が最短距離となる商品（以下、最短商品）が未設定であるか否かを判定する。または、データ処理装置１０１のＣＰＵ２０１は、最短商品の距離がステップＳ６０６で算出された計算距離よりも大きいか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定、もしくは最短商品の距離がステップＳ６０６で算出された計算距離よりも大きい場合は、ステップＳ６０８に処理を進める。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定ではなく（設定済み）、最短商品の距離がステップＳ６０６で算出された計算距離よりも小さければ、最短商品の情報を更新せずにステップＳ６０３に処理を戻す。
【００９３】
ステップＳ６０８では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ６０６で計算に用いたユーザ確定商品を、最短商品として設定する。これは、最短商品の情報（最短商品情報）を特定する処理を示す。
【００９４】
ステップＳ６０９では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ６０３で距離計算をしていないユーザ確定商品がないと判定した場合に、最短商品が未設定であるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定と判定した場合はステップＳ６１０へ処理を進め、最短商品が未設定でない（設定済み）と判定した場合はステップＳ６１１へ処理を進める。
【００９５】
ステップＳ６１０では、データ処理装置１０１のＣＰＵ２０１は、単位の推定が不可であったと判定する。
【００９６】
ステップＳ６１１では、データ処理装置１０１のＣＰＵ２０１は、単位を推定した結果の単位である推定単位にステップＳ６０６で算出した最短商品の単位を設定する。
【００９７】
ステップＳ６１２では、データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が確定閾値よりも小さいか否かを判定する。なお、確定閾値は事前にシステム管理者が設定する値であり、推定単位を確定させるか否かの判定基準となる値である。データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が確定閾値よりも小さいと判定した場合はステップＳ６１３へ処理を進め、最短商品の距離が確定閾値よりも大きいと判定した場合はステップＳ６１４へ処理を進める。
【００９８】
ステップＳ６１３では、データ処理装置１０１のＣＰＵ２０１は、単位確定商品３０３の商品名１１０１に単位未設定商品の商品名を、単位１１０２に推定単位を、確定種別１１０３に「ユーザ」をそれぞれ設定したレコードを追加する。この処理により、推定単位が単位未設定商品の単位として確定される。
【００９９】
ステップＳ６１４では、データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が棄却閾値よりも小さいか否かを判定する。なお、棄却閾値は事前にシステム管理者が設定する値であり、推定単位を棄却するか否かの判定基準となる値である。データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が棄却閾値よりも小さいと判定した場合にはステップＳ６１５へ処理を進め、最短商品の距離が棄却閾値よりも大きければステップＳ６１６へ処理を進める。
【０１００】
ステップＳ６１５では、データ処理装置１０１のＣＰＵ２０１は、ユーザチェックリスト３０４へ、単位未設定商品の情報と推定単位を登録する。これにより、ユーザが推定単位をチェックすることが可能となり、ユーザの判断を受け付けることによって推定単位が確定するか否かが決定することとなる。
【０１０１】
ステップＳ６１６では、データ処理装置１０１のＣＰＵ２０１は、単位の推定が不可であったと判定する。
【０１０２】
以上により、図６の商品名による単位推定処理の一連の流れの説明を終了する。
【０１０３】
図７のフローチャートは、データ処理装置１０１のＣＰＵ２０１が所定の制御プログラムを読み出して実行する処理であり、商品名と単位による単位推定の処理を示すフローチャートである。図７のフローチャートは、取得した単位未設定商品に、商品名と単位の情報が含まれている場合の処理である。取得した単位未設定商品に、商品名と単位の情報が含まれている場合とは、例えば、図１４の「Ａ溶液（１０ｍｌ）×５本」のような場合を示す。
【０１０４】
ステップＳ７０１では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品の商品名に対して、形態素解析を行う。
【０１０５】
ステップＳ７０２では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ７０１の形態素群に含まれる単位群を抽出する。例えば、「Ａ溶液（１０ｍｌ）×５本」の場合、単位群は「ｍｌ、本」となる。
【０１０６】
ステップＳ７０３では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されている、単位確定商品３０３から、確定種別１１０３が「ユーザ」、かつステップＳ７０２で抽出した単位群を含むレコードを抽出する。これをユーザ確定商品群とする。
【０１０７】
ステップＳ７０４では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ７０３で抽出したユーザ確定商品群中に距離計算をしていないユーザ確定商品があるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、距離計算をしていないユーザ確定商品があると判定した場合はステップＳ７０５に処理を進め、距離計算をしていないユーザ確定商品がないと判定した場合はステップＳ７１１に処理を進める。
【０１０８】
ステップＳ７０５では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品とユーザ確定商品の商品名から、単位とそれに係る数詞を除去する。例えば、「Ａ溶液（１０ｍｌ）×５本」の場合、「１０ｍｌ」や「５本」といった数詞を除去し、除去後の商品名は「Ａ溶液」となる。
【０１０９】
ステップＳ７０６では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品もしくはユーザ確定商品あるいはその両方の商品名にバリエーション単語が含まれるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、商品名にバリエーション単語が含まれると判定した場合にはステップＳ７０７へ処理を進め、商品名にバリエーション単語が含まれないと判定した場合にはステップＳ７０８へ処理を進める。
【０１１０】
ステップＳ７０７では、データ処理装置１０１のＣＰＵ２０１は、単位未設定商品もしくはユーザ確定商品あるいはその両方の商品名に含まれるバリエーション単語を除去する。
【０１１１】
ステップＳ７０８では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ６０６と同様に単位未設定商品の商品名とユーザ確定商品の商品名との距離を計算する。
【０１１２】
ステップＳ７０９では、データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定、または、最短商品の距離がステップＳ７０８で算出した計算距離よりも大きいか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定、もしくは最短商品の距離がステップＳ７０８で算出した計算距離よりも大きい条件と判定した場合はステップＳ７１０へ処理を進める。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定ではなく（設定済み）、最短商品の距離がステップＳ７０８で算出された計算距離よりも小さければ、最短商品の情報を更新せずにステップＳ７０４へ処理を戻す。
【０１１３】
ステップＳ７１１では、データ処理装置１０１のＣＰＵ２０１は、ステップＳ７０４で距離計算をしていないユーザ確定商品がないと判定した場合に、最短商品が未設定であるか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品が未設定と判定した場合はステップＳ７１２へ処理を進め、最短商品が未設定でない（設定済み）と判定した場合ステップＳ７１３へ処理を進める。
【０１１４】
ステップＳ７１２では、データ処理装置１０１のＣＰＵ２０１は、単位の推定が不可であったと判定する。
【０１１５】
ステップＳ７１３では、データ処理装置１０１のＣＰＵ２０１は、推定単位に最短商品の単位を設定する。
【０１１６】
ステップＳ７１４では、データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が確定閾値よりも小さいか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が確定閾値よりも小さいと判定した場合はステップＳ７１５へ処理を進め、最短商品の距離が確定閾値よりも大きいと判定した場合はステップＳ７１６へ処理を進める。
【０１１７】
ステップＳ７１５では、データ処理装置１０１のＣＰＵ２０１は、記憶装置１０２に記憶されている単位確定商品３０３の商品名１１０１に単位未設定商品の商品名を追加する。さらにデータ処理装置１０１のＣＰＵ２０１は、単位確定商品３０３の単位１１０２に推定単位を、確定種別１１０３に「ユーザ」をそれぞれ設定したレコードを追加する。
【０１１８】
ステップＳ７１６では、データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が棄却閾値よりも小さいか否かを判定する。データ処理装置１０１のＣＰＵ２０１は、最短商品の距離が棄却閾値よりも小さいと判定した場合はステップＳ７１８へ処理を進め、最短商品の距離が棄却閾値よりも大きいと判定した場合はステップＳ７１７へ処理を進める。
【０１１９】
ステップＳ７１７では、データ処理装置１０１のＣＰＵ２０１は、推定単位をユーザ確定商品群の最多単位に設定する。これは、図１４に一例を示すように、商品名に単位が含まれる場合においては、商品名よりも含まれる単位のほうが単位推定に大きな影響を与え、その組み合わせで単位が推定できると考えられるためである。
【０１２０】
ステップＳ７１８では、データ処理装置１０１のＣＰＵ２０１は、ユーザチェックリスト３０４に単位未設定商品の情報と推定単位を登録する。
【０１２１】
以上により、図７の商品名と単位による単位推定処理の一連の流れの説明を終了する。図５から図７の処理により、単位未設定商品の単位が推定され、推定単位が単位確定商品３０３として登録される。
【０１２２】
本発明の実施形態においては、単位推定処理をデータ処理装置１０１において実行する構成として説明したが、その他の情報処理装置やクライアント端末１０３で実行するよう構成してもよい。また、本実施形態では商品の付帯情報として「単位」の推定を行う処理について中心に説明を行った。しかしながら、本発明によって推定される情報は商品の属性や商品の扱い方など、商品に関する情報であればどんな情報を推定できてもよい。例えば、「Ｘ溶剤」であれば単位だけでなく、溶剤に関する扱い方（例えば「加熱する」「冷やす」「固める」といった情報）や「液体」「薬剤」といった属性の情報など、特定の商品に付帯する付帯情報が推定できるとよい。
【０１２３】
このように、本発明によれば、必要な付帯情報と関連付けて登録したい商品情報に対して、ユーザの手間を低減しつつ当該商品情報に対応した適切な付帯情報を推定することを目的とする。
【０１２４】
以上、本実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２５】
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【０１２６】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１２７】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１２８】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１２９】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３２】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３３】
１０１  データ処理装置
１０２  記憶装置
１０３  クライアント端末
１０４  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０８  通信Ｉ／Ｆコントローラ
２０９  入力デバイス
２１０  ディスプレイ
２１１  外部メモリ
【図１】
2020095432.tif 000003
【図２】
2020095432.tif 000004
【図３】
2020095432.tif 000005
【図４】
2020095432.tif 000006
【図５】
2020095432.tif 000007
【図６】
2020095432.tif 000008
【図７】
2020095432.tif 000009
【図８】
2020095432.tif 000010
【図９】
2020095432.tif 000011
【図１０】
2020095432.tif 000012
【図１１】
2020095432.tif 000013
【図１２】
2020095432.tif 000014
【図１３】
2020095432.tif 000015
【図１４】
2020095432.tif 000016