Kontaktní osoba:
Ing. Jiří Pinkas
Mobil: +420 774 912 047

Související novinky


publikováno: 28.5.2013

Na mých webech Java a SQL školení jsem přidal u všech novinek a doporučené literatury odkazy na související novinky:

Související novinky

Tyto novinky se vypočítávají dynamicky na základě několika kritérií, z nichž jedno je podobnost textů a klíčových slov příslušných novinek. K výpočtu jsem použil níže uvedený algoritmus, který vrací číslo v intervalu 0 až 1, přičemž nula znamená, že dva texty spolu vůbec nesouvisí a jednička znamená, že jsou na 100% shodné:

public class DocumentVector {

private Map<String, Integer> wordMap = new HashMap<String, Integer>();
private void incCount(String word) {
Integer oldCount = wordMap.get(word);
wordMap.put(word, oldCount == null ? 1 : oldCount + 1);
}
private double getCosineSimilarityWith(DocumentVector otherVector) {
double innerProduct = 0;
for (String w : this.wordMap.keySet()) {
innerProduct += this.getCount(w) * otherVector.getCount(w);
}
return innerProduct / (this.getNorm() * otherVector.getNorm());
}
private double getNorm() {
double sum = 0;
for (Integer count : wordMap.values()) {
sum += count * count;
}
return Math.sqrt(sum);
}
private int getCount(String word) {
return wordMap.containsKey(word) ? wordMap.get(word) : 0;
}
public static double calcSimilarity(String doc1, String doc2) { DocumentVector v1 = new DocumentVector();
for (String w : doc1.split("[^a-zA-Z]+")) {
v1.incCount(w);
} DocumentVector v2 = new DocumentVector();
for (String w : doc2.split("[^a-zA-Z]+")) {
v2.incCount(w);
} return v1.getCosineSimilarityWith(v2);
}
public static void main(String[] args) {
String doc1 = "maven, dependency, plugin, shade";
String doc2 = "kurz maven, školení maven, apache maven"; System.out.println("Similarity = " + calcSimilarity(doc1, doc2));
} }

A pak že je programování jenom o tom dostat data z / do databáze ... NENÍ!!! :)



comments powered by Disqus


Reference

" Co dodat? Byl to super kurz. Pěkné pochopitelné příklady k vybrané problematice. Rychlost školitele optimální, vše se dalo pěkně stíhat. Pokud účastník nevěděl nebo udělal chybu a nevěděl, tak školitel " podrobnosti ...

Michal

" S kurzem jsem byl maximálně spokojen. Na přednášejícím bylo vidět, že ví o čem mluví a dokázal zaujmout, i v případě neporozumění ochotně pomohl a danému člověku problém osvětlil. Rozhodně " podrobnosti ...

Josef

Embedit

" Java kurz byl pro mě velmi přínosný. Jiří je skvělý školitel, který dělá přesně to, co ho baví a na přístupu to bylo každý den velmi znát. Školení bych doporučil " podrobnosti ...

Filip


Novinky

OpenSlava 2017

Konference OpenSlava se bude konat v Bratislavě 5 - 6. října 2017 více ...

Dvoudenní školení Docker

Školení Docker povyrostlo na dvoudenní školení. více ...

Nové datum vydání Java 9: 21.9.2017

Mark Reinhold aktualizoval datum GA (General Availability) Java 9 na 21.9.2017. více ...

Juergen Hoeller v Brně (jeden z autorů Spring frameworku)! 15.3.2017

15.3.2017, 18:00, Brno, Smetanova 19. Nutná rezervace místa! více ...

Bilance Java školení 2016

Co se mi (ne)povedlo v roce 2016 a plány na rok 2017 více ...

Oracle se prý v roce 2017 zaměří na vynucení Java licencí a pokutování zákazníků

Jak nedostat od Oracle pokutu za komerční použití Javy? více ...