Natural Language Processing: Foundations

بواسطة: edX

Overview

Every day, our computers and phones correct our spelling, curate our social media, or translate news articles for us. But have you ever wondered how these applications work on a basic level? It turns out that these are often really difficult tasks. The branch of computer science working on solutions is called Natural Language Processing – or NLP for short. At the end of this four-week course, you will be equipped with a solid understanding of how to work with text – that is, with written language. You’ll have the foundation to go forth and explore both traditional, time-tested approaches as well as the exciting, modern advanced approaches using deep learning. Putting all of this together, you’ll extend your reach in NLP through two assignments: to create your own text classification application and a generative, text suggestion system, like autocomplete, two very practical NLP applications that all of us use everyday.

The instructor team has over 30 years of experience with natural language processing. Min has led research on NLP at NUS for over 20 years and has a well-known track record of publishing research work in NLP, digital libraries and information retrieval. He has also been part of the executive board of the ACL, the premier organization supporting NLP research worldwide. Chris has published multiple papers in the area of social media and text analysis. At NUS, he now teaches natural language processing, text and data mining, and database systems to graduate and undergraduate students. Both Chris and Min have won awards for teaching at NUS and have received strong student feedback in their teaching of the NLP course at NUS.

Syllabus

  • Week 1: What is NLP?
    What exactly is NLP, and why is it so important? What makes NLP so hard?

  • Week 2: Words
    Introduction to natural language representation as words, through the tools of regular expressions and minimum edit distance.

  • Week 3: Language Models
    Introduction to language models, which help to compute the similarities between natural language strings and predict their completions.

  • Week 4: Text Classification
    Discuss how to design text classification features and how to use them in logistic regression and naïve Bayes classification methods.

Taught by

Min-Yen Kan and Christian von der Weth

Natural Language Processing: Foundations
الذهاب الي الدورة

Natural Language Processing: Foundations

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • English
8.1.2PHP Version267msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (156ms)
    • Application (110ms)
    • 1 x Booting (58.61%)
      156.45ms
      1 x Application (41.15%)
      109.86ms
      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
      7 statements were executed16.26ms
      • select * from `courses` where `slug_ar` = 'natural-language-processing:-foundations' limit 1
        13.87ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. natural-language-processing:-foundations
        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-04-27 23:14:43' where `id` = 6818
        1.5ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-27 23:14:43
        • 1. 6818
        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 (36)
        160μ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 `institutions` where `institutions`.`id` in (81) and `institutions`.`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 `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        160μ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` = 6809 limit 1
        260μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 6809
        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\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        7Av06JJqaq3OrUWxpnofEZz44sYsQYmCWGzOoFLr
        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/natura...
        _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/natural-language-processing:-foundations
        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 => "3.15.222.197" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "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 => "9372048a2c2b8f44-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" ] "x-forwarded-for" => array:1 [ 0 => "3.15.222.197" ] "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" => "3.15.222.197" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "9372048a2c2b8f44-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.15.222.197" "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" => "44398" "REMOTE_ADDR" => "108.162.216.91" "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/natural-language-processing:-foundations" "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" => 1745795683.1637 "REQUEST_TIME" => 1745795683 ]
        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 => "Sun, 27 Apr 2025 23:14:43 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkkrcEZ4U2dWMmpvM3BoSjZmQUprOEE9PSIsInZhbHVlIjoiNFhXUDNlb0dCVWY5OWV3cjYwOXh1UUJyVjRnemwwc0xTMnFkKzdmUDNDYmFVMzNnMU1YY3NkWGtnUWY0RzZ4RjMwemJYMkVKYkFYTkp0ODVxaTIrZ3I3eWpTU29QdUdJSTVEYTNXTFJUOHpTcjJRcGdWMS9pYTdvTlhJT3oxaEYiLCJtYWMiOiI3MGNkZjU5ZGIwNjhmNmEwN2M5OTgzMWExMDZhYTA5ZWIwNDAwMWE3YmM4ZWZkZjFjNzE4ZGIyMjJmZDRjZWY1IiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 01:14:43 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkkrcEZ4U2dWMmpvM3BoSjZmQUprOEE9PSIsInZhbHVlIjoiNFhXUDNlb0dCVWY5OWV3cjYwOXh1UUJyVjRnemwwc0xTMnFkKzdmUDNDYmFVMzNnMU1YY3NkWGtnUWY0RzZ4RjMwemJYM" 1 => "laravel_session=eyJpdiI6IlBWS1JmV0RoOUVXM080aEJ3azZlWmc9PSIsInZhbHVlIjoickEveXlDSnAzZG9qSGlrZzBJUGNhdnpkYUdXS2pUTEdhMFgwUHI5Q1c4RTl4RmNFRHkwU01ZbnhEb29iUVRxWHFNakUyeGdsVTFsUFBtb3JHVXc5emhXbFZuVFJIejZIRzRXZURHN2pxNlZjdXgrMUtvZWtzOTJYd2RQY0hoL20iLCJtYWMiOiIwODlmNTcxNzIzZDFkNDFmZDVmMGU0M2I1Nzg5OGYyOGMzMWM0Y2Q0MDAxOWE0NjFkNzk4MDVmNWQ4NjViMGEwIiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 01:14:43 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlBWS1JmV0RoOUVXM080aEJ3azZlWmc9PSIsInZhbHVlIjoickEveXlDSnAzZG9qSGlrZzBJUGNhdnpkYUdXS2pUTEdhMFgwUHI5Q1c4RTl4RmNFRHkwU01ZbnhEb29iUVRxWHFN" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkkrcEZ4U2dWMmpvM3BoSjZmQUprOEE9PSIsInZhbHVlIjoiNFhXUDNlb0dCVWY5OWV3cjYwOXh1UUJyVjRnemwwc0xTMnFkKzdmUDNDYmFVMzNnMU1YY3NkWGtnUWY0RzZ4RjMwemJYMkVKYkFYTkp0ODVxaTIrZ3I3eWpTU29QdUdJSTVEYTNXTFJUOHpTcjJRcGdWMS9pYTdvTlhJT3oxaEYiLCJtYWMiOiI3MGNkZjU5ZGIwNjhmNmEwN2M5OTgzMWExMDZhYTA5ZWIwNDAwMWE3YmM4ZWZkZjFjNzE4ZGIyMjJmZDRjZWY1IiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 01:14:43 GMT; path=/XSRF-TOKEN=eyJpdiI6IkkrcEZ4U2dWMmpvM3BoSjZmQUprOEE9PSIsInZhbHVlIjoiNFhXUDNlb0dCVWY5OWV3cjYwOXh1UUJyVjRnemwwc0xTMnFkKzdmUDNDYmFVMzNnMU1YY3NkWGtnUWY0RzZ4RjMwemJYM" 1 => "laravel_session=eyJpdiI6IlBWS1JmV0RoOUVXM080aEJ3azZlWmc9PSIsInZhbHVlIjoickEveXlDSnAzZG9qSGlrZzBJUGNhdnpkYUdXS2pUTEdhMFgwUHI5Q1c4RTl4RmNFRHkwU01ZbnhEb29iUVRxWHFNakUyeGdsVTFsUFBtb3JHVXc5emhXbFZuVFJIejZIRzRXZURHN2pxNlZjdXgrMUtvZWtzOTJYd2RQY0hoL20iLCJtYWMiOiIwODlmNTcxNzIzZDFkNDFmZDVmMGU0M2I1Nzg5OGYyOGMzMWM0Y2Q0MDAxOWE0NjFkNzk4MDVmNWQ4NjViMGEwIiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 01:14:43 GMT; path=/; httponlylaravel_session=eyJpdiI6IlBWS1JmV0RoOUVXM080aEJ3azZlWmc9PSIsInZhbHVlIjoickEveXlDSnAzZG9qSGlrZzBJUGNhdnpkYUdXS2pUTEdhMFgwUHI5Q1c4RTl4RmNFRHkwU01ZbnhEb29iUVRxWHFN" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "7Av06JJqaq3OrUWxpnofEZz44sYsQYmCWGzOoFLr" "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/natural-language-processing:-foundations" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]