人工知能の時代に、チャットするインテリジェントロボットを Python で作成しました。とても優れています。

人工知能の時代に、チャットするインテリジェントロボットを Python で作成しました。とても優れています。

[[253842]]

人工知能はすでにトレンドです。スマートホテル、スマートインターネットカフェ、自動運転車などが実現され、すぐに私たちの生活に普及するでしょう。同様に、インテリジェント時代の到来は、多くの人が失業に直面することを意味します。私たちは、時代に見捨てられ、排除されることのないよう、時代の発展に遅れを取らないようにしなければなりません。

人工知能に最適な言語として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の詳細な応用を分析

>>:  人工知能を活用した新しい小売無人店舗の発展展望は?

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

畳み込みニューラルネットワークの基礎を1つの記事で学びます。

今日は畳み込みニューラル ネットワークについてお話します。畳み込みニューラル ネットワークは、主に、...

顔認識と指紋認識のどちらがより定量化しやすいでしょうか?

顔認証と指紋認証は、携帯電話のロックを解除する主な 2 つの方法です。私たちは、日常の仕事でも公共の...

AIの急速な発展によってもたらされるエネルギー需要をどう解決するか?

生成 AI テクノロジーは、単純なフレーズを驚くほどリアルな画像に変換し、世界中の人々の想像力をかき...

Web3.0時代: インターネット上で作成したものはすべてあなたのものになります

Web3.0 の最も特別な点は、ユーザーが作成したデジタル コンテンツの所有権と管理権がユーザーに...

ChatGPT を使用すると、開発と学習の効率が向上するだけでなく、奥さんとの関係にも役立ちますか?

2024年初頭にChatGPTが人気を博して以来、コーディングを支援するさまざまなAIGCツールに...

機械学習における不均衡なクラスに対処するための 5 つの戦略

クラスの不均衡: 希少疾患の機械学習データセット(陽性が約 8%)があるとします。この場合、トレーニ...

インテリジェントな変革の時代を迎える: AIでビジネスの未来をリードする

インテリジェント トランスフォーメーションの本質: インテリジェント トランスフォーメーションは、テ...

新しいシステムではドローンを使って手の届きにくい太陽光パネルを清掃する

太陽光パネルには常に埃や汚れなどのゴミがたまります。また、高層ビルの屋上や遠隔地に設置されていること...

機械学習がサプライチェーン管理を変える10の方法

[[431487]]サプライチェーン管理で機械学習を使用すると、日常的なタスクを自動化できるため、企...

蹴り倒せない!家庭用ヒューマノイドロボットが誕生、価格は9万ドル未満

最近、障害を乗り越えるヒューマノイドロボットのビデオが話題になった。ビデオでは、ヒューマノイドロボッ...

...

AI ワールド: 2018 年に注目すべき 8 つの AI トレンド

計算の観点から見ると、ビッグデータ分析のトレンドは流れ星のように消えることはありません。データ量が増...

自動運転の運用設計領域(ODD)に関する記事

2021年4月30日、SAEはJ3016「運転自動化分類」の第4版をリリースしました。これは、201...

...

人工知能専攻では主に何を学ぶのですか?キャリアの方向性と展望は何ですか?

人工知能専攻は、工学専攻の下にある電子情報専攻に属します。ここでは、人工知能専攻を提供している大学と...