Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

# Natural Language Toolkit (NLTK) 

# 

# Copyright (C) 2001-2012 NLTK Project 

# Authors: Steven Bird <sb@csse.unimelb.edu.au> 

#          Edward Loper <edloper@gradient.cis.upenn.edu> 

# URL: <http://nltk.org/> 

# For license information, see LICENSE.TXT 

 

""" 

The Natural Language Toolkit (NLTK) is an open source Python library 

for Natural Language Processing.  A free online book is available. 

(If you use the library for academic research, please cite the book.) 

 

Steven Bird, Ewan Klein, and Edward Loper (2009). 

Natural Language Processing with Python.  O'Reilly Media Inc. 

http://nltk.org/book 

""" 

from __future__ import print_function, absolute_import 

 

import os 

 

##////////////////////////////////////////////////////// 

##  Metadata 

##////////////////////////////////////////////////////// 

 

# Version.  For each new release, the version number should be updated 

# in the file VERSION. 

try: 

    # If a VERSION file exists, use it! 

    version_file = os.path.join(os.path.dirname(__file__), 'VERSION') 

    with open(version_file) as fh: 

        __version__ = fh.read().strip() 

except NameError: 

    __version__ = 'unknown (running code interactively?)' 

except IOError as ex: 

    __version__ = "unknown (%s)" % ex 

 

__doc__ += '\n@version: ' + __version__ 

 

 

# Copyright notice 

__copyright__ = """\ 

Copyright (C) 2001-2012 NLTK Project. 

 

Distributed and Licensed under the Apache License, Version 2.0, 

which is included by reference. 

""" 

 

__license__ = "Apache License, Version 2.0" 

# Description of the toolkit, keywords, and the project's primary URL. 

__longdescr__ = """\ 

The Natural Language Toolkit (NLTK) is a Python package for 

natural language processing.  NLTK requires Python 2.6 or higher.""" 

__keywords__ = ['NLP', 'CL', 'natural language processing', 

                'computational linguistics', 'parsing', 'tagging', 

                'tokenizing', 'syntax', 'linguistics', 'language', 

                'natural language', 'text analytics'] 

__url__ = "http://nltk.org/" 

 

# Maintainer, contributors, etc. 

__maintainer__ = "Steven Bird, Edward Loper, Ewan Klein" 

__maintainer_email__ = "sb@csse.unimelb.edu.au" 

__author__ = __maintainer__ 

__author_email__ = __maintainer_email__ 

 

# "Trove" classifiers for Python Package Index. 

__classifiers__ = [ 

    'Development Status :: 5 - Production/Stable', 

    'Intended Audience :: Developers', 

    'Intended Audience :: Education', 

    'Intended Audience :: Information Technology', 

    'Intended Audience :: Science/Research', 

    'License :: OSI Approved :: Apache Software License', 

    'Operating System :: OS Independent', 

    'Programming Language :: Python :: 2.6', 

    'Programming Language :: Python :: 2.7', 

    'Topic :: Scientific/Engineering', 

    'Topic :: Scientific/Engineering :: Artificial Intelligence', 

    'Topic :: Scientific/Engineering :: Human Machine Interfaces', 

    'Topic :: Scientific/Engineering :: Information Analysis', 

    'Topic :: Text Processing', 

    'Topic :: Text Processing :: Filters', 

    'Topic :: Text Processing :: General', 

    'Topic :: Text Processing :: Indexing', 

    'Topic :: Text Processing :: Linguistic', 

    ] 

 

from .internals import config_java 

 

# support numpy from pypy 

try: 

    import numpypy 

except ImportError: 

    pass 

 

########################################################### 

# TOP-LEVEL MODULES 

########################################################### 

 

# Import top-level functionality into top-level namespace 

 

from .collocations import * 

from .decorators import decorator, memoize 

from .featstruct import * 

from .grammar import * 

from .probability import * 

from .text import * 

from .tree import * 

from .util import * 

from .yamltags import * 

from .align import * 

 

# don't import contents into top-level namespace: 

 

from . import ccg 

from . import data 

from . import help 

 

########################################################### 

# PACKAGES 

########################################################### 

 

from .chunk import * 

from .classify import * 

from .inference import * 

from .metrics import * 

from .model import * 

from .parse import * 

from .tag import * 

from .tokenize import * 

from .sem import * 

from .stem import * 

 

# Packages which can be lazily imported 

# (a) we don't import * 

# (b) they're slow to import or have run-time dependencies 

#     that can safely fail at run time 

 

from . import lazyimport 

app = lazyimport.LazyModule('app', locals(), globals()) 

chat = lazyimport.LazyModule('chat', locals(), globals()) 

corpus = lazyimport.LazyModule('corpus', locals(), globals()) 

draw = lazyimport.LazyModule('draw', locals(), globals()) 

toolbox = lazyimport.LazyModule('toolbox', locals(), globals()) 

 

# Optional loading 

 

try: 

    import numpy 

except ImportError: 

    pass 

else: 

    from . import cluster; from .cluster import * 

 

from .downloader import download, download_shell 

try: 

    import Tkinter 

except ImportError: 

    pass 

else: 

    try: 

        from .downloader import download_gui 

    except RuntimeError as e: 

        import warnings 

        warnings.warn("Corpus downloader GUI not loaded " 

                      "(RuntimeError during import: %s)" % str(e)) 

 

# explicitly import all top-level modules (ensuring 

# they override the same names inadvertently imported 

# from a subpackage) 

 

from . import align, ccg, chunk, classify, collocations 

from . import data, featstruct, grammar, inference, metrics 

from . import misc, model, parse, probability, sem, sourcedstring, stem 

from . import tag, text, tokenize, tree, treetransforms, util 

 

# override any accidentally imported demo 

def demo(): 

    print("To run the demo code for a module, type nltk.module.demo()")