一、collections 的 Counter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!/usr/bin/python
import time
s = time.time()
from collections import Counter
raw_corpus = ['商业 新知 : 知识图谱 为 内核 , 构建 商业 创新 服务 完整 生态 。',
'如何 更好 利用 知识图谱 技术 做 反 欺诈 ? 360 金融 首席 数据 科学家 沈赟开 讲 。',
'知识 管理 | 基于 知识图谱 的 国际 知识 管理 领域 可视化 分析 。',
'一文 详解 达观 数据 知识图谱 技术 与 应用 。',
'知识图谱 技术 落地 金融 行业 的 关键 四步 。',
'一文 读 懂 知识图谱 的 商业 应用 进程 及 技术 背景 。',
'海云数 据 CPO 王斌 : 打造 大数据 可视 分析 与 AI 应用 的 高科技 企业 。',
'智能 产业 | 《 人工 智能 标准化 白皮 书 2018 》 带来 创新 创业 新技术 标准 。',
'国家 语委 重大 科研 项目 “ 中华经典 诗词 知识图谱 构建技术 研究 ” 开题 。',
'最全 知识图谱 介绍 : 关键 技术 、 开放 数据集 、 应用 案例 汇总 。',
'中译 语通 Jove Mind 知识图谱 平台 引领 企业 智能化 发展 。',
'知识图谱 : 知识图谱 赋能 企业 数字化 转型 , 为 企业 升级 转型 注入 新 能量 。']
raw_corpus = " ".join(raw_corpus)
# print(Counter(raw_corpus.split()))
frequency = Counter(raw_corpus.split())
# print(frequency.most_common(2)) # 输出词频最高的2个词
print(time.time() - s)
|
耗时
0.004360198974609375
二、直接dict
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/python
import time
s = time.time()
raw_corpus = ['商业 新知 : 知识图谱 为 内核 , 构建 商业 创新 服务 完整 生态 。',
'如何 更好 利用 知识图谱 技术 做 反 欺诈 ? 360 金融 首席 数据 科学家 沈赟开 讲 。',
'知识 管理 | 基于 知识图谱 的 国际 知识 管理 领域 可视化 分析 。',
'一文 详解 达观 数据 知识图谱 技术 与 应用 。',
'知识图谱 技术 落地 金融 行业 的 关键 四步 。',
'一文 读 懂 知识图谱 的 商业 应用 进程 及 技术 背景 。',
'海云数 据 CPO 王斌 : 打造 大数据 可视 分析 与 AI 应用 的 高科技 企业 。',
'智能 产业 | 《 人工 智能 标准化 白皮 书 2018 》 带来 创新 创业 新技术 标准 。',
'国家 语委 重大 科研 项目 “ 中华经典 诗词 知识图谱 构建技术 研究 ” 开题 。',
'最全 知识图谱 介绍 : 关键 技术 、 开放 数据集 、 应用 案例 汇总 。',
'中译 语通 Jove Mind 知识图谱 平台 引领 企业 智能化 发展 。',
'知识图谱 : 知识图谱 赋能 企业 数字化 转型 , 为 企业 升级 转型 注入 新 能量 。']
raw_corpus = " ".join(raw_corpus)
frequency = {}
for word in raw_corpus.split():
if word not in frequency:
frequency[word] = 1
else:
frequency[word] += 1
print(time.time() - s)
|
耗时
5.269050598144531e-05
三、collections 的 defaultdict
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/python
import time
s = time.time()
from collections import defaultdict
raw_corpus = ['商业 新知 : 知识图谱 为 内核 , 构建 商业 创新 服务 完整 生态 。',
'如何 更好 利用 知识图谱 技术 做 反 欺诈 ? 360 金融 首席 数据 科学家 沈赟开 讲 。',
'知识 管理 | 基于 知识图谱 的 国际 知识 管理 领域 可视化 分析 。',
'一文 详解 达观 数据 知识图谱 技术 与 应用 。',
'知识图谱 技术 落地 金融 行业 的 关键 四步 。',
'一文 读 懂 知识图谱 的 商业 应用 进程 及 技术 背景 。',
'海云数 据 CPO 王斌 : 打造 大数据 可视 分析 与 AI 应用 的 高科技 企业 。',
'智能 产业 | 《 人工 智能 标准化 白皮 书 2018 》 带来 创新 创业 新技术 标准 。',
'国家 语委 重大 科研 项目 “ 中华经典 诗词 知识图谱 构建技术 研究 ” 开题 。',
'最全 知识图谱 介绍 : 关键 技术 、 开放 数据集 、 应用 案例 汇总 。',
'中译 语通 Jove Mind 知识图谱 平台 引领 企业 智能化 发展 。',
'知识图谱 : 知识图谱 赋能 企业 数字化 转型 , 为 企业 升级 转型 注入 新 能量 。']
raw_corpus = " ".join(raw_corpus)
frequency = defaultdict(int)
for word in raw_corpus.split():
frequency[word] += 1
print(time.time() - s)
|
耗时
0.0027456283569335938
四、小结
以上,直接dict的方法最快,Counter代码最清爽,且可以输出词频最高的前几个词。
打赏
微信
|
支付宝
|
万分感谢 |
|