(58)【調査した分野】(Int.Cl.,DB名)
前記チェック機能の結果に基づいて、前記両モードにおける辞書検索結果を、対応する辞書に反映させる学習機能部をさらに備えることを特徴とする請求項3に記載の商品コード分析システム。
前記辞書検索実行部は、前記各レコード内の商品名及び関連する情報文字列を単語単位に分解し、分解された単語単位で、前記各辞書の適用を実行することを特徴とする請求項1〜4のいずれかに記載の商品コード分析システム。
前記辞書検索実行部は、各キーワードの文字列長、及び各キーワードを組み合わせたキーワードの文字列長に基づいて、前記キーワードの適用順を設定するキーワード制御部をさらに備えていることを特徴とする請求項1〜5のいずれかに記載の商品コード分析システム。
階層的に分類された商品名をレコードとして格納する分析対象データベースを分析し、その階層構造に基づいて集計する商品コード分析プログラムであって、コンピューターに、
前記分析対象データベースを、前記階層構造を維持した状態で、入力インターフェースを通じて入力させる入力ステップと、
前記階層構造を構成する各階層における分類名のキーワードと、各商品名の格納先となる単位コラムとを関連づけて記憶する分類辞書を読み出すとともに、前記入力インターフェースから入力された前記分析対象データベースの各レコードについて、前記分類辞書における分類名のキーワードの出現率に従って、各レコードの商品名を仮分類登録する仮分類実行ステップと、
前記階層構造により分類された単位コラム毎に、各単位コラムに属する商品名のキーワードを記憶する商品名辞書を読み出すとともに、前記仮分類実行ステップにおける仮分類登録に基づいて、前記分析対象データベースの各レコードについて、前記商品名辞書における商品名のキーワードの出現率に従って、各レコードの商品名を、前記単位コラムに登録する商品名登録ステップと、
前記仮分類実行ステップ及び前記商品名登録ステップにおける前記キーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、前記各キーワードの適用順及びキーワードの組合せを規定する辞書検索実行ステップと
を備える処理を実行させることを特徴とする商品コード分析プログラム。
前記商品名辞書に登録された商品名に関連する情報を、前記階層構造により分類された単位コラム毎に記憶するアノテーション辞書を読み出すとともに、前記分析対象データベースの各レコードについて、前記アノテーション辞書におけるキーワードの出現率に従って、各レコードの商品名に関連する情報を、当該商品が属する単位コラムに登録するアノテーション登録ステップをさらに備え、
前記辞書検索実行ステップでは、前記アノテーション辞書に関する前記キーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、前記各キーワードの適用順及びキーワードの組合せを規定する
ことを特徴とする請求項7に記載の商品コード分析プログラム。
前記商品名登録ステップには、前記仮分類登録ステップによる仮分類登録に基づいて前記商品名の辞書検索を行う仮分類モードと、前記仮分類登録の結果に関係なく全分類に対して辞書検索を行うチェックモードとを実行し、両モードにおける結果が異なるときに、その結果を通知するチェックステップが含まれることを特徴とする請求項7または8に記載の商品コード分析プログラム。
前記チェックステップの結果に基づいて、前記両モードにおける辞書検索結果を、対応する辞書に反映させる学習ステップをさらに備えることを特徴とする請求項9に記載の商品コード分析プログラム。
前記辞書検索実行ステップでは、前記各レコード内の商品名及び関連する情報文字列を単語単位に分解し、分解された単語単位で、前記各辞書の適用を実行することを特徴とする請求項7〜10のいずれかに記載の商品コード分析プログラム。
前記辞書検索実行ステップは、各キーワードの文字列長、及び各キーワードを組み合わせたキーワードの文字列長に基づいて、前記キーワードの適用順を設定するキーワード制御ステップを含むことを特徴とする請求項7〜11のいずれかに記載の商品コード分析プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、各店舗(企業)は、独自に各商品の管理を行っていることから、各店舗の商品情報は、独自の商品カテゴリーに分類されたり、商品に独自の商品コードが付与されて、商品マスタ情報として管理されている。そのため、単に各店舗の商品マスタ情報を収集してデータベースに蓄積すると、同じ商品であっても異なるカテゴリーに分類されることとなり、正確な販売動向を解析することができなくなる。
【0006】
また、店舗側では、商品マスタ情報に商品の産地や数量等の商品に関する情報を含ませていることがあるため、商品に関する情報が含まれた商品名と商品に関する情報が含まれていない商品名とでは、同じ商品であっても異なる商品として登録されてしまう場合がある。一方、各店舗の商品マスタ情報を新たにカテゴリーに分類したり、商品名を変更したりすることは、その作業が煩雑であるという問題がある。
【0007】
そこで、本発明は、上記のような問題を解決するものであり、各店舗において、異なる分類、又は商品名で登録された商品情報を、簡易に統一されたカテゴリーに分類するとともに、適切な商品名に変更して商品情報を一元化することができる商品コード分析システム及び商品コード分析プログラムを提供すること目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、階層的に分類された商品名をレコードとして格納する分析対象データベースを分析し、その階層構造に基づいて集計する商品コード分析システムであって、
分析対象データベースを、階層構造を維持した状態で、入力する入力インターフェースと、階層構造を構成する各階層における分類名のキーワードと、各商品名の格納先となる単位コラムとを関連づけて記憶する分類辞書と、階層構造により分類された単位コラム毎に、各単位コラムに属する商品名のキーワードを記憶する商品名辞書と、入力インターフェースから入力された分析対象データベースの各レコードについて、分類辞書における分類名のキーワードの出現率に従って、各レコードの商品名を仮分類登録する仮分類実行部と、仮分類実行部における仮分類登録に基づいて、分析対象データベースの各レコードについて、商品名辞書における商品名のキーワードの出現率に従って、各レコードの商品名を、単位コラムに登録する商品名登録部と、仮分類実行部及び商品名登録部におけるキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定する辞書検索実行部とを備えることを特徴とする。
【0009】
このような本発明では、入力された各レコードについて、先ず、分類辞書における分類名のキーワードの出現率に従って、各レコードを格納先となる単位コラムに仮分類登録し、さらに、商品名辞書における商品名のキーワードの出現率に従って、仮登録された商品名を統一されたキーワードに変更して登録しているので、各店舗において、異なる分類、又は商品名で登録されたレコードを簡易に統一された単位コラムに分類するとともに、適切な商品名に変更して商品情報を一元化することができる。
【0010】
特に、本発明では、辞書検索実行部において、仮分類実行部及び商品名登録部がキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定している。ここで、キーワードの適用順とは、例えば、分類内の商品キーワードに対して優先度を設定し、優先度の高いキーワードから検索したり、文字列長の長い順から検索したりするなど、キーワードを適用する順序を示している。また、キーワードの組み合わせとは、商品名とその商品の形態、メーカー、期間限定情報など、商品名を特定するために必要となっている2以上のキーワードの組み合わせをいい、その組合せによる検索方法としては、指定されたキーワードの全てを含むAND検索や、指定されたキーワードのいずれかを含むOR検索などの他、複数のキーワードを連結して一つのキーワードとして検索する方法も含まれる。
【0011】
このように、本発明によれば、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合を規定しているので、分類又は商品名を構成する文字数や、文字の組み合わせによっては、異なる単位コラムに属する商品についても、適切なキーワードの適用順、又はキーワードの組み合わせに基づいて処理して、各店舗のレコードを適切な単位コラムに格納することができる。
【0012】
上記発明において、商品名辞書に登録された商品名に関連する情報を、階層構造により分類された単位コラム毎に記憶するアノテーション辞書と、分析対象データベースの各レコードについて、アノテーション辞書におけるキーワードの出現率に従って、各レコードの商品名に関連する情報を、当該商品が属する単位コラムに登録するアノテーション登録部とをさらに備え、辞書検索実行部は、アノテーション登録部におけるキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定することが好ましい。
【0013】
ここで、商品名に関する情報とは、例えば、商品の産地、数量、メーカー、入数等の情報が含まれる。この場合には、商品名以外の情報についても、アノテーション辞書を参照し、商品名に関連する情報に係るキーワードの出現率に従って単位コラムに登録しているので、商品の分類又は商品名以外の付加的な情報についても関連付けて登録することができる。
【0014】
この際、辞書検索実行部は、アノテーション登録部がキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定しているので、商品に関する情報の文字数や文字の列びによって商品に関する各情報が異なる項目に属する情報がある場合でも、キーワードの適用順、又はキーワードの組み合わせを規定することで適切な項目に格納することができる。
【0015】
上記発明において、商品名登録部は、仮分類実行部による仮分類登録に基づいて商品名の辞書検索を行う仮分類モードと、仮分類登録の結果に関係なく全分類に対して辞書検索を行うチェックモードとを実行し、両モードにおける結果が異なるときに、その結果を通知するチェック機能を有することが好ましい。この場合には、1つの分類で辞書検索を行う仮分類モードと、全分類で辞書検索を行うチェックモードとを行い、結果が異なる場合には通知する機能を備えているので、例えば、異なる分類で相互に利用される商品名があった場合であっても、その結果が通知されるため、当該商品名がいずれの分類に属する商品かを適切に判断することができる。
【0016】
上記発明において、チェック機能の結果に基づいて、両モードにおける辞書検索結果を、対応する辞書に反映させる学習機能部をさらに備えることが好ましい。この場合には、仮登録モードとチェックモードとの検索結果を反映させているので、次回の登録時には、当該商品を自動で振り分けることができる。
【0017】
上記発明において、辞書検索実行部は、各レコード内の商品名及び関連する情報文字列を単語単位に分解し、分解された単語単位で、各辞書の適用を実行することが好ましい。この場合には、例えば、店舗で入力されたレコードに、商品名と商品に関連する情報とが纏めて入力されている場合であっても、辞書検索実行部は、単語単位で分解して各辞書の適用を実行しているので、レコードを適切な単位コラムに登録することができる。
【0018】
上記発明において、辞書検索実行部は、各キーワードの文字列長、及び各キーワードを組み合わせたキーワードの文字列長に基づいて、キーワードの適用順を設定するキーワード制御部をさらに備えていることが好ましい。この場合、例えば、商品名「AAABB」を登録する場合であって、商品名辞書には、文字列長の長い「AAA」と文字列長の短い「BB」とがある場合、辞書検索実行部は、文字列長に基づいて、文字列長の長い「AAA」から先に検索させることができるため、商品名「AAABB」が「BB」の分類に登録されることを防止できる。
【0019】
また、辞書検索実行部は、例えば、AA1、AA2、AA3というような、関連のあるキーワードを、AA1×AA2、AA1×AA3、AA2×AA1、AA2×AA3、AA3×AA1、AA3×AA2というように、総当たり的に相互に組み合わせて、AND検索やOR検索等を行うこともできる。このとき、キーワードの合計文字列長の長い順に検索させることにより、より適正な分類が可能となる。さらに、辞書検索実行部は、例えば、AA1AA2、AA1AA3というように、関連のあるキーワードを適宜連結させて検索用キーワードを新たに生成する機能を設けることができる。この検索用キーワードと本来のキーワードとを組み合わせて、文字列長を任意に調整し、AND検索やOR検索等を行うことにより、分解して得られた限られたキーワードの適用順序を調節することができ、分析精度を高めることができる。
【0020】
このように、本発明によれば、キーワード、又は組み合わされたキーワードの文字列長に基づいて、キーワードの適用順を設定しているので、レコードを適切な単位コラムに登録することができる。
【0021】
上述した本発明のシステムは、所定の言語で記述されたプログラムの発明をコンピューター上で実行することにより実現することができる。具体的に、本発明は、階層的に分類された商品名をレコードとして格納する分析対象データベースを分析し、その階層構造に基づいて集計する商品コード分析プログラムであって、コンピューターに、
(1)
分析対象データベースを、階層構造を維持した状態で、入力インターフェースを通じて入力させる入力ステップと、
階層構造を構成する各階層における分類名のキーワードと、各商品名の格納先となる単位コラムとを関連づけて記憶する分類辞書を読み出すとともに、入力インターフェースから入力された分析対象データベースの各レコードについて、分類辞書における分類名のキーワードの出現率に従って、各レコードの商品名を仮分類登録する仮分類実行ステップと、
(2)階層構造により分類された単位コラム毎に、各単位コラムに属する商品名のキーワードを記憶する商品名辞書を読み出すとともに、仮分類実行ステップにおける仮分類登録に基づいて、分析対象データベースの各レコードについて、商品名辞書における商品名のキーワードの出現率に従って、各レコードの商品名を、単位コラムに登録する商品名登録ステップと、
(3)仮分類実行ステップ及び商品名登録ステップにおけるキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定する辞書検索実行ステップと
を備える処理を実行させる。
【0022】
そして、このプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能及び作用・効果を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。
【0023】
そして、このようなプログラムは、汎用コンピューターで読み取り可能な記録媒体に記録することができ、当該プログラムを記録した記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述したシステムや方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【発明の効果】
【0024】
以上述べたように、この発明によれば、各店舗において、異なる分類、又は商品名で登録された商品マスタ情報を簡易に統一されたカテゴリーに分類するとともに、適切な商品名に変更して商品情報を一元化することができる。
【発明を実施するための形態】
【0026】
以下に添付図面を参照して、本発明に係る商品コード分析システムの実施形態を詳細に説明する。
図1は、本実施形態に係る管理サーバの内部構造を示すブロック図であり、
図2は、本実施形態に係る商品マスタ情報データベースに蓄積される商品マスタ情報を示すテーブルデータである。
図3は、本実施形態に係るアノテーション辞書データベースに蓄積される各情報を示すテーブルデータであり、
図4は、本実施形態に係る店舗側の商品マスタ情報を示すテーブルデータである。また、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
【0027】
本実施形態に係るシステムは、複数の店舗Sの情報処理端末3等において生成された、階層的に分類された商品名をレコードとして取得して、当該レコードを、階層構造に基づいて集計するシステムであって、管理サーバ1と、データベース群2とから構成される。
【0028】
情報処理端末3は、例えば、食料品や日用品などを販売するスーパーマーケット等の小売業者が所有する、CPUによる演算処理機能、及び通信インターフェースによる通信処理機能を備えた情報処理端末であり、パーソナルコンピュータ等の汎用コンピュータや、機能を特化させた専用装置(例えば、POS装置等)により実現することができ、移動端末と同様なモバイルコンピュータやPDA(Personal Digital Assistance)、携帯電話機等も含まれる。
【0029】
データベース群2は、本システムに関する情報を蓄積するデータベースサーバであり、各店舗のレコードを統一して格納した商品情報や、店舗別の各レコードの情報を登録する際に使用される辞書データについても蓄積している。
【0030】
具体的に、このデータベース群2には、商品マスタ情報データベース21と、分類辞書データベース22と、商品名辞書データベース23と、アノテーション辞書データベース24と、JANコードデータベース25と、分析対象データベース26とを備えている。
【0031】
分析対象データベース26は、分析対象となる店舗毎の商品名を含む商品情報を蓄積するテーブルデータであり、階層的に分類された商品名をレコード単位で格納している。具体的には、分析対象データベース26は、
図2に示すように、「分類1〜4」と、「JANコード」、「商品コード」、及び「商品名」との項目に分けられて格納されている。ここで、「分類1〜4」は、各部門の商品に関する属性情報であり、
図2に示す例では、分類1は農産部門を示し、分類2は野菜等の品群を示し、分類3は、きのこ等のより細かな品群を示し、分類4は、しめじ等の品種を示している。
【0032】
「JANコード」には、日本の共通商品コードが記録されており、「商品コード」には、店舗で独自に割り振られたコードが記録されている。また、「商品名」には、商品の名称と、商品の産地や数量等の内容を示す商品に関する情報を含めた情報が記録されている。
【0033】
商品マスタ情報データベース21は、入力された各レコードの商品名を、各商品名の格納先となる単位コラムに蓄積する記憶装置である。ここで、単位コラムとは、
図3に示すように、「分類1」〜「分類4」の項目で区分された情報であり、
図3に示す例では、商品「しめじ」に関する単位コラムを表している。この単位コラム内においては、さらに、各商品の「商品名」と、商品に関する情報である「アノテーション情報」とがデータベース内に格納されている。
【0034】
「分類1〜4」は、各部門の商品に関する属性情報であり、
図3に示す例では、分類1は農産部門を示し、分類2は野菜等の品群を示し、分類3は、きのこ等のより細かな品群を示し、分類4は、しめじ等の品種を示している。
【0035】
また、「商品名」には、商品の産地や数量等の内容を示す商品に関する所定のアノテーション情報が付加された商品の名称を示す情報が記録されている。また、「アノテーション情報」には、その商品を説明する記述的な情報が蓄積され、
図3に示す例では、製造元の情報である「メーカー」、他と差別化することができる情報である「ブランド」、生産した場所を示す産地、商品の大きさや重量を示す情報である「サイズ」、ケース内の入り数等の販売形態情報を示す「入数」などの情報が蓄積されている。なお、本実施形態では、「商品名」にアノテーション情報を付加された商品名を記憶しているが、商品名のみを記憶してもよい。
【0036】
なお、図示していないが、商品マスタ情報データベース21には、各商品を識別する管理側商品識別情報が付与されている。そして、他のデータベースには、この管理側商品識別情報に、店舗を識別する識別情報や、当該商品の販売状況等を含む利用情報等が関連付けて記録されている。ここで、利用情報には、店舗で設定されて「平均価格」、「売上金額」、「売上点数」、「販売店舗率」、及び「全国販売最終実績」等の販売状況情報や、「更新日」等の「更新状況情報」が含まれる。そして、管理側商品識別情報に基づいて、当該商品の利用情報を検索したり、店舗毎の商品情報を検索したりすることで、各商品について分析可能となっている。この際、「商品名」の項目に、アノテーション情報が付加されている場合には、商品名と付加されたアノテーション情報との組み合わせで検索を行うことができるようになっている。
【0037】
分類辞書データベース22は、階層構造を構成する各階層における分類名のキーワードと、各商品名の格納先となる単位コラムとを関連づけて記憶する記憶装置である。本実施形態では、分類毎に出現したキーワードのうち、出現率の高いキーワードを分類用のキーワードとして記録するとともに、出現率の低いキーワードを出現率の高いキーワードに関連付けて蓄積する。
【0038】
商品名辞書データベース23は、階層構造により分類された単位コラム毎に、各単位コラムに属する商品名のキーワードを記憶する記憶装置である。本実施形態では、分類毎に出現した商品名のキーワードのうち、出現率の高いキーワードを商品名割り当てのキーワードとして記録するとともに、出現率の低いキーワードを出現率の高いキーワードと関連付けて蓄積する。
【0039】
アノテーション辞書データベース24は、商品名辞書データベース23に登録された商品名に関連する情報(商品名以外の情報)を、階層構造により分類された単位コラム毎に記憶する記憶装置である。このアノテーション辞書データベース24内に蓄積される単語としては、
図4に示すように、「商品関係情報」、「属性関連情報」、「調理関連情報」に大別され、さらに各内容に応じて分類される。具体的に、「商品関係情報」には、商品に関する情報が蓄積され、「メーカー」、「ブランド」、「産地・国名」、「容量・重量(kg、ml)」、「サイズ、長さ」、「入数、盛り合わせ数」、味の種類を示す「フレーバー」、キャラクター名を示す「キャラクター」、缶やパウチパックなど容器種別を示す「容器、パッケージ」、「素材、品種、調味料」、アレルギーの抗原となる材料を示す「アレルゲン」、購買制限年齢を示す「年齢制限」、商品の販売時期(平日、午前、オリンピック期間等)や、季節(春や母の日等)の情報を示す「販売時期・季節」、販売地域などの情報を示す「販売エリア・特産品」、割引された情報などを示す「販売特性」等の項目に分けられる。
【0040】
さらに、「属性関連情報」には、商品を購買するターゲットに関する情報が蓄積され、購買金額順で分類された「ランク・デシル」、「性別」、「年齢層」、顧客の志向情報を示す「志向」、販売時期を示す「タイミング」等の項目に分けられる。さらに、「調理関連情報」には、商品の調理に関する情報が蓄積され、「保存期間」、「保存方法」、「加工度合」、「使用用途」、利用される状況を示す「食卓シーン」等の項目に分けられる。なお、これらの各データは、1つの店舗が上記のいずれかの項目を有している場合であっても、アノテーション辞書データベース24に蓄積するようになっている。
【0041】
JANコードデータベース25は、共通商品コードであるJANコードと、商品マスタ情報データベース21の各項目である分類1〜4、商品名、及びアノテーション情報の各単語が関連付けて記憶されている。なお、JANコードデータベース25には、全店舗で共通する分類及び商品名等をJANコードと関連付けた正式JANテーブルデータと、JANコードに管理側が一時的に仮の分類及び仮の商品名等を振り分けた仮JANテーブルデータとを備えている。これは、日々、新たな商品が登録され、更新が行われるJANコードを有する商品について全データを正式JANテーブルデータに蓄積させておくことは困難であるため、管理側としては、先ず、仮として、JANコードと管理側が定めた分類及び商品名とを関連付けたテーブルデータを蓄積しておく。その後、一定期間毎に仮JANテーブルデータに蓄積された情報は、正式JANテーブルデータと整合する処理を行うことで、仮登録された分類及び商品名を正式な分類及び商品名に変更可能としている。この仮JANテーブルデータへの登録は、管理者のユーザー操作に応じて登録してもよいし、正式JANテーブルデータに登録されていない商品情報を自動で登録する構成であってもよい。
【0042】
一方、管理サーバ1は、店舗からの商品情報を単位コラム毎に分類してデータベースに登録するサーバ装置であり、各種情報処理を実行するサーバコンピュータ或いはその機能を持ったソフトウェアで実現される。この管理サーバ1には、
図1に示すように、通信インターフェース11と、入力インターフェース12と、出力インターフェース13と、制御部14とを備えている。
【0043】
入力インターフェース12は、マウスや、キーボード等のユーザー操作を入力するデバイスであり、本実施形態では、レコードを階層構造を維持した状態で分析対象データベース26に入力する。出力インターフェース13は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース13には、液晶ディスプレイなどの表示部13aが含まれている。通信インターフェース11は、通話やデータ通信が可能な通信インターフェースであり、通信ネットワークを介してパケットデータの送受信を行い、各店舗Sのレコードを取得する。メモリ18は、OS(Operating System)や本実施形態に係る、商品コード分析プログラムなどを蓄積する記憶装置である。
【0044】
制御部14は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、各部の動作制御、ユーザー操作に対する種々の処理を行っている。本実施形態において、制御部14には、商品情報登録部15と、商品情報検索部16と、辞書データ生成部17とを備えている。
【0045】
辞書データ生成部17は、各種の辞書データベースを構築するモジュールである。この辞書データ生成部17は、先ず、サンプルとなる商品名等の情報の入力を受け付けると、商品情報の各項目から形態素解析処理等の言語解析プログラムによって、各単語を抽出する。
【0046】
そして、辞書データ生成部17は、項目毎のキーワードの出現率を算出して、出現率が高いキーワードを統一する単語と設定し、各辞書データベースに蓄積する。以下に、この辞書データの設定について詳述する。なお、本実施形態では、
図2に示すように、辞書登録用のデータとして、A社、B社及びC社の各レコードが入力されたものとする。
【0047】
初めに、店舗から入力された商品情報に基づいて、分類1〜4のキーワードを辞書データベース内に構築する場合について説明する。本実施形態において、分類1については、A社では「農産」であり、B社は「青果」であり、C社は「農産」となっている。この際、辞書データ生成部17は、出現率の高い「農産」を分類1での出現率の高いキーワードとして設定する。
【0048】
また、分類2では、A社、B社及びC社ともに「野菜」の単語が用いられているので、出現率の高い「野菜」が出現率の高いキーワードとして設定される。また、分類3では、A社は「茸類」の単語が用いられ、B社は「きのこ」の単語が用いられ、C社は「菌茸類」の単語が用いられている。この場合には、出現率が高いB社の「きのこ」が分類3での出現率の高いキーワードとして設定される。
【0049】
さらに、分類4では、A社は「ブナシメジ」の単語が用いられ、B社は「しめじ」の文字が用いられ、C社は「ぶなしめじ」と「しめじ」との単語が用いられる。この場合には、出現率が高いB社及びC社の「しめじ」が分類4での出現率の高いキーワードとして設定される。なお、出現率の高いキーワードに設定されなかった、出現率の低い各キーワードは、出現率の高い各キーワードと関連付けして各辞書データベース内に記憶される。
【0050】
次いで、商品名のキーワードを辞書データベース内に構築する場合について説明する。先ず、辞書データ生成部17は、商品マスタ情報内の商品名から商品名のみに置き換える処理を受け付ける。例えば、
図4に示すように、商品名が「ぶなしめじ(ホクト)」である場合には、「ホクト」の文字を抜き出し、「ぶなしめじ」のみの単語に置き換える処理を受け付ける。そして、辞書データ生成部17は、商品名のうち、同音の単語を集計して出現率の高い商品名を出現率の高いキーワードとして登録する。ここでは、「ブナしめじ」や「ぶなしめじ」という同音の単語があるが「ぶなしめじ」の単語の出現率が高いため、商品名は「ぶなしめじ」と設定される。この際、部門内で登録されたキーワードは、運用時に適用される順を示す優先度を付加してもよい。
【0051】
この際、辞書データ生成部17は、商品名とその商品の形態など、商品名を特定するために必要となっている2以上のキーワードを組み合わせてキーワードとして登録する処理を受け付ける。さらに、同一商品であるが地域によって名称が異なる商品(例えば、関東での「春菊」と関西での「菊菜」など。)についても、いずれかの商品名をキーワードとして設定するかの選択操作を受け付け、商品名に統一されるようになっている。
【0052】
次に、アノテーション情報についてのアノテーション辞書データベース内への設定について説明する。辞書データ生成部17は、商品に関連する情報をアノテーション辞書データベース24内の各項目に記録する。例えば、
図3に示すように、A社の商品名「ぶなしめじ(ホクト)」から抜き出された「ホクト」の単語は、ユーザー操作を受け付けて「メーカー」の項目に登録する。そして、アノテーション情報についても、項目毎にキーワードの出現率を算出して、出現率が高いキーワードを設定し、各辞書データベースに蓄積する。
【0053】
以上のような辞書データ生成部17の処理によって、分類、商品名、アノテーション情報の各キーワードが各種データベース内に構築される。そして、商品情報登録部15は、構築された各種の辞書データベース22〜25を参照して、以後、各店舗から入力された商品情報(商品名、及び店舗毎の分類名、アノテーション情報等)を分析し、統一した情報として商品マスタ情報データベース21内に集計する。
【0054】
この商品情報登録部15には、仮分類実行部15aと、商品名登録部15bと、辞書検索実行部15cと、チェック機能部15dと、学習機能部15eと、アノテーション登録部15fとを備えている。
【0055】
仮分類実行部15aは、入力インターフェース12から入力された分析対象データベース26の各レコードについて、分類辞書データベース22における分類名のキーワードの出現率に従って、各レコードの商品名を仮分類登録するモジュールである。具体的に、仮分類実行部15aは、レコードが入力された場合、分類1〜4の順にレコードの分類名と分類辞書データベース22における分類名のキーワードとを比較して、レコードの分ル名をレコード出現率の高いキーワードに置換して仮分類登録する。
【0056】
例えば、
図2に示すように、A社のレコードが入力されたものとする。すると、入力されたレコードにおける、分類1の単語「農産」及び分類2の単語「野菜」は、分類辞書データベース22に格納された出現率の高いキーワードと同一であるため、「農産」の分類1に仮分類登録されるとともに、「野菜」の分類2に仮分類登録される。一方、分類3の単語「茸類」は、分類辞書データベース22を参照すると、「茸類」よりも出現率の高い「きのこ」があり、「きのこ」というキーワードと関連付けられているので、当該レコードを「きのこ」の分類3に仮分類登録される。また、分類4の「ブナシメジ」についても同様に、出現率の高いキーワードである「しめじ」の分類4に仮分類登録される。
【0057】
同様にして、B社のレコードが入力された場合、分類辞書データベース22を参照すると、分類1の「野菜」は、より出現率の高いキーワードである「農産」があるため、「農産」の分類1に仮分類登録される。その後、入力された分類2の「野菜」、分類3の「きのこ」、及び分類4の「しめじ」というキーワードは、出現率の高いキーワードであるため、そのキーワード通りの分類に仮分類登録される。
【0058】
また、C社のレコードが入力された場合、分類辞書データベース22を参照すると、分類1の単語「農産」及び分類2の単語「野菜」は、分類辞書データベース22の出現率が高いキーワードと同一であるため、「農産」の分類1に仮分類登録されるとともに、「野菜」の分類2に仮分類登録される。一方、分類3の単語「菌茸類」は、分類辞書データベース22を参照すると、「菌茸類」よりも出現率の高いキーワードである「きのこ」があるため、「きのこ」の分類3に仮分類登録される。また、分類4の「ぶなしめじ」についても同様に、出現率の高いキーワードである「しめじ」の分類4に仮分類登録される。なお、辞書データベース内に蓄積されていない単語は、辞書データ生成部17に入力されて辞書登録される。
【0059】
商品名登録部15bは、仮分類実行部15aにおける仮分類登録に基づいて、分析対象データベース26の各レコードについて、商品名辞書データベース23における商品名のキーワードの出現率に従って、各レコードの商品名を、単位コラムに登録するモジュールである。
【0060】
この商品名登録部15bの処理について詳述すると、先ず、商品名登録部15bは、入力されたレコードの商品名と、商品名辞書データベース23内に格納された部門毎のキーワードとを順次比較して、当該入力された商品名と関連付けられた、出現率の高いキーワードを検出して、当該出現率の高いキーワードの商品名を単位コラム内における項目「商品名」の欄に登録する。
【0061】
具体的には、
図2に示すようにA社のレコードが入力された場合には、一行目の「ぶなしめじ」は、出現率の高いキーワードである「ぶなしめじ」と同一であるため、「ぶなしめじ」の文字が単位コラムに登録される。
【0062】
一方、B社の商品名「丹波しめじ」は、商品名辞書データベース23内を参照すると出現率が高いキーワードは「はたけしめじ」と設定されている。したがって、B社の商品「丹波しめじ」は、商品名を「はたけしめじ」に変換されて単位コラムに登録される。また、B社の「しめじ茸」の商品は、「しめじ」に変換されて登録される。他のレコードも同様に出現率の高いキーワードに変換された登録される。
【0063】
アノテーション登録部15fは、アノテーション辞書データベース24を参照して、当該商品のアノテーション情報を登録するモジュールである。具体的に、アノテーション登録部15fは、分析対象データベース26の各レコードについて、アノテーション辞書データベース24におけるキーワードの出現率に従って、各レコードの商品名に関連する情報を、商品が属する単位コラムに登録する。
【0064】
例えば、選択されたキーワードが
図2に示すように、「ホクト」である場合には、アノテーション辞書データベース24内に、その単語が含まれているか否かを判断する。ここで、「ホクト」の単語は、「メーカー」の項目に登録された単語であるため、アノテーション登録部15fは、
図3に示すように、アノテーション情報の「メーカー」の項目に「ホクト」の単語を振り分ける。同様に、各項目に対して出現率の高いキーワードは、それぞれ、各アノテーション情報の項目に振り分けられる。例えば、「中国」というキーワードは、「産地」の項目に振り分けられ、「数値+g(グラム)」のキーワードは、「サイズ」の項目に振り分けられる。
【0065】
辞書検索実行部15cは、仮分類実行部15a及び商品名登録部15bにおけるキワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定するモジュールである。
【0066】
ここで、各辞書、及び各キーワードの適用順としては、例えば、商品キーワードに対して優先度を設定して優先度の高いキーワードから検索したり、文字列長の長い順から検索したりする手法が含まれる。なお、この文字列長に基づく検索は、キーワード制御部15gに基づいて実行される。このキーワード制御部15gは、各キーワードの文字列長、及び各キーワードを組み合わせたキーワードの文字列長に基づいて、キーワードの適用順を設定するモジュールである。
【0067】
本実施形態では、全部門の商品キーワードに10段階の優先度を設定し、優先度の高いキーワードから検索するとともに、同じ優先度のキーワードに対しては、文字列長の長い順から検索するようになっている。
【0068】
例えば、商品名「AAABB」を登録する場合であって、商品名辞書には、文字列長の長いキーワード「AAA」と文字列長の短いキーワード「BB」とが同じ優先度である場合、辞書検索実行部は、文字列長に基づいて、文字列長の長い「AAA」から先に検索させることができるため、商品名「AAABB」が「BB」の分類に登録されることを防止できる。一方、文字列長の短いキーワード「BB」のほうが、文字列長の長いキーワード「AAA」よりも優先度が高く設定されていれば、同じ商品名「AAABB」であっても、当該商品は「BB」の商品コラムに登録される。なお、このキーワードの適用順は、商品の部門や商品名に応じて適宜選択可能であり、優先度又は文字列長のいずれか一方でのみ検索することも可能である。また、文字列長から検索し、同じ文字列長である場合に優先度を参照するように適用順を入れ替えてもよい。さらに、優先度の段階は任意に変更可能である。
【0069】
また、辞書検索実行部15cには、キーワードの組合せを規定する機能を有している。具体的に、辞書検索実行部15cは、商品名を特定するために必要となる2以上のキーワードを組み合わせて検索可能である。この商品と組み合わせられる情報とは、「商品の形態」、「メーカー」、「販売時期・季節」、「フレーバー」などアノテーション辞書データベース24に含まれる情報であり、これらの情報をデータベースから任意に抽出可能となっている。この抽出方法としては、例えば、管理者に対して、いずれの条件で検索すべきかを画面上に表示させて、検索条件を受け付けてもよいし、予め定められたキーワードの組み合わせを設定された適用順で検索してもよい。
【0070】
そして、辞書検索実行部15cは、例えば、AA1、AA2、AA3というような、関連のあるキーワードを、AA1×AA2、AA1×AA3、AA2×AA1、AA2×AA3、AA3×AA1、AA3×AA2というように、総当たり的に相互に組み合わせて、指定されたキーワードの全てを含むAND検索や指定されたキーワードのいずれかを含むOR検索等を行うこともできる。このとき、キーワードの合計文字列長の長い順や優先度に応じて検索させることにより、より適正な分類が可能となる。さらに、辞書検索実行部15cは、例えば、AA1AA2、AA1AA3というように、関連のあるキーワードを適宜連結させて検索用キーワードを新たに生成する機能を設けることができる。この検索用キーワードと本来のキーワードとを組み合わせて、文字列長を任意に調整し、AND検索やOR検索等を行うことにより、分解して得られた限られたキーワードの適用順序を調節することができ、分析精度を高めることができる。また、組み合わせの間に他の単語が挿入されていても、その単語は判定では認識させず、組み合わせの間に他の単語が入っていても判定可能である。
【0071】
なお、辞書検索実行部15cは、仮分類実行部15a及び商品名登録部15bに、レコードの商品名及び関連する情報を入力する前提として、形態素解析処理等の言語解析プログラムによって、各レコード内の商品名及び関連する情報文字列を単語単位に分解し、分解された単語単位で、各辞書の適用を実行するようになっている。例えば、
図2に示すように、A社から入力されたレコードの商品名「ぶなしめじ(ホクト)」については、「ぶなしめじ」と「ホクト」という文字に分解する。
【0072】
また、辞書検索実行部15cは、アノテーション登録部15fにおけるキーワードの出現率を算出する際においても、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定する機能も備えている。
【0073】
なお、辞書検索実行部15cは、
図2に示すように、店舗側から取得したレコードにJANコードが含まれている場合には、JANコードデータベース25を参照して、JANコードと関連付けられた分類1〜4、商品名、及びアノテーション情報の各単語を抽出して、
図3に示すように、商品マスタ情報データベース21に登録する(図中;P1〜P5)機能も備えている。なお、この際、商品名には、例えば、メーカー名やブランド名などのアノテーション情報を組み合わせた名称が記録される。
【0074】
チェック機能部15dは、仮分類実行部15aによる仮分類登録に基づいて商品名の辞書検索を行う仮分類モードと、仮分類登録の結果に関係なく全分類に対して辞書検索を行うチェックモードとを実行し、両モードにおける結果が異なるときに、その結果を通知するモジュールである。このチェック機能の通知には、例えば、電子メール等で通知する場合や、両モードの結果を表示部13aにポップアップさせる場合も含まれる。また、通知後に、いずれの分類(部門)に登録させるかの選択を受け付ける機能も備えている。
【0075】
また、チェック機能部15dは、入力された商品情報に含まれたJANコードがJANコードデータベース25に登録されていない場合には、仮JANテーブルデータを参照し、仮JANテーブルデータに該当するJANコードが含まれているか否かを判断するようになっている。仮JANテーブルデータにもJANコードが含まれていない場合には、表示部13a上にその情報を表示させ、いずれの分類(部門)に登録させるかのユーザー操作を受け付けるようになっている。
【0076】
一方、仮JANテーブルデータにJANコードが含まれている場合には、その仮JANテーブルデータに登録された仮分類に分類する。この場合であっても、表示部13a上に分類した結果を表示させ、分類先の変更操作を受け付けるようにしてもよい。また、チェック機能部15dには、ユーザーによる任意に基づいて、特定の商品名を他の分類先に移動させる機能も含まれる。なお、このユーザー操作の受け付け方法としては、例えば、画面上に単位コラム一覧を表示させ、その表示画面上で管理者がドラッグ&ドロップ等を行うことで、任意の単位コラムに移動させるような直感的な操作が可能としてもよい。
【0077】
学習機能部15eは、チェック機能の結果に基づいて、両モードにおける辞書検索結果を、対応する辞書に反映させるモジュールである。具体的に、学習機能部15eは、チェック機能部15dにおいて受け付けたユーザー操作に基づいて、キーワード制御部15gを通じて、辞書データに変更を加え、キーワードの適用順等を変更し、次回以降に同一商品が入力された場合には通知処理することなく、自動で当該商品を対応する単位コラム内に蓄積するようになっている。また、この学習機能部15eは、一旦単位コラムに分類された特定の商品名を、他の任意の分類先に移動させる変更操作を行う場合にも、変更操作が次回以降の辞書検索結果に反映させるように、同一商品が入力されたときのキーワードの適用順等を自動的に変更する。
【0078】
この学習機能部15eの処理について詳述する。例えば、チェック機能の結果、或いはユーザーによる任意に基づいて、特定の商品名を他の分類先に移動させる場合に、例えば、画面上に単位コラム一覧(分類一覧)を表示させ、その表示画面上において、ドラッグ&ドロップ等で特定し、変更対象となる商品名、及び移動先の単位コラムを特定する。この変更操作に応じて、学習機能部15eは、変更対象となっている商品名が、変更操作後において、他のキーワードの検索結果に影響を及ぼさないようにするために、キーワードに付与された優先度や、文字列数、他のキーワードとの組み合わせを自動的に変更し、キーワードの適用順序を変更する。
【0079】
この変更操作に際し、具体的には以下のような処理を実行する。
(1) 先ず、分類元と、変更後の分類先とを比較し、いずれの分類が先行して検索実行の対象となるかを判断し、変更対象となっている商品名(キーワード)の適用順序が、上がるのか下がるのかを判断する(移動種別判定処理)。
【0080】
(2) 次いで、移動種別判定処理の判定結果に基づいて、変更処理による干渉が発生しうる範囲を決定する(範囲決定処理)。具体的には、変更対象となっている商品名の適用順序が上がる場合と、下がる場合とで、変更対象となっている商品名よりも優先度が高い或いは文字列数が多いキーワードの範囲で検査を行うか、また、優先度が低い、或いは文字列数が少ないキーワードの範囲で検査を行うかを決定する。
【0081】
(3) そして、上記範囲決定処理によって、決定した範囲に含まれるキーワードに対して、干渉発生の有無について検査する。具体的には、変更対象となった商品名が属していた分類元、及び変更後の分類先を検索結果として有する辞書を参照する逆引き処理を実行し、分類元及び変更後の分類先に関連づけられたキーワードを抽出する(逆引き抽出処理)。
【0082】
(4) 次いで、逆引き抽出処理により抽出されたキーワードと、変更対象となっている商品名(キーワード)とを比較し、その優先度や文字列数に応じて、優先度の調整や、検索用キーワードの生成を行う。本実施形態では、優先度の段階に制限を設けていることから、できるだけ検索用キーワードの生成により上記干渉を解消するようにし、検索用キーワードの生成のみでは干渉を解消できない場合に、優先度の調整を行う。この検索用キーワードの生成としては、例えば、AA1AA2、AA1AA3というように、関連のあるキーワードを適宜連結させて検索用キーワードを新たに生成し、この検索用キーワードと本来のキーワードとを組み合わせて、文字列長を任意に調整する。辞書検索実行部15cでは、複数のキーワードによるアンド検索を行い、それら複数のキーワードの総文字列数の長い順に適用することから、所要の文字列長の検索用キーワードを生成することにより、その適用順序を調整することができる。
【0083】
商品情報検索部16とは、商品マスタ情報データベース21を参照して、検索条件に応じた単位マスタ毎の商品情報を検索するモジュールである。なお、検索条件には、分類1〜4、商品名、及びアノテーション情報のほか、店舗識別情報に基づいて店舗別に検索も可能である。また、検索された商品については、商品識別情報に基づいて販売状況等を検索することも可能である。
【0084】
(商品コード分析方法)
以上の構成を有する商品コード分析システムを動作させることによって、レコードを統一したデータベースに集計する商品コード分析方法を実施することができる。
図5は、本実施形態に係る商品コード分析方法の概要を示す説明図であり、
図6は、本実施形態に係る各種辞書データの生成方法を示すフローチャート図であり、
図7及び
図8は、本実施形態に係る商品マスタ情報の分類方法を示すフローチャート図である。
【0085】
図5に示すように、先ず、ステップS100において、解析用の各種辞書データを構築(生成)する処理が実行され、その後、ステップS200及びステップS300において、各店舗からレコードが入力されると、当該レコードを分類して、統一された商品マスタ情報データベースに登録する。
【0086】
(1)各種辞書データの生成方法
辞書データの生成方法について説明する。
図6に示すように、先ず、商品のカテゴリーの分類数を決定する(S101)。本実施形態では、分類1(取扱部門)、分類2(品群)、分類3(より細かな品群)、分類4(品種)に分ける。
【0087】
次いで、辞書データ生成部17は、サンプルとしてのレコードの入力を受け付ける(S102)。このレコードの受付としては、ブラウザ上に表示された商品選択欄などから入力された情報であってもよく、記録媒体に記録されたデータから読み取られた情報であってもよい。
【0088】
レコードの入力を受け付けが終了すると、辞書データ生成部17は、レコードの分類1〜4、商品名、及びアノテーション情報の各項目の単語を抽出する(S103)。そして、各項目におけるキーワードの出現率を算出して、出現率が高いキーワードを設定し、各辞書データベースに蓄積する(S105)。出現率が低いキーワードは出現率が高いキーワードと関連付けされて各辞書データベースに記憶される(S106)。
【0089】
(2)商品名分類方法
次いで、レコードの商品名についての分類方法について説明する。なお、本実施形態では、予め、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定しているものとする。この適用の規定には、各キーワードの文字列長、及び各キーワードを組み合わせたキーワードの文字列長に基づいて、キーワードの適用順を設定することも含まれる。本実施形態では、辞書内における優先度の高いキーワードから検索するとともに、キーワードが同じ優先度である場合には、文字列長が長いキーワードから検索するように設定しているものとする。さらに、アノテーション情報についても、各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せについての適用順についても設定しているものとする。
【0090】
先ず、
図7に示すように、分析対象データベース26の各レコードを、階層構造を維持した状態で、入力インターフェース12を通じて入力させると(S201)、辞書検索実行部15cは、レコード内にJANコードが含まれているか否かを判断する(S202)。レコード内にJANコードが含まれている場合には(S202における“Y”)、JANコードデータベース25内における、正式JANテーブルデータに当該JANコードが登録されているか否かを判断する(S203)。JANコードが正式JANテーブルデータ内に含まれている場合には(S203における“Y”)、当該JANコードに基づいて、商品の分類(分類1〜4)、商品名、及びアノテーション情報を決定して登録する(S210)。
【0091】
一方、JANコードが正式JANテーブルデータ内に含まれていない場合には(S203における“N”)、その仮JANテーブルデータを参照して、仮JANテーブルデータに該当するJANコードが含まれているか否かを判断する(S204)。
【0092】
仮JANテーブルデータに該当するJANコードがある場合には(S204における“Y”)、割り当てられた仮分類及び仮商品名を選択して仮分類登録する(S210)。この際、表示部13a上に仮分類した結果を表示させ、分類先の変更操作を受け付けるようにする。
【0093】
一方、仮JANテーブルデータに該当するJANコードが登録されていない場合には(S204における“N”)、辞書検索実行部15cは、レコードに登録された各情報の単語を項目毎に抽出するとともに、各レコード内の商品名及び関連する情報文字列を形態素解析で単語単位に分解する。そして、チェック機能部15dによって、表示部13aに通知情報を表示させ、ユーザー操作を受け付ける(S211)。その後、チェック機能部15dは、ユーザー操作に応じて、選択された当該分類のキーワードを各辞書に登録するとともに、当該商品情報を当該分類に仮分類登録する(S210)。
【0094】
レコード内にJANコードが含まれていない場合には(S202における“N”)、仮分類実行部15aは、入力インターフェース12から入力された分析対象データベース26の各レコードについて、分類辞書データベース22における分類名のキーワードの出現率に従って、各レコードの商品名を仮分類登録する。具体的には、各部門の分類名のキーワードを読み出すとともに(S205)、分類辞書データベース22を読み出し(S206)、当該レコードの分類名が分類辞書データベース22内に登録されているか否かを判断する(S207)。
【0095】
レコード内の単語が分類辞書データベース22内に登録されている場合には(S207における“Y”)、キーワードの出現率に従って(S209)、出現率の高い単位コラムに仮分類登録する(S210)。一方、レコード内の単語が分類辞書データベース22内に登録されていない場合には(S207における“N”)、当該分類のキーワードを辞書に新たに登録する(S208)。具合的に、辞書検索実行部15cは、レコードに登録された各情報の単語を項目毎に抽出するとともに、各レコード内の商品名及び関連する情報文字列を形態素解析で単語単位に分解する。そして、チェック機能部15dによって、表示部13aに通知情報を表示し、ユーザー操作を受け付ける。その後、ユーザー操作に応じて、当該分類のキーワードを各辞書に登録するとともに、当該商品情報を分類に仮分類登録する(S210)。
【0096】
次に、商品名登録部15bは、
図8に示すように、分析対象データベース26の各レコードについて、商品名辞書データベース23における商品名のキーワードの出現率に従って、各レコードの商品名を、単位コラムに登録する商品名登録ステップを行う。
【0097】
具体的には、仮分類実行ステップで実行された仮分類登録されたレコードを選択し(S301)、階層構造により分類された単位コラム毎に、商品名辞書データベース23を読み出して(S302)、当該商品名が商品名辞書データベース23内に登録されているか否かを判断する(S303)。
【0098】
選択された商品名が商品名辞書データベース23内に登録されていない場合には(S303における“N”)、当該商品名の単語を辞書に登録するとともに(S304)、その後、当該商品名を単位コラムに登録する(S306)。なお、辞書内への単語登録処理は、ステップS103〜ステップS106と同様に行われる。一方、商品名が商品名辞書データベース23内に登録されている場合には(S303における“Y”)、商品名のキーワードの出現率に従って(S305)、各レコードの商品名を該当する単位コラムに登録する(S306)。
【0099】
なお、この商品名登録ステップにおいては、仮分類登録ステップによる仮分類登録に基づいて商品名の辞書検索を行う仮分類モードと、仮分類登録の結果に関係なく全分類に対して辞書検索を行うチェックモードとを実行し、両モードにおける結果が異なるときに、その結果を通知する。この場合には、チェックステップの結果に基づいて、両モードにおける辞書検索結果を対応する辞書に反映させる。
【0100】
次に、アノテーション登録部15fは、分析対象データベース26の各レコードについて、アノテーション辞書データベース24におけるキーワードの出現率に従って、各レコードの商品名に関連する情報を、商品が属する単位コラムに登録するアノテーション登録ステップを行う。
【0101】
具体的には、先ず、商品名辞書データベース23に登録された商品名に関連する情報と、単位コラム毎に記憶するアノテーション辞書データベース24とを読み出すとともに(S307及びS308)、当該単語が辞書内に登録されているか否かを判断する(S309)。
【0102】
選択された単語がアノテーション辞書データベース24内に登録されている場合には(S309における“Y”)、その登録されているアノテーション情報の項目(例えば、「メーカー」、「ブランド」、「産地」、「サイズ」、及び「入数」)部分に当該単語を割り当てて、アノテーション情報を登録する(S311)。
【0103】
一方、 選択された単語がアノテーション辞書データベース24内に登録されていない場合には(S309における“N”)、当該アノテーション情報を辞書内に登録し(S310)、そのアノテーション情報を各項目に登録する(S311)。なお、辞書内への単語登録処理は、ステップS103〜ステップS106と同様に行われる。なお、アノテーション登録部15fは、レコード内の単語が全て無くなるまで、ステップS307〜S311までの処理を繰り返す。その後、次のレコードを参照して、ステップS201〜S311までの処理を繰り返し、レコードが無くなるまで同様の処理を行う。
【0104】
(商品コード分析プログラム)
上述した本実施形態係る商品コード分析システム及び商品コード分析方法は、所定の言語で記述された商品コード分析プログラムをコンピュータ上で実行することにより実現することができる。すなわち、このプログラムを携帯情報端末(PDA)に携帯電話・通信機能を統合した携帯端末機、クライアント側が使用するパーソナルコンピュータ、ネットワーク上に配置されてクライアント側にデータや機能を提供するサーバ装置、又はゲーム装置などの専用装置、又はICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。
【0105】
そして、このようなプログラムは、パーソナルコンピュータで読み取り可能な記録媒体に記録することができる。具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD−ROMやDVD−ROM等の光ディスクの他、USBメモリやメモリカードなど、種々の記録媒体に記録することができる。
【0106】
(作用・効果)
このような本実施形態によれば、入力された各レコードについて、先ず、仮分類実行部15aは、分類辞書データベース22における分類名のキーワードの出現率に従って、各レコードを格納先となる単位コラムに仮分類登録し、その後、商品名登録部15bは、商品名辞書データベース23における商品名のキーワードの出現率に従って、仮登録された商品名を統一されたキーワードに変更して登録しているので、各店舗において、異なる分類、又は商品名で登録されたレコードを、簡易に統一された単位コラムに分類するとともに、適切な商品名に変更して商品情報を一元化することができる。
【0107】
特に、本実施形態によれば、辞書検索実行部15cにおいて、仮分類実行部15a及び商品名登録部15bがキーワードの出現率を算出する際に、各辞書、及び各キーワードの適用順と、各キーワードの適用順及びキーワードの組合せを規定している。具体的には、例えば、辞書内のキーワードに「AAABB」と「BB」というキーワードが含まれている場合、商品名「AAABB」を登録する場合であって、商品名辞書には、文字列長の長い「AAA」と文字列長の短い「BB」とがある場合、辞書検索実行部は、文字列長に基づいて、文字列長の長い「AAA」から先に検索させることができるため、商品名「AAABB」が「BB」の分類に登録されることを防止できる。また、例えば、商品コラム毎にキーワードに対して優先度を設定し、優先度の高いキーワードから検索するように設定する。
【0108】
また、本実施形態において、辞書検索実行部15cは、商品名とその商品の形態など、商品名を特定するために必要となっている2以上のキーワードの組み合わせを用いて判定している。具体的には、例えば、AA1、AA2、AA3というような、関連のあるキーワードを、AA1×AA2、AA1×AA3、AA2×AA1、AA2×AA3、AA3×AA1、AA3×AA2というように、総当たり的に相互に組み合わせて、AND検索やOR検索等を行うこともできる。このとき、キーワードの合計文字列長の長い順に検索させることにより、より適正な分類が可能となる。さらに、辞書検索実行部15cは、例えば、AA1AA2、AA1AA3というように、関連のあるキーワードを適宜連結させて検索用キーワードを新たに生成する機能を設けることができる。この検索用キーワードと本来のキーワードとを組み合わせて、文字列長を任意に調整し、AND検索やOR検索等を行うことにより、分解して得られた限られたキーワードの適用順序を調節することができ、分析精度を高めることができる。
【0109】
また、本実施形態によれば、商品名以外の情報についても、アノテーション辞書を参照して、当該商品が属する単位コラムに登録しているので、商品の分類又は商品名以外の付加的な情報についても関連付けて登録することができる。
【0110】
さらに、本実施形態によれば、仮分類モードとチェックモードとを行い、両モードにおける結果が異なるときに、その結果を通知するチェック機能を有しているので、例えば、異なる分類で相互に利用される商品名があった場合には、その結果が通知されるため、当該商品名がいずれの分類に属する商品かを適切に判断することができる。さらに、その結果通知に対する処理を各辞書に反映させる学習機能を備えているので、次回の登録時には、当該商品を自動で振り分けることができる。
【0111】
本実施形態において、辞書検索実行部15cは、各レコード内の商品名及び関連する情報文字列を単語単位に分解し、分解された単語単位で、各辞書の適用を実行するので、例えば、店舗で入力されたレコードに、商品名と商品に関連する情報とが纏めて入力されている場合であっても、最小単位の単語で仮分類登録及び商品名登録の処理を行えるため、レコードを適切な単位コラムに登録することができる。
【0112】
[変更例]
なお、上述した各実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【0113】
例えば、上述した実施形態では、入力された商品情報を分類辞書データベース22を参照して仮分類登録した後に、商品名辞書データベース23に基づいて単位コラムに登録したが、例えば、仮分類登録の処理を行わず、入力された商品名に対して、商品名辞書データベース23を参照して、直接単位コラムに登録してよい。
【0114】
この場合には、上述した全分類に対して辞書検索を行うチェックモードと同様な処理が行われ、入力された商品名と全分類のキーワードとが対比される。なお、この場合であっても、キーワードの適用順等は、優先度、文字列長、及びキーワードの組み合わせなど任意に選択可能となっている。
【0115】
このような変形例であっても、商品名には、予め、分類1〜4が紐付けられているので、集計された商品マスタ情報には、分類1〜4毎に自動で振り分け可能となる。そして、この場合には、仮登録処理が省略されるため、集計処理速度を向上させることができる。