Ngram Tokenizer для файлов на Java

Моя цель - создать программу, которая принимает файл, читает его, разбирает на токены и возвращает индекс с относительной и абсолютной частотой. Я понимаю, как токенизировать обычные строки, но не понимаю, как это делать с файлами. Более того, я не понимаю, где мой класс ngram может быть со всем этим связан. Кроме того, есть ли более простой способ подсчитать слова? Я знаю, что звучит глупо, и мне очень жаль, если это глупый вопрос, но мне действительно нужна помощь. Я так потерялся, и этот код больше не имеет смысла.

Вот что у меня есть:

public static void main(String[] args) {

    try {

        File file = new File("jarg2912.txt");
        FileReader fileReader = new FileReader(file);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        StringBuffer stringBuffer = new StringBuffer();
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            stringBuffer.append(line);
            stringBuffer.append("\n");
        }
        fileReader.close();
        System.out.println("Index:");
        //System.out.println(stringBuffer.toString());
        //NgramIterator ngram = new NgramIterator(0, "jarg2912.txt");
        StringTokenizer st = new StringTokenizer(fileReader.getEncoding());
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }

    } catch (IOException e) {
        e.printStackTrace();
    }

public class NgramIterator implements Iterator<String> {

String[] line;
int position = 0, number;

public NgramIterator(int n, String str) {
    this.number = n;
    this.line = str.split(" ");
}

@Override
public boolean hasNext() {
    return position < line.length - number + 1;
}

@Override
public String next() {
    StringBuilder stringBuilder = new StringBuilder();
    for (int i = position; i < position + number; i++) {
        stringBuilder.append((i > position ? " " : "") + line[i]);
        position++;
    }
    return stringBuilder.toString();
}

Не могли бы вы привести пример того, что находится в файле jarg2912.txt?

Bentaye 27.09.2018 10:40

Также можете привести примеры ожидаемого результата, потому что не очень понятно, что вы хотите

Bentaye 27.09.2018 10:45

Я должен вывести индекс слов в документе и указать, сколько раз они появляются

user10376880 27.09.2018 18:06

и что это за индекс? как вы это рассчитываете? что это собой представляет? А что в файле?

Bentaye 28.09.2018 09:33
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
475
0

Другие вопросы по теме