- Notas de Versão
- Antes de começar
- Introdução
- Projetos
- Conjuntos de dados
- Pacotes de ML
- Pipelines
- Habilidades de ML
- Logs de ML
- Document Understanding no AI Center
- Licenciamento
- Como fazer
- Guia básico de solução de problemas
Reconhecimento da entidade nomeada personalizada
Pacotes prontos para uso > UiPath Language Analysis > CustomNamedEntityRecognition
Esse modelo permite que você traga seu próprio conjunto de dados marcados com as entidades que você deseja extrair. Os conjuntos de dados de treinamento e avaliação precisam estar no formato CoNLL ou JSON. Os dados também podem ser exportados da ferramenta AI Center Data Labeling ou do Label Studio. Esse pacote de ML deve ser retreinado; se for implantado sem treinamento primeiro, a implantação falhará, com um erro informando que o modelo não foi treinado.
Para obter um exemplo sobre como usar esse modelo, veja Extração de produtos químicos do artigo de pesquisa por categoria para um caso de uso.
Esse modelo multilíngue é compatível com os idiomas relacionados abaixo. Esses idiomas foram escolhidos porque são os 100 principais idiomas com as maiores Wikipedias:
- Africâner
- Albanês
- Árabe
- Aragonês
- Armênio
- Asturiano
- Azeri
- Basquir
- Basco
- Bávaro
- Bielorrusso
- Bengalês
- Bishnupriya Manipuri
- Bósnio
- Bretão
- Búlgaro
- Birmanês
- Catalão
- Cebuano
- Checheno
- Chinês (Simplificado)
- Chinês (Tradicional)
- Chuvache
- Croata
- Checo
- Dinamarquês
- Holandês
- English
- Estoniano
- Finlandês
- Francês
- Galego
- Georgiano
- Alemão
- Grego
- Gujarati
- Haitiano
- Hebraico
- Hindi
- Húngaro
- Islandês
- Ido
- Indonésio
- Irlandês
- Italiano
- Japonês
- Javanês
- Canarês
- Cazaque
- Quirguiz
- Coreano
- Latim
- Letão
- Lituano
- Lombardo
- Baixo saxão
- Luxemburguês
- Macedônio
- Malgaxe
- Malaio
- Malaiala
- Marata
- Minangkabau
- Mongol
- Nepalês
- Neuari
- Norueguês (bokmal)
- Norueguês (nynorsk)
- Occitano
- Persa (farsi)
- Piemontês
- Polonês
- Português
- Punjabi
- Romeno
- Russo
- Ânglico escocês
- Sérvio
- Servo-croata
- Siciliano
- Eslovaco
- Esloveno
- Azeri do sul
- Espanhol
- Sundanês
- Suaíli
- Sueco
- Tagalog
- Tajique
- Tamil
- Tártaro
- Telugu
- Tailandês
- Turco
- Ucraniano
- Urdu
- Usbeque
- Vietnamita
- Volapuque
- Waray-Waray
- Galês
- Frísico ocidental
- Punjabi ocidental
- Iorubá
Lista de entidades nomeadas no texto. Cada elemento na lista tem os seguintes itens na previsão:
- Texto que foi reconhecido
- Posições inicial e final do texto, considerando os caracteres
- Tipo da entidade nomeada
- Confidence
{ "response" : [{ "value": "George Washington", "start_index": 0, "end_index": 17, "entity": "PER", "confidence": 0.96469810605049133 }] }
{ "response" : [{ "value": "George Washington", "start_index": 0, "end_index": 17, "entity": "PER", "confidence": 0.96469810605049133 }] }
Todos os três tipos de pipelines (Treinamento completo, Treinamento e Avaliação) são suportados por esse pacote. Para a maioria dos casos de uso, não é necessário especificar parâmetros: o modelo usa técnicas avançadas para encontrar um modelo de bom desempenho. Nos treinamentos subsequentes após o primeiro, o modelo usa aprendizado incremental (ou seja, a versão treinada anteriormente será usada no final de uma execução de treinamento).
É possível usar as APIs do Label Studio para gravação posterior dos dados e previsões com pouca confiança. Então, seus dados podem ser rotulados novamente e exportados no formato CoNLL.
Para obter mais informações sobre como usar o Label Studio, veja Introdução ao Label Studio. Além disso, é possível baixar a atividade do UiPath Studio para integração do Label Studio aqui.
É possível usar GPU ou CPU para treinamento. Recomendamos usar a GPU, pois ela é mais rápida.
Esse modelo é compatível com a leitura de todos os arquivos em um determinado diretório durante todas as execuções de pipeline (treinamento, avaliação e pipeline completo).
Set Date
, use SetDate
.
Formato do arquivo CoNLL
.conll
e/ou .txt
usando o formato de arquivo CoNLL no diretório fornecido.
O formato do arquivo CoNLL representa um corpo de texto com uma palavra por linha, com cada palavra contendo 10 colunas separadas por guias com informações sobre a palavra (por exemplo, superfície e sintaxe).
O reconhecimento treinávelo da entidade nomeada é compatível com dois formatos do CoNLL:
- Com apenas duas colunas no texto.
- Com quatro colunas no texto.
conll
ou label_studio
.
label_studio
é o mesmo que o formato CoNLL
, com a separação entre dois pontos de dados sendo uma nova linha vazia. Para compatibilidade de separação entre dois pontos de dados com -DOCSTART- -X- O O
, adicione dataset.input_format como uma variável de ambiente e defina seu valor como conll
.
Para obter mais informações, veja os exemplos abaixo.
Japan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. O
Japan NNP B-NP B-LOC
began VBD B-VP O
the DT B-NP O
defence NN I-NP O
of IN B-PP O
their PRP$ B-NP O
Asian JJ I-NP B-MISC
Cup NNP I-NP I-MISC
title NN I-NP O
with IN B-PP O
a DT B-NP O
lucky JJ I-NP O
2-1 CD I-NP O
win VBP B-VP O
against IN B-PP O
Syria NNP B-NP B-LOC
in IN B-PP O
a DT B-NP O
Group NNP I-NP O
C NNP I-NP O
championship NN I-NP O
match NN I-NP O
on IN B-PP O
Friday NNP B-NP O
. . O OFounding O
member O
Kojima B-PER
Minoru I-PER
played O
guitar O
on O
Good B-MISC
Day I-MISC
, O
and O
Wardanceis I-MISC
cover O
of O
a O
song O
by O
UK I-LOC
post O
punk O
industrial O
band O
Killing B-ORG
Joke I-ORG
. O
Formato de arquivo JSON
.json
usando o formato JSON.
Verifique o exemplo a seguir e as variáveis de ambiente para obter um exemplo de formato de arquivo JSON.
{
"text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
"entities": [{
"entity": "TRIVIAL",
"value": "Serotonin",
"start_index": 0,
"end_index": 9
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 81,
"end_index": 92
}, {
"entity": "TRIVIAL",
"value": "serotonin",
"start_index": 409,
"end_index": 418
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 625,
"end_index": 636
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 752,
"end_index": 763
}, {
"entity": "FAMILY",
"value": "nucleotide",
"start_index": 1800,
"end_index": 1810
}]
}
{
"text": "Serotonin receptor 2A ( HTR2A ) gene polymorphism predicts treatment response to venlafaxine XR in generalized anxiety disorder . anxiety disorder ( GAD ) is a chronic psychiatric disorder with significant morbidity and mortality .\)
Antidepressant drugs are the preferred choice for treatment ; however , treatment response is often variable .\)
Several studies in major depression have implicated a role of the serotonin receptor gene ( HTR2A ) in treatment response to antidepressants .\)
We tested the hypothesis that the genetic polymorphism rs7997012 in the HTR2A gene predicts treatment outcome in GAD patients treated with venlafaxine XR . Treatment response was assessed in 156 patients that participated in a 6-month open - label clinical trial of venlafaxine XR for GAD . Primary analysis included Hamilton Anxiety Scale ( HAM-A ) reduction at 6 months .\)
Secondary outcome measure was the Clinical Global Impression of Improvement ( CGI-I ) score at 6 months .\)
Genotype and allele frequencies were compared between groups using χ(2) contingency analysis .\)
The frequency of the G-allele differed significantly between responders ( 70% ) and nonresponders ( 56% ) at 6 months ( P=0.05 ) using the HAM-A scale as outcome measure .\)
Similarly , using the CGI-I as outcome , the G-allele was significantly associated with improvement ( P=0.01 ) .\)
Assuming a dominant effect of the G-allele , improvement differed significantly between groups ( P=0.001 , odds ratio=4.72 ) .\)
Similar trends were observed for remission although not statistically significant .\)
We show for the first time a pharmacogenetic effect of the HTR2A rs7997012 variant in anxiety disorders , suggesting that pharmacogenetic effects cross diagnostic categories .\)
Our data document that individuals with the HTR2A rs7997012 single nucleotide polymorphism G-allele have better treatment outcome over time .\)
Future studies with larger sample sizes are necessary to further characterize this effect in treatment response to antidepressants in GAD .",
"entities": [{
"entity": "TRIVIAL",
"value": "Serotonin",
"start_index": 0,
"end_index": 9
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 81,
"end_index": 92
}, {
"entity": "TRIVIAL",
"value": "serotonin",
"start_index": 409,
"end_index": 418
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 625,
"end_index": 636
}, {
"entity": "TRIVIAL",
"value": "venlafaxine",
"start_index": 752,
"end_index": 763
}, {
"entity": "FAMILY",
"value": "nucleotide",
"start_index": 1800,
"end_index": 1810
}]
}
As variáveis de ambiente para o exemplo anterior seriam as seguintes:
- dataset.input_format:
json
- dataset.input_column_name:
text
- dataset.output_column_name:
entities
formato de arquivo ai_center
.json
.
Verifique a amostra e as variáveis de ambiente a seguir para obter um exemplo de formato de arquivo ai_center.
{
"annotations": {
"intent": {
"to_name": "text",
"choices": [
"TransactionIssue",
"LoanIssue"
]
},
"sentiment": {
"to_name": "text",
"choices": [
"Very Positive"
]
},
"ner": {
"to_name": "text",
"labels": [
{
"start_index": 37,
"end_index": 47,
"entity": "Stakeholder",
"value": " Citi Bank"
},
{
"start_index": 51,
"end_index": 61,
"entity": "Date",
"value": "07/19/2018"
},
{
"start_index": 114,
"end_index": 118,
"entity": "Amount",
"value": "$500"
},
{
"start_index": 288,
"end_index": 293,
"entity": "Stakeholder",
"value": " Citi"
}
]
}
},
"data": {
"cc": "",
"to": "xyz@abc.com",
"date": "1/29/2020 12:39:01 PM",
"from": "abc@xyz.com",
"text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."
{
"annotations": {
"intent": {
"to_name": "text",
"choices": [
"TransactionIssue",
"LoanIssue"
]
},
"sentiment": {
"to_name": "text",
"choices": [
"Very Positive"
]
},
"ner": {
"to_name": "text",
"labels": [
{
"start_index": 37,
"end_index": 47,
"entity": "Stakeholder",
"value": " Citi Bank"
},
{
"start_index": 51,
"end_index": 61,
"entity": "Date",
"value": "07/19/2018"
},
{
"start_index": 114,
"end_index": 118,
"entity": "Amount",
"value": "$500"
},
{
"start_index": 288,
"end_index": 293,
"entity": "Stakeholder",
"value": " Citi"
}
]
}
},
"data": {
"cc": "",
"to": "xyz@abc.com",
"date": "1/29/2020 12:39:01 PM",
"from": "abc@xyz.com",
"text": "I opened my new checking account with Citi Bank in 07/19/2018 and met the requirements for the promotion offer of $500 . It has been more than 6 months and I have not received any bonus. I called the customer service several times in the past few months but no any response. I request the Citi honor its promotion offer as advertised."
Para aproveitar o JSON de amostra anterior, as variáveis de ambiente precisam ser definidas da seguinte maneira:
- dataset.input_format para
ai_center
- dataset.input_column_name para
data.text
- dataset.output_column_name para
annotations.ner.labels
- dataset.input_column_name
- O nome da coluna que contém o texto.
- O valor padrão é
data.text
. - Essa variável só é necessária se o formato do arquivo de entrada for
ai_center
ouJSON
.
- dataset.target_column_name
- O nome da coluna que contém rótulos.
- O valor padrão é
annotations.ner.labels
. - Essa variável só é necessária se o formato do arquivo de entrada for
ai_center
ouJSON
.
- modelo.épocas
- O número de épocas.
- O valor padrão é
5
.
- dataset.input_format
- O formato de entrada dos dados de treinamento.
- O valor padrão é
ai_center
. - Os valores suportados são:
ai_center
,conll
,label_studio
oujson
.Observação: o formatolabel_studio
é o mesmo que o formatoCoNLL
, com a separação entre dois pontos de dados sendo uma nova linha vazia. Para compatibilidade de separação entre dois pontos de dados com-DOCSTART- -X- O O
, adicione dataset.input_format como uma variável de ambiente e defina seu valor comoconll
.
O relatório de avaliação é um arquivo PDF contendo as seguintes informações em um formato legível por humanos:
- Relatório de avaliação contendo o seguinte:
- Relatório da classificação
- Matriz de confusão
- Informação de recall de precisão
- Arquivos JSON separados correspondentes a cada seção do arquivo PDF do Relatório de Avaliação . Esses arquivos JSON são legíveis por máquina e você pode usá-los para canalizar a avaliação do modelo para o Insights usando o fluxo de trabalho.
Relatório da classificação
O relatório de classificação é derivado do conjunto de dados de teste ao executar o pipeline completo ou de avaliação. Ele contém as seguintes informações para cada entidade na forma de um diagrama:
- Entidade- O nome da entidade.
- Precisão - A métrica de precisão para prever corretamente a entidade no conjunto de teste.
- Recall - A métrica de recall de prever corretamente a entidade sobre o conjunto de teste
- Pontuação F1 - A métrica de pontuação f1 para prever corretamente a entidade no conjunto de teste; você pode usar essa pontuação para comparar o desempenho baseado em entidade de duas versões treinadas diferentemente desse modelo.
Matriz de confusão
Uma tabela com explicações explicando diferentes categorias de erro também é fornecida sob a matriz de confusão. As categorias de erro por entidade sãocorretas,incorretas,perdidase espúrias são explicadas nessa tabela.
Informações de recall de precisão
Você pode usar essas informações para verificar a precisão e a compensação de recall do modelo. Os limites e os valores correspondentes de precisão e recuperação também são fornecidos em uma tabela acima do diagrama para cada entidade. Esta tabela permitirá que você escolha o limite desejado para configurar em seu fluxo de trabalho para decidir quando enviar os dados para o Action Center para humanos no loop. Observe que quanto maior o limite escolhido, maior será a quantidade de dados roteados para o Action Center for humano no loop.
Há um diagrama de recuperação de precisão e uma tabela para cada entidade.
Para um exemplo de uma tabela de recall de precisão por entidade, consulte a tabela abaixo.
limiar | precisão | recall |
---|---|---|
0.5 | 0.9193 | 0.979 |
0.55 | 0.9224 | 0.9777 |
0,6 | 0.9234 | 0.9771 |
0,65 | 0.9256 | 0.9771 |
0.7 | 0.9277 | 0.9759 |
0,75 | 0.9319 | 0.9728 |
0.8 | 0.9356 | 0.9697 |
0.85 | 0.9412 | 0.9697 |
0,9 | 0.9484 | 0.9666 |
0,95 | 0.957 | 0.9629 |
Para um exemplo de um diagrama de recall de precisão por entidade, consulte a figura abaixo.
Arquivo CSV de avaliação
Esse é um arquivo CSV com previsões sobre o conjunto de testes usado para avaliação. O arquivo contém as colunas:
- Texto - O texto usado para avaliação.
- Actual_entities - As entidades que foram fornecidas como dados rotulados no conjunto de dados de avaliação.
- Predicted_entities - As entidades que o modelo treinado previu.
- Error_type_counts - A diferença entre as entidades reais e as entidades previstas categorizadas por tipos de erro.