当前位置:首页 » 编程语言 » python提取关键词

python提取关键词

发布时间: 2022-04-02 09:46:59

python如何实现提取文本中所有连续的词语

经常需要通过Python代码来提取文本的关键词,用于文本分析。而实际应用中文本量又是大量的数据,如果使用单进程的话,效率会比较低,因此可以考虑使用多进程。
python的多进程只需要使用multiprocessing的模块就行,如果使用大量的进程就可以使用multiprocessing的进程池--Pool,然后不同进程处理时使用apply_async函数进行异步处理即可。

实验测试语料:message.txt中存放的581行文本,一共7M的数据,每行提取100个关键词。
代码如下:

[python] view plain
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from multiprocessing import Pool,Queue,Process
import multiprocessing as mp
import time,random
import os
import codecs
import jieba.analyse
jieba.analyse.set_stop_words("yy_stop_words.txt")

def extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#print("key words:{kw}".format(kw=" ".join(tags)))
return tags

#def parallel_extract_keyword(input_string,out_file):
def parallel_extract_keyword(input_string):
#print("Do task by process {proc}".format(proc=os.getpid()))
tags = jieba.analyse.extract_tags(input_string, topK=100)
#time.sleep(random.random())
#print("key words:{kw}".format(kw=" ".join(tags)))
#o_f = open(out_file,'w')
#o_f.write(" ".join(tags)+"\n")
return tags
if __name__ == "__main__":

data_file = sys.argv[1]
with codecs.open(data_file) as f:
lines = f.readlines()
f.close()

out_put = data_file.split('.')[0] +"_tags.txt"
t0 = time.time()
for line in lines:
parallel_extract_keyword(line)
#parallel_extract_keyword(line,out_put)
#extract_keyword(line)
print("串行处理花费时间{t}".format(t=time.time()-t0))

pool = Pool(processes=int(mp.cpu_count()*0.7))
t1 = time.time()
#for line in lines:
#pool.apply_async(parallel_extract_keyword,(line,out_put))
#保存处理的结果,可以方便输出到文件
res = pool.map(parallel_extract_keyword,lines)
#print("Print keywords:")
#for tag in res:
#print(" ".join(tag))

pool.close()
pool.join()
print("并行处理花费时间{t}s".format(t=time.time()-t1))

运行:
python data_process_by_multiprocess.py message.txt
message.txt是每行是一个文档,共581行,7M的数据

运行时间:

不使用sleep来挂起进程,也就是把time.sleep(random.random())注释掉,运行可以大大节省时间。

Ⅱ 怎样用python进行关键词提取

关键字具体是什么?
字符串比对就行了
html是beautifulsoup或者正则
json就更简单了

Ⅲ 如何查找Python中的关键字

1、用python这么久就没遇到过需要查找其关键字的时候,就那么点关键字看几遍后,基本都不会忘啦。而且写程序时,不管你用的是vim、gedit还是pycharm,遇到关键字都会变颜色提醒的呀。

2、交互模式下,试过可行的:

import__builtin__
dir(__builtin__)
help(__builtin__)

Ⅳ 怎么用python依据多个关键词提取Excel里关键词所在的整行内容

没有数据,模拟几条说明常规思路。

a=['PGSC1','PGSC3','PGSC6','PGSC7']

b=[['PGSC1','A',555],['PGSC2','B',988],['PGSC3','C',7666],['PGSC7','P',8767],['PGSC1','A',567]]

data=[]

for x in a:

for y in b:

if x==y[0]:

data.append(y)

print(data)

当然,你也可以用numpy或者pandas来处理会更方便。

Ⅳ python 提取文本关键字 link-id输出

Ⅵ python怎么提取关键词

你好, 那个r'.*?('+ lste +').*?‘ 会吧你这个关键字前面和后面的文字都匹配了,所以当你的那个关键字多次出现的时候,就会报那个重复出现的错了。
你直接
hh = re.findall(lste, gg)就可以了呀?
或者是还有什么需要匹配的东西,我看你后面好像要将结果连接起来,但是你匹配出来的都是关键字,直接连接的话,其实就是多个关键字的拼接了。

Ⅶ 在python 环境下,使用结巴分词,自动导入文本,分词,提取关键词.脚本 大侠给个

#-*-coding:UTF-8-*-

importjieba

__author__='lpe234'


seg_list=jieba.cut("我来到北京天安门",cut_all=True)
print','.join(seg_list)
...
Loadingmodelfromcache/var/folders/sv//T/jieba.cache
我,来到,北京,天安,天安门
Loadingmodelcost0.433seconds.
.

Processfinishedwithexitcode0

Ⅷ python 提取有关键词的句子怎么做

高频词提取:
# !/usr/bin/python3
# coding:utf-8

import jieba.analyse

jieba.load_userdict('dict.txt') # dict.txt自定义词典

content = open('kw.txt', 'rb').read()
tags = jieba.analyse.extract_tags(content, topK=10) # topK 为高频词数量
print("\n".join(tags))

Ⅸ python多个变量中提取多个字

原始数据形式:将需要提取关键词的文章放在一个文件夹下面;接着使用python代码读取每个文件的文件名,以便后面与关键词一一对应;接着读取文件数据并进行预处理,将其中的字母、数字以及下划线去掉;接着提取各个文章的关键词;将结果写在一个csv文件中;
_python的input函数正常来说,一次只能传来一个值,且这个值是一个字符串。如果想传入多个值,我们可以使用字符串的spilt函数,以空格进行字符串的分割,并返回一个列表

Ⅹ python 提取关键字,并插入列表

import re

patt = re.compile(r'''
(?P<dt>\d{2}-\d{2})
\s
(?P<tm>\d{1,2}:\d{2}:\d{2}\.\d{3})
\s+
(\d+\s*)+
(?P<errorkey>\w)
\s
(?P<flag>\w+)
\s*
\:\s
(?P<content>.*)
''',re.I|re.U|re.X)

keyset = set()

with open("bug.log") as f:
for m in filter(None, map(patt.match, f)):
flagk = m.group('flag')
print m.group('flag')
keyset.add(flagk)

print ','.join(['"%s"'%k for k in keyset])

热点内容
安卓手机怎么加速进程 发布:2025-01-18 07:29:48 浏览:681
塞恩拐弯脚本 发布:2025-01-18 07:29:37 浏览:742
师资配置含哪些内容 发布:2025-01-18 07:17:35 浏览:706
江西脚本 发布:2025-01-18 07:14:38 浏览:392
php中i方法 发布:2025-01-18 07:13:19 浏览:369
FTP宝塔Linux面板 发布:2025-01-18 07:10:05 浏览:396
无线网卡怎么改密码 发布:2025-01-18 06:54:41 浏览:766
ava动态编译 发布:2025-01-18 06:54:39 浏览:765
中国学位论文全文数据库 发布:2025-01-18 06:43:49 浏览:689
全局变量存储类别 发布:2025-01-18 06:39:29 浏览:424