You are on page 1of 6

VINSYS

Professional training course
Python NLP – 4 Days Training Topics

Python for NLP
4 day Training Program

Pre-requisites
1. Participants need to be expert level in at least one programming language
2. Participants should be fully conversant with development tools - either command line
or IDE
3. Participants need to have basic working knowledge of Python. Basics would be
covered as a very short refresher only.
4. Basic knowledge of English Language and grammar is expected (like parts of
speech, etc)

Lab requirements
1. 1:1 or 2:1 participant-machine ratio for hands-on and exercises
2. Local installation of Python (ActivePython 2.7+ community edition should work)
-or3. A Linux machine accessible to the participants laptops/desktops via putty (Python comes
pre-installed in all Linux distros)

Agenda
Python Introduction [1 hr]
 The Python interpreter
 Python Data Types
o int
o str
o list
o tuple
o Dictionaries
 Built in operators, functions and methods
 Data and type introspection basics
o type()
o dir()
 Control structures
o for

{ps1. py.5 hrs]  Using the sys module o sys.path  dirname.walk o os. attest  Remote development and debugging .path  Local Imports  Controlling imports with __all__  Module hierarchy  Exercises: Implementing and importing a module Standard Python modules [1. nosetest.argv o sys.path o sys.version  __builtin__ and __future__ modules  os module o Filesystem/directory functions o Basic process management functions o Recursive dir listing with os.ps2} o sys.basename  joining dir-paths platform independently  time and datetime modules  Exercises o Changing programs to take command line inputs o Command line switches with the optparse module o File operations using shutil module Working with an IDE: pycharm [1 hr]  Installing  Initial configuration  Working with projects  Configuring projects  Code completion  Code snippets and surround templates  Inspection tool Window  REPL  Refactoring  Debugging  Unit test integration: unittest. doctest.VINSYS Professional training course Python NLP – 4 Days Training Topics o o   while if-else-elseif Functions o Creating functions o Arguments o passing functions around Exercises to try above concepts Modular Development [1 hr]  Packages  Namespaces  Creating modules  Importing modules into programs  Importing from sys.test.

5 hrs]  Introduction  Exception and cotrol flow  Stack rewind  The Standard Exception Heirarchy  Exception payloads  Traceback objects  Assertions Natural Language Processing (NLP) Language Processing and Python  Computing with Language: Texts and Words  A Closer Look at Python: Texts as Lists of Words  Computing with Language: Simple Statistics  Back to Python: Making Decisions and Taking Control  Automatic Natural Language Understanding Accessing Text Corpora and Lexical Resources  Accessing Text Corpora  Conditional Frequency Distributions  More Python: Reusing Code  Lexical Resources  WordNet Processing Raw Text  Accessing Text from the Web and from Disk  Strings: Text Processing at the Lowest Level  Text Processing with Unicode  Regular Expressions for Detecting Word Patterns  Useful Applications of Regular Expressions  Normalizing Text  Regular Expressions for Tokenizing Text .VINSYS Professional training course Python NLP – 4 Days Training Topics Class basics [1 hr]  __init__  self  private vs public convention  magic functions  object creation  type of objects  inheritance. multiple inheritance  Class attributes  Static methods (w/ inheritance)  class methods (w/inheritance)  Properties  Properties and inheritance Errors and Exceptions [.

VINSYS Professional training course Python NLP – 4 Days Training Topics   Segmentation Formatting: From Lists to Strings Writing Structured Programs  Back to the Basics  Sequences  Questions of Style  Functions: The Foundation of Structured Programming  Doing More with Functions  Program Development  Algorithm Design  A Sample of Python Libraries Categorizing and Tagging Words  Using a Tagger  Tagged Corpora  Mapping Words to Properties Using Python Dictionaries  Automatic Tagging  N-Gram Tagging  Transformation-Based Tagging  How to Determine the Category of a Word Learning to Classify Text  Supervised Classification  Further Examples of Supervised Classification  Evaluation  Decision Trees  Naive Bayes Classifiers  Maximum Entropy Classifiers  Modeling Linguistic Patterns Extracting Information from Text  Information Extraction  Chunking  Developing and Evaluating Chunkers  Recursion in Linguistic Structure  Named Entity Recognition  Relation Extraction Analyzing Sentence Structure  Some Grammatical Dilemmas  What’s the Use of Syntax?  Context-Free Grammar  Parsing with Context-Free Grammar  Dependencies and Dependency Grammar  Grammar Development Building Feature-Based Grammars  Grammatical Features  Processing Feature Structures  Extending a Feature-Based Grammar .

VINSYS Professional training course Python NLP – 4 Days Training Topics Analyzing the Meaning of Sentences  Natural Language Understanding  Propositional Logic  First-Order Logic  The Semantics of English Sentences  Discourse Semantics Managing Linguistic Data  Corpus Structure: A Case Study  The Life Cycle of a Corpus  Acquiring Data  Working with XML  Working with Toolbox Data  Describing Language Resources Using OLAC Metadata Natural Language Generation (NLG)  Concepts o Content Selection o Lexical selection o Sentence Structure  Aggregation  Referring expressions o Discourse Structure o Function vs form  Architecture o Discourse Planner o Surface Realizer o Other alternatives  AI planning  Blackboard architectures  Systemic Grammar o Meta-functions  Interpersonal Meta-functions  Ideational Meta-functions  Textual Meta-functions o System network o Realization statements o Mood o Transitivity o Theme  Functional Unification grammar (FUF)  Discourse Planning o Text Schemata .

reduce.VINSYS Professional training course Python NLP – 4 Days Training Topics o o o o Augmented Transition Network Rhetorical relations Rhetorical Structure Theory (RST) RST relations  Nucleus  Satellite  Contrast  Condition  Purpose  Sequence  Result Frameworks and systems  FUF  Surge  SimpleNLG  Python API to these systems Functional programming  The concept of FP  Lambda’s  List comprehensions  Generator expressions  Map.test  attest . filter   Unit Testing  Concept of unit testing  PyUnit  unittest module  test fixture  TestCase class  FunctionTestCase class  The setUP() and tearDown() methods  TestSuite class  test runner and the run() method  TestResult  doctest module  interactive session output discovery  Automation with nose test modue  Other unit testing modules  Py.