(57)【要約】      （修正有）【課題】文字情報から商品の特徴情報を適切に抽出する抽出装置を提供する。【解決手段】抽出装置は、商品に関する文字情報及び画像情報を取得する取得部と、前記取得部により取得された画像情報に基づいて、前記文字情報から前記商品の特徴を示す特徴情報を抽出する抽出部と、を備える。抽出部は、文字情報から、商品の特徴に関連する文字列である関連文字列を特徴情報として抽出する。【選択図】図４
2019049945.tif 000002
【特許請求の範囲】
【請求項１】
商品に関する文字情報及び画像情報を取得する取得部と、
前記取得部により取得された画像情報に基づいて、前記文字情報から前記商品の特徴を示す特徴情報を抽出する抽出部と、
を備えることを特徴とする抽出装置。
【請求項２】
前記抽出部は、
前記文字情報から、前記商品の特徴に関連する文字列である関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項１に記載の抽出装置。
【請求項３】
前記抽出部は、
前記文字情報に含まれる複数の文字列のうち、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項２に記載の抽出装置。
【請求項４】
前記抽出部は、
所定の条件に基づいて前記文字情報が分割された前記複数の文字列のうち、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項３に記載の抽出装置。
【請求項５】
前記抽出部は、
所定の形態素解析により前記文字情報が分割された前記複数の文字列のうち、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項４に記載の抽出装置。
【請求項６】
前記抽出部は、
前記複数の文字列の各々をベクトル化した複数のベクトル情報を用いて、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項３〜５のいずれか１項に記載の抽出装置。
【請求項７】
前記抽出部は、
前記複数の文字列の各々をベクトル化した分散表現により前記複数のベクトル情報を用いて、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項６に記載の抽出装置。
【請求項８】
前記抽出部は、
前記複数のベクトル情報の各々を所定のニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項６または請求項７に記載の抽出装置。
【請求項９】
前記抽出部は、
前記複数のベクトル情報をリカレントニューラルネットワークである前記モデルに入力することにより出力される前記複数の出力情報を用いて、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項８に記載の抽出装置。
【請求項１０】
前記抽出部は、
前記複数のベクトル情報を前記文字情報における順序に基づいて前記モデルに入力することにより出力される前記複数の出力情報を用いて、前記関連文字列を前記特徴情報として抽出する
ことを特徴とする請求項９に記載の抽出装置。
【請求項１１】
前記抽出部は、
前記画像情報をベクトル化した画像ベクトル情報を用いて、前記文字情報から前記特徴情報を抽出する
ことを特徴とする請求項１〜１０のいずれか１項に記載の抽出装置。
【請求項１２】
前記抽出部は、
前記画像情報を所定のニューラルネットワークであるモデルによりベクトル化した前記画像ベクトル情報を用いて、前記文字情報から前記特徴情報を抽出する
ことを特徴とする請求項１１に記載の抽出装置。
【請求項１３】
前記抽出部は、
畳み込みニューラルネットワークである前記モデルによりベクトル化した前記画像ベクトル情報を用いて、前記文字情報から前記特徴情報を抽出する
ことを特徴とする請求項１２に記載の抽出装置。
【請求項１４】
前記抽出部は、
前記文字情報から前記商品の名称を前記特徴情報として抽出する
ことを特徴とする請求項１〜１３のいずれか１項に記載の抽出装置。
【請求項１５】
前記抽出部により抽出された前記商品の前記特徴情報に基づくサービスを提供する提供部、
をさらに備えることを特徴とする請求項１〜１４のいずれか１項に記載の抽出装置。
【請求項１６】
コンピュータが実行する抽出方法であって、
商品に関する文字情報及び画像情報を取得する取得工程と、
前記取得工程により取得された画像情報に基づいて、前記文字情報から前記商品の特徴を示す特徴情報を抽出する抽出工程と、
を含むことを特徴とする抽出方法。
【請求項１７】
商品に関する文字情報及び画像情報を取得する取得手順と、
前記取得手順により取得された画像情報に基づいて、前記文字情報から前記商品の特徴を示す特徴情報を抽出する抽出手順と、
をコンピュータに実行させることを特徴とする抽出プログラム。
【請求項１８】
商品に関する画像情報及び文字情報が入力される入力層と、
出力層と、
前記入力層から前記出力層までのいずれかの層であって前記出力層以外の層に属する第１要素と、
前記第１要素と前記第１要素の重みとに基づいて値が算出される第２要素と、を含み、
前記入力層に入力された画像情報及び文字情報に対し、前記出力層以外の各層に属する各要素を前記第１要素として、前記第１要素と前記第１要素の重みとに基づく演算を行うことにより、前記文字情報に含まれる各文字列が商品名であるかどうかを定量化した値に関する情報を前記出力層から出力するよう、
コンピュータを機能させるためのモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出装置、抽出方法、抽出プログラム、及びモデルに関する。
【背景技術】
【０００２】
従来、インターネットの飛躍的な普及に伴い、インターネットにおける情報から種々の情報を抽出する技術が提供されている。例えば、ユーザが所定の情報端末に入力した入力条件に合致する複数の広告主の商品詳細情報を抽出する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２７２８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、文字情報から商品の特徴情報を適切に抽出することが難しい場合がある。例えば、ユーザが条件等を入力する必要があり、ユーザが適切な条件を入力しなかった場合等においては、文字情報から商品の特徴情報を適切に抽出することが難しい。
【０００５】
本願は、上記に鑑みてなされたものであって、文字情報から商品の特徴情報を適切に抽出する抽出装置、抽出方法、抽出プログラム、及びモデルを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る抽出装置は、商品に関する文字情報及び画像情報を取得する取得部と、前記取得部により取得された画像情報に基づいて、前記文字情報から前記商品の特徴を示す特徴情報を抽出する抽出部と、を備えたことを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、文字情報から商品の特徴情報を適切に抽出することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る生成処理の一例を示す図である。
【図２】図２は、実施形態に係る抽出処理の一例を示す図である。
【図３】図３は、実施形態に係る抽出システムの構成例を示す図である。
【図４】図４は、実施形態に係る抽出装置の構成例を示す図である。
【図５】図５は、実施形態に係る学習データ記憶部の一例を示す図である。
【図６】図６は、実施形態に係るモデル情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係る商品情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係る生成処理の一例を示すフローチャートである。
【図９】図９は、実施形態に係る抽出処理の一例を示すフローチャートである。
【図１０】図１０は、実施形態に係るモデルの一例を示す図である。
【図１１】図１１は、実施形態に係る画像の特徴の一例を示す図である。
【図１２】図１２は、抽出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る抽出装置、抽出方法、抽出プログラム、及びモデルを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、抽出方法、抽出プログラム、及びモデルが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
（実施形態）
〔１．生成処理〕
まず、図１を用いて、実施形態に係る生成処理の一例について説明する。図１は、実施形態に係る生成処理の一例を示す図である。図１では、抽出装置１００が電子商取引サービスにおける管理者ＧＭ１により正解情報が付与された商品情報に基づいてモデルの生成を行う場合を示す。なお、ここでいう商品情報とは、所定の商品またはサービス（以下、併せて「商品」とする）に関する情報を意味する。例えば、商品情報は、電子商取引サービスにおいてストア（販売元）が出品した商品に関する情報であってもよい。また、以下では、正解情報が付与された商品情報を「学習データ」ともいう。
【００１１】
例えば、管理者ＧＭ１は、電子商取引サービスを提供する提供元であってもよい。例えば、商品情報には、商品の提供元が出品時に入力した情報が含まれる。商品情報には、画像情報（以下、単に「画像」ともいう）と文字情報との２つの種別の情報が含まれる。また、図１の例では、抽出装置１００が正解情報として商品の商品名が付与された商品情報に基づいてモデルの生成を行う場合を示す。すなわち、図１の例では、抽出装置１００が正解情報として商品の商品名が付与された商品情報に基づいて、その商品情報が示す対象である商品の商品名を抽出するモデルの生成を行う場合を示す。
【００１２】
また、抽出装置１００は、生成したモデルを用いて、ある商品が出品された際の商品情報に基づいて、その商品の商品名を抽出する。また、抽出装置１００は、抽出した商品の商品名に基づいて、サービスを提供したりするが、この点については図２で説明する。
【００１３】
〔抽出システムの構成〕
まず、図１の説明に先立って、図３に示す抽出システム１について説明する。図３に示すように、抽出システム１は、端末装置１０と、販売元装置２０と、管理者装置５０と、抽出装置１００とが含まれる。端末装置１０と、販売元装置２０と、管理者装置５０と、抽出装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図３は、実施形態に係る抽出システムの構成例を示す図である。なお、図３に示した抽出システム１には、複数台の端末装置１０や、複数台の販売元装置２０や、複数台の管理者装置５０や、複数台の抽出装置１００が含まれてもよい。
【００１４】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。図１に示す例においては、端末装置１０がユーザの利用するスマートフォンである場合を示す。なお、以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。
【００１５】
端末装置１０は、ユーザによる操作を受け付ける。また、端末装置１０は、ユーザの操作に応じて、抽出装置１００に種々の情報を送信する。例えば、端末装置１０は、抽出装置１００に商品情報を要求する情報等を送信する。また、端末装置１０は、抽出装置１００から種々の情報を受信する。例えば、端末装置１０は、抽出装置１００から商品情報を受信する。また、例えば、端末装置１０は、抽出装置１００から受信した商品情報を表示する。
【００１６】
販売元装置２０は、商品を販売する売主によって利用される情報処理装置である。売主は、個人であってもよいし、法人等であってもよい。例えば、販売元装置２０は、販売元ＳＡ１によって利用される。例えば、販売元ＳＡ１は、販売元装置２０を用いて、電子商取引サービスにおいて販売する商品を追加したり、在庫の管理や価格の設定を行ったりする。また、販売元装置２０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣや、デスクトップＰＣや、携帯電話機や、ＰＤＡ等により実現される。なお、以下では、販売元装置２０を販売元と表記する場合がある。すなわち、以下では、販売元を販売元装置２０と読み替えることもできる。具体的には、図２では、販売元装置２０が販売元ＳＡ１により利用されるノート型ＰＣである場合を示す。
【００１７】
管理者装置５０は、抽出装置１００の管理者によって利用される情報処理装置である。管理者装置５０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣや、デスクトップＰＣや、携帯電話機や、ＰＤＡ等により実現される。なお、以下では、管理者装置５０を管理者と表記する場合がある。すなわち、以下では、管理者を管理者装置５０と読み替えることもできる。図１に示す管理者ＧＭ１は、管理者装置５０を操作することにより、抽出装置１００の情報を表示したり、抽出装置１００に処理を要求したりしてもよい。
【００１８】
例えば、管理者ＧＭ１は、管理者装置５０を用いて、所定の商品情報に正解情報を付与する。例えば、管理者ＧＭ１は、管理者装置５０を用いて、学習データとして用いる商品情報に正解情報を付与する。図１の例では、管理者ＧＭ１は、電子商取引サービスにおいて用いられる商品名の一覧情報（リスト）に基づいて、商品情報に正解情報を付与する。例えば、商品名の一覧情報は、商品を識別する識別情報と商品の商品名とが対応付けられた一覧情報であってもよい。例えば、商品名の一覧情報は、商品名とＪＡＮ（Japan  Article  Number）コードとが対応付けられた一覧情報であってもよい。
【００１９】
なお、管理者装置５０と抽出装置１００とは一体であってもよい。この場合、例えば、抽出装置１００が有する画面により抽出装置１００が有する情報を表示させ、キーボードやマウス等の入力インターフェイス等を用いて抽出装置１００に処理の指示等を行ってもよい。
【００２０】
抽出装置１００は、文字情報及び画像を含む商品情報に基づいて、商品の特徴を示す特徴情報を抽出する情報処理装置である。例えば、抽出装置１００は、文字情報及び画像を含む商品情報に基づいて、商品の特徴を示す特徴情報として、商品の名称（商品名）を抽出する。例えば、抽出装置１００は、画像に基づいて、文字情報から商品の商品名を抽出する。図１の例では、抽出装置１００は、商品の商品名の抽出に用いられるモデルであって、文字情報及び画像を含む商品情報が入力されたモデルの出力に基づいて、その商品の商品名を抽出する。
【００２１】
また、抽出装置１００は、抽出した商品の特徴情報に基づいてサービスを提供する。図２の例では、抽出装置１００は、抽出したその商品の商品名を用いて、ユーザが利用する端末装置１０に情報提供する。また、抽出システム１においては、抽出装置１００が電子商取引サービスを提供する。例えば、抽出システム１においては、複数の販売元が提供する商品を購入可能な電子商取引サービスが抽出装置１００により提供される。
【００２２】
例えば、抽出装置１００は電子商取引サービスや検索サービス等の種々のサービスを提供してもよい。また、外部の情報処理装置が検索サービスや電子商取引サービスを提供する場合、抽出装置１００は検索サービスや電子商取引サービスを提供しなくてもよい。この場合、抽出装置１００は、検索サービスや電子商取引サービスを提供する外部の情報処理装置等から各種情報を取得し、取得した各種情報に基づいて抽出処理や外部の情報処理装置への情報提供を行ってもよい。
【００２３】
なお、図１及び図２の例では、電子商取引サービスが複数のストア（販売元）が出品するネットショッピングモールサービス（以下、単に「ネットショッピングモール」とする）である場合を一例に説明する。なお、電子商取引サービスは、ネットショッピングモールに限らず、オークションサービス等の種々のサービスであってもよい。
【００２４】
また、以下では、「商品ＧＤ＊（＊は任意の数値）」と記載した場合、その商品は商品ＩＤ「ＧＤ＊」により識別される商品であることを示す。例えば、「商品ＧＤ１」と記載した場合、その商品は商品ＩＤ「ＧＤ１」により識別される商品である。なお、以下では、「商品ＧＤ＊（＊は任意の数値）」の商品情報を「商品ＧＤ＊（＊は任意の数値）」と表記する場合がある。例えば、以下では、商品ＧＤ１を商品ＧＤ１の商品情報と読み替えることもできる。
【００２５】
図１の示す例では、管理者ＧＭ１は、画像ＩＭ１０１や文字情報ＣＨ１０１等を含む商品情報に対応する商品ＧＤ１０１に対して正解情報を付与する（ステップＳ１１−１）。例えば、文字情報ＣＨ１０１は、商品ＧＤ１０１の商品情報に含まれる商品の説明文であってもよい。例えば、管理者ＧＭ１は、商品ＧＤ１０１の商品情報に含まれる画像ＩＭ１０１や文字情報ＣＨ１０１等の内容に基づいて、商品ＧＤ１０１の商品名が「商品名ＮＡ」であることを示す正解情報を付与する。具体的には、管理者ＧＭ１は、画像ＩＭ１０１を参照しつつ、文字情報ＣＨ１０１に含まれる文字列から、商品ＧＤ１０１の商品名を抽出し、商品ＧＤ１０１の商品情報に対応する正解情報とする。
【００２６】
なお、図１の例では、商品名を「商品名ＮＡ」等のように抽象的な記号で表記するが、例えば「商品名ＮＡ」は、具体的な商品の名称（文字列）を示す情報であるものとする。例えば「商品名ＮＡ」は、企業名と商品を示す文字列との組合せであってもよい。図１の例では、「商品名ＮＡ」は、文字列ＳＴ１と文字列ＳＴ３との組合せである場合を示す。例えば、文字列ＳＴ１は、企業名「ＸＸＸ」であり、文字列ＳＴ３は、商品を示す文字列「ＹＹＹ」であってもよい。例えば、管理者ＧＭ１は、商品ＧＤ１０１については、文字列ＳＴ１と文字列ＳＴ３とを組合せた（並べた）文字列を正解情報とする。
【００２７】
また、管理者ＧＭ１は、画像ＩＭ１０２や文字情報ＣＨ１０２等を含む商品情報に対応する商品ＧＤ１０２に対して正解情報を付与する（ステップＳ１１−２）。例えば、文字情報ＣＨ１０２は、商品ＧＤ１０２の商品情報に含まれる商品の説明文であってもよい。例えば、管理者ＧＭ１は、商品ＧＤ１０２の商品情報に含まれる画像ＩＭ１０２や文字情報ＣＨ１０２等の内容に基づいて、商品ＧＤ１０２の商品名が「商品名ＮＢ」であることを示す正解情報を付与する。具体的には、管理者ＧＭ１は、文字情報ＣＨ１０２に含まれる文字列から、商品ＧＤ１０２の商品名を抽出し、商品ＧＤ１０２に対応する正解情報「商品名ＮＢ」とする。
【００２８】
また、管理者ＧＭ１は、画像ＩＭ１０３や文字情報ＣＨ１０３等を含む商品情報に対応する商品ＧＤ１０３に対して正解情報を付与する（ステップＳ１１−３）。例えば、文字情報ＣＨ１０３は、商品ＧＤ１０３の商品情報に含まれる商品の説明文であってもよい。例えば、管理者ＧＭ１は、商品ＧＤ１０３の商品情報に含まれる画像ＩＭ１０３や文字情報ＣＨ１０３等の内容に基づいて、商品ＧＤ１０３の商品名が「商品名ＮＣ」であることを示す正解情報を付与する。具体的には、管理者ＧＭ１は、文字情報ＣＨ１０３に含まれる文字列から、商品ＧＤ１０３の商品名を抽出し、商品ＧＤ１０３に対応する正解情報「商品名ＮＣ」とする。
【００２９】
また、管理者ＧＭ１は、画像ＩＭ１０４や文字情報ＣＨ１０４等を含む商品情報に対応する商品ＧＤ１０４に対して正解情報を付与する（ステップＳ１１−４）。例えば、文字情報ＣＨ１０４は、商品ＧＤ１０４の商品情報に含まれる商品の説明文であってもよい。例えば、管理者ＧＭ１は、商品ＧＤ１０４の商品情報に含まれる画像ＩＭ１０４や文字情報ＣＨ１０４等の内容に基づいて、商品ＧＤ１０４の商品名が「商品名ＮＤ」であることを示す正解情報を付与する。具体的には、管理者ＧＭ１は、文字情報ＣＨ１０４に含まれる文字列から、商品ＧＤ１０４の商品名を抽出し、商品ＧＤ１０４に対応する正解情報「商品名ＮＤ」とする。
【００３０】
なお、ステップＳ１１−１〜Ｓ１１−４は、処理を説明するためのものであり、ステップＳ１１−１〜Ｓ１１−４のいずれが先に行われてもよく、以下、ステップＳ１１−１〜Ｓ１１−４を区別せずに説明する場合、ステップＳ１１と総称する。例えば、管理者ＧＭ１は、ステップＳ１１に示すような正解情報の付与を学習データとして用いる多数の商品情報に対して行う。これにより、抽出システム１においては、商品情報と正解情報（商品名）が対応づけられた学習データＬＤ１が生成される。なお、図１の例では、正解情報の付与を説明するために、管理者ＧＭ１が付与する場合を示すが、正解情報の付与は、抽出装置１００等により機械的に行われてもよい。また、管理者ＧＭ１は、商品情報に商品名を明示する情報が含まれる場合、その情報を正解情報としてもよい。管理者ＧＭ１は、販売元が商品を登録する際に商品名を登録する場合、登録された商品名を正解情報としてもよい。
【００３１】
そして、抽出装置１００は、ステップＳ１１において正解情報が付与された学習データＬＤ１を取得する（ステップＳ１２）。具体的には、抽出装置１００は、ステップＳ１１において正解情報が付与された商品ＧＤ１０１〜ＧＤ１０４等の商品情報を取得する。
【００３２】
そして、抽出装置１００は、ステップＳ１２で取得した学習データＬＤ１に含まれる商品情報を学習データとして追加する（ステップＳ１３）。具体的には、抽出装置１００は、学習データＬＤ１を学習データ記憶部１２１に追加する。
【００３３】
そして、抽出装置１００は、学習データに基づいてモデルを生成する（ステップＳ１４）。例えば、抽出装置１００は、学習データ記憶部１２１中の商品ＧＤ１０１〜ＧＤ１０４等の商品情報を学習データ（教師データ）として、学習を行なうことにより、モデルを生成する。以下では、商品ＧＤ１０１の商品情報を学習データとして用いた場合を一例として説明する。
【００３４】
まず、抽出装置１００が生成するモデル（学習器）について簡単に説明する。図１の例において、抽出装置１００が生成するモデルＭ１は、複数の部分モデルＭ１１〜Ｍ１３等を含むモデルである。上記のように、「モデルＭ＊（＊は任意の数値）」と記載した場合、そのモデルはモデルＩＤ「Ｍ＊」により識別されるモデルであることを示す。例えば、「モデルＭ１」と記載した場合、そのモデルはモデルＩＤ「Ｍ１」により識別されるモデルである。また、上記のように、「部分モデルＭ＊（＊は任意の数値）」と記載した場合、その部分モデルは部分モデルＩＤ「Ｍ＊」により識別されるモデルであることを示す。例えば、「部分モデルＭ１１」と記載した場合、その部分モデルは部分モデルＩＤ「Ｍ１１」により識別されるモデルである。なお、各部分モデルＭ１１〜Ｍ１３についての詳細は後述する。
【００３５】
図１の例では、抽出装置１００は、商品ＧＤ１０１の文字情報ＣＨ１０１を文字列に分割する（ステップＳ１４−１）。例えば、抽出装置１００は、形態素解析等の種々の自然言語処理技術の従来技術を適宜用いて、文字情報ＣＨ１０１を文字列に分割する。図１の例では、抽出装置１００は、文字情報ＣＨ１０１を複数の文字列ＳＴ１〜ＳＴ４等に分割する。
【００３６】
そして、抽出装置１００は、複数の文字列ＳＴ１〜ＳＴ４等をベクトル化する（ステップＳ１４−２）。例えば、抽出装置１００は、分散表現等の種々の従来技術を適宜用いて、文字列ＳＴ１〜ＳＴ４等の各々をベクトル化する。例えば、抽出装置１００は、ｗ２ｖ（word2vec）等の周知の技術を用いて、文字列ＳＴ１〜ＳＴ４等の各々をベクトル化する。図１の例では、抽出装置１００は、文字列ＳＴ１〜ＳＴ４等の各々に対応するベクトルＥＮ１〜ＥＮ４等を生成する。例えば、抽出装置１００は、文字列ＳＴ１に対応するベクトルＥＮ１を生成する。例えば、抽出装置１００は、分散表現等の技術により、文字列ＳＴ１からベクトルＥＮ１を生成する。
【００３７】
そして、図１の例では、抽出装置１００は、商品ＧＤ１０１の画像ＩＭ１０１や文字列ＳＴ１〜ＳＴ４等の各々に対応するベクトルＥＮ１〜ＥＮ４等をモデルＭ１に入力することにより、モデルＭ１に文字列ＳＴ１〜ＳＴ４等が商品名であるかを示すスコアを出力させる。例えば、抽出装置１００は、商品ＧＤ１０１の画像ＩＭ１０１をベクトル化したデータ（例えばＮ次元のベクトルデータ（Ｎは１以上の任意の数値））をモデルＭ１に入力してもよいし、画像ＩＭ１０１が入力されたモデルＭ１が画像ＩＭ１０１をベクトル化してもよい。
【００３８】
また、モデルＭ１は、ステップＳ１４−１に示す文字情報を文字列に分割する処理やステップＳ１４−２に示す各文字列をベクトル化する処理を行ってもよい。この場合、モデルＭ１は、商品情報に含まれる文字情報と画像情報とが入力された場合、画像情報に基づいて、文字情報の各文字列が商品名であるかを示すスコアを出力してもよい。
【００３９】
ここから、図１に示すモデルＭ１の構成を説明する。モデルＭ１は、商品情報のうち、画像情報に対応する情報が入力される入力層を有する部分モデルＭ１１、文字情報に対応する情報が入力される入力層を有する部分モデルＭ１２、及びスコアを出力する層を有する部分モデルＭ１３を含む。
【００４０】
例えば、部分モデルＭ１１は、入力された画像情報（画像）から画像の特徴を示す情報（以下、「画像特徴」ともいう）を抽出する部分モデルである。例えば、部分モデルＭ１１は、画像特徴としてベクトルを出力する。図１の例では、部分モデルＭ１１は、画像情報の局所領域の畳み込みとプーリングとを繰り返す、いわゆる畳み込みニューラルネットワーク（ＣＮＮ：Convolutional  Neural  Network）により構成されるものとする。なお、部分モデルＭ１１は、ＣＮＮに限らず、ＧＲＵ（Gated  Recurrent  Unit）やＬＳＴＭ（Long  Short-Term  Memory）を始めとするＲＮＮ（Recurrent  Neural  Network）等といった種々のニューラルネットワークであってもよい。
【００４１】
図１の例では、部分モデルＭ１１は、商品ＧＤ１０１の画像ＩＭ１０１が入力され、画像ＩＭ１０１から画像特徴ＩＦＥ１０１を抽出する。例えば、画像ＩＭ１０１から抽出された画像特徴ＩＦＥ１０１は、画像ＩＭ１０１の特徴を示す情報である。このように、図１に示す部分モデルＭ１１は、商品ＧＤ１０１の商品情報に含まれる画像ＩＭ１０１から、商品ＧＤ１０１の画像に関する特徴を示す画像特徴ＩＦＥ１０１を抽出する。
【００４２】
例えば、部分モデルＭ１１は、入力された情報の次元量を圧縮することで入力された情報が有する特徴を抽出するエンコーダと、エンコーダによって抽出された特徴の次元量を増大させ、エンコーダに入力された情報を復元するデコーダとの組によって実現されてもよい。すなわち、部分モデルＭ１１は、オートエンコーダであってもよい。この場合、部分モデルＭ１１は、エンコーダに入力される情報とデコーダから出力される情報が等しくなるように学習処理が行われてもよい。また、この場合、抽出装置１００は、部分モデルＭ１１中のエンコーダにより抽出された特徴を画像特徴として用いてもよい。
【００４３】
また、例えば、部分モデルＭ１２は、文字列（文字情報）に対応するベクトルが入力され、入力されたベクトルから文字情報の特徴を示す情報（以下、「文字特徴」ともいう）を抽出する部分モデルである。例えば、部分モデルＭ１２は、文字特徴としてベクトルを出力する部分モデルである。図１の例では、部分モデルＭ１２は、ＧＲＵやＬＳＴＭを始めとするＲＮＮにより構成されるものとする。なお、部分モデルＭ１２は、ＧＲＵやＬＳＴＭを始めとするＲＮＮに限らず、種々の再帰型ニューラルネットワークであってもよい。
【００４４】
ここで、部分モデルＭ１２には、文字情報における順序に基づいて、文字列が順次入力される。これにより、部分モデルＭ１２は、文字情報における順序（語順）に基づいて、各文字列に対応する文字特徴を出力する。
【００４５】
図１の例では、部分モデルＭ１２は、商品ＧＤ１０１の文字情報ＣＨ１０１における順序に基づいて、各文字列ＳＴ１〜ＳＴ４等が入力される。
【００４６】
まず、部分モデルＭ１２は、初期状態ＳＡ０において、文字情報ＣＨ１０１における最先（例えば先頭）の文字列ＳＴ１が入力される。これにより、部分モデルＭ１２は、文字列ＳＴ１が文字情報ＣＨ１０１の最先の文字列である場合の文字列ＳＴ１の文字特徴ＣＦＥ１を出力する。
【００４７】
そして、部分モデルＭ１２は、文字列ＳＴ１が入力された後の状態ＳＡ１において、文字情報ＣＨ１０１における文字列ＳＴ１の次の文字列ＳＴ２が入力される。これにより、部分モデルＭ１２は、文字列ＳＴ２が文字情報ＣＨ１０１において文字列ＳＴ１の次に位置する場合の文字列ＳＴ２の文字特徴ＣＦＥ２を出力する。
【００４８】
そして、部分モデルＭ１２は、文字列ＳＴ２が入力された後の状態ＳＡ２において、文字情報ＣＨ１０１における文字列ＳＴ２の次の文字列ＳＴ３が入力される。これにより、部分モデルＭ１２は、文字列ＳＴ３が文字情報ＣＨ１０１において文字列ＳＴ２の次に位置する場合の文字列ＳＴ３の文字特徴ＣＦＥ３を出力する。
【００４９】
そして、部分モデルＭ１２は、文字列ＳＴ３が入力された後の状態ＳＡ３において、文字情報ＣＨ１０１における文字列ＳＴ３の次の文字列ＳＴ４が入力される。これにより、部分モデルＭ１２は、文字列ＳＴ４が文字情報ＣＨ１０１において文字列ＳＴ３の次に位置する場合の文字列ＳＴ４の文字特徴ＣＦＥ４を出力する。
【００５０】
また、部分モデルＭ１２は、文字列ＳＴ４より後の文字列（例えば文字列ＳＴ５）等についても同様に処理することにより、文字情報ＣＨ１０１に含まれる各文字列の文字特徴を抽出する。このように、図１に示すモデルＭ１２は、商品情報に含まれる文字情報における順序関係を反映した各文字列の文字特徴を抽出する。これにより、図１の例では、部分モデルＭ１２は、文字情報ＣＨ１０１における順序関係を反映した各文字列ＳＴ１〜ＳＴ４等の文字特徴ＣＦＥ１〜ＣＦＥ４等を抽出する。なお、上記は一例であり、部分モデルＭ１２は、各文字列に対応する文字特徴が抽出可能であれば、どのような構成のモデルであってもよく、どのような処理により文字特徴を抽出してもよい。
【００５１】
また、例えば、部分モデルＭ１３は、文字特徴が入力されることにより、入力された文字特徴に対応する文字列が商品名であるかを示すスコアを出力する部分モデルである。図１の例では、部分モデルＭ１３は、文字特徴と画像特徴とが連結されたベクトル（以下、「連結ベクトル」ともいう）が入力されることにより、画像特徴に対応する画像の情報を加味して、文字特徴に対応する文字列が商品名であるかを示すスコアを出力する。例えば、文字特徴がＸ次元であり、画像特徴がＹ次元である場合、連結ベクトルは、Ｘ＋Ｙ次元のベクトルであってもよい。例えば、文字特徴が１００次元であり、画像特徴が２００次元である場合、連結ベクトルは、１００次元までが文字特徴であり、１０１次元から３００次元が画像特徴であってもよい。
【００５２】
このように、部分モデルＭ１３は、文字特徴に対応するベクトルに画像特徴に対応するベクトルが連結された連結ベクトルが入力される。これにより、画像特徴に対応する画像の情報を加味して、文字特徴に対応する文字列が商品名であるかを示すスコアを出力する。また、図１の例では、部分モデルＭ１２により出力される文字特徴は文字情報における各文字列の順序関係を反映した情報である。そのため、部分モデルＭ１３は、画像の特徴と文字情報における各文字列の順序関係とを加味して、文字特徴に対応する文字列が商品名であるかを示すスコアを出力することができる。
【００５３】
なお、部分モデルＭ１３は、スコアを出力可能であれば、どのような構成であってもよい。例えば、部分モデルＭ１３は、ＳＶＭ（Support  Vector  Machine）、ＣＮＮや、ＧＲＵ、ＬＳＴＭを始めとするＲＮＮ等、所望のスコアを出力可能であればどのような構成であってもよい。また、以下では、部分モデルＭ１３は、文字列の文字特徴と画像の画像特徴との連結ベクトルが入力された場合に、その文字列が商品名であるかの可能性を示すスコアを出力するものとする。例えば、部分モデルＭ１３が出力するスコアが大きい程、その文字列が商品名である可能性が高いことを示すものとする。図１の例では、部分モデルＭ１３は、入力された連結ベクトルに対応する文字列が商品名に該当するかに応じて、「０」〜「１」のスコアを出力するものとする。図１の例では、部分モデルＭ１３は、商品名に該当する文字列に対応する連結ベクトルが入力された場合に、「１」に近いスコアを出力するものとする。また、図１の例では、部分モデルＭ１３は、商品名に該当しない文字列に対応する連結ベクトルが入力された場合に、「０」に近いスコアを出力するものとする。
【００５４】
例えば、部分モデルＭ１３は、文字列ＳＴ１の文字特徴ＣＦＥ１と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ１が商品名であるかを示すスコアＳＣ１を出力する。例えば、文字特徴ＣＦＥ１がＸ次元であり、画像特徴ＩＦＥ１０１がＹ次元である場合、連結ベクトルは、Ｘ＋Ｙ次元のベクトルであってもよい。例えば、文字特徴ＣＦＥ１が１００次元であり、画像特徴ＩＦＥ１０１が２００次元である場合、連結ベクトルは、１００次元までが文字特徴ＣＦＥ１であり、１０１次元から３００次元が画像特徴ＩＦＥ１０１であってもよい。
【００５５】
また、例えば、部分モデルＭ１３は、文字列ＳＴ２の文字特徴ＣＦＥ２と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ２が商品名であるかを示すスコアＳＣ２を出力する。
【００５６】
例えば、部分モデルＭ１３は、文字列ＳＴ３の文字特徴ＣＦＥ３と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ３が商品名であるかを示すスコアＳＣ３を出力する。
【００５７】
また、例えば、部分モデルＭ１３は、文字列ＳＴ４の文字特徴ＣＦＥ４と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ４が商品名であるかを示すスコアＳＣ４を出力する。
【００５８】
また、部分モデルＭ１３は、文字列ＳＴ４より後の文字列の文字特徴（例えば文字特徴ＣＦＥ５）等についても同様に処理することにより、各文字列が商品名であるかを示すスコアを出力する。このように、図１に示すモデルＭ１３は、商品情報に含まれる画像、及び文字情報における順序関係を加味したスコアを出力する。
【００５９】
例えば、抽出装置１００は、文字列に対応する連結ベクトルが入力された場合に、部分モデルＭ１３が出力するスコアに基づいて、その文字列が商品名であるかを判定してもよい。例えば、抽出装置１００は、文字列に対応する連結ベクトルが入力された部分モデルＭ１３が出力するスコアが所定の閾値（例えば、０．７等）以上である場合、その文字列が商品名であると判定してもよい。
【００６０】
図１の例では、抽出装置１００は、学習データＬＤ１を用いて、上記のようなモデルＭ１を生成する。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報（商品情報）が入力された場合に、正解情報「商品名ＮＡ」に含まれる文字列に対応するスコアが大きくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、文字列ＳＴ１や文字列ＳＴ３に対応するスコアが大きくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、商品名ＮＡに含まれる文字列ＳＴ１や文字列ＳＴ３に対応するスコアが所定の閾値より大きくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ１やスコアＳＣ３が所定の閾値より大きくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ１やスコアＳＣ３が「１」に近くなるように、学習処理を行う。
【００６１】
例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、正解情報「商品名ＮＡ」に含まれない文字列に対応するスコアが小さくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、商品名ＮＡに含まれない文字列ＳＴ２や文字列ＳＴ４に対応するスコアが小さくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、文字列ＳＴ２や文字列ＳＴ４に対応するスコアが所定の閾値より小さくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ２やスコアＳＣ４が所定の閾値より小さくなるように、学習処理を行う。例えば、抽出装置１００は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ２やスコアＳＣ４が「０」に近くなるように、学習処理を行う。
【００６２】
すなわち、抽出装置１００は、モデルＭ１における出力（スコア）と、入力した商品情報に対応する正解情報との誤差が少なくなるようにパラメータ（接続係数）を補正するバックプロパゲーション（誤差逆伝播法）等の処理によりモデルＭ１を生成する。例えば、抽出装置１００は、所定の損失（ロス）関数を最小化するようにバックプロパゲーション等の処理を行うことによりモデルＭ１を生成する。なお、抽出装置１００は、上記のような学習処理を各部分モデルＭ１１〜Ｍ１３の各々について行ってもよい。例えば、抽出装置１００は、上記のような学習処理を部分モデルＭ１２について行ってもよい。また、例えば、抽出装置１００は、上記のような学習処理を部分モデルＭ１３について行ってもよい。
【００６３】
上述のような処理を繰り返すことで、抽出装置１００は、入力された商品情報に対応する商品の商品名をより精度よく抽出可能にするスコアを出力するモデルＭ１を生成することができる。なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。すなわち、抽出装置１００は、学習データに含まれる商品情報が入力された場合に、正解情報に対応するスコアを出力するようにモデルＭ１を学習可能であれば、どのような手法によりモデルＭ１の生成を行ってもよい。
【００６４】
上記のような処理により、図１の例では、抽出装置１００は、モデル情報記憶部１２２に示すように、モデルＩＤ「Ｍ１」により識別されるモデル（モデルＭ１）を生成する。また、図１中のモデル情報記憶部１２２に示すモデルＭ１は、商品名の抽出のために用いられるモデルであり、その具体的なモデルデータが各部分モデルＭ１１〜Ｍ１３等に対応する「各モデルデータＭＤＴ１１〜ＭＤＴ１３等」であることを示す。例えば、抽出装置１００は、モデルＭ１に商品情報を入力することにより、入力した商品情報の文字情報に含まれる文字列のうち、どの文字列が商品名である可能性が高いかを示すスコアを、モデルＭ１に出力させ、モデルＭ１が出力するスコアに基づいて、文字情報から商品名を抽出する。
【００６５】
上述したように、抽出装置１００は、商品情報と正解情報とが対応付けられた学習データを用いて学習することにより、商品の商品名を適切に抽出可能にするモデルを生成することができる。また、抽出装置１００は、商品情報に含まれる画像、及び文字情報における順序関係を反映したモデルを生成することにより、商品の商品名を適切に抽出可能にするモデルを生成することができる。これにより、抽出装置１００は、文字情報から商品の特徴情報を適切に抽出するために用いるモデルを生成することができる。したがって、抽出装置１００は、上述のように生成したモデルを用いることにより、例えば、電子商取引サービスにおいて表示される商品情報の正確性の向上を可能にすることができる。
【００６６】
（１−１．モデル）
図１の例では、１つのモデルＭ１を生成する場合を示したが、抽出装置１００は、商品の属性等に基づいて複数のモデルを生成してもよい。例えば、抽出装置１００は、商品のカテゴリごとにモデルを生成してもよい。例えば、抽出装置１００は、商品のカテゴリごとに学習データを用いて、各カテゴリのモデルを生成してもよい。
【００６７】
〔２．抽出処理〕
図２を用いて、実施形態に係る抽出処理の一例について説明する。図２は、実施形態に係る抽出処理の一例を示す図である。図２では、抽出装置１００は、販売元が出品を行う際に、出品の商品情報から商品名を抽出し、抽出した商品名を用いたサービスを提供する場合を示す。
【００６８】
まず、抽出装置１００は、販売元ＳＡ１が利用する販売元装置２０から出品に関する情報を取得する（ステップＳ２１）。例えば、販売元ＳＡ１は、販売元装置２０に表示された電子商取引サービスの販売元用のサイト等において所定の操作を行うことにより、抽出装置１００に商品情報を送信する。図２の例では、販売元装置２０は、画像ＩＭ１１及び文字情報ＣＨ１１を含む商品ＧＤ１１の商品情報を抽出装置１００に送信する。具体的には、販売元装置２０は、腕時計のバントである商品ＧＤ１１の商品情報を抽出装置１００に送信する。例えば、販売元装置２０は、腕時計のバントが含まれる画像ＩＭ１１を含む商品情報を抽出装置１００に送信する。
【００６９】
販売元装置２０から出品に関する情報を取得した抽出装置１００は、商品ＧＤ１１の文字情報ＣＨ１１を文字列に分割する（ステップＳ２２）。例えば、抽出装置１００は、形態素解析等の種々の自然言語処理技術の従来技術を適宜用いて、文字情報ＣＨ１１を文字列に分割する。図２の例では、抽出装置１００は、文字情報ＣＨ１１を複数の文字列ＳＴ１１〜ＳＴ１４等に分割する。
【００７０】
そして、抽出装置１００は、複数の文字列ＳＴ１１〜ＳＴ１４等をベクトル化する（ステップＳ２３）。例えば、抽出装置１００は、分散表現等の種々の従来技術を適宜用いて、文字列ＳＴ１１〜ＳＴ１４等の各々をベクトル化する。図２の例では、抽出装置１００は、文字列ＳＴ１１〜ＳＴ１４等の各々に対応するベクトルＥＮ１１〜ＥＮ１４等を生成する。例えば、抽出装置１００は、文字列ＳＴ１１に対応するベクトルＥＮ１１を生成する。例えば、抽出装置１００は、分散表現等の技術により、文字列ＳＴ１１からベクトルＥＮ１１を生成する。
【００７１】
そして、図２の例では、抽出装置１００は、商品ＧＤ１１の画像ＩＭ１１や文字列ＳＴ１１〜ＳＴ１４等の各々に対応するベクトルＥＮ１１〜ＥＮ１４等をモデルＭ１に入力する（ステップＳ２４）。これにより、抽出装置１００は、モデルＭ１に文字列ＳＴ１１〜ＳＴ１４等が商品名であるかを示すスコアを出力させる（ステップＳ２５）。なお、図２の例では、抽出装置１００は、モデルＭ１（部分モデルＭ１３）が出力するスコアが所定の閾値（例えば、０．６等）以上である場合、その文字列が商品名であると判定するものとする。
【００７２】
例えば、抽出装置１００が商品ＧＤ１１の情報（商品情報）を入力することにより、モデルＭ１は、文字情報の各文字列が商品名であるかを示すスコアを出力する。
【００７３】
例えば、モデルＭ１は、文字列ＳＴ１１が商品名であるかを示すスコアＳＣ１１を出力する。図２の例では、モデルＭ１が文字列ＳＴ１１のスコアＳＣ１１として「０．７」を出力したため、抽出装置１００は、文字列ＳＴ１１が商品ＧＤ１１の商品名であると判定する。
【００７４】
例えば、モデルＭ１は、文字列ＳＴ１２が商品名であるかを示すスコアＳＣ１２を出力する。図２の例では、モデルＭ１が文字列ＳＴ１２のスコアＳＣ１２として「０．２」を出力したため、抽出装置１００は、文字列ＳＴ１２が商品ＧＤ１１の商品名ではないと判定する。
【００７５】
例えば、モデルＭ１は、文字列ＳＴ１３が商品名であるかを示すスコアＳＣ１３を出力する。図２の例では、モデルＭ１が文字列ＳＴ１３のスコアＳＣ１３として「０．４」を出力したため、抽出装置１００は、文字列ＳＴ１３が商品ＧＤ１１の商品名ではないと判定する。
【００７６】
例えば、モデルＭ１は、文字列ＳＴ１４が商品名であるかを示すスコアＳＣ１４を出力する。図２の例では、モデルＭ１が文字列ＳＴ１４のスコアＳＣ１４として「０．８」を出力したため、抽出装置１００は、文字列ＳＴ１４が商品ＧＤ１１の商品名であると判定する。
【００７７】
そして、抽出装置１００は、商品ＧＤ１１の文字情報ＣＨ１１から商品名を抽出する（ステップＳ２６）。図２の例では、抽出装置１００は、商品ＧＤ１１の文字情報ＣＨ１１からスコアが閾値「０．６」以上である文字列を商品名として抽出する。具体的には、抽出装置１００は、図２中の抽出情報ＥＳ１１に示すように、商品ＧＤ１１の文字情報ＣＨ１１から文字列ＳＴ１１と文字列ＳＴ１４とを商品名として抽出する。例えば、抽出装置１００は、腕時計バンドである商品ＧＤ１１の製造元に対応する文字列ＳＴ１１と、商品ＧＤ１１の具体的な名称に対応する文字列ＳＴ１４とを商品名とを商品名して抽出する。
【００７８】
その後、抽出装置１００は、ステップＳ２６において抽出した商品名を含む商品ＧＤ１１の商品情報を登録する（ステップＳ２７）。例えば、抽出装置１００は、商品ＧＤ１１の商品名として、文字列ＳＴ１１と文字列ＳＴ１４とを含む「商品名ＮＸ」を登録する。図２の例では、抽出装置１００は、「商品名ＮＸ」を含む商品ＧＤ１１の商品情報を商品情報記憶部１２３に登録する。
【００７９】
例えば、抽出装置１００は、図２中の商品情報記憶部１２３に示すように、商品ＩＤ「ＧＤ１１」により識別される商品（商品ＧＤ１１）の商品名として、「商品名ＮＸ」を登録する。また、抽出装置１００は、商品ＧＤ１１の画像として、画像ＩＭ１１を登録し、商品ＧＤ１１の文字情報として、文字情報ＣＨ１１を登録する。
【００８０】
その後、抽出装置１００は、抽出した商品名に基づいてサービスを提供する（ステップＳ２８）。図２の例では、抽出装置１００は、ユーザＵ１が利用する端末装置１０に商品名「商品名ＮＸ」として、商品ＧＤ１１に関する商品情報を提供する。
【００８１】
上述したように、抽出装置１００は、販売元が出品した商品情報から商品名を抽出し、抽出した商品名をユーザに提供するカテゴリに関する情報を販売元に提供することにより、電子商取引サービスを向上させ、ユーザの満足度を高めることができる。
【００８２】
（２−１．抽出情報の利用）
図１及び図２の例においては、ネットショッピングモールにおける場合を例示したが、オークションサービスにおいて個人が出品を行う場合、事業者が行う場合に比べて入力する情報が不足している場合が多い。このような場合であっても、抽出装置１００は、種々の用途のモデルを生成し、生成したモデルを用いて取得した出品に関する情報に対して抽出処理を行うことにより、抽出した情報を販売元に提供することが可能となる。これにより、抽出装置１００は、文字情報から商品の特徴情報を適切に抽出することができる。
【００８３】
また、オークションサービスに限らず、１つの販売元が商品を販売する形態ではなく、複数の販売元から出品を受け付けるネットショッピングモール等においても同様の課題が生じる。例えば、ＪＡＮコード等のような商品の識別情報が出品に関する情報に含まれていない場合、どの商品とどの商品が対応するかが不明である場合が多く、商品の販売状況等の管理が難しい。このように、商品の識別情報が出品に関する情報に含まれていない場合であっても、例えば商品名を抽出するモデルを用いることにより、商品に関する情報を抽出し、その情報に基づいて商品の販売状況等を管理することが可能となる。
【００８４】
（２−２．画像内の文字）
図１及び図２の例では、モデルを用いて商品の文字情報から商品名を抽出する場合を示した、抽出装置１００は、種々の情報を用いて、商品名を抽出してもよい。例えば、抽出装置１００は、画像内に商品名が含まれている場合、その情報を基に商品名を抽出してもよい。例えば、抽出装置１００は、商品のパッケージ含まれる画像に商品名が含まれている場合、その情報を基に商品名を抽出してもよい。例えば、抽出装置１００は、商品のパッケージ含まれる画像に商品名が含まれている場合、その情報を商品名として抽出してもよい。
【００８５】
〔３．抽出装置の構成〕
次に、図４を用いて、実施形態に係る抽出装置１００の構成について説明する。図４は、実施形態に係る抽出装置１００の構成例を示す図である。図４に示すように、抽出装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、抽出装置１００は、抽出装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００８６】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワークと有線または無線で接続され、管理者装置５０との間で情報の送受信を行う。
【００８７】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図４に示すように、学習データ記憶部１２１と、モデル情報記憶部１２２と、商品情報記憶部１２３とを有する。
【００８８】
（学習データ記憶部１２１）
実施形態に係る学習データ記憶部１２１は、学習データに関する各種情報を記憶する。図５は、実施形態に係る学習データ記憶部の一例を示す図である。例えば、学習データ記憶部１２１は、モデルの生成に用いる教師データを記憶する。図５に示す学習データ記憶部１２１には、「商品ＩＤ」、「正解情報」、「画像」、「文字情報」といった項目が含まれる。
【００８９】
「商品ＩＤ」は、商品を識別するための識別情報を示す。例えば、商品ＩＤ「ＧＤ１０１」により識別される商品は、図１の例に示した商品ＧＤ１０１に対応する。「正解情報」は、商品ＩＤにより識別される商品の商品名を示す。「画像」は、商品情報に含まれる画像を示す。図５では「画像」に「ＩＭ１０１」といった概念的な情報が格納される例を示したが、実際には、画像情報、または、その格納場所を示すファイルパス名などが格納される。
【００９０】
「文字情報」は、商品情報の文字情報を示す。図５では「文字情報」に「ＣＨ１０１」といった概念的な情報が格納される例を示したが、実際には、商品情報のタイトルや説明文等の商品情報に関する種々の文字情報が格納される。
【００９１】
例えば、図５に示す例において、商品ＩＤ「ＧＤ１０１」により識別される商品（商品ＧＤ１０１）の商品情報は、画像ＩＭ１０１や文字情報ＣＨ１０１を含むことを示す。また、例えば、商品ＧＤ１０１の商品名は、名称「商品名ＮＡ」である。また、例えば、図５に示す例において、商品ＩＤ「ＧＤ１０２」により識別される商品（商品ＧＤ１０２）の商品情報は、画像ＩＭ１０２や文字情報ＣＨ１０２を含むことを示す。例えば、商品ＧＤ１０２の商品名は、名称「商品名ＮＢ」である。なお、図５の例では商品名を「商品名ＮＡ」や「商品名ＮＢ」等の抽象的な符号で図示するが、商品名は、具体的な商品の名称（文字列）であるものとする。
【００９２】
なお、学習データ記憶部１２１は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習データ記憶部１２１は、学習データが追加された日時に関する情報を記憶してもよい。また、例えば、学習データ記憶部１２１は、各学習データがどのような判定処理により追加されたかを示す情報を記憶してもよい。例えば、学習データ記憶部１２１は、各学習データが管理者の選択により判定されたか等を示す情報を記憶してもよい。
【００９３】
（モデル情報記憶部１２２）
実施形態に係るモデル情報記憶部１２２は、モデルに関する情報を記憶する。例えば、モデル情報記憶部１２２は、生成処理により生成されたモデル情報（モデルデータ）を記憶する。図６は、実施形態に係るモデル情報記憶部の一例を示す図である。図６に示すモデル情報記憶部１２２は、「モデルＩＤ」、「部分モデルＩＤ」、「用途」、「モデルデータ」といった項目が含まれる。なお、図６では、モデルＭ１のみを図示するが、モデルＭ２、Ｍ３等の複数のモデル情報が記憶されてもよい。
【００９４】
「モデルＩＤ」は、モデルを識別するための識別情報を示す。例えば、モデルＩＤ「Ｍ１」により識別されるモデルは、図１の例に示したモデルＭ１に対応する。「部分モデルＩＤ」は、対応するモデルの部分モデルを識別するための識別情報を示す。例えば、部分モデルＩＤ「Ｍ１１」により識別される部分モデルは、図１の例に示した部分モデルＭ１１に対応する。「用途」は、対応する部分モデルの用途を示す。また、「モデルデータ」は、対応する部分モデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
【００９５】
例えば、図６に示す例において、モデルＭ１には、部分モデルＭ１１〜Ｍ１３等が含まれることを示す。また、例えば、部分モデルＩＤ「Ｍ１１」により識別されるモデル（部分モデルＭ１１）は、用途が「画像特徴抽出」であり、入力された画像情報からの特徴の抽出に用いられることを示す。また、図６に示す例において、部分モデルＭ１１は、ＣＮＮであることを示す。
【００９６】
モデルＭ１（各モデルデータＭＤＴ１１〜ＭＤＴ１３等）は、商品に関する画像情報及び文字情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された画像情報及び文字情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、文字情報に含まれる各文字列が商品名であるかどうかを定量化した値に関する情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【００９７】
例えば、モデルＭ１が含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【００９８】
なお、モデル情報記憶部１２２は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
【００９９】
（商品情報記憶部１２３）
実施形態に係る商品情報記憶部１２３は、商品に関する各種情報を記憶する。図７に、実施形態に係る商品情報記憶部１２３の一例を示す。図７に示す商品情報記憶部１２３は、「商品ＩＤ」、「画像」、「文字情報」、「商品名」といった項目を有する。
【０１００】
「商品ＩＤ」は、商品を識別するための識別情報を示す。「画像」は、商品情報である商品情報の画像を示す。図７では「画像」に「ＩＭ１」といった概念的な情報が格納される例を示したが、実際には、画像情報、または、その格納場所を示すファイルパス名などが格納される。
【０１０１】
「文字情報」は、商品ＩＤにより識別される商品の商品情報に含まれる文字情報を示す。「文字情報」には、商品ＩＤにより識別される商品の商品情報に含まれるタイトルや説明文等の種々の文字情報が含まれる。なお、図７に示す商品情報記憶部１２３では、文字情報を文字情報「ＣＨ１」等のように抽象的な記号で示すが、例えば「新品バッグＡ…」や「送料無料…」等のように、各タイトルは対応する商品の具体的なタイトルであるものとする。「商品名」は、対応する商品の商品名を示す。例えば、「商品名」は、モデルにより抽出された商品名を示す。
【０１０２】
例えば、図７に示す例において、商品ＩＤ「ＧＤ１」により識別される商品（商品ＧＤ１）の画像は、画像「ＩＭ１」であることを示す。また、商品ＧＤ１の文字情報は、文字情報「ＣＨ１」であることを示す。また、商品ＧＤ１の商品名は、名称「商品名ＮＰ」であることを示す。
【０１０３】
なお、商品情報記憶部１２３は、上記に限らず、目的に応じて種々の情報を記憶してもよい。商品情報記憶部１２３は、商品の具体的な名称等を記憶してもよい。
【０１０４】
（制御部１３０）
図４の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、抽出装置１００内部の記憶装置に記憶されている各種プログラム（抽出プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。制御部１３０は、モデル情報記憶部１２２に記憶されているモデルＭ１等に従った情報処理により、商品に関する画像情報及び文字情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された画像情報及び文字情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、文字情報に含まれる各文字列が商品名であるかどうかを定量化した値に関する情報を出力層から出力する。
【０１０５】
図４に示すように、制御部１３０は、取得部１３１と、生成部１３２と、抽出部１３３と、提供部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。制御部１３０は、記憶部１２０に記憶されているモデルＭ１（各モデルデータＭＤＴ１１〜ＭＤＴ１３等）に従った情報処理により、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された画像情報及び文字情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、文字情報に含まれる各文字列が商品名であるかどうかを定量化した値に関する情報を出力層から出力する。
【０１０６】
（取得部１３１）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、学習データ記憶部１２１と、モデル情報記憶部１２２と、商品情報記憶部１２３等から各種情報を取得する。また、取得部１３１は、各種情報を外部の情報処理装置から取得してもよい。また、取得部１３１は、各種情報を管理者装置５０や販売元装置２０等から取得してもよい。
【０１０７】
取得部１３１は、商品に関する文字情報及び画像情報を取得する。例えば、取得部１３１は、複数の販売元が提供する商品を購入可能な電子商取引サービスにおける出品に関する情報を取得する。例えば、取得部１３１は、出品に関する複数の種別の情報を取得する。例えば、取得部１３１は、出品に関する画像情報及び文字情報を取得する。例えば、取得部１３１は、出品に関する複数の種別の情報を取得する。例えば、取得部１３１は、出品に関する画像情報及び文字情報を取得する。
【０１０８】
図１の例では、取得部１３１は、正解情報が付与された学習データＬＤ１を取得する。例えば、取得部１３１は、正解情報が付与された商品ＧＤ１０１〜ＧＤ１０４等の商品情報を取得する。
【０１０９】
図２の例では、取得部１３１は、販売元ＳＡ１が利用する販売元装置２０から出品に関する情報を取得する。例えば、取得部１３１は、販売元装置２０から画像ＩＭ１１及び文字情報ＣＨ１１を含む商品ＧＤ１１の商品情報を取得する。
【０１１０】
（生成部１３２）
生成部１３２は、各種情報を生成する。例えば、生成部１３２は、学習データ記憶部１２１に記憶された学習データを用いて、モデル情報記憶部１２２に示すようなモデルを生成する。例えば、生成部１３２は、取得部１３１により取得された学習データに基づいて、電子商取引サービスにおける商品の文字情報から商品名を抽出するために用いるモデルを生成する。生成部１３２は、モデルを生成し、生成したモデルをモデル情報記憶部１２２に格納する。具体的には、生成部１３２は、商品に関する画像情報及び文字情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された画像情報及び文字情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、文字情報に含まれる各文字列が商品名であるかどうかを定量化した値に関する情報を出力層から出力するモデルを生成する。
【０１１１】
図１の例では、生成部１３２は、複数の文字列ＳＴ１〜ＳＴ４等をベクトル化する。例えば、生成部１３２は、分散表現等の種々の従来技術を適宜用いて、文字列ＳＴ１〜ＳＴ４等の各々をベクトル化する。例えば、生成部１３２は、ｗ２ｖ（word2vec）等の周知の技術を用いて、文字列ＳＴ１〜ＳＴ４等の各々をベクトル化する。図１の例では、生成部１３２は、文字列ＳＴ１〜ＳＴ４等の各々に対応するベクトルＥＮ１〜ＥＮ４等を生成する。例えば、生成部１３２は、文字列ＳＴ１に対応するベクトルＥＮ１を生成する。例えば、生成部１３２は、分散表現等の技術により、文字列ＳＴ１からベクトルＥＮ１を生成する。
【０１１２】
図１の例では、生成部１３２は、学習データに基づいてモデルを生成する。例えば、生成部１３２は、学習データ記憶部１２１中の商品ＧＤ１０１〜ＧＤ１０４等の商品情報を学習データ（教師データ）として、学習を行なうことにより、モデルを生成する。
【０１１３】
図１の例では、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、正解情報「商品名ＮＡ」に含まれる文字列に対応するスコアが大きくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、文字列ＳＴ１や文字列ＳＴ３に対応するスコアが大きくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、商品名ＮＡに含まれる文字列ＳＴ１や文字列ＳＴ３に対応するスコアが所定の閾値より大きくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ１やスコアＳＣ３が所定の閾値より大きくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ１やスコアＳＣ３が「１」に近くなるように、学習処理を行う。
【０１１４】
例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、正解情報「商品名ＮＡ」に含まれない文字列に対応するスコアが小さくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、商品名ＮＡに含まれない文字列ＳＴ２や文字列ＳＴ４に対応するスコアが小さくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、文字列ＳＴ２や文字列ＳＴ４に対応するスコアが所定の閾値より小さくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ２やスコアＳＣ４が所定の閾値より小さくなるように、学習処理を行う。例えば、生成部１３２は、モデルＭ１に商品ＧＤ１０１に対応する情報が入力された場合に、スコアＳＣ２やスコアＳＣ４が「０」に近くなるように、学習処理を行う。
【０１１５】
例えば、生成部１３２は、モデルＭ１における出力（スコア）と、入力した商品情報に対応する正解情報との誤差が少なくなるようにパラメータ（接続係数）を補正するバックプロパゲーション（誤差逆伝播法）等の処理によりモデルＭ１を生成する。例えば、生成部１３２は、所定の損失（ロス）関数を最小化するようにバックプロパゲーション等の処理を行うことによりモデルＭ１を生成する。なお、生成部１３２は、上記のような学習処理を各部分モデルＭ１１〜Ｍ１３の各々について行ってもよい。例えば、生成部１３２は、上記のような学習処理を部分モデルＭ１２について行ってもよい。また、例えば、生成部１３２は、上記のような学習処理を部分モデルＭ１３について行ってもよい。
【０１１６】
（抽出部１３３）
抽出部１３３は、各種情報を抽出する。抽出部１３３は、学習データ記憶部１２１と、モデル情報記憶部１２２と、商品情報記憶部１２３等に記憶された情報を用いて種々の情報を抽出する。例えば、抽出部１３３は、取得部１３１により取得された各種情報に基づいて、種々の情報を抽出する。
【０１１７】
例えば、抽出部１３３は、取得部１３１により取得された画像情報に基づいて、文字情報から商品の特徴を示す特徴情報を抽出する。例えば、抽出部１３３は、文字情報から、商品の特徴に関連する文字列である関連文字列を特徴情報として抽出する。例えば、抽出部１３３は、文字情報に含まれる複数の文字列のうち、関連文字列を特徴情報として抽出する。例えば、抽出部１３３は、所定の形態素解析により文字情報が分割された複数の文字列のうち、関連文字列を特徴情報として抽出する。
【０１１８】
例えば、抽出部１３３は、複数のベクトル情報の各々を所定のニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。例えば、抽出部１３３は、複数のベクトル情報をリカレントニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。
【０１１９】
例えば、抽出部１３３は、複数のベクトル情報を文字情報における順序に基づいてモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。例えば、抽出部１３３は、画像情報をベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。例えば、抽出部１３３は、画像情報を所定のニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。例えば、抽出部１３３は、畳み込みニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。例えば、抽出部１３３は、文字情報から商品の名称を特徴情報として抽出する。
【０１２０】
例えば、抽出部１３３は、商品の文字情報から商品名を抽出するために用いられるモデルであって、出品に関する情報が入力されたモデルの出力に基づいて、商品の特徴情報を抽出する。例えば、抽出部１３３は、出品に関する複数の種別の情報が入力されたモデルの出力に基づいて、商品の特徴情報を抽出する。例えば、抽出部１３３は、画像情報及び文字情報が入力されたモデルの出力に基づいて、商品の特徴情報を抽出する。例えば、抽出部１３３は、所定の情報により生成されたニューラルネットワークを含むモデルを用いて、商品の特徴情報を抽出する。例えば、抽出部１３３は、畳み込み処理及びプーリング処理を行うニューラルネットワークを含むモデルを用いて、商品の特徴情報を抽出する。
【０１２１】
図２の例では、抽出部１３３は、商品ＧＤ１１の画像ＩＭ１１や文字列ＳＴ１１〜ＳＴ１４等の各々に対応するベクトルＥＮ１１〜ＥＮ１４等をモデルＭ１に入力する。これにより、抽出部１３３は、モデルＭ１に文字列ＳＴ１１〜ＳＴ１４等が商品名であるかを示すスコアを出力させる。図２の例では、抽出部１３３は、モデルＭ１（部分モデルＭ１３）が出力するスコアが所定の閾値（例えば、０．６等）以上である場合、その文字列が商品名であると判定する。
【０１２２】
例えば、抽出部１３３は、商品ＧＤ１１の情報を入力することにより、モデルＭ１は、文字情報の各文字列が商品名であるかを示すスコアを出力させる。例えば、モデルＭ１は、文字列ＳＴ１１が商品名であるかを示すスコアＳＣ１１を出力する。図２の例では、モデルＭ１が文字列ＳＴ１１のスコアＳＣ１１として「０．７」を出力したため、抽出部１３３は、文字列ＳＴ１１が商品ＧＤ１１の商品名であると判定する。
【０１２３】
また、例えば、モデルＭ１は、文字列ＳＴ１２が商品名であるかを示すスコアＳＣ１２を出力する。図２の例では、モデルＭ１が文字列ＳＴ１２のスコアＳＣ１２として「０．２」を出力したため、抽出部１３３は、文字列ＳＴ１２が商品ＧＤ１１の商品名ではないと判定する。
【０１２４】
例えば、モデルＭ１は、文字列ＳＴ１３が商品名であるかを示すスコアＳＣ１３を出力する。図２の例では、モデルＭ１が文字列ＳＴ１３のスコアＳＣ１３として「０．４」を出力したため、抽出部１３３は、文字列ＳＴ１３が商品ＧＤ１１の商品名ではないと判定する。
【０１２５】
例えば、モデルＭ１は、文字列ＳＴ１４が商品名であるかを示すスコアＳＣ１４を出力する。図２の例では、モデルＭ１が文字列ＳＴ１４のスコアＳＣ１４として「０．８」を出力したため、抽出部１３３は、文字列ＳＴ１４が商品ＧＤ１１の商品名であると判定する。
【０１２６】
そして、抽出部１３３は、商品ＧＤ１１の文字情報ＣＨ１１から商品名を抽出する。図２の例では、抽出部１３３は、商品ＧＤ１１の文字情報ＣＨ１１からスコアが閾値「０．６」以上である文字列を商品名として抽出する。具体的には、抽出部１３３は、商品ＧＤ１１の文字情報ＣＨ１１から、文字列ＳＴ１１と文字列ＳＴ１４とを商品名として抽出する。
【０１２７】
例えば、抽出部１３３は、図２中の商品情報記憶部１２３に示すように、商品ＩＤ「ＧＤ１１」により識別される商品（商品ＧＤ１１）の商品名として、「商品名ＮＸ」を登録する。また、抽出部１３３は、商品ＧＤ１１の画像として、画像ＩＭ１１を登録し、商品ＧＤ１１の文字情報として、文字情報ＣＨ１１を登録する。
【０１２８】
例えば、抽出部１３３は、上述したニューラルネットワーク等、任意の構造を有するモデルを用いて、スコアの算出を行う。具体的には、モデルＭ１は、画像及び文字情報を含む商品情報（すなわち、上述したスコアの算出に用いられる各要素）が入力された場合に、文字情報に含まれる各文字列が商品名であるかの可能性を定量化した値（すなわち、商品の文字情報に含まれる各文字列のうち、どの文字列が商品名である可能性が高いかを示唆するスコア）を出力するように係数が設定される。抽出部１３３は、このようなモデルＭ１を用いて、文字情報に含まれる各文字列が商品名であるかの可能性に関するスコアを算出する。
【０１２９】
なお、上記例では、モデルＭ１が、画像及び文字情報を含む商品情報が入力された場合に、文字情報に含まれる各文字列が商品名であるかの可能性を定量化した値を出力するモデルである例を示した。しかし、実施形態に係るモデル（モデルＸ）は、モデルＭ１にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルＸは、画像及び文字情報を含む商品情報を入力とし、モデルＭ１が出力するスコアを出力とするよう学習されたモデル（モデルＹ)であってもよい。または、モデルＭ１は、画像及び文字情報を含む商品情報を入力とし、モデルＹの出力値を出力とするよう学習されたモデルであってもよい。また、抽出部１３３がＧＡＮ（Generative  Adversarial  Networks）を用いた抽出処理を行う場合、モデルＭ１は、ＧＡＮの一部を構成するモデルであってもよい。
【０１３０】
（提供部１３４）
提供部１３４は、各種情報を提供する。例えば、提供部１３４は、管理者装置５０や販売元装置２０に各種情報を提供する。例えば、提供部１３４は、抽出部１３３により抽出された商品の特徴情報に基づくサービスを提供する。
【０１３１】
図２の例では、提供部１３４は、抽出した商品名に基づいてサービスを提供する。例えば、提供部１３４は、ユーザＵ１が利用する端末装置１０に商品名「商品名ＮＸ」として、商品ＧＤ１１に関する商品情報を提供する。
【０１３２】
〔４．生成処理のフロー〕
次に、図８を用いて、実施形態に係る抽出システム１による生成処理の手順について説明する。図８は、実施形態に係る生成処理の一例を示すフローチャートである。
【０１３３】
図８に示すように、抽出装置１００は、学習データを取得する（ステップＳ１０１）。例えば、抽出装置１００は、学習データ記憶部１２１から学習データを取得する。
【０１３４】
その後、抽出装置１００は、学習データに基づきモデルを生成する（ステップＳ１０２）。図１の例では、抽出装置１００は、学習データ記憶部１２１から学習データを用いてモデルＭ１を生成する。
【０１３５】
〔５．抽出処理のフロー〕
次に、図９を用いて、実施形態に係る抽出システム１による生成処理の手順について説明する。図９は、実施形態に係る抽出処理の一例を示すフローチャートである。
【０１３６】
図９に示すように、抽出装置１００は、販売元から商品情報を取得する（ステップＳ２０１）。図２の例では、抽出装置１００は、販売元ＳＡ１が利用する販売元装置２０から画像と文字情報とを含む商品情報を取得する。
【０１３７】
また、抽出装置１００は、モデルを用いて商品情報から商品名を抽出する（ステップＳ２０２）。図２の例では、抽出装置１００は、商品情報中の文字情報から商品名を抽出する。
【０１３８】
また、抽出装置１００は、抽出した商品名に基づいてサービスを提供する（ステップＳ２０３）。図２の例では、抽出装置１００は、ユーザＵ１が利用する端末装置１０に商品名「商品名ＮＸ」として、商品ＧＤ１１に関する商品情報を提供する。
【０１３９】
〔６．判定用モデル〕
上述した例では、図１及び図２の例では、各文字列が商品名であるかを示すスコアを出力するモデルを一例として示したが、モデルは、種々の情報を出力するモデルであってもよい。この点について図１０を用いて説明する。図１０は、実施形態に係るモデルの一例を示す図である。なお、図１と同様の点については、同一の部位には同一の符号を付し、適宜説明を省略する。
【０１４０】
図１０に示すモデルＭ１Ａは、部分モデルＭ１３が部分モデルＭ２１に変更されている点で図１及び図２に示すモデルＭ１と相違する。
【０１４１】
例えば、図１０に示すモデルＭ１Ａ（部分モデルＭ２１）は、商品情報に含まれる文字情報と画像情報とが入力された場合、画像情報に基づいて、文字情報の各文字列が商品名の先頭、中間、終端、商品名以外のいずれであるかを示す複数のスコアを出力する。例えば、図１０に示すモデルＭ１Ａ（部分モデルＭ２１）は、ソフトマックス関数等の種々の関数を用いて、各スコアを出力してもよい。
【０１４２】
例えば、部分モデルＭ２１は、文字列ＳＴ１の文字特徴ＣＦＥ１と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ１が商品名の先頭、中間、終端、商品名以外のいずれであるかを示す複数のスコアＳＣ２１を出力する。図１０の例では、文字列ＳＴ１が商品名の先頭である確率に関するスコアがスコアＳＣ２１−１であり、中間である確率に関するスコアがスコアＳＣ２１−２であり、終端である確率に関するスコアがスコアＳＣ２１−３であり、商品名以外である確率に関するスコアがスコアＳＣ２１−４である場合を示す。
【０１４３】
また、例えば、部分モデルＭ２１は、文字列ＳＴ２の文字特徴ＣＦＥ２と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ２が商品名の先頭、中間、終端、商品名以外のいずれであるかを示す複数のスコアＳＣ２２を出力する。図１０の例では、文字列ＳＴ２が商品名の先頭である確率に関するスコアがスコアＳＣ２２−１であり、中間である確率に関するスコアがスコアＳＣ２２−２であり、終端である確率に関するスコアがスコアＳＣ２２−３であり、商品名以外である確率に関するスコアがスコアＳＣ２２−４である場合を示す。
【０１４４】
また、例えば、部分モデルＭ２１は、文字列ＳＴ３の文字特徴ＣＦＥ３と画像ＩＭ１０１の画像特徴ＩＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ３が商品名の先頭、中間、終端、商品名以外のいずれであるかを示す複数のスコアＳＣ２３を出力する。図１０の例では、文字列ＳＴ３が商品名の先頭である確率に関するスコアがスコアＳＣ２３−１であり、中間である確率に関するスコアがスコアＳＣ２３−２であり、終端である確率に関するスコアがスコアＳＣ２３−３であり、商品名以外である確率に関するスコアがスコアＳＣ２３−４である場合を示す。
【０１４５】
また、例えば、抽出装置１００は、上記のようなスコアを用いて、文字情報から商品名を抽出してもよい。例えば、抽出装置１００は、各文字列が商品名の先頭、中間、終端、商品名以外のいずれであるかを示す複数のスコア（確率）に基づいて、文字情報から商品名を抽出してもよい。例えば、抽出装置１００は、系列ラベリングの種々の従来技術を適宜用いて文字情報から商品名を抽出してもよい。例えば、抽出装置１００は、条件付き確率場、いわゆるＣＲＦ（Conditional  random  field）等の種々の従来技術を適宜用いて文字情報から商品名を抽出してもよい。なお、ＣＲＦについては、従来技術であるため説明を省略する。
【０１４６】
例えば、抽出装置１００は、所定のスコア（尤度）が高い組合せ（経路）を選択することにより、その経路において商品名の先頭、中間、終端のいずれかとされた文字列を商品名として抽出してもよい。例えば、文字列ＳＴ１が商品名以外、文字列ＳＴ２が商品名先頭、文字列ＳＴ３が商品名中間、文字列ＳＴ４が商品名以外、文字列ＳＴ５が商品名終端となる組合せ（経路）のスコア（尤度）が最も高い場合、抽出装置１００は、文字列ＳＴ２、文字列ＳＴ３、及び文字列ＳＴ５を商品名として抽出してもよい。なお、上記は一例であり、抽出装置１００は、種々の情報を適宜用いて商品名を抽出してもよい。
【０１４７】
このように、抽出装置１００は、各文字列が商品名の先頭、中間、終端、商品名以外のいずれであるかの組合せのうち、尤度が高い経路をたどることにより、より適切に文字情報から商品名を抽出することができる。すなわち、抽出装置１００は、各文字列が商品名であるか否か、また商品名である場合はどの位置に該当であるかの組合せのうち、より尤もらしい組合せを選択することにより、適切な商品名の抽出が可能となる。
【０１４８】
〔７．文字に対応する画像の注目領域〕
また、抽出装置１００は、文字列に対応する画像の領域の特徴を用いて、商品名の抽出を行ってもよい。この点について、図１１を用いて説明する。図１１は、実施形態に係る画像の特徴の一例を示す図である。なお、図１と同様の点については、同一の部位には同一の符号を付し、適宜説明を省略する。
【０１４９】
抽出装置１００は、画像特徴ＩＦＥ１０１から文字特徴ＣＦＥ１を用いて、文字特徴ＣＦＥ１に対応する画像における領域の特徴（以下、「注視特徴」ともいう）を抽出する。図１１の例では、抽出装置１００は、画像特徴ＩＦＥ１０１と文字特徴ＣＦＥ１とをアテンションモデルである部分モデルＭ３１に入力することにより、文字特徴ＣＦＥ１に対応する画像における領域の注視特徴ＡＦＥ１０１を抽出する。なお、アテンションモデルについては、従来技術であるため説明を省略する。このように、抽出装置１００は、文字列に応じて、その文字列については画像中のどこに注視すべきかを学習されたアテンションモデルを用いてもよい。
【０１５０】
図１１の例では、抽出装置１００は、文字特徴ＣＦＥ１に対応する文字列が「黒」である場合、画像特徴ＩＦＥ１０１と文字特徴ＣＦＥ１とをアテンションモデルＭ３１に入力することにより、画像特徴ＩＦＥ１０１における「黒」に対応する領域の注視特徴ＡＦＥ１０１を抽出する。例えば、抽出装置１００は、文字特徴ＣＦＥ１に対応する文字列が「黒」である場合、画像特徴ＩＦＥ１０１と文字特徴ＣＦＥ１とをアテンションモデルＭ３１に入力することにより、画像中に含まれる「黒」色の領域に対応する注視特徴ＡＦＥ１０１を抽出する。
【０１５１】
例えば、部分モデルＭ３２は、文字列ＳＴ１の文字特徴ＣＦＥ１と注視特徴ＡＦＥ１０１との連結ベクトルが入力されることにより、文字列ＳＴ１が商品名であるかを示すスコアＳＣ３１を出力する。そして、抽出装置１００は、部分モデルＭ３２が出力するスコアＳＣ３１に基づいて、文字情報から商品名を抽出する。なお、抽出装置１００は、スコアを用いた商品名については、図１や図１０と同様の処理であってもよい。
【０１５２】
また、例えば、抽出装置１００は、文字列が「文字盤」である場合、画像特徴と文字特徴とをアテンションモデルＭ３１に入力することにより、画像特徴における「文字盤」に対応する領域の注視特徴を抽出する。例えば、抽出装置１００は、文文字列が「文字盤」である場合、アテンションモデルＭ３１を用いて、画像中に含まれる「文字盤」の領域に対応する注視特徴を抽出する。
【０１５３】
このように、抽出装置１００は、各文字列に対応する注視特徴を用いることにより、より適切に文字情報から商品名を抽出することができる。すなわち、抽出装置１００は、文字列に対応する画像の特定の領域の情報を用いることにより、画像と文字情報の両方の特徴を反映した商品名の抽出が可能となる。
【０１５４】
〔８．効果〕
上述してきたように、実施形態に係る抽出装置１００は、取得部１３１と、抽出部１３３とを有する。取得部１３１は、商品に関する文字情報及び画像情報を取得する。また、抽出部１３３は、取得部１３１により取得された画像情報に基づいて、文字情報から商品の特徴を示す特徴情報を抽出する。
【０１５５】
このように、実施形態に係る抽出装置１００は、画像情報に基づいて、文字情報から商品の特徴を示す特徴情報を抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１５６】
また、実施形態に係る抽出装置１００において、抽出部１３３は、文字情報から、商品の特徴に関連する文字列である関連文字列を特徴情報として抽出する。
【０１５７】
このように、実施形態に係る抽出装置１００は、文字情報から、商品の特徴に関連する文字列である関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１５８】
また、実施形態に係る抽出装置１００において、抽出部１３３は、文字情報に含まれる複数の文字列のうち、関連文字列を特徴情報として抽出する。
【０１５９】
このように、実施形態に係る抽出装置１００は、文字情報に含まれる複数の文字列のうち、関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１６０】
また、実施形態に係る抽出装置１００において、抽出部１３３は、所定の形態素解析により文字情報が分割された複数の文字列のうち、関連文字列を特徴情報として抽出する。
【０１６１】
このように、実施形態に係る抽出装置１００は、所定の形態素解析により文字情報が分割された複数の文字列のうち、関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１６２】
また、実施形態に係る抽出装置１００において、抽出部１３３は、複数のベクトル情報の各々を所定のニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。
【０１６３】
このように、実施形態に係る抽出装置１００は、複数のベクトル情報の各々を所定のニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１６４】
また、実施形態に係る抽出装置１００において、抽出部１３３は、複数のベクトル情報をリカレントニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。
【０１６５】
このように、実施形態に係る抽出装置１００は、複数のベクトル情報をリカレントニューラルネットワークであるモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１６６】
また、実施形態に係る抽出装置１００において、抽出部１３３は、複数のベクトル情報を文字情報における順序に基づいてモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出する。
【０１６７】
このように、実施形態に係る抽出装置１００は、複数のベクトル情報を文字情報における順序に基づいてモデルに入力することにより出力される複数の出力情報を用いて、関連文字列を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１６８】
また、実施形態に係る抽出装置１００において、抽出部１３３は、画像情報をベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。
【０１６９】
このように、実施形態に係る抽出装置１００は、画像情報をベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１７０】
また、実施形態に係る抽出装置１００において、抽出部１３３は、画像情報を所定のニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。
【０１７１】
このように、実施形態に係る抽出装置１００は、画像情報を所定のニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１７２】
また、実施形態に係る抽出装置１００において、抽出部１３３は、畳み込みニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出する。
【０１７３】
このように、実施形態に係る抽出装置１００は、畳み込みニューラルネットワークであるモデルによりベクトル化した画像ベクトル情報を用いて、文字情報から特徴情報を抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１７４】
また、実施形態に係る抽出装置１００において、抽出部１３３は、文字情報から商品の名称を特徴情報として抽出する。
【０１７５】
このように、実施形態に係る抽出装置１００は、文字情報から商品の名称を特徴情報として抽出することにより、文字情報から商品の特徴情報を適切に抽出することができる。
【０１７６】
また、実施形態に係る抽出装置１００は、提供部１３４を有する。提供部１３４は、抽出部１３３により抽出された商品の特徴情報に基づくサービスを提供する。
【０１７７】
このように、実施形態に係る抽出装置１００は、抽出された商品の特徴情報に基づくサービスを提供することにより、適切にサービスを提供することができる。
【０１７８】
〔９．ハードウェア構成〕
上述してきた実施形態に係る抽出装置１００は、例えば図１２に示すような構成のコンピュータ１０００によって実現される。図１２は、抽出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１７９】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１８０】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ送信する。
【０１８１】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１８２】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１８３】
例えば、コンピュータ１０００が実施形態に係る抽出装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムまたはデータ（例えば、モデルＭ１（各モデルデータＭＤＴ１１〜ＭＤＴ１３等））を実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムまたはデータ（例えば、モデルＭ１（各モデルデータＭＤＴ１１〜ＭＤＴ１３等））を記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１８４】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１８５】
〔１０．その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１８６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１８７】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１８８】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１８９】
１  抽出システム
１００  抽出装置
１２１  学習データ記憶部
１２２  モデル情報記憶部
１２３  商品情報記憶部
１３０  制御部
１３１  取得部
１３２  生成部
１３３  抽出部
１３４  提供部
１０  端末装置
２０  販売元装置
５０  管理者装置
Ｎ  ネットワーク
【図１】
2019049945.tif 000003
【図２】
2019049945.tif 000004
【図３】
2019049945.tif 000005
【図４】
2019049945.tif 000006
【図５】
2019049945.tif 000007
【図６】
2019049945.tif 000008
【図７】
2019049945.tif 000009
【図８】
2019049945.tif 000010
【図９】
2019049945.tif 000011
【図１０】
2019049945.tif 000012
【図１１】
2019049945.tif 000013
【図１２】
2019049945.tif 000014