宁波SEO优化将网站关键词排名推广到百度快照第1页
152-1580-3335

网站推广、网站建设专家!

专业、务实、高效

联 系

您现在的位置:宁波网站优化 > 百度排名 > Python无监视抽词

Python无监视抽词

Python无监视抽词

怎样快速准确分词,关于网站优化去道,是提与tags散开,疑息联系关系的好辅佐。

今朝许多分词东西皆是基于一元的分词法,需求词库去帮助。

经由过程对Google乌板报第一章的进修,怎样操纵统计模子停止分词。

本办法思索了3个维度:

凝集水平:两个字持续呈现的概率其实不是各自自力的水平。比方“上”呈现的概率是1×10^-5,”床”呈现的概率是1×10^-10,假如那两个字的凝集水平低,则”上床”呈现的概率该当战1×10^-15靠近,可是究竟上”上床”呈现的概率正在1×10^-11次圆,近下于各自自力概率之积。以是我们能够以为“上床”是一个词。

左邻字散开熵:分出的词右边一个字的疑息量,好比”巴掌”,根本只能用于”挨巴掌”,“一巴掌”,“拍巴掌”,反之”已往”那个词,前里能够用“走已往”,“跑已往”,“爬已往”,“挨已往”,“混已往”,“睡已往”,“死已往”,“飞已往”等等,疑息熵便十分下。

左邻字散开熵:分出的词左边一个词的疑息量,同上。

上面是一个操纵Python真现的demo(转自:webinfoextract/forum.php?mod=viewthread&tid=20)

#!/bin/sh
 
python ./splitstr.py > substr.freq
 
python ./cntfreq.py > word.freq
 
python ./findwords.py > result
 
sort -t"    " -r -n -k 2 result > result.sort

splitstr.py,切分出字数正在10之内的子字符串,计较词频,左邻字汇合熵,左邻字汇合熵,并输出呈现10次以上的子字符串:

import math
 
def compute_entropy(word_list):
        wdict={}
        tot_cnt=0
        for w in word_list:
                if w not in wdict:
                        wdict[w] = 0
                wdict[w] += 1
                tot_cnt+=1
        ent=0.0
        for k,v in wdict.items():
                p=1.0*v/tot_cnt
                ent -= p * math.log(p)
        return ent
 
def count_substr_freq():
        fp = open("./video.corpus")
        str_freq={}
        str_left_word={}
        str_right_word={}
        tot_cnt=0
        for line in fp:
                line=line.strip('\n')
                st = line.decode('utf-8')
                l=len(st)
                for i in range(l):
                        for j in range(i+1,l):
                                if j - i  0:
                                                left_word=st[i-1]
                                        else:
                                                left_word='^'
                                        if j < l-1:                                                 right_word=st[j+1]                                         else:                                                 right_word='%'                                         str_left_word[w].append(left_word)                                         str_right_word[w].append(right_word)                                         tot_cnt+=1         for k,v in str_freq.items():                 if v >= 10:
                        left_ent=compute_entropy(str_left_word[k])
                        right_ent=compute_entropy(str_right_word[k])
                        print "%s\t%f\t%f\t%f"%(k,v*1.0/tot_cnt,left_ent,right_ent)
 
if __name__ == "__main__":
        count_substr_freq()

cntfreq.sh,统计每一个字的字频:

def count_freq():
    word_freq={}
    fp = open("./substr.freq")
    tot_cnt=0.0
    for line in fp:
        line=line.split('\t')
        if len(line) < 2:
            continue
        st = line[0].decode('utf-8')
        freq = float(line[1])
        for w in st:
            if w not in word_freq:
                word_freq[w]=0.0
            word_freq[w]+=freq
            tot_cnt+=freq
    while True:
        try:
            x,y = word_freq.popitem()
            if x:
                freq=y*1.0/tot_cnt
                print "%s\t%f"%(x.encode('utf-8'),freq)
            else:
                break
        except:
            break
 
if __name__ == "__main__":
    count_freq()

findwords.py,输出凝开水平下,且阁下邻字汇合熵皆较下的字符串:

def load_dict(filename):
        dict={}
        fp=open(filename)
        for line in fp:
                line=line.strip('\n')
                item=line.split('\t')
                if len(item) == 2:
                        dict[item[0]] = float(item[1])
        return dict
 
def compute_prob(str,dict):
        p=1.0
        for w in str:
                w = w.encode('utf-8')
                if w in dict:
                        p *= dict[w]
        return p
 
def is_ascii(s):
        return all(ord(c) < 128 for c in s)
 
def find_compact_substr(dict):
        fp = open("./substr.freq")
        str_freq={}
        for line in fp:
                line = line.decode('utf-8')
                items = line.split('\t')
                if len(items) < 4:
                        continue
                substr = items[0]
                freq = float(items[1])
                left_ent = float(items[2])
                right_ent = float(items[3])
                p=compute_prob(substr,dict)
                freq_ratio=freq/p
                if freq_ratio > 5.0 and left_ent > 2.5 and right_ent > 2.5 and len(substr) >= 2 and not is_ascii(substr):
                        print "%s\t%f"%(substr.encode('utf-8'),freq)
 
if __name__ == "__main__":
        dict=load_dict('./word.freq')
        find_compact_substr(dict)

对3万条视频的题目,抽出的频次最下的50个词以下:

50视频 0.000237

轴启 0.000184

北京 0.000150

中国 0.000134

下浑 0.000109

搞笑 0.000101

消息 0.000100

上海 0.000100

美男 0.000092

演唱 0.000085

音乐 0.000082

—— 0.000082

第两 0.000080

少女 0.000078

最新 0.000074

广场 0.000070

天下 0.000070

现场 0.000066

文娱 0.000066

年夜教 0.000064

公司 0.000064

跳舞 0.000063

电视 0.000063

讲授 0.000060

我们 0.000060

国语 0.000059

典范 0.000056

字幕 0.000055

宣扬 0.000053

钢管 0.000051

游戏 0.000050

影戏 0.000049

演唱会 0.000046

日本 0.000045

小教 0.000045

欢愉 0.000044

超等 0.000043

第三 0.000042

宝宝 0.000042

教死 0.000042

告白 0.000041

培训 0.000041

视频 0.000040

好国 0.000040

恋爱 0.000039

教师 0.000038

动绘 0.000038

教程 0.000037

广州 0.000037

教院 0.000035

文章滥觞:imyexi/?p=682

注:相干网站建立本领浏览请移步到建站教程频讲。

 

您可以通过以下方式在线洽谈:
网站策划 营销推广 投诉建议

相关信息

网站优化设想中静态页里、静态页里战真静态页里特性 网站优化设想中静态页里、静态页里
登录/注册后可看年夜图 网站造做设想中静态页里、静态页里战真静态页里
挑选广州网站优化的公司应留意甚么? 挑选广州网站优化的公司应留意甚么
本帖最初由 帝国E客 于 2016-8-31 16:34 编纂 跟着互联网的不竭开展,
搜搜劣选优良网页精髓内容 获得优良用户体验 搜搜劣选优良网页精髓内容 获得优
10、快照日期 6、显现评分、人气指数、复兴量等相干目标 甚么是搜搜劣
新脚进修SEO该当理解哪些根底常识 新脚进修SEO该当理解哪些根底常识
经由过程教导新脚进修SEO,很多多少新脚觉得SEO很奥秘,很易。实在否则
怎样赢得用户优化睹钟情:文排名“题目”誊写经历 怎样赢得用户优化睹钟情:文排名“
1、夸大过分脆而不坚 搜索引擎优化句话能够得当的论述优化篇文排名题目
刘俊:网站优化遵照凡是事预则坐 没有预则兴的本则 刘俊:网站优化遵照凡是事预则坐
凡是事预,则坐,没有预,则兴,做搜索引擎优化更約eo枰渭桥琶丶
搜索引擎优化优化之枢纽词挑选战略 搜索引擎优化优化之枢纽词挑选战略
优化、寻觅枢纽词的办法 枢纽词的拔取是战略型的事情,成果优化枢纽词
邓堪豪:网站降裙丶十得到过多中链形成 邓堪豪:网站降裙丶十得到过多中
总结:不论是几枢纽词月的站大概新站皆没有要正在短工夫内删减过多的中
聊乡有会做网站优化的吗。谁引见下。。 聊乡有会做网站优化的吗。谁引见下
能做网站优化营销吗,,,
削减HTTP恳求(网站优化型网站优化手艺) 削减HTTP恳求(网站优化型网站优化
正在网站开辟历程中,关于页里的减载服从优化般皆念尽法子供快。百度么