{"id":33865,"date":"2019-10-31T21:55:06","date_gmt":"2019-10-31T18:55:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing\/"},"modified":"2019-10-31T21:55:06","modified_gmt":"2019-10-31T18:55:06","slug":"microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing","title":{"rendered":"A Microsoft abriu o c\u00f3digo da biblioteca de pesquisa vetorial usada no Bing","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Empresa Microsoft <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/ai\/bing-vector-search\/\">publicou<\/a><\/noindex> textos de origem da biblioteca de aprendizado de m\u00e1quina <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/SPTAG\">SPTAG<\/a><\/noindex> (Space Partition Tree And Graph) com implementa\u00e7\u00e3o do algoritmo de busca aproximada <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B1%D0%BB%D0%B8%D0%B6%D0%B0%D0%B9%D1%88%D0%B5%D0%B3%D0%BE_%D1%81%D0%BE%D1%81%D0%B5%D0%B4%D0%B0\">do vizinho mais pr\u00f3ximo<\/a><\/noindex>. A biblioteca <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ailab.microsoft.com\/vectorsearchexperiment\">foi desenvolvida<\/a><\/noindex> na divis\u00e3o de pesquisa da Microsoft Research e no centro de desenvolvimento de tecnologias de busca (Microsoft Search Technology Center). Na pr\u00e1tica, o SPTAG \u00e9 aplicado no mecanismo de pesquisa Bing para determinar os resultados mais relevantes considerando o contexto das consultas. O c\u00f3digo \u00e9 escrito em C++ e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/SPTAG\">\u00e9 distribu\u00eddo<\/a><\/noindex> sob licen\u00e7a MIT. \u00c9 suportado pela constru\u00e7\u00e3o para Linux e Windows. H\u00e1 uma integra\u00e7\u00e3o para a linguagem Python.<\/p>\n<p>Embora as ideias de aplica\u00e7\u00e3o de reposit\u00f3rios vetoriais em mecanismos de busca sejam conhecidas h\u00e1 bastante tempo, na pr\u00e1tica sua implementa\u00e7\u00e3o \u00e9 dificultada pela grande demanda de recursos nas opera\u00e7\u00f5es com vetores e por limita\u00e7\u00f5es em escalabilidade. A combina\u00e7\u00e3o de m\u00e9todos de aprendizado profundo com algoritmos de busca aproximada do vizinho mais pr\u00f3ximo permitiu alcan\u00e7ar um desempenho e escalabilidade em sistemas vetoriais a um n\u00edvel aceit\u00e1vel para grandes mecanismos de busca. Por exemplo, no Bing, para um \u00edndice vetorial com mais de 150 bilh\u00f5es de vetores, o tempo para selecionar os resultados mais relevantes \u00e9 inferior a 8 ms.<\/p>\n<p>A biblioteca inclui ferramentas para constru\u00e7\u00e3o de \u00edndices e organiza\u00e7\u00e3o de busca de vetores, al\u00e9m de um conjunto de ferramentas para manter um sistema de busca online distribu\u00eddo, abrangendo cole\u00e7\u00f5es muito grandes de vetores. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/SPTAG\/blob\/master\/docs\/GettingStart.md\">Os seguintes m\u00f3dulos s\u00e3o propostos: index builder para indexa\u00e7\u00e3o, searcher para busca utilizando o \u00edndice, distribu\u00eddo em um cluster de v\u00e1rios n\u00f3s, servidor para executar manipuladores nos n\u00f3s, Aggregator para combinar v\u00e1rios servidores em um s\u00f3 sistema e cliente para enviar consultas. O suporte \u00e9 garantido para inclus\u00e3o de novos vetores no \u00edndice e remo\u00e7\u00e3o de vetores em tempo real.<\/a><\/noindex> A biblioteca assume que os dados processados e apresentados na cole\u00e7\u00e3o est\u00e3o formatados como vetores relacionados, que podem ser comparados com base em<\/p>\n<p>dist\u00e2ncias euclidianas <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%95%D0%B2%D0%BA%D0%BB%D0%B8%D0%B4%D0%BE%D0%B2%D0%B0_%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B0\">(L2) ou<\/a><\/noindex> dist\u00e2ncias cosinusais. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%D0%BD%D1%82_%D0%9E%D1%82%D0%B8%D0%B0%D0%B8\">Na consulta de busca, s\u00e3o retornados vetores cuja dist\u00e2ncia em rela\u00e7\u00e3o ao vetor original \u00e9 m\u00ednima. No SPTAG, s\u00e3o oferecidos dois m\u00e9todos para organiza\u00e7\u00e3o do espa\u00e7o vetorial: SPTAG-KDT (\u00e1rvore K-dimensional (<\/a><\/noindex> kd-tree<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/K-%D0%BC%D0%B5%D1%80%D0%BD%D0%BE%D0%B5_%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE\">grafos de vizinhan\u00e7a relativa<\/a><\/noindex>) e <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D1%80%D0%B0%D1%84_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%BE%D0%BA%D1%80%D0%B5%D1%81%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9\">) e SPTAG-BKT (\u00e1rvore de k-m\u00e9dias (<\/a><\/noindex>k-means tree<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_k-%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D1%85\">\u00e1rvore k-means<\/a><\/noindex> e gr\u00e1fico de vizinhan\u00e7as relativas). O primeiro m\u00e9todo exige menos recursos ao trabalhar com o \u00edndice, enquanto o segundo demonstra maior precis\u00e3o nos resultados de busca em cole\u00e7\u00f5es de vetores muito grandes.<\/p>\n<p>Nesse contexto, a busca vetorial n\u00e3o se limita a textos e pode ser aplicada a informa\u00e7\u00f5es multim\u00eddia e imagens, bem como em sistemas de gera\u00e7\u00e3o autom\u00e1tica de recomenda\u00e7\u00f5es. Por exemplo, em um dos prot\u00f3tipos baseado no framework PyTorch, foi implementado um sistema vetorial para busca levando em conta a similaridade de objetos em imagens, constru\u00eddo com dados de v\u00e1rias cole\u00e7\u00f5es de refer\u00eancia com imagens de animais, gatos e c\u00e3es, que foram transformados em conjuntos de vetores. Quando uma imagem de entrada \u00e9 recebida para busca, ela \u00e9 convertida utilizando um modelo de aprendizado de m\u00e1quina em um vetor, com base no qual, por meio do algoritmo SPTAG, os vetores mais semelhantes s\u00e3o selecionados do \u00edndice e, como resultado, as imagens relacionadas s\u00e3o retornadas.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50698\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f SPTAG (Space Partition Tree And Graph) \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0433\u043e \u0441\u043e\u0441\u0435\u0434\u0430. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0432 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 Microsoft Research \u0438 \u0446\u0435\u043d\u0442\u0440\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 (Microsoft Search Technology Center). \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 SPTAG \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Bing \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-33865","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 Bing | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:55:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47A Microsoft abriu o c\u00f3digo da biblioteca de busca vetorial usada no Bing | ProHoster","description":"A Microsoft publicou os c\u00f3digos-fonte da biblioteca de aprendizado de m\u00e1quina","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Microsoft \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 Bing | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Microsoft \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/microsoft-otkryl-kod-biblioteki-vektornogo-poiska-ispolzuemoj-v-bing","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:55:06+00:00","article:modified_time":"2019-10-31T18:55:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33865","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 17:01:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:32:26","updated":"2026-01-21 17:01:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=33865"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33865\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=33865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=33865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=33865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}