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/>
**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/>