(57)【要約】【課題】  文書のカテゴリ分類のためのディープラーニング学習方法およびそのシステムを提供する。【解決手段】  コンピュータによって実現されるカテゴリ学習方法は、前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものとして、各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習して文書自動分類のための学習モデルを構築する段階を含む。【選択図】      図４
2019053730.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現されるカテゴリ学習方法であって、
前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものとして、
各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および
前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習して文書自動分類のための学習モデルを構築する段階
を含む、カテゴリ学習方法。
【請求項２】
前記選定する段階は、
前記正解カテゴリと一部の階層が等しいカテゴリのうちから無作為サンプリングによって前記誤答カテゴリを選定すること
を特徴とする、請求項１に記載のカテゴリ学習方法。
【請求項３】
前記選定する段階は、
前記正解カテゴリの最下位階層を除いた残りの階層の各深さ別に、該当の深さの階層まで等しいカテゴリのうちから前記誤答カテゴリをサンプリングする段階
を含む、請求項１に記載のカテゴリ学習方法。
【請求項４】
前記選定する段階は、
前記正解カテゴリの最上位階層を除いた残りのカテゴリのうちから前記誤答カテゴリを追加でサンプリングする段階
をさらに含む、請求項３に記載のカテゴリ学習方法。
【請求項５】
前記構築する段階は、
前記学習文書と、前記正解カテゴリおよび前記誤答カテゴリをそれぞれベクトル化してベクトル空間にマッピングする段階、および
前記学習文書のベクトルを基準に、前記正解カテゴリのベクトルと前記誤答カテゴリのベクトルを同時に学習する段階
を含む、請求項１に記載のカテゴリ学習方法。
【請求項６】
前記学習する段階は、
前記学習文書のベクトルを基準に、前記正解カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ近くなるように、前記誤答カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ遠くなるように、学習すること
を特徴とする、請求項５に記載のカテゴリ学習方法。
【請求項７】
前記カテゴリ学習方法は、
新たな文書が入力されれば、入力された文書と関連のあるカテゴリを前記学習モデルによって判断することにより、該当の文書のカテゴリを分類する段階
をさらに含む、請求項１に記載のカテゴリ学習方法。
【請求項８】
前記分類する段階は、
前記新たな文書に対し、該当の文書と関連があると判断されたカテゴリを勧めるか、あるいは前記新たな文書の正解カテゴリとして自動マーキングすること
を特徴とする、請求項７に記載のカテゴリ学習方法。
【請求項９】
カテゴリ学習方法を実行させるコンピュータプログラムであって、
前記カテゴリ学習方法は、
前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものとして、
各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および
前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習して文書自動分類のための学習モデルを構築する段階
を含む、コンピュータプログラム。
【請求項１０】
コンピュータによって実現されるカテゴリ学習システムであって、
コンピュータが読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
文書のカテゴリとして階層構造を有するカテゴリを学習するためのものとして、
各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する学習データ選定部、および
前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習して文書自動分類のための学習モデルを構築するカテゴリ学習部
を備える、カテゴリ学習システム。
【請求項１１】
前記学習データ選定部は、
前記正解カテゴリと一部の階層が等しいカテゴリのうちから無作為サンプリングによって前記誤答カテゴリを選定すること
を特徴とする、請求項１０に記載のカテゴリ学習システム。
【請求項１２】
前記学習データ選定部は、
前記正解カテゴリの最下位階層を除いた残りの階層の各深さ別に、該当の深さの階層まで等しいカテゴリのうちから前記誤答カテゴリをサンプリングすること
を特徴とする、請求項１０に記載のカテゴリ学習システム。
【請求項１３】
前記学習データ選定部は、
前記正解カテゴリの最上位階層を除いた残りのカテゴリのうちから前記誤答カテゴリを追加でサンプリングすること
を特徴とする、請求項１２に記載のカテゴリ学習システム。
【請求項１４】
前記カテゴリ学習部は、
前記学習文書と、前記正解カテゴリおよび前記誤答カテゴリをそれぞれベクトル化してベクトル空間にマッピングした後、前記学習文書のベクトルを基準に、前記正解カテゴリのベクトルと前記誤答カテゴリのベクトルを同時に学習すること
を特徴とする、請求項１０に記載のカテゴリ学習システム。
【請求項１５】
前記カテゴリ学習部は、
前記学習文書のベクトルを基準に、前記正解カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ近くなるように、前記誤答カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ遠くなるように、学習すること
を特徴とする、請求項１４に記載のカテゴリ学習システム。
【請求項１６】
前記少なくとも１つのプロセッサは、
新たな文書が入力されれば、入力された文書と関連のあるカテゴリを前記学習モデルによって判断することにより、該当の文書のカテゴリを分類するカテゴリ分類部
をさらに備える、請求項１０に記載のカテゴリ学習システム。
【請求項１７】
前記カテゴリ分類部は、
前記新たな文書に対し、該当の文書と関連があると判断されたカテゴリを勧めるか、あるいは前記新たな文書の正解カテゴリとして自動マーキングすること
を特徴とする、請求項１６に記載のカテゴリ学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、文書と関連のあるカテゴリを学習する技術に関する。
【背景技術】
【０００２】
インターネット上には数万〜数億件もの文書が存在しているが、知識共有サービスをはじめ、ブログや各種ＳＮＳ（ｓｏｃｉａｌ  ｎｅｔｗｏｒｋ  ｓｅｒｖｉｃｅ）などの活性化によってその数は幾何級数的に増加し続けている。このような文書には多くの情報が含まれているが、文書に含まれる情報にアクセスするために、検索システムや分析システムなどが多様に使用されている。
【０００３】
文書に含まれる情報にアクセスするための検索および分析システムは、文書をカテゴリ別に区分することによってアクセス性を高めるものが大部分である。例えば、インターネットニュースを提供するポータル検索システムでは、文書を政治、社会、経済、芸能などのカテゴリ別に分類することによって文書に対するアクセス性を高めている。
【０００４】
最初の頃は、このような文書の分類を人間が直接行っていたが、情報の数が急増するに伴い、多くの文書を自動で分類することのできる文書分類技術に関する研究が活発に進められている。
【０００５】
文書分類技術の一例として、特許文献１（公開日２００１年１１月１６日）には、カテゴリ学習技法を利用してウェブ文書を主題別に自動分類する技術が開示されている。
【０００６】
特に、規模が大きく階層の深い分類体系では、ユーザが適切な分類名を見つけるのに困難をきたすことがある。このような現象を解決するために、階層的分類体系で作成した文書にも適した分類名を勧めることのできるシステムが必要となっている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】韓国公開特許公報第１０−２００１−０１０２６８７号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
学習文書の正解カテゴリを基準として誤答カテゴリを選択的にサンプリングし、学習文書に対して正解カテゴリと誤答カテゴリを共に学習することができる方法およびシステムを提供する。
【課題を解決するための手段】
【０００９】
コンピュータによって実現されるカテゴリ学習方法であって、前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものであり、各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習することによって文書自動分類のための学習モデルを構築する段階を含む、カテゴリ学習方法を提供する。
【発明の効果】
【００１０】
本発明の実施形態によると、学習文書の正解カテゴリを基準にして誤答カテゴリを選択的にサンプリングし、学習文書に対して正解カテゴリと誤答カテゴリを共に学習することにより、文書のカテゴリ分類のための学習モデルの正確度を改善し、文書の分類性能を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図である。
【図４】本発明の一実施形態における、サーバのプロセッサが実行することのできる方法の例を示した図である。
【図５】本発明の一実施形態における、学習用データとして使用される学習文書の例を示した図である。
【図６】本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【図７】本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【図８】本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【図９】本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【図１０】本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【図１１】本発明の一実施形態における、カテゴリ学習過程を説明するための例示図である。
【図１２】本発明の一実施形態における、カテゴリ学習過程を説明するための例示図である。
【図１３】本発明の一実施形態における、文書のカテゴリを自動分類する過程の例を説明するための図である。
【発明を実施するための形態】
【００１２】
＜発明の概要＞
コンピュータによって実現されるカテゴリ学習方法であって、前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものであり、各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習することによって文書自動分類のための学習モデルを構築する段階を含む、カテゴリ学習方法を提供する。
【００１３】
一側面によると、前記選定する段階は、前記正解カテゴリと階層の一部が等しいカテゴリのうちから無作為サンプリングによって前記誤答カテゴリを選定してよい。
【００１４】
他の側面によると、前記選定する段階は、前記正解カテゴリの最下位階層を除いた残りの階層の各深さ別に、該当の階層まで等しいカテゴリのうちから前記誤答カテゴリをサンプリングする段階を含んでよい。
【００１５】
また他の側面によると、前記選定する段階は、前記正解カテゴリの最上位階層を除いた残りのカテゴリのうちから前記誤答カテゴリを追加でサンプリングする段階をさらに含んでよい。
【００１６】
また他の側面によると、前記構築する段階は、前記学習文書と、前記正解カテゴリおよび前記誤答カテゴリをそれぞれベクトル化してベクトル空間にマッピングする段階、および前記学習文書のベクトルを基準にして前記正解カテゴリのベクトルと前記誤答カテゴリのベクトルを同時学習する段階を含んでよい。
【００１７】
また他の側面によると、前記学習する段階は、前記学習文書のベクトルを基準に、前記正解カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ近くなるように、前記誤答カテゴリのベクトルは前記学習文書のベクトルと所定の割合だけ遠くなるように、学習してよい。
【００１８】
また他の側面によると、前記カテゴリ学習方法は、新たな文書が入力されると、入力された文書と関連のあるカテゴリを前記学習モデルによって判断することにより、該当の文書のカテゴリを分類する段階をさらに含んでよい。
【００１９】
また他の側面によると、前記分類する段階は、前記新たな文書に対し、該当の文書と関連があると判断されたカテゴリを勧めるか、あるいは前記新たな文書の正解カテゴリとして自動マーキングしてよい。
【００２０】
カテゴリ学習方法を実行させるコンピュータプログラムであって、前記カテゴリ学習方法とは、文書のカテゴリとして階層構造を有するカテゴリを学習するものであり、各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する段階、および前記学習文書に対して前記正解カテゴリと前記誤答カテゴリを共に学習することで、文書自動分類のための学習モデルを構築する段階を含む、コンピュータプログラムを提供する。
【００２１】
コンピュータによって実現されるカテゴリ学習システムであって、コンピュータが読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、文書のカテゴリとして階層構造を有するカテゴリを学習するためのものとして、各学習文書に対し、前記学習文書にマーキングされた正解カテゴリに基づいて前記正解カテゴリと異なる誤答カテゴリを選定する学習データ選定部、および前記学習文書に対し、前記正解カテゴリと前記誤答カテゴリを共に学習することによって文書自動分類のための学習モデルを構築するカテゴリ学習部を備える、カテゴリ学習システムを提供する。
【００２２】
＜発明の詳細＞
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【００２３】
本発明の実施形態は、文書と関連のあるカテゴリを学習する技術に関し、より詳細には、ディープラーニングを利用して文書に相応するカテゴリを学習しようとするとき、効果的なサンプリング方式を利用して文書のカテゴリを学習することができる方法およびシステムに関する。
【００２４】
本明細書で具体的に開示される事項などを含む実施形態は、学習文書に対して複数のカテゴリを選択的に選定して学習文書のカテゴリを学習することができ、これによって正確性、効率性、信頼性、費用節減などの側面において相当な長所を達成することができる。
【００２５】
本明細書において、「カテゴリ」とは、文書の種類や関連分野などを分類するためのものであって、少なくとも２つ以上の深さ（ｄｅｐｔｈ）からなる階層的構造を有する。
【００２６】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００２７】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、タブレット、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）などがある。一例として、第１電子機器１１０は、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信してよい。
【００２８】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００２９】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。
【００３０】
一例として、サーバ１６０は、ネットワーク１７０を介して接続した第１電子機器１１０にアプリケーションのインストールのためのファイルを提供してよい。この場合、第１電子機器１１０は、サーバ１６０から提供されたファイルを利用してアプリケーションをインストールしてよい。また、第１電子機器１１０が含むオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）や少なくとも１つのプログラム（一例として、ブラウザや前記インストールされたアプリケーション）の制御にしたがってサーバ１５０に接続し、サーバ１５０が提供するサービスやコンテンツの提供を受けてもよい。例えば、第１電子機器１１０がアプリケーションの制御にしたがい、ネットワーク１７０を介してサービス要求メッセージをサーバ１５０に送信すると、サーバ１５０はサービス要求メッセージに対応するコードを第１電子機器１１０に送信してよく、第１電子機器１１０はアプリケーションの制御にしたがってコードに基づいた画面を構成して表示することにより、ユーザにコンテンツを提供してよい。
【００３１】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、１つの電子機器の例として第１電子機器１１０の内部構成を、１つのサーバの例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、同一または類似の内部構成を有してよい。
【００３２】
第１電子機器１１０とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、第１電気機器１１０にインストールされ駆動するアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、メモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を通じてメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム（一例として、上述したサーバ１６０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてよい。
【００３３】
第１電子機器１１０とサーバ１５０は、メモリ２１１、２２１の他に、第１電子機器１１０とサーバ１５０によって使用されるかこれによって出力される情報を格納するためのデータベースシステム（図示せず）をさらに含んでよい。データベースシステムは、揮発性メモリ、永久、仮想、またはその他のメモリを含んでよく、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）および／またはＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）を含んでよい。
【００３４】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００３５】
通信モジュール２１３、２２３は、ネットワーク１７０を介して第１電子機器１１０とサーバ１５０とが互いに通信するための機能を提供してもよいし、他の電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、第１電子機器１１０のプロセッサ２１２がメモリ２１１のような記録装置に格納されたプログラムコードにしたがって生成した要求（一例として、検索要求）が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてよい。これとは逆に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て第１電子機器１１０の通信モジュール２１３を通じて第１電子機器１１０に受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてよく、コンテンツやファイルなどは、第１電子機器１１０がさらに含むことのできる格納媒体に格納されてよい。
【００３６】
入力／出力インタフェース２１４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を含んでよく、出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、第１電子機器１１０のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や第２電子機器１２０が提供するデータを利用して構成されるサービス画面やコンテンツが、入力／出力インタフェース２１４を通じてディスプレイに表示されてよい。入力／出力インタフェース２２４も同じように、サーバ１５０のプロセッサ２２２がメモリ２２１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０が提供するデータを利用して構成される情報を出力してよい。
【００３７】
また、他の実施形態において、第１電子機器１１０およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、第１電子機器１１０は、上述した入力／出力装置２１５のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、第１電子機器１１０がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、物理的な各種ボタン、タッチパネルを利用したボタン、入力／出力ポート、振動のための振動器などのような多様な構成要素が第１電子機器１１０にさらに含まれるように実現されてもよいことが理解できるであろう。
【００３８】
以下では、文書のカテゴリを学習する方法およびシステムの具体的な実施形態について説明する。
【００３９】
図３は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図４は、本発明の一実施形態における、サーバのプロセッサが実行することのできる方法の例を示したフローチャートである。
【００４０】
本実施形態に係るサーバ１５０には、コンピュータによって実現されたカテゴリ学習システムが構成されてよい。カテゴリ学習システムは、文書分類のためのカテゴリ分類器モデルを学習し、与えられた文書のカテゴリを自動で分類する環境を提供するものであってよい。
【００４１】
図４のカテゴリ学習方法を実行するために、サーバ１５０のプロセッサ２２２は、構成要素として、図３に示すように、学習データ選定部３１０、カテゴリ学習部３２０、カテゴリ分類部３３０を備えてよい。実施形態によって、プロセッサ２２２の構成要素は、選択的に、プロセッサ２２２に含まれても除外されてもよい。また、実施形態によって、プロセッサ２２２の構成要素は、プロセッサ２２２の機能の表現のために、分離されても併合されてもよい。
【００４２】
このようなプロセッサ２２２およびプロセッサ２２２の構成要素は、図４のカテゴリ学習方法が含む段階４１０〜４４０を実行するようにサーバ１５０を制御してよい。例えば、プロセッサ２２２およびプロセッサ２２２の構成要素は、メモリ２２１が含むオペレーティングシステムのコードと、少なくとも１つのプログラムのコードによる命令を実行するように実現されてよい。
【００４３】
ここで、プロセッサ２２２の構成要素は、サーバ１５０に格納されたプログラムコードが提供する命令にしたがってプロセッサ２２２によって実行される、プロセッサ２２２の互いに異なる機能の表現であってよい。例えば、サーバ１５０がカテゴリ学習のための学習データを選定するように、上述した命令にしたがってサーバ１５０を制御するプロセッサ２２２の機能的表現として、学習データ選定部３１０が利用されてよい。
【００４４】
サーバ１５０は、任意の文書が与えられたときに、与えられた文書を、該当の文書と相応するカテゴリに自動分類しようとするものである。サーバ１５０は、カテゴリがマーキングされた文書を学習データとして利用してディープラーニングモデルに基づいて学習することによってカテゴリ分類器モデルを構築してよく以後、新たな文書が入力されれば、入力された文書のカテゴリをテゴリ分類器モデルによって判断して自動分類してよい。
【００４５】
カテゴリ分類器モデルを構築するためには、先ず、単語のベクトル化、文書のベクトル化、カテゴリのベクトル化が必要となる。このとき、文書のベクトル化は、文書に含まれた単語の組み合わせに基づいてなされてよい。
【００４６】
文書と関連のあるカテゴリを見つけるためには、文書ベクトルに近いカテゴリベクトルを見つけられるように学習すること、言い換えれば、サーバ１５０は、文書と関連のあるカテゴリのベクトルが、該当の文書のベクトルと近くなるようにする学習によってカテゴリ分類器モデルを構築する。このとき、サーバ１５０は、学習文書からポジティブサンプルである正解カテゴリとネガティブサンプルである誤答カテゴリを選定して同時に学習するようになるが、このとき、正解カテゴリのベクトルは学習文書のベクトルと近くなるように、誤答カテゴリのベクトルは学習文書のベクトルから遠くなるように、学習する。
【００４７】
本実施形態では、ディープラーニングを利用して文書に適合するカテゴリを学習しようとするときに、効果的なサンプリング方式を利用することにより、正確度の高いカテゴリ分類器モデルを構築することができる。
【００４８】
段階４１０で、プロセッサ２２２は、サーバ１５０の制御と関連する命令がロードされたメモリ２２１から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、以下で説明される段階４２０〜４４０をプロセッサ２２２が実行するように制御するための命令を含んでよい。
【００４９】
段階４２０で、学習データ選定部３１０は、文書の自動分類のためのカテゴリ分類器モデルを学習するために学習文書を選定し、選定された学習文書それぞれに対し、事前に設定された正解カテゴリに基づいて誤答カテゴリを選定してよい。サーバ１５０では、正解カテゴリがマーキングされた文書を学習用データとしながらディープラーニング学習モデルを学習してよい。このとき、学習データ選定部３１０は、サーバ１５０と関連する文書ＤＢ上から、文書の品質指数に基づいてカテゴリがマーキングされた文書のうちの少なくとも一部の文書を学習文書として選定してよい。文書の品質指数は、例えば、文書に登録された返答の有無や返答数、文書に返答を登録した返答者の信頼度などを考慮した上で算出可能である。文書ＤＢ上の文書には、該当の文書と関連のあるカテゴリがマーキングされており、文書にマーキングされたカテゴリを正解カテゴリとする。また、学習データ選定部３１０は、学習文書に対する誤答カテゴリとして正解カテゴリと異なるカテゴリを選定するようになるが、特に、学習文書の正解カテゴリの階層の一部と等しいカテゴリをサンプリングすることによって誤答カテゴリを選定してよい。言い換えれば、学習データ選定部３１０は、学習文書の正解カテゴリと異なるカテゴリをカテゴリ全体の中から無作為に選定するのではなく、所定の規則、一例として、学習文書の正解カテゴリを基準とし、階層の一部が正解カテゴリと重複する範囲内から少なくとも１つの誤答カテゴリを選定してよい。誤答カテゴリを選定する具体的な方法については、以下で詳しく説明する。
【００５０】
段階４３０で、カテゴリ学習部３２０は、学習文書を利用してカテゴリ分類器モデルを学習するようになるが、このとき、学習文書別に正解カテゴリと誤答カテゴリを共に学習することにより、カテゴリ学習結果を含んだカテゴリ分類器モデルを構築してよい。先ず、カテゴリ学習部３２０は、学習文書に含まれる単語を多次元実数ベクトルによって表現および組み合わせる（例えば、合算）ことによって該当の文書をベクトル化してよく、正解カテゴリと誤答カテゴリも同じように、多次元実数ベクトルによって表現してカテゴリをベクトル化してよい。
【００５１】
より具体的な例としては、ユーザの文書をベクトル化する方法としてＣＮＮを使用してよい。自然語文章を形態素単位に分割し、各形態素に対応するベクトルに文章全体を変換し、多様な大きさのフィルタを使用するＣｏｎｖｏｌｕｔｉｏｎ階層とＭａｘ  ｐｏｏｌｉｎｇ階層に通過させ、文書を近接した単語どうし一次的に解釈する。解釈した内容をすべて集めて総合することができる文書ベクトルとして表現するために、完全連結階層の入力によって一次的解釈結果物を挿入し、出力部をベクトル空間次元の大きさのノードによって構成して完成させる。自然語文章を入れれば演算過程を経て最終ノードを有するようになる一連の値こそが、文書ベクトルの各次元を構成する要素となる。
【００５２】
次に、カテゴリ学習部３２０は、学習文書のベクトルと、正解カテゴリのベクトルおよび誤答カテゴリのベクトルを多次元ベクトル空間のベクトルとしてマッピングするが、正解カテゴリのベクトルは学習文書のベクトルに近くなるように、誤答カテゴリのベクトルは学習文書のベクトルから遠くなるように、学習してよい。一例として、カテゴリ学習部３２０は、学習文書のベクトルと正解カテゴリのベクトルとの距離に基づいて所定の割合を決定した後、学習文書のベクトルを基準に、決定された所定の割合だけ、正解カテゴリのベクトルは学習文書のベクトルに近くなるように、誤答カテゴリのベクトルは学習文書のベクトルから遠くなるように、学習する。具体的な学習方法としては、論文＜Ａｒｐｉｔａ  Ｄａｓ  ｅｔ  ａｌ．，“Ｔｏｇｅｔｈｅｒ  Ｗｅ  Ｓｔａｎｄ：Ｓｉａｍｅｓｅ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｉｍｉｌａｒ  Ｑｕｅｓｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ”、ｈｔｔｐｓ：／／ｗｗｗ．ａｃｌｗｅｂ．ｏｒｇ／ａｎｔｈｏｌｏｇｙ／Ｐ／Ｐ１６／Ｐ１６−１０３６．ｐｄｆ＞に開示された学習技術が利用されてよいが、これに限定されることはなく、周知のディープラーニング技術が活用されてもよい。
【００５３】
このとき、学習に利用する誤答カテゴリベクトルの数を適切に調節すれば、最適値に迅速に到達できるようになるという効果が得られる。カテゴリベクトルがそれぞれ特定の地点に収斂されれば、当時のカテゴリベクトル位置を格納して学習を終了する。
【００５４】
分類体系の規模が大きい場合、相違する多数の分類名ベクトルと比較しながら相対的な位置を見つけるようになるため、神経網の加重値が正しい最適値に到達することができず、予測の正確度が著しく低下する。この場合、階層的構造の特性を利用しながら適切に学習データを選択することが重要となるが、本発明の実施形態に係るカテゴリサンプリングに関しては、以下で詳しく説明する。
【００５５】
段階４４０で、カテゴリ分類部３３０は、与えられた文書に対し、段階４３０で学習されたカテゴリ分類器モデルを利用して該当の文書のカテゴリを自動分類してよい。カテゴリ分類部３３０は、新たな文書が入力されれば、カテゴリ分類器モデルを通過させて該当の文書のカテゴリを判断してよい。言い換えれば、カテゴリ分類部３３０は、新たな文書に含まれた単語を多次元実数ベクトルによって表現および組み合わせる（例えば、合算）ことによって該当の文書をベクトル化してよく、新たな文書のベクトルを多次元ベクトル空間のベクトルにマッピングすることにより、新たな文書のベクトルと最も近いベクトルのカテゴリを新たな文書と関連のあるカテゴリとして判断してよい。カテゴリ分類部３３０は、新たな文書に対し、該当の文書と関連があると判断されたカテゴリを勧めるか、あるいは新たな文書の正解カテゴリとしてマーキングしてよい。
【００５６】
したがって、本発明に係るカテゴリ学習システムおよびカテゴリ学習方法は、文書のカテゴリ学習のためのカテゴリ選定時に、カテゴリの階層的構造を利用した所定の規則に基づいてカテゴリサンプリングを実行することができる。
【００５７】
図５は、本発明の一実施形態における、学習用データとして使用される学習文書の例を示した図である。
【００５８】
図５を参照すると、学習データ選定部３１０は、サーバ１５０と関連する文書ＤＢから一部の文書５００を学習用データとして選定してよい。学習用データとして利用される文書、すなわち学習文書５００は、主にテキストで作成された文書はもちろん、イメージや動画などのような多様な形態のコンテンツを包括したものを意味してよい。例えば、知識共有サービス上の文書ＤＢの場合、タイトルと本文を含んだ質問文書を学習文書５００として利用してよい。このとき、学習データ選定部３１０は、文書ＤＢ上の文書から、返答の有無や返答数、返答を登録した返答者の信頼度などを土台とした品質指数を利用しながら一部の文書を学習文書５００として選定してよい。学習文書５００は、該当の文書と関連のあるカテゴリ（正解カテゴリ）５１０がマーキングされた文書を対象とする。
【００５９】
したがって、学習データ選定部３１０は、正解カテゴリがマーキングされた文書のうちから品質指数を利用したフィルタリングによって一部の文書を選定し、カテゴリ学習のための学習文書５００として利用することができる。
【００６０】
以下では、学習のためのサンプルデータ、特に、誤答カテゴリを選定するための具体的な方法の例について説明する。
【００６１】
階層的構造の特性によると、同じカテゴリを共有する下位分類体系も独立的な分類体系の特徴をもっている。これにより、下位カテゴリ内でカテゴリベクトル位置を学習する下位問題として再定義すれば、下位問題を解決して全体問題を解決することができる。
【００６２】
下位問題を解決するために、誤答カテゴリサンプルを、学習カテゴリ名、さらにその上位カテゴリ名と重ならないように指定した最上位カテゴリ下から選択してよい。学習データ１つあたりに多数の誤答カテゴリを選択することができるため、多様な下位カテゴリから選ぶようにサンプリングすることが効果的である。言い換えれば、３段階以上の階層構造の場合、誤答カテゴリを各階層から選ぶように選択することによって成功的に学習することができる。
【００６３】
具体的な例として、学習データのカテゴリが上位階層から「あ＞い＞う＞え」である場合、最初のサンプルは「あ＞い＞う」に属しながら「あ＞い＞う＞え」に属さない範囲から、２番目のサンプルは「あ＞い」に属しながら「あ＞い＞う」のすべての下位分類に属さない範囲から、３番目のサンプルは「あ」に属しながら「あ＞い」のすべての下位分類に属さない範囲から、最後のサンプルはほぼすべての下位分類に属さない範囲から、抽出する。
【００６４】
図６〜１０は、本発明の一実施形態における、カテゴリサンプリング過程を説明するための例示図である。
【００６５】
学習データ選定部３１０は、各学習文書に対し、該当の文書の正解カテゴリを基準として少なくとも１つの誤答カテゴリを選定してよい。例えば、図６に示すように、学習文書において、最上位階層から「あ＞い＞う＞え」（ｄｅｐｔｈ４）のように正解カテゴリがマーキングされたとする。
【００６６】
学習文書の正解カテゴリとは関係なく無作為でカテゴリから誤答カテゴリをサンプリングする場合には、学習モデルの正確度は低下し、カテゴリ数が多ければ学習が成立しないという現象が発生する。
【００６７】
このような問題を解決するために、本発明では、誤答カテゴリを戦略的に選んで学習する方法を適用する。学習データ選定部３１０は、学習文書の正解カテゴリと一部の階層が重なるカテゴリ内から無作為サンプリングによって誤答カテゴリを選定してよい。一例として、カテゴリＡの深さがｎである場合はｎ個の誤答カテゴリを選定してよい。このとき、１番目の誤答カテゴリはｎ−１の深さから無作為サンプリングし、２番目の誤答カテゴリはｎ−２の深さから無作為サンプリングし、・・・、ｎ番目の誤答カテゴリは最上位階層から無作為サンプリングする。
【００６８】
深さが４である「あ＞い＞う＞え」の正解カテゴリがマーキングされた学習文書から４つの誤答カテゴリを選定しようとするとき、
【００６９】
先ず、１番目の誤答カテゴリは、図７に示すように、正解カテゴリと深さが３である３つの階層（あ＞い＞う）まで同じカテゴリ範囲７１０内から無作為にサンプリングしてよい。
【００７０】
次に、２番目の誤答カテゴリは、図８に示すように、正解カテゴリと深さが２である２つの階層（あ＞い）まで同じカテゴリ範囲８１０内から無作為にサンプリングしてよい。
【００７１】
次に、３番目の誤答カテゴリは、図９に示すように、正解カテゴリと深さが１である１つの階層（あ）が同じカテゴリ範囲９１０内から無作為にサンプリングしてよい。
【００７２】
最後に、４番目の誤答カテゴリは、図１０に示すように、全体のカテゴリ範囲から正解カテゴリの最上位階層（あ）以下のカテゴリを除いた残りのカテゴリ範囲１０１０内から無作為にサンプリングしてよい。図１０を参照しながら説明した最後のサンプリング段階は、選択的に含まれても除外されてもよい。
【００７３】
したがって、学習データ選定部３１０は、学習文書の正解カテゴリと一部の階層が重なるカテゴリ範囲内から無作為サンプリングによって誤答カテゴリを選定することができる。上述したカテゴリサンプリングの最後の段階で説明したように、誤答カテゴリのうちの一部は、正解カテゴリの最上位階層以下のカテゴリを除いた残りのカテゴリ範囲内から無作為サンプリングすることも可能である。
【００７４】
上述では、カテゴリの深さがｎ個であるときはｎ個の誤答カテゴリ、すなわち、各深さの階層別に１つの誤答カテゴリを選定すると説明しているが、これに限定されることはなく、上述した規則を維持しながらサンプリングの割合などを調整することにより、誤答カテゴリの個数を確張してもよい。例えば、下位階層から上位階層にいくほどサンプリングの数を漸進的に増やしてよい。
【００７５】
図１１〜１２は、本発明の一実施形態における、カテゴリ学習過程を説明するための例示図である。
【００７６】
図１１を参照すると、カテゴリ学習部３２０は、文書分類のためのカテゴリに対し、カテゴリのベクトル化によってカテゴリベクトル１１０１をベクトル空間１１００上にマッピングしてよい。
【００７７】
図１２に示すように、学習過程では、学習文書に該当する文書ベクトル１２１０またはカテゴリベクトル１１０１がマッピングされたベクトル空間１１００にマッピングされ、このとき、カテゴリ学習部３２０は、カテゴリベクトル１１０１のうち学習文書と関連のあるカテゴリベクトルを文書ベクトル１２１０と近くなるように学習する。特に、カテゴリ学習部３２０は、学習文書の正解カテゴリと共に、学習文書の正解カテゴリを基準にして選定された誤答カテゴリを同時に学習するようになるが、カテゴリベクトル１１０１のうちでも、正解カテゴリのベクトル１２０１は文書ベクトル１２１０と近くなるように、誤答カテゴリのベクトル１２０２は文書ベクトル１２１０から遠くなるように、学習する。
【００７８】
学習文書の正解カテゴリとは関係なくカテゴリ全体から無作為に誤答カテゴリをサンプリングするのではなく、学習文書の正解カテゴリと一部の階層が重なるカテゴリ内から誤答カテゴリをサンプリングしてカテゴリ学習を実行することにより、学習モデルの正確度を上昇させることができる。
【００７９】
図１３を参照すると、カテゴリ分類部３３０は、新たな文書１３０１が入力された場合、正解カテゴリと誤答カテゴリを同時に学習したカテゴリ分類器モデル１３１０を通過させ、該当の文書１３０１と関連のあるカテゴリ１３１１を判断してよい。カテゴリ分類部３３０は、新たな文書１３０１に対し、該当の文書１３０１と関連があると判断されたカテゴリを勧めるか、あるいは新たな文書１３０１の正解カテゴリとして自動マーキングしてよい。
【００８０】
このように、本発明の実施形態によると、学習文書の正解カテゴリを基準にして複数の誤答カテゴリを選択的にサンプリングし、学習文書に対して正解カテゴリと誤答カテゴリを共に学習することにより、文書のカテゴリ分類のための学習モデルの正確度を改善し、文書の分類性能を向上させることができる。
【００８１】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００８２】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
【００８３】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータによって実行可能なプログラムを継続して格納するものであっても、実行またはダウンロードのために臨時格納するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスクのような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令語が格納されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給あるいは流通するサイト、サーバなどで管理する記録媒体あるいは格納媒体がこれに含まれてもよい。
【００８４】
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００８５】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【００８６】
本発明の実施形態は、さらに、階層的分類体系を使用するシステムにおいて、ユーザが作成した文書に適合する分類名を勧めることのできるモデルを提示する。ユーザが作成した文書をベクトルで表現し、同じ空間に分類名を意味するベクトルと比較して文書ベクトルと最も近い分類名ベクトルを勧めることのできる方法およびシステムを提供する。
【符号の説明】
【００８７】
２２２：プロセッサ
３１０：学習データ選定部
３２０：カテゴリ学習部
３３０：カテゴリ分類部
【図１】
2019053730.tif 000003
【図２】
2019053730.tif 000004
【図３】
2019053730.tif 000005
【図４】
2019053730.tif 000006
【図５】
2019053730.tif 000007
【図６】
2019053730.tif 000008
【図７】
2019053730.tif 000009
【図８】
2019053730.tif 000010
【図９】
2019053730.tif 000011
【図１０】
2019053730.tif 000012
【図１１】
2019053730.tif 000013
【図１２】
2019053730.tif 000014
【図１３】
2019053730.tif 000015