Revision 195bae1900a0df8df7661232c2e0eb1e471e1e73 authored by Dirk Roorda on 08 March 2019, 21:21:06 UTC, committed by Dirk Roorda on 08 March 2019, 21:21:06 UTC
1 parent 43f6566
analysis.ipynb
{
"cells": [
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import collections\n",
"import re\n",
"\n",
"from tf.fabric import Fabric"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Local environment"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"BASE = os.path.expanduser('~/github')\n",
"ORG = 'Nino-cunei'\n",
"REPO = 'oldbabylonian'\n",
"VERSION = '0.3'\n",
"\n",
"REPO_PATH = f'{BASE}/{ORG}/{REPO}'\n",
"TF_PATH = f'{REPO_PATH}/tf/{VERSION}'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Launch Text-Fabric with all features loaded"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This is Text-Fabric 7.4.5\n",
"Api reference : https://annotation.github.io/text-fabric/Api/Fabric/\n",
"\n",
"27 features found and 0 ignored\n"
]
},
{
"data": {
"text/plain": [
"[('Computed',\n",
" 'computed-data',\n",
" ('C Computed', 'Call AllComputeds', 'Cs ComputedString')),\n",
" ('Features', 'edge-features', ('E Edge', 'Eall AllEdges', 'Es EdgeString')),\n",
" ('Fabric', 'loading', ('ensureLoaded', 'TF', 'ignored', 'loadLog')),\n",
" ('Locality', 'locality', ('L Locality',)),\n",
" ('Misc', 'messaging', ('cache', 'error', 'indent', 'info', 'reset')),\n",
" ('Nodes',\n",
" 'navigating-nodes',\n",
" ('N Nodes', 'sortKey', 'sortKeyTuple', 'otypeRank', 'sortNodes')),\n",
" ('Features',\n",
" 'node-features',\n",
" ('F Feature', 'Fall AllFeatures', 'Fs FeatureString')),\n",
" ('Search', 'search', ('S Search',)),\n",
" ('Text', 'text', ('T Text',))]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"TF = Fabric(locations=TF_PATH)\n",
"allFeatures = TF.explore(silent=True, show=True)\n",
"loadableFeatures = allFeatures['nodes'] + allFeatures['edges']\n",
"api = TF.load(loadableFeatures, silent=True)\n",
"api.makeAvailableIn(globals())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Quick exercises\n",
"\n",
"What are the superscripts?"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"supers = collections.Counter()\n",
"\n",
"for s in F.otype.s('sign'):\n",
" if F.super.v(s):\n",
" supers[F.reading.v(s)] += 1"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Counter({'d': 3848,\n",
" 'disz': 1153,\n",
" 'ki': 844,\n",
" 'gesz': 247,\n",
" 'sar': 76,\n",
" 'muszen': 3,\n",
" 'mi2': 44,\n",
" 'gi': 34,\n",
" 'na4': 17,\n",
" 'lu2': 29,\n",
" 'ap': 2,\n",
" 'tug2': 25,\n",
" 'am': 2,\n",
" 'duru5': 5,\n",
" 'dug': 2,\n",
" 'ku': 1,\n",
" 'iri': 25,\n",
" 'gar': 3,\n",
" 'kusz': 12,\n",
" 'uruda': 9,\n",
" 'u2': 4,\n",
" 'i7': 1,\n",
" 'iti': 1,\n",
" 'ir': 1,\n",
" 'p': 2,\n",
" 'id2': 2,\n",
" 'urudu': 6,\n",
" 'asz': 1,\n",
" 'an': 2,\n",
" 'uzu': 1,\n",
" 'ti': 1,\n",
" 'munus': 1,\n",
" 'la': 1,\n",
" 'ku6': 4,\n",
" 'at': 1,\n",
" 'ar': 1,\n",
" 'ururdu': 1,\n",
" 'szim': 3})"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"supers"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the language use?\n",
"* 1 = Akkadian\n",
"* 2 = Sumerian"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((1, 171644), (2, 18178))"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F.language.freqList()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Frequency of the readings (Akkadian) and of the graphemes (Sumerian)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(('a', 10943),\n",
" ('ma', 10749),\n",
" ('na', 7999),\n",
" ('i', 4620),\n",
" ('sza', 4447),\n",
" ('szu', 4271),\n",
" ('d', 3848),\n",
" ('li', 3638),\n",
" ('am', 3589),\n",
" ('ta', 3191),\n",
" ('u2', 3074),\n",
" ('ka', 3064),\n",
" ('ki', 2885),\n",
" ('um', 2811),\n",
" ('ni', 2681),\n",
" ('la', 2557),\n",
" ('bi', 2467),\n",
" ('u3', 2405),\n",
" ('ti', 2323),\n",
" ('disz', 2296),\n",
" ('ba', 2294),\n",
" ('ri', 2244),\n",
" ('ra', 2177),\n",
" ('nu', 2120),\n",
" ('asz', 2115),\n",
" ('im', 1946),\n",
" ('ia', 1703),\n",
" ('al', 1653),\n",
" ('di', 1541),\n",
" ('ku', 1505))"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F.reading.freqList()[0:30]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(('x', 8273),\n",
" ('...', 1421),\n",
" ('ARAD', 117),\n",
" ('GAN2', 102),\n",
" ('ARAD2', 46),\n",
" ('BI', 46),\n",
" ('KI', 38),\n",
" ('KU', 37),\n",
" ('DI', 34),\n",
" ('GA', 28),\n",
" ('BU', 26),\n",
" ('NI', 26),\n",
" ('UD', 24),\n",
" ('ZI', 24),\n",
" ('KA', 23),\n",
" ('PI', 23),\n",
" ('AB', 21),\n",
" ('ZA', 19),\n",
" ('ZU', 19),\n",
" ('AD', 18),\n",
" ('NE', 18),\n",
" ('AH', 16),\n",
" ('ID', 15),\n",
" ('IG', 15),\n",
" ('SZI', 15),\n",
" ('DA', 13),\n",
" ('SU', 13),\n",
" ('AN', 12),\n",
" ('HI', 12),\n",
" ('IA', 12))"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F.grapheme.freqList()[0:30]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Proper nouns\n",
"\n",
"List of sign stretches that occur between `um-ma` and `ma`."
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1622 results\n"
]
}
],
"source": [
"query = '''\n",
"line\n",
" sign reading=um\n",
" <: sign reading=ma\n",
" < sign reading=ma\n",
"'''\n",
"results = sorted(S.search(query))\n",
"print(f'{len(results)} results')"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(206905, 12, 13, 21),\n",
" (206909, 63, 64, 67),\n",
" (206939, 357, 358, 364),\n",
" (206957, 508, 509, 514),\n",
" (206994, 792, 793, 799)]"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'P509373'"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"T.tabletName(206905)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's show some lines:"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"P275129 obverse: 7. 𒆠𒀀𒄠 𒅖𒁍𒊒𒉏 𒌝𒈠 𒋗𒉡𒈠\n",
" ki-a-am isz-pu-ru-nim um-ma szu-nu-ma\n",
"P275144 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P275145 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi#-ma\n",
"P275146 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um#-ma ha-am-mu-ra-bi#-ma\n",
"P275147 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P275148 obverse: 2. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P275148 obverse: 4. 𒌝𒈠 𒋗𒈠\n",
" um-ma szu-ma\n",
"P275149 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P275152 obverse: 4. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am-su-i-lu-na-ma\n",
"P275152 obverse: 7. 𒌝𒈠 𒋗𒈠\n",
" um-ma szu-ma\n",
"P275152 obverse: 11. 𒆠𒀀𒄠 𒅅𒁍𒉏 𒌝𒈠 𒋗𒉡𒈠\n",
" ki-a-am iq-bu-nim um-ma szu-nu-ma\n",
"P275153 obverse: 5. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am-su-i-lu-na-ma#\n",
"P275154 obverse: 3. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um#-ma sa-am-su-i-lu#-na#-ma#\n",
"P275155 obverse: 3. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P275156 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu#-uh-ma\n",
"P275156 obverse: 7. 𒆠𒀀𒄠 𒅖𒁍𒊒𒉏 𒌝𒈠 𒋗𒉡𒈠\n",
" ki#-a-am isz-pu-ru-nim# um-ma szu-nu-ma\n",
"P275157 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P275158 obverse: 5. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um#-ma a-bi-e-szu-uh-ma#\n",
"P275159 obverse: 2. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu#-uh-ma\n",
"P275159 obverse: 4. 𒌝𒈠 𒀜𒌅𒉡𒈠\n",
" um-ma at#-tu-nu-ma\n",
"P275160 obverse: 3. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi#-e-szu-uh-ma\n",
"P275161 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma#\n",
"P275161 obverse: 5. 𒀸𒋳 𒊭 𒋫𒀸𒁍𒊏𒉏 𒌝𒈠 𒀜𒌅𒉡𒈠\n",
" asz-szum sza ta-asz-pu-ra-nim um-ma at-tu-nu-ma\n",
"P275162 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma#\n",
"P275162 obverse: 7. 𒌝𒈠 𒋗𒈠\n",
" um-ma szu-ma#\n",
"P275163 obverse: 7. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P275163 obverse: 9. 𒆠𒀀𒄠 𒅖𒁍𒊒𒉏 𒌝𒈠 𒋗𒉡𒈠\n",
" ki-a-am isz-pu-ru-nim um-ma szu-nu-ma\n",
"P275164 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma# a-bi-e-szu-uh-ma\n",
"P275164 obverse: 7. 𒌝𒈠 𒋗𒈠\n",
" um-ma# szu-ma\n",
"P275165 obverse: 5. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P275165 obverse: 10. 𒌝𒈠 𒋗𒉡𒈠\n",
" um-ma# szu-nu-ma\n",
"P275166 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P275176 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P275177 obverse: 3. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am#-su#-i-lu-na-ma\n",
"P275178 obverse: 6. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am-su-i-lu-na-ma\n",
"P275178 obverse: 8. 𒌝𒈠 𒀜𒌅𒉡𒈠\n",
" um-ma# at-tu-nu-ma\n",
"P275179 obverse: 4. 𒌝𒈠 𒀀𒁉𒂊𒋗uh𒈠\n",
" um-ma a-bi-e-szu-uh-ma\n",
"P384863 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-pi2-ma\n",
"P384863 obverse: 5. 𒆠𒀀𒄠 𒌑𒇴𒈪𒁕𒀭𒉌 𒌝𒈠 𒋗𒈠\n",
" ki-a-am u2-lam-mi-da-an-ni um-ma szu-ma\n",
"P347418 obverse: 2'. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P479269 obverse: 3. 𒌝𒈠 𒌋𒁇d𒂗𒍪𒈠\n",
" um-ma u-bar-{d}-suen-ma\n",
"P479269 obverse: 9. 𒌝𒈠 𒀜𒋫𒈠\n",
" um-ma at-ta-ma\n",
"P479269 obverse: 20. 𒌝𒈠 𒋗𒈠\n",
" um-ma szu-ma\n",
"P479269 obverse: 31. 𒌝𒈠 𒋗𒈠\n",
" um-ma szu-ma\n",
"P386437 obverse: 2. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu#-ra#-bi#-ma#\n",
"P386437 obverse: 5. 𒆠𒀀𒄠 𒌑𒇴𒈪𒁺𒉌𒅔𒉌 𒌝𒈠 𒋗𒉡𒈠\n",
" ki-a-am u2-lam-mi-du-ni-in-ni um-ma szu-nu-ma#\n",
"P386438 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P386438 obverse: 6. 𒌝𒈠 𒋗𒈠\n",
" um-ma# szu-ma\n",
"P386438 obverse: 10. 𒄑𒁀𒋫𒀭𒉌 𒌝𒈠 𒋗𒈠\n",
" is,-ba-ta-an-ni um-ma szu-ma\n",
"P386439 obverse: 3. 𒌝𒈠 ha𒄠𒈬𒊏𒁉𒈠\n",
" um-ma ha-am-mu-ra-bi-ma\n",
"P386440 obverse: 3. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am-su-i-lu-na-ma\n",
"P386441 obverse: 4. 𒌝𒈠 𒊓𒄠𒋢𒄿𒇻𒈾𒈠\n",
" um-ma sa-am-su-i-lu-na-ma\n",
"P386442 obverse: 4. 𒌝𒈠 d𒀫𒌓𒈾𒍢𒅕𒈠\n",
" um-ma {d}-marduk-na-s,i-ir-ma\n",
"P386443 obverse: 4. 𒌝𒈠 𒄠𒈪𒁲𒋫𒈾𒈠\n",
" um-ma am-mi-di-ta-na-ma\n",
"P386444 obverse: 3. 𒌝𒈠 𒊓𒄠𒋢𒁲𒋫𒈾𒈠\n",
" um-ma sa-am-su-di-ta-na-ma\n",
"P386444 obverse: 4. 𒊭 𒋫𒀸𒁍𒊏𒉏 𒌝𒈠 𒀜𒌅𒉡𒈠\n",
" sza# ta-asz-pu-ra-nim um-ma at-tu-nu-ma\n",
"P386445 obverse: 3. 𒌝𒈠 𒌨d𒀏𒈠\n",
" um#-ma ur-{d}-nansze-ma\n",
"P386447 obverse: 3. 𒌝𒈠 𒁮𒆠𒉌𒉌𒋗𒈠\n",
" um-ma dam#-qi2-i3-li2-szu#-ma\n",
"P386447 obverse: 7. 𒆠𒀀𒄠 𒀝𒁉𒋳 𒌝𒈠 𒀀𒈾𒆪𒌑𒈠\n",
" ki-a-am aq-bi-szum um-ma a-na-ku-u2-ma\n",
"P386448 obverse: 3. 𒌝𒈠 𒂍𒀀𒄿𒊑𒁀𒄠𒈠\n",
" um-ma e2-a-i-ri-ba-am-ma\n",
"P386449 obverse: 3. 𒌝𒈠 𒋗𒈪𒀀hi𒉿|𒅀𒈠\n",
" um-ma szu-mi-a-hi-ia-ma\n",
"P386450 obverse: 3. 𒌝𒈠 𒃻𒄀𒂊𒉌𒆠𒉘𒈠\n",
" um-ma nig2-ge-e-i3-ki-ag2-ma\n",
"P386451 obverse: 3. 𒌝𒈠 d𒂗𒍪𒀳𒈠\n",
" um-ma {d}-suen-uru4-ma\n",
"P386451 obverse: 15. 𒌝𒈠 𒀀𒈾𒆪𒈠\n",
" um-ma a-na-ku-ma\n",
"P386451 obverse: 6. 𒌝𒈠 𒋗𒈠 𒊬𒊏𒄠 𒀜𒈠\n",
" um-ma szu-ma szar#-ra-am at-ma\n",
"P386451 obverse: 6. 𒌝𒈠 𒋗𒈠 𒊬𒊏𒄠 𒀜𒈠\n",
" um-ma szu-ma szar#-ra-am at-ma\n",
"P386453 obverse: 3. 𒌝𒈠 𒄿𒁉𒅅𒀀𒊏ah𒌈𒈠\n",
" um-ma i-pi2-iq-a-ra-ah-tum-ma\n",
"P386454 obverse: 3. 𒌝𒈠 𒅁𒉌d𒈥𒌅 𒈠𒊒𒅗𒈠\n",
" um-ma ib-ni-{d}-mar-tu ma-ru-ka-ma\n",
"P386454 obverse: 3. 𒌝𒈠 𒅁𒉌d𒈥𒌅 𒈠𒊒𒅗𒈠\n",
" um-ma ib-ni-{d}-mar-tu ma-ru-ka-ma\n",
"P386455 obverse: 3. 𒌝𒈠 𒈾𒁉d𒂗𒆤𒈠\n",
" um-ma na-bi-{d}-en-lil2-ma\n",
"P386456 obverse: 6. 𒅅𒂵𒁉𒋳𒈠 𒌝𒈠 𒋗𒈠\n",
" iq-qa2-bi-szum-ma um-ma szu#-ma#\n",
"P386457 obverse: 3. 𒌝𒈠 𒁁𒂖𒋗𒉡𒈠\n",
" um-ma be-el-szu-nu-ma\n",
"P386457 obverse: 6. 𒌝𒈠 𒀀𒈾𒆪𒈠\n",
" um-ma a-na-ku-ma\n",
"P386458 obverse: 4. 𒌝𒈠 𒈾𒊏𒄠d𒂗𒍪𒈠\n",
" um-ma na-ra-am-{d}-suen-ma\n",
"P386459 obverse: 3. 𒌝𒈠 𒅋|𒀧𒋫𒉌𒈠\n",
" um-ma il-ta-ni-ma\n",
"P386459 obverse: 1. 𒌝𒈠 𒁹𒄖𒇻𒌒𒌈𒈠\n",
" um-ma {disz}-gu-lu-ub-tum-ma\n",
"P386460 obverse: 4. 𒌝𒈠 𒇷𒉿𒊏𒋳𒈠\n",
" um-ma li-wi-ra-szum#-ma\n",
"P386461 obverse: 3. 𒌝𒈠 𒋗𒈬𒇷𒍣𒈠\n",
" um#-ma szu-mu-li-s,i2-ma\n",
"P386461 obverse: 3. 𒌝𒈠 𒀜𒋾𒈠\n",
" um-ma at-ti-ma\n",
"P386462 obverse: 3. 𒌝𒈠 𒈬𒈾𒉿𒅕𒌈𒈠\n",
" um-ma mu-na-wi-ir-tum-ma\n",
"P386462 obverse: 8. 𒌝𒈠 𒀜𒋫𒀀𒈠\n",
" um-ma at-ta-a-ma\n",
"P386462 obverse: 5. 𒌝𒈠 𒈬𒈾𒉿𒅕𒌈𒈠\n",
" um-ma mu-na-wi-ir-tum-ma\n",
"P386463 obverse: 3. 𒌝𒈠 𒁍𒈾𒉡𒋗𒈠\n",
" um-ma bu-na-nu-szu-ma\n",
"P386463 obverse: 8. 𒌝𒈠 𒋗𒌑𒈠\n",
" um-ma szu-u2-ma\n",
"P386464 obverse: 3. 𒌝𒈠 𒂗𒈠\n",
" um-ma en-ma\n",
"P386465 obverse: 2. 𒌝𒈠 𒀀𒈾𒌈𒈠\n",
" um-ma a-na-tum-ma\n",
"P386465 obverse: 12. 𒌝𒈠 𒋗𒌑𒈠\n",
" um-ma szu-u2-ma\n",
"P386465 obverse: 7. 𒌝𒈠 𒀀𒈾𒆪𒌑𒈠 𒈠𒀭𒈾𒋗 𒀜𒋫\n",
" um-ma# a-na#-ku-u2-ma ma-an#-na-szu at-ta\n",
"P386465 obverse: 7. 𒌝𒈠 𒀀𒈾𒆪𒌑𒈠 𒈠𒀭𒈾𒋗 𒀜𒋫\n",
" um-ma# a-na#-ku-u2-ma ma-an#-na-szu at-ta\n",
"P386465 obverse: 14. 𒌝𒈠 𒋗𒌑𒈠 𒈾𒁉𒅖𒌈\n",
" um-ma szu-u2-ma na-pi2-isz-tum\n",
"P386465 obverse: 2. 𒅇 𒀀𒈾𒆪 𒀀𒈠𒀸𒅆 𒌝𒈠 𒀀𒈾𒆪𒈠\n",
" u3 a-na-ku a-ma-asz-szi um-ma a-na-ku-ma\n",
"P386466 obverse: 3. 𒌝𒈠 d𒅎𒊏𒁉𒈠\n",
" um-ma {d}-iszkur-ra-bi-ma\n",
"P386467 obverse: 2. 𒌝𒈠 d𒅎𒊏𒁉𒈠\n",
" um-ma {d}-iszkur-ra-bi-ma\n",
"P386468 obverse: 3. 𒌝𒈠 d𒅎𒊏𒁉𒈠\n",
" um-ma {d}-iszkur-ra-bi-ma\n",
"P386469 obverse: 3. 𒌝𒈠 d𒅎𒊏𒁉𒈠\n",
" um-ma {d}-iszkur-ra-bi-ma\n",
"P386470 obverse: 2. 𒌝𒈠 d𒅎𒊏𒁉𒈠\n",
" um-ma {d}-iszkur-ra-bi-ma\n",
"P386470 obverse: 6. 𒆠𒀀𒄠 𒋫𒀝𒁉𒋗 𒌝𒈠 𒀜𒋫𒀀𒈠\n",
" ki-a-am ta-aq-bi-szu um-ma at-ta-a-ma\n",
"P386470 obverse: 8. 𒌝𒈠 𒋗𒌑𒈠 𒌋 𒀸𒀸 𒊺 𒄥 𒌑𒌌 𒋫𒁲𒈾\n",
" um-ma szu-u2-ma 1(u) 2(asz) sze gur u2-ul ta-di-na\n",
"P386470 obverse: 10. 𒆠𒀀𒄠 𒀝𒁉𒆪𒉡𒅆 𒌝𒈠 𒀀𒈾𒆪𒌑𒈠\n",
" ki-a-am aq-bi-ku-nu-szi um-ma a-na-ku-u2-ma\n",
"P386470 obverse: 13. 𒅇 𒆠𒀀𒄠 𒌑𒈾hi𒀉𒅗 𒌝𒈠 𒀀𒈾𒆪𒈠\n",
" u3 ki-a-am# u2-na-hi-id-ka um-ma a-na-ku-ma\n"
]
}
],
"source": [
"for r in results[1000:1100]:\n",
" line = r[0]\n",
" (pNum, face) = T.sectionFromNode(line)\n",
" lNum = F.ln.v(line)\n",
" text = T.text(line, fmt='text-unicode-full', descend=True)\n",
" trans = T.text(line, fmt='text-orig-full', descend=True)\n",
" print(f'{pNum} {face}:{lNum:>4} {text}')\n",
" print(f'{\"\":>20} {trans}')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"introNouns = collections.Counter()\n",
"\n",
"for (line, um, ma1, ma2) in results:\n",
" betweenNodes = range(ma1 + 1, ma2)\n",
" introNoun = ''.join(\n",
" f'{F.reading.v(n) or F.grapheme.v(n)}{F.after.v(n)}'\n",
" for n in betweenNodes\n",
" )\n",
" introNouns[introNoun] += 1"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ha-am-mu-ra-bi- 108 x\n",
"szu- 83 x\n",
"szu-u2- 82 x\n",
"at-ta- 59 x\n",
"a-na-ku- 55 x\n",
"at-ta-a- 49 x\n",
"a-na-ku-u2- 36 x\n",
"szu-nu- 28 x\n",
"a-hu-um- 23 x\n",
"ha-am-mu-ra-pi2- 18 x\n",
"a-bi-e-szu-uh- 17 x\n",
"d-marduk-mu-sza-lim- 15 x\n",
"at-ti- 14 x\n",
"lu2-igi-sa6- 13 x\n",
"s,i-li2-d-utu- 13 x\n",
"am-mi-s,a-du-qa2- 12 x\n",
"sa-am-su-i-lu-na- 12 x\n",
"d-utu-na-s,i-ir- 11 x\n",
"d-iszkur-ra-bi- 10 x\n",
"d-suen-i-din-nam- 10 x\n",
" 9 x\n",
"at-tu-nu- 9 x\n",
"d-marduk-na-s,i-ir- 9 x\n",
"szi- 9 x\n",
"d-na-bi-um-na-s,i-ir- 8 x\n",
"...- 7 x\n",
"a-wi-il-dingir- 7 x\n",
"d-na-bi-um- 7 x\n",
"d-na-bi-um-ma-lik- 7 x\n",
"e-tel-pi4-d-marduk- 7 x\n",
"gi-mil-d-marduk- 7 x\n",
"lik- 7 x\n",
"nu-ur2-d-suen- 6 x\n",
"szi-i- 6 x\n",
"be-el-szu-nu- 5 x\n",
"be-la-nu-um- 5 x\n",
"d-iszkur- 5 x\n",
"d-suen-i-qi2-sza-am- 5 x\n",
"i3-li2-i-qi2-sza-am- 5 x\n",
"x x x x- 5 x\n",
"at-ti-i- 4 x\n",
"be-el-ta-ni- 4 x\n",
"be-li2- 4 x\n",
"d-iszkur-szar-rum- 4 x\n",
"d-marduk-dingir- 4 x\n",
"d-nanna- 4 x\n",
"d-suen-im-gur-an-ni- 4 x\n",
"dingir-szu-ib-ni-szu- 4 x\n",
"disz 4 x\n",
"er3-ra-ba-ni- 4 x\n",
"i-din-d-marduk- 4 x\n",
"i-szar-ku-bi- 4 x\n",
"i3-li2-ip-pa-al-sa3-am- 4 x\n",
"ip-qu2-d-sza-la- 4 x\n",
"mu-na-wi-rum- 4 x\n",
"sa-am-su-di-ta-na- 4 x\n",
"sag-il2- 4 x\n",
"sag-il2-ma-an-szum2- 4 x\n",
"ta-ri-ba-tum- 4 x\n",
"a-wi-il-d-na-bi-um- 3 x\n",
"a-wi-il-esz18-dar- 3 x\n",
"am-mi-di-ta-na- 3 x\n",
"d-iszkur-ma-an-szum2- 3 x\n",
"d-nanna-tum- 3 x\n",
"d-suen- 3 x\n",
"d-suen-be-el-ap-lim- 3 x\n",
"d-suen-dingir- 3 x\n",
"d-suen-e-ri-ba-am- 3 x\n",
"d-suen-na-di-in-szu-mi- 3 x\n",
"d-suen-na-s,i-ir- 3 x\n",
"ha-li-ia-um- 3 x\n",
"i-lu-ni- 3 x\n",
"i3-li2-i- 3 x\n",
"i3-li2-i-ma-dingir- 3 x\n",
"id-da-tum- 3 x\n",
"il-ta-ni- 3 x\n",
"lu2-d-nin-urta- 3 x\n",
"lu2-igi-sa3- 3 x\n",
"nam-ra-tum- 3 x\n",
"ni-nu- 3 x\n",
"ri-isz-d-marduk- 3 x\n",
"ta-tu-ur- 3 x\n",
"wa-tar-d-utu- 3 x\n",
"... x- 2 x\n",
"a- 2 x\n",
"a-hu-szi-na- 2 x\n",
"a-li2-ta-li-mi- 2 x\n",
"a-ma-na-nu-um- 2 x\n",
"a-wi-il-d-iszkur- 2 x\n",
"ap-la-tum- 2 x\n",
"ba-nu-u2-um- 2 x\n",
"d-...-mu-sza-lim- 2 x\n",
"d-iszkur-na-s,ir- 2 x\n",
"d-marduk-ni-szu- 2 x\n",
"d-nanna-ibila- 2 x\n",
"d-nanna-ibila-ma-an-szum2- 2 x\n",
"d-nanna-in-du8- 2 x\n",
"d-nanna-ma-an-szum2- 2 x\n",
"d-suen-a-bu-szu- 2 x\n",
"d-suen-gim-la-an-ni- 2 x\n"
]
}
],
"source": [
"for (proper, amount) in sorted(\n",
" introNouns.items(),\n",
" key=lambda x: (-x[1], x[0]),\n",
")[0:100]:\n",
" print(f'{proper:<30} {amount:>4} x')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

Computing file changes ...