:imagesdir: images

== 中文分词、词性标注、命名实体

=== lexer架构

分词、词性、命名实体这三个任务一起被称为 `词法分析` ，mynlp中使用Lexer接口这个功能进行定义。

Lexer负责对有限短的文本（一句话、一个段落）进行词法分析。

nlp中有各种各样的分词算法，mynlp并没有为每个算法定义一个分词器类，而是使用Pipeline方式进行组装。

.Pipeline架构图
image::lexer.png[width=600]

.接口描述
- WordSplitAlgorithm: 基础切词算法，词典、感知机、CRF等等
- WordpathProcessor: 对Wordpath进行调整或计算词性等操作
- BestPathAlgorithm: 从Wordnet中选择最优路径
- WordTermCollector: 分词收集器，可以进行索引分词、子词再切分等操作 ---

.WordSplitAlgorithm接口以及实现类
image::WordSplitAlgorithm.png[width=600]

.WordpathProcessor接口以及实现类
image::WordpathProcessor.png[width=700]

=== PipelineBuilder

=== CharNormalize

=== WordSplitAlgorithm

==== CORE

==== 感知机

==== ATOM

=== WordpathProcessor

==== 人名识别

==== NER

==== 分词纠错

==== 自定义词典

=== WordTermCollector

=== 扩展插件

=== 自定义分词粒度插件示例