novel-segment
Version:
Chinese word segmentation 簡繁中文分词模块 以網路小說為樣本
52 lines (51 loc) • 1.44 kB
TypeScript
/**
* 人名优化模块
*
* @author 老雷<leizongmin@gmail.com>
* @version 0.1
*/
import { SubSModuleOptimizer } from '../mod';
import { IDICT, IWord } from '../Segment';
/**
* @todo 支援 XX氏
*/
export declare class ChsNameOptimizer extends SubSModuleOptimizer {
protected _TABLE: IDICT<IWord>;
name: string;
_cache(): void;
isBlackList(nw: string): boolean;
isMergeable2(...words: string[]): boolean;
isMergeable(word: IWord, nextword: IWord): boolean;
/**
* 只有新詞屬於人名或未知詞時才會合併
*/
validUnknownNewWord<W extends string | string[]>(ws: W, cb?: (nw: string, ew: IWord, ws: W) => IWord | boolean | void): true | IWord;
/**
* 姓
*/
isFamilyName(w: string): boolean;
/**
* 双字姓名
*/
isDoubleName(w1: string, w2: string): boolean;
isSingleNameRepeat(w1: string, w2: string): boolean;
/**
* 单字姓名
*/
isSingleName(w1: string): boolean;
/**
* 单字姓名 不重覆
*/
isSingleNameNoRepeat(w1: string): boolean;
isFirstName(w1: string, w2: string): boolean;
/**
* 对可能是人名的单词进行优化
*
* @param {array} words 单词数组
* @return {array}
*/
doOptimize(words: IWord[]): IWord[];
}
export declare const init: typeof ChsNameOptimizer.init;
export declare const type = "optimizer";
export default ChsNameOptimizer;