特許第6642858号(P6642858)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ローソンの特許一覧

特許6642858分類装置、分類方法及びコンピュータプログラム
<>
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000002
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000003
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000004
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000005
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000006
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000007
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000008
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000009
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000010
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000011
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000012
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000013
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000014
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000015
  • 特許6642858-分類装置、分類方法及びコンピュータプログラム 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6642858
(24)【登録日】2020年1月8日
(45)【発行日】2020年2月12日
(54)【発明の名称】分類装置、分類方法及びコンピュータプログラム
(51)【国際特許分類】
   G06F 16/35 20190101AFI20200130BHJP
【FI】
   G06F16/35
【請求項の数】9
【全頁数】24
(21)【出願番号】特願2017-240937(P2017-240937)
(22)【出願日】2017年12月15日
(65)【公開番号】特開2019-109615(P2019-109615A)
(43)【公開日】2019年7月4日
【審査請求日】2017年12月15日
(73)【特許権者】
【識別番号】506078404
【氏名又は名称】株式会社ローソン
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100145481
【弁理士】
【氏名又は名称】平野 昌邦
(74)【代理人】
【識別番号】100210572
【弁理士】
【氏名又は名称】長谷川 太一
(72)【発明者】
【氏名】佐々木 盛朗
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開2012−164018(JP,A)
【文献】 特開平08−166965(JP,A)
【文献】 特開2010−026923(JP,A)
【文献】 塔娜,レシート情報システムのためのデータベース設計と入力データ処理アルゴリズム,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2013年 1月10日,Vol.112 No.378,85−90ページ
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
(57)【特許請求の範囲】
【請求項1】
分類対象の名称を形態素に分割する形態素解析部と、
学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定部と、
前記分類対象の名称から得られた複数の前記形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペアを決定する形態素ペア決定部と、を備え、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、
前記第1分類情報決定部は、前記分類対象の名称に基づいて前記形態素ペア決定部によって決定された前記形態素ペアと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、前記学習結果データと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、
分類装置。
【請求項2】
分類対象の文字列を形態素に分割する形態素解析部と、
学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定部と、を備え、
前記訓練データは、前記付与された第1分類情報と、前記第1分類情報の下位分類である第2分類情報と、を含むデータであり、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第2分類情報に分類されるかを表す頻度を含む学習結果データであり、
前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素と、に基づいて、前記第2分類情報を決定する第2分類情報決定部をさらに備える、
分類装置。
【請求項3】
分類対象の文字列を形態素に分割する形態素解析部と、
学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定部と、
前記分類対象の文字列から前記形態素解析部によって分割された前記形態素を所定の条件に基づいて、他の形態素に置換する形態素置換部と、
を備える、分類装置。
【請求項4】
分類対象の名称を形態素に分割する形態素解析部と、
学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の名称とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定部と、
前記分類対象の名称から得られた複数の前記形態素のうち前記分類対象の名称と最も意味が近い形態素を決定し、特定した前記形態素と意味が近い他の形態素とを含む形態素ペアを決定する形態素ペア決定部とを、備え、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、
前記第1分類情報決定部は、前記学習結果データと、前記分類対象の名称に基づいて前記形態素ペア決定部によって決定された前記形態素ペアと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、
分類装置。
【請求項5】
分類装置が、分類対象の名称を形態素に分割する形態素解析ステップと、
分類装置が、学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析ステップにおいて分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定ステップと、
分類装置が、前記分類対象の名称から得られた複数の前記形態素のうち先頭及び末尾に位置づけられる2つの形態素 を含む形態素ペアを決定する形態素ペア決定ステップと、を有し、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、
前記第1分類情報決定ステップにおいて、前記分類対象の名称に基づいて前記形態素ペア決定ステップにおいて決定された前記形態素ペアと、 前記分類対象の名称から前記形態素解析ステップにおいて分割された前記形態素と、前記学習結果データと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、
分類方法。
【請求項6】
分類装置が、分類対象の文字列を形態素に分割する形態素解析ステップと、
分類装置が、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析ステップにおいて分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定ステップと、を有し、
前記訓練データは、前記付与された第1分類情報と、前記第1分類情報の下位分類である第2分類情報と、を含むデータであり、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第2分類情報に分類されるかを表す頻度を含む学習結果データであり、
分類装置が、前記学習結果データと、前記分類対象の文字列から前記形態素解析ステップにおいて分割された前記形態素と、に基づいて、前記第2分類情報を決定する第2分類情報決定ステップをさらに有する、
分類方法。
【請求項7】
分類装置が、分類対象の文字列を形態素に分割する形態素解析ステップと、
分類装置が、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析ステップにおいて分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定ステップと、
分類装置が、前記分類対象の文字列から前記形態素解析ステップにおいて分割された 前記形態素を所定の条件に基づいて、他の形態素に置換する形態素置換ステップと、
を有する、分類方法。
【請求項8】
分類装置が、分類対象の名称を形態素に分割する形態素解析ステップと、
分類装置が、学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の名称とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析ステップにおいて分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定ステップと、
分類装置が、前記分類対象の名称から得られた複数の前記形態素のうち前記分類対象の 名称と最も意味が近い形態素を決定し、特定した前記形態素と意味が近い他の形態素とを含む形態素ペアを決定する形態素ペア決定ステップとを、有し、
前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、
前記第1分類情報決定ステップにおいて、前記学習結果データと、前記分類対象の名称に基づいて前記形態素ペア決定ステップにおいて決定された前記形態素ペアと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、
分類方法。
【請求項9】
請求項1からのいずれか一項に記載の分類装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分類装置、分類方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
商品の売買を行うことで発行されるレシートには、商品名や販売額が記載されている。収集されたレシートから商品名や販売額等の商品に関する情報を取得し、分類することで、競合他社の商品の売れ行きや、売上高を把握することができる。そこで、商品に関する情報を分類した結果を記憶するためのマスタが構築・維持されてきた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−103038号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の方法では、新商品が発売される都度、マスタを更新する必要があるため、マスタの構築・維持には多くの労力がかかる場合がある。また、レシート毎にカタカナ表記又はひらがな表記等の表記揺れ等によって、同じ商品であっても異なる商品として間違えて分類される場合もある。このような場合、マスタを更新したり、商品の分類間違いを個別に修正したりしなければ、商品に関する情報を正しく分類することができない場合があった。
【0005】
上記事情に鑑み、本発明は、より簡単に情報を分類できる分類装置、分類方法及びコンピュータプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、分類対象の文字列を形態素に分割する形態素解析部と、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す割合を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素とに基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定部と、を備える分類装置である。
【0007】
本発明の一態様は、分類対象の名称を形態素に分割する形態素解析部と、学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定部と、前記分類対象の名称から得られた複数の前記形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペアを決定する形態素ペア決定部と、を備え、前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、前記第1分類情報決定部は、前記分類対象の名称に基づいて前記形態素ペア決定部によって決定された前記形態素ペアと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、前記学習結果データと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、分類装置である。
【0008】
本発明の一態様は、分類対象の文字列を形態素に分割する形態素解析部と、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定部と、を備え、前記訓練データは、前記付与された第1分類情報と、前記第1分類情報の下位分類である第2分類情報と、を含むデータであり、前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第2分類情報に分類されるかを表す頻度を含む学習結果データであり、記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素とに基づいて、前記第2分類情報決定する第2分類情報決定部をさらに備える、分類装置である。
【0009】
本発明の一態様は、分類対象の文字列を形態素に分割する形態素解析部と、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報と前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定部と、前記分類対象の文字列から前記形態素解析部によって分割された前記形態素を所定の条件に基づいて、他の形態素に置換する形態素置換部と、を備える、分類装置である。
【0010】
本発明の一態様は、分類対象の名称を形態素に分割する形態素解析部と、学習対象の名称の特徴を示す情報として前記学習対象の名称に付与された第1分類情報と前記学習対象の名称とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の名称から前記形態素解析部によって分割された前記形態素と、に基づいて、前記分類対象の名称の前記第1分類情報を決定する第1分類情報決定部と、前記分類対象の名称から得られた複数の前記形態素のうち前記分類対象の名称と最も意味が近い形態素を決定し、特定した前記形態素と意味が近い他の形態素とを含む形態素ペアを決定する形態素ペア決定部とを、備え、前記学習結果データは前記複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の名称に含まれる複数の形態素のうち先頭及び末尾に位置づけられる2つの形態素を含む形態素ペア毎に、前記分類対象の名称がいずれの第1分類情報に分類されるかを表す頻度を含む学習結果データであり、前記第1分類情報決定部は、前記学習結果データと、前記分類対象の名称に基づいて前記形態素ペア決定部によって決定された前記形態素ペアと、に基づいて、前記分類対象の名称の前記第1分類情報を決定する、分類装置である。
【0011】
本発明の一態様は、学習対象の文字列を形態素に分割する形態素解析部と、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、分類対象の文字列がいずれの第1分類情報に分類されるかを表す割合を含む学習結果データを生成する学習結果データ生成部と、を備える、学習装置である。
【0012】
本発明の一態様は、分類装置が、分類対象の文字列を形態素に分割する形態素解析ステップと、分類装置が、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、前記分類対象の文字列がいずれの第1分類情報に分類されるかを表す割合を含む学習結果データを記録する学習結果データ記憶部から前記学習結果データを取得し、前記学習結果データと、前記分類対象の文字列から前記形態素解析ステップにおいて分割された前記形態素とに基づいて、前記分類対象の文字列の前記第1分類情報を決定する第1分類情報決定ステップと、を有する、分類方法である。
【0013】
本発明の一態様は、学習装置が、学習対象の文字列を形態素に分割する形態素解析ステップと、学習装置が、学習対象の文字列の特徴を示す情報として前記学習対象の文字列に付与された第1分類情報前記学習対象の文字列とを含む複数の訓練データに基づいて所定の機械学習をすることで前記学習対象の文字列に含まれる形態素毎に、分類対象の文字列がいずれの第1分類情報に分類されるかを表す割合を含む学習結果データを生成する学習結果データ生成ステップと、を有する、学習方法である。
【0014】
本発明の一態様は、上記の分類装置としてコンピュータを機能させるためのコンピュータプログラム。
【0015】
本発明の一態様は、上記の学習装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の効果】
【0016】
本発明により、より簡単に情報を分類することが可能となる。
【図面の簡単な説明】
【0017】
図1】第1の実施形態の情報処理装置100の機能構成を表す機能ブロック図である。
図2】訓練データテーブルの一具体例を示す図である。
図3】置換データテーブルの一具体例を示す図である。
図4】分類情報テーブルの一具体例を示す図である。
図5】マスタ情報テーブルの一具体例を示す図である。
図6】形態素解析の一具体例を示す図である。
図7】形態素に基づいて生成された第1カテゴリ行列の一具体例を示す図である。
図8】形態素ペアに基づいて生成された第1カテゴリ行列の一具体例を示す図である。
図9】形態素に基づいて生成された第2カテゴリ行列の一具体例を示す図である。
図10】形態素ペアに基づいて生成された第2カテゴリ行列の一具体例を示す図である。
図11】第1の実施形態の情報処理装置100のカテゴリ行列の生成の処理の流れを示すフローチャートである。
図12】第1の実施形態の情報処理装置100の分類処理の流れを示すフローチャートである。
図13】第1の実施形態の情報処理装置100の分類情報の決定の処理の流れを示すフローチャートである。
図14】第1の実施形態の情報処理装置100の分類情報の決定の処理の流れを示すフローチャートである。
図15】第2の実施形態の情報処理装置100aの機能構成を表す機能ブロック図である。
【発明を実施するための形態】
【0018】
図1は、第1の実施形態の情報処理装置100の機能構成を表す機能ブロック図である。情報処理装置100は、パーソナルコンピュータ、サーバ、スマートフォン又はタブレットコンピュータ等の装置である。情報処理装置100は、入力された文字列情報に対して、任意の文字列情報の特徴を示す情報を付与する。文字列情報は、文章、単語又は数字等の文字であればどのような情報であってもよい。本実施形態の文字列情報は、例えば、売買によって発行されたレシートをOCR(Optical Character Recognition)で読み取られた情報を想定して説明する。本実施形態では、文字列情報は、売買に関する商品名、販売数、販売高を少なくとも含む情報であるとして説明するが、これに限定されない。文字列情報は、例えば、ユーザによって入力された文字列であってもよいし、インターネット等から取得された文字列であってもよい。
【0019】
情報処理装置100は、バスで接続されたプロセッサやメモリや補助記憶装置などを備え、分類プログラム又は学習プログラムを実行することによって、通信部101、入力部102、表示部103、訓練データ記憶部104、置換データ記憶部105、分類情報記憶部106、カテゴリ行列記憶部107、マスタ情報記憶部108及び制御部109を備える装置として機能する。なお、情報処理装置100の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。分類プログラム又は学習プログラムプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。分類プログラム又は学習プログラムプログラムは、電気通信回線を介して送信されてもよい。
【0020】
通信部101は、ネットワークインタフェースである。通信部101はネットワークを介して、外部の装置と通信する。外部の装置とは、例えば、パーソナルコンピュータ、サーバ、スマートフォン、タブレットコンピュータ等の装置であってもよいし、画像形成装置又は画像処理装置等であってもよい。通信部101は、例えば無線LAN(Local Area Network)、有線LAN、Bluetooth(登録商標)又はLTE(Long Term Evolution)(登録商標)等の通信方式で通信してもよい。
【0021】
入力部102は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部102は、入力装置を情報処理装置100に接続するためのインタフェースであってもよい。この場合、入力部102は、入力装置において入力された入力信号から入力データ(例えば、情報処理装置100に対する指示を示す指示情報)を生成し、情報処理装置100に入力する。
【0022】
表示部103は、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の出力装置である。表示部103は、出力装置を情報処理装置100に接続するためのインタフェースであってもよい。この場合、表示部103は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。
【0023】
訓練データ記憶部104は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。訓練データ記憶部104は、訓練データテーブルを記憶する。訓練データテーブルは、学習結果データを生成するために用いられる文字列情報を記録するテーブルである。入力された文字列情報に付与された第1分類情報及び第2分類情報を記録するテーブルである。
【0024】
図2は、訓練データテーブルの一具体例を示す図である。訓練データテーブルは、訓練データレコードを有する。訓練データレコードは、年月、店舗名、商品名、第1分類情報、第2分類情報、販売高及び販売数の各値を有する。年月は、文字列情報に含まれる情報である。年月は、売買がされた年月を表す。店舗名は、文字列情報に含まれる情報である。店舗名は、売買がされた店舗の名称を表す。商品名は、文字列情報に含まれる情報である。商品名は、売買がされた商品の名称を表す。商品名には、OCRによって、誤って認識された文字が含まれてもよい。第1分類情報は、商品名がどのようなカテゴリに含まれる商品であるかを表す。第2分類情報は、第1分類情報に基づいて、商品名をより具体的に説明する情報を表す。第1分類情報及び第2分類情報は1:nの関係で、対応付けられる。第1分類情報と第2分類情報とは、入力部102を介してユーザによって指定されてもよい。第1分類情報と第2分類情報との組み合わせは、一意に定められる。販売高は、商品名に表される商品の販売された金額を表す。販売数は、商品名に表される商品の販売された数を表す。
【0025】
図2に示される例では、訓練データテーブルの最上段の訓練データレコードは、年月の値が“201706”、店舗名の値が“店舗200”、商品名の値が“d手巷おにぎり日高昆布”、第1分類情報の値が“食品”、第2分類情報の値が“米類”、販売高の値が“330”、販売数の値が“3”である。従って、訓練データテーブルの最上段の訓練データレコードによると、入力された文字列情報の年月が“2017年6月”であり、店舗名が“店舗200”であり、商品名が“d手巷おにぎり日高昆布”である場合、第1分類情報として“食品”、第2分類情報として“米類”が付与されることがわかる。また、商品名“d手巷おにぎり日高昆布”の販売高は“330”であり、販売数は“3”であることがわかる。なお、図2に示される訓練データテーブルは一具体例に過ぎない。そのため、図2とは異なる態様で訓練データテーブルが構成されてもよい。例えば、訓練データテーブルは、第2分類情報を有しなくてもよいし、第3分類情報を有するように構成されてもよい。
【0026】
図2に戻り、情報処理装置100の説明を続ける。置換データ記憶部105は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。置換データ記憶部105は、置換データテーブルを記憶する。置換データテーブルは、文字を異なる文字に置き換える規則を記録するテーブルである。
【0027】
図3は、置換データテーブルの一具体例を示す図である。置換データテーブルは、置換データレコードを有する。置換データレコードは、置換前及び置換後の各値を有する。置換前は、置換前の文字を表す。置換後は、置換前の文字が置換される文字を表す。
【0028】
図3に示される例では、置換データテーブルの最上段の置換データレコードは、置換前の値が“手巷”、置換後の値が“手巻”である。従って、置換データテーブルの最上段の置換データレコードによると、与えられた文字が“手巷”である場合、“手巷”は“手巻”に置き換えられることがわかる。なお、図3に示される置換データテーブルは一具体例に過ぎない。そのため、図3とは異なる態様で置換データテーブルが構成されてもよい。
【0029】
図2に戻り、情報処理装置100の説明を続ける。分類情報記憶部106は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。分類情報記憶部106は、分類情報テーブルを記憶する。分類情報テーブルは、第1分類情報と第2分類情報との対応付けを記録するテーブルである。
【0030】
図4は、分類情報テーブルの一具体例を示す図である。分類情報テーブルは、分類情報レコードを有する。分類情報レコードは、第1分類情報及び第2分類情報の各値を有する。図4に示される例では、分類情報テーブルの最上段の分離情報レコードは、第1分類情報の値が“食品”、第2分類情報の値が“米類”、“麺類”、“パン類”、“肉類”、“野菜類”、・・・である。従って、分類情報テーブルの最上段の分類情報レコードによると、第1分類情報として“食品”が付与された場合、第2分類情報として、“米類”、“麺類”、“パン類”、“肉類”、“野菜類”、・・・のいずれかが付与されることがわかる。なお、図4に示される分類情報テーブルは一具体例に過ぎない。そのため、図4とは異なる態様で分類情報テーブルが構成されてもよい。
【0031】
図2に戻り、情報処理装置100の説明を続ける。カテゴリ行列記憶部107は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。カテゴリ行列記憶部107は、第1カテゴリ行列又は第2カテゴリ行列を記憶する。第1カテゴリ行列は、文字列情報に対して付与される第1分類情報を決定するための第1決定情報に関連する値を保持する行列である。第1決定情報は、訓練データに含まれる文字列情報に対して付与された第1分類情報の分類結果の頻度を表す情報である。第2カテゴリ行列は、文字列情報に対して付与される第2分類情報を決定するための第2決定情報に関連する値を保持する行列である。第2決定情報は、訓練データに含まれる文字列情報に対して付与された第2分類情報の分類結果の頻度を表す情報である。第1カテゴリ行列及び第2カテゴリ行列の詳細な説明に関しては後述する。カテゴリ行列記憶部107は、学習結果データ記憶部の一態様である。
【0032】
マスタ情報記憶部108は、磁気ハードディスク装置や半導体記憶装置等の記憶装置を用いて構成される。マスタ情報記憶部108は、マスタ情報テーブルを記憶する。マスタ情報テーブルは、文字列情報と文字列情報に付与された第1分類情報又は第2分類情報との対応関係が記録されるテーブルである。
【0033】
図5は、マスタ情報テーブルの一具体例を示す図である。マスタ情報テーブルは、マスタ情報レコードを有する。マスタ情報レコードは、商品名、第1分類情報及び第2分類情報の各値を有する。商品名は、商品の名前を表す。商品名は、文字列情報の一態様である。第1分類情報は、商品名に付与された第1分類情報を表す。第2分類情報は、商品名に付与された第2分類情報を表す。
【0034】
図5に示される例では、マスタ情報テーブルの最上段のマスタ情報レコードは、商品名の値が“手巻おにぎり日高昆布”、第1分類情報の値が“食品”、第2分類情報の値が“米類”である。従って、マスタ情報テーブルの最上段のマスタ情報レコードによると、与えられた文字列情報が“手巻おにぎり日高昆布”である場合、第1分類情報は“食品”であり、第2分類情報は“米類”であることがわかる。なお、図5に示されるマスタ情報テーブルは一具体例に過ぎない。そのため、図5とは異なる態様でマスタ情報テーブルが構成されてもよい。例えば、マスタ情報テーブルは、商品名が、文字列情報として与えられた回数を記憶するように構成されてもよい。
【0035】
図2に戻り、情報処理装置100の説明を続ける。制御部109は、情報処理装置100の各部の動作を制御する。制御部109は、例えばプロセッサ及びメモリを備えた装置により実行される。制御部109は、分類プログラム又は学習プログラムを実行することによって、データ取得部110、形態素解析部111、形態素置換部112、形態素ペア決定部113、学習部114及び分類部115として機能する。
【0036】
データ取得部110は、文字列情報を取得する。データ取得部110は、文字列情報を入力部102を介して受け付けてもよいし、通信部101から受け付けてもよい。データ取得部110は、例えば、売買のレシート等をOCRで読み取った情報を文字列情報として取得してもよい。データ取得部110は、取得した文字列情報を分類部115に出力する。データ取得部110は、取得した文字列情報を訓練データ記憶部104に記録してもよい。
【0037】
形態素解析部111は、文字列情報に対して形態素解析を行う。形態素解析は、文字列情報を形態素に分解する処理である。形態素解析は、分解された形態素に対して品詞を判別する処理である。形態素解析には、公知のアルゴリズムが用いられてもよい。形態素は、文字列情報が分割されることで得られる。形態素は、何らかの意味を持つ最小単位の文字である。
【0038】
形態素置換部112は、所定の形態素を、異なる形態素に置き換える。所定の形態素は、置換データテーブルの置換前カラムに保持される形態素である。形態素置換部112は、形態素が置換データテーブルの置換前カラムに記憶されているか否かを判定する。形態素が置換前カラムに記憶されている場合、形態素置換部112は、形態素を置換後カラムの形態素に置換する。形態素が置換前カラムに記憶されていない場合、形態素置換部112は、形態素を異なる形態素に置換しない。
【0039】
図6は、形態素解析の一具体例を示す図である。図6では、文字列情報として“d手巷おにぎり日高昆布”が取得された場合を説明する。形態素解析部111は、文字列情報を形態素に分割する。形態素解析部111は、“d手巷おにぎり日高昆布”を“d”、“手巷”、“おにぎり”、“日高”及び“昆布”の形態素に分解する。形態素置換部112は、形態素が置換データテーブルの置換前カラムに、記憶されているか否かを判定する。図3及び図6によると形態素置換部112は、形態素“手巷”を、“手巻”に置換する。形態素解析部111は、形態素毎に、品詞を判別する。図6によると、形態素解析部111は、dを、“記号”、手巻を、“名詞”、おにぎりを、“名詞”、日高を、“名詞”、昆布を、“名詞”であると判別する。なお、形態素解析部111は、記号と判別された形態素を削除する。
【0040】
図2に戻り、情報処理装置100の説明を続ける。形態素ペア決定部113は、形態素ペアを決定する。形態素ペアは、分解された形態素のうち、文字列情報の先頭及び末尾に位置づけられる形態素の組み合わせである。例えば、文字列情報が“d手巻おにぎり日高昆布”である場合、形態素は、“d”、“手巻”、“おにぎり”、“日高”及び“昆布”である。“d”は、記号であるため削除される。したがって、形態素ペア決定部113は、“手巻”及び“昆布”を形態素ペアとして決定する。形態素ペア決定部113は、形態素解析部111から受け付けた形態素に基づいて、形態素ペアを決定する。
【0041】
学習部114は、学習プログラムを実行することで、第1カテゴリ行列生成部116及び第2カテゴリ行列生成部117として機能する。分類部115は、分類プログラムを実行することで、マスタ情報検索部118、第1分類情報決定部119、第2分類情報決定部120及びマスタ情報生成部121として機能する。
【0042】
第1カテゴリ行列生成部116は、形態素又は形態素ペアに基づいて、所定の機械学習によって第1カテゴリ行列を生成する。形態素は、形態素解析部111によって分解された形態素が用いられてもよい。第1カテゴリ行列は、形態素に付与された第1分類情報の頻度を表す行列である。本機械学習によって生成された第1カテゴリ行列は、第1学習結果データの一態様である。形態素ペアは、形態素ペア決定部113によって決定された形態素ペアが用いられてもよい。まず、第1カテゴリ行列生成部116が、形態素に基づく第1カテゴリ行列を生成する場合の機械学習について説明する。
【0043】
第1カテゴリ行列生成部116は、分類情報記憶部106に記憶される分類情報テーブルから、第1分類情報を取得する。第1カテゴリ行列生成部116は、形態素解析部111から形態素を取得する。形態素解析部111は、訓練データ記憶部104に記憶される訓練データテーブルの商品名カラムに対して形態素解析を行うことで、形態素を生成する。形態素解析部111は、生成した形態素を第1カテゴリ行列生成部116に出力する。第1カテゴリ行列生成部116は、第1カテゴリ行列の行として第1分類情報を、第1カテゴリ行列の列として形態素を、設定する。
【0044】
第1カテゴリ行列生成部116は、取得した各形態素の数を計数する。例えば、第1カテゴリ行列生成部116は、形態素解析部111から形態素“手巻”を取得した数が“3”である場合、形態素“手巻”の数は“3”と計数する。第1カテゴリ行列生成部116は、形態素毎に、各第1分類情報に属する形態素の割合を算出する。第1分類情報の値は、訓練データテーブルにて、商品名に対応付けられた第1分類情報が用いられる。具体的には、第1カテゴリ行列生成部116は、形態素毎に、各第1分類情報に対応付けられた形態素の個数を、その形態素の計数された総数で除算することで、割合を算出する。例えば、形態素“手巻”の総数が7であり、そのうち、第1分類情報“食品”に対応付けられた形態素“手巻”が6、第1分類情報“書籍”に対応付けられた形態素“手巻”が1である場合、第1カテゴリ行列生成部116は、“食品”に属する形態素の割合は、“0.86”、“書籍”に属する形態素の割合は、“0.14”、他の第1分類情報に属する形態素の割合は、“0.00”であると算出する。第1カテゴリ行列生成部116は、算出された値を、第1カテゴリ行列の各セルに設定する。第1カテゴリ行列生成部116は、第1カテゴリ行列をカテゴリ行列記憶部107に記録する。なお、第1カテゴリ行列生成部116は、割合を算出するに当たり、販売数を考慮するように構成されてもよい。例えば、第1カテゴリ行列生成部116は、訓練データテーブルに販売数として“3”が記録されている場合、形態素の数を“3”として計数してもよい。
【0045】
図7は、形態素に基づいて生成された第1カテゴリ行列の一具体例を示す図である。第1カテゴリ行列の行は、“形態素”、“食品”、“飲料”、“書籍”、“文具”、“日用品”、・・・等の第1分類情報が表される。第1カテゴリ行列の列は、“塩”、“文芸”、“カツ”、“バナナ”、“ラーメン”、・・・等の形態素が表される。
【0046】
図7に示される例では、第1カテゴリ行列の最上段の行では、形態素の値が“塩”、食品の値が“0.42”、飲料の値が“0.33”、書籍の値が“0.01”、文具の値が“0.02”、日用品の値が“0.04”、・・・である。従って、第1カテゴリ行列の最上段の行によると、形態素に“塩”が含まれる場合、食品である可能性は“0.42”、飲料である可能性は“0.33”、書籍である可能性は“0.01”、文具である可能性は“0.02”、日用品である可能性は“0.04”、・・・であることがわかる。
【0047】
次に、第1カテゴリ行列生成部116が、形態素ペアに基づく第1カテゴリ行列を生成する場合の機械学習について説明する。本機械学習により生成された第1カテゴリ行列は、第2学習結果データの一態様である。第1カテゴリ行列生成部116は、形態素ペア決定部113から形態素ペアを取得する。第1カテゴリ行列生成部116は、第1カテゴリ行列の行として第1分類情報を、第1カテゴリ行列の列として形態素ペアを、設定する。
【0048】
第1カテゴリ行列生成部116は、取得した各形態素ペアの数を計数する。例えば、第1カテゴリ行列生成部116は、形態素ペア“手巻”、“昆布”を取得した数が“3”である場合、形態素ペア“手巻”、“昆布”の数は“3”と計数する。第1カテゴリ行列生成部116は、形態素ペア毎に、各第1分類情報に属する形態素ペアの割合を算出する。具体的には、第1カテゴリ行列生成部116は、各形態素ペアに対して、各第1分類情報に対応付けられた形態素ペアの個数を、その形態素ペアの計数された総数で除算することで、割合を算出する。例えば、形態素ペア“手巻”、“昆布”の総数が3であり、そのうち、第1分類情報“食品”に対応付けられた形態素ペア“手巻”、“昆布”が3である場合、“食品”に属する形態素ペアの割合は、“1.00”であり、他の第1分類情報に属する形態素ペアの割合は、“0.00”である。第1カテゴリ行列生成部116は、算出された割合を、第1カテゴリ行列の各セルに設定する。第1カテゴリ行列生成部116は、第1カテゴリ行列をカテゴリ行列記憶部107に記録する。なお、第1カテゴリ行列生成部116は、割合を算出するに当たり、販売数を考慮するように構成されてもよい。例えば、第1カテゴリ行列生成部116は、訓練データテーブルに販売数として“3”が記録されている場合、形態素の数を“3”として計数してもよい。
【0049】
図8は、形態素ペアに基づいて生成された第1カテゴリ行列の一具体例を示す図である。第1カテゴリ行列の行は、“第1形態素”、“第2形態素”、“食品”、“飲料”、“書籍”、“文具”、“日用品”、・・・等の第1分類情報が表される。第1カテゴリ行列の列は、第1形態素の列が“A社”、“A社”、“A社”、“B社”、・・・等、第2形態素の列が“ヌードル”、“焼きそば”、“ミニ”、“ペン”・・・等が表される。第1形態素は、形態素ペアのうち、先頭の形態素を表す。第2形態素は、形態素ペアのうち末尾の形態素を表す。
【0050】
図8に示される例では、第1カテゴリ行列の最上段の行では、第1形態素の値が“A社”、第2形態素の値が“ヌードル”、食品の値が“0.97”、飲料の値が“0.01”、書籍の値が“0.01”、文具の値が“0.00”、日用品の値が“0.00”、・・・である。従って、第1カテゴリ行列の最上段の行によると、形態素ペアが“A社”、“ヌードル”である場合、食品である可能性は“0.97”、飲料である可能性は“0.01”、書籍である可能性は“0.01”、文具である可能性は“0.00”、日用品である可能性は“0.00”、・・・であることがわかる。
【0051】
第2カテゴリ行列生成部117は、形態素又は形態素ペアと第1カテゴリ行列生成部116によって生成された第1カテゴリ行列とに基づいて、所定の機械学習によって第2カテゴリ行列を生成する。形態素は、形態素解析部111によって分解された形態素が用いられてもよい。第2カテゴリ行列は、形態素に付与された第2分類情報の頻度を表す行列である。本機械学習によって生成された第2カテゴリ行列は、第3学習結果データの一態様である。形態素ペアは、形態素ペア決定部113によって決定された形態素ペアが用いられてもよい。まず、第2カテゴリ行列生成部117が、形態素に基づく第2カテゴリ行列を生成する場合の機械学習について説明する。
【0052】
第2カテゴリ行列生成部117は、分類情報記憶部106に記憶される分類情報テーブルから、決定された第1分類情報に対応付けられた第2分類情報を取得する。第2カテゴリ行列生成部117は、形態素解析部111から形態素を取得する。第2カテゴリ行列生成部117は、第1カテゴリ行列の行として第2分類情報を、第2カテゴリ行列の列として形態素を、設定する。
【0053】
第2カテゴリ行列生成部117は、取得した各形態素の数を、第2分類情報毎に計数する。例えば、第2カテゴリ行列生成部117は、第2分類情報が“米類”である形態素“手巻”を取得した数が“1”である場合、形態素“手巻”の第2分類情報“米類”の数は“1”と計数する。さらに、第2カテゴリ行列生成部117は、第2分類情報が“麺類”である形態素“手巻”を取得した数が“0”である場合、形態素“手巻”の第2分類情報“麺類”の数は“0”と計数する。第2カテゴリ行列生成部117は、計数された値を、第2カテゴリ行列の各セルに設定する。第2カテゴリ行列生成部117は、第2カテゴリ行列をカテゴリ行列記憶部107に記録する。なお、第2カテゴリ行列生成部117は、計数するに当たり、販売数を考慮するように構成されてもよい。例えば、第2カテゴリ行列生成部117は、訓練データテーブルに第2分類情報が“米類”である形態素“手巻”の販売数として“3”が記録されている場合、形態素の数を“3”として計数してもよい。
【0054】
図9は、形態素に基づいて生成された第2カテゴリ行列の一具体例を示す図である。第2カテゴリ行列の行は、“形態素”、“米類”、“麺類”、“パン類”、“肉類”、“野菜類”、・・・等の第1分類情報“食品”に対応付けられた第2分類情報が表される。第1カテゴリ行列の列は、“焼きそば”、“チャーシュー”、“とんこつ”、“二八”、“ミート”、・・・等の形態素が表される。
【0055】
図9に示される例では、第1カテゴリ行列の最上段の行では、形態素の値が“焼きそば”、米類の値が“0”、麺類の値が“12”、パン類の値が“6”、肉類の値が“2”、野菜類の値が“3”、・・・である。従って、第1カテゴリ行列の最上段の行によると、形態素に“焼きそば”が含まれる場合、米類である可能性は“0”、麺類である可能性は“12”、パン類である可能性は“6”、肉類である可能性は“2”、野菜類である可能性は“3”、・・・であることがわかる。
【0056】
次に、第2カテゴリ行列生成部117が、形態素ペアに基づく第2カテゴリ行列を生成する場合の機械学習について説明する。本機械学習によって生成された第2カテゴリ行列は、第4学習結果データの一態様である。第2カテゴリ行列生成部117は、形態素ペア決定部113から形態素ペアを取得する。第2カテゴリ行列生成部117は、第2カテゴリ行列の行として第2分類情報を、第2カテゴリ行列の列として形態素ペアを、設定する。
【0057】
第2カテゴリ行列生成部117は、取得した各形態素ペアの数を、第2分類情報毎に計数する。第2分類情報は、取得した形態素ペアに関する文字列情報に付与された第1分類情報に対応付けられる分類情報である。例えば、第2カテゴリ行列生成部117は、第2分類情報が“米類”、形態素ペア“手巻”、“昆布”を取得した数が“1”である場合、第2分類情報が“米類”に関する形態素ペア“手巻”、“昆布”の数は“1”と計数する。また、第2カテゴリ行列生成部117は、第2分類情報が“麺類”、形態素ペア“手巻”、“昆布”を取得したが“0”である場合、第2分類情報が“麺類”に関する形態素ペア“手巻”、“昆布”の数は“0”と計数する。第2カテゴリ行列生成部117は、計数した値を、第2カテゴリ行列に設定する。第2カテゴリ行列生成部117は、第2カテゴリ行列をカテゴリ行列記憶部107に記録する。なお、第2カテゴリ行列生成部117は、計数するに当たり、販売数を考慮するように構成されてもよい。例えば、第2カテゴリ行列生成部117は、訓練データテーブルに第2分類情報が“米類”である形態素“手巻”の販売数として“3”が記録されている場合、形態素の数を“3”として計数してもよい。
【0058】
図10は、形態素ペアに基づいて生成された第2カテゴリ行列の一具体例を示す図である。第2カテゴリ行列の行は、“第1形態素”、“第2形態素”、“米類”、“麺類”、“パン類”、“肉類”、“野菜類”、・・・等の第1分類情報に対応付けられた第2分類情報が表される。第1カテゴリ行列の列は、第1形態素の列が“A社”、“A社”、“A社”、“A社”、“B社”、・・・等、第2形態素の列が“ヌードル”、“焼きそば”、“ミニ”、“しょうゆ”・・・等が表される。第1形態素は、形態素ペアのうち、先頭の形態素を表す。第2形態素は、形態素ペアのうち末尾の形態素を表す。
【0059】
図9に示される例では、第1カテゴリ行列の最上段の行では、第1形態素の値が“A社”、第2形態素の値が“ヌードル”、米類の値が“0”、麺類の値が“9”、パン類の値が“0”、肉類の値が“0”、野菜類の値が“0”、・・・である。従って、第2カテゴリ行列の最上段の行によると、形態素ペアが“A社”、“ヌードル”である場合、米類である可能性は“0”、麺類である可能性は“9”、パン類である可能性は“0”、肉類である可能性は“0”、野菜類である可能性は“0”、・・・であることがわかる。
【0060】
マスタ情報検索部118は、マスタ情報テーブルが備える所定のカラムに、文字列情報が含まれるか否かを判定する。マスタ情報検索部118は、所定のカラムに記録される文字列と文字列情報とが一致する場合、文字列情報が含まれると判定する。マスタ情報検索部118は、所定のカラムに記録される文字列と文字列情報とが一致しない場合、文字列情報が含まれないと判定する。所定のカラムは、ユーザによって予め指定される。ユーザは、例えば商品の購入者であってもよいし、情報処理装置100を運用する者であってもよい。本実施形態の場合、所定のカラムは、訓練データテーブルが備える“商品名”カラムである。所定のカラムは1つであってもよいし、複数であってもよい。
【0061】
第1分類情報決定部119は、形態素又は形態素ペアとカテゴリ行列記憶部107に記憶された第1カテゴリ行列に基づいて、文字列情報に対する第1分類情報を決定する。まず、第1分類情報決定部119が、形態素に基づく第1カテゴリ行列に基づいて第1分類情報を決定する場合について説明する。第1分類情報決定部119は、第1カテゴリ行列から形態素解析部111によって解析された形態素の行を特定する。第1分類情報決定部119は、第1カテゴリ行列の列毎に特定された形態素の行の値を加算して合計値を算出する。第1分類情報決定部119は、算出された合計値のうち、最も大きな値を第1分類情報に決定する。
【0062】
図7に基づいて、文字列情報“塩ラーメン”が与えられた場合について説明する。形態素解析部111は、“塩ラーメン”を形態素“塩”及び“ラーメン”に分解する。第1分類情報決定部119は、形態素に基づく第1カテゴリ行列から、形態素“塩”及び“ラーメン”に関する行を特定する。形態素“塩”の場合、食品の割合は“0.42”、飲料の割合は“0.33”、書籍の割合は“0.01”、文具の割合は“0.02”、日用品の割合は“0.04”・・・である。形態素“ラーメン”の場合、食品の割合は“0.48”、飲料の割合は“0.22”、書籍の割合は“0.08”、文具の割合は“0.05”、日用品の割合は“0.06”・・・である。したがって、第1分類情報決定部119は、各列毎に和を算出する。図7によると、食品の値が“0.90”となり、最大となるため、第1分類情報決定部119は、文字列情報“塩ラーメン”の第1分類情報を“食品”に決定する。
【0063】
次に、第1分類情報決定部119が、形態素ペアに基づく第1カテゴリ行列に基づいて第1分類情報を決定する場合について説明する。第1分類情報決定部119は、第1カテゴリ行列から形態素ペア決定部113によって決定された形態素ペアの行を特定する。第1分類情報決定部119は、特定された行の各列の値のうち、最も大きな値を第1分類情報に決定する。
【0064】
図8に基づいて、文字列情報“A社塩ヌードル”が与えられた場合について説明する。形態素解析部111は、“A社塩ヌードル”を形態素“A社”、“塩”及び“ヌードル”に分解する。形態素ペア決定部113は、形態素ペアを“A社”及び“ヌードル”に決定する。第1分類情報決定部119は、形態素ペアに基づく第1カテゴリ行列から、形態素ペア“A社”及び“ヌードル”に関する行を特定する。形態素ペア“A社”及び“ヌードル”の場合、食品の割合は“0.97”、飲料の割合は“0.01”、書籍の割合は“0.01”、文具の割合は“0.00”、日用品の割合は“0.00”・・・である。したがって、図8によると、食品の値が“0.97”となり、最大となるため、第1分類情報決定部119は、文字列情報“A社塩ヌードル”の第1分類情報を“食品”に決定する。
【0065】
なお、第1分類情報決定部119は、第1分類情報を決定するにあたり、形態素ペアの決定結果を優先するように構成されてもよいし、形態素の決定結果を優先するように構成されてもよい。例えば、第1分類情報決定部119は、形態素ペアの第1カテゴリ行列で算出された値のうち最も大きな値が第1閾値以上の値である場合、形態素ペアで決定された第1分類情報に決定してもよい。第1閾値は、例えば0.95であってもよいし、どのような値であってもよい。また、第1分類情報決定部119は、形態素ペアに基づく第1カテゴリ行列で算出された値のうち、最も大きな値が第2閾値以上第1閾値未満である場合、形態素に基づく第1カテゴリ行列の算出結果のうち、形態素ペアで決定された第1分類情報に対して所定の数値を加算してもよい。所定の数値は例えば、0.1であってもよいし、形態素ペアに基づく第1カテゴリ行列で算出された値であってもよいし、形態素ペアの第1カテゴリ行列で算出された値に数値計算を施して、求められた値であってもよい。第2閾値は、例えば、0.66であってもよいし、どのような値であってもよい。第1閾値及び第2閾値は、予めユーザによって指定されてもよい。
【0066】
第2分類情報決定部120は、形態素又は形態素ペアとカテゴリ行列記憶部107に記憶された第2カテゴリ行列に基づいて、文字列情報に対する第2分類情報を決定する。まず、第2分類情報決定部120が、形態素に基づく第2カテゴリ行列に基づいて第2分類情報を決定する場合について説明する。第2分類情報決定部120は、第2カテゴリ行列から形態素解析部111によって解析された形態素の行を特定する。第2分類情報決定部120は、第2カテゴリ行列の列毎に特定された形態素の行の値を加算して合計値を算出する。第2分類情報決定部120は、算出された合計値のうち、最も大きな値を第2分類情報に決定する。
【0067】
図9に基づいて、文字列情報“塩ラーメン”が与えられた場合について説明する。形態素解析部111は、“塩ラーメン”を形態素“塩”及び“ラーメン”に分解する。第2分類情報決定部120は、形態素に基づく第2カテゴリ行列から、形態素“塩”及び“ラーメン”に関する行を特定する。形態素“塩”の場合、米類の値は“2”、麺類の値は“8”、パン類の値は“3”、肉類の値は“2”、野菜類の値は“3”・・・である。形態素“ラーメン”の場合、米類の値は“1”、麺類の値は“13”、パン類の値は“0”、肉類の値は“4”、野菜類の値は“5”・・・である。したがって、第2分類情報決定部120は、列毎に和を算出する。図9によると、麺類の値が“21”となり、最大となるため、第2分類情報決定部120は、文字列情報“塩ラーメン”の第2分類情報を“麺類”に決定する。
【0068】
次に、第2分類情報決定部120が、形態素ペアに基づく第2カテゴリ行列に基づいて第2分類情報を決定する場合について説明する。第2分類情報決定部120は、第2カテゴリ行列から形態素ペア決定部113によって決定された形態素ペアの行を特定する。第2分類情報決定部120は、特定された行の各列の値のうち、最も大きな値を第2分類情報に決定する。
【0069】
図10に基づいて、文字列情報“A社塩ヌードル”が与えられた場合について説明する。文字列情報“A社塩ヌードル”の形態素ペアは、“A社”及び“ヌードル”である。第2分類情報決定部120は、形態素ペアに基づく第2カテゴリ行列から、形態素ペア“A社”及び“ヌードル”に関する行を特定する。形態素ペア“A社”及び“ヌードル”の場合、米類の値は“0”、麺類の値は“9”、パン類の値は“0”、肉類の値は“0”、野菜類の値は“0”・・・である。したがって、図10によると、麺類の値が“9”となり、最大となるため、第2分類情報決定部120は、文字列情報“A社塩ヌードル”の第2分類情報を“麺類”に決定する。
【0070】
なお、第2分類情報決定部120は、第2分類情報を決定するにあたり、形態素ペアの決定結果を優先するように構成されてもよいし、形態素の決定結果を優先するように構成されてもよい。例えば、第2分類情報決定部120は、形態素ペアの第2カテゴリ行列で、最大の値となった第2分類情報の割合が、第3閾値以上の値を有する場合、形態素ペアで決定された第2分類情報に決定してもよい。第3閾値は、例えば0.95であってもよいし、どのような値であってもよい。最大の値となった第2分類情報の割合とは、最大の値となった第2分類情報の値を、各第2分類情報の値の総和で除算した値である。また、第2分類情報決定部120は、形態素ペアの第2カテゴリ行列で、最大の値となった第2分類情報の割合が、第3閾値以上、第4閾値未満である場合、形態素ペアで決定された第2分類情報に対して、形態素の第2カテゴリ行列の算出結果に対して、所定の数値を加算してもよい。所定の数値は例えば、100であってもよいし、形態素ペアの第2カテゴリ行列で算出された値であってもよいし、形態素ペアの第2カテゴリ行列で算出された値に数値計算を施して、求められた値であってもよい。第4閾値は、例えば、0.66であってもよいし、どのような値であってもよい。第3閾値及び第4閾値は、予めユーザによって指定されてもよい。
【0071】
マスタ情報生成部121は、マスタ情報レコードを生成する。マスタ情報生成部121は、決定された第1分類情報及び第2分類情報と取得された文字列情報に基づいて、マスタ情報レコードを生成する。マスタ情報生成部121は、マスタ情報レコードを、マスタ情報テーブルに記録する。
【0072】
図11は、第1の実施形態の情報処理装置100のカテゴリ行列の生成の処理の流れを示すフローチャートである。データ取得部110は、訓練データ記憶部104から訓練データを取得する(ステップS101)。形態素解析部111は、文字列情報に対して形態素解析を行う(ステップS102)。形態素置換部112は、分解された形態素が置換データテーブルの置換前カラムに記憶されている場合、形態素を置換後カラムの形態素に置換する(ステップS103)。形態素解析部111は、形態素の品詞を判別する。形態素解析部111は、“記号”と判別された形態素を削除する(ステップS104)。形態素ペア決定部113は、形態素のうち、文字列情報の先頭及び末尾に位置づけられる形態素の組み合わせを形態素ペアとして決定する(ステップS105)。
【0073】
第1カテゴリ行列生成部116は、形態素及び形態素ペアに基づいて、第1カテゴリ行列を生成する(ステップS106)。第1カテゴリ行列生成部116は、生成した第1カテゴリ行列をカテゴリ行列記憶部107に記録する(ステップS107)。第2カテゴリ行列生成部117は、形態素及び形態素ペアと第2分類情報とに基づいて第2カテゴリ行列を生成する(ステップS108)。第2カテゴリ行列生成部117は、生成した第2カテゴリ行列をカテゴリ行列記憶部107に記録する(ステップS109)。
【0074】
図12は、第1の実施形態の情報処理装置100の分類処理の流れを示すフローチャートである。データ取得部110は、通信部101又は入力部102を介して文字列情報を取得する(ステップS201)。マスタ情報検索部118は、マスタ情報テーブルの所定のカラムに、文字列情報が含まれるか否かを判定する(ステップS202)。所定のカラムは、例えば、商品名である。文字列情報が含まれる場合(ステップS202:YES)、情報処理装置100は、処理を終了する。文字列情報が含まれない場合(ステップS202:NO)、分類部115は、分類情報を決定する(ステップS203)。
【0075】
図13及び図14は、第1の実施形態の情報処理装置100の分類情報の決定の処理の流れを示すフローチャートである。データ取得部110は、通信部101又は入力部102を介して文字列情報を取得する(ステップS301)。形態素解析部111は、文字列情報に対して形態素解析を行う(ステップS302)。形態素置換部112は、分解された形態素が置換データテーブルの置換前カラムに記憶されている場合、形態素を置換後カラムの形態素に置換する(ステップS303)。形態素解析部111は、形態素の品詞を判別する。形態素解析部111は、“記号”と判別された形態素を削除する(ステップS304)。形態素ペア決定部113は、形態素のうち、文字列情報の先頭及び末尾に位置づけられる形態素の組み合わせを形態素ペアとして決定する(ステップS305)。
【0076】
第1分類情報決定部119は、形態素及び形態素ペアに基づく第1カテゴリ行列を取得する(ステップS306)。第1分類情報決定部119は、取得した第1カテゴリ行列から形態素解析部111によって解析された形態素の行を特定し、列毎に各行の値の合計値を算出する(ステップS307)。第1分類情報決定部119は、形態素ペアに基づいて生成された第1カテゴリ行列から形態素ペア決定部113によって決定された形態素ペアの行を特定し、各列の値の中で最大の値を特定する。
【0077】
第1分類情報決定部119は、形態素ペアの第1カテゴリ行列で算出された値のうち最も大きな値が第1閾値以上の値であるか否かを判定する(ステップS308)。本フローチャートでは、第1閾値は0.95である。値が0.95以上である場合(ステップS208:YES)、第1分類情報決定部119は、形態素ペアの第1カテゴリ行列に保持される値のうち、特定した形態素ペアの行の中で最も大きな値を有する第1分類情報を、文字列情報の第1分類情報に決定し、ステップS313に遷移する(ステップS309)。値が0.95以上でない場合(ステップS308:NO)、第1分類情報決定部119は、形態素ペアの第1カテゴリ行列に保持される値のうち、特定した形態素ペアの行の中で最も大きな値が第2閾値以上の値であるか否かを判定する(ステップS310)。本フローチャートでは、第2閾値は0.66である。値が0.66以上である場合(ステップS310:YES)、第1分類情報決定部119は、形態素の第1カテゴリ行列で算出された値のうち、形態素ペアで決定された第1分類情報に対して所定の数値を加算する(ステップS311)。第1分類情報決定部119は、算出された合計値のうち、最も大きな値を第1分類情報に決定する(ステップS312)。
【0078】
第2分類情報決定部120は、形態素及び形態素ペアと決定された第1分類情報に基づいて、第2分類情報を決定する。第2分類情報決定部120は、形態素及び形態素ペアと第2分類情報とに基づいて第2カテゴリ行列を取得する(ステップS313)。第2分類情報決定部120は、形態素に基づいて生成された第2カテゴリ行列から形態素解析部111によって解析された形態素の行を特定し、列毎に値の合計値を算出する(ステップS314)。第2分類情報決定部120は、形態素ペアに基づいて生成された第2カテゴリ行列から形態素ペア決定部113によって決定された形態素ペアの行を特定し、各列の値のうち、最大の値を特定する。
【0079】
第2分類情報決定部120は、形態素ペアの第2カテゴリ行列で、最大の値となった第2分類情報の割合が、第3閾値以上の値であるか否かを判定する(ステップS315)。本フローチャートでは、第3閾値は0.95である。値が0.95以上である場合(ステップS315:YES)、第2分類情報決定部120は、形態素ペアの第2カテゴリ行列で算出された値のうち、最も大きな値を有する第2分類情報を、文字列情報の第2分類情報に決定し、ステップS320に遷移する(ステップS316)。値が0.95以上でない場合(ステップS315:NO)、第2分類情報決定部120は、形態素ペアの第2カテゴリ行列で算出された値のうち最も大きな値が第4閾値以上の値であるか否かを判定する(ステップS317)。本フローチャートでは、第4閾値は0.66である。値が0.66以上である場合(ステップS317:YES)、第2分類情報決定部120は、形態素の第2カテゴリ行列の算出結果のうち、形態素ペアで決定された第2分類情報に対して所定の数値を加算する(ステップS318)。第2分類情報決定部120は、算出された合計値のうち、最も大きな値を有する第2分類情報を、文字列情報の第2分類情報として決定する(ステップS319)。
【0080】
マスタ情報生成部121は、決定された第1分類情報及び第2分類情報と取得された文字列情報とに基づいて、マスタ情報レコードを生成する(ステップS320)。マスタ情報生成部121は、マスタ情報レコードを、マスタ情報テーブルに記録する(ステップS321)。
【0081】
このように構成された情報処理装置100では、第1カテゴリ行列生成部116と第2カテゴリ行列生成部117とが、訓練データに基づいて、第1カテゴリ行列と第2カテゴリ行列とを生成する。形態素解析部111が、与えられた文字列情報を形態素に分解する。形態素ペア決定部113は、文字列情報の先頭の形態素と、末尾の形態素と、を形態素ペアとして決定する。第1分類情報決定部119は、形態素及び形態素ペアと、第1カテゴリ行列と、に基づいて文字列情報の特徴を示す第1分類情報を決定する。さらに第2分類情報決定部120は、形態素及び形態素ペアと、決定された第1分類情報と、第2カテゴリ行列と、に基づいて第1分類情報に対応付けられた第2分類情報を決定する。したがって、より簡単に情報を分類することが可能となる。
【0082】
(第2の実施形態)
次に、第2の実施形態における情報処理システム1について説明する。図15は、第2実施形態の情報処理システム1のシステム構成を表すシステム構成図である。情報処理システム1は、ネットワーク400に設けられる。情報処理システム1は、入力された文字列情報に対して、任意の文字列情報の特徴を示す情報を付与する。情報処理システム1は、ネットワーク400を介して互いに通信可能に接続される情報処理装置100a及び端末装置300を備える。ネットワーク400は、どのようなネットワークで構築されてもよい。例えば、ネットワーク400は、インターネットで構成されてもよい。
【0083】
第2の実施形態における情報処理装置100aは、制御部109の代わりに制御部109aを備え、分類部115の代わりに分類部115aを備える点で第1の実施形態とは異なるが、それ以外の構成は同じである。以下、第1の実施形態と異なる点について説明する。
【0084】
制御部109aは、情報処理装置100aの各部の動作を制御する。制御部109aは、例えばプロセッサ及びメモリを備えた装置により実行される。制御部109aは、分類プログラム又は学習プログラムを実行することによって、データ取得部110、形態素解析部111、形態素置換部112、形態素ペア決定部113、学習部114及び分類部115aとして機能する。
【0085】
データ取得部110aは、文字列情報を取得する。データ取得部110aは、文字列情報を端末装置300から取得する。データ取得部110aは、取得した文字列情報を分類部115aに出力する。データ取得部110aは、取得した文字列情報を訓練データ記憶部104に記録してもよい。
【0086】
分類部115aは、分類プログラムを実行することで、マスタ情報検索部118a、第1分類情報決定部119、第2分類情報決定部120及びマスタ情報生成部121として機能する。
【0087】
マスタ情報検索部118aは、第1実施形態のマスタ情報検索部118と同様の処理でマスタ情報テーブルが備える所定のカラムに、文字列情報が含まれるか否かを判定する。マスタ情報検索部118aは、マスタ情報記憶部108に記憶されるマスタ情報テーブルに基づいて、文字列情報が含まれるか否かを判定する。マスタ情報テーブルに文字列情報が含まれる場合、マスタ情報検索部118aは、文字列情報に対応付けられた第1分類情報及び第2分類情報を端末装置300に送信する。マスタ情報テーブルに文字列情報が含まれない場合、分類部115aは、分類情報の決定処理を実行する。マスタ情報検索部118aは、分類情報の決定処理の実行結果によって決定された第1分類情報及び第2分類情報を端末装置300に送信する。
【0088】
端末装置300は、バスで接続されたプロセッサやメモリや補助記憶装置などを備え、分類要求プログラムを実行することによって、通信部301、入力部302、表示部303及び制御部304を備える装置として機能する。なお、端末装置300の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。分類プログラム又は学習プログラムプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。分類プログラム又は学習プログラムプログラムは、電気通信回線を介して送信されてもよい。
【0089】
通信部301は、ネットワークインタフェースである。通信部301はネットワーク400を介して、外部の装置と通信する。外部の装置とは、例えば、情報処理装置100a等の装置であってもよい。通信部301は、例えば無線LAN、有線LAN、Bluetooth又はLTE等の通信方式で通信してもよい。
【0090】
入力部302は、タッチパネル、マウス及びキーボード等の入力装置を用いて構成される。入力部302は、入力装置を端末装置300に接続するためのインタフェースであってもよい。この場合、入力部302は、入力装置において入力された入力信号から入力データ(例えば、端末装置300に対する指示を示す指示情報)を生成し、端末装置300に入力する。
【0091】
表示部303は、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ等の出力装置である。表示部303は、出力装置を端末装置300に接続するためのインタフェースであってもよい。この場合、表示部303は、映像データから映像信号を生成し自身に接続されている映像出力装置に映像信号を出力する。
【0092】
制御部304は、端末装置300の各部の動作を制御する。制御部304は、例えばプロセッサ及びメモリを備えた装置により実行される。制御部304は、分類要求プログラムを実行することによって、分類要求部305を備える装置として機能する。
【0093】
分類要求部305は、ユーザから入力部302を介して文字列情報を受付ける。分類要求部305は、受け付けた文字列情報を情報処理装置100aに送信する。分類要求部305は、情報処理装置100aから、第1分類情報及び第2分類情報を受信する。分類要求部305は、受信した第1分類情報及び第2分類情報を表示部303に表示させる。
【0094】
<変形例>
本実施形態では、形態素ペアは、文字列情報の先頭及び末尾の形態素であるとして説明したが、形態素ペアは、文字列情報の先頭及び末尾に限定されない。例えば、形態素ペア決定部113は、文字列情報の先頭から1番目と2番目との形態素を形態素ペアとして決定してもよい。
【0095】
形態素ペア決定部113は、文字列情報が分解された形態素のうち、文字列情報の特徴を最も表す形態素を特定する。文字列情報の特徴を最も表す形態素とは、文字列情報と形態素とを比較して、文字列情報と意味が近い形態素である。形態素ペア決定部113は、文字列情報と意味が近い形態素を特定するに当たり、公知の方法を用いてもよい。形態素ペア決定部113は、特定した形態素と意味が近い他の形態素を特定する。形態素ペア決定部113は、特定した形態素と、特定した形態素と意味が近い他の形態素と、を形態素ペアとして決定する。形態素ペア決定部113は、形態素と意味が近い他の形態素を特定するに当たり、公知の方法を用いてもよい。
【0096】
本実施形態では、訓練データは訓練データ記憶部104に記憶されているが、訓練データは、必要に応じて通信部101を介して外部から入力されてもよいし、入力部102を介してユーザから受け付けてもよい。
【0097】
本実施形態では、分類処理と学習処理とは、同一の情報処理装置100又は情報処理装置100a内で実行されるものとして説明したが、これに限定されない。例えば、分類処理を実行する分類装置と、学習処理を実行する学習装置と、でそれぞれ構成されてもよいし、クラウドコンピューティング上に構成されてもよい。
【0098】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0099】
本発明は、商品の分類に利用可能である。
【符号の説明】
【0100】
100…情報処理装置, 101…通信部, 102…入力部, 103…表示部, 104…訓練データ記憶部, 105…置換データ記憶部, 106…分類情報記憶部, 107…カテゴリ行列記憶部, 108…マスタ情報記憶部, 109…制御部, 110…データ取得部, 111…形態素解析部, 112…形態素置換部, 113…形態素ペア決定部, 114…学習部, 115…分類部, 116…第1カテゴリ行列生成部, 117…第2カテゴリ行列生成部, 118…マスタ情報検索部, 119…第1分類情報決定部, 120…第2分類情報決定部, 121…マスタ情報生成部, 1…情報処理システム, 100a…情報処理装置, 109a…制御部, 110a…データ取得部, 115a…分類部, 118a…マスタ情報検索部, 300…端末装置, 301…通信部, 302…入力部, 303…表示部, 304…制御部, 305…分類要求部, 400…ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15