zoukankan      html  css  js  c++  java
  • 单词统计续

      任务:

    第1步:输出单个文件中的前 N 个最常出现的英语单词。

    功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列。

    功能2: 指定文件目录,对目录下每一个文件执行统计的操作。 

    功能3:指定文件目录,是会递归遍历目录下的所有子目录的文件进行统计单词的功能。

    功能4:输出出现次数最多的前 n 个单词, 

     例如, 提示统计统计前多少名:输入10。 就是输出最常出现单词的前 10 名。 当没有指明数量的时候,我们默认列出所有单词的频率。

    第2步:第二步:  支持 stop words

    在一本小说里, 频率出现最高的单词一般都是 "a",  "it", "the", "and", "this", 这些词, 可以做一个 stop word 文件 (停词表), 在统计词汇的时候,跳过这些词。  我们把这个文件叫 "stopwords.txt" file. 

    第三步:  想看看常用的短语是什么, 怎么办呢? 

    先定义短语:"两个或多个英语单词, 它们之间只有空格分隔".   请看下面的例子:

     

      hello world   //这是一个短语

     

      hello, world //这不是一个短语

     

    同一频率的词组, 按照字典序来排列。

    第四步:把动词形态都统一之后再计数。

    想找到常用的单词和短语,但是发现英语动词经常有时态和语态的变化,导致同一个词,同一个短语却被认为是不同的。 怎么解决这个问题呢?

    假设我们有这样一个文本文件,这个文件的每一行都是这样构成:

    动词原型  动词变形1 动词变形2... ,词之间用空格分开。

    e.g.  动词 TAKE 有下面的各种变形:take takes took taken taking

    我们希望在实现上面的各种功能的时候,有一个选项, 就是把动词的各种变形都归为它的原型来统计。 

    功能 支持动词形态的归一化

    思路:

    首先老师给我们具体的功能要求

    功能1:输出文件中所有不重复的单词,按照出现次数由多到少排列,出现次数同样多的,以字典序排列。

    功能2: 指定文件目录,对目录下每一个文件执行统计的操作。 

    功能3:指定文件目录,是会递归遍历目录下的所有子目录的文件进行统计单词的功能。

    功能4:输出出现次数最多的前 n 个单词,

      续集,所以很多功能前面都有了,接下来指定文件目录,要判断自己输入的是不是正确的文件目录,

    代码:

    String name = file.getName();
    if(!name.trim().toLowerCase().endsWith(".txt")) {
    System.out.println("非.txt文件");
    return;
    }
    if(!file.isFile()) {
    System.out.println("不是文件");
    return;
    }

    这样就可以完成大部分的功能了。

  • 相关阅读:
    python模块—socket
    mac os系统的快捷键
    教你如何将UIImageView视图中的图片变成圆角
    关于ASP.NET MVC
    iOS 日期格式的转换
    将App通过XCode上传到AppStore 出现这个错误“An error occurred uploading to the iTunes Store”的解决方法
    关于MAC OS下面两个软件的功能改进——Dictionary和Fit 输入法
    分享一下上个星期的香港行程
    【博客园IT新闻】博客园IT新闻 iPhone 客户端发布
    解决Entity Framework Code First 的问题——Model compatibility cannot be checked because the database does not contain model metadata
  • 原文地址:https://www.cnblogs.com/msdog/p/11061077.html
Copyright © 2011-2022 走看看