人工知能はすでにトレンドです。スマートホテル、スマートインターネットカフェ、自動運転車などが実現され、すぐに私たちの生活に普及するでしょう。同様に、インテリジェント時代の到来は、多くの人が失業に直面することを意味します。私たちは、時代に見捨てられ、排除されることのないよう、時代の発展に遅れを取らないようにしなければなりません。 人工知能に最適な言語としてPython それは私たちの学習の究極の目標です。かつて誰かがこう言いました。 未来の社会では、Python を知らない人は新たな「文盲」に分類されるでしょう。 また、Python は、プログラミング言語の基礎をまったく学んでいない人にとっても最適です。それで私は Python を学ぶ旅を始めました! 正しい手順、正しい方法を見つけて、一生懸命勉強すれば大丈夫です!信じてください、すぐに習得できますよ! ここでは、エディターは、学習したい初心者のための非常に適切な学習教材を用意しました。もちろん、今日のソースコード さて、今日はインテリジェントなロボットの書き方を紹介します。 1. ジェネレータオブジェクトの分析 簡単な例を見てみましょう。ジェネレータ関数を作成し、ジェネレータ オブジェクトを生成します。 人工知能の時代に、チャットするインテリジェントロボットを Python で作成しました。とても優れています。 G がジェネレーター オブジェクトであることを示します。その内部にあるものを分析してみましょう。 dir(G) を印刷する 非常に特殊な関数が 4 つあることに注意してください: close()、next()、send()、throw()、next()。これらについては前の 2 つの記事ですでに説明しているので、ここでは説明しません。今日は、send()、throw()、close() 関数に焦点を当てます。 2. コルーチンとは何か Python のコルーチンは、スレッドに似ています。コルーチンは、複数の関数を実行し、同時に実行されているように見せることができる、ユーザーレベルの軽量スレッドまたはマイクロスレッドと考えることができます。ただし、メモリをあまり消費しない、オーバーヘッドが低い、スレッドの安全性を考慮する必要がないなど、スレッドよりも優れた点がいくつかあります。(スレッドとは何かについては、次の記事で説明します) 1.send()関数 send() は、パラメータを渡してジェネレータとやりとりするために使用されます。プログラムがreceive=yieldまで実行されると、一時停止され、ジェネレータがsendメソッドを呼び出すのを待ちます。このとき、send関数は外部から呼び出され、データ変数を送信し、データ変数はreceivedに渡されます。 コード例: a) echo 関数には無限ループがあり、その中にはキーとなるコード行のreceive=yieldが含まれています。これは、外部から送信される send 関数のエントリ ポイントです。 b). 外部関数は最初にジェネレータオブジェクトを生成する必要があります。つまり、Echo = echo() です。 c) 次に重要なステップは next(Echo) です。ジェネレーターを最初の yield 式に進めるには、 next 関数を 1 回呼び出す必要があります。 d) 次に、yield 操作と send 操作を組み合わせて外部からのデータ入力を取得し、一連のプロセスを使用してそれを処理します。 2.throw()関数 Throw は主に例外をジェネレータに送信し、システム定義の例外 (もちろんカスタム例外も含む) を終了できます。 コード例: a). ジェネレータオブジェクトGを作成する b) next(G) を実行し、結果を出力します。最初の yield でキャッシュされた結果 'First' を取得し、yield 'Second' の前に留まります。 c). 例外クラス ValueError をスローします (ValueError は文字列ではなくクラスであることに注意してください)。ジェネレーターが例外を受け取ると、yield 'Second' を直接スキップして except 部分に入り、'Catch the TypeError' と出力します。 d). next(G) を実行し、結果を出力します。while の先頭に戻り、最初の yield 'Frist' を消費し、 yield 'Second' を実行します。 3.close()関数 close はジェネレータを停止するために使用されます。停止後に next が呼び出されると、StopIteration エラーがトリガーされます。 コード例: ジェネレーター オブジェクト Echo が close() を呼び出すと、send('123') を呼び出すと例外 StopIteration がスローされ、これをキャッチします。 3. 実用化 - ミニチャットボット たくさん話した後で、少し目が回りませんか? ジェネレータはPythonで最も複雑な概念の1つです。学生の中には、他にもジェネレータがあるかどうか尋ねた人もいました(はい、デコレータです)。 コルーチンを使って小さなチャットボットを書いてみましょう~~ 1). バックグラウンドでスレッド機能として考えられるチャットボットジェネレーター機能を作成する 2) フロントデスクは継続的にユーザー入力を取得し、コルーチンを使用してバックエンドに送信して処理します。 ランニングの効果を見てみましょう |
<<: 【WOT2018】4人の重鎮専門家が企業ビジネスにおけるNLPの詳細な応用を分析
ビジネスニーズを予測するには、AI を活用し、研究開発を新たなレベルに引き上げる必要があります。この...
海外メディアのTech Xploreによると、百度の研究ロボット工学・自動運転研究所(RAL)とメリ...
今年3月、Googleは生成AI「Bard」のベータ版のリリースを発表しました。当時、このバージョン...
ご家族の皆さん、世界中で人気の魔法のダンス「Subject Three」、まさか兵馬俑も踊り始めると...
MITの研究者らは、視覚と無線周波数(RF)センシングを組み合わせて、視界から隠れている物体でも見...
今、シリコンバレーに新たな AI ユニコーンが誕生しました!この中国人女性科学者が設立した会社はIm...
[[400862]] Transformer モデルは、自然言語処理 (NLP) の分野における新...
人工知能の発展を理解したい場合、または人工知能の基本的な応用を理解したい場合は、まずいくつかの基本的...
「第14次5カ年計画」の骨子には「デジタル化の加速とデジタル中国の構築」という独立した章が設けられ、...