Source code for nltk.model.api

# Natural Language Toolkit: API for Language Models
#
# Copyright (C) 2001-2014 NLTK Project
# Author: Steven Bird <stevenbird1@gmail.com>
# URL: <http://nltk.org/>
# For license information, see LICENSE.TXT


# should this be a subclass of ConditionalProbDistI?

[docs]class ModelI(object): """ A processing interface for assigning a probability to the next word. """ def __init__(self): '''Create a new language model.''' raise NotImplementedError()
[docs] def prob(self, word, context): '''Evaluate the probability of this word in this context.''' raise NotImplementedError()
[docs] def logprob(self, word, context): '''Evaluate the (negative) log probability of this word in this context.''' raise NotImplementedError()
[docs] def choose_random_word(self, context): '''Randomly select a word that is likely to appear in this context.''' raise NotImplementedError()
[docs] def generate(self, n): '''Generate n words of text from the language model.''' raise NotImplementedError()
[docs] def entropy(self, text): '''Evaluate the total entropy of a message with respect to the model. This is the sum of the log probability of each word in the message.''' raise NotImplementedError()