Closed Joeran closed 10 years ago
zu 2.
origCounter = new DocearTermCounter(matchVersion, stream);
stream = origCounter;
if (stopwordRemoval) {
stream = new StopFilter(matchVersion, stream, stopwords, true);
stream = new StopFilter(matchVersion, stream, loadStopwords(getClass().getResourceAsStream("/germanStopwords.txt")), true);
stream = new StopFilter(matchVersion, stream, loadStopwords(getClass().getResourceAsStream("/stopwords.txt")), true);
}
if (stemming) {
// stream = new StemmingFilter(matchVersion, stream, true);
}
stream = new DocearFilter(matchVersion, stream, true);
reducedCounter = new DocearTermCounter(matchVersion, stream);
stream = reducedCounter;
d.h. befor der "reduced counter" berechnet wird, läuft der DocearFilter durch und verändert das model.
if(ignoreCase) {
term = term.toLowerCase();
}
// number only filter
if(numberOnlyPattern.matcher(term).find()) {
return false;
}
private final Pattern numberOnlyPattern = Pattern.compile("^[\\d\\.,]+$");
Leider lässt sich im Nachhinein nicht sagen, was genau gefiltert wurde, aber es wird jedenfalls gefiltert
zu 1.: ich war mir sicher, dass wir die diskussion schon mal hatten, wusste aber nicht mehr, wie sie ausgegangen war - ich konnte im code nix finden, aber eben hatte ich die zündende idee: Du hast in einigen deiner Maps "Mist" drin:
z.B.:
literature_and_annotations.mm:<node TEXT="In these s ystems, users explicitly express t heir preferences by giving either [...]
für die empfehlung mit user_models.id=178687 ist stop_word_removal=0 und das user model sieht wie folgt aus
folgendes ist dabei merkwürdig
unabhängig davon ist merkwürdig, dass referenzen und wörter genommen werden, obwohl node_info_source=6. in dem fall hätten eigentlich nur wörter genommen werden sollen (siehe #85 ). Liegen vielleicht an #85 die ganzen probleme?