精华内容
下载资源
问答
  • 内容索引:VB源码,字符处理,词汇提取 VB擂台赛获奖作品——高频词汇提取技术示例源程序可,第一步:预处理  先读入原始数据;  把原始数据中的每个单词出现位置及长度记录到数组中;  为每个单词生成哈希表;  ...
  • importjava.io.*;importjava.util.*;classtt{publicStringphrase;publicintcount;}publicclasssearchphrase{privatestaticLinkedHashMapphrase=newLinkedHashMap();statictt[]max_phrase;privatestaticVectorSep...

    importjava.io.*;importjava.util.*;classtt

    {publicString phrase;publicintcount;

    }publicclasssearchphrase

    {privatestaticLinkedHashMap phrase=newLinkedHashMap();statictt[] max_phrase;privatestaticVector SeparateString(String s)

    {

    Vector v=newVector();

    String temp="";for(inti=0; i

    {if(s.charAt(i)!='')

    {

    temp+=s.charAt(i);

    }else{if(temp!="")

    v.add(temp);

    temp="";

    }

    }if(temp!="")

    v.add(temp);returnv;

    }privatestaticvoidswap(intpos,intcount, String phrase)

    {inti;if(max_phrase[pos-1].count

    {for(i=pos-1; i>0; i--)

    {if(max_phrase[i-1].count>max_phrase[i].count)break;

    }

    max_phrase[pos].count=max_phrase[i].count;

    max_phrase[pos].phrase=max_phrase[i].phrase;

    max_phrase[i].count=count;

    max_phrase[i].phrase=phrase;

    }

    }privatestaticvoidadjust_max(intcount, String phrase)

    {inti, j;if(count<=max_phrase[max_phrase.length-1].count)return;for(i=max_phrase.length-1; i>=0; i--)

    {if(max_phrase[i].phrase.equals(phrase))

    {

    max_phrase[i].count=count;if(i>0)

    {

    swap(i, count, phrase);

    }return;

    }

    }

    max_phrase[max_phrase.length-1].count=count;

    max_phrase[max_phrase.length-1].phrase=phrase;if(i>0)

    {

    swap(max_phrase.length-1, count, phrase);

    }

    }privatestaticvoidjs(Vector v,intn)

    {

    String s;for(inti=0; i

    {

    s="";for(intj=i; j

    {

    s+=v.get(j)+"";

    }intcount=1;if(phrase.containsKey(s.hashCode()))

    {

    count=Integer.parseInt(phrase.get(s.hashCode()).toString());

    count++;

    }

    phrase.put(s.hashCode(), count);

    adjust_max(count, s);

    }

    }publicstaticvoidmain(String[] args)

    {try{longt;intm, n;

    String path;

    m=Integer.parseInt(args[0]);

    n=Integer.parseInt(args[1]);

    path=args[2];

    max_phrase=newtt[m];for(inti=0; i

    {

    max_phrase[i]=newtt();

    max_phrase[i].count=0;

    max_phrase[i].phrase="";

    }

    t=(newjava.util.Date()).getTime();

    java.io.FileReader fr=newjava.io.FileReader(path);

    java.io.BufferedReader br=newBufferedReader(fr);

    String s;

    Vector v=null;while((s=br.readLine())!=null)

    {

    v=SeparateString(s);

    js(v, n);

    }for(inti=0; i

    {

    System.out.println(max_phrase[i].phrase);

    System.out.println(max_phrase[i].count);

    System.out.println();

    }

    t=(newjava.util.Date()).getTime()-t;

    System.out.print(t);

    System.out.println("ms");

    }catch(Exception e)

    {

    System.out.println(e.getMessage());

    }

    }

    }

    展开全文
  • 在大量文字中搜索高频词汇是信息搜索和数据压缩的共通课题。这次智慧擂台请大家在一个比较庞大的英文文本中找出M个数量最多的短语(由N个单词组成)。统一处理相同的文本文件,该文本只包含英文单词、空格和回行符,...

    本文为原创,如需转载,请注明作者和出处,谢谢!

    面对浩瀚的信息海洋,找到想要的资源有时真的是不容易。在大量文字中搜索高频词汇是信息搜索和数据压缩的共通课题。

    这次智慧擂台请大家在一个比较庞大的英文文本中找出M个数量最多的短语(由N个单词组成)。统一处理相同的文本文件,该文本只包含英文单词、空格和回行符,比较谁的程序效率最高。

    程序输入:M,N,文本文件路径(M不超过20,N不超过8)

    程序输出:高频短语及其数量清单

    擂台规则:提交符合以上要求的可执行程序,语言招式不限,点到为止;

    我们将在统一的环境下对每位选手的作品进行公平的测试,

    比较出综合用时最少的程序。

    源程序

    import

    java.io.

    *

    ;

    import

    java.util.

    *

    ;

    class

    tt

    {

    public

    String phrase;

    public

    int

    count;

    }

    public

    class

    searchphrase

    {

    private

    static

    LinkedHashMap phrase

    =

    new

    LinkedHashMap();

    static

    tt[] max_phrase;

    private

    static

    Vector SeparateString(String s)

    {

    Vector v

    =

    new

    Vector();

    String temp

    =

    ""

    ;

    for

    (

    int

    i

    =

    0

    ; i

    <

    s.length(); i

    ++

    )

    {

    if

    (s.charAt(i)

    !=

    '

    '

    )

    {

    temp

    +=

    s.charAt(i);

    }

    else

    {

    if

    (temp

    !=

    ""

    )

    v.add(temp);

    temp

    =

    ""

    ;

    }

    }

    if

    (temp

    !=

    ""

    )

    v.add(temp);

    return

    v;

    }

    private

    static

    void

    swap(

    int

    pos,

    int

    count, String phrase)

    {

    int

    i;

    if

    (max_phrase[pos

    -

    1

    ].count

    <

    count)

    {

    for

    (i

    =

    pos

    -

    1

    ; i

    >

    0

    ; i

    --

    )

    {

    if

    (max_phrase[i

    -

    1

    ].count

    >

    max_phrase[i].count)

    break

    ;

    }

    max_phrase[pos].count

    =

    max_phrase[i].count;

    max_phrase[pos].phrase

    =

    max_phrase[i].phrase;

    max_phrase[i].count

    =

    count;

    max_phrase[i].phrase

    =

    phrase;

    }

    }

    private

    static

    void

    adjust_max(

    int

    count, String phrase)

    {

    int

    i, j;

    if

    (count

    <=

    max_phrase[max_phrase.length

    -

    1

    ].count)

    return

    ;

    for

    (i

    =

    max_phrase.length

    -

    1

    ; i

    >=

    0

    ; i

    --

    )

    {

    if

    (max_phrase[i].phrase.equals(phrase))

    {

    max_phrase[i].count

    =

    count;

    if

    (i

    >

    0

    )

    {

    swap(i, count, phrase);

    }

    return

    ;

    }

    }

    max_phrase[max_phrase.length

    -

    1

    ].count

    =

    count;

    max_phrase[max_phrase.length

    -

    1

    ].phrase

    =

    phrase;

    if

    (i

    >

    0

    )

    {

    swap(max_phrase.length

    -

    1

    , count, phrase);

    }

    }

    private

    static

    void

    js(Vector v,

    int

    n)

    {

    String s;

    for

    (

    int

    i

    =

    0

    ; i

    <

    v.size()

    -

    n

    +

    1

    ; i

    ++

    )

    {

    s

    =

    ""

    ;

    for

    (

    int

    j

    =

    i; j

    <

    i

    +

    n; j

    ++

    )

    {

    s

    +=

    v.get(j)

    +

    "

    "

    ;

    }

    int

    count

    =

    1

    ;

    if

    (phrase.containsKey(s.hashCode()))

    {

    count

    =

    Integer.parseInt(phrase.get(s.hashCode()).toString());

    count

    ++

    ;

    }

    phrase.put(s.hashCode(), count);

    adjust_max(count, s);

    }

    }

    public

    static

    void

    main(String[] args)

    {

    try

    {

    long

    t;

    int

    m, n;

    String path;

    m

    =

    Integer.parseInt(args[

    0

    ]);

    n

    =

    Integer.parseInt(args[

    1

    ]);

    path

    =

    args[

    2

    ];

    max_phrase

    =

    new

    tt[m];

    for

    (

    int

    i

    =

    0

    ; i

    <

    m; i

    ++

    )

    {

    max_phrase[i]

    =

    new

    tt();

    max_phrase[i].count

    =

    0

    ;

    max_phrase[i].phrase

    =

    ""

    ;

    }

    t

    =

    (

    new

    java.util.Date()).getTime();

    java.io.FileReader fr

    =

    new

    java.io.FileReader(path);

    java.io.BufferedReader br

    =

    new

    BufferedReader(fr);

    String s;

    Vector v

    =

    null

    ;

    while

    ((s

    =

    br.readLine())

    !=

    null

    )

    {

    v

    =

    SeparateString(s);

    js(v, n);

    }

    for

    (

    int

    i

    =

    0

    ; i

    <

    m; i

    ++

    )

    {

    System.out.println(max_phrase[i].phrase);

    System.out.println(max_phrase[i].count);

    System.out.println();

    }

    t

    =

    (

    new

    java.util.Date()).getTime()

    -

    t;

    System.out.print(t);

    System.out.println(

    "

    ms

    "

    );

    }

    catch

    (Exception e)

    {

    System.out.println(e.getMessage());

    }

    }

    }

    测试结果1:m = 20 n = 8

    under games played won drawn lost goals for

    71

    tabulated under games played won drawn lost goals

    70

    games played won drawn lost goals for against

    70

    May Xinhua Following are the results from the

    69

    played won drawn lost goals for against and

    59

    won drawn lost goals for against and points

    59

    Jan Xinhua Following are the results from the

    48

    Chinas economic efficiency indicators of the sector of

    39

    The industrial statistics include all stateowned enterprises and

    39

    industrial statistics include all stateowned enterprises and the

    39

    statistics include all stateowned enterprises and the nonstateowned

    39

    include all stateowned enterprises and the nonstateowned ones

    39

    all stateowned enterprises and the nonstateowned ones with

    39

    stateowned enterprises and the nonstateowned ones with annual

    39

    enterprises and the nonstateowned ones with annual sales

    39

    and the nonstateowned ones with annual sales income

    39

    Xinhua Chinas economic efficiency indicators of the sector

    39

    the nonstateowned ones with annual sales income over

    39

    nonstateowned ones with annual sales income over million

    39

    up percent over the same period last year

    35

    13594 ms

    测试结果2  m = 10 n = 5

    Xinhua Following are the results

    295

    May Xinhua Following are the

    209

    Following are the results from

    183

    are the results from the

    176

    April Xinhua Following are the

    141

    Jan Xinhua Following are the

    122

    billion yuan billion US dollars

    120

    won drawn lost goals for

    88

    played won drawn lost goals

    88

    Dec Xinhua Following are the

    87

    12437 ms

    以上源程序是采用的是最简单的方法,谁有更好,效率更高的方法,请跟贴!!

    展开全文
  • 内容索引:VB源码,字符处理,高频词汇提取 这是一个升级版本,增加保留上一次打开文件的文件夹(结束程序后无效),增加自动初始化一些变量,将不同单词转换成一张表,将原文转换成long型数组,每个元素指向表中的一个...
  • 用来提取excel中非结构数据的高频词汇,可自定义高频词长度以及出现频率,仅限于中文。将所需分析数据粘贴到D:D列即可。
  • 高频词汇提取

    千次阅读 2006-12-19 10:31:00
    高频词汇提取——对统计纯文本中高频词程序的优化文 / 王尧 高频词汇提取是一道很容易让人产生兴趣的题目,同时也是一道典型的计算机算法题目。主要涉及到“排序”和“搜索”两大经典课题。它的速度的快慢也取决于...
    高频词汇提取
    ——对统计纯文本中高频词程序的优化
    文 / 王尧
     
     
    高频词汇提取是一道很容易让人产生兴趣的题目,同时也是一道典型的计算机算法题目。主要涉及到“排序”和“搜索”两大经典课题。它的速度的快慢也取决于相应数据结构的设计。对于程序员的基本素质训练有很好的帮助。
     
    这个算法可以分成“计数”和“排序”两个部分分别探讨。
    先讨论“计数”的部分:让我们把问题简化一下,假定每个词汇由5个字母组成,共有26^5=11881376种可能的排列组合。可以定义一个int型数组,大小为11881376,占用内存大小约为47M,用来作为计数器。我们遍历一次文件,把当前位置处的5个字母作为int数组的索引(例如,这5个字母为abcde,可以用每个字母的ASCⅡ码减去97,得到序列0、1、2、3、4,再计算[4 + 3*26 + 2*(26^2) + 1*(26^3) + 0*(26^4)],得到19010即为索引值),根据这个索引,把数组中相关的项的值加1,遍历结束后,计数部分也就完成了。现在的问题在于我们所要计数的词汇并不限于5个字母,每增加一个字母,可能的排列组合数都要以指数方式增长,以仅仅8个字母为例,26^8约为208G,每个int型数据4字节,计数器所需内存为832G,这不是我们所能承受的。况且,词汇是由n个单词组成,我们并不知道每个单词包含多少个字母。于是,我们又回到起点重新思考计数的算法。
    首先,我们肯定需要有一个计数器,计数器中的每一项都对应着一个词汇,计数器的大小必须是内存中能容纳得下的。而这是可以做到的,一个10M的文本,其中实际包含的短语种类,决不会超过10M,现代计算机的内存是可以满足大多数的文本的,问题只在于计数器的空间使用效率(当然,对于一个超大的文本,不但它本身的文件大小超过了内存容量,而且文件本身包含的词条数也超过了内存容量,可以分段读取文件并分段计数,每当计数器达到一定大小,就写入磁盘,然后使用新的计数器,最后把这些计数器综合起来。这相当于使用了缓存技术。操作系统本身也带有缓存机制,可以只管使用内存,把缓存的问题交给操作系统,但是对于我们的这个应用,操作系统的缓存机制未必是高效的。本文不展开这方面的讨论,只假定文件中的实际词条数,能够容纳在内存中)。计数器又必须是便于索引的,也就是说,对于文件中每个当前位置出现的由n个单词组成的词条,都能高效地在计数器中查找到相应的位置,以便于计数。最快的搜索算法莫过于使用哈希表,它的查找时间是固定的,而与词条的总量无关,我们前面提过的那个计数器实际上就是一个哈希表,计算索引的公式就是哈希函数,而每个数组元素就是哈希表中的一个“桶”,而且每个桶中最多只有一个项,是十分快速和理想的。但是既然内存是有限的,就必须考虑把哈希表的大小控制在能够承受的范围,比如,固定为前面说到的11881376,那么,当“可能的”词条数远远大于11M时,每个“桶”里就可能要容纳多个项目,然而一个11881376字节的文本文件,其实际的词条数不会超过11881376,如果哈希函数设计得好,能把各个“实际”词条均匀地分入各个桶中,每个桶中仍然只有一个项目,那搜索速度仍然是很快的,所以哈希函数是一个关键。我们自然而然对哈希函数的设计提出两个要求:1)不同的实际词条应尽量分入不同的桶中;避免许多不同的实际词条集中到某些桶中,而另一些是空桶,使搜索的效率降低。2)计算尽可能地简单,因为每次“插入”和“搜索”哈希表都要执行哈希函数,哈希函数的复杂度直接影响程序的速度。可以采用这样的方案:每个词条均匀地取出5个字节(比如词条包括十个字节,就从中取出第1、3、5、7、9个字节),按照前面的方法进行索引。少于5个字节的词条在后面用z补足(考虑到词条中包含空格,每个字节其实有27种可能的取值,所以哈希表的大小修改为27^5=14348907,空格的数值置为26,a~z的数值为0~25,忽略大小写)。提示:在内存够的情况下,哈希表可以设得更大,以减少每个桶中可能的词条数,提高时间效率。所以也可以设为几十M,并相应地修改一下哈希函数。
    但是无论如何,我们只能期望每个桶中“一般来说”有一个词条。只要哈希表小于“可能的”词条数(前面分析过,这几乎是肯定的),我们仍然要面对一个“桶”中出现几个词条的情况,而且由于测试的文件的不同,我们不能事先预测一个桶中“最多”会达到几个词条。所以我们需要使用链表来放置这些无法确定数量的词条们。这里尤其需要注意的是,不应该采用每次增加词条时都临时申请内存的方式来实现链表,因为在系统的管理内存的机制中有所谓“最先适合法”、“最优适合法”之类的方法,或者是这些方法的混合,实现起来比较复杂,所以不应该把申请内存视为一项如加法一样快速的工作,频繁申请或释放内存肯定是比较低效率的做法。于是,我们需要开出第二块内存来存放这些不确定数量的词条们(且称之为内存B,而把哈希表称之为内存A)。这样哈希表中存放的既不是词条的内容,也不是词条的计数,而是指向这些词条的链接。每遇到一个新的词条,就顺序放入这块内存,并把它在这块内存中的位置(指针)计入哈希表的相应的桶中,如果相应的桶中已经有了一个指针,就顺着指针找到相应的项,把这项的后续指针指向新词条,这样,哈希表的每个非空的桶都有一个指针,指向内存B中的某一项,这项也带有一个指针,指向同一个桶中的第二项,以此类推,如果没有后续的项,就为NULL,这就是我们熟悉的哈希表的链式存储。为了避免频繁的申请内存,内存B可以尽量申请得大一些,但能容纳的项目数不需要比文件的字节数更大,因为,5M的文件绝不可能包含6M的词条,实际上,我们保守地估计,我们的程序可能要处理最大20M的文件,其中每个单词约4个字母,算上空格符和词条重复的因素,那么内存B能放4M个项目,大概是足够了,我们还可以用上动态内存的技术,当内存B不够用时,申请更大的内存(比如二倍大小),把数据拷过去,释放旧内存,再不够时可以考虑自己管理缓存(本文不展开讨论了)。现在来考虑哈希表内每个桶中的项如何查找,用链式的线性的数据结构,需要去遍历这个链,每次查找和插入的时间都和桶中的项的数目有关,这是个不经济的做法。改进的方法是使用二叉查找树,具体做法是这样:内存B中每一项都含有词条字符串、计数字段以及LLink和RLink两个指针,分别指向同一个桶中的一个比它小的项和比它大的项(或为空),对当前的词条应用哈希函数,找到哈希表中相应的桶,如果桶中有指针,就和指针对应的项(项A)去比较,相等就在这一项的计数字段上加1,大于就去比较这一项的RLink指向的项(项B)……,依此类推,如果小于项B,就把当前词条放在内存B已有的所有项的最后,并把项B的LLink指向它。《计算机程序设计》中对二叉查找树有过数学上的分析,对数据结构和查找算法熟悉的读者想必都知道:这种算法的插入和查找的时间和lgN相关(N为单棵树上的项目数,lg以2为底),是值得推荐的算法,某些极端情况下,二叉查找树会变成蜕化树(所有节点都只有最多一个子节点,于是成为变相的线性链表),但是发生的概率很小,有一种被称作“平衡树(AVL tree)”的算法,可以防止出现蜕化树,但是同时也降低了平均速度(因为算法变复杂了),只有在树的节点多于256时,才可能体现出优势,而由于我们在二叉查找树之前已经先使用了哈希表,所以“平衡树”也就不需要了。
    另外,我们还需要一个内存块(内存C),以存放字符串,当我们把项目加入内存B的时候,要把词条字符串存入内存C(依次存放,并在字符串结尾放上“/0”),并在内存B的相应项里纪录下该字符串指针。之所以不把字符串放在内存B里,是因为词条的字节长短是可变的,而我们后面将对内存B进行排序算法,每个项目拥有相同的数据量,便于遍历和移动。内存C初始时也应该大一些(比如10M),可以像内存B一样应用动态内存的方法,它们的原则是相同的。
     
    现在来讨论排序。本题的“排序”不同于传统意义上的排序,它只要求找出M个数量最多的短语,M个之外的短语间不需要排序,M个之内的短语间也不需要排序。这样,使用经典排序算法都有很多的冗余步骤。
    我们可以从排序算法的基本思想开始思考。首先容易想到的是通过比较进行排序:我们把内存B上出现次数大于1的项目全选出来,排列到新内存上(内存D),在这个过程中记下最大的数i,如果内存D上的项目数大于M,就把内存D上大于i=(i/2)的项目排到B上(覆盖B即可),如果D上的项目不足M个,就从B上补足。如此交替使用内存B和D,每次挑出一部分数据,排除其余,不断地缩小范围,最终挑出M个最大的项目。如果最大的数为1024,这个算法的“搬家”次数不会超过lg1024=10次,每次搬家的项目数也会大批量地减少。
    一个更好的改进是通过分布进行排序:把i十等分,把所有的项目按照次数分到这10个区域中,从次数大的区域开始,把各个区域的项目数逐个累加起来,直到大于等于M,如果等于M,成功结束,如果大于M,就把加上后刚好会大于M的这个区域中的项目拿出来划分……。这样最多需要划分log1024次(log以10为底)。用这个算法,一般的文件可能划分3到4次足矣。
     
    题外话:其实就搜索高频词汇这个话题深入下去,还需要更多的考量,比如,文中出现最多的短语为“搜索高频词汇”,N为2,M为5,那排名前5位的是“搜索”、“索高”、“高频”、“频词”、“词汇”,其中第二和第四个显然是不合格的,我们需要一个大型的词库,即使是这样,语法分析之类的语言学知识也是必要的,比如:文中出现高频词“高丽人参”,我们显然不应该从中提取出“丽人”。但是作为“智慧擂台”的一道题目,我们就不去做更专业的探讨了。
     
    展开全文
  • https://blog.csdn.net/liu506039293/article/details/103972942
  • 词组自动提取统计工具,适用于统计文字词组出现的数量,比如淘宝标题词组出现的数量、TOP500关键词词根、唯品标题等等,用途可留言挖掘。谢谢。
  • NLP之高频提取

    2020-10-13 13:10:22
    #jieba分词示例 def get_content(path): with open(path, 'r', encoding='gbk', errors='ignore') as f: content = '' for l in f: l = l.strip() content += l return content def get_TF(words, topK=10):...
    #jieba分词示例
    def get_content(path):
        
        with open(path, 'r', encoding='gbk', errors='ignore') as f:
            content = ''
            for l in f:
                l = l.strip()
                content += l
            return content
    def get_TF(words, topK=10):
        
        tf_dic = {}
        for w in words:
            tf_dic[w] = tf_dic.get(w, 0) + 1
        return sorted(tf_dic.items(), key = lambda x: x[1], reverse=True)[:topK]
    
    def stop_words(path):
        with open(path,encoding='UTF-8') as f:
            return [l.strip() for l in f]
    stop_words('data/stop_words.utf8')
    
    #分词
    def main():
        import glob
        import random
        import jieba
        
        files = glob.glob('data/news/C000013/*.txt')#查找符合特定规则的文件路径名
        corpus = [get_content(x) for x in files[:5]]
        
        
        sample_inx = random.randint(0, len(corpus))
        sample_inx = 3
        
        import jieba.posseg as psg
        
        split_words = [x for x in jieba.cut(corpus[sample_inx]) if x not in stop_words('./data/stop_words.utf8')]
        print('样本之一:'+corpus[sample_inx])
        print('样本分词效果:'+'/ '.join(split_words))
        print('样本的topK(10)词:'+str(get_TF(split_words)))
    main()
    
    Building prefix dict from the default dictionary ...
    Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
    Loading model cost 0.858 seconds.
    Prefix dict has been built succesfully.
    
    
    样本之一:中国卫生部官员24日说,截至2005年底,中国各地报告的尘肺病病人累计已超过60万例,职业病整体防治形势严峻。卫生部副部长陈啸宏在当日举行的“国家职业卫生示范企业授牌暨企业职业卫生交流大会”上说,中国各类急性职业中毒事故每年发生200多起,上千人中毒,直接经济损失达上百亿元。职业病病人总量大、发病率较高、经济损失大、影响恶劣。卫生部24日公布,2005年卫生部共收到全国30个省、自治区、直辖市(不包括西藏、港、澳、台)各类职业病报告12212例,其中尘肺病病例报告9173例,占75.11%。陈啸宏说,矽肺和煤工尘肺是中国最主要的尘肺病,且尘肺病发病工龄在缩短。去年报告的尘肺病病人中最短接尘时间不足三个月,平均发病年龄40.9岁,最小发病年龄20岁。陈啸宏表示,政府部门执法不严、监督不力,企业生产水平不高、技术设备落后等是职业卫生问题严重的原因。“但更重要的原因是有些企业法制观念淡薄,社会责任严重缺位,缺乏维护职工健康的强烈的意识,职工的合法权益不能得到有效的保障。”他说。为提高企业对职业卫生工作的重视,卫生部、国家安全生产监督管理总局和中华全国总工会24日在京评选出56家国家级职业卫生工作示范企业,希望这些企业为社会推广职业病防治经验,促使其他企业作好职业卫生工作,保护劳动者健康。
    样本分词效果:中国卫生部/ 官员/ 24/ 日/ 2005/ 年底/ 中国/ 各地/ 报告/ 尘肺病/ 病人/ 累计/ 超过/ 60/ 万例/ 职业病/ 整体/ 防治/ 形势严峻/ 卫生部/ 副/ 部长/ 陈啸宏/ 当日/ 举行/ 国家/ 职业/ 卫生/ 示范/ 企业/ 授牌/ 暨/ 企业/ 职业/ 卫生/ 交流/ 大会/ 中国/ 各类/ 急性/ 职业/ 中毒/ 事故/ 每年/ 发生/ 200/ 多起/ 上千人/ 中毒/ 直接/ 经济损失/ 达上/ 百亿元/ 职业病/ 病人/ 总量/ 发病率/ 高/ 经济损失/ 影响/ 恶劣/ 卫生部/ 24/ 日/ 公布/ 2005/ 年/ 卫生部/ 共/ 收到/ 全国/ 30/ 个省/ 自治区/ 直辖市/ 包括/ 西藏/ 港/ 澳/ 台/ 各类/ 职业病/ 报告/ 12212/ 例/ 尘肺病/ 病例/ 报告/ 9173/ 例/ 占/ 75/ ./ 11%/ 陈啸宏/ 矽肺/ 煤工/ 尘肺/ 中国/ 主要/ 尘肺病/ 尘肺病/ 发病/ 工龄/ 缩短/ 去年/ 报告/ 尘肺病/ 病人/ 中/ 短/ 接尘/ 时间/ 不足/ 三个/ 月/ 平均/ 发病/ 年龄/ 40/ ./ 岁/ 最小/ 发病/ 年龄/ 20/ 岁/ 陈啸宏/ 表示/ 政府部门/ 执法不严/ 监督/ 不力/ 企业/ 生产/ 水平/ 不高/ 技术设备/ 落后/ 职业/ 卫生/ 问题/ 严重/ 原因/ 更/ 重要/ 原因/ 企业/ 法制观念/ 淡薄/ 社会/ 责任/ 严重/ 缺位/ 缺乏/ 维护/ 职工/ 健康/ 强烈/ 意识/ 职工/ 合法权益/ 不能/ 得到/ 有效/ 保障/ 提高/ 企业/ 职业/ 卫生/ 工作/ 重视/ 卫生部/ 国家/ 安全/ 生产/ 监督管理/ 总局/ 中华全国总工会/ 24/ 日/ 京/ 评选/ 出/ 56/ 家/ 国家级/ 职业/ 卫生/ 工作/ 示范/ 企业/ 希望/ 企业/ 社会/ 推广/ 职业病/ 防治/ 经验/ 促使/ 企业/ 作好/ 职业/ 卫生/ 工作/ 保护/ 劳动者/ 健康
    样本的topK(10)词:[('企业', 8), ('职业', 7), ('卫生', 6), ('尘肺病', 5), ('报告', 4), ('职业病', 4), ('卫生部', 4), ('24', 3), ('日', 3), ('中国', 3)]
    
    如需要代码或数据进群753035545
    
    展开全文
  • 一、高频词汇提取简介 高频词一般是指文档中出现频率较高且并非无用的词语,其一定程度上代表了文档的焦点所在。针对单篇文档,可以作为一种关键词来看。对于如新闻这样的多篇文档,可以将其作为热词,发现舆论的...
  • 高频提取

    2020-03-03 14:49:20
    高频词一般指的是在文章中出现频率较高的且有意义的一些词语,一定程度上代表了文档的焦点所在。所以也可以将其当做关键词。 本文的分词工具使用了jieba分词。 首先,引入要用的包并且读取待处理的文档数据: import...
  • jieba分词器是Python中最好的中文分词组件,本文讲解一下jieba分词器及其应用。 ...本文中我们讲解了jieba分词器的用法以及在高频词汇提取时的应用,下文中还会讲到在NLP其他领域的应用。
  • 任务:利用Jieba实现高频词的提取。 首先在中找到并安装jieba(已安装好) 然后直接使用即可。 Jieba有很多种模式(cut\cut_for_search\lcut\lcut_for_search),本次使用后两种(全模式和搜索引擎模式)。  ...
  • g = WordCloud() g.add(series_name="热点分析", data_pair=tags, word_size_range=[6, 66]) g.set_global_opts( title_opts=opts.TitleOpts( title="高频词条", title_textstyle_opts=opts.TextStyleOpts(font_...
  • 目的:实现中文分词,并提取高频词汇一、实现的效果初始的文本(wenben1.text)是网上随便复制的一段文本,主要内容如图所示:实现分词后的文本(wenben2.text):提取频率最高的10个词汇,显示结果如下:二、代码#!...
  • 采集到一批关键词,但是里面有很多类似重复的关键词,需要进行提取,请问需要怎么操作才可以。 ![图片说明](https://img-ask.csdn.net/upload/201907/24/1563956691_139824.jpg) ![图片说明]...
  • 在大量文字中搜索高频词汇是信息搜索和数据压缩的共通课题。这次智慧擂台请大家在一个比较庞大的英文文本中找出M个数量最多的短语(由N个单词组成)。统一处理相同的文本文件,该文本只包含英文单词、空格和回行符,...
  • python怎么提取关键词import re f = open("D:/xiangmu/python/xiangmu/gjc.txt", "r", encodi欢迎来到四十五资源网, 那个r'.*?('+ lste +').*?‘ 会吧你这个关键字前面和后面的文字都匹配了,所以当你的那个关键字...
  • 在大量文字中搜索高频词汇是信息搜索和数据压缩的共通课题。 这次智慧擂台请大家在一个比较庞大的英文文本中找出M个数量最多的短语(由N个单词组成)。统一处理相同的文本文件,该文本只包含英文单词、空格和回行符...
  • 本文信息本文由方法SEO顾问发表于2015-05-3023:05:55,共 2000 字,转载请注明:cygwin下用Python+jieba给文本分词并提取高频词_【方法SEO顾问】,如果我网站的文章对你有所帮助的话,来百度口碑给个好评呗!...
  • 核心变量特征提取特征提取器 目录 简单说明 COVFEFE是用于特征提取的工具。 给定一个包含数据的文件夹,它将为输入文件夹中的每个文件计算功能。 它目前支持音频数据的声学功能以及文本数据(英语和中文)的词汇,...
  • 提取文章高频

    千次阅读 2016-12-06 12:47:44
    # -*- coding: utf-8 -*- # * @author haoming # * @date 2016/11/08import MySQLdb import pandas as pd import numpy as np import re import codecs import jieba import jieba.analyse import logging ...
  • import pandas as pd import jieba.analyse def sort_key(keylist): ... 高频关键词排序 :param keylist: 关键词列表 :return: ''' percentage_number = int(keylist.count()*percentage) keyword_st
  • 于是,为了让编程小白+英语苦手在开始时能有些方向,我们尝试用程序整理了一份Python 高频词汇表,供参考。 网页演示地址: Crossin的编程教室-Python必背单词整理 扇贝单词本(可导入你的扇贝单词使用)和项目完整...
  • /usr/bin/env python# -*- coding: utf-8 -*-# @File : jieba.analyse.py# @Author: 赵路仓# @Date : 2020/3/14# @Desc : 提取关键字# @Contact : 398333404@qq.comimport jieba.analysetext='安全、防止水合物和段...
  • 关键词提取是文本挖掘领域中研究的核心技术之一.针对影响关键词提取质量的一词多义现象、同义词现象、文章主题准确全面表达的难点,提出了一种基于语义的关键词提取方法KETCLC,将《同义词词林》语义词典和词汇链...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,569
精华内容 4,627
关键字:

高频词汇提取