Mycroft-core: "Dizer" gatilhos falam habilidade sempre

Criado em 2 ago. 2016  ·  4Comentários  ·  Fonte: MycroftAI/mycroft-core

"Ei, Mycroft, o que a Wikipedia diz sobre Abraham Lincoln"

Mycroft responde: "Sobre Abraham Lincoln"

Bug - complex

Todos 4 comentários

Eu consideraria isso um problema com adaptar. Em vez disso, ele provavelmente deve retornar uma confiança de cada correspondência com base no comprimento da regex para que what does wikepedia say sempre substitua say .

Eu concordo; No ano passado, experimentei fazer um sistema de análise de intenção semelhante ao mycroft (também em python) para um conjunto relativamente pequeno de operações e adicionei essa ponderação às confidências de correspondência pelo mesmo motivo.
Funcionou bem, embora eu também tenha ponderado as correspondências sobre o quão perto do início da frase elas estavam (ou, na verdade, com base em onde o próximo conjunto de palavras não analisadas começou a partir das palavras recebidas). Cada habilidade manipularia sua frase e retornaria quaisquer palavras restantes no final para serem reparadas novamente se necessário, especialmente se fosse parte de uma subseção separada por, por exemplo. "e" ou "então".

Nota: Eu tentei adicionar "soa como" listas de palavras para cada conjunto de palavras de "habilidade" que o TTS às vezes retornava como alternativas para melhorar as taxas de correspondência, em seguida, fazer uma melhor correspondência e ratear a confiança de forma adequada, mas estava ficando muito difícil, mesmo com o conjunto limitado de recursos para atender a todas as versões reconhecidas devolvidas como um projeto de tempo livre.

Adapt produz resultados de análise na ordem de "maior cobertura de expressão", o que não é necessariamente na ordem de maior confiança. Ao calcular a confiança, as regexes são menos ponderadas com base em sua imprecisão e todas as correspondências (regex ou literal de entidade) têm uma confiança com base na porcentagem de expressão representada. A versão mais recente do Adapt (v0.3.0) exporá opcionalmente a confiança das tags individuais em um resultado de análise.

{u'ArticleTitle': u'say about foobar', 'intent_type': u'WikipediaIntent', 'confidence': 0.375, 'target': None, u'WikipediaKeyword': u'wikipedia'}

Percorrendo isso em um depurador, posso ver que o 4º ou 5º resultado da análise gerado a partir de adapt tem, de fato, uma confiança mais alta do que a intenção de falar e aciona a intenção da Wikipédia. O resultado da análise é lixo (consulta: digamos sobre abraham lincoln), mas o Adapt não é muito bom em analisar consultas de pesquisa de texto livre a partir de texto em linguagem natural. Embora as regexes sejam um mal necessário aqui, elas têm sido bastante abusadas e, quanto mais habilidades as usam, maior a probabilidade de colisões como essa.

Pelo menos para mim, esse bug foi corrigido por https://github.com/MycroftAI/mycroft-core/commit/4d6defd126c0a0b091718f8e15f8b033a84f9aa1

Este bug parece ter sido corrigido.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mghoffmann picture mghoffmann  ·  6Comentários

tmajibon picture tmajibon  ·  9Comentários

fermulator picture fermulator  ·  6Comentários

AMDphreak picture AMDphreak  ·  10Comentários

WSLUser picture WSLUser  ·  9Comentários