Criando um arquivo de dicionário de sinônimos - Amazon Kendra

Criando um arquivo de dicionário de sinônimos

Um arquivo de dicionário de sinônimos do Amazon Kendra é um arquivo codificado em UTF-8 contendo uma lista de sinônimos no formato de lista de sinônimos Solr. O arquivo .zip deve ter menos de 5 MB.

Há duas maneiras de especificar mapeamentos de sinônimos:

  • Os sinônimos bidirecionais são especificados como uma lista de termos separados por vírgulas. Se o usuário consultar qualquer um dos termos, todos os termos da lista serão usados para pesquisar documentos, o que inclui o termo original consultado.

  • Sinônimos unidirecionais são especificados como termos separados pelo símbolo “=>” entre eles para mapear termos para seus sinônimos. Se o usuário consultar um termo à esquerda do símbolo “=>”, ele será mapeado para um termo à direita para pesquisar documentos usando o sinônimo. Não é mapeado vice-versa, o que o torna unidirecional.

Os sinônimos em si diferenciam maiúsculas de minúsculas, mas os termos para os quais eles são mapeados não fazem distinção entre maiúsculas e minúsculas. Por exemplo, ML => Machine Learning significa que se so usuário consultar “ML”, “ml” ou usar algum outro caso, ele será mapeado para “Machine Learning”. Se você mapeasse isso vice-versa, Machine Learning => ML, “Machine Learning”, “machine learning” ou algum outro caso seria mapeado para “ML”.

Um sinônimo não busca uma correspondência exata de caracteres especiais. Por exemplo, se você pesquisar por “dead-letter-queue” (fila de mensagens não entregues), o Amazon Kendra poderá retornar documentos que correspondam a “dead letter queue” (sem hífen). Se os documentos contêm hifens, como “dead-letter-queue”, o Amazon Kendra processará os documentos durante a pesquisa para remover os hifens. Para termos de sinônimos genéricos em inglês que estão incorporados no Amazon Kendra e não devem ser incluídos em um arquivo do dicionário de sinônimos, o Amazon Kendra pode pesquisar tanto a versão com hífen como a sem hífen do termo. Por exemplo, se você pesquisar “third-party” e “third party” (terceiros), o Amazon Kendra retornará documentos que correspondam a qualquer uma das versões desses termos.

Para sinônimos que contêm palavras irrelevantes ou palavras comumente usadas, o Amazon Kendra retorna documentos que correspondem a termos, incluindo palavras irrelevantes. Por exemplo, você pode criar uma regra de sinônimo para mapear “on boarding” e “onboarding” (integração). Não é possível usar apenas palavras irrelevantes para sinônimos. Por exemplo, se você pesquisar por “on” (ativado), o Amazon Kendra não poderá retornar todos os documentos que contenham “on”.

Algumas regras de sinônimos são ignoradas. Por exemplo, a => b é uma regra, mas a => a é ignorada e não conta como regra.

A contagem de termos é o número de termos exclusivos no arquivo de sinônimos. O arquivo de exemplo abaixo inclui os termosAWS CodeStar, ML, Machine Learning, autoscaling group, ASG e muito mais.

Há uma quantidade máxima de regras de sinônimos por dicionário de sinônimos e uma quantidade máxima de sinônimos por termo. Para obter mais informações, consulte Cotas para o Amazon Kendra.

O exemplo a seguir mostra um arquivo do dicionário de sinônimos com regras de sinônimos. Cada linha contém uma única regra de sinônimo. Linhas em branco e comentários são ignorados.

# Lines starting with pound are comments and blank lines are ignored. # Synonym relationships can be defined as unidirectional or bidirectional relationships. # Unidirection relationships are represented by any term sequence # on the left hand side (LHS) of "=>" followed by synonyms on the right hand side (RHS) CodeStar => AWS CodeStar # This will map CodeStar to AWS CodeStar, but not vice-versa # To map terms vice versa ML => Machine Learning Machine Learning => ML # Multiple synonym relationships may be defined in one line as well by comma seperation. autoscaling group, ASG => Auto Scaling group, autoscaling # The above is equivalent to: # autoscaling group => Auto Scaling group, autoscaling # ASG => Auto Scaling group, autoscaling # Bi-directional synonyms are comma separated terms with no "=>" DNS, Route53, Route 53 # DNS, Route53, and Route 53 map to one another and are interchangeable at match time # The above is equivalent to: # DNS => Route53, Route 53 # Route53 => DNS, Route 53 # Route 53 => DNS, Route53 # Overlapping LHS terms will be merged Beta => Alpha Beta => Gamma Beta, Delta # is equivalent to: # Beta => Alpha, Gamma, Delta # Delta => Beta # Each line contains a single synonym rule. # Synonym rule count is the total number of lines defining synonym relationships # Term count is the total number of unique terms for all rules. # Comments and blanks lines do not count.