"Se você não está usando a aprendizagem profunda, deveria estar." - Jeff Dean, bolsista do Google.
O Google começou com a missão de capacitar tudo e todos com Inteligência Artificial (I.A.). Ele abriu o Tensorflow e as bibliotecas de suporte para permitir que os desenvolvedores e as empresas criem e treinem modelos e façam inferências (previsões) usando esses modelos. A criação de serviços empresariais úteis com isso pode levar tempo.
O Google também expôs muitos dos serviços de IA (por meio das APIs de aprendizado de máquina na nuvem) que podem ser bastante úteis em seus aplicativos. A extração de recursos e textos de imagens, a tradução de textos de um idioma para outro e a análise de sentimentos em textos podem ajudá-lo a melhorar drasticamente a experiência do usuário. Há novos negócios e modelos de negócios possibilitados apenas por esses serviços. O Google fez o trabalho árduo de criar e treinar o modelo. Você simplesmente chama uma API REST para explorar suas APIs de aprendizado de máquina. Essas APIs funcionam simplesmente como um método de invocação de serviço declarativo, sem a necessidade de entender ou manter a infraestrutura profunda subjacente.
Suas APIs de aprendizado de máquina incluem:
- E provavelmente muitos outros serviços até o momento em que este artigo for publicado.
Todos eles são fornecidos como APIs REST. Consulte o site do Google abaixo para obter a documentação e os detalhes do serviço.
No Couchbase 5.0, a engenheira de P&D da N1QL, Isha Kandaswamy, desenvolveu e escrito sobre a funcionalidade CURL(). Usando CURL(), você pode usar qualquer serviço REST com ponto de extremidade JSON. Um exemplo de uso de A API do mapa do Google é mostrada aqui. O resultado JSON dos serviços pode ser processado naturalmente no N1QL porque o N1QL foi projetado para ser SQL para JSON.
Observação: Você pode usar CURL(), usar A.I. ou outros serviços de qualquer serviço disponível publicamente.
Este blog mostra a maneira de usar a API de IA do Google Cloud diretamente nos dados que você tem no Couchbase, diretamente com uma simples instrução N1QL. Todas as APIs de aprendizado de máquina do Google Cloud retornam JSON. Portanto, CURL() pode ser usado para chamar qualquer um dos serviços. Mostrarei exemplos de uso da API do Google Vision, da API de tradução do Google e da API de linguagem natural do Google.
Observação: você precisa configurar seu projeto, ativar cada um dos serviços e obter a API-KEY que precisa passar. Nos exemplos abaixo, Retirei minha chave. Você deve substituir PUT YOUR KEY HERE por sua chave.
Vamos explorar o uso de algumas das APIs.
1. Usando API do Google Vision:
Você pode ser uma empresa de seguros em que os clientes fazem upload de fotos de seus carros e identificações. Você pode ser uma faculdade que recebe imagens de históricos escolares. Deseja extrair o texto da imagem para garantir a veracidade, melhorar a experiência do usuário e facilitar a pesquisa quando necessário.
O Google deixou de organizar o texto do mundo para organizar o conteúdo multimídia do mundo. A API Vision oferece recursos avançados para extrair muitos metadados de uma imagem e correlacionar essas informações com informações e outras imagens disponíveis na Web.
Vamos obter a análise completa da imagem usando a API do Google Vision.
1 2 3 4 5 6 7 |
selecionar texto da imagem de enrolar("https://vision.googleapis.com/v1/images:annotate?key=PUT SUA CHAVE AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": '{ "requests": [ { "image": { "source": { "imageUri": "http://www.couchbase.com/blog/wp-content/uploads/2018/01/Screen-Shot-2018-01-21-at-6.50.38-PM.png" } }, "features": [ { "type": "TEXT_DETECTION" } ] } ] }'}) AS texto da imagem |
Essa consulta retorna uma enorme resposta de 120K descrevendo todos os polígonos e textos associados. Aqui está a resposta. Vamos emitir a consulta novamente e projetar o que precisamos. A API Vision retorna a lista concatenada de cadeias de caracteres. Você pode usar a função SPLIT() ou TOKENS() do N1QL para obter cada string separadamente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
selecionar r.fullTextAnnotation.texto de enrolar("https://vision.googleapis.com/v1/images:annotate?key=PUT SUA CHAVE AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": '{ "requests": [ { "image": { "source": { "imageUri": "http://www.couchbase.com/blog/wp-content/uploads/2018/01/Screen-Shot-2018-01-21-at-6.50.38-PM.png" } }, "features": [ { "type": "TEXT_DETECTION" } ] } ] }'}) AS texto da imagem INÚTIL texto da imagem.respostas r ; { "requestID": "c1e41d74-2522-4de9-84ef-2730cae1aebc", "assinatura": { "texto": "json" }, "resultados": [ { "texto": "SERVIDOR DE APLICAÇÃO\nSERVIDOR DE APLICAÇÃO\nLIBRARY\nCLIENT LIBRARY\nSDK\nSDK\nCluster\nManager\nCluster\nManager\nCluster\nManager\nCluster\nManager\nCluster\nManager\nData\nService\nQuery\nService\nIndex\nService\nSearch\nService\nAnalytics\nService*\nManaged Cache\nArmazenamento\nServidor doouchbase 1\nGerenciado Cache\nArmazenamento\nServidor doouchbase 3\nGerenciado Cache\nArmazenamento\nServidor doouchbase 4\nGerenciado Cache\nArmazenamento\nServidor doouchbase\nServidor doouchbase\nCluster de servidores\n" } ], "status": "sucesso", "métricas": { "elapsedTime" (tempo decorrido): "1.906194164s", "executionTime": "1.906166141s", "resultCount": 1, "resultSize": 499 } } |
2. API de tradução do Google
Essa API faz o que diz: Traduzir de um idioma para outro. Ela pode detectar automaticamente o idioma de origem. Os argumentos para essa API são simplesmente o conteúdo de origem e o idioma de destino. Neste exemplo, vamos traduzir as avaliações de clientes de um hotel do inglês para o francês.
1 2 3 4 5 6 7 8 9 |
SELECIONAR ginfo DE ( SELECIONAR r.conteúdo como inglês, enrolar("https://translation.googleapis.com/language/translate/v2?key=PUT SUAS CHAVES AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": meus dados }) AS francês DE `amostra de viagem` h USO CHAVES "hotel_10142" INÚTIL h.revisões r LET meus dados = '{ "q":"' || r.conteúdo || '", "target": "fr"}') AS ginfo; |
O resultado da consulta, que inclui a tradução para o francês, é:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
{ "requestID": "a388a2a4-da40-42df-9af6-93a83f8f3cf1", "assinatura": { "ginfo": "json" }, "resultados": [ { "ginfo": { "inglês": "Essa deve ter sido a pior experiência que já tive em um hotel. Nossa reserva foi feita com dois meses de antecedência para um quarto para não fumantes com duas camas, de 2 a 7 de julho de 2010. Ficamos cinco noites por $190 por noite e foi isso que recebemos, um quarto para fumantes com uma cama, e só fomos informados na recepção que seria um quarto para fumantes, nada sobre a cama de solteiro, quando ela nos perguntou de quantas camas precisávamos, ah, eles forneceram uma cadeira de enrolar, só que tive que mover a cadeira para o corredor para caber a cama. O banheiro era tão pequeno que você tinha que entrar na banheira para fechar a porta, não havia frigobar no quarto, as portas eram baratas e horríveis. Só havia lençóis na cama, sem cobertores ou mantas, e, além disso, tive que pagar $14,95 por noite pela Internet. Jamais recomendarei esse hotel! Como é possível aceitar uma reserva e dizer que ela será mantida até as 10h da manhã seguinte e, ainda assim, não fornecer o que foi solicitado na reserva? E se alguém do meu grupo fosse alérgico a fumaça, asmático ou algo pior... não teríamos conseguido um quarto? completamente inaceitável. não é à toa que continuarei a me hospedar no comfort suites... internet gratuita, comodidades modernas (telas planas) e $85 por noite. insatisfeito não chega nem perto de como me sinto. a única coisa boa de toda essa estadia foi o biscoito quente quando cheguei e o meu nem estava quente. Você pode pegar esse biscoito e... bem, tenho certeza de que pode descobrir o resto. Obrigado por nada!", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "Esta deve ser a pior experiência que já tive em um hotel. Nossa reserva foi feita com dois meses de antecedência para um quarto sem fumaça com duas camas, de 2 a 7 de julho de 2010. Nous restons cinq nuits à 190 $ la nuit et c'est ce que nous avons eu, une chambre fumeurs avec un lit, et On m'a seulement dit à la réception que ça allait être une chambre fumeur, nada em relação à luz, quando ela nos pediu quantas luzes precisávamos, eles forneceram um roll-a-way, a única escolha que eu deveria fazer era deslocar a espreguiçadeira no sofá para adaptá-la à luz. O telefone era mais antigo do que eu e o orador foi abatido. La salle de bain était si petite que vous devez marcher dans la baignoire pour fermer la porte, pas de frigo dans la chambre, les portes sont bon marché et horrible. seulement des draps sur le lit pas de couvertures / couettes, en plus de cela, j'ai dû payer 14,95 $ la nuit pour internet. Não recomendo jamais esse hotel! Comment pouvez-vous prendre une réservation et indiquer qu'il se tiendra jusqu'à 10 heures du matin le lendemain, mais ne pas fournir ce qui était demandé dans la réservation? E se alguém do meu grupo fosse alérgico a fumaça, asmático ou pior ... nós não teríamos um quarto? totalmente inaceitável, mas não é surpreendente, vou continuar descansando nas suítes de conforto ... Internet gratuita, des équipements modernes (écrans plats) oh et 85 $ la nuit. insatisfait ne se rapproche même pas de ce que je ressens. La seule bonne chose de tout ce séjour était le cookie chaud quand je suis arrivé et le mien n'était même pas chaud. Vous pouvez prendre ce cookie et ... eh bien, je suis sûr que vous pouvez comprendre le rest. Obrigado por tudo!" } ] } } } }, { "ginfo": { "inglês": "OK - Reservei esse lugar cerca de 8 semanas antes da viagem, quando os quartos ainda custavam $116 para um sábado à noite no site do Doubletree/Hilton. À medida que a data da viagem se aproximava, eu refazia a cotação e a tarifa subia para mais de $200. $116 foi uma pechincha, mas o lugar não vale $200. Fiquei no quarto 1022 - muito pequeno, com um pouco de mofo no armário no canto, e bem no final do corredor dos armários do serviço de limpeza (eles batiam as portas dia e noite). A cama era confortável e a equipe foi muito cortês. Eu não sabia disso quando reservei o hotel, mas fiquei muito feliz ao ver que ele ficava no mesmo cruzamento do Harrah's Casino, então perdi $50. O hotel também fica bem próximo a uma parada de bonde na Canal Street. $116 - sim, eu me hospedaria lá novamente em um piscar de olhos. $200 - não é possível. Reserve com antecedência e tolere os inconvenientes em troca de um preço de barganha.", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "D'accord, j'ai réservé cet hôtel environ 8 semaines avant de partir, quand les chambres étaient toujours 116 pour un samedi soir sur Doubletree / Hilton. Comme la date du voyage se rapprochait, je voudrais réévaluer et le taux a grimpé à plus de 200 $. 116 $ é um bom negócio, mas o local não vale mais que 200 $. Eu estava no quarto 1022 - muito pequeno, com um pouco de umidade no letreiro da moeda, e apenas no canto dos letreiros de ménage (eles estavam com as portas abertas de dia e de noite). A cama era confortável e o pessoal era muito cortês. Je ne savais pas cela quand j'ai réservé cet hôtel, mais j'ai été ravi de voir que c'était au même carrefour que Harrah's Casino, j'ai perdu 50 $. O hotel também fica bem perto de um ponto de bonde na Canal Street. 116 $ - oui, j'y retournerais sans hésiter. 200 $ - ne peut pas faire. Réservez tôt et tolérer les inconvénients en échange d'un prix d'aubaine." } ] } } } }, { "ginfo": { "inglês": "Fiquei impressionado com meu quarto e com o ótimo atendimento que recebi na recepção. Achei a equipe prestativa e muito agradável. A localização era ótima, com fácil acesso a pé ao French Quarter, a outros pontos de interesse e a ótimos restaurantes nas imediações. O serviço de quarto foi pontual e meu café da manhã chegou quente e pronto para ser saboreado. Eu recomendaria esse hotel para o início de uma ótima estadia na Big Easy.", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "Fiquei impressionado com meu quarto e o super serviço que recebi na recepção. Encontrei a equipe prestativa e muito agradável. A localização era ótima, a poucos minutos de caminhada do quartier français, de outros pontos de interesse e de excelentes restaurantes nos arredores. O serviço de quarto era de hora em hora e meu petit déjeuner chegou pronto e pronto para ser desfrutado. Recomendo esse hotel para o início de uma excelente estadia no Big Easy." } ] } } } }, { "ginfo": { "inglês": "O hotel está convenientemente localizado na Canal Street, na extremidade do French Quarter, perto do rio. Quando chegamos, os quartos estavam prontos para serem usados e o check-in foi tranquilo, os biscoitos eram incríveis! O louge no andar de baixo era um bom lugar para tomar um drinque antes de sair todas as noites. Estávamos a uma curta distância de tudo no French Quarter e foi fácil pegar um táxi em frente ao hotel. O bonde tem uma parada em frente ao hotel, o Harrah's fica ao lado, o aquário, o shopping e um cinema ficam do outro lado da rua. O restaurante do hotel era bom, não o melhor, considerando que se trata de Nova Orleans, mas bom para comida de hotel. Eu não tinha carro nessa viagem, mas é preciso pagar pelo estacionamento na maioria dos lugares do bairro. A piscina é pequena, mas agradável para passear no meio da tarde, e há uma pequena academia para um exercício rápido. Já me hospedei em muitos lugares no French Quarter ao longo dos anos e essa é uma das melhores experiências que tive. Fiquei agradavelmente surpreso com o quanto gostei da localização.", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "O hotel está em uma localização ideal na Canal Street, às margens do quartier français, próximo ao rio. Quando chegamos, os quartos estavam prontos para começar e as formalidades de saída eram indolores, os biscoitos eram gulosos! Le rez-de-chaussée était un bon endroit pour prendre un verre avant de partir chaque nuit. Estávamos a uma distância de caminhada de tudo no bairro francês e pegar um táxi em frente ao hotel era fácil. O bonde passa em frente ao hotel, o Harrah está ao lado, o aquário, o centro comercial e um teatro de gerenciamento estão todos no outro lado da rua. O restaurante do hotel era bom, mas não o melhor, já que se trata da Nova Orleans, mas bom para a nutrição do hotel. Eu não tinha carro nessa viagem, mas você deve pagar pelo estacionamento na maioria dos locais no bairro. A piscina é pequena, mas agradável para se sentar no meio da tarde e há uma pequena sala de ginástica para praticar esportes. Eu me hospedei em vários locais no bairro francês ao longo dos anos e essa é uma das melhores experiências que tive. Fiquei agradavelmente surpreso com o ponto em que desejei o local." } ] } } } }, { "ginfo": { "inglês": "O Doubltree está localizado perto de tantas atrações que quase nunca precisamos de um táxi durante todo o tempo em que estivemos lá. Os quartos limpos e bem conservados foram um prazer voltar para casa depois de um longo dia. Não tive nenhuma questão ou problema durante todo o tempo em que estive lá, desde um check-in caloroso e acolhedor (com um ótimo biscoito!) até um check-out eficiente. Eu certamente recomendaria o hotel a qualquer pessoa que eu conhecesse que estivesse viajando para o Big Easy.", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "O Doubltree está localizado próximo a muitas atrações, e não precisamos de um táxi durante toda a nossa estadia. Os quartos próprios, que eram muito bem arrumados, eram uma ótima opção para alugar na casa depois de uma longa jornada. Nunca encontrei um problema ou problema durante todo o tempo em que estive lá, desde um atendimento atencioso (com um bom biscoito!) até uma saída eficiente. Eu recomendo esse hotel a todos que conheço e que viajaram para o Big Easy." } ] } } } }, { "ginfo": { "inglês": "Nós nos hospedamos no Doubletree Hotel New Orleans pela primeira vez em 14 de fevereiro de 2009. O ponto positivo: o check-in foi rápido, os quartos eram confortáveis e muito limpos. Esqueci algumas comodidades e a equipe foi muito rápida em responder e trazer o que eu precisava. Todos os funcionários foram muito educados. Um ponto negativo: as paredes são finas como papel, você pode literalmente ouvir cada palavra nos quartos ao seu lado e no corredor. Eu ficaria aqui novamente pela localização ideal, mas se você precisar de uma boa noite de descanso, reconsidere devido ao barulho.", "francês": { "dados": { "traduções": [ { "detectedSourceLanguage": "en", "translatedText": "Ficamos hospedados no Doubletree Hotel New Orleans pela primeira vez em 14 de fevereiro de 2009. O bom: o registro foi rápido, os quartos eram confortáveis e muito bonitos. Tive que usar alguns equipamentos e o pessoal foi muito rápido para responder ao que eu precisava e ao que eu precisava. Toda a equipe foi muito atenciosa. Um ponto negativo: as paredes são muito finas, você não consegue entender quase nada nas camas ao seu lado e no corredor. Eu voltaria aqui pelo local ideal, mas se você precisar de boas noites de descanso, reconsidere por causa do barulho." } ] } } } } ], "status": "sucesso", "métricas": { "elapsedTime" (tempo decorrido): "3.604491133s", "executionTime": "3.604475374s", "resultCount": 6, "resultSize": 13090 } } |
Como não entendo bem francês, pedi que traduzissem a avaliação para Kannada, minha língua materna. Devo dizer que a tradução foi decente para uma máquina. Algumas frases eram complicadas (quase pareciam Kannada antigo), mas no geral eram compreensíveis. Aqui está a tradução.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
> SELECIONAR ginfo DE ( selecionar r.conteúdo, enrolar("https://translation.googleapis.com/language/translate/v2?key=PUT SUA CHAVE AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": meus dados }) como kannada de `amostra de viagem` h uso chaves "hotel_10142" não registrado h.revisões r LET meus dados = '{ "q":"' || r.conteúdo || '", "source": "en", "target": "kn"}') ginfo; { "requestID": "079f9dba-2da2-4941-b1be-70865997ec51", "assinatura": { "ginfo": "json" }, "resultados": [ { "ginfo": { "content" (conteúdo): "Essa deve ter sido a pior experiência que já tive em um hotel. Nossa reserva foi feita com dois meses de antecedência para um quarto para não fumantes com duas camas, de 2 a 7 de julho de 2010. Ficamos cinco noites por $190 por noite e foi isso que recebemos, um quarto para fumantes com uma cama, e só fomos informados na recepção que seria um quarto para fumantes, nada sobre a cama de solteiro, quando ela nos perguntou de quantas camas precisávamos, ah, eles forneceram uma cadeira de enrolar, só que tive que mover a cadeira para o corredor para caber a cama. O banheiro era tão pequeno que você tinha que entrar na banheira para fechar a porta, não havia frigobar no quarto, as portas eram baratas e horríveis. Só havia lençóis na cama, sem cobertores ou mantas, e, além disso, tive que pagar $14,95 por noite pela Internet. Jamais recomendarei esse hotel! Como é possível aceitar uma reserva e dizer que ela será mantida até as 10h da manhã seguinte e, ainda assim, não fornecer o que foi solicitado na reserva? E se alguém do meu grupo fosse alérgico a fumaça, asmático ou algo pior... não teríamos conseguido um quarto? completamente inaceitável. não é à toa que continuarei a me hospedar no comfort suites... internet gratuita, comodidades modernas (telas planas) e $85 por noite. insatisfeito não chega nem perto de como me sinto. a única coisa boa de toda essa estadia foi o biscoito quente quando cheguei e o meu nem estava quente. Você pode pegar esse biscoito e... bem, tenho certeza de que pode descobrir o resto. Obrigado por nada!", "kannada": { "dados": { "traduções": [ { "translatedText": "ಹೋಟೆಲ್ನಲ್ಲಿ ನಾನು ಹೊಂದಿದ್ದ ಕೆಟ್ಟ ಅನುಭವ ಎಂದು ಇದು ತಿಳಿದು ಬಂದಿದೆ. ನಮ್ಮ ಕಾಯ್ದಿರಿಸುವಿಕೆ ಎರಡು ತಿಂಗಳ ಮುಂಚಿತವಾಗಿ ಜುಲೈ 2, 7 ರಿಂದ 2010 ರವರೆಗೆ ಎರಡು ಹಾಸಿಗೆಯೊಂದಿಗೆ ಧೂಮಪಾನ ಕೊಠಡಿಯನ್ನು ಇರಿಸಿದೆ. ನಾವು ರಾತ್ರಿಗೆ $ 190 ಗೆ ಐದು ರಾತ್ರಿಗಳು ಇರುತ್ತಿದ್ದೇವೆ ಮತ್ತು ಇದು ನಮಗೆ ಸಿಕ್ಕಿತು, ಒಂದು ಹಾಸಿಗೆಯೊಂದಿಗೆ ಧೂಮಪಾನ ಕೊಠಡಿ, ಕೇವಲ ಮುಂಭಾಗದ ಮೇಜಿನ ಬಳಿ ಅದು ಧೂಮಪಾನ ಕೊಠಡಿ ಎಂದು ಹೇಳುತ್ತಿದ್ದೆವು, ಒಂದು ಹಾಸಿಗೆಯ ಬಗ್ಗೆ ಏನೂ ಇಲ್ಲ, ನಮಗೆ ಎಷ್ಟು ಹಾಸಿಗೆಗಳು ಬೇಕಾಗಿವೆ ಎಂದು ಕೇಳಿದಾಗ, ಅವರು ರೋಲ್-ಎ-ವೇವನ್ನು ಒದಗಿಸಿದರು, ಕೇವಲ ವಿಷಯ ನಾನು ಹಾಸಿಗೆಯನ್ನು ಹೊಂದಲು ಹಜಾರದ ಒಳಗೆ ಕುರ್ಚಿ. ಟಿವಿ ನನ್ನಂತೆಯೇ ಹಳೆಯದು ಮತ್ತು ಸ್ಪೀಕರ್ ಚಿತ್ರೀಕರಿಸಲಾಯಿತು. ಬಾತ್ರೂಮ್ ಚಿಕ್ಕದಾಗಿದೆ, ಬಾಗಿಲನ್ನು ಮುಚ್ಚಲು ನೀವು ಟಬ್ಬಿನೊಳಗೆ ಹೆಜ್ಜೆ ಹಾಕಬೇಕು, ಕೋಣೆಯಲ್ಲಿ ಯಾವುದೇ ಫ್ರಿಜ್ ಇಲ್ಲ, ಬಾಗಿಲು ಅಗ್ಗವಾಗಿದ್ದು ಭಯಾನಕವಾಗಿದೆ. ಹಾಸಿಗೆಯ ಮೇಲೆ ಮಾತ್ರ ಹಾಳೆಗಳು ಕಂಬಳಿಗಳು / ಕ್ವಿಲ್ಟ್ಸ್ ಮಾತ್ರವಲ್ಲ, ಅದರ ಮೇಲೆ, ನಾನು ಅಂತರ್ಜಾಲಕ್ಕಾಗಿ $ 14.95 ರಷ್ಟು ಹಣವನ್ನು ಪಾವತಿಸಬೇಕಾಯಿತು. ನಾನು ಈ ಹೋಟೆಲ್ಗೆ ಎಂದಿಗೂ ಶಿಫಾರಸು ಮಾಡುವುದಿಲ್ಲ! ಮುಂದಿನ ದಿನ ಬೆಳಿಗ್ಗೆ 10 ಗಂಟೆಗೆ ನಡೆಯಲಿದೆ ಎಂದು ಮೀಸಲಾತಿ ಮತ್ತು ರಾಜ್ಯವನ್ನು ನೀವು ಹೇಗೆ ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಆದರೆ ಮೀಸಲಾತಿಯಲ್ಲಿ ಏನು ವಿನಂತಿಸಲಾಗಿದೆ? ನನ್ನ ಪಾರ್ಟಿಯಲ್ಲಿ ಯಾರೋ ಹೊಗೆ, ಅಸ್ತಮ, ಅಥವಾ ಕೆಟ್ಟದ್ದಕ್ಕೆ ಅಲರ್ಜಿಯಾಗಿದ್ದರೆ ... ನಾವು ಒಂದು ಕೊಠಡಿಯನ್ನು ಪಡೆದಿರಲಿಲ್ಲವೆ? ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವೀಕಾರಾರ್ಹವಲ್ಲ ಯಾವುದೇ ಆಶ್ಚರ್ಯ ನಾನು ಸೌಕರ್ಯಗಳಿಗೆ ಕೋಣೆಗಳು ನಲ್ಲಿ ಉಳಿಯಲು ಮುಂದುವರಿಯುತ್ತದೆ ... ಉಚಿತ ಇಂಟರ್ನೆಟ್, ಆಧುನಿಕ ಸೌಕರ್ಯಗಳು (ಫ್ಲಾಟ್ ಪರದೆಗಳು) ಓಹ್ ಮತ್ತು $ 85 ಒಂದು ರಾತ್ರಿ. ಅತೃಪ್ತರಾಗಿದ್ದರೂ ನಾನು ಹೇಗೆ ಭಾವಿಸುತ್ತೇನೆ ಎಂಬುದರ ಹತ್ತಿರ ಬರುವುದಿಲ್ಲ. ನಾನು ಇಲ್ಲಿಗೆ ಬಂದಾಗ ಮತ್ತು ಗಣಿ ಕೂಡ ಬಿಸಿಯಾಗಿರಲಿಲ್ಲವಾದ್ದರಿಂದ ಈ ಸಂಪೂರ್ಣ ವಾಸ್ತವ್ಯದಲ್ಲೇ ಇರುವ ಏಕೈಕ ಒಳ್ಳೆಯದು ಬಿಸಿ ಕುಕೀ. ನೀವು ಆ ಕುಕೀ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ... ಚೆನ್ನಾಗಿ ಉಳಿದಿರುವುದನ್ನು ನೀವು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು ಎಂದು ನನಗೆ ಖಾತ್ರಿಯಿದೆ. ಥಾಂಕ್ಸ್ ಏನೂ ಇಲ್ಲ!" } ] } } } }, { "ginfo": { "content" (conteúdo): "OK - Reservei esse lugar cerca de 8 semanas antes da viagem, quando os quartos ainda custavam $116 para um sábado à noite no site do Doubletree/Hilton. À medida que a data da viagem se aproximava, eu refazia a cotação e a tarifa subia para mais de $200. $116 foi uma pechincha, mas o lugar não vale $200. Fiquei no quarto 1022 - muito pequeno, com um pouco de mofo no armário no canto, e bem no final do corredor dos armários do serviço de limpeza (eles batiam as portas dia e noite). A cama era confortável e a equipe foi muito cortês. Eu não sabia disso quando reservei o hotel, mas fiquei muito feliz ao ver que ele ficava no mesmo cruzamento do Harrah's Casino, então perdi $50. O hotel também fica bem próximo a uma parada de bonde na Canal Street. $116 - sim, eu me hospedaria lá novamente em um piscar de olhos. $200 - não é possível. Reserve com antecedência e tolere os inconvenientes em troca de um preço de barganha.", "kannada": { "dados": { "traduções": [ { "translatedText": "ಸರಿ - ಈ ಸ್ಥಳವು ಪ್ರಯಾಣಕ್ಕೆ 8 ವಾರಗಳ ಮುಂಚಿತವಾಗಿ, ಶನಿವಾರ ರಾತ್ರಿ ಡಬಲ್ಟ್ರೀ / ಹಿಲ್ಟನ್ ಸೈಟ್ನಲ್ಲಿ ಕೊಠಡಿಗಳು ಇನ್ನೂ $ 116 ಆಗಿದ್ದಾಗ ನಾನು ಈ ಸ್ಥಳವನ್ನು ಗೊತ್ತು ಮಾಡಿದೆ. ಪ್ರಯಾಣದ ದಿನಾಂಕ ಹತ್ತಿರ ಬಂದಾಗ, ನಾನು ಮರುಪಾವತಿ ಮಾಡುತ್ತೇನೆ ಮತ್ತು ದರವು $ 200 ಕ್ಕಿಂತ ಹೆಚ್ಚಿದೆ. $ 116 ಒಂದು ಚೌಕಾಶಿಯಾಗಿತ್ತು, ಆದರೆ ಸ್ಥಳವು $ 200 ಮೌಲ್ಯದ್ದಾಗಿಲ್ಲ. ನಾನು ಕೋಣೆ 1022 ಅನ್ನು ಹೊಂದಿದ್ದೆ - ಬಹಳ ಚಿಕ್ಕದಾದ, ಕೆಲವು ಮೂಲೆಯಲ್ಲಿರುವ ಶಿಲೀಂಧ್ರ, ಮನೆಮನೆಯ ಮುಚ್ಚುಮರೆಯಿಂದ ಹಾಲ್ ಕೆಳಗೆ ಬಿದ್ದ (ಅವರು ದಿನ ಮತ್ತು ರಾತ್ರಿ ತಮ್ಮ ಬಾಗಿಲುಗಳನ್ನು ಹೊಡೆಯುತ್ತಿದ್ದರು). ಹಾಸಿಗೆ ಆರಾಮದಾಯಕ ಮತ್ತು ಸಿಬ್ಬಂದಿ ಬಹಳ ವಿನಯಶೀಲರಾಗಿದ್ದರು. ನಾನು ಹೋಟೆಲ್ ಅನ್ನು ಬುಕ್ ಮಾಡುತ್ತಿರುವಾಗ ನಾನು ಇದನ್ನು ತಿಳಿದಿರಲಿಲ್ಲ, ಆದರೆ ಇದು ಹಾರ್ರಾಹ್ ಕ್ಯಾಸಿನೊದಲ್ಲಿ ಅದೇ ಛೇದಕದಲ್ಲಿದೆ ಎಂದು ನನಗೆ ಥ್ರಿಲ್ಡ್ ಮಾಡಲಾಯಿತು, ಹಾಗಾಗಿ ನಾನು $ 50 ಕಳೆದುಕೊಂಡೆ. ಕಾನಾಲ್ ಸ್ಟ್ರೀಟ್ನಲ್ಲಿರುವ ಟ್ರಾಲಿ ಕಾರ್ ಸ್ಟಾಪ್ನಲ್ಲಿ ಹೋಟೆಲ್ ಸಹ ಸರಿಯಾಗಿದೆ. $ 116 - ಹೌದು, ನಾನು ಮತ್ತೆ ಹೃದಯ ಬಡಿತದಲ್ಲಿ ಇರುತ್ತೇನೆ. $ 200 - ಇಲ್ಲ. ಚೌಕಾಶಿ ಬೆಲೆಗೆ ವಿನಿಮಯವಾಗಿ ಅನನುಕೂಲತೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಸಹಿಸಿಕೊಳ್ಳಿ." } ] } } } }, { "ginfo": { "content" (conteúdo): "Fiquei impressionado com meu quarto e com o ótimo atendimento que recebi na recepção. Achei a equipe prestativa e muito agradável. A localização era ótima, com fácil acesso a pé ao French Quarter, a outros pontos de interesse e a ótimos restaurantes nas imediações. O serviço de quarto foi pontual e meu café da manhã chegou quente e pronto para ser saboreado. Eu recomendaria esse hotel para o início de uma ótima estadia na Big Easy.", "kannada": { "dados": { "traduções": [ { "translatedText": "ನನ್ನ ಕೊಠಡಿ ಮತ್ತು ನಾನು ಮುಂಭಾಗದ ಮೇಜಿನ ಬಳಿ ಪಡೆದ ಅತ್ಯುತ್ತಮ ಸೇವೆಯಿಂದ ಪ್ರಭಾವಿತನಾಗಿದ್ದೆ. ನಾನು ಸಿಬ್ಬಂದಿ ಸಹಾಯಕವಾಗಿದೆಯೆ ಮತ್ತು ಅತ್ಯಂತ ಆಹ್ಲಾದಕರ ಎಂದು ಕಂಡುಬಂದಿಲ್ಲ. ಈ ಸ್ಥಳವು ಫ್ರೆಂಚ್ ಕ್ವಾರ್ಟರ್ಗೆ ಸುಲಭ ವಾಕಿಂಗ್ ದೂರದೊಂದಿಗೆ, ಇತರ ಪ್ರದೇಶದ ಆಸಕ್ತಿಗಳು ಮತ್ತು ತಕ್ಷಣದ ಪ್ರದೇಶದ ದೊಡ್ಡ ರೆಸ್ಟೊರೆಂಟ್ಗಳೊಂದಿಗೆ ಉತ್ತಮವಾಗಿತ್ತು. ರೂಮ್ ಸೇವೆಯು ಸಮಯಕ್ಕೆ ಇತ್ತು ಮತ್ತು ನನ್ನ ಉಪಹಾರವು ಬಿಸಿಯಾಗಿ ಬಂದು ಆನಂದಿಸಲು ಸಿದ್ಧವಾಗಿದೆ. ಬಿಗ್ ಈಸಿನಲ್ಲಿ ಉತ್ತಮ ವಾಸ್ತವ್ಯದ ಪ್ರಾರಂಭಕ್ಕಾಗಿ ನಾನು ಈ ಹೋಟೆಲ್ ಅನ್ನು ಶಿಫಾರಸು ಮಾಡಿದ್ದೇನೆ." } ] } } } }, { "ginfo": { "content" (conteúdo): "O hotel está convenientemente localizado na Canal Street, na extremidade do French Quarter, perto do rio. Quando chegamos, os quartos estavam prontos para serem usados e o check-in foi tranquilo, os biscoitos eram incríveis! O louge no andar de baixo era um bom lugar para tomar um drinque antes de sair todas as noites. Estávamos a uma curta distância de tudo no French Quarter e foi fácil pegar um táxi em frente ao hotel. O bonde tem uma parada em frente ao hotel, o Harrah's fica ao lado, o aquário, o shopping e um cinema ficam do outro lado da rua. O restaurante do hotel era bom, não o melhor, considerando que se trata de Nova Orleans, mas bom para comida de hotel. Eu não tinha carro nessa viagem, mas é preciso pagar pelo estacionamento na maioria dos lugares do bairro. A piscina é pequena, mas agradável para passear no meio da tarde, e há uma pequena academia para um exercício rápido. Já me hospedei em muitos lugares no French Quarter ao longo dos anos e essa é uma das melhores experiências que tive. Fiquei agradavelmente surpreso com o quanto gostei da localização.", "kannada": { "dados": { "traduções": [ { "translatedText": "ನದಿಯ ಬಳಿ ಫ್ರೆಂಚ್ ಕ್ವಾರ್ಟರ್ನ ಅಂಚಿನಲ್ಲಿರುವ ಕಾನಾಲ್ ಸ್ಟ್ರೀಟ್ನಲ್ಲಿ ಈ ಹೋಟೆಲ್ ಅನುಕೂಲಕರವಾಗಿ ಇದೆ. ನಾವು ಬಂದಾಗ ಕೊಠಡಿಗಳು ಹೋಗಲು ಸಿದ್ಧವಾಗಿದ್ದವು ಮತ್ತು ನೋವುರಹಿತವಾಗಿದ್ದವು, ಕುಕೀಗಳು ಮನಮೋಹಕವಾಗಿತ್ತು! ಪ್ರತಿ ರಾತ್ರಿ ಶಿರೋನಾಮೆ ಮಾಡುವ ಮೊದಲು ಪಾನೀಯವನ್ನು ಹಿಡಿಯಲು ಉತ್ತಮ ಸ್ಥಳವಾಗಿದೆ. ನಾವು ಫ್ರೆಂಚ್ ಕ್ವಾರ್ಟರ್ನಲ್ಲಿ ಎಲ್ಲದರ ಕಡೆಗೆ ನಡೆಯುತ್ತಿದ್ದೆವು ಮತ್ತು ಹೋಟೆಲ್ ಮುಂದೆ ಕ್ಯಾಬ್ ಅನ್ನು ಹಿಡಿಯುವುದು ಸುಲಭವಾಗಿದೆ. ಹೋಟೆಲ್ ಮುಂದೆ ಮುಂಭಾಗದಲ್ಲಿ ಟ್ರಾಲಿಯು ನಿಲ್ಲುತ್ತದೆ, ಹರ್ರಾಹ್ಸ್ ಮುಂದಿನ ಬಾಗಿಲು, ಅಕ್ವೇರಿಯಂ, ಮಾಲ್ ಮತ್ತು ಚಲಿಸುವ ಥಿಯೇಟರ್ ಎಲ್ಲಾ ಬೀದಿಗಳಲ್ಲಿದೆ. ಹೊಟೇಲ್ ರೆಸ್ಟೊರೆಂಟ್ ಒಳ್ಳೆಯದು, ಅದು ನ್ಯೂ ಒರ್ಲಿಯನ್ಸ್ ಅನ್ನು ಪರಿಗಣಿಸಿಲ್ಲ, ಆದರೆ ಹೋಟೆಲ್ ಆಹಾರಕ್ಕೆ ಉತ್ತಮವಾಗಿದೆ. ನಾನು ಈ ಟ್ರಿಪ್ ಅನ್ನು ಹೊಂದಿಲ್ಲ, ಆದರೆ ಕಾಲುಭಾಗದಲ್ಲಿ ಹೆಚ್ಚಿನ ಸ್ಥಳಗಳಲ್ಲಿ ನೀವು ಪಾರ್ಕಿಂಗ್ಗೆ ಪಾವತಿಸಬೇಕಾಗುತ್ತದೆ. ಪೂಲ್ ಚಿಕ್ಕದಾಗಿದೆ, ಆದರೆ ಮಧ್ಯ ಮಧ್ಯಾಹ್ನ ಹ್ಯಾಂಗ್ ಔಟ್ ಮಾಡಲು ಉತ್ತಮವಾಗಿದೆ ಮತ್ತು ತ್ವರಿತ ಕೆಲಸಕ್ಕಾಗಿ ಸಣ್ಣ ಜಿಮ್ ಇರುತ್ತದೆ. ನಾನು ವರ್ಷಗಳಲ್ಲಿ ಫ್ರೆಂಚ್ ಕ್ವಾರ್ಟರ್ನಲ್ಲಿ ಅನೇಕ ಸ್ಥಳಗಳಲ್ಲಿ ನಿಂತಿರುತ್ತೇನೆ ಮತ್ತು ನಾನು ಹೊಂದಿದ್ದ ಉತ್ತಮ ಅನುಭವಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ನಾನು ಸ್ಥಳವನ್ನು ಎಷ್ಟು ಇಷ್ಟಪಟ್ಟಿದ್ದೇನೆಂದರೆ ನನಗೆ ಸಂತೋಷಕರವಾದ ಕೊಡುಗೆಯಾಗಿದೆ." } ] } } } }, { "ginfo": { "content" (conteúdo): "O Doubltree está localizado perto de tantas atrações que quase nunca precisamos de um táxi durante todo o tempo em que estivemos lá. Os quartos limpos e bem conservados foram um prazer voltar para casa depois de um longo dia. Não tive nenhuma questão ou problema durante todo o tempo em que estive lá, desde um check-in caloroso e acolhedor (com um ótimo biscoito!) até um check-out eficiente. Eu certamente recomendaria o hotel a qualquer pessoa que eu conhecesse que estivesse viajando para o Big Easy.", "kannada": { "dados": { "traduções": [ { "translatedText": "ಡಬಲ್ಟ್ರೀ ಹಲವಾರು ಆಕರ್ಷಣೆಗಳ ಬಳಿ ಇದೆ, ನಾವು ಅಲ್ಲಿದ್ದ ಸಂಪೂರ್ಣ ಸಮಯಕ್ಕೆ ಕ್ಯಾಬ್ಗೆ ಬೇಕಾಗಲಿಲ್ಲ. ಸುದೀರ್ಘ ಕಾಲದ ನಂತರ ಮನೆಗೆ ಬರಲು ಒಂದು ಸತ್ಕಾರದ ವಿಧಾನವನ್ನು ಚೆನ್ನಾಗಿ ನಿರ್ವಹಿಸಲಾಗಿರುವ ಸ್ವಚ್ಛ ಕೊಠಡಿಗಳು. ನಾನು ಅಲ್ಲಿದ್ದ ಸಂಪೂರ್ಣ ಸಮಯದ ಒಂದು ಸಮಸ್ಯೆಯನ್ನು ಅಥವಾ ಸಮಸ್ಯೆಯನ್ನು ನಾನು ಅನುಭವಿಸಲಿಲ್ಲ, ಬೆಚ್ಚಗಿನ ಸ್ವಾಗತ ಪರಿಶೀಲನೆಯಿಂದ (ಉತ್ತಮ ಕುಕಿ ಯೊಂದಿಗೆ) ಪರಿಣಾಮಕಾರಿ ಚೆಕ್-ಔಟ್ಗೆ. ನಾನು ಬಿಗ್ ಈಸಿಗೆ ಹೋಗುತ್ತಿದ್ದೇನೆ ಎಂದು ನಾನು ತಿಳಿದಿರುವ ಎಲ್ಲರಿಗೂ ಹೋಟೆಲ್ ಅನ್ನು ಖಂಡಿತವಾಗಿಯೂ ಮರುಸಂಗ್ರಹಿಸುತ್ತೇನೆ." } ] } } } }, { "ginfo": { "content" (conteúdo): "Nós nos hospedamos no Doubletree Hotel New Orleans pela primeira vez em 14 de fevereiro de 2009. O ponto positivo: o check-in foi rápido, os quartos eram confortáveis e muito limpos. Esqueci algumas comodidades e a equipe foi muito rápida em responder e trazer o que eu precisava. Todos os funcionários foram muito educados. Um ponto negativo: as paredes são finas como papel, você pode literalmente ouvir cada palavra nos quartos ao seu lado e no corredor. Eu ficaria aqui novamente pela localização ideal, mas se você precisar de uma boa noite de descanso, reconsidere devido ao barulho.", "kannada": { "dados": { "traduções": [ { "translatedText": "ಫೆಬ್ರುವರಿ 14, 2009 ರಂದು ನಾವು ಮೊದಲ ಬಾರಿಗೆ ಡಬ್ಟ್ರೀ ಹೋಟೆಲ್ ನ್ಯೂ ಓರ್ಲಿಯನ್ಸ್ನಲ್ಲಿ ನೆಲೆಸಿದ್ದೇವೆ. ಒಳ್ಳೆಯದು: ಚೆಕ್ ಇನ್ ತ್ವರಿತವಾಗಿದ್ದು, ಕೊಠಡಿಗಳು ಆರಾಮದಾಯಕ ಮತ್ತು ಸ್ವಚ್ಛವಾಗಿರುತ್ತವೆ. ನಾನು ಅಗತ್ಯವಿರುವದನ್ನು ತರುವುದರೊಂದಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಲು ನಾನು ಕೆಲವು ಸೌಲಭ್ಯಗಳನ್ನು ಮತ್ತು ಸಿಬ್ಬಂದಿಗಳನ್ನು ಶೀಘ್ರವಾಗಿ ಮರೆತಿದ್ದೇನೆ. ಎಲ್ಲಾ ಸಿಬ್ಬಂದಿಗಳು ತುಂಬಾ ಮನೋಭಾವ ಹೊಂದಿದ್ದರು. ಒಂದು ಕಳಪೆ: ಗೋಡೆಗಳು ಕಾಗದದ ತೆಳುವಾದವು, ನಿಮಗೆ ಮುಂದಿನ ಮತ್ತು ಹಜಾರದ ಕೋಣೆಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದು ಶಬ್ದವನ್ನೂ ನೀವು ಅಕ್ಷರಶಃ ಕೇಳಬಹುದು. ನಾನು ಸೂಕ್ತ ಸ್ಥಳಕ್ಕಾಗಿ ಮತ್ತೆ ಇಲ್ಲಿಯೇ ಇರುತ್ತೇನೆ, ಆದರೆ ನಿಮಗೆ ಒಳ್ಳೆಯ ರಾತ್ರಿಗಳು ಬೇಕಾಗಿದ್ದರೆ, ಶಬ್ದದ ಕಾರಣದಿಂದಾಗಿ ಮರುಪರಿಶೀಲಿಸಿ." } ] } } } } ], "status": "sucesso", "métricas": { "elapsedTime" (tempo decorrido): "3.604226917s", "executionTime": "3.604175923s", "resultCount": 6, "resultSize": 20088 } } |
3. API de linguagem natural do Google
A API de linguagem natural faz análise de sentimentos, análise de entidades, analisa a intenção e muito mais. Você pode invocar esses serviços apenas alterando os parâmetros do serviço.
Vamos usar os dados de avaliações de hotéis, que de fato têm algum conteúdo emocional!
1 2 3 4 5 6 7 8 9 10 |
SELECIONAR ginfo.review, ginfo.sentscore.documentSentiment.magnitude, ginfo.sentscore.documentSentiment.score DE ( SELECIONAR r.content AS revisão, curl("https://language.googleapis.com/v1/documents:analyzeSentiment?key=PUT SUA CHAVE AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": meus dados }) AS pontuação DE `viagem-amostra h USO CHAVES "hotel_10142" INÚTIL h.revisões r LET meus dados = '{"encodingType": "UTF8", "document": { "type": "PLAIN_TEXT", "content":"' || r.content || '"} }' ) ginfo |
Projetamos apenas os campos que nos interessam aqui: avaliação, magnitude e pontuação de sentimento. Consulte os documentos do Google para obter uma descrição completa do significado desses campos e do restante dos dados gerados.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
{ "requestID": "c7b66165-3d18-4a61-8b24-732afdd4714a", "assinatura": { "magnitude": "json", "revisão": "json", "pontuação": "json" }, "resultados": [ { "magnitude": 8.7, "revisão": "Essa deve ter sido a pior experiência que já tive em um hotel. Nossa reserva foi feita com dois meses de antecedência para um quarto para não fumantes com duas camas, de 2 a 7 de julho de 2010. Ficamos cinco noites por $190 por noite e foi isso que recebemos, um quarto para fumantes com uma cama, e só fomos informados na recepção que seria um quarto para fumantes, nada sobre a cama de solteiro, quando ela nos perguntou de quantas camas precisávamos, ah, eles forneceram uma cadeira de enrolar, só que tive que mover a cadeira para o corredor para caber a cama. O banheiro era tão pequeno que você tinha que entrar na banheira para fechar a porta, não havia frigobar no quarto, as portas eram baratas e horríveis. Só havia lençóis na cama, sem cobertores ou mantas, e, além disso, tive que pagar $14,95 por noite pela Internet. Jamais recomendarei esse hotel! Como é possível aceitar uma reserva e dizer que ela será mantida até as 10h da manhã seguinte e, ainda assim, não fornecer o que foi solicitado na reserva? E se alguém do meu grupo fosse alérgico a fumaça, asmático ou algo pior... não teríamos conseguido um quarto? completamente inaceitável. não é à toa que continuarei a me hospedar no comfort suites... internet gratuita, comodidades modernas (telas planas) e $85 por noite. insatisfeito não chega nem perto de como me sinto. a única coisa boa de toda essa estadia foi o biscoito quente quando cheguei e o meu nem estava quente. Você pode pegar esse biscoito e... bem, tenho certeza de que pode descobrir o resto. Obrigado por nada!", "pontuação": -0.4 }, { "magnitude": 4.1, "revisão": "OK - Reservei esse lugar cerca de 8 semanas antes da viagem, quando os quartos ainda custavam $116 para um sábado à noite no site do Doubletree/Hilton. À medida que a data da viagem se aproximava, eu refazia a cotação e a tarifa subia para mais de $200. $116 foi uma pechincha, mas o lugar não vale $200. Fiquei no quarto 1022 - muito pequeno, com um pouco de mofo no armário no canto, e bem no final do corredor dos armários do serviço de limpeza (eles batiam as portas dia e noite). A cama era confortável e a equipe foi muito cortês. Eu não sabia disso quando reservei o hotel, mas fiquei muito feliz ao ver que ele ficava no mesmo cruzamento do Harrah's Casino, então perdi $50. O hotel também fica bem próximo a uma parada de bonde na Canal Street. $116 - sim, eu me hospedaria lá novamente em um piscar de olhos. $200 - não é possível. Reserve com antecedência e tolere os inconvenientes em troca de um preço de barganha.", "pontuação": 0.1 }, { "magnitude": 4.5, "revisão": "Fiquei impressionado com meu quarto e com o ótimo atendimento que recebi na recepção. Achei a equipe prestativa e muito agradável. A localização era ótima, com fácil acesso a pé ao French Quarter, a outros pontos de interesse e a ótimos restaurantes nas imediações. O serviço de quarto foi pontual e meu café da manhã chegou quente e pronto para ser saboreado. Eu recomendaria esse hotel para o início de uma ótima estadia na Big Easy.", "pontuação": 0.9 }, { "magnitude": 5.9, "revisão": "O hotel está convenientemente localizado na Canal Street, na extremidade do French Quarter, perto do rio. Quando chegamos, os quartos estavam prontos para serem usados e o check-in foi tranquilo, os biscoitos eram incríveis! O louge no andar de baixo era um bom lugar para tomar um drinque antes de sair todas as noites. Estávamos a uma curta distância de tudo no French Quarter e foi fácil pegar um táxi em frente ao hotel. O bonde tem uma parada em frente ao hotel, o Harrah's fica ao lado, o aquário, o shopping e um cinema ficam do outro lado da rua. O restaurante do hotel era bom, não o melhor, considerando que se trata de Nova Orleans, mas bom para comida de hotel. Eu não tinha carro nessa viagem, mas é preciso pagar pelo estacionamento na maioria dos lugares do bairro. A piscina é pequena, mas agradável para passear no meio da tarde, e há uma pequena academia para um exercício rápido. Já me hospedei em muitos lugares no French Quarter ao longo dos anos e essa é uma das melhores experiências que tive. Fiquei agradavelmente surpreso com o quanto gostei da localização.", "pontuação": 0.5 }, { "magnitude": 3.3, "revisão": "O Doubltree está localizado perto de tantas atrações que quase nunca precisamos de um táxi durante todo o tempo em que estivemos lá. Os quartos limpos e bem conservados foram um prazer voltar para casa depois de um longo dia. Não tive nenhuma questão ou problema durante todo o tempo em que estive lá, desde um check-in caloroso e acolhedor (com um ótimo biscoito!) até um check-out eficiente. Eu certamente recomendaria o hotel a qualquer pessoa que eu conhecesse que estivesse viajando para o Big Easy.", "pontuação": 0.8 }, { "magnitude": 3.8, "revisão": "Nós nos hospedamos no Doubletree Hotel New Orleans pela primeira vez em 14 de fevereiro de 2009. O ponto positivo: o check-in foi rápido, os quartos eram confortáveis e muito limpos. Esqueci algumas comodidades e a equipe foi muito rápida em responder e trazer o que eu precisava. Todos os funcionários foram muito educados. Um ponto negativo: as paredes são finas como papel, você pode literalmente ouvir cada palavra nos quartos ao seu lado e no corredor. Eu ficaria aqui novamente pela localização ideal, mas se você precisar de uma boa noite de descanso, reconsidere devido ao barulho.", "pontuação": 0.5 } ], "status": "sucesso", "métricas": { "elapsedTime" (tempo decorrido): "3.905025161s", "executionTime": "3.893259752s", "resultCount": 6, "resultSize": 5256 } } |
A API de linguagem natural do Google também pode extrair entidades e suas referências na Web. Vamos dar uma olhada em um exemplo disso também.
1 2 3 4 5 6 7 8 9 10 |
SELECIONAR ginfo DE ( SELECIONAR nome, conteúdo, enrolar("https://language.googleapis.com/v1/documents:analyzeEntities?key=PUT SUA CHAVE AQUI", {"request" (solicitação): "POST", "cabeçalho":"Content-Type: application/json", "dados": meus dados }) AS pontuação DE `amostra de viagem` l USO CHAVES "landmark_10087" LET meus dados = '{"encodingType": "UTF8", "document": { "type": "PLAIN_TEXT", "content":"' || l.nome || " " || l.conteúdo || '"} }' ) ginfo |
A API de análise de entidades identifica corretamente o local e nos fornece as referências da Web (URLs) para o ponto de referência. Quando as referências não são muito específicas, como as William Team Rooms aqui, a API pode fornecer referências genéricas de alto nível.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
{ "requestID": "4e104224-fe2d-43a8-b86f-aca371987d75", "assinatura": { "ginfo": "json" }, "resultados": [ { "ginfo": { "content" (conteúdo): "Durante o movimento de temperança, a ideia de "tearooms", locais onde se podia relaxar e desfrutar de bebidas não alcoólicas em salas com temas diferentes, tornou-se popular em Glasgow. Este, projetado por Charles Rennie Mackintosh em 1904, foi o mais popular de sua época e foi restaurado com muito carinho.", "name" (nome): "Salões de chá Willow", "sentscore": { "entidades": [ { "menções": [ { "texto": { "beginOffset": 0, "content" (conteúdo): "Salões de chá Willow" }, "tipo": "PROPER" }, { "texto": { "beginOffset": 83, "content" (conteúdo): "lugares" }, "tipo": "COMUM" } ], "metadata": { "médio": "/m/0cpvtc", "wikipedia_url": "https://en.wikipedia.org/wiki/Willow_Tearooms" }, "name" (nome): "Salões de chá Willow", "saliência": 0.45414653, "tipo": "LOCAÇÃO" }, { "menções": [ { "texto": { "beginOffset": 28, "content" (conteúdo): "movimento de temperança" }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): "movimento de temperança", "saliência": 0.18415423, "tipo": "EVENTO" }, { "menções": [ { "texto": { "beginOffset": 53, "content" (conteúdo): "ideia" }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): "ideia", "saliência": 0.075759985, "tipo": "OUTROS" }, { "menções": [ { "texto": { "beginOffset": 61, "content" (conteúdo): """ }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): """, "saliência": 0.075759985, "tipo": "OUTROS" }, { "menções": [ { "texto": { "beginOffset": 171, "content" (conteúdo): "quartos" }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): "quartos", "saliência": 0.059097562, "tipo": "LOCAÇÃO" }, { "menções": [ { "texto": { "beginOffset": 136, "content" (conteúdo): "refrescos" }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): "refrescos", "saliência": 0.051312122, "tipo": "OUTROS" }, { "menções": [ { "texto": { "beginOffset": 67, "content" (conteúdo): "tearooms"" }, "tipo": "PROPER" } ], "metadata": { "médio": "/g/11b6hv7vlz", "wikipedia_url": "https://en.wikipedia.org/wiki/Tearoom_(UK_and_US)" }, "name" (nome): "tearooms"", "saliência": 0.045740306, "tipo": "ORGANIZAÇÃO" }, { "menções": [ { "texto": { "beginOffset": 196, "content" (conteúdo): "Glasgow" }, "tipo": "PROPER" } ], "metadata": { "médio": "/m/0hyxv", "wikipedia_url": "https://en.wikipedia.org/wiki/Glasgow" }, "name" (nome): "Glasgow", "saliência": 0.028563324, "tipo": "LOCAÇÃO" }, { "menções": [ { "texto": { "beginOffset": 275, "content" (conteúdo): "popular" }, "tipo": "COMUM" } ], "metadata": {}, "name" (nome): "popular", "saliência": 0.02095558, "tipo": "OUTROS" }, { "menções": [ { "texto": { "beginOffset": 227, "content" (conteúdo): "Charles Rennie Mackintosh" }, "tipo": "PROPER" } ], "metadata": { "médio": "/m/0f7tt", "wikipedia_url": "https://en.wikipedia.org/wiki/Charles_Rennie_Mackintosh" }, "name" (nome): "Charles Rennie Mackintosh", "saliência": 0.0045103845, "tipo": "PERSON" } ], "idioma": "en" } } } ], "status": "sucesso", "métricas": { "elapsedTime" (tempo decorrido): "158.149783ms", "executionTime": "158.101909ms", "resultCount": 1, "resultSize": 8125 } } |
Resumo:
Os aplicativos Couchbase N1QL podem usar facilmente as APIs de aprendizado de máquina do Google para melhorar a experiência do cliente. O CURL() oferece um método flexível para usar os serviços de IA não apenas do Google, mas também de outros fornecedores. Experimente.
Referências:
1. N1QL: https://docs.couchbase.com/server/5.5/n1ql/n1ql-language-reference/index.html
2. Documentação do CURL(): https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/curl.html
3. CURL chega ao N1QL: https://dzone.com/articles/curl-comes-to-n1ql-querying-external-json-data