Vetores no SAP HANA Cloud
Vetores são objetos geométricos definidos por uma direção e uma magnitude. Numericamente, os vetores podem ser representados como uma sequência de números, como [0,2, 0,8, -0,4, 0,6, ...].
O número de elementos em um vetor determina sua dimensionalidade. Cada número na sequência corresponde a uma dimensão específica e contribui para a representação global do ponto de dados. Dito isto, os números reais dentro do vetor não são significativos por conta própria. Os valores relativos e as relações entre os números capturam as informações semânticas e permitem que algoritmos processem e analisem os dados de forma eficaz.
As incorporações vetoriais são vetores produzidos por modelos de incorporação, que são redes neurais especializadas projetadas para converter objetos em representações vetoriais. O tipo de objetos que podem ser vetorizados e o método de vetorização dependem do modelo de incorporação específico utilizado. O principal objetivo de um modelo de incorporação é mapear objetos semelhantes para vetores semelhantes.
O mecanismo de vetor do SAP HANA Cloud facilita o armazenamento e a análise de dados vetoriais complexos e não estruturados (incorporações) em um formato que pode ser processado, comparado e usado perfeitamente na criação de vários aplicativos de dados inteligentes e na adição de mais contexto no caso de cenários de GenAI.
O mecanismo de vetor do SAP HANA Cloud suporta:
Armazenamento de vetores juntamente com outros dados empresariais no mesmo banco de dados SAP HANA Cloud.
Utilização de SQL para interagir com todos os tipos de dados, incluindo vetores.
Utilização de operações CRUD (criar, ler, atualizar, eliminar) em vetores utilizando SQL.
Integração de SQLScript espacial, gráfico, JSON e personalizado com consultas baseadas em vetores.
Implementação de casos de uso de vetor em soluções por meio de clientes SAP HANA Cloud (como Python), o Python Machine Learning Client para SAP HANA (hana-ml) e o SAP Cloud Application Programming Model (CAP).
Para armazenar dados de vetor, o SAP HANA Cloud inclui o tipo de dados de vetor integrado REAL_VECTOR, que consiste em elementos REAL (IEEE 754 ponto flutuante de precisão única). A dimensionalidade de uma coluna REAL_VECTOR varia de 1 a 65.000.
O tipo de dados REAL_VECTOR pode ser utilizado como outros tipos de dados SQL SAP HANA, mas considere algumas limitações atuais:
Pedido: nenhuma ordem definida em REAL_VECTOR. As operações que dependem da ordenação (por exemplo, agrupamento, ordenação, comparação) não podem ser aplicadas a vetores.
Aritmética: REAL_VECTOR não pode ser usado em expressões aritméticas. Por exemplo, a adição de vetor não é suportada.
Nota
Verifique o roadmap para ver atualizações relativas a funções de vetor:SAP Road Map Explorer - Suporte para funções adicionais de vetor
Tipos de tabela: as colunas REAL_VECTOR não são suportadas em tabelas de linhas.
Particionamento: as colunas REAL_VECTOR não podem ser usadas como chaves de particionamento ao particionar tabelas.
Vectorização é o processo de tomar diferentes tipos de dados (por exemplo, dados não estruturados, como texto ou imagens) e convertê-los em vetores numéricos.
Nota
Embora a vetorização seja comumente associada a dados não estruturados, como texto ou imagens, ela também pode ser útil para dados estruturados. Por exemplo, muitos modelos de aprendizado de máquina (como redes neurais ou modelos de gradient boosting) funcionam melhor com entrada vetorizada.
Vamos explorar alguns exemplos de vetorização:
- Vectorização de texto
- Vectorização de imagem
Vectorização de texto
A vetorização de textos é o processo de transformar palavras e documentos em representações matemáticas. Os dados textuais, que incluem palavras, frases ou documentos, são inerentemente qualitativos e não estruturados. Algoritmos de vetorização transformam este texto em vetores numéricos, codificando várias características linguísticas, como frequência de palavras, contexto de palavras ou relações de palavras. Alguns exemplos de técnicas de vetorização de texto incluem:
BoW (saco de palavras): representa documentos como vetores, onde trata um documento como um "saco" de palavras, onde a ordem ou estrutura das palavras não importa. Em vez disso, o foco está na presença ou frequência de palavras individuais.
TF-IDF (Termo Frequência-Frequência Inversa de Documento): em contraste com a frequência de palavras simples, TF-IDF equilibra palavras comuns e raras para que os termos mais significativos sejam enfatizados.
BM25: é uma melhora em relação ao TF-IDF, na medida em que considera o comprimento do documento e também amortece o efeito de ter muitas ocorrências de uma palavra em um documento.
BERT (Representações de Codificador Bidirecional de Transformadores): é um exemplo de um transformador. Transformadores são um tipo de arquitetura de redes neurais que se tornaram uma pedra angular no processamento de linguagem natural (NLP). Ele trabalha para entender o contexto em ambas as direções – o que vem antes e depois de uma palavra (chamada de compreensão de contexto bidirecional). Essencialmente, olha para todo o texto simultaneamente para apreender significados e contextos mais profundos a partir do texto.
Vectorização de imagem
As imagens podem ser representadas como vetores, seja por valores de pixel brutos (para tarefas mais simples) ou por características mais complexas extraídas por modelos como redes neurais convolucionais (CNNs). Esses vetores codificam as principais características da imagem, para tarefas como classificação de imagem ou pesquisa de similaridade.
Nota
A vetorização da imagem pode ser útil para a pesquisa reversa do produto. Neste caso, você pode identificar um produto pela sua imagem, se não souber o nome ou o código de barras. Outro caso de uso pode ser encontrar produtos semelhantes.

![Três resultados de consulta SQL usando TO_REAL_VECTOR de DUMMY. As saídas são [1, 2, 3] em cada caso, com diferentes formatos de entrada de dados: '(1,2,3)', hexadecimal e ARRAY(1,2,3). Três resultados de consulta SQL usando TO_REAL_VECTOR de DUMMY. As saídas são [1, 2, 3] em cada caso, com diferentes formatos de entrada de dados: '(1,2,3)', hexadecimal e ARRAY(1,2,3).](https://learning.sap.com/service/media/topic/f9eba908-ec7f-4a48-b47c-2cc277382950_pt-BR/HC3AI_2606_pt-BR_media/HC3AI_2606_pt-BR_images/TO_REAL_VECTOR.png)
![Resultados de consulta SQL mostrando a conversão entre tipos de dados usando as funções TO_NVARCHAR, TO_ARRAY e TO_REAL_VECTOR na matriz de entrada [1,2,3]. A saída mostra diferentes transformações. Resultados de consulta SQL mostrando a conversão entre tipos de dados usando as funções TO_NVARCHAR, TO_ARRAY e TO_REAL_VECTOR na matriz de entrada [1,2,3]. A saída mostra diferentes transformações.](https://learning.sap.com/service/media/topic/f9eba908-ec7f-4a48-b47c-2cc277382950_pt-BR/HC3AI_2606_pt-BR_media/HC3AI_2606_pt-BR_images/Serialization.png)
