Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
百度NLP:分词,词性标注,命名实体识别,词重要性
| Date | Stars |
|---|---|
| 2026-07-24 | 4003 |
| 2026-07-25 | 4003 |
| 2026-07-28 | 4003 |
| 2026-07-30 | 4003 |
| 2026-08-06 | 4003 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
## 工具介绍
LAC全称Lexical Analysis of Chinese,是百度自然语言处理部研发的一款联合的词法分析工具,实现中文分词、词性标注、专名识别等功能。该工具具有以下特点与优势:
- **效果好**:通过深度学习模型联合学习分词、词性标注、专名识别任务,词语重要性,整体效果F1值超过0.91,词性标注F1值超过0.94,专名识别F1值超过0.85,效果业内领先。
- **效率高**:精简模型参数,结合Paddle预测库的性能优化,CPU单线程性能达800QPS,效率业内领先。
- **可定制**:实现简单可控的干预机制,精准匹配用户词典对模型进行干预。词典支持长片段形式,使得干预更为精准。
- **调用便捷**:**支持一键安装**,同时提供了Python、Java和C++调用接口与调用示例,实现快速调用和集成。
- **支持移动端**: 定制超轻量级模型,体积仅为2M,主流千元手机单线程性能达200QPS,满足大多数移动端应用的需求,同等体积量级效果业内领先。
## 安装与使用
在此我们主要介绍Python安装与使用,其他语言使用:
- [C++](./c++/README.md)
- [JAVA](./java/README.md)
- [Android](./Android/README.md)
### 安装说明
代码兼容Python2/3
- 全自动安装: `pip install lac`
- 半自动下载:先下载[http://pypi.python.org/pypi/lac/](http://pypi.python.org/pypi/lac/),解压后运行 `python setup.py install`
- 安装完成后可在命令行输入`lac`或`lac --segonly`,`lac --rank`启动服务,进行快速体验。
> 国内网络可使用百度源安装,安装速率更快:`pip install lac -i https://mirror.baidu.com/pypi/simple`
### 功能与使用
#### 分词
- 代码示例:
```python
from LAC import LAC
# 装载分词模型
lac = LAC(mode='seg')
# 单个样本输入,输入为Unicode编码的字符串
text = u"LAC是个优秀的分词工具"
seg_result = lac.run(text)
# 批量样本输入, 输入为多个句子组成的list,平均速率会更快
texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]
seg_result = lac.run(texts)
```
- 输出:
```text
【单样本】:seg_result = [LAC, 是, 个, 优秀, 的, 分词, 工具]
【批量样本】:seg_result = [[LAC, 是, 个, 优秀, 的, 分词, 工具], [百度, 是, 一家, 高科技, 公司]]
```
#### 词性标注与实体识别
- 代码示例:
```python
from LAC import LAC
# 装载LAC模型
lac = LAC(mode='lac')
# 单个样本输入,输入为Unicode编码的字符串
text = u"LAC是个优秀的分词工具"
lac_result = lac.run(text)
# 批量样本输入, 输入为多个句子组成的list,平均速率更快
texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]
lac_result = lac.run(texts)
```
- 输出:
>每个句子的输出其切词结果word_list以及对每个单词的标注tags_list,其格式为(word_list, tags_list)
```text
【单样本】: lac_result = ([百度, 是, 一家, 高科技, 公司], [ORG, v, m, n, n])
【批量样本】:lac_result = [
([百度, 是, 一家, 高科技, 公司], [ORG, v, m, n, n]),
([LAC, 是, 个, 优秀, 的, 分词, 工具], [nz, v, q, a, u, n, n])
]
```
词性和专名类别标签集合如下表,其中我们将最常用的4个专名类别标记为大写的形式:
| 标签 | 含义 | 标签 | 含义 | 标签 | 含义 | 标签 | 含义 |
| ---- | -------- | ---- | -------- | ---- | -------- | ---- | -------- |
| n | 普通名词 | f | 方位名词 | s | 处所名词 | nw | 作品名 |
| nz | 其他专名 | v | 普通动词 | vd | 动副词 | vn | 名动词 |
| a | 形容词 | ad | 副形词 | an | 名形词 | d | 副词 |
| m | 数量词 | q | 量词 | r | 代词 | p | 介词 |
| c | 连词 | u | 助词 | xc | 其他虚词 | w | 标点符号 |
| PER | 人名 | LOC | 地名 | ORG | 机构名 | TIME | 时间 |
#### 词语重要性
- 代码示例:
```python
from LAC import LAC
# 装载词语重要性模型
lac = LAC(mode='rank')
# 单个样本输入,输入为Unicode编码的字符串
text = u"LAC是个优秀的分词工具"
rank_result = lac.run(text)
# 批量样本输入, 输入为多个句子组成的list,平均速率会更快
texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]
rank_result = lac.run(texts)
```
- 输出:
```text
【单样本】:rank_result = [['LAC', '是', '个', '优秀', '的', '分词', '工具'],
[nz, v, q, a, u, n, n],[3, 0, 0, 2, 0, 3, 1]]
【批量样本】:rank_result = [
(['LAC', '是', '个', '优秀', '的', '分词', '工具'],
[nz, v, q, a, u, n, n], [3, 0, 0, 2, 0, 3, 1]),
(['百度', '是', '一家', '高科技', '公司'],
[ORG, v, m, n, n], [3, 0, 2, 3, 1])
]
```
词语重要性各类别标签集合如下表,我们使用4-Level梯度进行分类:
| 标签 | 含义 | 常见于词性|
| ---- | -------- | ---- |
| 0 | query中表述的冗余词 | p, w, xc ... |
| 1 | query中限定较弱的词 | r, c, u ... |
| 2 | query中强限定的词 | n, s, v ... |
| 3 | query中的核心词 | nz, nw, LOC ... |
#### 定制化功能
在模型输出的基础上,LAC还支持用户配置定制化的切分结果和专名类型输出。当模型预测匹配到词典的中的item时,会用定制化的结果替代原有结果。为了实现更加精确的匹配,我们支持以由多个单词组成的长片段作为一个item。
我们通过装载词典文件的形式实现该功能,词典文件每行表示一个定制化的item,由一个单词或多个连续的单词组成,每个单词后使用'/'表示标签,如果没有'/'标签则会使用模型默认的标签。每个item单词数越多,干预效果会越精准。
- 词典文件示例
> 这里仅作为示例,展现各种需求情况下的结果。后续还将开放以通配符配置词典的模式,敬请期待。
```text
春天/SEASON
花/n 开/v
秋天的风
落 阳
```
- 代码示例
```python
from LAC import LAC
lac = LAC()
# 装载干预词典, sep参数表示词典文件采用的分隔符,为None时默认使用空格或制表符'\t'
lac.load_customization('custom.txt', sep=None)
# 干预后结果
custom_result = lac.run(u"春天的花开秋天的风以及冬天的落阳")
```
- 以输入“春天的花开秋天的风以及冬天的落阳”为例,原本输出结果为:
```Excerpt of 5,926 characters
Read on GitHub28
19
13
2
2
1
卖萌小猴砸 · Shanghai Jiao Tong University · China
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:1369759d15076f86, topic:named-entity-recognition