| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- # Natural Language Toolkit: Semantic Interpretation
- #
- # Copyright (C) 2001-2020 NLTK Project
- # Author: Ewan Klein <ewan@inf.ed.ac.uk>
- # URL: <http://nltk.org/>
- # For license information, see LICENSE.TXT
- """
- NLTK Semantic Interpretation Package
- This package contains classes for representing semantic structure in
- formulas of first-order logic and for evaluating such formulas in
- set-theoretic models.
- >>> from nltk.sem import logic
- >>> logic._counter._value = 0
- The package has two main components:
- - ``logic`` provides support for analyzing expressions of First
- Order Logic (FOL).
- - ``evaluate`` allows users to recursively determine truth in a
- model for formulas of FOL.
- A model consists of a domain of discourse and a valuation function,
- which assigns values to non-logical constants. We assume that entities
- in the domain are represented as strings such as ``'b1'``, ``'g1'``,
- etc. A ``Valuation`` is initialized with a list of (symbol, value)
- pairs, where values are entities, sets of entities or sets of tuples
- of entities.
- The domain of discourse can be inferred from the valuation, and model
- is then created with domain and valuation as parameters.
- >>> from nltk.sem import Valuation, Model
- >>> v = [('adam', 'b1'), ('betty', 'g1'), ('fido', 'd1'),
- ... ('girl', set(['g1', 'g2'])), ('boy', set(['b1', 'b2'])),
- ... ('dog', set(['d1'])),
- ... ('love', set([('b1', 'g1'), ('b2', 'g2'), ('g1', 'b1'), ('g2', 'b1')]))]
- >>> val = Valuation(v)
- >>> dom = val.domain
- >>> m = Model(dom, val)
- """
- from nltk.sem.util import parse_sents, interpret_sents, evaluate_sents, root_semrep
- from nltk.sem.evaluate import (
- Valuation,
- Assignment,
- Model,
- Undefined,
- is_rel,
- set2rel,
- arity,
- read_valuation,
- )
- from nltk.sem.logic import (
- boolean_ops,
- binding_ops,
- equality_preds,
- read_logic,
- Variable,
- Expression,
- ApplicationExpression,
- LogicalExpressionException,
- )
- from nltk.sem.skolemize import skolemize
- from nltk.sem.lfg import FStructure
- from nltk.sem.relextract import extract_rels, rtuple, clause
- from nltk.sem.boxer import Boxer
- from nltk.sem.drt import DrtExpression, DRS
- # from nltk.sem.glue import Glue
- # from nltk.sem.hole import HoleSemantics
- # from nltk.sem.cooper_storage import CooperStore
- # don't import chat80 as its names are too generic
|