2021.11.21 以为不再用python分析语料库的我又开始了作死的全过程——用spacy给德语txt文档lemmatize并将结果写入csv及txt(二)

本文介绍了如何利用Anaconda环境,通过conda安装spacy的德语模型,并使用该模型对德语文本进行lemmatize处理。同时提到了csv和re包在处理过程中的作用,完整代码来源于程序员男友的帮助。
摘要由CSDN通过智能技术生成

1 所需软件及packages

1.1 软件/程序

  1. Anaconda (官网)
  2. (里头的)spider
  3. (里头的)prompt或win+R 👉 cmd

1.2 packages

  1. spaCy:有各种语言nlp的分析包,官网查看安装方式;我选的conda安装 - German - efficiency,官网提供的代码为 (在梯子加持下安装很顺利):

conda install -c conda-forge spacy
python -m spacy download de_core_news_sm

  1. csv(python自带)
  2. re(py自带)

spacy用于分析德语文本(词汇量更大一版)的包,安装了快一个小时也没成功,不推荐了:

de_dep_news_trf

2 完整代码

import spacy
import csv
import re

#载入spacy的德语包
nlp = spacy.load('de_core_news_sm') 

#读取txt文件,文件需提前处理为utf8格式,否则有乱码
file = open(r'填文件路径', mode='r', encoding='utf-8', errors=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要训练一个语料库,我们需要首先准备好语料库数据。在这里,我们将使用中文维基百科作为我们的语料库。以下是训练word2vec模型的步骤: 1. 下载维基百科语料库 中文维基百科提供了一个XML格式的数据库备份,可以从这里下载:https://dumps.wikimedia.org/zhwiki/latest/。请注意,这个文件很大,大约有5GB左右。下载后,您需要解压缩并将XML文件存储在本地文件夹中。 2. 清理维基百科语料库 由于维基百科包含大量的HTML标记,我们需要对其进行清理。我们可以使用Python中的BeautifulSoup库来进行清理。以下是一些示例代码: ```python from bs4 import BeautifulSoup import codecs # 读取维基百科XML文件 wiki_file = codecs.open("zhwiki-latest-pages-articles.xml", 'r', 'utf-8') # 创建BeautifulSoup对象并查找所有的text标签 soup = BeautifulSoup(wiki_file, 'html.parser') docs = soup.find_all('text') # 清理标点符号和数字 import re def clean_text(text): # 去除标点符号和数字 text = re.sub(r'[^\u4e00-\u9fa5]', '', text) return text # 将所有文档添加到列表中 cleaned_docs = [] for doc in docs: cleaned_doc = clean_text(doc.get_text()) cleaned_docs.append(cleaned_doc) ``` 3. 分词 接下来,我们将对每个文档进行分词。我们可以使用jieba库来进行中文分词。以下是一个示例代码: ```python import jieba # 分词函数 def tokenize(text): words = jieba.cut(text) return [word for word in words] # 将每个文档分词并添加到列表中 tokenized_docs = [] for doc in cleaned_docs: tokenized_doc = tokenize(doc) tokenized_docs.append(tokenized_doc) ``` 4. 训练Word2Vec模型 我们现在已经准备好训练word2vec模型了。我们可以使用gensim库来进行训练。以下是一个示例代码: ```python from gensim.models import Word2Vec # 训练Word2Vec模型 model = Word2Vec(tokenized_docs, size=300, window=5, min_count=5, workers=4) # 保存模型 model.save("zhwiki_word2vec.model") ``` 在上面的代码中,我们指定了一些参数来训练模型。例如,我们将词向量的维度设置为300,窗口大小设置为5,最小计数设置为5等等。您可以根据您的需要进行设置。 5. 使用Word2Vec模型 现在我们已经训练好了Word2Vec模型,我们可以使用它来查找相似的词语或计算词语之间的距离。以下是一个示例代码: ```python # 加载模型 model = Word2Vec.load("zhwiki_word2vec.model") # 查找相似的词语 similar_words = model.wv.most_similar("中国") print(similar_words) # 计算词语之间的距离 distance = model.wv.distance("北京", "上海") print(distance) ``` 在上面的代码中,我们加载了训练的模型,并使用它来查找与“中国”最相似的词语,以及计算“北京”和“上海”之间的距离。 希望这个实践指南对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值