5 个流行的自然语言处理库及入门用法
作者头像
  • 2021-09-13 20:40:58 18

本文介绍了五个流行的Python自然语言处理(NLP)库及其入门用法,这些库涵盖了语言数据可视化、数据预处理、多任务处理、高级语言建模等多种应用场景。

本文旨在提供一个全面的概览,而非推荐特定的最优组合。以下是这五个库的详细介绍:

1. Hugging Face Datasets

Hugging Face的Datasets库是一个整合了多种公开可用的NLP数据集的集合,具备通用API和数据格式,以及一些辅助功能。该库提供了丰富的数据集和高效的数据预处理工具,能够方便地加载和处理数据。

安装命令: bash pip install datasets

你可以通过以下代码加载数据集: ```python from datasets import load_dataset

squaddataset = loaddataset('squad') print(squad_dataset['train'][0]) ```

此外,该库还支持多种评估指标,例如准确率、BLEU分数等。

2. TextHero

TextHero是一个专注于简化文本处理流程的库。它可以帮助开发者快速处理文本数据,节省时间和精力。安装步骤如下: bash pip install texthero

使用示例: ```python import texthero as hero import pandas as pd

df = pd.read_csv("https://github.com/jbesomi/texthero/raw/master/dataset/bbcsport.csv") df['pca'] = df['text'].pipe(hero.clean).pipe(hero.tfidf).pipe(hero.pca) hero.scatterplot(df, 'pca', color='topic', title="PCA BBC Sport news") ```

3. spaCy

spaCy是一个设计用于生产环境的NLP库,它提供了一套简洁高效的API。安装命令如下: bash pip install spacy python -m spacy download en

示例代码: ```python import spacy

nlp = spacy.load('en') sample = u"I can't imagine spending $3000 for a single bedroom apartment in N.Y.C." doc = nlp(sample)

输出Token信息

for token in doc: print(token)

输出命名实体

for ent in doc.ents: print(ent.text, ent.startchar, ent.endchar, ent.label_) ```

4. Hugging Face Transformers

Hugging Face的Transformers库是目前最流行的NLP库之一,支持PyTorch和TensorFlow。它可以应用于多种NLP任务,包括分类、信息提取、问答、摘要、翻译等。

安装命令: bash pip install transformers

示例代码: ```python from transformers import pipeline

情感分析

classifier = pipeline('sentiment-analysis') print(classifier('I am a fan of KDnuggets, its useful content, and its helpful editors!'))

问答系统

questionanswerer = pipeline('question-answering') answer = questionanswerer({ 'question': 'Where is KDnuggets headquartered?', 'context': 'KDnuggets was founded in February of 1997 by Gregory Piatetsky in Brookline, Massachusetts.' }) print(answer) ```

5. Scattertext

Scattertext是一个用于创建可视化图表的库,主要用于展示不同文档类型之间的语言差异。安装步骤如下: bash pip install scattertext

示例代码: ```python import scattertext as st

df = st.SampleCorpora.ConventionData2012.getdata().assign( parse=lambda df: df.text.apply(st.whitespacenlpwithsentences)) corpus = st.CorpusFromParsedDocuments( df, categorycol='party', parsedcol='parse').build().getunigramcorpus().compact(st.AssociationCompactor(2000))

html = st.producescattertextexplorer( corpus, category='democrat', categoryname='Democratic', notcategoryname='Republican', minimumtermfrequency=0, pmithresholdcoefficient=0, widthinpixels=1000, metadata=corpus.getdf()['speaker'], transform=st.Scalers.denserank) open('./democompact.html', 'w').write(html) ```

希望这些库能够帮助你解决实际问题,提升工作效率。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
自然语言用法入门处理流行库及
    下一篇