目录
一、NLTK
二、HanLP
三、PKU
四、CoreNLP
五、LTP
六、MSR
NLTK(Natural Language Toolkit)是Python的一个开源自然语言处理库。它提供了大量已经预处理好的文本数据和语料库,以及一些常用的文本处理算法和NLP工具。例如,NLTK提供了分词、词性标注、命名实体识别、情感分析等功能。下面是一个使用NLTK进行词性标注的示例:
import nltk
from nltk.tokenize import word_tokenize
from nltk.tag import pos_tag
sentence = "The quick brown fox jumps over the lazy dog."
tokens = word_tokenize(sentence)
tags = pos_tag(tokens)
print(tags)
# Output: [('The', 'DT'), ('quick', 'JJ'), ('brown', 'NN'), ('fox', 'NN'), ('jumps', 'VBZ'), ('over', 'IN'), ('the', 'DT'), ('lazy', 'JJ'), ('dog', 'NN'), ('.', '.')]
HanLP是由中国科学院计算技术研究所自然语言处理与社会人文计算实验室开发的开源自然语言处理工具包。它支持中文分词、词性标注、命名实体识别、依存句法分析、关键字提取等功能。下面是一个使用HanLP进行中文分词的示例:
from pyhanlp import *
text = "自然语言处理是一项重要的人工智能技术。"
segmenter = HanLP.newSegment().enableCustomDictionary(False)
words = segmenter.seg(text)
for word in words:
print(word.word)
# Output: 自然语言 处理 是 一项 重要 的 人工智能 技术 。
import pkuseg
text = "自然语言处理是一项重要的人工智能技术。"
seg = pkuseg.pkuseg()
words = seg.cut(text)
print(words)
# Output: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']
import json
from pycorenlp import StanfordCoreNLP
nlp = StanfordCoreNLP('http://localhost:9000')
text = "The quick brown fox jumps over the lazy dog."
output = nlp.annotate(text, properties={
'annotators': 'tokenize',
'outputFormat': 'json'
})
tokens = [token['word'] for sentence in output['sentences'] for token in sentence['tokens']]
print(tokens)
# Output: ['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog', '.']
LTP(Language Technology Platform)是由哈工大社会计算与信息检索研究中心开发的一款面向中文的开源自然语言处理工具包。它支持中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等任务。下面是一个使用LTP进行中文分词的示例:
from pyltp import Segmentor
segmentor = Segmentor()
segmentor.load("/path/to/your/model")
text = "自然语言处理是一项重要的人工智能技术。"
words = segmentor.segment(text)
print(words)
# Output: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']
import msr
text = "自然语言处理是一项重要的人工智能技术。"
seg = msr.segment(text)
print(seg)
# Output: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']