Sequence labeling library using keras.

anago的Python项目详细描述


#anago

**anago**是一个用于序列标记(ner,pos taging,…)的python库,在keras中实现。

anago可以解决序列标记任务,如命名实体识别(ner)、词性标记(pos taging)、语义角色标记(srl)等。与传统的序列标记求解器不同,anago不需要定义任何依赖于语言的特征。因此,我们可以轻松地将anago用于任何语言。

作为anago的一个示例,下图以英语显示命名实体识别:

[anago演示](https://anago.herokapp.com/)

![英文名称](./docs/images/anago.gif)

<;!--
![英文版](https://github.com/hironsan/anago/blob/docs/docs/images/example.en2.png?原始=真)

![日本内线](https://github.com/hironsan/anago/blob/docs/docs/images/example.ja2.png?raw=true)
-->;在anago中,最简单的模型类型是“sequence”模型。序列模型包括“fit”、“score”、“analyze”和“save”、“load”等基本方法。对于更复杂的功能,您应该使用anago模块,如“models”、“preprocessing”等。

Y U TEST=LOAD U数据和U标签('test.txt')
>>>>;gt>gt;X U列车[0]
['eu'eu'rejects'rejects'德语'call'call'call'to'cococo抵制'cococococococo抵制'英国'lamb'lamb'lamb''''.]
>Y U列车[0]
['b-org'o'b-org'o'b-misc'b'misc'o'o'o'o'o'b-misc'b'misc'o'o'b'misc'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o/>``Python
>;>;进口Anago进口Anago

>>>gt;model=anago.sequence()
>>>gt;model.fit(x列车,y列车,epoch=15)
epoch 1/15
541/541/541[==============================================]-166s 307ms/step-损失:12.9774

=>````>>>

>>
>>用一行评估你的绩效:
br/>用一行评估你的绩效:
>
`` python
>>>model.score(x_test,y_test)
80.20分#f1 micro score
要获得更高的性能,您必须使用经过预训练的单词嵌入。
目前,anago的最佳分数是90.90 f1 micro score。
``````

>或在新数据上标记文本:

``python
>;text='奥巴马总统在白宫演讲。
>;model.analyze(text)
{
“word s”:[
“总统”、
“奥巴马”、
“是”、
“讲话”、
“at”、
“the”、
“white”、
“house”
]、
“实体”:[
{
“beginoffset”:1、
“endoffset”:2、
“得分”:1、
“文本”:“奥巴马”、
“type”:“per”
},
{
“beginoffset”:6,
“endoffset”:8,
“score”:1,
“text”:“white house.”,
“type”:“loc”
}
]
}
`````

下载预先训练的模型,调用“download”函数:

``python
>;>from anago.utils import download

>;>url='https://storage.googleapis.com/chakki/datasets/public/ner/conll2003-en.zip'
>;>weights,params,preprocessor=download(url)
>;model=anago.sequence.load(weights,params,preprocessor)
>;>;gt;模型分数(x_测试,y_u测试)
0.9090262970859986
```


功能支持

anago支持以下功能:


*模型培训
*模型评估
*标记文本
*自定义模型支持
*下载预先培训的模型
*gpu支持
*字符功能
*crf支持
*自定义回调支持

anago正式支持python 3.4-3.6。



`` bash
$git clone https://github.com/hironsan/anago.git
$cd anago
$python setup.py install
````

--数据和词向量采用tsv格式。


>培训数据采用tsv格式。
以下文本是培训数据的示例:


````````
eu b-org
eu b-org
拒绝o
德国b-misc
呼吁o
o
抵制o
英国b-misc
>英国b-misc
>羔羊o
。o


>彼得b-per
>布莱克本i-per
`````````>``````````````````````````````

anago支持预先训练的单词嵌入(如:手套矢量)(http://nlp.tanf.EdU/Studio /手套/).gb>Br/>参考文献
< BR/>此库使用基于
的[基于命名实体识别的神经体系结构的双向LSTM+CRF模型](http://ARXIV.org/ABS/ 1603.01360)
由Lample,纪尧姆等人,NBACL>BR/>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何从java中链接到数组的数组中删除值。jar文件?   性能记录屏幕Java磁盘速度   java Elastic APM Tomcat zip文件或JAR清单丢失   java无法在eclipse控制台上打印结果   java如何在Android中解析json对象?   java如何更改边缘根类型   java根据一些规则替换EditText中的字母   java项目反应器:是否有类似Nosideeffect finally的方法(不是sideeffect方法doFinally)   java连接Cassandra节点和spark   开源Java作业调度器:远程处理、负载平衡、故障切换、依赖DAG?   使用矢量汇编程序(Java)在Spark中设置输入和输出时出现问题   swing如何在Java中为文本字段创建右键单击菜单?   java查找最近的邻居/纬度和经度   java计算完成的数独板的行和列