Chapter 3.16

Natural Language Processing

"Language itself shapes a man's basic ideas."

Robert A. Heinlein, Stranger in a Strange Land

Creating a programming language and writing a compiler for it is one thing; analyzing human speech is quite another. Computer languages rely on precision, rigorous formal definitions, unambiguous code that compiles down to exact machine instructions; natural human languages rely on allusions, metaphors, nuances, idioms, and unspoken body language---writing is therefore an art-form, and not a science, as it takes a very special sort of person to convey the vast wealth of human interactions in the limited medium of the written word, allowing all readers to experience their emotions and perceptions. But all programmers are expected to convey the degree of precision that a computer expects.

In this chapter, we will review the current state of NLP as a field of research and the libraries available in Common Lisp for writing NLP software; we will explore the challenges of speech-recognition and leverage existing tools and APIs for transforming speech to text; and we will write a general purpose library for creating meaningful abstract syntax trees from English, to attempt to write Lisp software using natural, conversational language.

Exercise 3.16.1

Speech Recognition

Exercise 3.16.2

Handling Audio Input

Exercise 3.16.3

HTTP Interfaces with Drakma

Exercise 3.16.4

An Interface to the Dragon Mobile SDK

Exercise 3.16.5

Parsing Speech-to-Text with CL-LangUtils

Exercise 3.16.6

More CL-LangUtils

Exercise 3.16.7

Even More CL-LangUtils

Exercise 3.16.8

Advanced NLP with CL-NLP and CL-NLTK

Project 3.16.9

A Conversational Speech-to-Software Tool

results matching ""

    No results matching ""