UNPKG

cefr-analyzer

Version:

分析英文文本中各CEFR级别(A1-C2)单词的数量

43 lines (42 loc) 1.51 kB
import { CEFRLevel, ICEFRAnalysisResult, IAnalyzerOptions, IWordWithPos } from '../types'; import { ITextAnalyzer } from './types'; /** * 基于wink-nlp的CEFR文本分析器 * 用于分析文本中各CEFR级别单词的分布 */ export declare class CEFRTextAnalyzer implements ITextAnalyzer { private nlp; /** * 创建分析器实例 */ constructor(); /** * 分析文本中的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>; /** * 将wink-nlp的词性映射到我们的词性类型 * @param winkPos wink-nlp的词性标记 * @returns 映射后的词性,如果无法映射则返回undefined */ private mapPartOfSpeech; } export declare const cefrAnalyzer: CEFRTextAnalyzer;