cefr-analyzer
Version:
分析英文文本中各CEFR级别(A1-C2)单词的数量
52 lines (51 loc) • 1.49 kB
TypeScript
import { CEFRLevel, ICEFRAnalysisResult, IAnalyzerOptions, IWordWithPos } from '../types';
/**
* 文本分析器接口
*/
export interface ITextAnalyzer {
/**
* 分析文本中的CEFR级别单词分布
* @param text 要分析的文本
* @param options 分析选项
* @returns 分析结果
*/
analyze(text: string, options?: IAnalyzerOptions): ICEFRAnalysisResult;
/**
* 获取文本中指定CEFR级别的单词列表
* @param text 要分析的文本
* @param level CEFR级别
* @param options 分析选项
* @returns 指定级别的单词列表(包含词性)
*/
getWordsAtLevel(text: string, level: CEFRLevel, options?: IAnalyzerOptions): IWordWithPos[];
/**
* 获取文本的CEFR级别分布统计
* @param text 要分析的文本
* @param options 分析选项
* @returns 各级别单词分布的百分比统计
*/
getLevelDistribution(text: string, options?: IAnalyzerOptions): Record<CEFRLevel, number>;
}
/**
* 分析器工厂接口
*/
export interface IAnalyzerFactory {
/**
* 创建文本分析器实例
* @returns 文本分析器实例
*/
createAnalyzer(): ITextAnalyzer;
}
/**
* 单词处理结果
*/
export interface IWordProcessingResult {
/** 原始单词 */
original: string;
/** 标准化后的单词 */
normalized: string;
/** CEFR级别 */
cefrLevel?: CEFRLevel;
/** 词性 */
partOfSpeech?: string;
}