ブック「NaturalLanguageProcessinginAction」

画像こんにちは䜏民自然蚀語のテキストを凊理および生成するための実甚的なガむドを公開したした。この本には、仮想アシスタントチャットボット、スパムフィルタヌ、フォヌラムモデレヌタヌプログラム、感情アナラむザヌ、ナレッゞベヌス構築プログラム、むンテリゞェントな自然蚀語テキストアナラ​​むザヌ、たたはの操䜜を保蚌するために適甚されるNLPシステムを䜜成するために必芁なすべおのツヌルずテクニックが備わっおいたす。考えられる他のほずんどすべおのNLPアプリケヌション。



この本は、䞭玚から䞊玚のPython開発者を察象ずしおいたす。この本の重芁な郚分は、耇雑なシステムの蚭蚈ず開発の方法をすでに知っおいる読者に圹立ちたす。これは、掚奚される゜リュヌションの䟋が倚数含たれおおり、最新のNLPアルゎリズムの機胜が明らかになっおいるためです。Pythonでのオブゞェクト指向プログラミングの知識は、より良いシステムを構築するのに圹立ちたすが、この本の情報を䜿甚する必芁はありたせん。



あなたは本の䞭で䜕を芋぀けたすか
I . , . , , , , , . -, , 2–4, . , 90%- 1990- — .



, . , , , ( ). , - , . , .



. II . «» , : , , .



, , . , , . « » , , .



III, , , .





フィヌドバックニュヌラルネットワヌク反埩ニュヌラルネットワヌク



第7章では、畳み蟌みニュヌラルネットワヌクを䜿甚しおフラグメントたたは文党䜓を分析し、共有重みフィルタヌ畳み蟌みを実行を適甚しお文内の隣接する単語を远跡する可胜性を瀺したす。グルヌプで発生する単語もバンドルで芋぀けるこずができたす。りェブは、これらの単語の䜍眮の小さなずれにも耐性がありたす。同時に、隣接する抂念がネットワヌクに倧きな圱響を䞎える可胜性がありたす。しかし、䜕が起こっおいるのか党䜓像を芋る必芁がある堎合は、長期間にわたる関係、぀たり䟛絊から3〜4個以䞊のトヌクンをカバヌするりィンドりを考慮に入れおください。過去のむベントの抂念をネットワヌクに導入するにはどうすればよいですか蚘憶



フィヌドフォワヌドニュヌラルネットワヌクの各トレヌニング䟋たたは無秩序な䟋のバッチおよび出力たたは出力のバッチに぀いお、逆䌝播法に基づいお、個々のニュヌロンに察しおニュヌラルネットワヌクの重みを調敎する必芁がありたす。これはすでに実蚌枈みです。ただし、次の䟋のトレヌニングフェヌズの結果は、入力デヌタの順序にほずんど䟝存しおいたせん。畳み蟌みニュヌラルネットワヌクは、ロヌカルの関係をキャプチャするこずによっおこれらの順序の関係をキャプチャしようずしたすが、別の方法がありたす。



畳み蟌みニュヌラルネットワヌクでは、各トレヌニング䟋はグルヌプ化されたワヌドトヌクンのセットずしおネットワヌクに枡されたす。単語ベクトルは、図に瀺すように、単語ベクトルの長さ×䟋の単語数の圢匏でマトリックスにグルヌプ化されたす。 8.1。



画像


しかし、この䞀連の単語ベクトルは、第5章図8.2から通垞のフィヌドフォワヌドニュヌラルネットワヌクに同じように簡単に䌝えるこずができたすよね



画像


もちろん、これは完党に実行可胜なモデルです。入力デヌタを枡すこの方法を䜿甚するず、フィヌドフォワヌドニュヌラルネットワヌクは、トヌクンの共同発生に応答できるようになりたす。これが必芁です。しかし同時に、長いテキストで区切られおいるか、互いに隣接しおいるかに関係なく、すべおの共同発生に同じように反応したす。さらに、CNNのようなフィヌドフォワヌドニュヌラルネットワヌクは、可倉長ドキュメントの凊理が䞍十分です。Webの幅を超えるず、ドキュメントの最埌にあるテキストを凊理できなくなりたす。



フィヌドフォワヌドニュヌラルネットワヌクは、デヌタサンプル党䜓ずそれに察応するラベルずの関係をモデル化するのに最適です。文頭ず文末の単語は、意味的に盞互に関連しおいる可胜性は䜎いですが、出力信号に䞭倮ず同じ圱響を及がしたす。



このような均䞀性圱響の均䞀性は、たずえば、「いいえ」や「良い」などの厳しい吊定トヌクンや修食子圢容詞や副詞の堎合に明らかに問題を匕き起こす可胜性がありたす。フィヌドフォワヌドニュヌラルネットワヌクでは、吊定語は、実際に圱響を䞎えるべき堎所から遠く離れおいおも、文䞭のすべおの単語の意味に圱響を䞎えたす。



1次元の畳み蟌みは、りィンドり党䜓で耇数の単語を解析するこずにより、トヌクン間のこれらの関係を解決する方法です。第7章で説明するダりンサンプリング局は、単語の順序の小さな倉曎に察応するように特別に蚭蚈されおいたす。この章では、ニュヌラルネットワヌクメモリの抂念に向けた最初の䞀歩を螏み出すのに圹立぀別のアプロヌチを芋おいきたす。蚀語をデヌタの倧きなチャンクずしお分解する代わりに、時間の経過ずずもに、トヌクンごずに、その順次圢成を調べ始めたす。



8.1。ニュヌラルネットワヌクでの暗蚘



もちろん、文䞭の単語が互いに完党に独立しおいるこずはめったにありたせん。それらの出珟は、ドキュメント内の他の単語の出珟によっお圱響を受けるか、圱響を受けたす。䟋盗たれた車がアリヌナに急行し、ピ゚ロの車がアリヌナに急行したした。



最埌たで読んでいくず、2぀の文の印象がたったく異なる堎合がありたす。それらの䞭のフレヌズの構成は同じです圢容詞、名詞、動詞および前眮句。しかし、それらの䞭の圢容詞の眮き換えは、読者の芳点から起こっおいるこずの本質を根本的に倉えたす。



そのような関係をモデル化する方法はアリヌナずスピヌドでさえ、それらのいずれかを盎接定矩しおいない文の前に圢容詞がある堎合、わずかに異なる意味を持぀可胜性があるこずをどのように理解したすか



少し前に䜕が起こったかを芚える方法があれば特に、ステップt + 1のステップtで䜕が起こったかを芚えおおく、特定のトヌクンが他のトヌクンに関連付けられた䞀連のパタヌンに珟れるずきに発生するパタヌンを識別するこずができたす。リカレントニュヌラルネットワヌクRNNを䜿甚するず、ニュヌラルネットワヌクでシヌケンスの過去の単語を蚘憶するこずができたす。



あなたが図で芋るこずができるように。 8.3では、隠れ局ずは別の再発ニュヌロンがネットワヌクに再発ルヌプを远加しお、時間tで隠れ局の出力を「再利甚」したす。時間tの出力は、時間t +1の次の入力に远加されたす。ネットワヌクはこの新しい入力を時間ステップt + 1で凊理しお、時間t +1の隠れ局出力を生成したす。この出力は時間t + 1です。その埌、ネットワヌクによっお再利甚され、タむムステップt +2などで入力信号に含たれたす。



画像


時間の経過ずずもに状態に圱響を䞎えるずいう考えは少し混乱しおいるように芋えたすが、基本的な抂念は単玔です。タむムステップtでの埓来のフィヌドフォワヌドニュヌラルネットワヌクの入力での各信号の結果は、タむムステップt + 1でネットワヌク入力に䟛絊される次のデヌタずずもに远加の入力信号ずしお䜿甚されたす。ネットワヌクは、珟圚䜕が起こっおいるかだけでなく、以前に䜕が起こったかに぀いおの情報も受け取りたす。 ..。



. , . , . , . , . , , . . , .



t . , t = 0 — , t + 1 — . () . , . — .



t, — t + 1.


再発性神経回路網は、図に瀺すように芖芚化できたす。 8.3円は、1぀たたは耇数のニュヌロンで構成されるフィヌドフォワヌドニュヌラルネットワヌクのレむダヌ党䜓に察応したす。隠れ局の出力は通垞どおりネットワヌクによっお発行されたすが、次のタむムステップの通垞の入力デヌタずずもに独自の隠れ局入力ずしお返されたす。この図は、このフィヌドバックルヌプを、レむダヌの出力から入力に戻るアヌクずしお瀺しおいたす。



このプロセスを説明するためのより簡単なそしおより䞀般的に䜿甚される方法は、ネットワヌク展開を䜿甚するこずです。図8.4は、時間倉数tの2぀のスむヌプステップt +1ずt + 2のレむダヌを䜿甚した逆さたのネットワヌクを瀺しおいたす。



画像


各タむムステップは、ニュヌロンの列の圢で同じニュヌラルネットワヌクの拡匵バヌゞョンに察応したす。これは、い぀でもニュヌラルネットワヌクのスクリプトたたは個々のビデオフレヌムを芋るようなものです。右偎のネットは、巊偎のネットの将来のバヌゞョンを衚しおいたす。時間tでの隠れ局の出力信号は、右偎の次のタむムステップt + 1の入力デヌタずずもに隠れ局の入力にフィヌドバックされたす。もう䞀床。この図は、この展開の2぀の反埩、t = 0、t = 1、およびt = 2の合蚈3列のニュヌロンを瀺しおいたす。



この図のすべおの垂盎ルヌトは完党に類䌌しおおり、同じニュヌロンを瀺しおいたす。それらは、異なる時点で同じニュヌラルネットワヌクを反映したす。この芖芚化は、゚ラヌの逆䌝播䞭にネットワヌク䞊で情報が前埌に移動するこずを瀺すのに圹立ちたす。ただし、展開されおいるこれら3぀のネットワヌクを芋るずきは、芚えおおいおください。これらは、同じ重みのセットを持぀同じネットワヌクの異なるスナップショットです。



展開する前に、反埩ニュヌラルネットワヌクの元の衚珟を詳しく芋お、入力信号ず重みの関係を瀺したしょう。このRNNの個々のレむダヌは、図に瀺すように芋えたす。 8.5および8.6。



画像


すべおの朜圚状態ニュヌロンには、埓来のフィヌドフォワヌドネットワヌクず同様に、各入力ベクトルの各芁玠に適甚される䞀連の重みがありたす。しかし、このスキヌムでは、トレヌニング可胜な重みの远加セットが衚瀺され、前のタむムステップからの隠れニュヌロンの出力信号に適甚されたす。ネットワヌクは、トレヌニングによっお、トヌクンごずにシヌケンストヌクンを入力するずきに、前のむベントの適切な重み重芁床を遞択したす。



«», t = 0 t – 1. «» , , . t = 0 . , .


デヌタに戻っお、それぞれがラベル付きの䟋である䞀連のドキュメントがあるず想像しおください。たた、前の章図8.7のように、単語ベクトルのセット党䜓を各サンプルの畳み蟌みニュヌラルネットワヌクに枡す代わりに、サンプルデヌタを䞀床に1トヌクンず぀RNNに転送したす図8.8。



画像


最初のトヌクンの単語のベクトルを枡し、反埩ニュヌラルネットワヌクの出力を取埗したす。次に、2番目のトヌクンを転送し、それを䜿甚しお最初のトヌクンからの出力信号を転送したす。その埌、2番目からの出力信号ず䞀緒に3番目のトヌクンを転送したす等。珟圚、私たちのニュヌラルネットワヌクには、「前」ず「埌」の原因ず結果の抂念がありたすが、あいたいではありたすが、時間の抂念もありたす図8.8を参照。



画像


今、私たちのネットワヌクはすでに䜕かを芚えおいたすたあ、ある皋床は。ただ理解しおいないこずがいく぀かありたす。たず、このような構造で゚ラヌの逆䌝播をどのように発生させるこずができたすか



8.1.1。時間内の゚ラヌの逆䌝播



䞊蚘のすべおのネットワヌクにはタヌゲットラベルタヌゲット倉数があり、RNNも䟋倖ではありたせん。ただし、各トヌクンのラベルの抂念はなく、各サンプルテキストのすべおのトヌクンのラベルは1぀だけです。サンプルドキュメントのラベルのみがありたす。



各タむムステップでネットワヌクぞの入力ずしおトヌクンに぀いお話したすが、反埩ニュヌラルネットワヌクは任意の時系列デヌタでも機胜したす。トヌクンは、任意、個別、たたは連続にするこずができたす気象ステヌションの読み取り倀、メモ、文䞭の蚘号など。


ここでは、最初に最埌のタむムステップでのネットワヌクの出力をキュヌず比范したす。これは今のずころ゚ラヌず呌ばれるものです。぀たり、ネットワヌクぱラヌを最小限に抑えようずしおいたす。ただし、前の章ずは少し異なりたす。デヌタの特定のサンプルは、ニュヌラルネットワヌクに順番に䟛絊される小さな断片に分割されたす。ただし、これらの各サブ䟋の出力を盎接䜿甚する代わりに、ネットワヌクに送り返したす。



これたでのずころ、最終的な出力信号のみに関心がありたす。シヌケンス内の各トヌクンはネットワヌクに䟛絊され、損倱は最埌のタむムステップトヌクンの出力に基づいお蚈算されたす図8.9。



画像


特定の䟋に゚ラヌがあるかどうか、曎新する重みずその量を決定する必芁がありたす。第5章では、通垞のネットワヌクを介しお゚ラヌを逆䌝播する方法を瀺したした。そしお、重み補正の量は、゚ラヌぞのこの重みの寄䞎に䟝存するこずがわかっおいたす。サンプルシヌケンスからネットワヌクの入力にトヌクンをフィヌドし、その出力信号に基づいお前のタむムステップの゚ラヌを蚈算できたす。これは、゚ラヌを時間内に逆䌝播するずいう考えがすべおを混乱させるように芋える堎所です。



ただし、それは時間制限のあるプロセスず単玔に考えるこずができたす。各タむムステップで、t = 0の最初のトヌクンから始たるトヌクンが、前にある隠れたニュヌロンの入力に䞀床に1぀ず぀䟛絊されたす図の次の列。 8.9。同時に、ネットワヌクが拡匵され、ネットワヌクの次の列が衚瀺され、シヌケンス内の次のトヌクンを受信する準備ができおいたす。オルゎヌルやメカニカルピアノのように、朜圚的なニュヌロンは䞀床に1぀ず぀展開したす。最終的に、䟋のすべおの芁玠がネットワヌクに䟛絊されるず、展開するものはなくなり、察象のタヌゲット倉数の最終的なラベルを取埗したす。これを䜿甚しお、゚ラヌを蚈算し、重みを調敎できたす。この展開されたネットの蚈算グラフをずっず䞋に移動したした。



今のずころ、入力デヌタは䞀般的に静的であるず考えおいたす。どの入力信号がどのニュヌロンに入るのかをグラフ党䜓で远跡できたす。たた、どのニュヌロンがどのように機胜するかがわかっおいるので、埓来のフィヌドフォワヌドニュヌラルネットワヌクの堎合ず同じように、同じパスに沿っおチェヌンに沿っお゚ラヌを䌝播できたす。



゚ラヌを前のレむダヌに䌝播するために、チェヌンルヌルを䜿甚したす。前のレむダヌの代わりに、デプロむされたすべおのネットワヌクバリアントが異なっおいるかのように、過去の同じレむダヌに゚ラヌを䌝播したす図8.10。これは蚈算数孊を倉曎したせん。



画像


゚ラヌは最埌のステップから䌝播したす。新しいタむムステップに察する以前のタむムステップの募配が蚈算されたす。この䟋では、ステップt = 0たでのすべおの個別のトヌクンベヌスの募配を蚈算した埌、倉曎が集玄され、1セットの重みに適甚されたす。



8.1.2。い぀曎新するか



奇劙なRNNを通垞のフィヌドフォワヌドニュヌラルネットワヌクのようなものに倉えたので、重みの曎新はそれほど難しくないはずです。ただし、泚意点が1぀ありたす。秘蚣は、ニュヌラルネットワヌクの別のブランチで重みがたったく曎新されないこずです。各ブランチは、異なる時点での同じネットワヌクを衚したす。各タむムステップの重みは同じです図8.10を参照。



この問題の簡単な解決策は、曎新を遅らせお、各タむムステップで重みの補正を蚈算するこずです。フィヌドフォワヌドネットワヌクでは、特定の入力信号に察しおすべおの募配が蚈算されるずすぐに、重みのすべおの曎新が蚈算されたす。ここではたったく同じですが、特定の入力サンプルデヌタの最初のれロタむムステップに到達するたで曎新は延期されたす。



募配の蚈算は、゚ラヌの原因ずなった重みの倀に基づいお行う必芁がありたす。最も圧倒的な郚分は次のずおりです。タむムステップtでの重みが、䜕らかの圢で゚ラヌの原因になっおいたす。たた、同じ重みがタむムステップt + 1で異なる入力信号を受信したす。これは、同じ重みが゚ラヌに察しお異なる寄䞎をするこずを意味したす。



各タむムステップでの重みのさたざたな倉化を蚈算し、それらを合蚈しおから、トレヌニングフェヌズの最埌のステップずしお、グルヌプ化された倉曎を非衚瀺レむダヌの重みに適甚できたす。



, . , , . , , . , .


本圓の魔法。゚ラヌが時間に戻っお䌝播するず、個々の重みは、タむムステップtで䞀方向に補正されタむムステップtでの入力信号ぞの応答に応じお、次にタむムステップt-1で他の方向に補正されたす 1぀のデヌタサンプルに぀いお、タむムステップt-1で入力信号にどのように反応したかニュヌラルネットワヌクは䞀般に、䞭間ステップの耇雑さに関係なく、損倱関数を最小化するこずに基づいおいるこずを忘れないでください。集合的に、ネットワヌクはこの耇雑な機胜を最適化したす。重みの曎新はサンプルデヌタに1回だけ適甚されるため、ネットワヌクもちろん収束する堎合は、特定の入力信号ず特定のニュヌロンに察しお、この意味で最終的に最適な重みで停止したす。



前の手順の結果は䟝然ずしお重芁です



すべおの䞭間タむムステップで生成された倀のシヌケンス党䜓が重芁な堎合がありたす。第9章では、特定のタむムステップtの出力が最埌のタむムステップの出力ず同じくらい重芁である状況の䟋を提䟛したす。図では8.11は、任意のタむムステップの゚ラヌデヌタを収集し、それを䌝播しおすべおのネットワヌクの重みを修正する方法を瀺しおいたす。



画像


このプロセスは、nタむムステップの時間内の゚ラヌの通垞の逆䌝播に䌌おいたす。この堎合、同時に耇数の゜ヌスからバグを䌝播したす。ただし、最初の䟋のように、重みの調敎は加算的です。゚ラヌは、最初の最埌のタむムステップから最初のタむムステップたで、各重みの倉化の合蚈ずずもに䌝播したす。次に、最埌から2番目のタむムステップで蚈算された゚ラヌでも同じこずが起こり、t = 0たでのすべおの倉曎が合蚈されたす。このプロセスは、タむムステップ0に到達するたで繰り返され、゚ラヌが1぀だけであるかのように逆䌝播したす。次に、环積的な倉曎が察応する非衚瀺レむダヌに䞀床に適甚されたす。



図では図8.12は、゚ラヌが各出力信号からt = 0たで䌝播し、重みの最終補正の前に集蚈される方法を瀺しおいたす。これがこのセクションの䞻なアむデアです。埓来のフィヌドフォワヌドニュヌラルネットワヌクの堎合ず同様に、重みは、特定の入力信号たたは入力信号のセットの逆䌝播ステップ党䜓の重みの提案された倉化を蚈算した埌にのみ曎新されたす。 RNNの堎合、゚ラヌ䌝播には時間t = 0たでの曎新が含たれたす。



重みを以前に曎新するず、募配蚈算が歪んでしたい、以前は逆䌝播゚ラヌが発生しおいたした。募配は特定の重みを基準にしお蚈算されるこずを忘れないでください。この重みの曎新が早す​​ぎる堎合、たずえばタむムステップtで、タむムステップt -1で募配を蚈算するず、重み倀これはネットワヌク内の重みの同じ䜍眮であるこずを思い出しおくださいが倉化したす。たた、タむムステップt -1からの入力信号に基づいお募配を蚈算するず、蚈算が歪んでしたいたす。実際、この堎合、「責任を負わない」こずに察しお、りェむトは眰金たたは報酬になりたす



画像




著者に぀いお



ホブ゜ンレヌンHobson Laneは、人々の利益のために重芁な決定を䞋す自埋システムの構築に20幎の経隓がありたす。 Talentpairで、Hobsonは、ほずんどの採甚マネヌゞャヌよりも偏りの少ない方法でレゞュメを読んで理解するようにマシンに教えたした。アむラでは、芖芚障害者の呚りの䞖界を解釈するように蚭蚈された最初のチャットボットの構築を支揎したした。ホブ゜ンは、AIのオヌプン性ずコミュニティ䞻導のオリ゚ンテヌションを熱心に賞賛しおいたす。圌は、Keras、scikit-learn、PyBrain、PUGNLP、ChatterBotなどのオヌプン゜ヌスプロゞェクトに積極的に貢献しおいたす。圌は珟圚、オヌプン゜ヌスの仮想アシスタントの䜜成など、TotalGoodのオヌプンリサヌチおよび教育プロゞェクトに携わっおいたす。圌は数倚くの蚘事を発衚し、AIAA、PyCon、PAISずIEEEは、ロボット工孊ず自動化の分野でいく぀かの特蚱を取埗しおいたす。



Hannes Max Hapkeは、電気技垫から機械孊習技垫に転向したした。高校では、マむクロ波でニュヌラルネットワヌクを蚈算する方法を研究したずきにニュヌラルネットワヌクに興味を持぀ようになりたした。倧孊の埌半に、圌はニュヌラルネットワヌクの原理を再生可胜゚ネルギヌ発電所の効率的な管理に適甚したした。 Hannesは、゜フトりェア開発ず機械孊習パむプラむンの自動化に情熱を泚いでいたす。圌は、採甚、゚ネルギヌ、ヘルスケア業界向けの深局孊習モデルず機械孊習パむプラむンを共同執筆しおいたす。 Hannesは、OSCON、Open Source Bridge、Hack Universityなど、さたざたな䌚議で機械孊習に関するプレれンテヌションを行っおきたした。



コヌルハワヌドCole Howardは、機械孊習の実践者、NLPの実践者、およびラむタヌです。パタヌンの氞遠の探求者である圌は、人工神経ネットワヌクの䞖界にいるこずに気づきたした。圌の開発の䞭には、むンタヌネットを介した取匕のための倧芏暡な掚奚システムや、Kaggleコンペティションで1䜍にランクされおいる超高次元マシンむンテリゞェンスシステムディヌプニュヌラルネットワヌクのための高床なニュヌラルネットワヌクがありたす。圌は、オヌプン゜ヌスブリッゞずハック倧孊の䌚議で、畳み蟌み神経ネットワヌク、反埩神経ネットワヌク、および自然蚀語凊理におけるそれらの圹割に぀いお講挔したした。



衚玙むラストに぀いお
« -, ». (Balthasar Hacquet) Images and Descriptions of Southwestern and Eastern Wends, Illyrians and Slavs (« - , »), () 2008 . (1739–1815) — , , — , - . .



200 . , , . , . , .



»ブックに぀いおの詳现はで芋぀けるこずができる出版瀟のりェブサむト

»目次

»抜粋



に぀いおは居䜏者クヌポンで25割匕- NLP



曞籍の玙のバヌゞョンの支払いの際、電子曞籍は、電子メヌルに送信されたす。



All Articles