Python+jieba+pandas+自己写的函数,简单实现用多个词典标注文本

本文介绍了一种高效处理文本分析中词典标注的方法,通过统一词典格式和编写通用函数,实现对不同维度词典的灵活应用,极大提高了文本分析的效率。

做文本分析经常需要用词典标注,有时需要用很多个不同的词典做标注,每个词典单独跑一遍 or 每个词典都重新写代码显得很傻,所以我

1. 统一了词典的格式:用excel存储,第一列是关键词,这一列对所有词典都是必需的;后面列是标签(维度划分),可能有1个或多个标签;

2. 写了几个词典标注的函数,适用于:dict0-没有标签的词典;dict1-有一列标签的词典;dict2-有两列标签的词典。一般这几个就够用了,如果有更多的标签列,用相同的模式再写新的函数就行;

3. 每个词典都可以通过调用这几个函数来标注,代码也差不多,只要替换词典名就可以;

这是目前我能想出来的最好方法了,感觉还是有点笨,但还挺好用的,可拓展性也很强。

# -*- coding: utf-8 -*-
"""
Created on Fri Jun 12 10:26:19 2020

@author: weisssun
"""

import jieba
import pandas as pd
import re

#——————————————————————————————————————————————
#读取文件
input_path = r'./input_data/testfile.xlsx'
#原始数据路径
outpath = r'./output_data/testfile结果.xlsx'
#输出数据路径

#input_data = pd.read_excel(input_path, sheet_name = '数据')
input_data = pd.read_excel(input_path)
#读取原始数据,根据需要修改或删除sheet_name

output_data = pd.DataFrame(columns=['序号','原始文本',
                                    '词典零标注结果','词典零命中词数量',
                                    '词典一标注结果','词典一命中词数量','词典一维度', 
                                    #这里最好把词典维度按自己需要的顺序命名好列名,否则出来的标注结果,不同词典会混在一起
                                    '词典二标注结果','词典二命中词数量','词典二维度'])

#——————————————————————————————————————————————
#读取停用词和用户词典

stopw = [line.strip() for line in open(r'./dict/stopwords.txt',encoding='utf-8').readlines()]
#读取停用词词典
jieba.load_userdict(r"./dict/userdict.txt")
#读取用户词典

#——————————————————————————————————————————————
#读取标注词典
zerodict = pd.read_excel(r'./dict/词典零.xl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值