[JAVA] Spécialiste de la sécurité de l'automne 2017 J'ai vérifié la fréquence des mots qui apparaissaient le matin 2

Au début

Sur la base de j'ai essayé le traitement OCR d'un fichier PDF avec Java, j'ai analysé les mots fréquemment utilisés du spécialiste de la sécurité AM2.

Page de référence

Source d'analyse

JapaneseAnalyser.java


package jpn;

import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.util.stream.Collectors;

import org.atilika.kuromoji.Token;
import org.atilika.kuromoji.Tokenizer;



public class JapaneseAnalyser {
    public static void main(String[] args) throws Exception{
    	//parse_1.Le résultat de la lecture OCR du papier de questions de Security Specialist AM 2 est stocké dans txt
        String input = Files.lines(Paths.get("parse_1.txt"), Charset.forName("MS932"))
        .reduce((s,v)->s+v.replaceAll("\\r\\n", "").trim()).get();
        analysis(input);
    }	
    public static void analysis(String s){
        Tokenizer tokenizer = Tokenizer.builder().build();
        List<Token> tokens = tokenizer.tokenize(s);
        tokens
            .stream()
            .filter(a ->(a.getPartOfSpeech().indexOf("nom")>=0))
            .map(e -> e.getSurfaceForm())
            .sorted()
            .collect(
    				Collectors.groupingBy(b->b,
    						Collectors.summingInt(b->1))
    				)
            .forEach((m1,m2)->System.out.println(String.format("Fréquence d'apparition%d Mot apparaissant: %s",m2,m1)));
    }
}

Résultats d'analyse

Je l'ai publié sur mon blog

Impressions

Recommended Posts

Spécialiste de la sécurité de l'automne 2017 J'ai vérifié la fréquence des mots qui apparaissaient le matin 2
Un programme qui compte le nombre de mots dans une liste
J'ai vérifié la partie de java.net.URL # getPath
J'ai vérifié le nombre de taxis avec Ruby
Quand j'ai pensé à l'erreur 402 qui est apparue soudainement au milieu de l'introduction de PAY.jp, il y avait un endroit inattendu
Compter la fréquence d'apparition des mots dans une phrase par traitement de flux (Apache Apex)
Exécution asynchrone des requêtes examinée dans Spring Boot 1.5.9
Comptage de la fréquence d'apparition des mots dans les phrases par traitement de flux (Apache Apex) Partie 2 Codage
J'ai touché le contrôleur de périphérique que j'ai senti dans la boîte noire