-
Notifications
You must be signed in to change notification settings - Fork 6
/
index.html
412 lines (376 loc) · 26.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
<!DOCTYPE HTML>
<!--
Dimension by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Deciphering the Indus Valley Script</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<noscript><link rel="stylesheet" href="assets/css/noscript.css" /></noscript>
</head>
<body class="is-preload">
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<div class="logo">
<a href="https://github.com/Kee2u/Deciphering_the_Indus_Valley_Script" target="_blank" rel="noopener noreferrer" class="icon brands fa-github"></a>
</div>
<div class="content">
<div class="inner">
<h1 style="display:flex">DECIPHERING THE INDUS VALLEY SCRIPT</h1>
<p>A fully responsive site template designed by <a href="https://html5up.net">HTML5 UP</a> and released
for free under the <a href="https://html5up.net/license">Creative Commons</a> license.</p>
</div>
</div>
<nav>
<ul>
<li><a href="#about">About Us</a></li>
<li><a href="#intro">Intro</a></li>
<li><a href="#preprocessing">Data</a></li>
<li><a href="#stat">Statistical Analysis</a></li>
<li><a href="#ml">Next Steps</a></li>
</ul>
</nav>
<div>
<model-viewer src="images/pot/scene.gltf" alt="pot" auto-rotate camera-controls ar ios-src="images/pot/scene.gltf" style="display: inline-block;">
</model-viewer>
<model-viewer src="images/entrance_-_the_city_of_mohenjo_daro/scene.gltf" alt="entrance" auto-rotate camera-controls ar ios-src="images/entrance_-_the_city_of_mohenjo_daro/scene.gltf" style="display: inline-block;">
</model-viewer>
<model-viewer src="images/indus_civilization_ceramics_found/scene.gltf" alt="pot 2" auto-rotate camera-controls ar ios-src="images/indus_civilization_ceramics_found/scene.gltf" style="display: inline-block;">
</model-viewer>
</div>
</header>
<!-- Main -->
<div id="main">
<!-- About Me -->
<article id="about">
<span class="image main" style="float: right; width: 230px; padding: 1px;"><img src="images/question-language.jpg" alt="" /></span>
<h2 class="major">About Us</h2>
<p>
We are the Indus Valley Girls! We have been avidly working on this project. See below to learn a little more about us.
</p>
<br>
<p>
<h3>Keerthana Jayakumar</h3>
<span class="image main" style="float: right; width: 230px; padding: 5px;"><img src="images/keet.jpg" alt="" /></span>
<i>Lead Researcher and Data Analyst</i>
<br>I studied Mechatronics Engineering at the University of Toronto and graduated with Honors. I recently completed the University of Toronto Data Analytics Bootcamp and am an aspiring Data Scientist. My interests include painting and hiking. For this project, I completed all the background research and created an algorithm strategy. I completed the conversion of Tamil from Syllabic to Logosyllabic on Pandas and stored the data into a PostgreSQL database hosted on an Amazon AWS cloud server. I also conducted the entire statistical analysis to identify similar distributions between Tamil and Indus Valley signs. This included calculating modified power law, creating positional histograms, segmentation trees and creating a deep neural network algorithm using Python’s Sklearn library.
<br>
<a href="https://github.com/Kee2u" target="_blank" rel="noopener noreferrer" class="icon brands fa-github"><span class="label">Github</span> <b> Click to Visit my Github!</b></a>
<br><i class="fa fa-envelope"></i><a href="mailto:[email protected]" target="_blank" rel="noopener noreferrer"><b> Email me at [email protected]</b></a>
<br><a href="https://www.linkedin.com/in/keerthanajayakumar" target="_blank" rel="noopener noreferrer" class="icon brands fa-linkedin"><b> Click here to connect with me on LinkedIn</b></a>
<br><a href="https://www.keetu.ca/" target="_blank" rel="noopener noreferrer" class="icon brands fa-connectdevelop"><b> Click to Visit my Portfolio Website</b></a>
</p>
<p>
<h3>Sonia Sharma</h3>
<span class="image main" style="float: right; width: 232px; padding: 5px;"><img src="images/cropped.jpg" alt="" /></span>
<i>Data Visualization Lead</i>
<br>I studied Electrical Engineering at McMaster University and am aspiring to go into the Data Science field. I recently completed the University of Toronto Data Analytics Bootcamp. My interests include dancing, singing, and watching movies. For this project, I created the Support Vector Machine Supervised Machine Learning algorithm to segment the morphemes used within the statistical analysis. I used Python Pandas library to extract the features and output label used for the model, along with the Sklearn and imblearn libraries for the model. I also created the Front-End design, integrating the interactive visualizations showcasing our project and results using HTML, CSS, and Javascript (D3.js, Three.js).
<br>
<a href="https://github.com/Soniaprogram" target="_blank" rel="noopener noreferrer" class="icon brands fa-github"><span class="label">Github</span> <b>Click to Visit my Github!</b></a>
<br><i class="fa fa-envelope"></i><a href="mailto:[email protected]" target="_blank" rel="noopener noreferrer"><b> Email me at [email protected]</b></a>
<br><a href="https://www.linkedin.com/in/soniassharma" target="_blank" rel="noopener noreferrer" class="icon brands fa-linkedin"><b> Click here to connect with me on LinkedIn</b></a>
<br><a href="https://soniasharma.herokuapp.com/" target="_blank" rel="noopener noreferrer" class="icon brands fa-connectdevelop"><b> Click to Visit my Portfolio Website</b></a>
</p>
<div style="text-align: center;">
<a href="#about" class="to-top">Back to top</a>
</div>
</article>
<!-- Intro -->
<article id="intro">
<h2 class="major">Intro</h2>
<div class="logo">
<a href="https://github.com/Kee2u/Deciphering_the_Indus_Valley_Script/blob/main/README.md" target="_blank" rel="noopener noreferrer" class="icon brands fa-github">
<b>Click here to read a Detailed Introduction!</b>
</a>
</div>
<span class="image main"><img src="images/indus.jpg" alt="" /></span>
<p>This project is an attempt to decipher the ancient Indus Valley script by comparing it with modern Tamil (a Dravidian language).
<b>Our strategy is to:</b>
Convert Tamil script from <b>syllabic</b> to <b>logosyllabic</b> by converting <b>morphemes</b> to signs.
Perform a statistical analysis to compare the converted script with the Indus script.
A significant step towards decipherment has been made by Dr. Brian Wells and Dr. Andreas Fuls who have created an extensive database (corpus) of Indus texts. Through Dr. Andreas Fuls, we received access to this database [1]. We will also be working with two tagged Part of Speech databases of modern Tamil.
</p>
<span class="image main"><img src="images/translate.PNG" alt="" /></span>
<p>
<b style="font-size:x-large;">KEY TERMINOLOGY</b>
<b>Tamil</b> - A Dravidian language
<b>Syllabic script</b> - A writing system whose characters represent syllables.
<b>Logosyllabic script</b> - A writing systems whose characters represent syllables, words and morphemes.
<b>Morpheme</b> - The smallest part of a word that changes its meaning. Ex- 'ing' in 'following'
The Indus Valley or Harappan civilization is India's oldest civilization spanning from 5500 BCE to 1300 BCE. However, their writing system is still undeciphered. The obstacles to deciphering the script have included:
- The exact uses of the artifacts are mostly unknown.
- The root language of the script is unknown.
- The texts are short (mean = 4.5 signs).
- Lack of bilingual inscription/tablet, E.g. Rosetta stone which recorded two Egyptian scripts and ancient Greek
- The complete corpus of the text was not widely available.
Since 2013, however, there have been breakthroughs in the field of population genetics that have given clues about the root language of the script. The 2013 paper ‘South Asia: Dravidian Linguistic History’ authored by Professor Franklin C. Southworth and Dr David W. McAlpin reconstructed Proto Dravidian (one of the two main Indian language families) vocabulary and found similarities with Proto Elamite vocabulary (the language of the Zagros region).
<span class="image main"><img src="images/DNA-Genetics.gif" alt="" /></span>
Through their archeological and linguistic research, they were able to conclude that the Harappan language is most likely <b>Proto Dravidian</b> (with influences from Proto Elamite). Furthermore, it was concluded that this language has evolved into the major modern Dravidian languages (Tamil, Telugu, Kannada, etc). We are testing the <b>hypothesis</b> that Proto Dravidian is the language of the Harappans by comparing <b>modern Tamil</b> with the <b>Harappan script</b>.
<span class="image main"><img src="images/migrate.gif" alt="" /></span>
<h2>References</h2>
[1] Wells, B. K., & Fuls, A. (2006). ICIT Database of Indus Writing [Dataset]. <a href=https://www.indus.epigraphica.de target="_blank" rel="noopener noreferrer">https://www.indus.epigraphica.de</a>
</p>
<div style="text-align: center;">
<a href="#intro" class="to-top">Back to top</a>
</div>
</article>
<!-- Preprocessing -->
<article id="preprocessing">
<h2 class="major">Preprocessing</h2>
<div class="logo">
<a href="https://github.com/Kee2u/Deciphering_the_Indus_Valley_Script/blob/main/Preprocessing/README.md" target="_blank" rel="noopener noreferrer" class="icon brands fa-github">
<b>Click here to read more about Data Preprocessing!</b>
</a>
</div>
<span class="image main"><img src="images/conversion.png" alt="" /></span>
<p>
The first step to compare the Indus script with Tamil is to convert Tamil from a <b>syllabic</b> to a <b>logosyllabic script</b>.
Similar to the Indus script, we modelled the structure of the syllables after <b>cuneiform</b> and created syllables of the forms <b>CV</b>, <b>VC</b>, <b>V</b> and <b>C</b> (Where 'C' is consonant and 'V' is vowel).
<div>
<img src="images/cuneiform.gif" alt="" style="height: 300px;"/>
<img src="images/cuneiform.jpg" alt="" style="width: 50%; height: 300px;"/>
</div>
<br>
We used the labelled Tamil database provided by the Institute of Formal and Applied Linguistics (UFAL) <a href = "https://ufal.mff.cuni.cz/~ramasamy/tamiltb/0.1/introduction.html#1.2.Data">See Tagged Dataset</a>.
The dataset consists of Tamil news articles tagged by part of speech (POS).
<span class="image main"><img src="images/conllfile.png" alt="" /></span>
Some of the morphemes including clitics and postpositions were already separated. However, the dataset does not separate noun and verb morphemes.
Tamil word morphology is exclusive to nouns and verbs. We split the database into morphemes, clitics, and lemmas and formulated tables stored in our PostgresSQL server.
We converted the lemmas and morphemes (including noun and verb morphemes as well as clitics, determiners, etc) into <b>logograms</b> (sign represents a word or morpheme)
by giving each of them their unique sign identifier.
<span class="image main"><img src="images/logosyllabic.gif" alt="" /></span>
</p>
<br>
<div style="text-align: center;">
<a href="#preprocessing" class="to-top">Back to top</a>
</div>
</article>
<!-- Statistical Analysis -->
<article id="stat">
<h2 class="major">Statistical Analysis</h2>
<div class="logo">
<a href="https://github.com/Kee2u/Deciphering_the_Indus_Valley_Script/blob/main/Statistical_Analysis/README.md" target="_blank" rel="noopener noreferrer" class="icon brands fa-github">
<b>Click here to read more about the Statistical Analysis and Results!</b>
</a>
</div>
<!-- <div>
<iframe width="100%" height="894px" src="https://public.tableau.com/views/PluralMarker/Dashboard1?:showVizHome=no&:embed=true">
</iframe>
</div> -->
<p>
<h2>Deep Neural Network to Predict Syllables</h2>
We calculated the probability distribution of the normalized sign positions and used them as features in a deep neural network.
<br><br>
This was done to see if it is possible to predict if a sign is a syllable based on the positional distribution alone. It was previously hypothesized that a uniform frequency for all positions is a good indicator of a syllabic sign, since syllables are used everywhere in texts without syntactic restriction.
<br><br>
The result had a poor F1 score of 42% for predicting syllables. This shows that positional distribution alone is insufficient to predict syllables. This can be attributed to two reasons:
<br><br>
<ol>
<li>Sentences in the database are long and consist of multiple nouns followed by a verb. Tamil has a subject-object-verb syntax. This results in some noun lemmas and clitics having a uniform sign distribution similar to what is expected for syllables. The Indus artifacts have shorter sentences (suggests fewer nouns) so this problem may not exist when evaluating the Indus script.
</li>
<b>FIX</b>:
<br>Perform the analysis on shorter sentences (simple Subject-object-Verb construction) and see if the machine learning precision/recall score increases.
<br>
<br>
<div>
<iframe width="100%" height="894px" src="https://public.tableau.com/views/2031_16248144016380/Dashboard1?:showVizHome=no&:embed=true">
</iframe>
</div>
<br>
<li>Positional distribution alone is insufficient and there are missing variables.
</li>
<b>FIX</b>:
<br>Include sign connectivities into the features table (E.g. include number of signs grouped with the sign in question) and see if that increases the score.
</ol>
</p>
<p>
<h2>Statistical Tools:</h2>
<h3>Modified Power Law</h3>
We initially used the Modified Power Law to test if the script is logosyllabic. On calculating the modified power law for the converted Tamil script, the resulting value was G = -1.13 similar to Old Assyrian Cuneiform. This classifies the script as <b>logosyllabic</b>.
</p>
<div>
<iframe width="100%" height="894px" src="https://public.tableau.com/views/Indus_16247447741790/Sheet1?:showVizHome=no&:embed=true">
</iframe>
</div>
<p>
<h3>Histograms</h3>
We then calculated <b>positional histograms</b> to identify positional frequencies for each Tamil sign. Each bar represents where in a word, the sign is more frequently seen.
Keep in mind Tamil reads from left to right and Indus script reads from right to left. To see these some examples, see the dropdowns below showcasing Tamil and Indus script histograms. These histograms can be used to compare which Tamil and Indus valley signs have similar position frequency distributions.
<span class="image main"><img src="images/compare.JPG" alt="" /></span>
</p>
<div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<div>
<select>
<option style="display: none;">Choose Tamil Sign Histogram</option>
<option value="Oone">4000</option>
<option value="Otwo">4001</option>
<option value="Othree">4005</option>
<option value="Ofour">4006</option>
<option value="Ofive">4007</option>
<option value="Osix">4008</option>
<option value="Oseven">4009</option>
<option value="Oeight">4012</option>
</select>
</div>
<div>
<div class="red box">Histogram for Tamil sign number <strong>4000</strong>
<img src="images/histograms/4000.jpg" />
</div>
<div class="green box">Histogram for Tamil sign number <strong>4001</strong>
<img src="images/histograms/4001.jpg" />
</div>
<div class="blue box">Histogram for Tamil sign number <strong>4005</strong>
<img src="images/histograms/4005.jpg" />
</div>
<div class="four box">Histogram for Tamil sign number <strong>4006</strong>
<img src="images/histograms/4006.jpg" />
</div>
<div class="five box">Histogram for Tamil sign number <strong>4007</strong>
<img src="images/histograms/4007.jpg" />
</div>
<div class="six box">Histogram for Tamil sign number <strong>4008</strong>
<img src="images/histograms/4008.jpg" />
</div>
<div class="seven box">Histogram for Tamil sign number <strong>4009</strong>
<img src="images/histograms/4009.jpg" />
</div>
<div class="eight box">Histogram for Tamil sign number <strong>4012</strong>
<img src="images/histograms/4012.jpg" />
</div>
</div>
<br>
<div>
<select>
<option style="display: none;">Choose Indus Sign Histogram</option>
<option value="1one">415</option>
<option value="1two">455</option>
<option value="1three">520</option>
<option value="1four">575</option>
<option value="1five">705</option>
<option value="1six">741</option>
<option value="1seven">760</option>
<option value="1eight">803</option>
</select>
</div>
<div>
<div class="1red box1">Histogram for Indus sign number <strong>415</strong>
<img src="images/indushistograms/415.PNG" />
</div>
<div class="1green box1">Histogram for Indus sign number <strong>455</strong>
<img src="images/indushistograms/455.PNG" />
</div>
<div class="1blue box1">Histogram for Indus sign number <strong>520</strong>
<img src="images/indushistograms/520.PNG" />
</div>
<div class="1four box1">Histogram for Indus sign number <strong>575</strong>
<img src="images/indushistograms/575.PNG" />
</div>
<div class="1five box1">Histogram for Indus sign number <strong>705</strong>
<img src="images/indushistograms/705.PNG" />
</div>
<div class="1six box1">Histogram for Indus sign number <strong>741</strong>
<img src="images/indushistograms/741.PNG" />
</div>
<div class="1seven box1">Histogram for Indus sign number <strong>760</strong>
<img src="images/indushistograms/760.PNG" />
</div>
<div class="1eight box1">Histogram for Indus sign number <strong>803</strong>
<img src="images/indushistograms/803.PNG" />
</div>
<div class="1nine box1">Histogram for Indus sign number <strong>832</strong>
<img src="images/indushistograms/832.PNG" />
</div>
<div class="1ten box1">Histogram for Indus sign number <strong>838</strong>
<img src="images/indushistograms/838.PNG" />
</div>
<div class="1eleven box1">Histogram for Indus sign number <strong>840</strong>
<img src="images/indushistograms/840.PNG" />
</div>
<div class="1twelve box1">Histogram for Indus sign number <strong>940</strong>
<img src="images/indushistograms/940.PNG" />
</div>
</div>
</div>
<p>
<h3>Segmentation Trees</h3>
Another analysis tool we used were <b>segmentation trees</b>. We identified key sign pairs and calculated their connectivities. Using this, we created our segmentation trees. The higher
the segmentation tree, the higher the connectivity between the sign pair. We can then compare this to Indus sign groups. The goal is to identify morphemes with similar distributions in both scripts.
</p>
<div id="my_dataviz"></div>
<h2>Additional Insights</h2>
<p>
After calculating the sign connectivities of the converted Tamil Script, we found no correlation between syllables and sign connectivities but we did find a correlation with noun and verb morphemes.
Nouns are generally inflected by number and case morphemes and verbs are inflected by person, number and gender morphemes.
<span class="image main"><img src="images/nounvsverb.PNG" /></span>
If you look at pairs of signs with high connectivities, noun and verb morphemes are connected to the most number of signs. This gives us a way to identify indus noun and verb morphemes using sign connectivities alone. You can also see some syllables that have high connectivities with many other signs but they can be identified and separated using our syllable detector.
<span class="image main"><img src="images/nvconnectivities.PNG" /></span>
</p>
<div style="text-align: center;">
<a href="#stat" class="to-top">Back to top</a>
</div>
</article>
<!-- machine learning -->
<article id="ml">
<h2 class="major">Next Steps</h2>
<ul>
<li>Found probability distributions of Tamil signs. Plan to automate comparing positional frequencies of Tamil and Indus scripts and find signs with matching distributions.</li>
<li>Use connectivities to identify morphemes in Indus script.</li>
<li>Use the Machine Learning model (outlined below) on a modern Tamil dataset with shorter sentences and on an old Tamil dataset to perform morpheme segmentation to use extracted morphemes in statistical analyses.</li>
</ul>
<h2>Machine Learning</h2>
<div class="logo">
<a href="https://github.com/Kee2u/Deciphering_the_Indus_Valley_Script/blob/main/Machine_Learning/README.md" target="_blank" rel="noopener noreferrer" class="icon brands fa-github">
<b>Click here to read more about the Machine Learning Algorithm used in Next Steps!</b>
</a>
</div>
<p>
For this project, we had to manually identify and segment the morphemes. Going forward, we can automate this process. Automating it requires a tagged dataset which we did not have at the beginning of the project, hence the manual extraction.
We programmed a SVM algorithm to automatically perform morpheme extraction on Tamil. We referenced the paper 'Morpheme Extraction and Lemmatization for Tamil using Machine Learning' which used SVM to perform Tamil morpheme segmentation resulting in a high F score. Morpheme extraction is an essential part of morphological analysis.
After preprocessing, the words in our dataset and SQL tables were used for our SVM. We obtained the form, lemma, part of speech identifier, and identified the morphemes within each word. After consulting the paper 'Morpheme Extraction and Lemmatization for Tamil using Machine Learning’, we identified the current letter of the word, prefix, vowel/consonant, noun, and verb as vital features for the algorithm.
We programmed to manually fill the features_df with the appropriate features:
<ul>
<li>Identified if the current letter of the word was a vowel (1) or consonant (0)</li>
<li>Noted if the word was a noun indicated by a 1 and a verb represented by a 1 in their columns</li>
<li>Extracted the letters before the current letter to fill the prefix column</li>
<li>Added programming to identify the morpheme boundaries in each word as our output label for the model</li>
</ul>
Before implementing the model, Label Encoding was used on the letters column and prefix columns to allow for numerical values only. Features selected were the <b>index</b>, <b>vowel/consonant</b>, <b>noun</b>, <b>verb</b>, <b>letter_label_encoded</b>, and <b>prefix_label_encoded</b>. A Standard Scaler was applied to avoid numerical overflow while running the model. The output label for our model was defined as <b>morpheme boundary</b>.
<span class="image main"><img src="images/segmentmorpheme.gif" alt="" /></span>
We used a 75% training and 25% testing data split with a rbf kernel with a gamma of 0.8 to achieve an <b>accuracy of 76%</b>.
</p>
<div style="text-align: center;">
<a href="#ml" class="to-top">Back to top</a>
</div>
</article>
</div>
<!-- Footer -->
<footer id="footer">
<p class="copyright">© Untitled. Design: <a href="https://html5up.net">HTML5 UP</a>.</p>
</footer>
</div>
<!-- BG -->
<div id="bg"></div>
<!-- Scripts -->
<script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
<script nomodule src="https://unpkg.com/@google/model-viewer/dist/model-viewer-legacy.js"></script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
<script src="assets/js/function.js"></script>
<script src="assets/js/function1.js"></script>
<script async src="//jsfiddle.net/kee2u/59uv1hg3/104/embed/"></script>
<script src="https://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="assets/js/dendo.js"></script>
<script src="assets/js/tableau.js"></script>
<script src='https://mysite.myserver.com/javascripts/api/viz_v1.js'></script>
</body>
</html>