Recurrent Neural Networks (RNN) for Language Modeling in Python

بواسطة: DataCamp

Overview

Learn how to use RNNs to classify text sentiment, generate sentences, and translate text between languages.

Machine Learning models are based on numerical values to make predictions/classification, but how can computers deal with text data? With the huge increase of available text data, applications such as automatic document classification, text generation, and neural machine translation became possible. In this course, you will learn how to use Recurrent Neural Networks to classify text (binary and multiclass), generate phrases simulating the character Sheldon from The Big Bang Theory TV Show, and translate Portuguese sentences into English. Are you ready to start your journey into Language Models using Keras and Python? Dive in!

Syllabus

Recurrent Neural Networks and Keras
-In this chapter, you will learn the foundations of Recurrent Neural Networks (RNN). Starting with some prerequisites, continuing to understanding how information flows through the network and finally seeing how to implement such models with Keras in the sentiment classification task.

RNN Architecture
-You will learn about the vanishing and exploding gradient problems, often occurring in RNNs, and how to deal with them with the GRU and LSTM cells.
Furthermore, you'll create embedding layers for language models and revisit the sentiment classification task.

Multi-class classification
-Next, in this chapter you will learn how to prepare data for the multi-class classification task, as well as the differences between multi-class classification and binary classification (sentiment analysis). Finally, you will learn how to create models and measure their performance with Keras.

Sequence to Sequence Models
-This chapter introduces you to two applications of RNN models: Text Generation and Neural Machine Translation. You will learn how to prepare the text data to the format needed by the models.
The Text Generation model is used for replicating a character's way of speech and will have some fun mimicking Sheldon from The Big Bang Theory.
Neural Machine Translation is used for example by Google Translate in a much more complex model. In this chapter, you will create a model that translates Portuguese small phrases into English.

Taught by

David Cecchini

Recurrent Neural Networks (RNN) for Language Modeling in Python
الذهاب الي الدورة

Recurrent Neural Networks (RNN) for Language Modeling in Python

بواسطة: DataCamp

  • DataCamp
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • الجميع
  • N/A
8.1.2PHP Version337msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (212ms)
    • Application (124ms)
    • 1 x Booting (62.95%)
      212.09ms
      1 x Application (36.81%)
      124.01ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed9.33ms
      • select * from `courses` where `slug_ar` = 'recurrent-neural-networks-(rnn)-for-language-modeling-in-python' limit 1
        7.94ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. recurrent-neural-networks-(rnn)-for-language-modeling-in-python
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-07 19:57:52' where `id` = 3972
        640μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-07 19:57:52
        • 1. 3972
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (111)
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (58) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 3963 limit 1
        260μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 3963
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        CrlBW75YQjJ21bB7od5GbYzvb1cdsKhbTRC5vA8Y
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/recurr...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/recurrent-neural-networks-%28rnn%29-for-language-modeling-in-python
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.191" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.191" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "94c2b89049325624-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.191" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.191" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "94c2b89049325624-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "51892" "REMOTE_ADDR" => "172.69.7.81" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/recurrent-neural-networks-%28rnn%29-for-language-modeling-in-python" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1749326272.3073 "REQUEST_TIME" => 1749326272 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 07 Jun 2025 19:57:52 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ik5malVKV0I1djJVd3cycisvWERmcnc9PSIsInZhbHVlIjoiYkRvNEIvZEt5VFNsaHZZYWUzbGZpVDdhalBEMnNXWU9VRjI4Qm4zVFI3TEgzcDg1RklFbmVWWEtuazRQTWRhOURwTkNid2VFK2VNWGV4YW04MGlYekFkQ0c2K25VdkxXd1E1L1hpakRDMC9LS0o1NUdJRXZFaFJMQ3ViRVpmNE4iLCJtYWMiOiI1MDJlMjlhYTM3ZDMyY2MyZjRkNzE1YWYwYWMxMjg3NDQ2Njg5NmI2NmJjZWRiZjE2ZWUzODI1NTQyMDlmYTAwIiwidGFnIjoiIn0%3D; expires=Sat, 07 Jun 2025 21:57:52 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ik5malVKV0I1djJVd3cycisvWERmcnc9PSIsInZhbHVlIjoiYkRvNEIvZEt5VFNsaHZZYWUzbGZpVDdhalBEMnNXWU9VRjI4Qm4zVFI3TEgzcDg1RklFbmVWWEtuazRQTWRhOURwTkNid" 1 => "laravel_session=eyJpdiI6IkpUVC9mRzVDSFFVcmJLeTNueGtoMmc9PSIsInZhbHVlIjoiT2RPb3RpOGxJTExGWndJUDJVa3NGU1QyNkVsaU1nYmozcVVsZ0pFcW5pZ2FiM3c1ZWtxcU1ldVh5WmRYMjFJam5TTk9VOU9oTWQ3elJzbytEZm1TbW1JNFZ0RmIycUw3UkdxOWppUGcySWIvWUozQjlzR2poSVFybnZTaUg0bkEiLCJtYWMiOiI0MzMzMzQzZGU2ZmM4ZWQ0ODlhYjA2YzY1MzYwNmM1YWJmZWVmMTg2ZTQyMTU5OTJhZDRmOThhMTc0ODBlMGUyIiwidGFnIjoiIn0%3D; expires=Sat, 07 Jun 2025 21:57:52 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkpUVC9mRzVDSFFVcmJLeTNueGtoMmc9PSIsInZhbHVlIjoiT2RPb3RpOGxJTExGWndJUDJVa3NGU1QyNkVsaU1nYmozcVVsZ0pFcW5pZ2FiM3c1ZWtxcU1ldVh5WmRYMjFJam5T" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ik5malVKV0I1djJVd3cycisvWERmcnc9PSIsInZhbHVlIjoiYkRvNEIvZEt5VFNsaHZZYWUzbGZpVDdhalBEMnNXWU9VRjI4Qm4zVFI3TEgzcDg1RklFbmVWWEtuazRQTWRhOURwTkNid2VFK2VNWGV4YW04MGlYekFkQ0c2K25VdkxXd1E1L1hpakRDMC9LS0o1NUdJRXZFaFJMQ3ViRVpmNE4iLCJtYWMiOiI1MDJlMjlhYTM3ZDMyY2MyZjRkNzE1YWYwYWMxMjg3NDQ2Njg5NmI2NmJjZWRiZjE2ZWUzODI1NTQyMDlmYTAwIiwidGFnIjoiIn0%3D; expires=Sat, 07-Jun-2025 21:57:52 GMT; path=/XSRF-TOKEN=eyJpdiI6Ik5malVKV0I1djJVd3cycisvWERmcnc9PSIsInZhbHVlIjoiYkRvNEIvZEt5VFNsaHZZYWUzbGZpVDdhalBEMnNXWU9VRjI4Qm4zVFI3TEgzcDg1RklFbmVWWEtuazRQTWRhOURwTkNid" 1 => "laravel_session=eyJpdiI6IkpUVC9mRzVDSFFVcmJLeTNueGtoMmc9PSIsInZhbHVlIjoiT2RPb3RpOGxJTExGWndJUDJVa3NGU1QyNkVsaU1nYmozcVVsZ0pFcW5pZ2FiM3c1ZWtxcU1ldVh5WmRYMjFJam5TTk9VOU9oTWQ3elJzbytEZm1TbW1JNFZ0RmIycUw3UkdxOWppUGcySWIvWUozQjlzR2poSVFybnZTaUg0bkEiLCJtYWMiOiI0MzMzMzQzZGU2ZmM4ZWQ0ODlhYjA2YzY1MzYwNmM1YWJmZWVmMTg2ZTQyMTU5OTJhZDRmOThhMTc0ODBlMGUyIiwidGFnIjoiIn0%3D; expires=Sat, 07-Jun-2025 21:57:52 GMT; path=/; httponlylaravel_session=eyJpdiI6IkpUVC9mRzVDSFFVcmJLeTNueGtoMmc9PSIsInZhbHVlIjoiT2RPb3RpOGxJTExGWndJUDJVa3NGU1QyNkVsaU1nYmozcVVsZ0pFcW5pZ2FiM3c1ZWtxcU1ldVh5WmRYMjFJam5T" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "CrlBW75YQjJ21bB7od5GbYzvb1cdsKhbTRC5vA8Y" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/recurrent-neural-networks-%28rnn%29-for-language-modeling-in-python" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]