Introduction to Python and Natural Language Technologies

Lecture 01 - Introduction

September 6, 2017

1.1 About this course

  • Lecture: Wednesday, 12.15-14.00, Rm QBF14
  • Lab: Friday, 12.15-14.00, TBA
  • Weeks 1-6: "Advanced Introduction" to Python
  • Weeks 7-14: Introduction to Natural Language Processing (NLP)

Instructors (1)

  • Judit Ács (BME AUT), judit@aut.bme.hu
  • Gábor Borbély (BME Dept. of Algebra), borbely@math.bme.hu

Instructors (2)

  • Dávid Nemeskey (MTA SZTAKI), nemeskeyd@gmail.com
  • Gábor Recski (BME AUT), recski@aut.bme.hu

General questions, e.g. about requirements, grading, etc. should be sent to Gábor Recski (recski@aut.bme.hu, +36209709419)

1.2 Requirements, course material

Requirements

  • 3 homework assignments, each of which must be awarded a passing grade
  • Late submission of 1 homework is possible by the end of the re-take period (pótlási hét).
  • Oral exam (NLP + Python, also in English!)
  • Final grade: 50% homeworks, 50% exam

Course Material

  • GitHub issues should be used to ask questions and discuss topics related to the course
  • Links to external material will be spread out across the slides

1.3 What is Natural Language Processing?

What is NLP? (1)


In [2]:
from graphviz import Digraph
dot = Digraph()
dot.graph_attr['rankdir'] = 'LR'
dot.node('I', 'natural language input')
dot.node('C', 'computer', shape="square")
dot.node('O', 'arbitrary output')
dot.edge('I', 'C')
dot.edge('C', 'O')

dot.node('I2', 'arbitrary input')
dot.node('C2', 'computer', shape="square")
dot.node('O2', 'natural language output')
dot.edge('I2', 'C2')
dot.edge('C2', 'O2')

dot.render("nlp")
dot


Out[2]:
%3 I natural language input C computer I->C O arbitrary output C->O I2 arbitrary input C2 computer I2->C2 O2 natural language output C2->O2

What is NLP? (2)

less abstract middle abstract
language: Natural Language Artificial Language Mathematics
example: English programming langauges formulas, equations
usage: spoken by many fewer spoken by few
interpretation: vague mostly well defined only one way to interpret
applications: everywhere, by everyone broad, but the users don't see it specific, unseen by users

What is NLP? (3)

"NLP is a branch of artificial intelligence" (LifeWire)

"Natural language processing (NLP) is a field of computer science, artificial intelligence and computational linguistics concerned with the interactions between computers and human (natural) languages" (Wikipedia)

"[NLP] is one of the most important technologies of the information age. (...) Applications of NLP are everywhere because people communicate most everything in language" (Manning & Socher: NLP with Deep Learning course at Stanford)

"Ever wondered how Google Translate works, or how companies do automated resume processing? Want to build a computer that understands language? This course is for you. It develops an in-depth understanding of both algorithms for processing linguistic information and the underlying computational properties of natural languages." (Manning et al.: Intro to NLP course at Stanford)