(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】学習装置、プログラム、及び学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20241112BHJP
G06N 3/00 20230101ALI20241112BHJP
G06F 40/211 20200101ALI20241112BHJP
G06F 40/216 20200101ALI20241112BHJP
【FI】
G06N20/00
G06N3/00
G06F40/211
G06F40/216
(21)【出願番号】P 2022113724
(22)【出願日】2022-07-15
【審査請求日】2023-11-01
(73)【特許権者】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】石若 裕子
(72)【発明者】
【氏名】丹下 敦矢
(72)【発明者】
【氏名】吉田 智博
【審査官】多賀 実
(56)【参考文献】
【文献】特開2007-080117(JP,A)
【文献】Daniel Mitropolsky et al.,"A Biologically Plausible Parser",arXiv.org [online],arXiv:2108.02189v1,米国,Cornell University,2021年,[検索日 2024.08.02], インターネット:<URL: https://arxiv.org/abs/2108.02189v1>
【文献】栗田 修平 ほか,「深層強化学習を用いた意味依存構造解析は自発的に平易優先戦略を学習する」,言語処理学会第25回年次大会 発表論文集 [online],言語処理学会,2019年03月04日,pp.159-162,[検索日 2019.04.18], インターネット:<URL: http://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/D2-2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
学習用文章と前記学習用文章における形態素同士の係り受けとを含む学習用文章データを記憶する記憶部と、
前記記憶部に記憶された複数の前記学習用文章データを用いて、AC(Assembly Calculus)におけるルールを学習する学習実行部と、
を備え
、
前記学習実行部は、複数の品詞エージェントに対して、それぞれが文の要素を表す複数の要素エリアによって表される文の係り受けの遷移を環境とし、前記環境における前記品詞エージェントの位置と前記環境におけるAssemblyが存在する要素エリアとを状態とし、前記品詞エージェントによる前記複数の要素エリアの遷移を行動とした強化学習を実行することによって、前記ルールを学習する、学習装置。
【請求項2】
前記学習実行部は、前記ACにおけるFiberルールを学習する、請求項1に記載の学習装置。
【請求項3】
前記学習実行部は、前記品詞エージェントによる行動に対して、前記学習用文章データに含まれる係り受けに基づいて決定した報酬を与えることによって、前記強化学習を実行する、請求項
1に記載の学習装置。
【請求項4】
コンピュータを、請求項1から
3のいずれか一項に記載の学習装置として機能させるためのプログラム。
【請求項5】
コンピュータによって実行される学習方法であって、
学習用文章と前記学習用文章における形態素同士の係り受けとを含む学習用文章データを用いて、AC(Assembly Calculus)におけるルールを学習する学習実行段階
を備え、
前記学習実行段階は、複数の品詞エージェントに対して、それぞれが文の要素を表す複数の要素エリアによって表される文の係り受けの遷移を環境とし、前記環境における前記品詞エージェントの位置と前記環境におけるAssemblyが存在する要素エリアとを状態とし、前記品詞エージェントによる前記複数の要素エリアの遷移を行動とした強化学習を実行することによって、前記ルールを学習する、学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、プログラム、及び学習方法に関する。
【背景技術】
【0002】
非特許文献1には、Assemblyを基本とする脳の計算モデルであるAC(Assembly Calculus)について記載されている。非特許文献2には、文章から、主語、目的語等の依存関係のラベルを出力する技術が記載されている。
[先行技術文献]
[非特許文献]
[非特許文献1]Christos H. Papadimitriou, Santosh S. Vempala, Daniel Mitropolsky, Michael Collins, and Wolfgang Maass. "Brain computation by assemblies of neurons". Proceedings of the National Academy of Sciences. 2020, 117(25):14464-14472.
[非特許文献2]Daniel Mitropolsky, Michael J. Collins and Christos H. Papadimitriou. "A Biologically Plausible Parser". Transactions of the Association for Computational Linguistics. 2021, 9: 1374-1388
【発明の概要】
【課題を解決するための手段】
【0003】
本発明の一実施態様によれば、学習装置が提供される。前記学習装置は、学習用文章と前記学習用文章における形態素同士の係り受けとを含む学習用文章データを記憶する記憶部を備えてよい。前記学習装置は、前記記憶部に記憶された複数の前記学習用文章データを用いて、AC(Assembly Calculus)におけるルールを学習する学習実行部を備えてよい。
【0004】
前記学習装置において、前記学習実行部は、前記ACにおけるFiberルールを学習してよい。
【0005】
前記いずれかの学習装置において、前記学習実行部は、強化学習によって前記ルールを学習してよい。前記学習実行部は、複数の品詞エージェントに対して、それぞれが文の要素を表す複数の要素エリアによって表される文の係り受けの遷移を環境とし、前記環境における前記品詞エージェントの位置と前記環境におけるAssemblyが存在する要素エリアとを状態とし、前記品詞エージェントによる前記複数の要素エリアの遷移を行動とした強化学習を実行することによって、前記ルールを学習してよい。前記学習実行部は、前記品詞エージェントによる行動に対して、前記学習用文章データに含まれる係り受けに基づいて決定した報酬を与えることによって、前記強化学習を実行してよい。
【0006】
本発明の一実施態様によれば、コンピュータを、前記学習装置として機能させるためのプログラムが提供される。
【0007】
本発明の一実施態様によれば、コンピュータによって実行される学習方法が提供される。前記学習方法は、学習用文章と前記学習用文章における形態素同士の係り受けとを含む学習用文章データを用いて、AC(Assembly Calculus)におけるルールを学習する学習実行段階を備えてよい。
【0008】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0009】
【
図2】Assembly Calculusについて説明するための説明図である。
【
図3】Assembly Calculusについて説明するための説明図である。
【
図4】Assembly Calculusについて説明するための説明図である。
【
図5】Assembly Calculusについて説明するための説明図である。
【
図6】Assembly Calculusについて説明するための説明図である。
【
図7】Assembly Calculusについて説明するための説明図である。
【
図8】学習装置200による学習について説明するための説明図である。
【
図9】学習装置200の強化学習における報酬について説明するための説明図である。
【
図10】学習装置200の強化学習における報酬について説明するための説明図である。
【
図11】各形態素(品詞)毎の各行動毎のQテーブル700の一例を概略的に示す。
【
図12】学習装置200の機能構成の一例を概略的に示す。
【
図13】学習実行部206によるProjectionのアルゴリズムの一例を示す。
【
図14】学習実行部206によるReadoutのアルゴリズムの一例を示す。
【
図15】学習実行部206によるマルチエージェント強化学習のアルゴリズムの一例を示す。
【
図16】学習装置200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【0010】
Assembly Calculusでは、Assemblyを自動で生成することができる。Projectionという、あるAreaから別のAreaに新たなAssemblyを形成するOperationがあり、そのOperationを用いた文中の単語間の依存関係をAssemblyのProjectionで取得できるParserがすでに提案されている。
【0011】
このParserでは文の主語、目的語等の依存関係のラベルを出力することができる。このParserは単語の品詞に相当するAreaを含み、Left Medial Temporal Lobe(MTL)内に存在すると考えられているLexicon Areaと、Superior Temporal Gyrus(STG)に含まれると考えられる主語、目的語等の各依存関係に相当するArea、それらのAreaをFiberという複数のSynapsesで相互に繋がれ、構成される。Area間ではFiberを経由してProjectionが行われ、あるエリアのAssemblyから新たなAssemblyがProjection先のAreaに形成される。Lexicon AreaからDisinhibitされたFiber Areaを通してProjectionが行われ、依存関係を記録していく。
【0012】
日本語の依存関係を正しく出力するのは非常に難しい。例えば、日本語では文中での主語、目的語の出現順序は決まっていないため、出現する品詞の順番のみで依存関係を正しく得ることができないことがある。また、同じ助詞が名詞の後に付与されていてもそれらの名詞は主語、目的語のいずれにもなりうる可能性があり、助詞のみから主語、目的語を判断するのは難しいことがある。上述のPrserはTry and Errorと言語学に基づき、各時点でどのFiberをDisinhibit、Inhibitするかを表すFiberルールを手動で設定している。しかし、様々な種類の文の依存関係ラベルを正しく出力できる汎用的なFiberルールを手動で設定するのは非常に手間がかかり、困難である。
【0013】
そこで、発明者は、まず、簡単な日本語の文のParseに必要なBrain Areaを設定し、Projectionを用いた日本語Parserを構築し、その後、Fiberルールを自動で学習するアルゴリズムを編み出した。学習ではLexicon Brain Area内に品詞の種類ごとにAgentを用意し、マルチエージェント強化学習を用いて、各AgentがParse時にどのFiberを使ってProjectionを行えば正しく依存関係を出力できるかを学習する。本学習アルゴリズムを用いて、品詞の種類、単語の数の多い、より長い文、文章になった時にも応用できるParserを実現できる可能性が示唆され、他言語のParserの学習にも使えると考えられる。また、本学習アルゴリズム、学習させたモデルにより脳の言語習得の解明にも繋がると考えられる。
【0014】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0015】
図1は、システム10の一例を概略的に示す。システム10は、解析装置100及び学習装置200を備える。解析装置100は、Assembly Calculusを用いて、入力された文中の単語間の依存関係を解析する装置である。学習装置200は、Assembly Calculusで用いるルールを学習する装置である。
【0016】
学習装置200は、学習によって生成したルールを解析装置100に提供する。解析装置100は、学習装置200から取得したルールを用いて、Assembly Calculusを実行してよい。解析装置100は、例えば、通信端末30から受信した文章について、Assembly Calculusによって係り受けを解析して、解析結果を通信端末30に提供する。
【0017】
解析装置100、学習装置200、及び通信端末30は、ネットワーク20を介して通信してよい。ネットワーク20は、移動体通信ネットワークを含んでよい。移動体通信ネットワークは、LTE(Long Term Evolution)通信方式、5G(5th Generation)通信方式、3G(3rd Generation)通信方式、及び6G(6th Generation)通信方式以降の通信方式のいずれに準拠していてもよい。ネットワーク20は、インターネットを含んでよい。ネットワーク20は、LAN(Local Area Network)を含んでよい。解析装置100、学習装置200、及び通信端末30のそれぞれは、ネットワーク20に有線接続されても、無線接続されてもよい。
【0018】
なお、解析装置100と学習装置200とは一体であってもよい。すなわち、学習装置200が解析装置100の機能を更に備えてもよい。
【0019】
図2~
図7は、解析装置100によるAssembly Calculusについて説明するための説明図である。ここでは、英語の係り受けを解析するAssembly Calculusについて説明する。
【0020】
本例では、「The man saw a woman」という文章の係り受けを解析する場合を例に挙げる。Assembly Calculusにおいては、LEX(Lexicon)エリア402の他、複数の文の要素のエリアが定義される。文の要素には、主語(Subject)、述語(Verb)、目的語(Object)、限定詞(Determiners)、形容詞(Adjective)、副詞(Adverb)、及び前置詞(Preposition)等の多数の種類が存在するが、ここでは、「The man saw a woman」という文章の解析に関係する文の要素である、DET(Determiners)エリア404、SUBJ(Subject)エリア406、OBJ(Object)エリア408、及びVERBエリア410のみを示している。
【0021】
解析装置100は、Wordが入力された場合に、Wordの品詞に対応するFiberルール420に従って、複数のエリア間のFiberを経由したProjectionを行うことによって、Word間の依存関係を解析していく。本例では、Fiberルール420にプレコマンド及びポストコマンドが含まれる場合を例に挙げて説明するが、Fiberルール420にポストコマンドは含まれなくてもよい。
【0022】
図2は、初期状態を示す。本例において、初期状態では、LEXエリア402、DETエリア404、SUBJエリア406、及びVERBエリア410がオンにされ、全てのFiberがオフにされる。
図2~
図7では、オンになっているエリアの名称に下線を付すことによって、オンになっているエリアとオフになっているエリアとの区別をつけている。また、オンになっているFiberを実線、オフになっているFiberを破線とすることによって、区別をつけている。
【0023】
図3では、「the」が入力された場合について、説明する。入力されたWordを、便宜的にLEXエリア402内の右上に示している。
【0024】
「the」に対しては、プレコマンドによって、DETエリア404がオンにされ、LEXエリア402とDETエリア404とのFiberがオンにされる。LEXエリア402内のAssemblyとDETエリア404内のAssemblyとが接続される。ポストコマンドによって、LEXエリア402とDETエリア404とのFiberがオフにされる。
【0025】
図4では、「man」が入力された場合について、説明する。「man」に対しては、プレコマンドによって、LEXエリア402とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、DETエリア404とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、OBJエリア408とVERBエリア410とのFiberがオンにされる。OBJエリア408がオフであることから、LEXエリア402内のAssemblyとSUBJエリア406内のAssemblyとが接続され、SUBJエリア406内のAssemblyとDETエリア404内のAssemblyとが接続される。ポストコマンドによって、DETエリア404と、LEXエリア402とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、DETエリア404とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、OBJエリア408とVERBエリア410とのFiberがオフにされる。
【0026】
図5では、「saw」が入力された場合について、説明する。「saw」に対しては、プレコマンドによって、LEXエリア402とVERBエリア410とのFiber、及びVERBエリア410とSUBJエリア406とのFiberがオンにされる。LEXエリア402内のAssemblyとVERBエリア410内のAssemblyとが接続され、VERBエリア410内のAssemblyとSUBJエリア406内のAssemblyとが接続される。ポストコマンドによって、SUBJエリア406がオフにされ、OBJエリア408がオンにされ、LEXエリア402とVERBエリア410とのFiberがオフにされる。
【0027】
図6は、「a」が入力された場合について、説明する。「a」に対しては、プレコマンドによって、LEXエリア402と、LEXエリア402とDETエリア404とのFiberとがオンにされる。LEXエリア402内のAssemblyとDETエリア404内のAssemblyとが接続される。ポストコマンドによって、LEXエリア402とDETエリア404とのFiberがオフにされる。
【0028】
図7は、「woman」が入力された場合について、説明する。「woman」に対しては、プレコマンドによって、LEXエリア402とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、DETエリア404とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、OBJエリア408とVERBエリア410とのFiberがオンにされる。LEXエリア402内のAssemblyとOBJエリア408内のAssembly、DETエリア404内のAssemblyとOBJエリア408内のAssembly、OBJエリア408内のAssemblyとVERBエリア410内のAssemblyとが接続される。ポストコマンドによって、DETエリア404と、LEXエリア402とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、DETエリア404とSUBJエリア406とのFiber、LEXエリア402とOBJエリア408とのFiber、OBJエリア408とVERBエリア410とのFiberがオフにされる。
【0029】
以上の流れによって、「The man saw a woman」の係り受けが解析される。英語では、文の要素の依存関係のルールが明確に決まっているため、Fiberルール420を手動で生成することが可能だが、日本語では、主語、目的語の出現順序が決まっていない等の理由によって、文の要素の依存関係のルールが不明確であり、Fiberルール420を手動で生成することは困難である。本実施形態に係るシステム10においては、学習装置200が、学習によってルールを生成する。
【0030】
図8は、学習装置200による学習について説明するための説明図である。学習装置200は、強化学習によって、Assembly CalculusにおけるFiberルールを学習してよい。ここでは、プレコマンドを用い、ポストコマンドを用いない場合について説明する。
【0031】
本例において、学習装置200は、学習アルゴリズムとして、Qラーニングを用いる。なお、学習装置200は、学習アルゴリズムとして、DQN(Deep Q-Network)を用いてもよく、他の学習アルゴリズムを用いてもよい。
【0032】
学習装置200は、複数の品詞エージェントを含むマルチエージェント500に対して、それぞれが文の要素を表す複数の要素エリアによって表される文の係り受けの遷移を環境510とし、環境510における品詞エージェントの位置と、環境510におけるAssemblyが存在する要素エリアとを状態520とし、品詞エージェントによる複数の要素エリアの遷移を行動530とした強化学習を実行することによって、Fiberルールを学習してよい。
【0033】
学習装置200は、日本語の学習用文章と、学習用文章における形態素同士の係り受けとを含む学習用文章データを複数用いて、学習を実行する。ここでは、「コーヒーが飲みたい」という学習用文章と、「飲み」「コーヒー」が目的語の関係であり、「飲み」「たい」が助動詞の関係であり、「コーヒー」「が」が格助詞の関係であることを含む学習用文章データと、「私が飲みたい」という学習用文章と、「飲み」「私」が主語の関係であり、「飲み」「たい」が助動詞の関係であり、「私」「が」が格助詞の関係であることを含む学習用文章データとを用いる場合を例として説明する。
【0034】
マルチエージェント500は、複数の品詞エージェントを含む。
図8では、名詞のエージェントであるnounエージェント501、動詞のエージェントであるverbエージェント502、格助詞のエージェントであるadpエージェント503、及び助動詞のエージェントであるauxエージェント504を例示している。マルチエージェント500は、他の品詞のエージェントを含んでもよい。また、マルチエージェント500は、品詞を各種観点で分類した、より細かいエージェントを含んでもよい。例えば、マルチエージェント500は、名詞について、人、物、及び場所等で分類した、名詞(人)エージェント、名詞(物)エージェント、名詞(場所)エージェントを含む。例えば、マルチエージェント500は、動詞について、自動詞エージェント及び他動詞エージェントを含んでよく、さらに、可能動詞エージェント及び補助動詞エージェント等を含んでもよい。
【0035】
図8に示す例において、環境510は、LEXエリア511と、「コーヒーが飲みたい」及び「私が飲みたい」の解析に関係するOBJエリア512、VERBエリア513、AUXエリア514、及びCASEエリア515を含む。このように、学習装置200は、複数の文の要素のうち、学習に用いる学習用文章の解析に関係する要素のエリアのみを環境510に含めて学習を行ってよい。そして、異なる学習用文章のそれぞれについて、学習を実行して、結果をマージすることによって、最終的なルールを生成してよい。これにより、学習時の計算負荷を適切に低減することができる。なお、学習装置200は、すべての文の要素のエリアを環境510に含めて学習を行ってもよい。なお、学習用文章の解析に関係する要素のエリアは、学習用文章に含まれる係り受けに対応する要素のエリアであってよい。また、学習用文章の解析に関係する要素のエリアは、学習用文章に含まれる係り受けに対応する要素のエリアに加えて、関係しそうな係り受けに対応する要素のエリアを含んでもよい。関係しそうな係り受けは、例えば、学習装置200のユーザ等によって設定されてよい。なお、学習装置200は、全ての文の要素のエリアを環境510に含めて学習を行ってもよい。
【0036】
学習装置200は、学習用文章について、マルチエージェント500の行動530が完了する毎に、マルチエージェント500に報酬540を与える。学習装置200は、マルチエージェント500の行動530が終わった後に、どの文の要素のエリアを遷移してきたかを確認するReadoutの出力と、学習用文章データに含まれる係り受け、すなわち、係り受けの正解とを用いて、マルチエージェント500のそれぞれに対して報酬540を与える。
【0037】
学習装置200は、下記数式1を用いて、それぞれの品詞エージェントに与える報酬RPOS(Part Of Speech)を計算してよい。
【0038】
【0039】
Nは、期待されるラベル数(学習用文章データに含まれる正解の係り受けのラベルの数)であり、Cは、Raedoutの出力のうちの、各形態素を含む正解ラベルの数であり、Eは、Readoutの出力のラベル数のうち、期待されるラベル数を超えたラベル数である。CからEを減算するように構成することによって、誤った係り受けを出力した場合に報酬を小さくすることができ、より適切な学習を実現することができる。
【0040】
図9は、Readout output610とその報酬の一例を概略的に示す。ここでは、学習用文章データに含まれる正解の係り受けのラベルが、「飲み」「コーヒー」が目的語の関係であることを示す「"飲み"、"コーヒー"、OBJ」、「飲み」「たい」が助動詞の関係であることを示す「"飲み"、"たい"、AUX」、及び「コーヒー」「が」が格助詞の関係であることを示す「"コーヒー"、"が"、CASE」の3つであり、Readout output610が、「"飲み"、"コーヒー"、OBJ」及び「"飲み"、"たい"、AUX」の2つである場合を例示している。
【0041】
学習用文章データに含まれる正解の係り受けのラベルの数が3つであることから、N=3となる。Readout output610のラベルの数が2つであって、3つ以下であることから、E=0となる。そして、Readout output610の2つのラベルが、両方とも学習用文章データに含まれる正解の係り受けのラベルと一致しているので、両方とも正解である。
【0042】
nounエージェント501について、名詞「コーヒー」を含む正解ラベルの数が1つであることから、報酬が1/3となっている。verbエージェント502について、動詞「飲み」を含む正解ラベルの数が2つであることから、報酬が2/3となっている。adpエージェント503について、格助詞「が」を含む正解ラベルがないことから、報酬が0となっている。auxエージェント504について、助動詞「たい」を含む正解ラベルの数が1つであることから、報酬が1/3となっている。
【0043】
図10は、Readout output620とその報酬の一例を概略的に示す。ここでは、学習用文章データに含まれる正解の係り受けのラベルが、「"飲み"、"コーヒー"、OBJ」、「"飲み"、"たい"、AUX」、及び「"コーヒー"、"が"、CASE」の3つであり、Readout output620が、「たい」「コーヒー」が目的語の関係であることを示す「"たい"、"コーヒー"、OBJ」と、「飲み」「コーヒー」が助動詞の関係であることを示す「"飲み"、"コーヒー"、AUX」と、「"コーヒー"、"が"、CASE」の3つである場合を例示している。
【0044】
学習用文章データに含まれる正解の係り受けのラベルの数が3つであることから、N=3となる。Readout output620のラベルの数が3つであって、3つ以下であることから、E=0となる。そして、Readout output610の3つのラベルのうち、「"たい"、"コーヒー"、OBJ」及び「"飲み"、"コーヒー"、AUX」が不正解であり、「"コーヒー"、"が"、CASE」が正解である。
【0045】
nounエージェント501について、名詞「コーヒー」を含む正解ラベルの数が1つであることから、報酬が1/3となっている。verbエージェント502について、動詞「飲み」を含む正解ラベルがないことから、報酬が0となっている。adpエージェント503について、格助詞「が」を含む正解ラベルの数が1つであることから、報酬が1/3となっている。auxエージェント504について、助動詞「たい」を含む正解ラベルがないことから、報酬が0となっている。
【0046】
図11は、各形態素(品詞)毎の各行動毎のQテーブル700の一例を概略的に示す。ここでは、名詞「コーヒー」のACTION:OBJに対応するQテーブル700を例示している。横軸は、Assemblyが発火しているエリア、縦軸はエージェントの現在エリアを示す。
【0047】
学習装置200は、Qラーニングを進めることによって、Qテーブル700のQ値を更新していく。「コーヒーが飲みたい」の学習用文章データで学習を進めていくと、例えば、Present Area「OBJ」とAssembly Area「OBJ、CASE」とに対応するQ値、Present Area「OBJ」とAssembly Area「OBJ、CASE、VERB、AUX」とに対応するQ値、及び、Present Area「VERB」とAssembly Area「OBJ、CASE、VERB」とに対応するQ値が高まっていく。
【0048】
学習装置200が、各形態素(品詞)毎の各行動毎のQテーブルを更新していくことによって、日本語用のAssembly Calculusのルールを更新していくことができる。
【0049】
図12は、学習装置200の機能構成の一例を概略的に示す。学習装置200は、記憶部202、入力受付部204、学習実行部206、及び結果提供部208を備える。
【0050】
記憶部202は、各種情報を記憶する。記憶部202は、学習用文章と、当該学習用文章における形態素同士の係り受けとを含む学習用文章データを記憶する。学習用文章データに含まれる係り受けは、当該学習用文章の係り受けとして正しいことが確認されているものである。記憶部202は、複数の学習用文章データを記憶する。
【0051】
入力受付部204は、各種入力を受け付ける。入力受付部204は、例えば、学習用文章データに入力を受け付ける。入力受付部204は、例えば、学習装置200のユーザによって学習装置200に対して入力された学習用文章データを受け付ける。入力受付部204は、例えば、学習装置200の外部の装置から送信された学習用文章データを受け付ける。入力受付部204は、受け付けた学習用文章データを記憶部202に記憶させる。
【0052】
入力受付部204が受け付ける学習用文章データには、学習用文章及び係り受けに加えて、学習用文章を形態素解析することによって得られる、学習用文章に含まれる複数の形態素と、複数の形態素のそれぞれの品詞が含まれてもよい。
【0053】
学習実行部206は、記憶部202に記憶されている複数の学習用文章データを用いて、Assembly Calculusにおけるルールを学習する。学習実行部206は、学習用文章データに、学習用文章に含まれる複数の形態素のそれぞれの品詞が含まれていない場合、形態素解析を実行して、複数の形態素の品詞を特定してよい。
【0054】
学習実行部206は、Assembly CalculusにおけるFiberルールを学習してよい。
【0055】
学習実行部206は、強化学習によってAssembly Calculusにおけるルールを学習してよい。学習実行部206は、学習アルゴリズムとして、Qラーニングを用いてよい。学習実行部206は、学習アルゴリズムとして、DQNを用いてもよく、他の学習アルゴリズムを用いてもよい。
【0056】
学習実行部206は、複数の品詞エージェントに対して、それぞれが文の要素を表す複数の要素エリアによって表される文の係り受けの遷移を環境とし、当該環境における品詞エージェントの位置と当該環境におけるAssemblyが存在する要素エリアとを状態とし、品詞エージェントによる複数の要素エリアの遷移を行動とした強化学習を実行することによって、ルールを学習してよい。学習実行部206は、品詞エージェントによる行動に対して、学習用文章データに含まれる係り受けに基づいて決定した報酬を与えることによって、強化学習を実行してよい。
【0057】
品詞エージェントの例として、名詞エージェント、動詞エージェント、形容詞エージェント、形容動詞エージェント、助詞エージェント、助動詞エージェント、副詞エージェント、連体詞エージェント、接続詞エージェント、及び感動詞エージェント等が挙げられる。
【0058】
名詞エージェントは、普通名詞エージェント、固有名詞エージェント、数詞エージェント、形式名詞エージェント、及び代名詞エージェント等に分類されてもよい。また、名詞エージェントは、名詞(人)エージェント、名詞(物)エージェント、及び名詞(場所)エージェント等に分類されてもよい。
【0059】
動詞エージェントは、自動詞エージェント、他動詞エージェント、可能動詞エージェント、及び補助動詞エージェント等に分類されてもよい。助詞エージェントは、格助詞エージェント、接続助詞エージェント、副助詞エージェント、及び終助詞エージェント等に分類されてもよい。副詞エージェントは、状態の副詞エージェント、程度の副詞エージェント、及び呼応の副詞エージェント等に分類されてもよい。
【0060】
学習実行部206は、例えば、複数の品詞エージェントに対して、複数の要素エリアによって表される文の係り受けの遷移を環境とし、当該環境における品詞エージェントの位置と当該環境におけるAssemblyが存在する要素エリアとを状態とし、品詞エージェントによる複数の要素エリアの遷移を行動とし、品詞エージェントによる行動に対して、学習用文章データに含まれる係り受けに基づいて決定した報酬を与えるQラーニングを実行することによって、各形態素(品詞)毎の各行動毎のQテーブルを更新する。学習実行部206は、更新した複数のQテーブルから、Assembly CalculusにおけるFiberルールを生成してよい。学習実行部206は、更新した複数のQテーブルを、Assembly Calculusにおけるルールとしてもよい。
【0061】
学習実行部206が、例えば、「コーヒーが飲みたい」という学習用文章を含む学習用文章データと、「私が飲みたい」という学習用文章を含む学習用文章データを含む学習用文章データとを用いた学習を実行することによって、文章構造は同じであるものの「コーヒー」が目的語となる前者と、「私」が主語となる後者とを区別した係り受けの解析を実現できるようになる。
【0062】
学習実行部206が、多数の学習用文章データを用いた学習を実行することによって、係り受けの構造が複雑な日本語であっても、係り受けを適切に解析可能なルールを生成することができる。
【0063】
なお、学習実行部206は、学習用文章データの数が多い場合や、考慮する品詞の種類が多い場合等には、DQNを用いるようにしてよい。これにより、状態行動空間が爆発せずに、学習が収束することができるようになる。
【0064】
また、学習実行部206は、複数の文の要素のすべてについて学習するのではなく、文の要素のサブセット毎に学習を実行して、結果をマージするようにしてもよい。例えば、学習実行部206は、分類された学習用文章データを用いて、文の要素のサブセット毎にQラーニングを行うことで、Qテーブルを部分的に更新していくことによって、最終的にQテーブルの全体が更新されるように学習を進めてもよい。これにより、頻度の高い文章を効果的に学習することができ、実用的な係り受けの学習をすることができる。
【0065】
また、学習実行部206は、人の会話の文章や、物語の文章等、前後の文章に関係がある文章を用いて学習する場合には、ある文章を学習する場合に、その前の文章も入力して学習するようにしてもよい。これにより、文章の前後間の関係を学習結果に反映することができ、かつ、暗黙の主語を推定することができ、係り受けの解析精度を向上することができる。
【0066】
図13は、学習実行部206によるProjectionのアルゴリズムの一例を示す。学習実行部206は、
図13に例示するアルゴリズムに従って、ある要素エリアから他の要素エリアに対する新たなAssemblyを生成してよい。
【0067】
図14は、学習実行部206によるReadoutのアルゴリズムの一例を示す。学習実行部206は、
図14に例示するアルゴリズムに従って、上述したReadoutを実現してよい。
【0068】
図15は、学習実行部206によるマルチエージェント強化学習のアルゴリズムの一例を示す。
図15に示す「project」及び「readout」は、
図13及び
図14で示したアルゴリズムに従って処理であってよい。学習実行部206は、
図15に例示するアルゴリズムに従って、学習を実行してよい。
【0069】
図16は、学習装置200として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。
【0070】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。
【0071】
CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0072】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
【0073】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。
【0074】
プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0075】
例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【0076】
また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【0077】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0078】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0079】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【0080】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0081】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0082】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0083】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0084】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0085】
10 システム、20 ネットワーク、30 通信端末、100 解析装置、200 学習装置、202 記憶部、204 入力受付部、206 学習実行部、208 結果提供部、402 LEXエリア、404 DETエリア、406 SUBJエリア、408 OBJエリア、410 VERBエリア、420 Fiberルール、500 マルチエージェント、501 nounエージェント、502 verbエージェント、503 adpエージェント、504 auxエージェント、510 環境、511 LEXエリア、512 OBJエリア、513 VERBエリア、514 AUXエリア、515 CASEエリア、520 状態、530 行動、540 報酬、610 Readout output、620 Readout output、700 Qテーブル、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ