UNPKG

1.26 kBTypeScriptView Raw
1import { SubSModuleOptimizer, ISubOptimizerCreate } from '../mod';
2import { Segment, IWord, IDICT } from '../Segment';
3import IPOSTAG from '../POSTAG';
4/**
5 * 词典优化模块
6 *
7 * @author 老雷<leizongmin@gmail.com>
8 */
9export declare class DictOptimizer extends SubSModuleOptimizer {
10 protected _TABLE: IDICT<IWord>;
11 name: string;
12 _cache(): void;
13 isMergeable(w1: IWord, w2: IWord, { POSTAG, TABLE, nw, i, nw_cache, nw_cache_exists, }: {
14 POSTAG: typeof IPOSTAG;
15 TABLE: IDICT;
16 nw: string;
17 i: number;
18 nw_cache: IWord;
19 nw_cache_exists: boolean;
20 }): boolean;
21 _getWordCache(nw: string, nw_cache: IWord, nw_cache_exists: boolean): {
22 nw: string;
23 nw_cache: Segment.IWord;
24 nw_cache_exists: boolean;
25 };
26 /**
27 * 词典优化
28 *
29 * @param {array} words 单词数组
30 * @param {bool} is_not_first 是否为管理器调用的
31 * @return {array}
32 */
33 doOptimize(words: IWord[], is_not_first: boolean): IWord[];
34 /**
35 * 數詞 + 量詞
36 */
37 _mergeWordHowManyProp(p: number, p2: number, p3?: number): number;
38}
39export declare const init: ISubOptimizerCreate<DictOptimizer, SubSModuleOptimizer>;
40export default DictOptimizer;