做文本分析经常需要用词典标注,有时需要用很多个不同的词典做标注,每个词典单独跑一遍 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

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

4856

被折叠的 条评论
为什么被折叠?



