導航:首頁 > 編程語言 > python如何實現高頻詞檢索

python如何實現高頻詞檢索

發布時間:2022-11-04 20:42:27

Ⅰ 用python實現搜索某一網頁中出現頻率最高的前N個英文單詞 輸入: 網址,N值 輸出:按出現頻率由高到低排

好象是有一個jieba分詞。國人寫的,有一個小男孩的頭像。挺簡單,好玩。

它里有topN的演算法。我把代碼復制過來。你看一下。最關鍵的就一句話。

import sys
sys.path.append('../')

import jieba
import jieba.analyse
from optparse import OptionParser

USAGE ="usage: python extract_tags.py [file name] -k [top k]"

parser = OptionParser(USAGE)
parser.add_option("-k",dest="topK")
opt, args = parser.parse_args()

if len(args) <1:
print USAGE
#sys.exit(1)

file_name = args[0]

if opt.topK==None:
topK=10
else:
topK = int(opt.topK)

print file_name
content = open(file_name,'rb').read()
tags = jieba.analyse.extract_tags(content,topK=topK) #這一句
print ",".join(tags)

如果是英文單詞就更簡單了。可能幾句話。我試一下看
s=open("some.txt").read()
import re
words=re.findall("(?isu)(\S+)",s)
counts={}
for w in words:
try:
counts[w]+=1
except KeyError:
counts[w]=1
items=count.items()
items.sort(key=lambda x:x[1],reverse=True)
for k,v in items:
print k,v
這樣應該就可以了。

Ⅱ python中如何分析這是一本關於什麼的文檔

最基本的就是做分詞後取最高頻詞。

作為優化,可以從詞性角度排除一些高頻詞,如高頻詞「的」之類的。
如果還想進一步優化,就需要使用大數據了,建立一個詞相關性評分表,對文檔分詞後的詞頻與這相應的相關度做加權,選取加權最高的一組詞或幾組詞為文檔的索引詞表。
然後從文檔中提取整句與提取的索引詞表履蓋度最高的若干句作為文檔的摘要。
大部分的摘要演算法就是按這個思路來完成的。

Ⅲ 用Python實現小說里的高頻詞統計並顯示

用jieba做分詞,用wordcloud包做詞雲就可以了

#讀取文件內容
file='d:/艾薩克·阿西莫夫/奇妙的航程.TXT'
f=open(file,'r',encoding='gbk')
text=f.read()
f.close()
#使用jieba分詞,因為wordcloud是以空格識別單詞邊界的
importjieba
text=''.join(jieba.cut(text))
#掩碼圖片,單色圖就好
fromscipy.miscimportimread
color_mask=imread('D:/Pictures/7218.png')
#建立詞雲對象,因為是中文,指定一個中文字體,不然可能會亂碼
#WordCloud的參數可以控制很多內容,請自行閱讀包的文檔
importwordcloud
w=wordcloud.WordCloud(font_path='C:/Windows/Fonts/msyh.ttc',
max_words=100,
mask=color_mask)
#載入以空格分詞的字元串
w.generate(text)
#生成圖片
w.to_file('d:/img1.png')

Ⅳ python如何高級檢索

$ python _qa.py

Enter Context, leave by empty line

def __init__(self, datafile, default=None):

self.datafile = datafile

self.default = default

self.data = shelve.BsdDbShelf(bsddb.open(self.datafile, 'c'))

def __del__(self):

self.data.sync()

self.data.close()

def __getitem__(self, k):

return self.data.get(k, self.default)

def __setitem__(self, k, v):

self.data[k] = v


Enter and/or keywords to query

and default data

[9]

or get k v

[8, 9, 10, 11]

$

#coding:utf-8

importre

patt=re.compile("w+")

defmakeIndex():
index,lineno={},0
whileTrue:
ln=raw_input()
ifln:
lineno+=1
forwordinpatt.findall(ln):
index.setdefault(word,[]).append(lineno)
else:
break
returnindex

defindexAndQuery(index,*args):
found=None
forwordinargs:
got=index.get(word,[])
ifnotgot:
returnNone
ifnotfound:
found=set(got)
else:
found&=set(got)
ifnotfound:
returnNone
returnlist(found)

defindexOrQuery(index,*args):
found=set()
forwordinargs:
found|=set(index.get(word,[]))
returnlist(found)

deflnparser(ln):
words=patt.findall(ln.lower())
iflen(words)<2orwords[0]notin('and','or'):
#輸入的行不是以and,or開始,或未給出待查單詞
returnNone
else:
returnwords[0],words[1:]

cmdswitch={
'and':indexAndQuery,
'or':indexOrQuery,
}

print"EnterContext,leavebyemptyline"
index=makeIndex()
print"Enterand/orkeywordstoquery"
whileTrue:
got=lnparser(raw_input())
ifnotgot:
break
printcmdswitch[got[0]](index,*got[1])

Ⅳ 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分詞如何實現新詞識別

你這首先肯定要把文章所有詞語挖掉,挖掉又涉及到詞的長度范圍啊,詞並不總是由2個漢字組成.對不.
編程沒有什麼難度,要頻率就設定一個變數記錄,要詞庫就設定一個列表.
關鍵是數值怎麼定.數值呢?
問得太簡單了,只能這么答.

Ⅶ 如何用Python實現在文件夾下查找一個關鍵詞

#!/usr/bin/python
#coding:utf8
import os

#判斷文件中是否包含關鍵字,是則將文件路徑列印出來
def is_file_contain_word(file_list, query_word):
for _file in file_list:
if query_word in open(_file).read():
print _file
print("Finish searching.")

#返回指定目錄的所有文件(包含子目錄的文件)
def get_all_file(floder_path):
file_list = []
if floder_path is None:
raise Exception("floder_path is None")
for dirpath, dirnames, filenames in os.walk(floder_path):
for name in filenames:
file_list.append(dirpath + '\\' + name)
return file_list

query_word = raw_input("Please input the key word that you want to search:")
basedir = raw_input("Please input the directory:")

is_file_contain_word(get_all_file(basedir), query_word)
raw_input("Press Enter to quit.")

請採納

Ⅷ 如何用python代碼實現篩選

用python代碼實現篩選的方法:

python中的if語句可以實現篩選的效果。例如:篩選出列表裡的數字就可以用「if type(i) == int」語句來篩選

示例代碼如下:

執行結果如下:

更多Python知識,請關註:Python自學網!!

Ⅸ 如何用python實現英文短文的雙詞頻統計

data="""Doyouhearthepeoplesing,singingasongofangrymen.Itisthemusicofapeople,whowillnotbeslavesagain,.."""
data=data.replace(',','')
data=data.replace('.','')
ws=data.split()
dic={}#counttwowords
ws2=[]#twowords
foriinrange(len(ws)-1):
ws2.append(ws[i]+""+ws[i+1])
forw2inws2:
ifdic.get(w2)==None:
dic[w2]=1
else:
dic[w2]+=1
dic_first={}#counttwowordsbyfirstword
forw2inws2:
(l,r)=w2.split()
ifdic_first.get(l)==None:
dic_first[l]=1
else:
dic_first[l]+=1
forw2inws2:#output
(l,r)=w2.split()
printw2,dic[w2],dic_first[l],dic[w2]/float(dic_first[l])

Ⅹ 用python怎樣從語句中分析人們討論的熱點

簡單一點的方法:分詞-->去除停用詞-->統計高頻詞彙
稍微復雜一點的方法:分詞-->去除停用詞-->LDA主題模型訓練-->言論主題分類並得到主題詞
更復雜一點的方法:在上一個方法的基礎上,添加「情緒識別」、「實體識別」等。
PS:建議將此問題添加到「機器學習」、「自然語言處理」話題下。

閱讀全文

與python如何實現高頻詞檢索相關的資料

熱點內容
解放壓縮機支架 瀏覽:253
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:145
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:337
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:79
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:215
滴滴金融app被下架如何還款 瀏覽:212
jpg轉換成pdf免費軟體 瀏覽:743
范里安pdf 瀏覽:447
偽造pdf 瀏覽:79
能刪除android文件夾嗎 瀏覽:447