Date: 26.05.2024
Author: Damian Sałkowski (https://www.linkedin.com/in/damian-salkowski/)
- Scripts from the guide
- Purpose of the Material
- What are embeddings?
- Embeddings in Search Engines
- Examples & Further Explanations
- Step 1. Download the content from all URLs in the senuto.com domain
- Step 2. Convert the content into embeddings using the following script:
- 🐍 Script & Description of Its Functionality
- Step 3: Comparing the Query Embeddings with the Embeddings of Content from the Senuto Website
- 🐍 Script for Comparing Embeddings & Description
- Generating Topical Map
- 🐍 Script for Generating Content Maps & Description of Functionality
- What can be done with this?
- 🐍 Script for Selecting Target Destinations for Specific Keywords
- Other Ideas for Using This Information:
Scripts from the guide
All the 🐍 scripts used in this guide are placed in a Google Colab notebook. You can copy this notebook and run them on your own. You will need:
- An Open AI API key, which can be obtained here: Open AI Playground
- An API key for the Nomic.ai service, which can be obtained here: Nomic.ai Atlas
Google Colab notebook (you need to make a copy before using) containing all the scripts described below:
Purpose of the Material
The purpose of this material is to provide you with knowledge on using language models to create thematic maps. After reading, you will be able to create maps that look similar to the one below.
What are embeddings?
In the SEO and marketing industry, discussions about AI are dominated by ChatGPT and generative models like GPT-4. These are, of course, advanced technologies, but AI encompasses much more. There are also other types of models and AI techniques. One type of model that is widely used in both of these fields is embedding models. These models are not used for generating content or images; their purpose is to represent content through numbers.
Embedding models transform words, phrases, or documents into vectors of numerical representations. By converting language into numbers, we can perform mathematical operations on it, which opens up a wide range of possibilities.
Source: https://qdrant.tech/articles/what-are-embeddings/
Embeddings in Search Engines
These types of AI techniques are used in search engines, among other applications. Until 2013, Google was a lexical search engine. In other words, the query received by Google had to be present in the searched documents (search results). Since 2013 and the update called Hummingbird, Google started to describe itself as a semantic search engine, one that understands the user's intent and the meaning of their query. In 2013, Google was not yet using embedding models but was already utilizing simpler mechanisms like Word2Vec, which operated on a similar principle.
In 2018, Google announced a change in the algorithm called neural matching. Google claimed that this mechanism allowed it to better connect complex queries with concepts. At that time, it was using embedding models for this purpose. It is partly thanks to embedding models that Google became a semantic search engine, and today we widely discuss semantic SEO. To navigate the world of semantic search engines effectively, one must use similar mechanisms.
In this material, we will focus on the application of embedding models to create thematic maps. However, be aware that there are many more applications.
Examples & Further Explanations
The models are trained on massive text datasets. Through advanced text analysis, they understand the meaning and context of words.
To simplify, let's assume we have a 2-dimensional model and we want to compare green apples and red apples.
🍏 - The green apple is represented by the vectors [3,2]
🍎 - The red apple is represented by the vectors [3,4]
The number 3 corresponds to the type of fruit, which is an apple, while the numbers 2 and 4 correspond to their colors. This is how the visualization of these vectors looks in the 2D vector space.
By converting words into numbers, we can perform mathematical calculations on these numbers. There are several ways to compare the vector distance between vectors, such as cosine similarity. The formula used to calculate this distance is:
The cosine similarity for our vectors is approximately 0.94. This value is close to 1, which means the vectors are very similar in terms of direction. Cosine similarity measures the angle between vectors, and a result close to 1 indicates a small angle, meaning high similarity.
This example aimed to illustrate how it works; in practice, you don't need to perform these calculations yourself. 🙂
This was an example in 2D space. Embedding models available on the market (of which there are many) operate in multi-dimensional spaces. For example, OpenAI models have the following dimensions:
- text-embedding-3-small - 1536 dimensions
- text-embedding-3-large - 3072 dimensions
Each dimension encodes additional features or meanings. The more dimensions a model has, the better and more accurate the modeling it provides between words and their meanings.
Now, let's convert the text “What is semantic SEO?” into vectors using the text-embedding-3-large model from OpenAI.
import os
os.environ["OPENAI_API_KEY"] = "Wklej_swoj_klucz_open_ai"
# Konfiguracja modelu embeddingu
embed_model = OpenAIEmbedding(
model="text-embedding-3-large",
)
# Funkcja do uzyskania embeddingu
def get_embedding(text):
return embed_model.get_text_embedding(text)
# Nowy dataframe df2 do przechowywania zapytań i embeddingów
df2 = pd.DataFrame(columns=['query', 'embedding'])
# Ręcznie określone zapytanie
query = "Czym jest semantyczne SEO"
# Wygenerowanie embeddingu dla zapytania
embedding = get_embedding(query)
# Dodanie zapytania oraz embeddingu do dataframe df2
new_row = pd.DataFrame({'query': [query], 'embedding': [embedding]})
df2 = pd.concat([df2, new_row], ignore_index=True)
# Wyświetl dataframe df2
print(df2)
Results:
[-0.00030433578649535775, -0.008214818313717842, -0.0019278007093816996, -0.040367722511291504, 0.06880564242601395, -0.017018277198076248, 0.011851314455270767, 0.03832709789276123, 0.023074744269251823, -0.009261291474103928, -0.0065764328464865685, 0.004601213615387678, 0.020628612488508224, 0.0012827478349208832, -0.004198975395411253, 0.0226561538875103, 0.006056466139853001, 0.011007594875991344, 0.00880345981568098, -0.023728789761662483, 0.03346099331974983, 0.010935649275779724, 0.0084829768165946, -0.02036699280142784, 0.006285382434725761, 0.00403873436152935, 0.005523418541997671, 0.016612770035862923, -0.05030922219157219, -2.9329876269912347e-05, -0.022852368652820587, -0.014859925955533981, 0.02281312644481659, 0.0031541369389742613, -0.020301587879657745, 0.01010501105338335, 0.040341559797525406, 0.017986265942454338, 0.006452164147049189, 0.006717052776366472, 0.04141419380903244, 0.004427891690284014, 0.011766288429498672, 0.04259147867560387, -0.025455471128225327, -0.004339595325291157, -0.041152577847242355, -0.03636495769023895, -0.052506815642118454, 0.03142037242650986, 0.0022253915667533875, 0.023702628910541534, 0.018823444843292236, -0.02039315551519394, -0.018875768408179283, 0.016926711425185204, 0.01879728212952614, 0.02055012620985508, 0.020458560436964035, -0.0006045838235877454, -0.022590750828385353, 0.01682206429541111, -0.05078013241291046, -0.004212056286633015, 0.00907161831855774, -0.01520003005862236, 0.022577669471502304, -0.011452346108853817, 0.023231714963912964, 0.041335709393024445, -0.020497802644968033, -0.0031786637846380472, 0.020589368417859077, -0.02069401554763317, 0.006380219012498856, 0.0011028851149603724, 0.007161804009228945, 0.0009418262634426355, 0.0004680517013184726, -0.03945205733180046, -0.002491915365681052, -0.023048581555485725, 0.0008101995335891843, 0.004385378677397966, 0.02245994098484516, -0.0044082701206207275, -0.0117270452901721, -0.05546310171484947, 0.013126703910529613, -0.007331856060773134, -0.02230297029018402, -0.0004602849076036364, -0.022695397958159447, 0.01746302843093872, 0.08465971797704697, -0.008057846687734127, 0.006184005178511143, 0.0045129177160561085, -0.02121725305914879, 0.043271686881780624, 0.01924203336238861, -0.00027183786733075976, 0.006030304357409477, -0.019856836646795273, -0.017266815528273582, 0.007351477164775133, -0.010562843643128872, 0.001532920403406024, -0.04450129345059395, 0.021583519876003265, 0.014061989262700081, -0.024971477687358856, -0.004555430728942156, -0.018666474148631096, 0.0009974201675504446, 0.0049478583969175816, -0.022695397958159447, -0.013205189257860184, 0.007057156879454851, -0.0018247883999720216, -0.035658590495586395, 0.0026521566323935986, 0.008646488189697266, -0.01682206429541111, -0.011125323362648487, 0.03217906504869461, 0.02927510067820549, 0.003270230256021023, 0.01122997049242258, 0.0030870973132550716, 0.035187676548957825, 0.020916391164064407, -0.02622724510729313, 0.044710587710142136, -0.015566295944154263, 0.01733222045004368, 0.01598488539457321, 0.06006758660078049, 0.01794702373445034, -0.004418081138283014, -0.028385598212480545, -0.0002890065952669829, -0.005575742572546005, -0.02200210839509964, -0.002828749129548669, 0.023192472755908966, -0.01349951047450304, 0.03408887982368469, -0.034847572445869446, -0.023977328091859818, -0.024670615792274475, 0.014140475541353226, -0.013486429117619991, -0.008240980096161366, 0.00428727176040411, -0.01892809197306633, -0.0010930744465440512, -0.019817594438791275, 0.040681663900613785, 0.03673122450709343, 0.0009058537543751299, -0.026815887540578842, 0.025612441822886467, 0.0050590462051332, -0.02604411356151104, 0.02603103220462799, -0.015893317759037018, -0.00882308091968298, -0.026475783437490463, 0.024853749200701714, 0.027234476059675217, 0.027443772181868553, -0.009464045986533165, -0.027862360700964928, 0.031603503972291946, 0.029981469735503197, 0.023702628910541534, 0.007024454418569803, -0.038902658969163895, 0.03364412859082222, 0.0038130884058773518, -4.3075062421849e-05, 0.014755278825759888, -0.009810690768063068, -0.005533229559659958, -0.029222777113318443, 0.039687514305114746, -0.01083100214600563, 0.02248610183596611, 0.01748919114470482, 0.02604411356151104, -0.003229352179914713, 0.03223138675093651, -0.042146727442741394, -0.0067039718851447105, -0.022028271108865738, -0.03788234665989876, 0.017515351995825768, -0.027548419311642647, 0.0032015552278608084, -0.024709859862923622, -0.006900185719132423, 0.01894117332994938, -0.012322227470576763, 0.02035391330718994, 0.019189709797501564, -0.014428255148231983, -0.02493223547935486, 0.007783147972077131, -0.009346317499876022, 0.019372843205928802, -0.0006577250314876437, 0.020157698541879654, -0.040812473744153976, 0.014820682816207409, 0.016926711425185204, 0.004836670588701963, -0.01861415058374405, -0.006504487711936235, 0.0074757463298738, 0.005510337650775909, 0.009993823245167732, 0.007423422299325466, -0.027051344513893127, -0.03495221957564354, -0.0007513354066759348, 0.021779732778668404, -0.023820355534553528, 0.028045494109392166, -0.0420159175992012, -0.00441154045984149, 0.005503797437995672, 0.012165255844593048, 0.006906725931912661, 0.00333399954251945, -0.02765306644141674, 0.07377639412879944, -0.016795901581645012, -0.056718870997428894, 0.02828095108270645, -0.007586934138089418, 0.012812761589884758, -0.018339451402425766, -0.025586280971765518, 0.01618109829723835, -0.01731913909316063, 0.024186622351408005, 0.046358782798051834, -0.002845100127160549, 0.03330402448773384, -0.022930853068828583, 0.024186622351408005, -0.008352167904376984, 0.015500891022384167, -0.013002434745430946, 0.00699829263612628, 0.02133498154580593, 0.013362159952521324, 0.02828095108270645, 0.044893719255924225, -0.022891610860824585, 0.012106391601264477, -0.038588717579841614, 0.004015842452645302, -0.07236365228891373, -0.008639948442578316, 0.019634461030364037, 0.0013334363466128707, 0.04348098114132881, -0.0033781477250158787, 0.031786635518074036, -0.000472548243124038, 0.009038915857672691, 0.03605101630091667, 0.006331165786832571, -0.020118456333875656, 0.013264053501188755, 0.03605101630091667, 0.022080594673752785, -0.009365939535200596, 0.01197558268904686, -0.00760001502931118, 0.06011991202831268, 0.018208641558885574, 0.017397623509168625, -0.03272846341133118, -0.01683514565229416, 0.0032048255670815706, -0.02945823408663273, 0.033565640449523926, -0.02961520478129387, 0.01892809197306633, -0.008214818313717842, 0.02410813607275486, 0.0030364086851477623, 0.015003816224634647, -0.010765597224235535, -0.04546928033232689, -0.005006722174584866, -0.03783002123236656, 0.014441336505115032, -0.04057701677083969, 0.0234540905803442, 0.00295465299859643, 0.02136114425957203, 0.03848406672477722, 0.020589368417859077, 0.03199593350291252, -0.010817921720445156, 0.02864721603691578, 0.022054431959986687, -0.015121543779969215, 0.024225864559412003, -0.022289888933300972, -0.022852368652820587, 0.051172561943531036, -0.03626031056046486, 0.0019833946134895086, 0.025834817439317703, -0.002246648073196411, -0.00032804496004246175, -0.014859925955533981, -0.03220522776246071, 0.031289562582969666, -0.017881618812680244, 0.009195887483656406, 0.03976599872112274, 0.04549544304609299, 0.005029614083468914, 0.00772428372874856, 0.030373897403478622, -0.003649576799944043, -0.04769303649663925, 0.02553395740687847, -0.0037771158386021852, 0.026593511924147606, 0.0051113697700202465, 0.019451329484581947, -0.006141492165625095, 0.005948548670858145, 0.03327786177396774, -0.0469081811606884, -0.03811780363321304, -0.035527780652046204, -0.006380219012498856, 0.009928418323397636, 0.022080594673752785, -0.017999347299337387, 0.007423422299325466, 0.022760801017284393, 0.000589050177950412, -0.051198724657297134, -0.013525672256946564, -0.008679190650582314, 0.026462702080607414, -0.0038196288514882326, -0.007750445511192083, -0.01349951047450304, -0.0026685078628361225, 0.04159732908010483, 0.00012958286970388144, -0.009843393228948116, -0.006327895447611809, 0.051381856203079224, -0.015775591135025024, -0.03364412859082222, 0.014820682816207409, -0.03848406672477722, -0.016259584575891495, 0.04724828526377678, 0.006821699906140566, 0.04625413566827774, -0.008090549148619175, 0.005791577510535717, 0.01212601363658905, -0.047954656183719635, 0.013512590900063515, -0.005971440114080906, -0.007017913740128279, 0.01813015528023243, 0.018208641558885574, 0.008476436138153076, -0.014101232402026653, 0.045233823359012604, 0.009189346805214882, 0.007972820661962032, 0.04248683154582977, -0.023362524807453156, 0.03547545522451401, 0.004705861210823059, -0.004405000247061253, -0.026318812742829323, -0.03657425567507744, -0.028333274647593498, 0.03942589461803436, 0.03445514664053917, -0.008051306940615177, -0.024317432194948196, -0.0226561538875103, -0.0420682393014431, 0.029353585094213486, -0.03832709789276123, 0.029248937964439392, 0.013152865692973137, -0.020667854696512222, -0.006932887714356184, -0.028228627517819405, -0.029536718502640724, -0.0012304241536185145, 0.02234221249818802, -0.0021616220474243164, -0.04970749840140343, -0.03455979377031326, 0.028333274647593498, -0.0033438103273510933, 0.027234476059675217, -0.01618109829723835, 0.046332620084285736, 0.012812761589884758, -0.026279568672180176, -0.030452383682131767, 0.015056139789521694, 0.04565241187810898, 0.026972858235239983, -0.025010719895362854, -0.0074757463298738, -0.04076014831662178, 0.04706515371799469, 0.0017871807795017958, -0.027051344513893127, -0.032283712178468704, -0.003610334126278758, 0.03798699378967285, -0.01797318458557129, -0.023061662912368774, 0.021112605929374695, 0.004911885596811771, 0.05436430498957634, -0.014611388556659222, -0.01278005912899971, -0.030661677941679955, -0.007508448325097561, -0.03735911101102829, -0.012982813641428947, -0.017554596066474915, -0.03950437903404236, 0.009235129691660404, -0.004542349837720394, 0.03976599872112274, -0.022054431959986687, -0.05143418163061142, 0.025651685893535614, 0.021086443215608597, -0.02069401554763317, -0.009993823245167732, -0.027783876284956932, 0.016233421862125397, 0.037149813026189804, -0.0019833946134895086, -0.03429817408323288, 0.0010505614336580038, 0.030870972201228142, 0.016717417165637016, -0.02231604978442192, 0.0015067585045471787, 0.016272665932774544, -0.012021366506814957, -0.032414522022008896, 0.005265070591121912, 0.011380400508642197, 0.0007603284902870655, -0.01520003005862236, 0.093868687748909, 0.030452383682131767, -0.004359216894954443, 0.02524617686867714, -0.018326370045542717, -0.011485048569738865, -0.001248410320840776, 0.0008453545160591602, 0.027548419311642647, -0.0003615648311097175, 0.008777298033237457, -0.0355801023542881, 0.0004999364609830081, 0.022446859627962112, 0.004136841278523207, -0.009601395577192307, -0.001355510437861085, -0.04557392746210098, -0.004996911622583866, 0.008810000494122505, 0.0013669561594724655, -0.03783002123236656, -0.03304240480065346, -0.02167508564889431, -0.014114313758909702, -0.02053704485297203, 0.023571819067001343, 0.04384724423289299, -0.01891501061618328, -0.00212074420414865, 0.0015860616695135832, -0.02328403852880001, -0.026004869490861893, 0.009058537892997265, 0.02862105518579483, -0.01253152173012495, 0.005827550310641527, 0.04316703975200653, 0.02493223547935486, -0.021792814135551453, -0.012106391601264477, -0.01012463215738535, 0.02573017030954361, 0.020955635234713554, -0.025455471128225327, -0.03272846341133118, 0.0037019005976617336, 0.006932887714356184, 0.02765306644141674, 0.008783837780356407, 0.010333927348256111, -0.007613095920532942, 0.0062526799738407135, -0.00986955501139164, -0.006628756411373615, 0.011812071315944195, 0.04512917622923851, -0.008430653251707554, -0.018522582948207855, -0.0064881364814937115, -0.023689547553658485, 0.02783619984984398, -0.03683587163686752, 0.039739836007356644, -0.018601069226861, 0.038274772465229034, -0.016560444608330727, -0.03361796587705612, -0.024461321532726288, 0.009202427230775356, 0.0004063260857947171, 0.023035502061247826, -0.014258203096687794, -0.012806220911443233, 0.04335017129778862, -0.03547545522451401, 0.006157843396067619, 0.046672724187374115, 0.042120564728975296, -0.022355293855071068, 0.014467498287558556, 0.01796010322868824, 0.015134625136852264, -0.01067403145134449, 0.0016015951987355947, 0.0193990059196949, -0.02327095717191696, 0.03450746834278107, -0.01187747623771429, -0.014048908837139606, 0.027940846979618073, 0.004388649016618729, 0.008698811754584312, -0.0002957514370791614, 0.020929472520947456, -0.015540133230388165, -0.02087714895606041, 0.005667308811098337, -0.02731296233832836, 0.011491588316857815, -0.019961485639214516, 0.019045820459723473, 0.023349443450570107, 0.03576323762536049, 0.004699320532381535, 0.003355256048962474, 0.012001744471490383, 0.00010158152144867927, 0.005121180322021246, 0.01844409853219986, 0.016128774732351303, 0.03513535112142563, 0.008149413391947746, 0.02055012620985508, 0.005147342104464769, -0.07241597771644592, -0.022577669471502304, -0.03152501955628395, 0.030687840655446053, 0.007593474350869656, -0.012008285149931908, 0.01925511471927166, -0.03837941959500313, -0.01730605773627758, 0.01567094214260578, 0.008927728049457073, 0.014048908837139606, -0.02408197522163391, -0.00019141065422445536, -0.021766651421785355, 0.03105410560965538, -0.0019588677678257227, -0.023231714963912964, 0.015108463354408741, 0.008116710931062698, 0.05399804189801216, -0.005281421821564436, 0.010046146810054779, 0.036495767533779144, 0.02166200429201126, 0.007613095920532942, -0.02200210839509964, -0.032754626125097275, -0.012171796523034573, 0.022682316601276398, -0.011360779404640198, -0.013512590900063515, -0.003999491687864065, 0.003773845499381423, 0.01635115034878254, -0.013708804734051228, -0.03327786177396774, 0.0007337579154409468, 0.009575233794748783, 0.005389339290559292, -0.020759420469403267, 0.02213291823863983, 0.007881254889070988, 0.0011503034038469195, 0.02117801085114479, -0.0037476837169378996, -0.0153570007532835, -0.007272991817444563, -0.020994877442717552, 0.02396424673497677, -0.0031884743366390467, -0.02634497359395027, -0.01319210883229971, 0.022721558809280396, -0.02799317054450512, -0.009535991586744785, 0.014454416930675507, -0.005634606350213289, 0.019137386232614517, -0.016377313062548637, -0.02686821110546589, 0.004653537645936012, -0.020628612488508224, 0.013015516102313995, 0.00969950295984745, -0.0022907962556928396, 0.005693470593541861, 0.03900730609893799, 0.008489517495036125, 0.04290542006492615, -0.013734966516494751, 0.011341158300638199, 0.010889866389334202, -0.0006814342341385782, -0.02006613276898861, -0.013564914464950562, 0.04172813519835472, 0.031184915453195572, -0.04112641513347626, -0.001993205165490508, 0.015409324318170547, -0.017188329249620438, -0.01958213746547699, -0.019032739102840424, -0.03869336470961571, -0.021230334416031837, -0.011949420906603336, 9.754483471624553e-05, -0.020131537690758705, 0.01222412008792162, 0.007514989003539085, -0.0007186330622062087, -0.005984521005302668, -0.007469205651432276, -0.017083682119846344, -0.00230224197730422, -0.001481414306908846, -0.04952436685562134, -0.015291595831513405, 0.024304350838065147, 0.020013809204101562, 0.0013293485390022397, -0.005529959220439196, -0.048111625015735626, 0.0054547437466681, -0.00834562722593546, 0.005310853943228722, 0.025638604536652565, -0.0003611560387071222, -0.0218058954924345, -0.011707424186170101, -0.011543912813067436, -0.024683697149157524, 0.005379528738558292, -0.0033977690618485212, -0.0008445369312539697, -0.013604157604277134, 0.024343593046069145, 0.02507612481713295, 0.021125687286257744, -0.009117402136325836, -0.020602449774742126, -0.021897461265325546, 0.005713092163205147, 0.0006319719832390547, -0.016128774732351303, 0.03623415157198906, 0.031001782044768333, 0.009117402136325836, -0.008240980096161366, -0.02412121742963791, -0.02849024534225464, 0.03806547820568085, 0.009110861457884312, 0.009496748447418213, -0.0034729845356196165, -0.015121543779969215, -0.01924203336238861, 0.008646488189697266, -0.009254751726984978, -0.0016416555736213923, -0.007358017843216658, 0.0028385596815496683, -0.003080556867644191, 0.02601795084774494, 0.002609643619507551, 0.004470404703170061, 0.03707132861018181, 0.004924966488033533, 0.017371462658047676, -0.01262308843433857, 0.0029677338898181915, 0.009562153369188309, -0.0015051234513521194, -0.029222777113318443, 0.00907161831855774, 0.028751863166689873, 0.014428255148231983, -0.04426583647727966, -0.025285419076681137, -0.00945750530809164, -0.02170124650001526, -0.026423459872603416, 0.023493332788348198, -0.014493660070002079, 0.004974020179361105, -0.015762509778141975, 0.004270920529961586, 0.00392427621409297, 0.007933578453958035, -0.003682279260829091, -0.02170124650001526, 0.013708804734051228, 0.008568002842366695, 0.04641110450029373, -0.024225864559412003, 0.03505686670541763, 0.022891610860824585, 0.00469605065882206, -0.009254751726984978, -0.015134625136852264, 0.0024167001247406006, 0.04703899100422859, 0.050727810710668564, -0.00018006704340223223, 0.01598488539457321, -0.001182188163511455, -0.025298500433564186, -0.005130991339683533, 0.030007632449269295, 0.014009665697813034, -0.004198975395411253, -0.0020994876977056265, -0.012819302268326283, 0.024304350838065147, -0.05059700086712837, 0.039556704461574554, -0.01877112127840519, -0.01157661434262991, 0.001666999771259725, -0.036966681480407715, 0.03348715603351593, 0.00732531538233161, 0.031629666686058044, -0.01571018621325493, -0.008116710931062698, -0.014611388556659222, -0.021465791389346123, 0.006174194626510143, -0.04219904914498329, -0.004372297786176205, -0.013630319386720657, -0.024356674402952194, 0.042277537286281586, 0.020994877442717552, 0.01858798786997795, 0.046515755355358124, -0.007521529216319323, 0.021112605929374695, -0.008260601200163364, 0.02733912318944931, 0.00040346465539187193, 0.006128411274403334, -0.0097060427069664, 0.005925657227635384, 0.024055812507867813, 0.02311398647725582, 0.009784528985619545, -0.02359797991812229, -0.01649504154920578, -0.0018967335345223546, -0.003885033307597041, -0.047954656183719635, 0.03626031056046486, -0.00386214186437428, -0.012577305547893047, -5.881304605281912e-05, -0.0061087897047400475, 0.007214127574115992, 0.05645725503563881, 0.04251299053430557, 0.0029513826593756676, 0.005379528738558292, -0.010621707886457443, 0.005991061683744192, -0.012119472958147526, -0.006229788530617952, -0.004771265666931868, 0.007704662159085274, -0.03338250890374184, -0.00010076396574731916, -0.00849605817347765, 0.011216889135539532, 0.0022417427971959114, 0.0019572328310459852, -0.0040616258047521114, 0.0010252171196043491, 0.005323934834450483, -0.0071748849004507065, 0.013486429117619991, -0.0077569857239723206, 0.021936703473329544, -0.026083355769515038, -0.022433778271079063, -0.0054024201817810535, 0.03524000197649002, -0.026789724826812744, 0.025795575231313705, 0.010131172835826874, 0.0631023645401001, -0.01212601363658905, -0.009320155717432499, -0.0011666546342894435, -0.008221358992159367, 0.0169659536331892, 0.009274372830986977, 0.024330511689186096, -0.007913957349956036, -0.006880564149469137, -0.04512917622923851, -0.0194120854139328, -0.014559064991772175, -0.01779005117714405, 0.013237891718745232, -0.020981796085834503, -0.005765415728092194, 0.013813451863825321, -0.023493332788348198, -0.0014871371677145362, 7.036104216240346e-05, 0.006756295450031757, -0.023558737710118294, -0.008515679277479649, -0.005206206347793341, 0.02359797991812229, 0.004578322172164917, 0.005991061683744192, 0.03139420971274376, -0.020994877442717552, -0.005278151482343674, -0.006527379620820284, 0.021151848137378693, 0.00477453600615263, -0.002867991803213954, 0.01349951047450304, 0.033722613006830215, -0.007580393459647894, 0.03628647327423096, 0.0021011228673160076, 0.006788997910916805, 0.016586607322096825, -0.007266451604664326, -0.029798336327075958, 0.0019196250941604376, -0.02278696373105049, -0.017384544014930725, -0.021949784830212593, 0.02490607276558876, 0.010745976120233536, 0.034716762602329254, -0.0178031325340271, -0.025507794693112373, -0.008993132971227169, -0.020641691982746124, 0.01793394237756729, -0.004081247374415398, -0.026567349210381508, -0.02958904206752777, -0.035344649106264114, -0.021949784830212593, 0.0029448422137647867, 0.02183205634355545, -0.02671124041080475, 0.026410378515720367, 0.029196614399552345, 0.011530831456184387, -0.0202100221067667, 0.005150612443685532, -0.0061087897047400475, 0.012309146113693714, -0.021060282364487648, 0.006854402367025614, -0.03620798885822296, -0.020432397723197937, 0.02634497359395027, 0.04497220367193222, -0.005193125456571579, 0.006664729211479425, -0.009123941883444786, -0.018548745661973953, -0.01648196019232273, -0.03586788475513458, 0.027103668078780174, -0.004879183601588011, -0.03257149085402489, -0.014454416930675507, 0.006664729211479425, -0.004405000247061253, -0.0038654119707643986, 0.0007930308347567916, -0.0371759757399559, -0.016704335808753967, 0.01270157378166914, -0.01975218951702118, 0.013591076247394085, 0.0019114494789391756, 0.0019343411549925804, -0.027548419311642647, -0.03994913026690483, 0.008299844339489937, -0.04013226553797722, -0.005448203533887863, 0.005379528738558292, -0.03215290233492851, 0.006788997910916805, -0.0137480478733778, -0.005804658401757479, 0.008908106945455074, -0.024631373584270477, 0.022420698776841164, -0.014441336505115032, -0.0005722902715206146, -0.008718433789908886, -0.019647542387247086, -0.011825152672827244, -0.009791068732738495, -0.013473348692059517, -0.003682279260829091, -0.033225540071725845, 0.008162494748830795, -0.012891246937215328, -0.00035011902218684554, -0.02232913114130497, -0.02170124650001526, 0.037280622869729996, 0.02637113630771637, 0.02085098810493946, -0.003270230256021023, -0.03516151383519173, 0.02460521087050438, -0.015396243892610073, -0.06896261125802994, 0.010628247633576393, 0.02215907908976078, -0.012407253496348858, -0.0040420047007501125, -0.009313615038990974, 0.0033683371730148792, 0.012139094062149525, -0.005206206347793341, 0.016298826783895493, 0.013800371438264847, -0.029405908659100533, -0.02039315551519394, -0.036652740091085434, -0.0008069293107837439, 0.009810690768063068, -0.013630319386720657, 0.006553541403263807, -0.012655790895223618, -0.02089023031294346, -0.0105236005038023, -0.023689547553658485, 0.018601069226861, 0.014637550339102745, -0.023519495502114296, -0.03979216143488884, 0.014689873903989792, -0.000949184293858707, 0.04659423977136612, -0.021112605929374695, -0.015657862648367882, 0.03217906504869461, 0.0015991425607353449, 0.0016939792549237609, 0.0044965664856135845, 0.023663384839892387, 0.008339086547493935, 0.00356128066778183, 0.01060208585113287, 0.02346717193722725, 0.012492279522120953, 0.004813778679817915, -0.03594636917114258, 0.010248901322484016, 0.009352858178317547, -0.009804150089621544, 0.014742197468876839, -0.015252353623509407, -0.004869372583925724, -0.02815014123916626, -0.001320355455391109, 0.02213291823863983, -0.0014200974255800247, -0.014637550339102745, -0.0023545657750219107, -0.0049674795009195805, -0.011308455839753151, 0.006582973524928093, -0.02525925822556019, 0.010209658183157444, -0.012564224191009998, 0.029798336327075958, -0.019686786457896233, -0.003947167657315731, -0.000490125734359026, -0.027129828929901123, 0.006046655587852001, 0.0028434651903808117, 0.020746340975165367, 0.014820682816207409, 0.022276807576417923, 0.003554740222170949, -0.004990371409803629, -0.014886087737977505, 0.0036691981367766857, -0.009091239422559738, -0.022682316601276398, 0.012910868972539902, 0.014415174722671509, -0.008875404484570026, -0.019464408978819847, -0.024696778506040573, -0.006913266610354185, 0.01793394237756729, -0.005664038471877575, -0.0004114358453080058, 0.03299008309841156, -0.012845464050769806, -0.021949784830212593, 0.009169725701212883, 0.04871334880590439, -0.006030304357409477, -0.020275427028536797, -0.017554596066474915, -0.005196395795792341, 0.04065550118684769, -0.006658188533037901, 0.0034500928595662117, -0.002135460264980793, -0.014729117043316364, 0.008411032147705555, 0.009437884204089642, -0.025023801252245903, -0.016756659373641014, -0.00915010366588831, -0.003167217830196023, -0.017737727612257004, 0.012093311175704002, -0.011288834735751152, -0.043925732374191284, -0.0025327932089567184, -0.027731550857424736, -0.004624105524271727, -0.006154573056846857, 0.02817630209028721, -0.027129828929901123, 0.037908509373664856, -0.0008204189944081008, -0.015631699934601784, -0.0057098218239843845, 0.02574325166642666, -0.016115693375468254, -0.02150503359735012, 0.021936703473329544, 0.01582791469991207, 0.008620326407253742, 0.03246684372425079, -0.004257839638739824, 0.012511900626122952, -0.0077177430503070354, 0.007135642226785421, -0.0010154064511880279, 0.009849932976067066, -0.01365648116916418, 0.01390501856803894, -0.023676466196775436, -0.018169399350881577, -0.006743214558809996, -0.019333600997924805, -0.02247302234172821, 0.02992914617061615, 0.009941499680280685, -0.014297446236014366, 0.013054759241640568, -0.009424802847206593, 0.019673705101013184, 0.002065150300040841, 0.04552160203456879, -0.02639729715883732, 0.004817049019038677, -0.00849605817347765, 0.0022482832428067923, 0.019320519641041756, -0.02312706783413887, 0.004022383131086826, -0.03272846341133118, -0.017737727612257004, 0.009333237074315548, 0.017397623509168625, -0.003459903411567211, 5.068856626166962e-05, -0.0218058954924345, -0.009725664742290974, 0.0202492643147707, 0.027731550857424736, -0.01302859652787447, 0.014297446236014366, 0.005794847849756479, 0.007874714210629463, 0.009012754075229168, 0.006092438939958811, -0.00682824058458209, -0.04096944257616997, 0.0012385996524244547, 0.02038007415831089, -0.008796919137239456, -0.003728062380105257, 0.004159732721745968, -0.0007456124876625836, -0.019346682354807854, 0.0004036690224893391, 0.029405908659100533, 0.01616801880300045, 0.00939864106476307, -0.031760476529598236, -0.0029366665985435247, -0.015069220215082169, 0.019843757152557373, -0.006710512097924948, 0.005415501073002815, 0.011301915161311626, 0.0031459613237529993, -0.0014658806612715125, 0.01187747623771429, 0.015801751986145973, -0.013708804734051228, -0.004091057926416397, -0.004212056286633015, 0.004637186415493488, -0.0274960957467556, -0.009823771193623543, 0.0035841723438352346, -0.00817557517439127, 0.011164565570652485, -0.003600523341447115, 0.0387980118393898, 0.013865775428712368, 0.019765270873904228, 0.020759420469403267, -0.005768686067312956, -0.001971948891878128, 0.010307765565812588, -0.03055703081190586, 0.02474910207092762, -0.022878529503941536, 0.00040673487819731236, -0.016390394419431686, -0.0011805531103163958, -0.0008224628982134163, -0.009712583385407925, -0.02019694074988365, -0.003852331079542637, 0.005065586417913437, 0.013734966516494751, 0.004983830731362104, 0.024552887305617332, 0.014454416930675507, -0.008502598851919174, 0.0040452745743095875, 0.005788307171314955, -0.0024641184136271477, -0.006533919833600521, -0.0032914867624640465, -0.01465063076466322, 0.04185894504189491, 0.011118782684206963, 0.009091239422559738, -0.011125323362648487, 0.00920896790921688, 0.009640638716518879, 0.01586715690791607, 0.03186512365937233, -0.005294502712786198, 0.0019261655397713184, -0.020406236872076988, -0.023061662912368774, 0.01989608071744442, 0.008738054893910885, 0.009437884204089642, 0.01189709734171629, -0.024644454941153526, 0.0034500928595662117, -0.017737727612257004, -0.007750445511192083, -0.009817230515182018, -0.01894117332994938, 0.02930126152932644, 0.0006691708695143461, -0.03123723901808262, 0.01680898293852806, 0.020929472520947456, -0.0018247883999720216, 0.0026358054019510746, 0.033094730228185654, -0.010006904602050781, -0.01971294730901718, -0.032440684735774994, -0.020798664540052414, 0.023401767015457153, 0.006481596268713474, 0.011661640368402004, 0.002007921226322651, -0.02815014123916626, -0.017593838274478912, 0.009738745167851448, 0.0034010394010692835, 0.008280222304165363, 0.02607027441263199, -0.014441336505115032, -0.003482795087620616, 0.013970423489809036, 0.00800552312284708, 0.025115367025136948, -0.024500563740730286, 0.0004206333542242646, -0.0105039793998003, 0.026475783437490463, 0.0021092984825372696, -0.0194382481276989, -0.003548199776560068, 0.029039643704891205, 0.015317757613956928, -0.003921005874872208, 0.020589368417859077, -0.011589695699512959, -0.005036154296249151, 0.011655100621283054, 0.0031950147822499275, 0.03142037242650986, -0.031812798231840134, -0.006609135307371616, -0.008849242702126503, -0.024801425635814667, -0.000389361783163622, 0.03408887982368469, -0.05159115046262741, -0.03380109742283821, -0.0037869266234338284, -0.020837906748056412, -0.009019294753670692, -0.033068567514419556, -0.0003090367536060512, -0.0067235929891467094, 0.003253879025578499, 0.004136841278523207, -0.011687802150845528, 0.010667490772902966, -0.002931761322543025, -0.024304350838065147, -0.008182115852832794, -0.017423786222934723, 0.003177028615027666, 0.010778678581118584, 0.011203808709979057, -0.004754914436489344, -0.00915010366588831, -0.015396243892610073, -0.04421351104974747, 0.0016302097355946898, 0.002070055576041341, 0.007606555242091417, 0.025782493874430656, 0.01843101717531681, 0.00038302570465020835, 0.011589695699512959, 0.005369717720896006, -0.026972858235239983, -0.017044439911842346, 0.007358017843216658, -0.022028271108865738, -0.013813451863825321, 0.018339451402425766, 0.017750808969140053, 0.00840449146926403, 0.0067759170196950436, 0.00952945090830326, 0.010006904602050781, -0.016534283757209778, -0.010589005425572395, 0.0242912694811821, -0.012740816920995712, -0.028856510296463966, 0.019333600997924805, -0.010418953374028206, -0.0003090367536060512, 0.035004545003175735, -0.02618800289928913, -0.004630645737051964, 0.028437921777367592, 0.003175393445417285, -0.012557683512568474, 0.002498455811291933, -0.025128448382019997, 0.008855783380568027, -0.02522001415491104, 0.005281421821564436, 0.018313288688659668, 0.0018493151292204857, 0.023689547553658485, 0.008450274355709553, -0.006638567429035902, 0.026109518483281136, -0.03215290233492851, 0.019869918003678322, -0.012368010357022285, -0.05080629512667656, 0.004954398609697819, 0.03024308755993843, -0.0007627811864949763, -0.014179717749357224, -0.01107953954488039, -0.016782820224761963, -0.027574580162763596, -0.025102287530899048, -0.0022744450252503157, 0.009248211048543453, -0.0006421914440579712, 0.0005310036358423531, 0.007809309754520655, -0.0011045202845707536, 0.03121107630431652, -0.007580393459647894, 0.011373860761523247, -0.004705861210823059, -0.0016637295484542847, -0.00922204926609993, -0.04000145569443703, -0.006435812916606665, -0.0004635551304090768, -0.02507612481713295, -0.010418953374028206, 0.006278841756284237, 0.017044439911842346, -0.02359797991812229, -0.007783147972077131, -0.009437884204089642, 0.016246503219008446, 0.02557319961488247, 0.01043203379958868, 0.0050950185395777225, 0.03853639215230942, 0.030661677941679955, -0.01973911002278328, 0.00574906449764967, 0.004097598604857922, -0.01261000707745552, 0.0006438265554606915, 0.015213110484182835, -0.03042622096836567, 0.029719851911067963, -0.005641147028654814, -0.019294358789920807, 0.0021011228673160076, 0.0020945824217051268, 0.017240652814507484, -0.00554631045088172, 0.008084009401500225, 0.0026210895739495754, 0.013931180350482464, -0.04659423977136612, 0.015265434049069881, 0.02019694074988365, -0.0054351226426661015, -0.012708114460110664, -0.008299844339489937, -0.016246503219008446, -0.004084517247974873, -0.006010683253407478, -0.004960939288139343, -0.0028173031751066446, -0.01992224156856537, -0.005896225105971098, -0.005771956406533718, 0.011864394880831242, -0.03932124748826027, -0.01714908704161644, 0.022028271108865738, -0.0193990059196949, 0.008633407764136791, -0.0009426438482478261, -0.0037574945017695427, -0.015409324318170547, 0.0029366665985435247, -0.017057521268725395, -0.024186622351408005, -0.04070782661437988, -0.02607027441263199, 0.013682642951607704, -0.04076014831662178, 0.0014315432636067271, 0.005850441753864288, 0.027626903727650642, 0.0024755641352385283, 0.02974601276218891, -0.008450274355709553, -0.004823589697480202, 0.036312635987997055, -0.015631699934601784, -0.00019294358207844198, -0.004591403063386679, -0.011210349388420582, 0.017384544014930725, 0.014742197468876839, -0.02393808402121067, -0.011831692419946194, -0.04594019427895546, -0.01717524789273739, -0.011713964864611626, -0.043297845870256424, -0.03283311054110527, 0.00016453345597255975, 0.012407253496348858, 0.013617238029837608, 0.00799898337572813, 0.012825842946767807, -0.009993823245167732, 0.00630500353872776, -0.011713964864611626, -0.05546310171484947, 0.01973911002278328, -0.000980251468718052, 0.009372479282319546, -0.019045820459723473, -0.009104320779442787, -0.012152175419032574, -0.0027224665973335505, -0.0007268086774274707, -0.01922895386815071, 0.022355293855071068, 0.012551143765449524, -0.022394536063075066, 0.006628756411373615, 0.004467134363949299, -0.007560771889984608, 0.012963192537426949, 0.022878529503941536, 0.013120163232088089, -0.007129101548343897, 0.01796010322868824, 0.03448130562901497, 0.01990916207432747, -0.01922895386815071, 0.019137386232614517, -0.010340468026697636, 0.003358526388183236, -0.0023300389293581247, -0.027757713571190834, -0.017109844833612442, 0.03299008309841156, -0.007403801195323467, 0.0010448385728523135, 0.007946658879518509, 0.003806547960266471, 0.018849605694413185, 0.007691581267863512, 0.006066277157515287, -0.004542349837720394, -0.012714655138552189, -0.013113622553646564, 5.5696105846436694e-05, 0.021426547318696976, 0.007946658879518509, 0.009058537892997265, -0.012551143765449524, -0.013591076247394085, -0.002127284649759531, 0.009385560639202595, 0.024395916610956192, 0.002200864953920245, 0.02537698671221733, -0.017018277198076248, -0.004777806345373392, 0.002333309268578887, 0.00622651819139719, 0.031472694128751755, -0.03704516589641571, 0.034847572445869446, 0.022904692217707634, -0.0054351226426661015, -0.009228589944541454, 0.0038196288514882326, -0.005755605176091194, -0.016128774732351303, 0.014585226774215698, -0.0024019840639084578, 0.013957342132925987, -0.003358526388183236, 0.004548890050500631, 0.01090294774621725, 0.014336689375340939, 0.009058537892997265, -0.00020827278785873204, 0.005235638469457626, 0.004470404703170061, -0.017907779663801193, -0.004594673402607441, 0.013643399812281132, -0.018313288688659668, 0.011942880228161812, 0.012112932279706001, -0.0016956143081188202, 0.011144944466650486, -0.0006589513504877687, -0.0025295231025666, -0.0084829768165946, 0.007456124760210514, -0.016782820224761963, -0.007992442697286606, 0.018705716356635094, 0.012734276242554188, 0.008659569546580315, -0.008783837780356407, 0.006249409634619951, -0.018313288688659668, -0.014886087737977505, -0.03380109742283821, 0.01730605773627758, 0.0071748849004507065, 0.005477635655552149, -0.012132554315030575, 2.8052443667547777e-05, 0.009594854898750782, 0.013931180350482464, 0.015082301571965218, 0.020497802644968033, -0.004473675042390823, -0.01652120240032673, 0.013309836387634277, 0.009581774473190308, -0.0032882164232432842, -0.003822898957878351, 0.0032113660126924515, 0.010203118436038494, 0.01107953954488039, -0.013721886090934277, 0.010628247633576393, -0.010209658183157444, 0.004450783133506775, 0.005212747026234865, 0.020118456333875656, 0.00939210131764412, -0.0007133189355954528, 0.022289888933300972, -0.002465753583237529, -0.0003820037527475506, -0.004561970941722393, 0.0034239310771226883, -0.016612770035862923, 0.0036430363543331623, 0.0109094874933362, -0.010222739540040493, -0.001473238691687584, 0.019477490335702896, -0.000579648301936686, -0.011622398160398006, -0.020471639931201935, 0.02489299140870571, -0.005824279971420765, 0.038405582308769226, -0.03845790773630142, -0.004751644562929869, -0.006756295450031757, 0.002719196258112788, -0.011197268031537533, 0.01230260543525219, 0.015592457726597786, -0.01010501105338335, -0.013551834039390087, 0.018862687051296234, 0.0054024201817810535, 0.003427201183512807, 0.005899494979530573, -0.0005469460156746209, 0.029013482853770256, 0.009849932976067066, 0.009025835432112217, -0.004146651830524206, 0.006030304357409477, 0.024487484246492386, -0.010347007773816586, 0.008129792287945747, -0.0067955381236970425, 0.01603720895946026, -0.004545619711279869, 0.004169543273746967, -0.011772828176617622, 0.017881618812680244, 0.010222739540040493, 0.0011854583863168955, 0.004745103884488344, 0.0017283166525885463, -0.01157007459551096, 0.011903638020157814, 0.011347698979079723, -0.004058355465531349, -0.01195596158504486, 0.016769740730524063, -0.02637113630771637, -0.010137713514268398, -0.002025907626375556, 0.02117801085114479, 0.002513171872124076, -0.010987973771989346, -0.012825842946767807, 0.003603793680667877, -0.008764216676354408, -0.012681952677667141, 0.00874459557235241, 0.026815887540578842, -0.026554269716143608, -0.002684858860448003, -0.0218189749866724, -0.006900185719132423, -0.003885033307597041, -0.022211402654647827, -0.015906399115920067, 0.0019833946134895086, 0.006390029564499855, 0.007685041055083275, 0.03108026646077633, -0.007488827221095562, 0.00573925394564867, 0.010490898042917252, -0.010059228166937828, -0.015108463354408741, 0.0002303468354512006, -0.009058537892997265, 0.006847862154245377, -0.003358526388183236, 0.032414522022008896, 0.010811381042003632, -0.01077213790267706, 0.016717417165637016, -0.019281277433037758, -0.0161941796541214, -0.030714001506567, -0.0017757349414750934, 0.01809091307222843, 0.019163548946380615, -0.015265434049069881, 0.004212056286633015, 0.0070309946313500404, 0.008770757354795933, -0.009437884204089642, 0.003927546553313732, -0.0012704844120889902, -0.012910868972539902, 0.014545983634889126, 0.00031516843591816723, -0.006494677159935236, 0.016442717984318733, 0.0020504342392086983, -0.018862687051296234, -0.005644417367875576, -0.0012492279056459665, -0.0010889866389334202, -0.009915337897837162, 0.00905199721455574, -0.011282294057309628, -0.0032767707016319036, 0.00542204175144434, -0.016534283757209778, 0.0026603322476148605, -0.01122997049242258, 0.002575306221842766, -0.008829621598124504, 0.011360779404640198, -0.01357799582183361, -0.004686239641159773, 0.03479524701833725, 0.013309836387634277, 0.0054547437466681, 0.006978671066462994, 0.0028483704663813114, -0.009091239422559738, -0.0019049090333282948, -0.018077831715345383, 0.01085062325000763, 0.002601468004286289, -0.0064848666079342365, -0.0030462194699794054, 0.002506631426513195, -0.006461974699050188, -0.013244432397186756, -0.002503361087292433, 0.008790378458797932, 0.0025099015329033136, -0.004545619711279869, 0.0022188511211425066, 0.006242869421839714, 0.01181861199438572, 0.017580756917595863, 7.485761307179928e-05, -0.003544929437339306, 0.0004210421466268599, 0.006383489351719618, -0.014833764173090458, -0.00521601689979434, 0.008227898739278316, 0.023336362093687057, 0.016390394419431686, -0.005958359222859144, -0.010549762286245823, 0.015317757613956928, -0.010628247633576393, 0.020497802644968033, -0.0021681624930351973, 0.01465063076466322, -0.021269576624035835, -0.043585628271102905, -0.0059452783316373825, 0.017567675560712814, 0.020000727847218513, -0.007148723118007183, -0.021766651421785355, -0.020131537690758705, 0.006625486072152853, -0.004620835185050964, 0.011524290777742863, 0.006393299903720617, -0.024199703708291054, -0.003633225802332163, 0.019608300179243088, 0.010732895694673061, 0.011059918440878391, -3.5946981370216236e-05, 0.0010432034032419324, -0.02541622892022133, -0.0009320155950263143, -0.009555612690746784, -0.006203626748174429, -0.0003143508802168071, -0.003554740222170949, 0.025821737945079803, -0.019869918003678322, -0.0015942371683195233, 0.005762145388871431, -0.01793394237756729, 0.0004884906229563057, -0.006762836128473282, -0.007109480444341898, -0.020811744034290314, 0.022577669471502304, 0.001805167063139379, 0.015252353623509407, -0.01390501856803894, 0.009228589944541454, -0.005526688881218433, 0.005026343744248152, -0.0153570007532835, -0.015971804037690163, -0.0024461322464048862, -0.0005056593217886984, -0.012675411999225616, -0.008855783380568027, -0.008541841059923172, 0.008581084199249744, 0.009182806126773357, 0.01391809992492199, 0.0064292727038264275, 0.012315686792135239, -0.016207261011004448, -0.013538752682507038, -0.014859925955533981, -0.041989754885435104, -0.012590385973453522, -0.010327386669814587, -0.009496748447418213, 0.0073187751695513725, -0.004686239641159773, 0.0045848628506064415, 0.009169725701212883, -0.019843757152557373, -1.85611115739448e-05, 0.011962502263486385, -0.002740452764555812, -0.017920861020684242, 0.009326696395874023, 0.01652120240032673, -0.014807602390646935, -0.01107953954488039, 0.01744994893670082, 0.011844773776829243, -0.01599796675145626, -0.01797318458557129, 0.010726355016231537, 0.024487484246492386, -0.008783837780356407, -0.009274372830986977, 0.018875768408179283, -0.027783876284956932, 0.009758367203176022, -0.0015860616695135832, -0.00801860447973013, -0.00224501290358603, 0.0019278007093816996, 0.010968351736664772, 0.007397260516881943, -0.009961120784282684, -0.01012463215738535, -0.00834562722593546, 0.002315322868525982, 0.016769740730524063, 0.008711893111467361, -0.009123941883444786, 0.019778352230787277, -0.009365939535200596, 0.0007456124876625836, 0.0054187714122235775, 0.02103411965072155, -0.012021366506814957, -0.013473348692059517, -0.013486429117619991, 0.015788670629262924, -0.014990734867751598, 0.013375241309404373, -0.0018722068052738905, 0.02393808402121067, -0.005915846209973097, 0.009267832152545452, -0.005902765318751335, 0.006027034018188715, 0.0018117075087502599, -0.009228589944541454, -0.003355256048962474, -0.0014577050460502505, 0.0004991188761778176, -0.020497802644968033, -0.005052505526691675, 0.015252353623509407, 0.0059616295620799065, 0.01669125445187092, 0.011426184326410294, -0.031629666686058044, 0.005915846209973097, -0.02166200429201126, 0.006566622294485569, -0.018522582948207855, -0.01325751282274723, -0.020955635234713554, -0.013944261707365513, 0.005222557578235865, -0.008895025588572025, 0.0021714328322559595, -0.007338396273553371, -0.00420878641307354, 0.012387631461024284, -0.008626867085695267, 0.016612770035862923, -0.009509828872978687, -0.01731913909316063, -0.005075396969914436, -0.02170124650001526, 0.000502389098983258, -0.002733912318944931, -0.007194506470113993, 0.002056974684819579, -0.0026521566323935986, -0.004195705056190491, 0.006681079976260662, -0.0005383616662584245, -0.002191054169088602, -0.012982813641428947, 0.0015991425607353449, -0.014676792547106743, -0.0141535559669137, -0.0015811562770977616, 0.006556811276823282, -0.00278950622305274, 0.0015697104390710592, 0.002521347487345338, -0.006900185719132423, 0.007495367433875799, -0.0014716035220772028, 0.010229280218482018, -0.014362851157784462, -0.008476436138153076, -0.004931507166475058, -0.014349769800901413, -0.024814506992697716, 0.006847862154245377, -0.011086080223321915, 0.0080774687230587, -0.017920861020684242, -0.013407943770289421, -0.010863704606890678, 0.014101232402026653, -0.018810363486409187, -0.021884379908442497, -0.023009339347481728, -0.004486755933612585, -0.029484394937753677, 0.01278005912899971, -0.01205406803637743, 0.011831692419946194, -0.007671960163861513, -3.0402921765926294e-05, 0.016939792782068253, 0.0008122434373944998, -0.00472875265404582, 0.0004328967188484967, 0.013643399812281132, 0.011393481865525246, 0.010621707886457443, 0.00032354838913306594, -0.006318084429949522, -0.029667528346180916, -0.008273682557046413, 0.0007239471888169646, 0.015631699934601784, 0.008339086547493935, -0.020288508385419846, -0.013486429117619991, 0.0018852876964956522, 0.006782457232475281, -9.161754132946953e-05, -0.003430471522733569, -0.009653719142079353, 0.013434105552732944, -0.0018885579193010926, -0.01700519770383835, -0.008993132971227169, 0.0002712247078306973, -0.015631699934601784, 0.018012426793575287, 0.0007296701078303158, -0.0024232405703514814, 0.023179391399025917, -0.01002652570605278, 0.006710512097924948, 0.00817557517439127, -0.024709859862923622, -0.02525925822556019, 0.011720504611730576, -0.009065077640116215, 0.013564914464950562, 0.0076981219463050365, -0.006762836128473282, -0.005843901075422764, -0.010994513519108295, -0.020471639931201935, -0.010961811058223248, 0.029510557651519775, -0.015304677188396454, 0.013800371438264847, -0.013630319386720657, -0.0025916574522852898, 0.0017610188806429505, 0.01988299936056137, 0.015461647883057594, 0.012564224191009998, -0.009189346805214882, 0.004264380317181349, 0.0029121399857103825, 0.002993895672261715, 0.028882673010230064, 0.022551506757736206, -0.010242360644042492, -0.002506631426513195, -0.0023038771469146013, -0.0030920025892555714, 0.01635115034878254, -0.0009467316558584571, 0.001037480542436242, -0.017829295247793198, 0.0004048953705932945, -0.0028908834792673588, 0.008469896391034126, 9.759593376656994e-05, 0.017554596066474915, 0.003548199776560068, 0.027548419311642647, -0.007358017843216658, 0.0016040478367358446, -0.010497438721358776, 0.0042807310819625854, -0.013146325014531612, 0.005117909982800484, -0.001642473042011261, 0.010974892415106297, 0.011040297336876392, -0.006288652773946524, -0.027548419311642647, -0.01879728212952614, -0.016050290316343307, -0.0027780605014413595, 0.00013101359945721924, 0.00712256133556366, 0.0149514926597476, -0.007671960163861513, 0.0023496602661907673, -0.00849605817347765, -0.006514298263937235, -0.00801860447973013, -0.004372297786176205, -0.01956905797123909, -0.023362524807453156, -0.013133244588971138, -0.001828058622777462, -0.0021697976626455784, 0.005340286064893007, 0.00962755735963583, -0.014258203096687794, 0.00573925394564867, 0.008581084199249744, -0.005951819010078907, -0.008038225583732128, -0.004179354291409254, 0.007913957349956036, -0.0006450528744608164, 0.00034296538797207177, 0.005628066137433052, 0.018823444843292236, 0.018404854461550713, 0.002159987110644579, 0.01697903499007225, -0.004215326625853777, 0.0030854621436446905, 0.01205406803637743, 0.026619672775268555, 0.006406380794942379, 0.016050290316343307, 0.010379710234701633, -0.020314669236540794, 0.005556121002882719, -0.00066222163150087, 0.005222557578235865, 0.010464736260473728, 0.0008486247388646007, -0.0007762708701193333, 0.006504487711936235, -0.009647179394960403, -0.0019294357625767589, 0.0006205261452123523, 0.0025867519434541464, 0.027051344513893127, 0.0009001308353617787, 0.004797427449375391, -0.007855093106627464, -0.006945969071239233, 0.019542895257472992, -0.008568002842366695, 0.012662331573665142, -0.00016422687622252852, 0.014689873903989792, -0.02134806290268898, -0.002751898718997836, -0.012139094062149525, -0.004369027446955442, 0.003185204230248928, -0.0024788344744592905, -0.028542568907141685, -0.007671960163861513, 0.011674721725285053, 0.0019376113777980208, -0.014140475541353226, 0.02312706783413887, -0.016063369810581207, -0.03505686670541763, -0.013591076247394085, 0.0025573200546205044, -0.014977654442191124, -0.02718215249478817, 0.018247883766889572, -0.027103668078780174, -0.003773845499381423, 0.021557357162237167, 0.024330511689186096, -0.020798664540052414, -0.01586715690791607, -0.005212747026234865, -0.0077177430503070354, 0.0021877840626984835, -0.012119472958147526, 0.0017250464297831059, 0.011517751030623913, -0.017855456098914146, 0.019686786457896233, 0.026083355769515038, -0.00801860447973013, 0.01586715690791607, 0.023689547553658485, 0.0025180771481245756, -0.006491406820714474, 0.00040060319588519633, -0.005193125456571579, 0.007900875993072987, -0.007096399553120136, 0.015945641323924065, 0.008620326407253742, 0.008685731329023838, -0.008515679277479649, 0.016900548711419106, 0.008378329686820507, -0.011700883507728577, 0.005366447847336531, -0.011563533917069435, 0.025664765387773514, 0.029248937964439392, 0.0020308129023760557, 0.0013506050454452634, 0.019215872511267662, 0.010386250913143158, 0.004405000247061253, 0.004807238467037678, -0.0009524545166641474, -0.03492605686187744, 0.011373860761523247, 0.0074822865426540375, -0.011406563222408295, 0.0064129214733839035, 0.01810399442911148, -0.007377639412879944, 0.0109094874933362, -0.025677846744656563, -0.009339777752757072, 0.03134188428521156, -0.013695724308490753, -0.007116020657122135, -0.02201518975198269, -0.0030936377588659525, 0.005441662855446339, 0.010811381042003632, 0.0307401642203331, -0.00264888652600348, 0.00037934668944217265, -0.003417390398681164, 0.020929472520947456, -0.014977654442191124, -0.0015402784338220954, 0.008456815034151077, -0.024500563740730286, -0.0009393736254423857, -0.0025327932089567184, -0.013591076247394085, 0.003672468475997448, -0.03767305240035057, -0.0042218673042953014, 0.017358381301164627, -0.01744994893670082, -0.02412121742963791, 0.012001744471490383, -0.02736528590321541, 0.0034566333051770926, 0.020968716591596603, 0.01635115034878254, -0.009791068732738495, -0.03283311054110527, 0.004362487234175205, 0.0034631737507879734, -0.00635078689083457, 0.016259584575891495, -0.009647179394960403, 0.004303622990846634, 0.0033078377600759268, 0.004300352651625872, 0.005843901075422764, 0.007286072708666325, -0.008718433789908886, -0.011269212700426579, 0.011314996518194675, 0.006095708813518286, -0.0021681624930351973, -0.014886087737977505, 0.009640638716518879, 0.012923949398100376, -0.01875803992152214, -0.011112242005765438, 0.008476436138153076, -0.012014825828373432, 0.0034468225203454494, 0.00897351186722517, 0.011642019264400005, 0.011386941187083721, -0.04395189508795738, 0.0009900621371343732, 0.005180044565349817, -0.010660950094461441, 0.0036299554631114006, 0.01908506266772747, -0.009522910229861736, 0.028856510296463966, 0.01747610978782177, -0.01189709734171629, -0.004431162029504776, -0.003245703410357237, 0.02862105518579483, -0.011413102969527245, 0.01568402349948883, -0.01650812104344368, -0.04243450611829758, -0.0032604194711893797, -0.012348389253020287, -0.030870972201228142, -0.01220449898391962, 0.0013767669443041086, -0.002609643619507551, 0.0023758222814649343, 0.011779368855059147, -0.00021747031132690609, 0.021465791389346123, 0.006321354769170284, 0.013617238029837608, 0.03364412859082222, -0.018234804272651672, -0.004823589697480202, 0.0035874424502253532, 0.02070709690451622, -1.4013447071192786e-05, 0.00937901996076107, 0.014938411302864552, -0.018875768408179283, 0.034036554396152496, 0.023218633607029915, -0.011046837083995342, -0.0013538752682507038, -0.004414810799062252, -0.009647179394960403, -0.021282657980918884, -0.00792703777551651, -0.006138221826404333, 0.00014225501217879355, 0.014624468982219696, 0.01779005117714405, 0.013865775428712368, -0.007384179625660181, -0.004905345384031534, 0.009280913509428501, -0.013139784336090088, 0.0026701430324465036, 0.020641691982746124, 0.0012745722196996212, -0.005202936008572578, -0.012086770497262478, -0.0029693690594285727, -0.014742197468876839, 0.010059228166937828, -0.029824499040842056, -0.005856982432305813, 0.016599688678979874, 0.017397623509168625, -0.009784528985619545, 0.0018722068052738905, -0.01109262090176344, -0.03385342285037041, 0.014676792547106743, 0.009928418323397636, 0.0036528471391648054, -0.007828931324183941, 0.01652120240032673, -0.0070113735273480415, 0.0076981219463050365, -0.002704480430111289, 0.002040623687207699, -0.011177646927535534, -0.0030331385787576437, -0.021099524572491646, 0.005248719360679388, 0.028568729758262634, -0.018378693610429764, 0.000693288806360215, -0.019647542387247086, 0.015265434049069881, -0.02490607276558876, -0.0194120854139328, -0.006265760865062475, 0.00046559900511056185, -0.0011870935559272766, -0.008397950790822506, 0.00453580915927887, 0.006815159693360329, 0.003430471522733569, -0.0013751317746937275, 0.011759747751057148, 0.008227898739278316, 0.011216889135539532, -0.02117801085114479, -0.015003816224634647, 0.002027542795985937, -0.006063006818294525, 0.0010227644816040993, 0.00720104668289423, -0.007017913740128279, 0.011857854202389717, 0.006906725931912661, -0.0064161913469433784, 0.016887469217181206, 0.00453580915927887, -0.0017201410373672843, 0.002931761322543025, 0.0038032776210457087, -0.0022204862907528877, -0.00032436594483442605, -0.014506741426885128, -0.010549762286245823, 0.00476472545415163, 0.020811744034290314, 0.011269212700426579, -0.00674975523725152, 0.0036234150175005198, 0.011314996518194675, 0.014794521033763885, -0.002884343033656478, 0.0043363249860703945, 0.0011167835909873247, -0.006717052776366472, -0.008718433789908886, 0.00987609475851059, -0.015762509778141975, -0.007495367433875799, 0.03848406672477722, 0.006435812916606665, 0.013630319386720657, -0.007652338594198227, -0.004741833545267582, -0.01733222045004368, -0.025167690590023994, -0.004575051832944155, -0.010961811058223248, -0.013591076247394085, 0.004006031900644302, -0.010876785032451153, 0.012825842946767807, -0.006743214558809996, 0.0020308129023760557, 0.022368373349308968, 0.03283311054110527, 0.020589368417859077, 0.015540133230388165, 0.0014348134864121675, -0.022760801017284393, 0.017266815528273582, -0.02121725305914879, -0.003486065426841378, -0.0072468300350010395, 0.017044439911842346, -0.014585226774215698, -0.009137023240327835, -0.0105236005038023, 8.451501344097778e-05, 0.0031492316629737616, -0.020589368417859077, -0.007809309754520655, 0.017031358554959297, -0.007488827221095562, 0.0218189749866724, 0.02036699280142784, 0.0020586098544299603, -0.013669561594724655, -0.007194506470113993, -0.013800371438264847, 0.02183205634355545, 0.005062316078692675, 0.014559064991772175, 0.016259584575891495, 0.00872497446835041, 0.010065768845379353, 0.001733221928589046, -0.0080970898270607, 0.019516734406352043, 0.02442207932472229, -0.025141529738903046, -0.004722212441265583, -0.012636168859899044, 0.010680572129786015, -0.010948730632662773, -0.01432360801845789, -0.003042949130758643, 0.003718251595273614, 0.006442353595048189, -0.005350096616894007, 0.00825406052172184, -0.002318593207746744, -0.004019112791866064, 0.008895025588572025, -0.02846408262848854, 0.01862723007798195, -0.003051124745979905, -0.018326370045542717, 0.005238908808678389, 0.002614548895508051, 0.010294684208929539, 0.023349443450570107, -0.007371098734438419, -0.019346682354807854, 0.012695033103227615, -0.014637550339102745, 0.0019392464309930801, 0.004176083952188492, -0.0025295231025666, 0.006478325929492712, 0.02557319961488247, -0.0036201446782797575, 0.0063965702429413795, -0.014755278825759888, 0.0001284587342524901, -0.006965590175241232, -0.002253188518807292, -0.008208277635276318, 0.018313288688659668, 0.00017638804274611175, -0.004611024633049965, -0.009202427230775356, -0.01448057871311903, -0.009692962281405926, -0.0011404927354305983, -0.013224810361862183, -0.005353366956114769, -0.04191127046942711, -0.0028254787903279066, -0.003682279260829091, -0.00319337984547019, -0.01729297637939453, 0.0015770684694871306, 0.0169921163469553, 0.019124306738376617, -0.002318593207746744, -0.005062316078692675, -0.021060282364487648, 0.020733259618282318, -5.229813541518524e-05, 0.009758367203176022, -0.01278005912899971, -0.019765270873904228, 0.020118456333875656, -0.0024019840639084578, 0.028202464804053307, -0.0007317140116356313, 0.005045965313911438, 0.01924203336238861, -0.03382726013660431, 0.018640311434864998, 0.009660259820520878, -0.003662657691165805, -0.010706733912229538, -0.014506741426885128, -0.012080229818820953, -0.008319465443491936, 0.003679008921608329, -0.020746340975165367, 0.011471967212855816, 0.025272337719798088, 0.005677119363099337, 0.02133498154580593, -0.026632754132151604, 0.0169659536331892, 0.009535991586744785, 0.01828712783753872, -0.008084009401500225, -0.0007640075054951012, 0.005592093337327242, -0.013682642951607704, 0.01084408350288868, -0.0031181643716990948, -0.02522001415491104, 0.010621707886457443, -0.011432725004851818, -0.0028728970792144537, -0.011720504611730576, -0.0032130011823028326, -0.01992224156856537, 0.004182624164968729, 0.010412412695586681, 0.0033781477250158787, -0.026292650029063225, 0.01382653322070837, -0.01527851540595293, -0.023545656353235245, 0.0015100287273526192, 0.005235638469457626, 0.003940627444535494, -0.010968351736664772, 0.020667854696512222, -0.0034010394010692835, 0.012152175419032574, 0.01652120240032673, 0.00529777305200696, -0.023231714963912964, 0.015016896650195122, 0.008476436138153076, -0.00157625088468194, -0.044893719255924225, -0.0007386632496491075, 0.018156317993998528, -0.0010971622541546822, 0.006625486072152853, -0.0266981590539217, -0.014271284453570843, 0.006880564149469137, 0.010320845991373062, 0.010046146810054779, -0.01714908704161644, -0.004166273400187492, -0.012119472958147526, 0.009562153369188309, 0.005827550310641527, 0.0014348134864121675, 0.01317902747541666, 0.014977654442191124, 0.026488864794373512, -0.001619581482373178, -0.0018738418584689498, -0.007900875993072987, 0.02490607276558876, -0.010163875296711922, 0.01648196019232273, -0.007770066615194082, -0.00815595407038927, -0.010209658183157444, -0.008849242702126503, 0.0005939555703662336, -0.005840631201863289, -0.001978489337489009, -0.004990371409803629, -0.01407507061958313, -0.013891938142478466, -0.007534610107541084, 0.011923259124159813, -0.0042807310819625854, -0.021413467824459076, 0.014506741426885128, -0.02487991191446781, -0.008149413391947746, -0.011380400508642197, 0.004431162029504776, -0.01873187907040119, -0.015762509778141975, -0.0028516408056020737, 0.03246684372425079, 0.00297100399620831, 0.007338396273553371, -0.018574906513094902, -0.02183205634355545, 0.0015729806618764997, -0.00815595407038927, -0.012505359947681427, -0.015186948701739311, 0.0036691981367766857, 0.0029530178289860487, 0.021936703473329544, 0.03189128264784813, -0.012191417627036572, -0.004996911622583866, 0.006020493805408478, 0.0029759095050394535, -0.016717417165637016, -0.003656117245554924, -0.006151302717626095, 0.01440209336578846, -0.0047156717628240585, -0.022695397958159447, -0.0033454454969614744, 0.016390394419431686, 0.007770066615194082, 0.020955635234713554, 0.023022420704364777, 0.011426184326410294, -0.007187965791672468, -0.0015394608490169048, 0.003728062380105257, 0.010386250913143158, -0.008214818313717842, 0.004231677856296301, 0.017541514709591866, 0.00578503729775548, 0.008947350084781647, 0.002197594614699483, -0.015056139789521694, -0.015762509778141975, -0.010700193233788013, -0.011844773776829243, -0.0011846409179270267, -0.013002434745430946, -0.003868682309985161, 0.017881618812680244, -0.010366629809141159, 0.030373897403478622, 0.026122597977519035, -0.021060282364487648, 0.02329711988568306, -0.014559064991772175, 0.012014825828373432, 0.003956978674978018, 0.007253370713442564, 0.017763890326023102, 0.009241670370101929, -0.014101232402026653, -0.003682279260829091, -0.014258203096687794, 0.013538752682507038, -0.015880238264799118, 0.01714908704161644, -0.0009459140710532665, 0.035658590495586395, 0.01448057871311903, -0.019333600997924805, -0.010713273659348488, 0.004918426275253296, -0.022616911679506302, -0.009202427230775356, 0.010497438721358776, 0.004035464022308588, -0.012119472958147526, 0.01828712783753872, 0.01730605773627758, 0.010628247633576393, -0.019006578251719475, -0.02621416561305523, 0.00037975548184476793, -0.0008903201669454575, -0.013800371438264847, 0.014009665697813034, -0.022734640166163445, -0.0019768541678786278, -0.013970423489809036, -0.0071029397659003735, 0.011033756658434868, 0.0028908834792673588, 0.006327895447611809, -0.006063006818294525, -0.00168743880931288, 0.012982813641428947, 0.0015157517045736313, 0.0015582647174596786, 0.01502997800707817, 0.01197558268904686, -0.012891246937215328, 0.00947058666497469, 0.011779368855059147, 0.01861415058374405, -0.007770066615194082, -0.00834562722593546, -0.0008518949616700411, 0.007796228863298893, -0.004686239641159773, 0.01684822514653206, 0.004450783133506775, 0.016625849530100822, 0.010713273659348488, 0.008319465443491936, 0.016887469217181206, 0.01762000098824501, 0.01959521882236004, -0.029955308884382248, 0.0010448385728523135, 0.006422732025384903, -0.00557901244610548, -0.011720504611730576, -0.013172486796975136, 0.02214599773287773, 0.021060282364487648, -0.005919116549193859, -0.005487446207553148, -0.020903311669826508, 0.006743214558809996, 0.010405872017145157, 0.03592020645737648, 0.01972602866590023, 0.0073907203041017056, -0.0056542279198765755, 0.005775226280093193, -0.0074822865426540375, 0.017371462658047676, -0.019137386232614517, 0.032126739621162415, 0.001075088162906468, 0.0010243996512144804, 0.016586607322096825, -0.013721886090934277, -0.01632498949766159, -0.0007227208698168397, -0.008384870365262032, -0.007187965791672468, -0.009346317499876022, -0.008757675997912884, 0.0021763381082564592, -0.0009001308353617787, 0.025167690590023994, 0.0022041350603103638, -0.008849242702126503, -0.006275571882724762, 0.012256822548806667, 0.0072468300350010395, 0.013682642951607704, 0.012538062408566475, 0.009653719142079353, 0.013473348692059517, -0.001355510437861085, 0.008149413391947746, 0.024317432194948196, -0.032414522022008896, -0.00041041389340534806, -0.0032113660126924515, -0.013761128298938274, -0.026240326464176178, 0.013604157604277134, 0.018967334181070328, 0.003010246902704239, -0.01571018621325493, -0.0042774612084031105, -0.008705352433025837, 0.003114894265308976, -0.011465426534414291, -0.03369645029306412, 0.003005341626703739, -0.0009679881040938199, -0.015108463354408741, 0.00283038429915905, -0.005549580790102482, 0.005163693334907293, -0.006069547031074762, -0.015265434049069881, 0.02393808402121067, 0.0038163585122674704, 0.011347698979079723, -0.0037574945017695427, -0.002988990396261215, 0.015108463354408741, 0.016625849530100822, -0.005134261213243008, -0.007220668252557516, -0.02736528590321541, 0.018967334181070328, 0.0010734529932960868, 0.02003997005522251, 0.013218270614743233, -0.012538062408566475, 0.022943934425711632, 0.015579376369714737, 0.009614476934075356, -0.005922386888414621, 0.0029726391658186913, -0.03262381628155708, -0.021452710032463074, 0.007940119132399559, -0.01971294730901718, 0.009634098038077354, -0.014768359251320362, -0.000984339276328683, -0.01858798786997795, -0.013015516102313995, 0.008940809406340122, -0.005935467779636383, 0.011223429813981056, -0.0010333927348256111, -0.029353585094213486, 0.003989680670201778, -0.017083682119846344, 0.023218633607029915, -0.0109094874933362, 0.026436541229486465, -0.009738745167851448, 0.0097060427069664, 0.005065586417913437, 0.005209476687014103, 0.0051833149045705795, -0.013643399812281132, 0.011256132274866104, -0.001867301412858069, -0.018980415537953377, -0.010000363923609257, 0.01748919114470482, -0.01155699323862791, 0.01744994893670082, -0.009477127343416214, 0.03510919213294983, 0.0006062189349904656, -0.01841793581843376, -0.002993895672261715, 0.008764216676354408, 0.01781621389091015, 0.02493223547935486, 0.01747610978782177, -0.0023218633141368628, 0.008764216676354408, -0.0017152357613667846, -0.0054024201817810535, -0.015186948701739311, 0.014297446236014366, 0.020275427028536797, -0.011779368855059147, -0.008365248329937458, 0.005144072230905294, -0.017567675560712814, 0.012341848574578762, -0.00712256133556366, 0.009764906950294971, -0.0015157517045736313, 0.017737727612257004, -0.0043526762165129185, -0.003986410330981016, 0.012642709538340569, -0.012963192537426949, 0.016612770035862923, 0.005700011271983385, -0.0008220541058108211, 0.00440172990784049, 0.021282657980918884, -0.0014258204028010368, 0.007135642226785421, 0.014441336505115032, -0.006095708813518286, -0.012354929931461811, -0.0009066713391803205, -0.00301188207231462, -0.013015516102313995, 0.016076451167464256, 0.018653392791748047, -0.030373897403478622, -0.008456815034151077, 0.02487991191446781, -0.028516406193375587, 0.023048581555485725, 0.006906725931912661, -0.025586280971765518, 0.014258203096687794, -0.010510520078241825, 0.007089858874678612, -0.03801315650343895, 0.014179717749357224, -0.011491588316857815, 0.022603830322623253, 0.00720104668289423, 0.00433305511251092, 0.028594892472028732, 0.009032376110553741, -0.0006233876338228583, 0.02459213137626648, -0.030033793300390244, 0.005350096616894007, 0.01407507061958313, 0.019673705101013184, 0.01448057871311903, -0.002513171872124076, 0.017737727612257004, -0.008927728049457073, 0.013512590900063515, 0.003790196729823947, -0.002379092387855053, 0.009575233794748783, -0.007946658879518509, -0.010981433093547821, -0.017397623509168625, -0.0105039793998003, 0.024853749200701714, -0.017227573320269585, -0.0008412667084485292, 0.017096763476729393, 0.003983140457421541, -0.009974202141165733, -0.013538752682507038, 0.012917408719658852, -0.01781621389091015, -0.007874714210629463, 0.016861306503415108, -0.016390394419431686, 0.008777298033237457, 0.0020504342392086983, 0.031158752739429474, 0.06053850054740906, -0.008332546800374985, 0.008509138599038124, 0.008064387366175652, -0.0017446677666157484, -0.022080594673752785, -0.005984521005302668, -0.011439264751970768, 0.001122506451793015, -0.005140801891684532, 0.028071654960513115, -0.0009091239771805704, 0.0017593838274478912, 0.0009688056888990104, -0.012394172139465809, -0.016599688678979874, -0.004499836824834347, -0.007691581267863512, 0.0025115367025136948, 0.018339451402425766, 0.016259584575891495, 0.018339451402425766, -0.018064752221107483, -0.010837542824447155, 0.0032506086863577366, -0.007953199557960033, -0.021596599370241165, -0.021923622116446495, -0.01862723007798195, 0.01727989688515663, -0.021439628675580025, -0.003365066833794117, 0.009025835432112217, 0.014284364879131317, 0.003159042214974761, -0.01567094214260578, -0.0017610188806429505, -0.0178031325340271, 0.002442861907184124, 0.021321900188922882, 0.005984521005302668, 0.0036463066935539246, -0.016939792782068253, -0.015383162535727024, -0.005533229559659958, 0.012099851854145527, -0.005019803065806627, 0.013237891718745232, -0.0038915739860385656, -0.0032506086863577366, 0.007874714210629463, -0.00979760941118002, 0.012884707190096378, -0.016730496659874916, -0.0038915739860385656, 0.005287962034344673, 0.015396243892610073, -0.014415174722671509, 0.0023594710510224104, -0.006190545856952667, 0.0055822827853262424, 0.010726355016231537, 0.011838233098387718, 0.0017446677666157484, 0.002572036115452647, 0.015252353623509407, -0.012341848574578762, 0.0008228716906160116, -0.0002953426737803966, 0.005036154296249151, -0.013133244588971138, -0.0006773464265279472, -0.009882635436952114, 0.0029726391658186913, 0.01684822514653206, 0.005974710453301668, 0.006959049962460995, 0.0030282330699265003, 0.0007247647736221552, -0.001163384411484003, -0.020576288923621178, -0.011341158300638199, 0.0017953563947230577, -0.004941317718476057, 0.026789724826812744, 0.028097817674279213, 0.028411759063601494, -0.01663893088698387, -0.0015688929706811905, -0.00880345981568098, 0.008535300381481647, 0.012093311175704002, 0.04928890988230705, -0.0034402820747345686, 0.036312635987997055, 0.00922204926609993, -0.014428255148231983, -0.010497438721358776, -0.01319210883229971, 0.001960502937436104, 0.01571018621325493, 0.004447512794286013, 0.011857854202389717, -0.0021714328322559595, -0.007547690998762846, 0.0023496602661907673, 0.014559064991772175, 0.0080970898270607, 0.03108026646077633, 0.000383230100851506, -0.015265434049069881, -0.013564914464950562, 0.010543221607804298, 0.011406563222408295, -0.005919116549193859, 0.001922895316965878, 0.010732895694673061, 0.009254751726984978, 0.012819302268326283, 0.01841793581843376, -0.004055085591971874, -0.021439628675580025, 0.018483340740203857, 0.005068856757134199, -0.00433305511251092, 0.016272665932774544, 0.019045820459723473, 0.012753897346556187, -0.006036845035851002, -0.005310853943228722, 0.010863704606890678, -0.03691435977816582, 0.024304350838065147, 0.009274372830986977, -0.0003997856401838362, 0.023493332788348198, -0.01357799582183361, 0.003728062380105257, -0.005991061683744192, 0.013048218563199043, -0.017593838274478912, 0.0017512082122266293, -0.020615531131625175, -0.012649250216782093, 0.013355620205402374, -0.005856982432305813, -0.007272991817444563, -0.0202361848205328, 0.013695724308490753, 0.007711202837526798, 0.003649576799944043, -0.01810399442911148, -0.0004300352593418211, 0.004745103884488344, -0.0002926856104750186]
The OpenAI API we used returned exactly 3072 vectors (e.g., -0.00030433578649535775), and each vector carries a different feature or meaning of the given text.
Let's assume we now want to find the documents that are semantically best matched to these vectors. A lexical search engine would search the documents for the occurrence of this phrase or parts of it. A semantic search engine would search the vector space, which contains various features and contexts.
To do this, we will download all the content from Senuto.com, convert it into embeddings, and then try to match the best document using the generated vectors.
Step 1. Download the content from all URLs in the senuto.com domain
You can use tools like Screaming Frog or any other crawler for this.
If you are unable to download content from your own website, use the texts from the senuto.com website, which you can find below.
Next, use the following script to convert the .csv file into a data frame.
import pandas as pd
# Wczytanie pliku CSV do DataFrame
df = pd.read_csv('content/api_results.csv')
# Wyświetlenie pierwszych kilku wierszy DataFrame, aby sprawdzić czy dane zostały poprawnie wczytane
print(df.head())
Step 2. Convert the content into embeddings using the following script:
🐍 Script & Description of Its Functionality
🐍 Skrypt & opis jego działania
Copy
!pip install llama-index-embeddings-openai
import pandas as pd
from llama_index.embeddings.openai import OpenAIEmbedding
# Wczytanie danych z pliku JSON
file_path = '/content/api_results_partial.json'
results_df = pd.read_json(file_path)
# Funkcja do parsowania JSON, jeśli jeszcze tego nie zrobiono
def parse_json_column(column):
return column.apply(lambda x: json.loads(x) if isinstance(x, str) else x)
# Parsowanie kolumny JSON 'data'
results_df['parsed'] = results_df['data'].apply(lambda x: x['data'] if isinstance(x, dict) else json.loads(x)['data'])
# Wyciągnięcie odpowiednich kolumn do nowego DataFrame
filtered_df = pd.DataFrame({
'url': results_df['url'],
'title': results_df['parsed'].apply(lambda x: x.get('title')),
'content': results_df['parsed'].apply(lambda x: x.get('content'))
})
# Funkcja do obcinania tekstu do maksymalnej długości
def trim_to_max_length(text, max_length=15000):
if text and len(text) > max_length:
return text[:max_length]
return text
# Konfiguracja modelu embeddingu
embed_model = OpenAIEmbedding(
model="text-embedding-3-large",
# Zaktualizuj nazwę modelu na poprawną, jeśli jest inna
)
# Funkcja do uzyskania embeddingu
def get_embedding(text):
if text is None:
return None
try:
trimmed_text = trim_to_max_length(text)
return embed_model.get_text_embedding(trimmed_text)
except Exception as e:
print(f"Error generating embedding for text: {e}")
return None
# Dodanie nowej kolumny z embeddingami dla tekstów
filtered_df['embeddings'] = filtered_df['content'].apply(get_embedding)
# Wyświetlenie nowego DataFrame
print(filtered_df[['title', 'url', 'content', 'embeddings']])
Krok 1: Instalacja i importowanie biblioteki
Na początku instalujemy bibliotekę llama-index-embeddings-openai
i importujemy niezbędne moduły. Importujemy także bibliotekę pandas
do operacji na DataFrame.
Krok 2: Wczytanie danych z pliku JSON
Wczytujemy dane z pliku JSON za pomocą funkcji pd.read_json(file_path)
. Dane są przechowywane w DataFrame results_df
.
Krok 3: Parsowanie kolumny JSON
Definiujemy funkcję parse_json_column
, która parsuje kolumny JSON, jeśli jeszcze nie zostały sparsowane. Używamy jej do parsowania kolumny data
w DataFrame results_df
, tworząc nową kolumnę parsed
.
Krok 4: Wyciągnięcie odpowiednich kolumn do nowego DataFrame
Tworzymy nowy DataFrame filtered_df
, który zawiera tylko interesujące nas kolumny: url
, title
i content
. Dane te wyciągamy z kolumny parsed
.
Krok 5: Funkcja do obcinania tekstu do maksymalnej długości
Definiujemy funkcję trim_to_max_length
, która obcina tekst do maksymalnej długości 15,000 znaków. Jest to konieczne, aby uniknąć przekroczenia limitu tokenów modelu embeddingu.
Krok 6: Konfiguracja modelu embeddingu
Konfigurujemy model embeddingu OpenAIEmbedding
z odpowiednią nazwą modelu (text-embedding-3-large
).
Krok 7: Definiowanie funkcji do uzyskania embeddingu
Definiujemy funkcję get_embedding
, która przyjmuje tekst jako argument. Funkcja ta:
- Sprawdza, czy tekst nie jest
None
. - Obcina tekst do maksymalnej długości.
- Uzyskuje embedding tekstu za pomocą modelu
OpenAIEmbedding
. - Obsługuje ewentualne wyjątki i drukuje komunikaty o błędach.
Krok 8: Dodanie nowej kolumny z embeddingami do DataFrame
Stosujemy funkcję get_embedding
do kolumny content
w DataFrame filtered_df
za pomocą metody apply
, aby dodać nową kolumnę embeddings
.
Krok 9: Wyświetlenie nowego DataFrame
Wyświetlamy DataFrame filtered_df
z kolumnami title
, url
, content
i embeddings
, aby zweryfikować, że embeddingi zostały poprawnie dodane.
Ultimately, our DataFrame contains an additional column with embeddings for each text.
Step 3: Comparing the Query Embeddings with the Embeddings of Content from the Senuto Website
🐍 Script for Comparing Embeddings & Description
As a result of the script's execution, we obtained a list of articles that are most semantically related to this query (with a metric on a scale from -1 to 1).
I can also perform this operation for other queries.
On this data, we could also apply a re-ranking mechanism, which would help us select the results more accurately. This is the same mechanism used by Google's search engine (remember neural matching?). The above process allowed you to understand how embeddings work, and you can also guess that their operation is closely related to the current functioning of search engines.
The embeddings we generated in the previous two steps could be stored in a vector database, and for advanced applications, such a solution would be more efficient.
Generating Topical Map
In this part of the material, I will show you a tool that you can use to generate semantic content maps, which utilizes embedding models and its own mechanisms. You don't have to use this specific solution. Using the mechanism I showed above, along with additional operations on language models, you can achieve a similar effect without this tool. I chose it because the visualization looks good, and the tool offers many no-code options. Additional methods to achieve this effect (we will discuss these topics in SensAI training 🥷).
The tool we will use is Nomic - this company provides its own embedding models and tools for visualizing embeddings.
🐍 Script for Generating Content Maps & Description of Functionality
You can see the generated content map here: https://atlas.nomic.ai/data/dsalkowski/resourceful-gauss/map/268a89f6-c0d1-422a-92bf-cb74ddd4f124
What does Nomic do?
Nomic uses its own embedding model to vectorize the content. Additionally, by utilizing language models, it assigns "categories" to the content and then visualizes everything in vector space.
What can be done with this?
- Grouping Your Own Content:
from nomic import AtlasDataset
map = AtlasDataset(identifier='paste_your_nomic_topical_map_name').maps[0]
map.topics
This way, we obtained a list of articles from our blog divided into categories.
- Selecting the best target destinations for specific keywords
🐍 Script for Selecting Target Destinations for Specific Keywords
Other Ideas for Using This Information:
- Creating content maps of competitors and identifying content gaps
- Finding places to acquire links based on crawling domains from search results
The application of embedding models is very broad. If you are interested in this topic, I invite you to: