Code Duplication    Length = 11-11 lines in 2 locations

annif/backend/llm.py 1 location

@@ 119-129 (lines=11) @@
116
            self._index, self.datadir, self.INDEX_FILE, method=joblib.dump
117
        )
118
119
    def _create_index(self) -> dict[str, set[str]]:
120
        index = defaultdict(set)
121
        skos_vocab = self.project.vocab.skos
122
        for concept in skos_vocab.concepts:
123
            uri = str(concept)
124
            labels_by_lang = skos_vocab.get_concept_labels(concept, self.label_types)
125
            for label in labels_by_lang[self.params["language"]]:
126
                # label = self._normalize_label(label)
127
                index[label].add(uri)
128
        index.pop("", None)  # Remove possible empty string entry
129
        return dict(index)
130
131
    def _suggest(self, text: str, params: dict[str, Any]) -> SuggestionBatch:
132
        model = params["model"]

annif/backend/yake.py 1 location

@@ 89-99 (lines=11) @@
86
            self._index, self.datadir, self.INDEX_FILE, method=joblib.dump
87
        )
88
89
    def _create_index(self) -> dict[str, set[str]]:
90
        index = defaultdict(set)
91
        skos_vocab = self.project.vocab.skos
92
        for concept in skos_vocab.concepts:
93
            uri = str(concept)
94
            labels_by_lang = skos_vocab.get_concept_labels(concept, self.label_types)
95
            for label in labels_by_lang[self.params["language"]]:
96
                label = self._normalize_label(label)
97
                index[label].add(uri)
98
        index.pop("", None)  # Remove possible empty string entry
99
        return dict(index)
100
101
    def _normalize_label(self, label: str) -> str:
102
        label = str(label)