(57)【要約】【課題】関連するコンテンツに対応付けることが可能な文字列を文書から精度よく抽出することができる情報処理装置、情報処理方法、およびプログラムを提供することである。【解決手段】情報処理装置は、複数の文字が含まれる文書を取得する取得部と、入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、前記文字列に含まれない第２文字かに分類するように学習された分類器に対して、前記文書に含まれる文字を入力して得られた前記分類器の出力結果に基づいて、前記文書から前記文字列を抽出する抽出部と、を備える。【選択図】図４
2020046792.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字が含まれる文書を取得する取得部と、
入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、前記文字列に含まれない第２文字かに分類するように学習された分類器に対して、前記文書に含まれる文字を入力して得られた前記分類器の出力結果に基づいて、前記文書から前記文字列を抽出する抽出部と、
を備える情報処理装置。
【請求項２】
前記分類器は、入力された文字が、前記第１文字であることの尤もらしさを表す第１指標値と、前記第２文字であることの尤もらしさを表す第２指標値とを出力し、
前記抽出部は、前記分類器により出力された前記第１指標値および前記第２指標値に基づいて、前記文書から前記文字列を抽出する、
請求項１に記載の情報処理装置。
【請求項３】
前記第１文字には、前記文字列において、最初に出現する第３文字と、最後に出現する第４文字と、前記第３文字および前記第４文字の間に出現する第５文字とが含まれ、
前記分類器は、前記第３文字、前記第４文字、および第５文字のそれぞれの前記第１指標値を出力し、
前記抽出部は、前記分類器により出力された前記第３文字、前記第４文字、および第５文字のそれぞれの前記第１指標値と、前記第２文字の前記第２指標値とに基づいて、前記文書から前記文字列を抽出する、
請求項２に記載の情報処理装置。
【請求項４】
前記分類器には、入力された文字の後に出現する文字を予測するとともに、入力された文字の前に出現する文字を予測する双方向の再帰型ニューラルネットワークが含まれる、
請求項１に記載の情報処理装置。
【請求項５】
前記再帰型ニューラルネットワークは、前記入力された各文字に対して特徴量を出力し、
前記分類器には、更に、前記再帰型ニューラルネットワークによって文字ごとに出力された各特徴量に重みを乗算するアテンション機構が含まれる、
請求項４に記載の情報処理装置。
【請求項６】
前記アテンション機構は、対象とする文字の特徴量に、前記対象とする文字の特徴量を全ての文字の特徴量で除算した割合を前記重みとして乗算する、
請求項５に記載の情報処理装置。
【請求項７】
前記抽出部は、前記分類器の出力結果と、文書において少なくとも前記第１文字と前記第２文字とが互いに隣り合う確率を条件付けた条件付き確率場とに基づいて、前記文書から前記文字列を抽出する、
請求項１から６のうちいずれか一項に記載の情報処理装置。
【請求項８】
コンピュータが、
複数の文字が含まれる文書を取得し、
入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、前記文字列に含まれない第２文字かに分類するように学習された分類器に対して、前記文書に含まれる文字を入力して得られた前記分類器の出力結果に基づいて、前記文書から前記文字列を抽出する、
情報処理方法。
【請求項９】
コンピュータに、
複数の文字が含まれる文書を取得する処理と、
入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、前記文字列に含まれない第２文字かに分類するように学習された分類器に対して、前記文書に含まれる文字を入力して得られた前記分類器の出力結果に基づいて、前記文書から前記文字列を抽出する処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、文書の中から、ＷｅｂページのＵＲＬ（Uniform Resource Locator）がハイパーリンクとして対応付けられたアンカーテキストを抽出する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−７８４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、文書の中から、予め決められた条件を満たす文字列を、アンカーテキストのような文字列として抽出していることから、現行の条件を満たさない新語や造語、流行語などについては、それらの文字列を抽出することができない場合があった。この結果、新語や造語、流行語などの文字列に対してユーザが興味関心を寄せる場合があっても、それらの文字列に対して関連するコンテンツをハイパーリンクとして対応付けることができない場合があった。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、関連するコンテンツに対応付けることが可能な文字列を文書から精度よく抽出することができる情報処理装置、情報処理方法、およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、複数の文字が含まれる文書を取得する取得部と、入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、前記文字列に含まれない第２文字かに分類するように学習された分類器に対して、前記文書に含まれる文字を入力して得られた前記分類器の出力結果に基づいて、前記文書から前記文字列を抽出する抽出部と、を備える情報処理装置である。
である。
【発明の効果】
【０００７】
本発明の一態様によれば、関連するコンテンツに対応付けることが可能な文字列を文書から精度よく抽出することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における情報処理装置１００を含む情報処理システム１の一例を示す図である。
【図２】サービス提供装置２０により提供されるウェブページの一例を示す図である。
【図３】文字のタグ付け方法を説明するための図である。
【図４】第１実施形態における情報処理装置１００の構成の一例を示す図である。
【図５】第１実施形態における情報処理装置１００による運用時の一連の処理の流れを示すフローチャートである。
【図６】第１実施形態における分類器ＭＤＬの一例を示す図である。
【図７】条件付き確率場モデルの一例を示す図である。
【図８】サービス提供装置２０により提供されるウェブページの他の例を示す図である。
【図９】第１実施形態における情報処理装置１００による学習時の一連の処理の流れを示すフローチャートである。
【図１０】言語モデルＭＤＬ２の一例を示す図である。
【図１１】第３実施形態における情報処理装置１００Ａの構成の一例を示す図である。
【図１２】実施形態の情報処理装置１００および１００Ａのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を適用した情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
【００１０】
［概要］
情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、複数の文字が含まれる、ある着目する文書（以下、文書と称する）を取得し、取得した文書に含まれる文字を、ある分類器に入力する。
【００１１】
分類器は、入力された文字を、予め決められた条件を満たす文字列に含まれる第１文字か、その文字列に含まれない第２文字かに分類するように学習された分類器である。予め決められた条件を満たす文字列とは、例えば、ＨＴＭＬ（HyperText Markup Language）で記述されたウェブページにおいて、他のウェブページのＵＲＬ（Uniform Resource Locator）などがハイパーリンクとして対応付けられたアンカーテキスト（アンカー文字列）であり、具体的には、＜ａ＞や＜／ａ＞といった記号で囲われた文字列である。また、予め決められた条件を満たす文字列は、アンカーテキストに限られず、例えば、固有表現抽出と呼ばれる技術によって文書から抽出される固有表現を示す文字列であってもよい。固有表現は、例えば、組織名、人名、地名、日付表現、時間表現、金額表現、割合表現、固有物名などである。
【００１２】
情報処理装置は、文書に含まれる文字を分類器に入力し、その結果、得られた分類器の出力結果に基づいて、文書から、アンカーテキストなどになり得る蓋然性が高い文字列を抽出する。このように、入力された文字を、タグ付けされた文字列に含まれる文字であるのかそうでないのかを分類するように予め学習された分類器を利用することで、関連するコンテンツに対応付けることが可能な文字列を文書から精度よく抽出することができる。
【００１３】
＜第１実施形態＞
［全体構成］
図１は、第１実施形態における情報処理装置１００を含む情報処理システム１の一例を示す図である。第１実施形態における情報処理システム１は、例えば、一以上の端末装置１０と、サービス提供装置２０と、情報処理装置１００とを備える。これらの装置は、ネットワークＮＷを介して接続される。また、これらの装置のうち一部は、他の装置に仮想的な装置として包含されてもよく、例えば、サービス提供装置２０の機能の一部または全部が、情報処理装置１００の機能によって実現される仮想マシンであってもよい。
【００１４】
図１に示す各装置は、ネットワークＮＷを介して種々の情報を送受信する。ネットワークＮＷは、例えば、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。なお、図１に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークＮＷは、一部にローカルなネットワークを含んでもよい。
【００１５】
端末装置１０は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。通信装置は、ＮＩＣ（Network Interface Card）などのネットワークカード、無線通信モジュールなどを含む。端末装置１０では、ウェブブラウザやアプリケーションプログラムなどのＵＡ（User Agent）が起動し、ユーザの入力する内容に応じたリクエストをサービス提供装置２０に送信する。また、ＵＡが起動された端末装置１０は、サービス提供装置２０から取得した情報に基づいて、表示装置に各種画像を表示させる。
【００１６】
サービス提供装置２０は、例えば、ＵＡとして起動されたウェブブラウザからのリクエスト（例えばＨＴＴＰ（Hypertext Transfer Protocol）リクエスト）に応じてウェブページを端末装置１０に提供するウェブサーバであってよい。ウェブページは、例えば、インターネット上において、ニュース記事のような、文書（テキスト）を含むコンテンツを配信するウェブページであってよい。また、サービス提供装置２０は、ＵＡとして起動されたアプリケーションからのリクエストに応じてコンテンツを端末装置１０に提供することで、上記のウェブページと同様のサービスを提供するアプリケーションサーバであってもよい。
【００１７】
図２は、サービス提供装置２０により提供されるウェブページの一例を示す図である。図示の例では、ニュース記事が掲載されたウェブページを模式的に示している。例えば、ニュース記事の文書中には、しばしば、他のウェブページのＵＲＬがハイパーリンクとして対応付けられた文字が含まれる。図示の例では、「台風１０号」という文字列がハイパーリンクであることを表している。ユーザは、このようなハイパーリンクが対応付けられた文字列をクリック操作などで選択することで、その文字列に関連したコンテンツを含むウェブページにアクセスすることができる。
【００１８】
文書中からハイパーリンクの候補となる文字列（アンカーテキスト）を抽出する方法にはいくつかの手法があり、その一つに、上述した固有表現を抽出する手法が存在する。固有表現抽出は、「ＢＩＯ」方式や「ＢＩＬＯＵ」方式によって、文書中の各文字にいくつかの種類のタグをつけていくことで、予め決められた固有表現を文書中から抽出する方法である。「ＢＩＯ」方式は、「Ｂｅｇｉｎ」の頭文字をとった「Ｂ」というタグと、「Ｉｎｓｉｄｅ」の頭文字をとった「Ｉ」というタグと、「Ｏｕｔｓｉｄｅ」の頭文字をとった「Ｏ」というタグのいずれかを各文字に付与する方式である。「Ｂ」タグは、固有表現の最初の文字を識別する分類子であり、「Ｉ」タグは、固有表現の内部の文字を識別する分類子であり、「Ｏ」タグは、固有表現の外側の文字（固有表現と異なる文字）を識別する分類子である。「ＢＩＬＯＵ」方式は、上述した「Ｂ」「Ｉ」「Ｏ」のタグに加えて、「Ｌａｓｔ」の頭文字をとった「Ｌ」というタグと、「Ｕｎｉｔ」の頭文字をとった「Ｕ」というタグとを含む複数のタグの中からいずれかのタグを各文字に付与する方式である。「Ｌ」タグは、固有表現の最後の文字を識別する分類子であり、「Ｕ」タグは、固有表現の単位長さと同じ文字列を識別する分類子を表しており、例えば、固有表現が一文字である場合（「Ｂ」「Ｉ」「Ｌ」のタグに該当しない場合）に、「Ｕ」のタグが付与される。「ＢＩＬＯＵ」方式は、「ＢＩＯＥＳ」方式とも称される。「ＢＩＯＥＳ」方式は、上述した「Ｂ」「Ｉ」「Ｏ」のタグに加えて、「Ｅｎｄ」の頭文字をとった「Ｅ」というタグと、「Ｓｉｎｇｌｅ」の頭文字をとった「Ｓ」というタグとを含む複数のタグの中からいずれかのタグを各文字に付与する方式である。「Ｅ」タグは、「Ｌ」タグと同じ分類子であり、「Ｓ」タグは、「Ｕ」タグと同じ分類子である。
【００１９】
図３は、文字のタグ付け方法を説明するための図である。図示の例のように、「検索太郎は○○〇株式会社の社長です」という一つの文（センテンス）が文書中に存在すると仮定する。この場合、固有表現抽出において、「検索太郎」という文字列は、人名という固有表現のクラスに分類される文字列であり、「○○〇株式会社」という文字列は、組織名という固有表現のクラスに分類される文字列であり、「社長」という文字列は、固有物名という固有表現のクラスに分類される文字列であり、これら以外の「は」、「の」、「です」、「。」といった助詞や助動詞、句読点などの文字は、固有表現のいずれのクラスにも分類されない文字である。このような場合、図示の例のように、「検索太郎」という文字列に含まれる複数の文字のうち、最初に出現する「検」という文字には、「Ｂ」タグが付与され、「検」の後に続く「索」および「太」という文字には、「Ｉ」タグが付与され、最後に出現する「郎」という文字には、「Ｌ」タグが付与される。一方、「は」や「の」といった文字には、それらの文字が固有表現でないため、「Ｏ」タグが付与される。
【００２０】
ハイパーリンクは、一般的に、固有表現として抽出された文字列に対応付けられる。すなわち、ハイパーリンクは、「Ｂ」タグが付与された文字から始まり、「Ｌ」タグが付与された文字で終わる文字列に対応付けられ得る。また、ハイパーリンクは、予め決められた固有名詞と一致する文字列に対応付けられる場合もある。
【００２１】
ハイパーリンクが対応付けられる文字列は、「予め決められた条件を満たす文字列」の一例であり、予め決められた固有名詞と一致する文字列は、「予め決められた条件を満たす文字列」の他の例である。また、「Ｂ」タグが付与された文字は、「第１文字」の一例であり、「Ｌ」タグまたは「Ｉ」タグが付与された文字は、「第１文字」の他の例である。また、「Ｏ」タグまたは「Ｕ」が付与された文字は、「第２文字」の一例である。また、「Ｂ」タグが付与された文字は、「第３文字」の一例であり、「Ｌ」タグが付与された文字は、「第４文字」の一例であり、「Ｉ」タグが付与された文字は、「第５文字」の一例である。
【００２２】
情報処理装置１００は、サービス提供装置２０によってウェブページなどを介してコンテンツとして提供される文書（例えばニュース記事など）を受信し、受信した文書から、ハイパーリンクが対応付けられやすく、アンカーテキストなどになり得る蓋然性が高い文字列を抽出する。情報処理装置１００は、文書から文字列を抽出すると、その抽出した文字列を、サービス提供装置２０に送信したり、抽出した文字列を含む文書をサービス提供装置２０に送信したりする。これによって、サービス提供装置２０は、情報処理装置１００によって抽出された文字列にＵＲＬなどをハイパーリンクとして対応付け、その文字列を含む文書をコンテンツとして含むウェブページなどを端末装置１０に提供する。なお、サービス提供装置２０から受信する文書の各文字には、予め固有表現を識別するタグが付与されている必要はないが、タグが付与されていてもよい。
【００２３】
［情報処理装置の構成］
図４は、第１実施形態における情報処理装置１００の構成の一例を示す図である。図示のように、情報処理装置１００は、例えば、通信部１０２と、制御部１１０と、記憶部１３０とを備える。
【００２４】
通信部１０２は、例えば、ＮＩＣ等の通信インターフェースを含む。通信部１０２は、ネットワークＮＷを介して、サービス提供装置２０などと通信する。例えば、通信部１０２は、サービス提供装置２０と通信し、コンテンツとして提供される文書を受信する。
【００２５】
制御部１１０は、例えば、取得部１１２と、文字列抽出部１１４と、通信制御部１１６と、学習部１１８とを備える。制御部１１０の構成要素は、例えば、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）などのプロセッサが記憶部１３０に格納されたプログラムを実行することにより実現される。また、制御部１１０の構成要素の一部または全部は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＦＰＧＡ（Field-Programmable Gate Array）などのハードウェア（回路部；circuitry）により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。また、プロセッサにより参照されるプログラムは、予め記憶部１３０に格納されていてもよいし、ＤＶＤやＣＤ−ＲＯＭなどの着脱可能な記憶媒体に格納されており、その記憶媒体が情報処理装置１００のドライブ装置に装着されることで記憶媒体から記憶部１３０にインストールされてもよい。
【００２６】
記憶部１３０は、例えば、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの記憶装置により実現される。記憶部１３０には、ファームウェアやアプリケーションプログラムなどの各種プログラムのほかに、分類器情報１３２や条件付き確率場モデル情報１３４、教師データ１３６などが格納される。これらの詳細については後述する。
【００２７】
［運用時（ランタイム）の処理フロー］
以下、第１実施形態における情報処理装置１００による運用時の一連の処理の流れをフローチャートに即して説明する。運用時とは、既に学習された分類器ＭＤＬを利用する状態である。図５は、第１実施形態における情報処理装置１００による運用時の一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてもよい。
【００２８】
まず、取得部１１２は、通信部１０２にサービス提供装置２０と通信させ、サービス提供装置２０から、ウェブページなどを介してコンテンツとして提供される文書を取得する（Ｓ１００）。サービス提供装置２０から取得される文書には、句読点や、終止符、カンマ、疑問符、感嘆符などで区切られた一つの文（センテンス）が少なくとも含まれているものとし、段落などで区切られた節（パラグラフ）や、それ以上大きい単位の文章が含まれていてもよい。また、サービス提供装置２０から取得される文書は、トークナイズ（単語分割）されている必要はなく、句点、読点、終止符、カンマ、ピリオド、疑問符、感嘆符、省略符、括弧、記号、スペース、改行などが含まれていてもよい。また、サービス提供装置２０から取得される文書の言語は、日本語であってもよいし、英語や中国語、ドイツ語など他の言語であってもよい。
【００２９】
次に、文字列抽出部１１４は、分類器情報１３２を参照して、分類器ＭＤＬを構築（生成）し、取得部１１２によって取得された文書に含まれる複数の文字Ｃの中から、ある決まった数の文字列を、構築した分類器ＭＤＬに入力する（Ｓ１０２）。例えば、抽出したい文字列が５文字である場合、分類器ＭＤＬに一度に入力する文字列の数は、５文字あるいはそれ以上であってよい。
【００３０】
分類器情報１３２は、分類器ＭＤＬを定義した情報（プログラムまたはデータ構造）である。分類器ＭＤＬは、文字にタグを順次付与する系列ラベリングと呼ばれる問題を解くための学習モデルであり、例えば、リカレントニューラルネットワーク（Reccurent Neural Network：ＲＮＮ）などの種々のニューラルネットワークによって実現される。
【００３１】
分類器情報１３２には、例えば、各ニューラルネットワークを構成する入力層、一以上の隠れ層（中間層）、出力層の其々に含まれるニューロン（ユニット）が互いにどのように結合されるのかという結合情報や、結合されたニューロン間で入出力されるデータに付与される結合係数がいくつであるのかという重み情報などが含まれる。結合情報は、例えば、各層に含まれるニューロン数や、各ニューロンの結合先のニューロンの種類を指定する情報、各ニューロンを実現する活性化関数、隠れ層のニューロン間に設けられたゲートなどの情報を含む。ニューロンを実現する活性化関数は、例えば、入力符号に応じて動作を切り替える関数（ＲｅＬＵ関数やＥＬＵ関数）であってもよいし、シグモイド関数や、ステップ関数、ハイパボリックタンジェント関数であってもよいし、恒等関数であってもよい。ゲートは、例えば、活性化関数によって返される値（例えば１または０）に応じて、ニューロン間で伝達されるデータを選択的に通過させたり、重み付けたりする。結合係数は、活性化関数のパラメータであり、例えば、ニューラルネットワークの隠れ層において、ある層のニューロンから、より深い層のニューロンにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
【００３２】
図６は、第１実施形態における分類器ＭＤＬの一例を示す図である。第１実施形態における分類器ＭＤＬは、例えば、埋め込みレイヤ２００と、特徴抽出レイヤ３００と、ＣＲＦ（Conditional random field）レイヤ４００とによって実現される。ＣＲＦレイヤ４００と文字列抽出部１１４とを合わせたものは、「抽出部」の一例である。
【００３３】
埋め込みレイヤ２００は、入力された各文字Ｃから、ある次元数のベクトル（以下、文字ベクトルｘと称する）を生成する。例えば、埋め込みレイヤ２００は、対象とする文字に対応した要素を１とし、それ以外の文字に対応した要素を０とするワンホット表現と呼ばれる手法によって、入力された文字Ｃｋから文字ベクトルｘｋを生成する。また、埋め込みレイヤ２００は、対象とする文字と、その文字の前後に出現する文字との共起性に基づいて文字をベクトル化する分散表現と呼ばれる手法によって、入力された文字Ｃｋから文字ベクトルｘｋを生成してもよい。
【００３４】
以下の説明では、一例として、Ｃ１を先頭にしてＣ２、Ｃ３、Ｃ４の順に並んだ４文字が埋め込みレイヤ２００に入力される場合について説明する。４つの文字Ｃ１からＣ４が埋め込みレイヤ２００に入力されると、ｘ１からｘ４の４つの文字ベクトルが生成される。埋め込みレイヤ２００によって生成された文字ベクトルｘは、特徴抽出レイヤ３００に出力される。
【００３５】
特徴抽出レイヤ３００は、埋め込みレイヤ２００により出力された文字ベクトルｘから特徴量を抽出する。例えば、特徴抽出レイヤ３００は、ＢｉＬＳＴＭ（Bidirectional Long short-term memory）レイヤ３１０と、アテンション機構（注意機構）３３０とによって実現される。
【００３６】
ＢｉＬＳＴＭレイヤ３１０は、入力された文字の後に出現する文字を予測するとともに、入力された文字の前に出現する文字を予測する双方向型のＬＳＴＭを含むＲＮＮである。言い換えれば、ＢｉＬＳＴＭレイヤ３１０は、現在までの入力から未来の出力を予測するとともに、未来の入力から過去の出力を予測する。ＢｉＬＳＴＭレイヤ３１０には、ＬＳＴＭ３２０（１）〜（８）が含まれる。なお、ＬＳＴＭ３２０（１）〜（８）は、互いに異なるＬＳＴＭ３２０ではなく、処理周期ｔの異なる同一のＬＳＴＭ３２０である。括弧内の数字は、処理周期ｔに対応している。
【００３７】
各ＬＳＴＭ３２０は、数式（１）に基づいて、各文字ベクトルｘから抽出される特徴量を表す特徴ベクトルｈを出力する。数式（１）は、各ＬＳＴＭ３２０における計算式の一例を表している。
【００３８】
【数１】
2020046792.tif 000003
【００３９】
ｔは、ＢｉＬＳＴＭレイヤ３１０によって繰り返し行われる再帰処理の処理周期（処理時刻）を表しており、ｘｔは、処理周期ｔにおいて埋め込みレイヤ２００から入力される文字ベクトルを表している。例えば、最初の周期ｔ１では、先頭の文字Ｃ１に対応した文字ベクトルｘ１が、ＬＳＴＭ３２０（１）とＬＳＴＭ３２０（８）とに入力され、次の周期ｔ２では、文字Ｃ１の後に続く文字Ｃ２に対応した文字ベクトルｘ２が、ＬＳＴＭ３２０（２）とＬＳＴＭ３２０（７）とに入力され、次の周期ｔ３では、文字Ｃ２の後に続く文字Ｃ３に対応した文字ベクトルｘ３が、ＬＳＴＭ３２０（３）とＬＳＴＭ３２０（６）とに入力され、次の周期ｔ４では、文字Ｃ３の後に続く文字Ｃ４に対応した文字ベクトルｘ４が、ＬＳＴＭ３２０（４）とＬＳＴＭ３２０（５）とに入力される。
【００４０】
ｈｔは、処理周期ｔにおいてＬＳＴＭ３２０により出力される特徴ベクトルを表している。再帰処理とは、過去の処理周期で求めた特徴ベクトルを、今回の処理周期での特徴ベクトルの導出に利用することである。特徴ベクトルｈｔは、インプットゲートによって出力されるベクトルｚｔに基づく重み（１−ｚｔ）と特徴ベクトルｈｔ−１との畳み込み値と、ベクトルｚｔと特徴ベクトルｈｔ（〜）との畳み込み値との和として導出される。
【００４１】
ＬＳＴＭ３２０（１）の特徴ベクトルｈ１は、ＬＳＴＭ３２０（２）に出力され、ＬＳＴＭ３２０（２）の特徴ベクトルｈ２は、ＬＳＴＭ３２０（３）に出力され、ＬＳＴＭ３２０（３）の特徴ベクトルｈ３は、ＬＳＴＭ３２０（４）に出力される。一方、ＬＳＴＭ３２０（５）の特徴ベクトルｈ５は、ＬＳＴＭ３２０（６）に出力され、ＬＳＴＭ３２０（６）の特徴ベクトルｈ６は、ＬＳＴＭ３２０（７）に出力され、ＬＳＴＭ３２０（７）の特徴ベクトルｈ７は、ＬＳＴＭ３２０（８）に出力される。
【００４２】
ｚｔは、ＬＳＴＭに含まれるインプットゲートによって出力されるベクトルを表しており、σは、ゲートの活性化関数がシグモイド関数であることを表しており、Ｗｚは、前段のＬＳＴＭ３２０の特徴ベクトルｈｔ−１と、文字ベクトルｘｔとを線形変換するための重みを表している。
【００４３】
ｒｔは、ＬＳＴＭに含まれるフォーゲットゲートによって出力されるベクトルを表しており、Ｗｆは、重みＷｉと同様に、前段のＬＳＴＭ３２０の特徴ベクトルｈｔ−１と、文字ベクトルｘｔとを線形変換するための重みを表している。
【００４４】
ｈｔ（〜）は、内部演算のために一時的に導出される特徴ベクトルを表している。特徴ベクトルｈｔ（〜）は、フォーゲットゲートによって出力されるベクトルｒｔと、特徴ベクトルｈｔ−１との畳み込み値と、文字ベクトルｘｔとに対して、ある重みＷを乗算した積を変数としたハイパボリックタンジェント関数ｔａｎｈを解くことで導出される。
【００４５】
ＢｉＬＳＴＭレイヤ３１０は、同じ文字ベクトルｘが入力された２つのＬＳＴＭ３２０のそれぞれによって出力された２つの特徴ベクトルｈを結合して、１つの特徴ベクトルｈを生成し、これを出力する。特徴ベクトルｈに含まれる要素は、各文字Ｃに付されるタグの尤もらしさ（尤度）を数値（スコア）によって表している。以下、２つの特徴ベクトルｈを結合して生成した特徴ベクトルｈを、「タグスコアベクトルｈ」と称して説明する。タグスコアベクトルｈは、「特徴量」の一例である。
【００４６】
例えば、ＢｉＬＳＴＭレイヤ３１０は、文字ベクトルｘ１が入力された前段のＬＳＴＭ３２０（１）および後段のＬＳＴＭ３２０（８）のそれぞれによって出力された特徴ベクトルｈｔを結合して、タグスコアベクトルｈ１を出力する。
【００４７】
また、ＢｉＬＳＴＭレイヤ３１０は、文字ベクトルｘ２が入力された前段のＬＳＴＭ３２０（２）および後段のＬＳＴＭ３２０（７）のそれぞれによって出力された特徴ベクトルｈｔを結合して、タグスコアベクトルｈ２を出力する。
【００４８】
また、ＢｉＬＳＴＭレイヤ３１０は、文字ベクトルｘ３が入力された前段のＬＳＴＭ３２０（３）および後段のＬＳＴＭ３２０（６）のそれぞれによって出力された特徴ベクトルｈｔを結合して、タグスコアベクトルｈ３を出力する。
【００４９】
また、ＢｉＬＳＴＭレイヤ３１０は、文字ベクトルｘ４が入力された前段のＬＳＴＭ３２０（４）および後段のＬＳＴＭ３２０（５）のそれぞれによって出力された特徴ベクトルｈｔを結合して、タグスコアベクトルｈ４を出力する。
【００５０】
アテンション機構３３０は、ある文字列において、各文字が文字列内のどの位置に出現したのかということに応じて、その文字に対する注意のかけ方を変更するニューラルネットワークである。例えば、アテンション機構３３０は、ＢｉＬＳＴＭレイヤ３１０によって出力されたタグスコアベクトルｈ１からｈ４のそれぞれに対して、互いに異なる重みαを乗算することで、各文字Ｃに対する注意の度合い（アテンション）を、文字Ｃごとに変更する。数式（２）は、アテンション機構３３０における計算式の一例を表している。
【００５１】
【数２】
2020046792.tif 000004
【００５２】
Ｍは、タグスコアベクトルｈｔを変数としたハイパボリックタンジェント関数ｔａｎｈを解くことで導出されるベクトルであり、タグスコアベクトルｈｔを非線形化したベクトルである。重みαは、ソフトマックス関数によって導出される。ｗＴは、ベクトルＭに乗算される重みベクトルの転置である。
【００５３】
例えば、ある文字Ｃｋを入力したときにＢｉＬＳＴＭレイヤ３１０によって出力されるタグスコアベクトルをｈｋとした場合、そのタグスコアベクトルｈｋに対応した重みαｋは、数式（３）に示すソフトマックス関数によって導出される。
【００５４】
【数３】
2020046792.tif 000005
【００５５】
ＢｉＬＳＴＭレイヤ３１０によって出力されるタグスコアベクトルｈの総数がｎである場合、数式（３）に示すように、重みαｋは、対象とするタグスコアベクトルｈｋの指数関数の出力値ｅｘｐ（ｗＴＭｋ）を、タグスコアベクトルｈ１の指数関数の出力値ｅｘｐ（ｗＴＭ１）から、タグスコアベクトルｈｎの指数関数の出力値ｅｘｐ（ｗＴＭｎ）までを足し合わせた合計値で除算した値（すなわち割合）となる。そのため、重みαｋは、０から１までの範囲の値をとる。数式（３）の分子は「文字ごとに出力された各特徴量」の一例であり、分母は「全ての文字の特徴量」の一例である。
【００５６】
アテンション機構３３０は、対象とする文字Ｃｋのタグスコアベクトルｈｋを非線形化したベクトルＭｋに対して、対象とする文字Ｃｋのタグスコアベクトルｈｋに応じた重みαｋの転置を乗算することで、対象とする文字Ｃｋのタグスコアベクトルｈｋが他の文字との相対的な注意の度合いに応じて重み付けられたタグスコアベクトルＨｋを生成する。以下、タグスコアベクトルｈｋに重みαｋが乗算されたタグスコアベクトルＨｋを、「重み付きタグスコアベクトルＨｋ」と称して説明する。重みαｋはベクトルであるため、重み付きタグスコアベクトルＨｋは、ベクトルＭｋと重みαｋとのアダマール積となる。
【００５７】
上述したように、本実施形態では一例としてＣ１からＣ４の４文字を処理対象としているため、アテンション機構３３０は、文字Ｃ１のタグスコアベクトルｈ１を非線形化したベクトルＭ１に対して、文字Ｃ１のタグスコアベクトルｈ１に応じた重みα１を乗算して、文字Ｃ１に対応した重み付きタグスコアベクトルＨ１を生成する。
【００５８】
また、アテンション機構３３０は、文字Ｃ２のタグスコアベクトルｈ２を非線形化したベクトルＭ２に対して、文字Ｃ２のタグスコアベクトルｈ２に応じた重みα２を乗算して、文字Ｃ２に対応した重み付きタグスコアベクトルＨ２を生成する。
【００５９】
また、アテンション機構３３０は、文字Ｃ３のタグスコアベクトルｈ３を非線形化したベクトルＭ３に対して、文字Ｃ３のタグスコアベクトルｈ３に応じた重みα３を乗算して、文字Ｃ３に対応した重み付きタグスコアベクトルＨ３を生成する。
【００６０】
また、アテンション機構３３０は、文字Ｃ４のタグスコアベクトルｈ４を非線形化したベクトルＭ４に対して、文字Ｃ４のタグスコアベクトルｈ４に応じた重みα２を乗算して、文字Ｃ４に対応した重み付きタグスコアベクトルＨ４を生成する。
【００６１】
これらの重み付きタグスコアベクトルＨは、ベクトルＭに対して、ソフトマックス関数によって求められる重みαを乗算することで生成されるため、重み付きタグスコアベクトルＨに含まれる各要素の値は、確率のように振る舞う。重み付きタグスコアベクトルＨに含まれる各要素は、各文字Ｃに付されるタグの尤もらしさ（尤度）を、０から１までの範囲の数値によって表している。例えば、重み付きタグスコアベクトルＨがｅ１からｅ４の４つの要素を含む場合、要素ｅ１が「Ｂ」タグの尤度を表し、要素ｅ２が「Ｉ」タグの尤度を表し、要素ｅ３が「Ｌ」タグの尤度を表し、要素ｅ４が「Ｏ」タグの尤度を表していてよい。なお、重み付きタグスコアベクトルＨの要素数と、各要素に対応するタグの種類は、ハイパーパラメータとして任意に決定されてよい。要素ｅ１からｅ３は、「第１指標値」の一例であり、要素ｅ４は、「第２指標値」の一例である。
【００６２】
アテンション機構３３０によって生成された重み付きタグスコアベクトルＨは、ＣＲＦレイヤ４００に出力される。
【００６３】
ＣＲＦレイヤ４００は、条件付き確率場モデル情報１３４が示す条件付き確率場モデル（マルコフ確率場）と、アテンション機構３３０によって出力された複数の重み付きタグスコアベクトルＨとに基づいて、入力された複数の文字Ｃに対して付けられるタグの組み合わせとして、最も尤度が高いタグ付けの組み合わせを決定する。条件付き確率場モデル情報１３４が示す条件付き確率場モデルは、「Ｂ」「Ｉ」「Ｌ」「Ｏ」などの各種タグのいずれかが付与される文字同士が、文書（文字列）の中で互いに隣り合うときの確率を条件付けた条件付き確率場である。
【００６４】
図７は、条件付き確率場モデルの一例を示す図である。例えば、ある文字列に含まれる複数の文字に対して、「Ｂ」「Ｉ」「Ｌ」「Ｏ」などの各種タグのいずれかが付与されている場合、タグ付けの順序として、ある決まったパターンが存在し得る。例えば、「Ｂ」「Ｉ」「Ｌ」という順序でタグが付される文字列は存在し得るが、「Ｏ」「Ｌ」「Ｏ」という順序でタグが付される文字列は、誤記や特殊な文体以外では存在する蓋然性が低い。このようなことを考慮して、条件付き確率場モデルでは、一つのタグを状態と見做したときに、あるタグから他のタグに移り変わる際の確率（ある二つのタグが隣り合う確率）を状態遷移確率として定義している。
【００６５】
一般的な文書では、例えば、「Ｂ」タグが付与される文字の後に「Ｉ」タグが付与される文字が続く頻度が大きいため、「Ｂ」タグから「Ｉ」タグへの状態遷移確率は大きく設定される。また、「Ｌ」タグが付与される文字の後に「Ｏ」タグが付与される文字が続く頻度も大きいため、「Ｌ」タグから「Ｏ」タグへの状態遷移確率も大きく設定される。また、「Ｉ」タグが付与される文字の後に「Ｌ」タグが付与される文字が続く頻度も大きいため、「Ｉ」タグから「Ｌ」タグへの状態遷移確率も大きく設定される。また、「Ｉ」タグが付与される文字の後に「Ｉ」タグが付与される文字が続く頻度も大きいため、「Ｉ」タグから「Ｉ」タグへの状態遷移確率も大きく設定される。一方、一般的な文書では、「Ｌ」タグが付与される文字の後に「Ｂ」タグが付与される文字が続く頻度が小さいため、「Ｌ」タグから「Ｂ」タグへの状態遷移確率は小さく設定される。また、「Ｏ」タグが付与される文字の後に「Ｌ」タグが付与される文字が続く頻度も小さいため、「Ｏ」タグから「Ｌ」タグへの状態遷移確率も小さく設定される。また、「Ｂ」タグが付与される文字の後に「Ｂ」タグが付与される文字が続く頻度も小さいため、「Ｂ」タグから「Ｂ」タグへの状態遷移確率も小さく設定される。これらの状態遷移確率は、ハイパーパラメータとして予め決められているものとする。
【００６６】
ＣＲＦレイヤ４００では、上記のような考えに基づいて全てのタグ間の状態遷移確率が定義された条件付き確率場モデルに従って、全てのタグの組み合わせの尤度を導出する。
【００６７】
例えば、先頭の文字Ｃ１が「Ｂ」タグ、次の文字Ｃ２が「Ｉ」タグ、次の文字Ｃ３が「Ｌ」タグ、最後の文字Ｃ４が「Ｏ」タグとなる、ある一つの組み合わせを考えた場合、ＣＲＦレイヤ４００は、まず、文字Ｃ１に対応した重み付きタグスコアベクトルＨ１に含まれる複数の要素のうち、「Ｂ」タグの尤度を表す要素ｅ１に対して、「Ｂ」タグ（＝要素ｅ１）から「Ｉ」タグ（＝要素ｅ２）へと状態遷移する状態遷移確率０．５を乗算する。次に、ＣＲＦレイヤ４００は、文字Ｃ２に対応した重み付きタグスコアベクトルＨ２に含まれる複数の要素のうち、「Ｉ」タグの尤度を表す要素ｅ２に対して、「Ｉ」タグ（＝要素ｅ２）から「Ｌ」タグ（＝要素ｅ３）へと状態遷移する状態遷移確率０．４を乗算する。次に、ＣＲＦレイヤ４００は、文字Ｃ３に対応した重み付きタグスコアベクトルＨ３に含まれる複数の要素のうち、「Ｌ」タグの尤度を表す要素ｅ３に対して、「Ｌ」タグ（＝要素ｅ３）から「Ｏ」タグ（＝要素ｅ４）へと状態遷移する状態遷移確率０．３を乗算する。そして、ＣＲＦレイヤ４００は、これらの積を足し合わせた線形和（０．５×ｅ１＋０．４×ｅ２＋０．３×ｅ３）を、「Ｂ」「Ｉ」「Ｌ」「Ｏ」の組み合わせの尤度として導出する。なお、各タグの組み合わせの尤度は、全組み合わせの尤度で除算され、０から１の範囲の数値をとるものとする。
【００６８】
ＣＲＦレイヤ４００は、全てのタグの組み合わせについて尤度を導出すると、その組み合わせの中から最も尤度が大きくなるタグの組み合わせを選択し、その組み合わせをベクトル（以下、最尤タグベクトルと称する）として出力する。例えば、分類すべきタグの種類が４種類である場合、ＣＲＦレイヤ４００によって出力される最尤タグベクトルには、例えば、最初の文字Ｃ１に付されるタグの尤度を表す要素ｅ１と、次の文字Ｃ２に付されるタグの尤度を表す要素ｅ２と、次の文字Ｃ３に付されるタグの尤度を表す要素ｅ３と、最後の文字Ｃ４に付されるタグの尤度を表す要素ｅ４とが含まれることになる。
【００６９】
図５の説明に戻り、次に、文字列抽出部１１４は、分類器ＭＤＬのＣＲＦレイヤ４００から出力結果、すなわち、最尤のタグの組み合わせを示す最尤タグベクトルを取得する（Ｓ１０４）。
【００７０】
次に、文字列抽出部１１４は、Ｓ１００の処理で取得された文書に含まれる全ての文字を分類器ＭＤＬに入力したか否かを判定し（Ｓ１０６）、未だ全ての文字について分類器ＭＤＬに入力していない場合、Ｓ１０２の処理に戻り、前回分類器ＭＤＬに入力された文字列と重複しない他の文字列を分類器ＭＤＬに入力する。
【００７１】
一方、文字列抽出部１１４は、全ての文字について分類器ＭＤＬに入力している場合、分類器ＭＤＬから取得した最尤タグベクトルに基づいて、文書に含まれる各文字にタグを付与し、その文書の中から、アンカーテキストのようにハイパーリンクに対応付けることが可能な文字列を抽出する（Ｓ１０８）。例えば、文字Ｃ１からＣ４が分類器ＭＤＬに入力され、その分類器ＭＤＬから取得された最尤タグベクトルに「Ｂ」「Ｉ」「Ｌ」「Ｏ」のタグの尤度を表す要素が含まれている場合、文字列抽出部１１４は、文字Ｃ１に「Ｂ」タグを付与し、文字Ｃ２に「Ｉ」タグを付与し、文字Ｃ３に「Ｌ」タグを付与し、文字Ｃ４に「Ｏ」タグを付与する。そして、文字列抽出部１１４は、文書の中から、「Ｂ」タグが付与された文字Ｃからはじまり、「Ｌ」タグが付与された文字Ｃで終わる文字列を、ハイパーリンクに対応付けることが可能な文字列として抽出する。この際、「Ｂ」タグが付与された文字Ｃと、「Ｌ」タグが付与された文字Ｃとの間には、「Ｉ」タグが付与された文字Ｃが存在してもよい。
【００７２】
次に、通信制御部１１６は、通信部１０２を制御して、文字列抽出部１１４によって抽出された文字列を含む情報（以下、文字列情報と称する）を、サービス提供装置２０に送信する（Ｓ１１０）。これによって本フローチャートの処理が終了する。
【００７３】
文字列情報を受信したサービス提供装置２０は、図２に例示するように、文字列抽出部１１４によって抽出された文字列にハイパーリンクを対応付けたコンテンツを、ウェブページを媒体にしてユーザの端末装置１０に提供してよい。なお、サービス提供装置２０は、文字列抽出部１１４によって抽出された文字列をハイパーリンクに対応付けるのに代えて、あるいは加えて、文字列抽出部１１４によって抽出された文字列を、情報検索のためのクエリとしてサジェストしてもよい。
【００７４】
図８は、サービス提供装置２０により提供されるウェブページの他の例を示す図である。図示の例のように、文字列抽出部１１４によって抽出された文字列が「台風１０号」である場合に、ユーザがその文字列にマウスオン（マウスオーバー）した場合、サービス提供装置２０は、その文字列で検索することを促すための検索ボタンＢ１を表示させる。
【００７５】
［学習時（トレーニング）の処理フロー］
以下、第１実施形態における情報処理装置１００の学習時の一連の処理の流れをフローチャートに即して説明する。学習時とは、運用時に利用される分類器ＭＤＬを学習させる状態である。図９は、第１実施形態における情報処理装置１００による学習時の一連の処理の流れを示すフローチャートである。
【００７６】
まず、学習部１１８は、記憶部１３０に格納された教師データ１３６から、ある決まった数の文字列を選択する（Ｓ２００）。教師データ１３６は、予め「Ｂ」タグや「Ｏ」タグなどの各種タグが教師ラベルとして対応付けられた文字列（タグが自明な文字列）を含む文書データである。教師データ１３６が示す文書は、トークナイズ（単語分割）されている必要はなく、句点、読点、終止符、カンマ、ピリオド、疑問符、感嘆符、省略符、括弧、記号、スペース、改行などが含まれているものとする。また、その文書の言語は、日本語であってもよいし、英語や中国語、ドイツ語など他の言語であってもよい。
【００７７】
次に、学習部１１８は、教師データ１３６から文字列を選択すると、その文字列を分類器ＭＤＬに入力する（Ｓ２０２）。
【００７８】
次に、学習部１１８は、文字列を入力した分類器ＭＤＬから出力結果、すなわち最尤タグベクトルを取得する（Ｓ２０４）。
【００７９】
次に、学習部１１８は、最尤タグベクトルによって示されるタグの組み合わせと、分類器ＭＤＬに入力した文字列の各文字に教師ラベルとした対応付けられたタグとを比較し、双方のタグの組み合わせが一致するか否かを判定する（Ｓ２０６）。
【００８０】
学習部１１８は、タグの組み合わせが一致しないと判定した場合、誤差逆伝番などの勾配法に基づいて、分類器ＭＤＬのパラメータを学習する（Ｓ２０８）。例えば、学習部１１８は、教師ラベルとした対応付けられたタグの組み合わせの尤度を最大値とし、その最大値から、最尤タグベクトルによって示されるタグの組み合わせの尤度を減算した差分が小さくなるように、分類器ＭＤＬのパラメータを学習する。学習対象とする分類器ＭＤＬのパラメータは、少なくとも特徴抽出レイヤ３００の重みやバイアス成分を含む。これによって、本フローチャートの処理が終了する。
【００８１】
以上説明した第１実施形態によれば、複数の文字Ｃが含まれる文書を取得し、入力された文字を、ハイパーリンクを対応付けることが可能な文字列（固有表現）を識別する「Ｂ」「Ｉ」「Ｌ」タグや、それ以外の文字であることを識別する「Ｏ」タグなどのいずれかに分類するように学習された分類器ＭＤＬに対して、取得した文書に含まれる文字Ｃを入力して得られた最尤タグベクトルに基づいて、文書から、ハイパーリンクを対応付けることが可能な文字列を抽出するため、関連するコンテンツにハイパーリンクを介して対応付けることが可能な文字列を文書から精度よく抽出することができる。
【００８２】
一般的に、文書に含まれる文字を「Ｂ」「Ｉ」「Ｌ」「Ｏ」「Ｕ」などのタグに分類する場合、予め設計者が定めた条件式（辞書）に従って、一文字一文字を厳密にタグ付けしている。このような場合、設計者が当初想定していなかった新しい言葉などが普及しても、その言葉が既存の条件式を満たさなければ、タグ付けが実施できないことがあった。
【００８３】
これに対して、本実施形態では、予め設計者が定めた条件式など基にしてタグ付けがなされた文字を教師データ１３６として、ニューラルネットワークをベースとした分類器ＭＤＬを学習させるため、予め決められた条件を汎化させることができる。この結果、予め決められた条件を満たさない文字についても、「Ｂ」「Ｉ」「Ｌ」「Ｏ」「Ｕ」などのタグに分類することができる。
【００８４】
また、上述した第１実施形態によれば、トークナイズされておらず、句点、読点、終止符、カンマ、疑問符、感嘆符、省略符、括弧、記号、スペース、改行などが含まれる文書を教師データ１３６とするため、例えば、通常、文章の終わりを表す句点が含まれる文字列（例えば、「○○アイドル。」のような文字列）や、「頑張ろう、○○。」のようなスローガンやキャッチフレーズなどの単語ではない文字列が、新語や造語として新たに流行した場合であっても、この文字列を、ハイパーリンクを対応付けることが可能な文字列として文書から抽出することができる。
【００８５】
また、上述した第１実施形態によれば、分類器ＭＤＬにＢｉＬＳＴＭレイヤ３１０が含まれるため、入力された文字の並び順を考慮した上で、最も尤度が大きいタグの組み合わせを決定することができる。
【００８６】
また、上述した第１実施形態によれば、分類器ＭＤＬにアテンション機構３３０が含まれるため、前段のＢｉＬＳＴＭレイヤ３１０によって出力された特徴ベクトル（タグスコアベクトル）ｈを、入力された文字列における各文字の位置（順番）に応じて重み付けることができ、その結果、その特徴ベクトルに含まれる各要素の値を、タグの尤度に変換することができる。
【００８７】
また、上述した第１実施形態によれば、分類器ＭＤＬにＣＲＦレイヤ４００が含まれるため、尤度が大きいタグの組み合わせが存在しても、その組み合わせが「Ｏ」「Ｌ」「Ｏ」のような組み合わせで、存在し得る蓋然性が低いタグの組み合わせである場合には、その組み合わせの尤度を低下させる。この結果、関連するコンテンツに対応付けることが可能な文字列を文書から、更に精度よく抽出することができる。
【００８８】
＜第２実施形態＞
以下、第２実施形態について説明する。第２実施形態では、分類器ＭＤＬに含まれる埋め込みレイヤ２００が、ある言語モデルＭＤＬ２を利用して事前学習されている点で上述した第１実施形態と相違する。以下、第１実施形態との相違点を中心に説明し、第１実施形態と共通する点については説明を省略する。なお、第２実施形態の説明において、第１実施形態と同じ部分については同一符号を付して説明する。
【００８９】
図１０は、言語モデルＭＤＬ２の一例を示す図である。言語モデルＭＤＬ２は、例えば、エンコーダ５００と、デコーダ６００とを含む。エンコーダ５００は、入力された文字を、文字ベクトルに変換するニューラルネットワークであり、デコーダ６００は、エンコーダ５００によって文字から変換された文字ベクトルを、元の文字に逆変換するニューラルネットワークである。エンコーダ５００は、例えば、埋め込みレイヤ２００と、第１ＬＳＴＭ５１０と、第２ＬＳＴＭ５２０とを含む。
【００９０】
言語モデルＭＤＬ２は、ある文字Ｃｋが入力されたときに、その入力された文字Ｃｋの次にくる文字Ｃｋ＋１を予測するように学習される。例えば、図示のように、文字Ｃ１から文字Ｃ６までのある文字列が言語モデルＭＤＬ２に入力された場合、学習部１１８は、文字Ｃ１を入力として、その文字Ｃ１に隣り合う次の文字ＣＸを言語モデルＭＤＬ２に予測させる。学習部１１８は、言語モデルＭＤＬ２によって予測された文字ＣＸが、文字Ｃ１の次にくる文字Ｃ２でない場合、少なくともエンコーダ５００の重みやバイアス成分などのパラメータを再決定する。次に、学習部１１８は、文字Ｃ３を入力として、その文字Ｃ３に隣り合う次の文字ＣＸを言語モデルＭＤＬ２に予測させる。学習部１１８は、言語モデルＭＤＬ２によって予測された文字ＣＸが、文字Ｃ３の次にくる文字Ｃ４でない場合、少なくともエンコーダ５００の重みやバイアス成分などのパラメータを再決定する。このように、学習部１１８は、入力データだけで言語モデルＭＤＬ２のパラメータを学習する教師なし学習を行う。
【００９１】
言語モデルＭＤＬ２を学習させた結果、言語モデルＭＤＬ２が入力された文字Ｃｋの次に来る文字Ｃｋ＋１を一定の精度で予測できるようになった場合、言語モデルＭＤＬ２のエンコーダ５００に含まれる埋め込みレイヤ２００を取り出して、分類器ＭＤＬの埋め込みレイヤ２００とする。
【００９２】
以上説明した第２実施形態によれば、分類器ＭＤＬに含まれる埋め込みレイヤ２００を、言語モデルＭＤＬ２を利用して事前学習することで、分類器ＭＤＬがより適切な文字ベクトルを生成することができる。
【００９３】
＜第３実施形態＞
以下、第３実施形態について説明する。第３実施形態では、文字列抽出部１１４によって抽出された一以上の文字列から、特定の文字列を除去する点で上述した第１または第２実施形態と相違する。以下、第１または第２実施形態との相違点を中心に説明し、第１または第２実施形態と共通する点については説明を省略する。なお、第３実施形態の説明において、第１または第２実施形態と同じ部分については同一符号を付して説明する。
【００９４】
図１１は、第３実施形態における情報処理装置１００Ａの構成の一例を示す図である。図示のように、第３実施形態における情報処理装置１００Ａの制御部１１０Ａは、上述した取得部１１２、文字列抽出部１１４、通信制御部１１６、および学習部１１８に加えて、更に、特定文字列除去部１２０を備える。
【００９５】
特定文字列除去部１２０は、文字列抽出部１１４によって抽出された一以上の文字列から、特定の文字列を除去する。特定の文字列とは、例えば、公序良俗に反するような不適切な文字列や、ネガティブな意味をもつ文字列、放送禁止用語に相当する文字列などを含む。
【００９６】
通信制御部１１６は、文字列抽出部１１４によって抽出され、その後、特定文字列除去部１２０によって除去されずに残った文字列を含む文字列情報を、サービス提供装置２０に送信する。
【００９７】
以上説明した第３実施形態によれば、「Ｂ」タグが付与された文字Ｃからはじまり、「Ｌ」タグが付与された文字Ｃで終わる一以上の文字列の中から特定の文字列を除去するため、より適切なコンテンツへのハイパーリンクを文字列に対応付けることができる。
【００９８】
＜ハードウェア構成＞
上述した実施形態の情報処理装置１００は、例えば、図１２に示すようなハードウェア構成により実現される。図１２は、実施形態の情報処理装置１００および１００Ａのハードウェア構成の一例を示す図である。
【００９９】
情報処理装置１００および１００Ａは、ＮＩＣ１００−１、ＣＰＵ１００−２、ＲＡＭ１００−３、ＲＯＭ１００−４、フラッシュメモリやＨＤＤなどの二次記憶装置１００−５、およびドライブ装置１００−６が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置１００−６には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置１００−５、またはドライブ装置１００−６に装着された可搬型記憶媒体に格納されたプログラムがＤＭＡコントローラ（不図示）などによってＲＡＭ１００−３に展開され、ＣＰＵ１００−２によって実行されることで、制御部１１０および１１０Ａが実現される。制御部１１０および１１０Ａが参照するプログラムは、ネットワークＮＷを介して他の装置からダウンロードされてもよい。
【０１００】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１０１】
１…情報処理システム、１０…端末装置、２０…サービス提供装置、１００、１００Ａ…情報処理装置、１０２…通信部、１１０、１１０Ａ…制御部、１１２…取得部、１１４…文字列抽出部、１１６…通信制御部、１１８…学習部、１２０…特定文字列除去部、１３０…記憶部
【図１】
2020046792.tif 000006
【図２】
2020046792.tif 000007
【図３】
2020046792.tif 000008
【図４】
2020046792.tif 000009
【図５】
2020046792.tif 000010
【図６】
2020046792.tif 000011
【図７】
2020046792.tif 000012
【図８】
2020046792.tif 000013
【図９】
2020046792.tif 000014
【図１０】
2020046792.tif 000015
【図１１】
2020046792.tif 000016
【図１２】
2020046792.tif 000017