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

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.path
Local Imports
Controlling imports with __all__
Module hierarchy
Exercises: Implementing and importing a module
Standard Python modules [1.5 hrs]
Using the sys module
o sys.path
o sys.argv
o sys.{ps1,ps2}
o sys.version
__builtin__ and __future__ modules
os module
o Filesystem/directory functions
o Basic process management functions
o Recursive dir listing with os.walk
o os.path
dirname,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, nosetest, py.test, attest
Remote development and debugging

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 [.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

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
Whats 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

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
Lambdas
List comprehensions
Generator expressions
Map, reduce, 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.test
attest

You might also like