Winter 2014: Meeting 4

Fri 07 February 2014 by Nate Arnett, Karl DeVries, Adrian Brasoveanu

The fourth meeting this quarter took place on Fri Feb. 7. There won’t be any meeting on Fri Feb. 14, our next meeting will be on Fri Feb. 21 (same time and place) and Karl will lead the discussion of Hale’s 2011 paper. Nate will then guide us through parts of Lewis’s ‘93 dissertation. We spent most of the time today making a plan for next quarter. The general agreement was that since we will spend this entire quarter reading papers and discussing theoretical issues, we should really try to learn how to implement the algorithms and cognitive models we are interested in. There are many paths to this goal, but it seems like a good place to start would be to learn a bit of Python and the particular type of Object Oriented Programming (OOP) that Python supports so that we can study the source code of the many resources for natural language and cognitive modeling freely available out here in Python, for example:

  • the Natural Language Toolkit (NLTK); you can find all the source code, data, the book etc. on github here
  • Python ACT-R; the code is also available on github here
  • LOTlib — Steven Piantadosi’s Language of Thought (LOT) library, available on github here
  • Todd Gureckis’s course on cognitive modeling with (I)Python; see also this Python in Cognitive Science blog for some nice introductory posts and this page and linked abstract for additional motivation and pointers to more resources, including PsychoPy
  • for in-depth tutorials on the various Python resources available out there for scientific computing, see the Python Scientific Lecture Notes, and google for many more resources available online
  • Python implementations of algorithms from Russell & Norvig’s ‘Artificial Intelligence: A Modern Approach’ textbook (including A* search etc.) are available here; see also this github repo for an alternative Python implementation
  • for an introduction to Bayesian inference and Bayesian modeling with Python, see the interactive (IPython-based) book Probabilistic Programming and Bayesian Methods for Hackers
  • semanticists will be interested in Kyle Rawlins’s IPython Lambda Notebook, which is a Python-based framework for developing analyses in compositional semantics that aims to provide a means of developing ‘digital’ Montague-style fragments
  • there are also Optimality Theory related resources, for example, PyPhon is a software suite for implementing phonological models in Optimality Theory (OT) and Harmonic Grammar (HG) made available by Jason Riggle and collaborators, and this github repo makes available the Python implementation of Alex Djalali’s constructive solution to the ranking problem in Partial Order Optimality Theory introduced in this paper

More about this in due course, see you in 2 weeks (Feb. 21) to talk about Hale (2011).