در این مطلب، ویدئو ربات چت با PyTorch – NLP و یادگیری عمیق – آموزش پایتون (قسمت 1) با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:20:42
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:02,320
سلام بچه ها امروز به یک آموزش جدید خوش آمدید،
2
00:00:02,320 –> 00:00:04,080
من به شما نشان خواهم داد که چگونه می توانیم
3
00:00:04,080 –> 00:00:06,799
ربات چت خود را از ابتدا در پایتورچ پیاده سازی کنیم،
4
00:00:06,799 –> 00:00:08,960
شما برخی از اصول اولیه
5
00:00:08,960 –> 00:00:11,040
پردازش زبان طبیعی و همچنین نحوه
6
00:00:11,040 –> 00:00:13,040
اعمال یادگیری عمیق با pytorch را برای
7
00:00:13,040 –> 00:00:15,120
این برنامه دنیای واقعی یاد خواهید گرفت،
8
00:00:15,120 –> 00:00:16,960
بنابراین اجازه دهید من ابتدا چت بات را به شما نشان می دهم
9
00:00:16,960 –> 00:00:18,960
که در حال حاضر در ترمینال من در اینجا اجرا می
10
00:00:18,960 –> 00:00:20,640
شود و می توانم با او صحبت
11
00:00:20,640 –> 00:00:23,680
کنم، به عنوان مثال من قبلاً سلام کردم و
12
00:00:23,680 –> 00:00:24,800
سپس نام او را
13
00:00:24,800 –> 00:00:27,920
سام گذاشتم و او با هی جواب داد و سپس
14
00:00:27,920 –> 00:00:28,320
می توانم
15
00:00:28,320 –> 00:00:31,679
برای مثال این را تنظیم کنم یک ربات
16
00:00:31,679 –> 00:00:33,840
برای یک وبسایت تجارت الکترونیک که
17
00:00:33,840 –> 00:00:36,559
قهوه میفروشد، به عنوان مثال میتوانم بپرسم
18
00:00:36,559 –> 00:00:39,840
شما چه چیزی میفروشید و سپس دریافت
19
00:00:39,840 –> 00:00:43,120
میکنم قهوه و چای میفروشیم و همچنین میتوانم
20
00:00:43,120 –> 00:00:46,320
برای مثال بپرسم ارسال چقدر طول
21
00:00:46,320 –> 00:00:49,760
22
00:00:49,760 –> 00:00:52,000
میکشد و سپس تحویل میگیرم دو تا
23
00:00:52,000 –> 00:00:53,600
چهار روز
24
00:00:53,600 –> 00:00:57,039
و بنابراین بله، این چت بات ساده ما است، من
25
00:00:57,039 –> 00:00:58,160
همچنین می توانم
26
00:00:58,160 –> 00:01:01,199
خداحافظی کنم و روز خوبی داشته باشم
27
00:01:01,199 –> 00:01:02,960
حالا بیایید نگاهی به پشت صحنه
28
00:01:02,960 –> 00:01:04,239
اینجا بیندازیم تا
29
00:01:04,239 –> 00:01:06,960
ربات ما در این فایل json آموزش ببیند این
30
00:01:06,960 –> 00:01:08,880
داده های آموزشی ما است
31
00:01:08,880 –> 00:01:10,960
و فکر می کنم ساختار بسیار است به راحتی
32
00:01:10,960 –> 00:01:12,400
قابل درک است،
33
00:01:12,400 –> 00:01:15,439
بنابراین ما مقاصد مختلفی داریم و سپس
34
00:01:15,439 –> 00:01:16,240
برای هر
35
00:01:16,240 –> 00:01:19,439
هدف یک برچسب داریم در این مورد
36
00:01:19,439 –> 00:01:22,080
سلام کردن، اساساً برچسب کلاس ما
37
00:01:22,080 –> 00:01:23,200
است،
38
00:01:23,200 –> 00:01:25,600
سپس ما الگوهای مختلفی برای این
39
00:01:25,600 –> 00:01:26,479
تگ داریم،
40
00:01:26,479 –> 00:01:30,000
سلام سلام، حال شما چطور است و سپس ما نیز پاسخ
41
00:01:30,000 –> 00:01:30,560
های متفاوتی
42
00:01:30,560 –> 00:01:33,360
برای این داریم. به عنوان مثال سلام
43
00:01:33,360 –> 00:01:33,759
44
00:01:33,759 –> 00:01:36,320
با یک صورتک و سلام ممنون
45
00:01:36,320 –> 00:01:37,920
که بازدید
46
00:01:37,920 –> 00:01:40,000
کردید و سپس اینجا برای مثال در این
47
00:01:40,000 –> 00:01:41,040
مورد باید
48
00:01:41,040 –> 00:01:44,079
احوالپرسی کنیم سپس خداحافظی هم داریم
49
00:01:44,079 –> 00:01:44,399
،
50
00:01:44,399 –> 00:01:48,479
موارد تشکر داریم و موارد دیگر
51
00:01:48,479 –> 00:01:52,320
و هر وقت جمله یا سوال جدیدی
52
00:01:52,320 –> 00:01:52,799
53
00:01:52,799 –> 00:01:56,320
وارد شد ربات سعی می کند آن را در یکی از آن متون طبقه بندی کند، به
54
00:01:56,320 –> 00:01:57,680
55
00:01:57,680 –> 00:02:00,799
عنوان مثال اگر تشخیص دهد که
56
00:02:00,799 –> 00:02:02,560
این یک تبریک
57
00:02:02,560 –> 00:02:05,600
است، به طور تصادفی یکی از آن
58
00:02:05,600 –> 00:02:08,878
پاسخ ها را از این پاسخ ها می گیرد،
59
00:02:08,878 –> 00:02:12,640
بنابراین اینطور است و حالا اگر دوباره
60
00:02:12,640 –> 00:02:15,440
به چت نگاهی بیندازیم،
61
00:02:15,440 –> 00:02:18,239
پس ما ممکن است ببینیم که ما
62
00:02:18,239 –> 00:02:19,680
مجبور نیستیم دقیقاً از
63
00:02:19,680 –> 00:02:23,680
آن الگوها استفاده کنیم، مثلاً در اینجا
64
00:02:23,680 –> 00:02:27,280
اوم، ما آن الگوها را در
65
00:02:27,280 –> 00:02:28,480
تبریک داریم
66
00:02:28,480 –> 00:02:31,519
و اکنون میتوانیم
67
00:02:31,519 –> 00:02:35,200
مثلاً سلام را تایپ
68
00:02:35,200 –> 00:02:38,959
کنیم و هنوز میداند که این یک تبریک است.
69
00:02:38,959 –> 00:02:41,239
و حالا بیایید به چند نمونه دیگر نگاهی
70
00:02:41,239 –> 00:02:42,400
71
00:02:42,400 –> 00:02:44,350
بیندازیم به عنوان مثال اوم
72
00:02:44,350 –> 00:02:45,599
[موسیقی]،
73
00:02:45,599 –> 00:02:47,840
بیایید به پرداخت نگاهی بیندازیم، بنابراین
74
00:02:47,840 –> 00:02:50,210
بیایید از او بپرسیم که آیا
75
00:02:50,210 –> 00:02:51,680
76
00:02:51,680 –> 00:02:54,959
می توانم پول نقد پرداخت کنم،
77
00:02:54,959 –> 00:02:58,159
بنابراین این دقیقاً آنجا نیست، ما
78
00:02:58,159 –> 00:03:00,720
فقط می توانیم با پی پال پرداخت کنم
79
00:03:00,720 –> 00:03:04,000
یا شما فقط اکنون پول نقد می کنید اگر من تایپ کنم
80
00:03:04,000 –> 00:03:07,200
می توانم به صورت نقدی یا
81
00:03:07,200 –> 00:03:10,080
نقدی پرداخت کنم، سپس پاسخ درستی از
82
00:03:10,080 –> 00:03:11,120
این دسته دریافت می کنم،
83
00:03:11,120 –> 00:03:15,360
ما ویزا مسترکارت و پی پال را می پذیریم،
84
00:03:15,360 –> 00:03:18,239
بنابراین بله، اینگونه باید چت بات خود را آموزش دهیم
85
00:03:18,239 –> 00:03:19,040
86
00:03:19,040 –> 00:03:22,400
و این فایل um json بسیار آسان برای
87
00:03:22,400 –> 00:03:24,879
سفارشی سازی است. برنامه خودت را
88
00:03:24,879 –> 00:03:28,239
به عنوان مثال اینجا در پایان من در یک دسته بندی متفاوت قرار دادم،
89
00:03:28,239 –> 00:03:28,959
90
00:03:28,959 –> 00:03:32,239
بنابراین دسته بندی خنده دار است
91
00:03:32,239 –> 00:03:36,239
و در اینجا می توانم بگویم یک جوک به من بگو یا آیا جوک
92
00:03:36,239 –> 00:03:37,920
می دانی و سپس
93
00:03:37,920 –> 00:03:40,799
به من یک جوک می گوید، پس بیایید این را امتحان کنیم تا
94
00:03:40,799 –> 00:03:41,280
95
00:03:41,280 –> 00:03:46,159
از او بپرسیم یک جمله پس بیایید بگوییم
96
00:03:46,159 –> 00:03:50,080
آیا میتوانی خندهدار باشی که دقیقاً
97
00:03:50,080 –> 00:03:52,959
در آنجا نیست و حالا اگر اینتر را بزنیم
98
00:03:52,959 –> 00:03:55,200
، در اینجا یک choke میگیریم،
99
00:03:55,200 –> 00:03:57,439
بنابراین این کار میکند و به این صورت
100
00:03:57,439 –> 00:03:58,239
باید
101
00:03:58,239 –> 00:04:00,640
چت ربات خود را آموزش دهید، بنابراین تگهای خود را تعریف
102
00:04:00,640 –> 00:04:01,680
103
00:04:01,680 –> 00:04:04,959
کنید سپس تعدادی متفاوت
104
00:04:04,959 –> 00:04:07,760
الگوها و سپس راه اندازی مجدد ممکن است
105
00:04:07,760 –> 00:04:08,720
اسپونز کنید
106
00:04:08,720 –> 00:04:11,120
و سپس کل آموزش را دوباره اجرا کنید
107
00:04:11,120 –> 00:04:13,120
که ما آن را در حال حاضر در خط لوله آموزشی پیاده سازی می کنیم،
108
00:04:13,120 –> 00:04:14,799
109
00:04:14,799 –> 00:04:18,320
بنابراین بله اینطوری کار می کند، بنابراین من
110
00:04:18,320 –> 00:04:20,798
این آموزش را به چهار قسمت تقسیم می کنم،
111
00:04:20,798 –> 00:04:22,720
بنابراین در این قسمت اول
112
00:04:22,720 –> 00:04:26,400
چند نظریه یا مفاهیم nlp مانند
113
00:04:26,400 –> 00:04:28,160
stemming tokenization
114
00:04:28,160 –> 00:04:31,280
و کیسه کلمات سپس در قسمت دوم
115
00:04:31,280 –> 00:04:33,120
داده های آموزشی خود را ایجاد می
116
00:04:33,120 –> 00:04:35,600
کنیم در قسمت سوم مدل نمودار دایره ای خود را تنظیم می کنیم
117
00:04:35,600 –> 00:04:37,440
و خط لوله آموزشی را پیاده سازی می کنیم
118
00:04:37,440 –> 00:04:38,479
119
00:04:38,479 –> 00:04:40,960
و در قسمت آخر مدل خود را ذخیره و بارگذاری می
120
00:04:40,960 –> 00:04:42,080
کنیم و
121
00:04:42,080 –> 00:04:45,199
سپس چت واقعی را که می خواهم ذکر کنم پیاده سازی می کنیم.
122
00:04:45,199 –> 00:04:46,960
در اینجا که من یک
123
00:04:46,960 –> 00:04:49,759
دوره کامل مبتدی پایتورچ را در اینجا در یوتیوب دارم،
124
00:04:49,759 –> 00:04:51,759
بنابراین اگر همه
125
00:04:51,759 –> 00:04:53,759
کدهای پایتورچ را متوجه نشدید، می توانید نگاهی به
126
00:04:53,759 –> 00:04:54,160
این
127
00:04:54,160 –> 00:04:56,400
دوره بیندازید، این دوره تمام مفاهیمی
128
00:04:56,400 –> 00:04:58,479
را که قرار است استفاده کنیم و همچنین خیلی چیزهای
129
00:04:58,479 –> 00:05:00,560
دیگر را پوشش می دهد. لینک را در توضیحات قرار خواهد داد
130
00:05:00,560 –> 00:05:02,400
131
00:05:02,400 –> 00:05:04,400
و به عنوان یک سر بالا، این
132
00:05:04,400 –> 00:05:06,240
یک مدل خیلی پیچیده نخواهد
133
00:05:06,240 –> 00:05:08,639
بود، بلکه فقط یک شبکه عصبی پیشرو با
134
00:05:08,639 –> 00:05:10,639
دو لایه پنهان است
135
00:05:10,639 –> 00:05:12,639
، مدل های بسیار پیشرفته تری وجود دارد
136
00:05:12,639 –> 00:05:14,000
ava در روزگار ما غیر ممکن است،
137
00:05:14,000 –> 00:05:16,240
با این حال، این مثال باید
138
00:05:16,240 –> 00:05:18,000
مقدمه خوبی برای مبتدیان در مورد
139
00:05:18,000 –> 00:05:20,639
ربات های چت باشد که به راحتی قابل پیگیری است
140
00:05:20,639 –> 00:05:22,240
و همچنان برای چت اولیه به اندازه کافی خوب است
141
00:05:22,240 –> 00:05:23,600
همانطور که در ابتدا مشاهده کردید،
142
00:05:23,600 –> 00:05:25,840
143
00:05:25,840 –> 00:05:28,080
همچنین می خواهم اشاره کنم که رویکردی
144
00:05:28,080 –> 00:05:30,240
که قصد دارم استفاده به طور ضعیف بر اساس
145
00:05:30,240 –> 00:05:31,919
این مقاله در اینجا
146
00:05:31,919 –> 00:05:35,360
چت ربات های متنی با تنسورفلو است،
147
00:05:35,360 –> 00:05:37,360
بنابراین رویکرد من مشابه است با این تفاوت که
148
00:05:37,360 –> 00:05:39,759
من به جای آن از نمودارهای دایره ای استفاده می کنم،
149
00:05:39,759 –> 00:05:41,759
اما این مقاله بسیار خوبی است که
150
00:05:41,759 –> 00:05:43,759
می توانم آن را توصیه کنم و لینک را نیز در توضیحات قرار خواهم داد.
151
00:05:43,759 –> 00:05:45,360
152
00:05:45,360 –> 00:05:47,919
خب حالا بیایید با چند تئوری شروع کنیم
153
00:05:47,919 –> 00:05:48,479
154
00:05:48,479 –> 00:05:50,400
و نگاهی بیندازیم که چگونه می توانیم
155
00:05:50,400 –> 00:05:52,160
داده های آموزشی خود را به
156
00:05:52,160 –> 00:05:54,639
درستی تنظیم کنیم، بنابراین در اینجا چند اسلاید آماده کردم
157
00:05:54,639 –> 00:05:56,800
و اکنون می خواهم به شما نشان دهم که چگونه
158
00:05:56,800 –> 00:05:58,880
داده های آموزشی خود را ایجاد می کنیم
159
00:05:58,880 –> 00:06:01,840
تا کاری که باید انجام دهیم این است که
160
00:06:01,840 –> 00:06:02,479
161
00:06:02,479 –> 00:06:05,759
الگوهای مختلف مانند حال و هوای شما
162
00:06:05,759 –> 00:06:08,560
و سپس ما همچنین برچسب
163
00:06:08,560 –> 00:06:10,160
این مورد را می دانیم، بنابراین در این مورد،
164
00:06:10,160 –> 00:06:13,280
تبریک است و سپس به عنوان یک برچسب متفاوت،
165
00:06:13,280 –> 00:06:15,919
ما خداحافظی می کنیم و سپس می بینیم که
166
00:06:15,919 –> 00:06:16,720
ما الگوی
167
00:06:16,720 –> 00:06:20,800
جاسوسی داریم و شما را بعدا می بینیم تا بتوانیم
168
00:06:20,800 –> 00:06:21,440
این را
169
00:06:21,440 –> 00:06:25,120
با intense.json خود مقایسه کنید، بنابراین در اینجا
170
00:06:25,120 –> 00:06:28,639
ما برچسب تبریک و سپس
171
00:06:28,639 –> 00:06:31,680
الگوهای مختلف را داریم، بنابراین سلام و چگونه هستید،
172
00:06:31,680 –> 00:06:34,240
من همین الان به شما نشان دادم و سپس
173
00:06:34,240 –> 00:06:35,680
تعدادی دیگر
174
00:06:35,680 –> 00:06:39,280
و با این داده های آموزشی
175
00:06:39,280 –> 00:06:41,919
باید به نوعی مدل یادگیری عمیق خود را آموزش دهیم.
176
00:06:41,919 –> 00:06:43,280
177
00:06:43,280 –> 00:06:46,400
ما نمی توانیم به سادگی
178
00:06:46,400 –> 00:06:49,599
این رشته را در مدل خود قرار دهیم، بنابراین باید به نحوی
179
00:06:49,599 –> 00:06:52,720
رشته خود را به برداری تبدیل کنیم
180
00:06:52,720 –> 00:06:56,400
که حاوی اعداد است
181
00:06:56,400 –> 00:06:58,639
و برای این منظور از مفهومی استفاده می کنیم
182
00:06:58,639 –> 00:07:00,840
که به آن back of
183
00:07:00,840 –> 00:07:04,400
کلمات گفته می شود، بنابراین من این را در یک ثانیه توضیح خواهم داد.
184
00:07:04,400 –> 00:07:07,759
اما برای استفاده از پشت کلمات،
185
00:07:07,759 –> 00:07:10,720
باید همه کلمات مختلف را از الگو جمع آوری کنیم
186
00:07:10,720 –> 00:07:11,680
،
187
00:07:11,680 –> 00:07:14,800
بنابراین همه الگوهای متفاوتی را
188
00:07:14,800 –> 00:07:18,319
که روبات ما
189
00:07:18,319 –> 00:07:22,000
می بیند، جمع آوری کنیم و آنها را
190
00:07:22,000 –> 00:07:25,199
به عنوان کلمات واحد در یک آرایه
191
00:07:25,199 –> 00:07:28,479
قرار دهیم، بنابراین رشته خود را تقسیم می کنیم، بنابراین در اینجا
192
00:07:28,479 –> 00:07:32,319
داریم کلمات سلام
193
00:07:32,319 –> 00:07:36,319
چطوری با دیدن و بعداً
194
00:07:36,319 –> 00:07:39,440
اینها همه کلمات تکی در این
195
00:07:39,440 –> 00:07:43,039
آرایه هستند و اکنون از این برای اعمال به
196
00:07:43,039 –> 00:07:44,400
اصطلاح پشت
197
00:07:44,400 –> 00:07:47,919
کلمات استفاده می کنیم بنابراین اکنون برای هر
198
00:07:47,919 –> 00:07:50,960
الگوی مختلف یک آرایه
199
00:07:50,960 –> 00:07:55,120
با اندازه همه کلمات ایجاد می کنیم.
200
00:07:55,120 –> 00:07:58,400
آرایه و سپس اگر
201
00:07:58,400 –> 00:08:01,440
این کلمه گنجانده شود
202
00:08:01,440 –> 00:08:04,960
، کلمه از الگو
203
00:08:04,960 –> 00:08:09,199
در آرایه همه کلمات گنجانده شده است، در این موقعیت یک عدد 1
204
00:08:09,199 –> 00:08:12,720
و صفر قرار می دهیم، در غیر این
205
00:08:12,720 –> 00:08:16,479
صورت، مقدار زیاد در اینجا در این موقعیت موجود است،
206
00:08:16,479 –> 00:08:18,400
بنابراین در اینجا
207
00:08:18,400 –> 00:08:22,240
یک و برای بقیه یک قرار می دهیم. فقط یک
208
00:08:22,240 –> 00:08:25,440
صفر قرار دهید و برای این الگو الگوی بعدی
209
00:08:25,440 –> 00:08:26,000
210
00:08:26,000 –> 00:08:29,360
چگونه هستید
211
00:08:29,360 –> 00:08:32,880
در این موقعیت با بالا یک صفر قرار می دهیم
212
00:08:32,880 –> 00:08:35,599
سپس در موقعیت بعدی با نحوه
213
00:08:35,599 –> 00:08:36,479
قرار دادن یک یک
214
00:08:36,479 –> 00:08:39,120
چون چگونه در الگو قرار دارد و
215
00:08:39,120 –> 00:08:40,399
همچنین در
216
00:08:40,399 –> 00:08:43,839
همه کلمات سپس با r
217
00:08:43,839 –> 00:08:48,320
یکسان و با u یکسان است و بقیه صفر است،
218
00:08:48,320 –> 00:08:52,399
پس پشت
219
00:08:52,399 –> 00:08:54,800
کلمات اینگونه کار می کند و سپس این کار را برای همه الگوهای مختلف انجام می دهیم
220
00:08:54,800 –> 00:08:55,519
،
221
00:08:55,519 –> 00:08:58,880
سپس این
222
00:08:58,880 –> 00:09:03,120
داده x ما برای آموزش برای مدل
223
00:09:03,120 –> 00:09:06,080
و سپس برای هر الگوی ما برچسب را نیز می
224
00:09:06,080 –> 00:09:06,720
شناسیم،
225
00:09:06,720 –> 00:09:10,240
بنابراین تبریک، برچسب
226
00:09:10,240 –> 00:09:13,920
0 را دریافت می کند و خداحافظ برچسب 1 را دریافت می کند،
227
00:09:13,920 –> 00:09:16,800
بنابراین ما نیز در اینجا اعداد داریم و
228
00:09:16,800 –> 00:09:18,320
این بردار y ما
229
00:09:18,320 –> 00:09:22,560
برای مدل خواهد بود و به
230
00:09:22,560 –> 00:09:25,600
این ترتیب می توانیم آن را در مدل خود قرار دهیم.
231
00:09:25,600 –> 00:09:28,320
آموزش عمیق خط لوله یادگیری ما
232
00:09:28,320 –> 00:09:29,440
233
00:09:29,440 –> 00:09:32,640
و به عنوان یک سرپرست p این یک
234
00:09:32,640 –> 00:09:34,880
شبکه عصبی فید فوروارد است که در قسمت سوم به شما نشان خواهم داد
235
00:09:34,880 –> 00:09:36,240
236
00:09:36,240 –> 00:09:39,680