1. 分词(Tokenization): NLTK包含用于将文本分割成单词或标记的工具,使文本更容易处理。
from nltk.tokenize import word_tokenize
text = "NLTK is a powerful library for natural language processing."
tokens = word_tokenize(text)
print(tokens)
2. 停用词(Stopwords): NLTK提供了常用停用词列表,用于过滤掉在文本分析中通常没有实际含义的常用词汇。
from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
filtered_tokens = [word for word in tokens if word.lower() not in stop_words]
print(filtered_tokens)
3. 词性标注(Part-of-Speech Tagging): NLTK可以用于标注文本中每个词的词性。
from nltk import pos_tag
tagged_words = pos_tag(tokens)
print(tagged_words)
4. 词干提取(Stemming)和词形还原(Lemmatization): NLTK提供了用于将单词还原为其基本形式的工具。
from nltk.stem import PorterStemmer, WordNetLemmatizer
porter_stemmer = PorterStemmer()
lemmatizer = WordNetLemmatizer()
stemmed_words = [porter_stemmer.stem(word) for word in tokens]
lemmatized_words = [lemmatizer.lemmatize(word) for word in tokens]
print(stemmed_words)
print(lemmatized_words)
5. 语料库和语言模型: NLTK包含了各种语言资源和语料库,包括书籍、标注的语料库以及用于训练语言模型的数据。
from nltk.corpus import brown
print(brown.categories())
6. 语法分析(Syntax Parsing): NLTK支持对文本进行语法分析,生成语法树。
from nltk import RegexpParser
grammar = "NP: {<DT>?<JJ>*<NN>}"
parser = RegexpParser(grammar)
tree = parser.parse(tagged_words)
tree.draw()
这些只是NLTK中众多功能的一小部分。通过NLTK,您可以进行更多高级的自然语言处理任务,例如情感分析、命名实体识别等。NLTK是一个强大的工具,特别适用于学习NLP的基础知识和实践。
转载请注明出处:http://www.zyzy.cn/article/detail/12020/AI人工智能