當前位置:首頁 » 編程語言 » 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