NLP:生成熟悉NLP开源工具,如NLTK、 HanLP等,并搜寻、下载和熟悉PKU、 CoreNLP, LTP MSR, AS CITYI 等语料库。

目录

一、NLTK

二、HanLP

三、PKU

四、CoreNLP

五、LTP

六、MSR


一、NLTK

NLTK(Natural Language Toolkit)是Python的一个开源自然语言处理库。它提供了大量已经预处理好的文本数据和语料库,以及一些常用的文本处理算法和NLP工具。例如,NLTK提供了分词、词性标注、命名实体识别、情感分析等功能。下面是一个使用NLTK进行词性标注的示例:

python 复制代码
​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'), ('.', '.')]
  1. NLTK还提供了大量的语料库供学习和研究使用。其中一些语料库包括:
  • Gutenberg语料库:包含超过25,000个免费电子书的文本。
  • Brown语料库:包含不同类型的约50万词语言样本,用于研究自然语言处理中的语言变体。
  • Reuters语料库:包含10,788个新闻文档,包括118个主题类别。
  • Movie Reviews语料库:包含1000个影评文本,每个文本都被分配了一个积极或消极的标签。

二、HanLP

HanLP是由中国科学院计算技术研究所自然语言处理与社会人文计算实验室开发的开源自然语言处理工具包。它支持中文分词、词性标注、命名实体识别、依存句法分析、关键字提取等功能。下面是一个使用HanLP进行中文分词的示例:

from pyhanlp import *

text = "自然语言处理是一项重要的人工智能技术。"

segmenter = HanLP.newSegment().enableCustomDictionary(False)
words = segmenter.seg(text)

for word in words:
    print(word.word)

# Output: 自然语言 处理 是 一项 重要 的 人工智能 技术 。
  • 中华新闻语料库:包含超过350万条新闻文本。
  • 汉语聊天语料库:包含超过500万条即时通信文本。
  • 人民日报语料库:包含1964年至2018年的人民日报文本。

三、PKU

  1. PKU语料库是一个非常受欢迎的中文自然语言处理语料库,包含了大量的文本数据和其它语言处理资源。它包括中文分词、词性标注、命名实体识别、依存句法分析等功能。下面是一个使用PKU进行中文分词的示例:

    import pkuseg

    text = "自然语言处理是一项重要的人工智能技术。"

    seg = pkuseg.pkuseg()
    words = seg.cut(text)

    print(words)

    Output: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']

  2. PKU语料库包括:

  • PKU人民日报中文语料库:包含1998年至2010年的人民日报文本,包括词性标注、命名实体识别等。
  • 新闻语料库:包含超过1000万条新闻文本,涵盖超过20年的时间范围。

四、CoreNLP

  1. CoreNLP是由斯坦福大学自然语言处理小组开发的一款开源自然语言处理工具包。它支持多种语言,包括英语、中文、阿拉伯语等,可以进行分词、词性标注、命名实体识别、句法分析、情感分析等任务。下面是一个使用CoreNLP进行英文分词的示例:

    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', '.']

  • Penn Treebank语料库:包含了多种类型的英文文本数据,用于研究句法分析和其他自然语言处理任务。
  • OntoNotes语料库:包含了多种语言的文本数据,用于研究命名实体识别、语义角色标注等任务。

五、LTP

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: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']
  • SIGHAN2005语料库:包含多种类型的中文文本数据,用于研究中文分词、词性标注等任务。
  • CTB5.1语料库:包含超过17万个中文句子,用于研究句法分析和其他自然语言处理任务。

六、MSR

  1. MSR是由微软亚洲研究院开发的一款面向中文的自然语言处理工具集。它可以进行中文分词、词性标注、命名实体识别、依存句法分析等任务,并且提供了多种语言的接口。下面是一个使用MSR进行中文分词的示例:

    import msr

    text = "自然语言处理是一项重要的人工智能技术。"
    seg = msr.segment(text)

    print(seg)

    Output: ['自然语言', '处理', '是', '一项', '重要', '的', '人工智能', '技术', '。']

  • MSR中文分词语料库:包含100万个中文句子,用于研究中文分词等任务。
  • MSR实体识别语料库:包含大量实体标注数据,用于研究命名实体识别等任务。
相关推荐
LZXCyrus18 分钟前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
我感觉。35 分钟前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr44 分钟前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络
DieYoung_Alive44 分钟前
一篇文章了解机器学习(下)
人工智能·机器学习
夏沫的梦1 小时前
生成式AI对产业的影响与冲击
人工智能·aigc
goomind1 小时前
YOLOv8实战木材缺陷识别
人工智能·yolo·目标检测·缺陷检测·pyqt5·木材缺陷识别
只怕自己不够好1 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
幻风_huanfeng1 小时前
人工智能之数学基础:线性代数在人工智能中的地位
人工智能·深度学习·神经网络·线性代数·机器学习·自然语言处理
嵌入式大圣1 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉
ZOMI酱2 小时前
【AI系统】GPU 架构与 CUDA 关系
人工智能·架构