Na PNL, existe o conceito de Gazetteer
que pode ser bastante útil para criar anotações. Tanto quanto eu entendo:
Um gazetteer consiste em um conjunto de listas contendo nomes de entidades como cidades, organizações, dias da semana etc. Essas listas são usadas para encontrar ocorrências desses nomes no texto, por exemplo, para a tarefa de reconhecimento de entidades nomeadas.
Portanto, é essencialmente uma pesquisa. Não é esse tipo de trapaça? Se usarmos a Gazetteer
para detectar entidades nomeadas, não haverá muita coisa Natural Language Processing
acontecendo. Idealmente, eu gostaria de detectar entidades nomeadas usando NLP
técnicas. Caso contrário, como é melhor que um comparador de padrões de regex?
nlp
named-entity-recognition
AbtPst
fonte
fonte
Respostas:
O Gazetteer ou qualquer outra opção de recurso de tamanho fixo intencional parece uma abordagem muito popular em trabalhos acadêmicos , quando você tem um problema de tamanho finito, por exemplo, NER em corpora fixo, identificação de POS ou qualquer outra coisa. Eu não consideraria trapaça a menos que o único recurso que você usará seja a correspondência no Gazetteer.
No entanto, ao treinar qualquer tipo de modelo de PNL, que depende do dicionário durante o treinamento, você pode obter um desempenho no mundo real muito inferior ao relatado pelo teste inicial, a menos que você possa incluir todos os objetos de interesse no gazetteer (e por que então você precisa desse modelo?) porque seu modelo treinado dependerá do recurso em algum momento e, em um caso em que outros recursos sejam muito fracos ou não sejam descritivos, novos objetos de interesse não serão reconhecidos.
Se você usa um Gazetteer em seus modelos, certifique-se de que esse recurso tenha um recurso de contador para permitir que o modelo se equilibre, para que a correspondência simples de dicionário não seja o único recurso de classe positiva (e, mais importante, o gazetteer deve correspondem não apenas a exemplos positivos, mas também a negativos).
Por exemplo, suponha que você tenha um conjunto completo de infinitas variações de todos os nomes de pessoas, o que torna o NER da pessoa geral irrelevante, mas agora você tenta decidir se o objeto mencionado no texto é capaz de cantar. Você dependerá de recursos de inclusão no seu gazeta Pessoal, o que fornecerá muitos falsos positivos; então, você adicionará um recurso centrado no verbo " É o sujeito do canto do verbo " e provavelmente forneceria falsos positivos de todos os tipos de objetos, como pássaros, sua barriga quando você estiver com fome e um sujeito bêbado que pensaele pode cantar (mas, sejamos honestos, ele não pode) - mas esse recurso centrado no verbo se equilibrará com a pessoa que você utiliza para atribuir classe positiva de 'Cantor' a pessoas e não animais ou outros objetos. No entanto, isso não resolve o caso do artista bêbado.
fonte
O uso de uma lista de entidades tem poucas desvantagens:
Você pode lidar com essas desvantagens seguindo a direção sugerida por @emre e usando a lista para aprender um classificador.
Por exemplo, você pode usar tokens perto da entidade e aprender regras como "moro em X" é um indicador de um lugar e "conversei com X" é um indicador de uma pessoa. Você pode jogar este jogo algumas rodadas aumentando sua lista de acordo com as regras e usando a nova lista para aprender mais regras.
Não se esqueça de que, neste aprendizado, você introduzirá ruído nos dados; na maioria dos casos, o aprendizado deve ser direto.
fonte