Skip to content

Commit fa7c84a

Browse files
committed
refactor(code-search): replace Similarity with TokenizedSimilarity in JaccardSimilarity
The Similarity class has been renamed to TokenizedSimilarity and the JaccardSimilarity class now extends from this new class. Additionally, a new Similarity interface has been introduced.
1 parent 220e40f commit fa7c84a

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/code-search/similar/algorithm/JaccardSimilarity.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { StopwordsBasedTokenizer } from '../../tokenizer/StopwordsBasedTokenizer';
2-
import { Similarity } from "./Similarity";
1+
import { TokenizedSimilarity } from "./TokenizedSimilarity";
32

43
/**
54
* Calculates the similarity score between a given path and a set of strings.
@@ -8,7 +7,7 @@ import { Similarity } from "./Similarity";
87
* @param sets The set of strings to compare with the path.
98
* @returns A number representing the similarity score between the path and the set of strings.
109
*/
11-
export class JaccardSimilarity extends Similarity {
10+
export class JaccardSimilarity extends TokenizedSimilarity {
1211
/**
1312
* The `tokenLevelJaccardSimilarity` method calculates the Jaccard similarity between a query string and an array of string
1413
* arrays (chunks). The Jaccard similarity is a measure of the similarity between two sets and is defined as the size of

src/code-search/similar/algorithm/Similarity.ts src/code-search/similar/algorithm/TokenizedSimilarity.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { StopwordsBasedTokenizer } from "../../tokenizer/StopwordsBasedTokenizer";
22

3-
export abstract class Similarity {
3+
export interface Similarity {
4+
computeInputSimilarity(query: string, chunks: Array<Array<string>>): Array<Array<number>>;
5+
}
6+
7+
export abstract class TokenizedSimilarity implements Similarity {
48
tokenize(input: string): Set<string> {
59
return StopwordsBasedTokenizer.instance().tokenize(input);
610
}

0 commit comments

Comments
 (0)