J'ai créé un code que vous pouvez apprécier de l'exploration de texte en écrivant un programme Java simple comme celui ci-dessous, donc je pense le publier bientôt en open source. Nous ciblons les personnes qui souhaitent faire du traitement du langage naturel et qui souhaitent faire du text mining.
Le service Web de Yahoo Japan est utilisé comme moteur d'analyse morphologique. Produit des mots-clés caractéristiques dans le document en utilisant les résultats de l'analyse morphologique
Traitement et saisie
List<Document> docs = new ArrayList<Document>();
{
docs.add(createDocument("Toyota", "Je fabrique une voiture hybride."));
docs.add(createDocument("Toyota", "Nous vendons des voitures hybrides."));
docs.add(createDocument("Toyota", "Je fabrique une voiture."));
docs.add(createDocument("Toyota", "Je vends des voitures."));
docs.add(createDocument("Nissan", "Je fabrique un EV."));
docs.add(createDocument("Nissan", "Je vends EV."));
docs.add(createDocument("Nissan", "Je vends des voitures."));
docs.add(createDocument("Nissan", "Nous sommes affiliés à Renault."));
docs.add(createDocument("Nissan", "Je vends des voitures légères."));
docs.add(createDocument("Honda", "Je fabrique une voiture."));
docs.add(createDocument("Honda", "Je vends des voitures."));
docs.add(createDocument("Honda", "Je fabrique un vélo."));
docs.add(createDocument("Honda", "Je vends des vélos."));
docs.add(createDocument("Honda", "Je vends des voitures légères."));
docs.add(createDocument("Honda", "Je fabrique une voiture légère."));
}
Annotator annotator = new YJpMaAnnotator();{
//Traitement de l'analyse morphologique
annotator.annotate(docs);
}
Index index = new SimpleDocumentIndex();{
//Processus d'indexation des mots-clés
index.addDocuments(docs);
}
{
//Acquisition de mots-clés à forte cooccurrence
List<Keyword> kwds = index.getKeywords("nom", "item=Nissan");
System.out.println("Keywords(nom) for Nissan");
for (Keyword kwd : kwds) {
System.out.println(String.format("%.1f,%s", kwd.getCorrelation(), kwd.getLex()));
}
}
{
//Acquisition de mots-clés à forte cooccurrence
List<Keyword> kwds = index.getKeywords("nom", "item=Toyota");
System.out.println("Keywords(nom) for Toyota");
for (Keyword kwd : kwds) {
System.out.println(String.format("%.1f,%s", kwd.getCorrelation(), kwd.getLex()));
}
}
{
//Acquisition de mots-clés à forte cooccurrence
List<Keyword> kwds = index.getKeywords("nom", "item=Honda");
System.out.println("Keywords(nom) for Honda");
for (Keyword kwd : kwds) {
System.out.println(String.format("%.1f,%s", kwd.getCorrelation(), kwd.getLex()));
}
}
}
Sortie: affiche les mots-clés caractéristiques de Nissan par ordre décroissant de coefficient.
Keywords for Nissan
3.0,EV
3.0,Renault
3.0,Alliance
1.0,Voiture légère
0.6,Voiture
Cliquez ici pour Toyota et Honda
Keywords(nom) for Toyota
3.8,hybride
3.8,voiture
1.5,Voiture
Keywords(nom) for Honda
2.5,bicyclette
1.7,Voiture légère
1.0,Voiture
Recommended Posts