ts-content-based-recommender
Version:
A TypeScript-based content-based recommender with multilingual support (Japanese & English). Forked from content-based-recommender.
46 lines • 1.73 kB
JavaScript
import { EnglishTokenizer } from '../tokenizers/EnglishTokenizer.js';
import { JapaneseTokenizer } from '../tokenizers/JapaneseTokenizer.js';
import { EnglishTokenFilter } from '../filters/EnglishTokenFilter.js';
import { JapaneseTokenFilter } from '../filters/JapaneseTokenFilter.js';
/**
* 処理パイプラインファクトリークラス
* 言語に応じてトークナイザーとフィルターを作成し、統一されたパイプラインを提供します
*/
export class ProcessingPipelineFactory {
/**
* 言語に応じたトークナイザーを作成する
* @param language 対象言語
* @returns トークナイザーインスタンス
*/
static createTokenizer(language) {
switch (language) {
case 'en':
return new EnglishTokenizer();
case 'ja':
return new JapaneseTokenizer();
default:
throw new Error(`Unsupported language: ${language}`);
}
}
/**
* 言語に応じた処理パイプラインを作成する
* @param language 対象言語 ('en' | 'ja')
* @param filterOptions フィルターオプション
* @returns 処理パイプライン
*/
static createPipeline(language = 'en', filterOptions = {}) {
if (language === 'ja') {
return {
tokenizer: new JapaneseTokenizer(),
filter: new JapaneseTokenFilter(filterOptions)
};
}
else {
return {
tokenizer: new EnglishTokenizer(),
filter: new EnglishTokenFilter(filterOptions)
};
}
}
}
//# sourceMappingURL=ProcessingPipelineFactory.js.map