From 317988a75f7ed0660c26e2bc0e2f54a98b1d6355 Mon Sep 17 00:00:00 2001 From: cmerwich Date: Tue, 21 Apr 2020 21:28:19 +0200 Subject: [PATCH] even more redaction --- annotation/2.annotation_aid.ipynb | 73 +- confrontation/Psalms_075.ann | 20 +- confrontation/analyse.py | 4 +- confrontation/annotation_aid.py | 100 +++ confrontation/confrontation-ps75.ipynb | 1133 ++++++++++++++---------- confrontation/images/etcbc.png | Bin 0 -> 24460 bytes confrontation/images/tf-small.png | Bin 0 -> 71468 bytes confrontation/images/tf-xsmall.png | Bin 0 -> 35323 bytes confrontation/mimi.py | 4 +- confrontation/mimi_visualise.py | 84 ++ confrontation/readme.md | 12 + confrontation/search.py | 4 +- 12 files changed, 905 insertions(+), 529 deletions(-) create mode 100644 confrontation/annotation_aid.py create mode 100644 confrontation/images/etcbc.png create mode 100644 confrontation/images/tf-small.png create mode 100644 confrontation/images/tf-xsmall.png create mode 100644 confrontation/mimi_visualise.py create mode 100644 confrontation/readme.md diff --git a/annotation/2.annotation_aid.ipynb b/annotation/2.annotation_aid.ipynb index a55d756..6a362ee 100644 --- a/annotation/2.annotation_aid.ipynb +++ b/annotation/2.annotation_aid.ipynb @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -95,7 +95,7 @@ "text": [ "The autoreload extension is already loaded. To reload it, use:\n", " %reload_ext autoreload\n", - "Notebook last updated by Christiaan at 2020-04-15 22:23:58.205031\n" + "Notebook last updated by Christiaan at 2020-04-21 18:36:01.605605\n" ] } ], @@ -128,14 +128,16 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": {}, + "execution_count": 25, + "metadata": { + "scrolled": false + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "rate limit is 60 requests per hour, with 0 left for this hour\n" + "rate limit is 60 requests per hour, with 60 left for this hour\n" ] }, { @@ -149,12 +151,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "\tconnecting to online GitHub repo annotation/app-bhsa ... failed\n", - "GitHub says: 403 {\"message\": \"API rate limit exceeded for 85.203.44.68. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", \"documentation_url\": \"https://developer.github.com/v3/#rate-limiting\"}\n", - "The offline TF-app may not be the latest\n", + "\tconnecting to online GitHub repo annotation/app-bhsa ... connected\n", "Using TF-app in /Users/Christiaan/text-fabric-data/annotation/app-bhsa/code:\n", - "\trv1.3=#f38d56bd757e87fe12d0c125e1ca52ee4376127b (latest? release)\n", - "rate limit is 60 requests per hour, with 0 left for this hour\n" + "\trv1.3=#f38d56bd757e87fe12d0c125e1ca52ee4376127b (latest release)\n", + "rate limit is 60 requests per hour, with 55 left for this hour\n" ] }, { @@ -168,12 +168,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "\tconnecting to online GitHub repo etcbc/bhsa ... failed\n", - "GitHub says: 403 {\"message\": \"API rate limit exceeded for 85.203.44.68. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", \"documentation_url\": \"https://developer.github.com/v3/#rate-limiting\"}\n", - "The offline data may not be the latest\n", + "\tconnecting to online GitHub repo etcbc/bhsa ... connected\n", + "\tdownloading https://github.com/ETCBC/bhsa/releases/download/v1.6/tf-2017.zip ... \n", + "\tunzipping ... \n", + "\tsaving data\n", "Using data in /Users/Christiaan/text-fabric-data/etcbc/bhsa/tf/2017:\n", - "\trv1.6=#bac4a9f5a2bbdede96ba6caea45e762fe88f88c5 (latest? release)\n", - "rate limit is 60 requests per hour, with 0 left for this hour\n" + "\trv1.6=#bac4a9f5a2bbdede96ba6caea45e762fe88f88c5 (latest release)\n", + "rate limit is 60 requests per hour, with 46 left for this hour\n" ] }, { @@ -187,12 +188,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "\tconnecting to online GitHub repo etcbc/phono ... failed\n", - "GitHub says: 403 {\"message\": \"API rate limit exceeded for 85.203.44.68. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", \"documentation_url\": \"https://developer.github.com/v3/#rate-limiting\"}\n", - "The offline data may not be the latest\n", + "\tconnecting to online GitHub repo etcbc/phono ... connected\n", + "\tdownloading https://github.com/ETCBC/phono/releases/download/1.2/tf-2017.zip ... \n", + "\tunzipping ... \n", + "\tsaving data\n", "Using data in /Users/Christiaan/text-fabric-data/etcbc/phono/tf/2017:\n", - "\tr1.2 (latest? release)\n", - "rate limit is 60 requests per hour, with 0 left for this hour\n" + "\tr1.2=#1ac68e976ee4a7f23eb6bb4c6f401a033d0ec169 (latest release)\n", + "rate limit is 60 requests per hour, with 37 left for this hour\n" ] }, { @@ -206,12 +208,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "\tconnecting to online GitHub repo etcbc/parallels ... failed\n", - "GitHub says: 403 {\"message\": \"API rate limit exceeded for 85.203.44.68. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", \"documentation_url\": \"https://developer.github.com/v3/#rate-limiting\"}\n", - "The offline data may not be the latest\n", + "\tconnecting to online GitHub repo etcbc/parallels ... connected\n", "Using data in /Users/Christiaan/text-fabric-data/etcbc/parallels/tf/2017:\n", - "\tr1.2 (latest? release)\n", - "rate limit is 60 requests per hour, with 0 left for this hour\n" + "\tr1.2 (latest release)\n", + "rate limit is 60 requests per hour, with 32 left for this hour\n" ] }, { @@ -225,11 +225,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "\tconnecting to online GitHub repo cmerwich/bh-reference-system ... failed\n", - "GitHub says: 403 {\"message\": \"API rate limit exceeded for 85.203.44.68. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)\", \"documentation_url\": \"https://developer.github.com/v3/#rate-limiting\"}\n", - "The offline data may not be the latest\n", + "\tconnecting to online GitHub repo cmerwich/bh-reference-system ... connected\n", "Using data in /Users/Christiaan/text-fabric-data/cmerwich/bh-reference-system/tf/2017:\n", - "\trv1.0 (latest? release)\n", + "\trv1.0 (latest release)\n", " | 0.00s No structure info in otext, the structure part of the T-API cannot be used\n" ] }, @@ -559,7 +557,7 @@ " mod=(\n", " 'cmerwich/bh-reference-system/tf'\n", " ),\n", - " hoist=globals(),\n", + " hoist=globals()\n", ")" ] }, @@ -9569,7 +9567,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -9644,7 +9642,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -9662,7 +9660,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 28, "metadata": { "scrolled": false }, @@ -9690,7 +9688,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 29, "metadata": { "scrolled": false }, @@ -12688,6 +12686,13 @@ "source": [ "show_text(results, highlights)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/confrontation/Psalms_075.ann b/confrontation/Psalms_075.ann index 68f6aa1..4a60984 100644 --- a/confrontation/Psalms_075.ann +++ b/confrontation/Psalms_075.ann @@ -63,13 +63,13 @@ T62 Mention 476 489 KL QRNJ RCGD< T64 Mention 495 502 TRWMMNH T65 Mention 503 513 QRNWT YDJQ -* Coreference +K >LHJM +K +K -* Coreference HWDJNW HWDJNW -* Coreference SPRW NPL>WTJ -* Coreference >NJ >CPV >NKJ TKNTJ -* Coreference NMGJM >RY W-KL JCBJ -* Coreference TRJMW TRJMW TDBRW -* Coreference JCPJL JRJM -* Coreference JJN XMR -* Coreference >NJ >GJD >ZMRH >GD< -* Coreference TRWMMNH QRNWT YDJQ +* Coreference T7 T8 T11 T14 +* Coreference T6 T9 +* Coreference T12 T13 +* Coreference T17 T18 T22 T23 +* Coreference T19 T20 +* Coreference T30 T32 T36 +* Coreference T44 T46 +* Coreference T49 T50 +* Coreference T57 T58 T60 T63 +* Coreference T64 T65 diff --git a/confrontation/analyse.py b/confrontation/analyse.py index 956d9d2..93eabb5 100644 --- a/confrontation/analyse.py +++ b/confrontation/analyse.py @@ -15,8 +15,8 @@ A = use( 'bhsa', version='2017', mod=( - 'cmerwich/participant-analysis/coreference/tf:clone,' - 'etcbc/bh-reference-system/tf:clone' + 'cmerwich/participant-analysis/coreference/tf,' + 'cmerwich/bh-reference-system/tf' ), hoist=globals(), silent=True) diff --git a/confrontation/annotation_aid.py b/confrontation/annotation_aid.py new file mode 100644 index 0000000..b678c83 --- /dev/null +++ b/confrontation/annotation_aid.py @@ -0,0 +1,100 @@ +import re, collections +from IPython.display import display, HTML, Markdown + +from tf.applib.repo import checkoutRepo +from tf.app import use +from tf.fabric import Fabric + +def do(task): + result = task + md = f'''commit | release | local | base | subdir + --- | --- | --- | --- | --- + `{task[0]}` | `{task[1]}` | `{task[2]}` | `{task[3]}` | `{task[4]}` + ''' + display(Markdown(md)) + +do( + checkoutRepo(org='cmerwich', repo='bh-reference-system', folder='tf', version='2017', checkout='') +) + + +A = use( + 'bhsa', version='2017', + mod=( + 'cmerwich/bh-reference-system/tf' + ), + hoist=globals(), + silent=True +) + +def compute_text(my_book_name, from_chapter, to_chapter): + + results = [] + highlights = {} + + my_chapters = set(range(from_chapter, to_chapter+1)) + + for book in F.otype.s('book'): + book_name = T.bookName(book) + + for chn in L.d(book, 'chapter'): + chapter = F.chapter.v(chn) + tup = (chn,) + if ( + (my_book_name and book_name not in my_book_name) + or + (my_chapters and chapter not in my_chapters) + ): + continue + for phrase in L.d(chn, 'phrase'): + typ = F.typ.v(phrase) + if typ == 'NP': + tup = tup + (phrase,) + highlights[phrase] = 'skyblue' + + for phr_atom in L.d(chn, 'phrase_atom'): + if F.rela.v(phr_atom) == 'Appo': + tup = tup + (phr_atom,) + highlights[phr_atom] = 'yellow' + + for w in L.d(chn, 'word'): + pdp = F.pdp.v(w) + pgn_prps = F.pgn_prps.v(w) + pgn_prde = F.pgn_prde.v(w) + pgn_verb = F.pgn_verb.v(w) + pgn_prs = F.pgn_prs.v(w) + + if pdp == 'verb': + tup = tup + (w,) + highlights[w] = 'springgreen' + + if pdp == 'subs': + tup = tup + (w,) + highlights[w] = 'skyblue' + + if pdp == 'art': + tup = tup + (w,) + highlights[w] = 'skyblue' + + if pdp == 'nmpr': + tup = tup + (w,) + highlights[w] = 'tomato' + + if pdp == 'prps': + tup = tup + (w,) + highlights[w] = 'palegoldenrod' + + if pdp == 'prde': + tup = tup + (w,) + highlights[w] = 'royalblue' + + if pdp == 'prep' and pgn_prs in prs_set: + tup = tup + (w,) + highlights[w] = 'DarkGoldenrod' + + results.append(tup) + return (results, highlights) + +def show_text(results, highlights): + A.displaySetup(withNodes=True, extraFeatures='pgn_prps pgn_prde pgn_verb pgn_prs pdp typ rela ls function det st lex nametype gn nu') #ps gn nu + A.show(results, condensed=False, highlights=highlights) \ No newline at end of file diff --git a/confrontation/confrontation-ps75.ipynb b/confrontation/confrontation-ps75.ipynb index 2c9ffa9..bda8ce7 100644 --- a/confrontation/confrontation-ps75.ipynb +++ b/confrontation/confrontation-ps75.ipynb @@ -4,35 +4,89 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Confrontation: Psalm 75" + "\n", + "\n", + "\n", + "# Psalm 75 as Testing Ground\n", + "\n", + "This notebook aims to analyse Psalm 75 - as test case - with the coreference data that has been produced by the coreference annotation method and MiMi. The data is brought into discussion with exegetical commentaries on Psalm 75. I refer to my dissertation for an in-depth discussion. \n", + "\n", + "\n", + "## Why Psalm 75\n", + "\n", + "Psalm 75 has been chosen as case study since it presents the reader with a number of challenges. Psalm 75 starts with a we-group that praises God. God's deeds are recounted. At the moment the earth and her inhabitants are on the brink of 'melting away' an 'I' is going to judge with righteousness. People who are wicked and who boast ('the infatuated') are told not to do so. God the judge gives a foaming cup of wine to the aforementioned bad people. An 'I' person wants to make music for God and the psalm closes with the message that the 'horns' of the bad people will be chopped off and those of the righteous are going to be raised. The psalm is both intriguing as mysterious. It is hard to distinguish speech from God and human speech; the identification of other entities such as the 'wicked' and 'infatuated' leaves the reader with questions. The resolving of pronouns to named entities is therefore also challenging for the reader. The content of the psalm is harsh for those on the wicked side, which raises the question to whom is the psalm addressed and who is its messenger? Lastly, it is puzzling to what situation the psalm is referring to in which judgement is needed. Who has done injustice? \n", + "\n", + "Not all - probably very little - of these questions can decisively be answered by the commentators. Both the problems that they encounter, what they report themselves and the problems that arise from the analysis of their methods and results have been used for the development of a method and algorithm for participant analysis. These methods have been presented in the annotation directories [annotation](https://github.com/cmerwich/participant-analysis/tree/master/annotation), [tf_conversion](https://github.com/cmerwich/participant-analysis/tree/master/tf_conversion); and the [MiMi](https://github.com/cmerwich/participant-analysis/tree/master/mimi) directory. \n", + "\n", + "Psalm 75 functions as a way to uncover methodological problems in the commentaries' participant analyses and at the same time as a test case for the dissertations' methods. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## 1. Coreference Annotations " + "## 1. Import Modules" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import os\n", "import pandas as pd\n", - "from pprint import pprint\n", "from retrieve_iaa import retrieve_ann\n", - "from export_utils import MakeTable, ExportToLatex\n", - "from utils import converse_pgn, suffix_dict" + "from export_utils import MakeTable, ExportToLatex" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "from annotation_aid import compute_text, show_text" + ] + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "# Set any Hebrew Bible Book\n", + "MY_BOOK = 'Psalms'\n", + "\n", + "# Indicate a range of chapters\n", + "FROM_CHAPTER = 75\n", + "TO_CHAPTER = 75\n", + "\n", + "# Run\n", + "(results, highlights) = compute_text(MY_BOOK, FROM_CHAPTER, TO_CHAPTER)\n", + "show_text(results, highlights)" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 6, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " | 0.00s No structure info in otext, the structure part of the T-API cannot be used\n" + ] + }, { "data": { "text/html": [ @@ -317,35 +371,43 @@ }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0.00s loading features ...\n", - " | 0.00s Not enough info for structure in otext, structure functionality will not work\n", - " | 0.13s B g_prs from /Users/Christiaan/text-fabric-data/etcbc/bhsa/tf/C\n", - " 0.16s All additional features loaded - for details use loadLog()\n" - ] } ], "source": [ - "from tf.app import use\n", - "from tf.fabric import Fabric\n", - "\n", - "A = use('bhsa', \n", - " version = 'C',\n", - " hoist=globals(),\n", - " silent=True\n", - " )\n", - "TF.load('g_prs', add=True)" + "from analyse import (ParseAnnotations, \n", + " MakePandasTables, \n", + " PrintThisTable, \n", + " PrintSurvey, \n", + " PrintPatternsAndNotes, \n", + " PrintCorefID,\n", + " PrintPossibleCorrections\n", + " )" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 7, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " | 0.00s No structure info in otext, the structure part of the T-API cannot be used\n" + ] + }, { "data": { "text/html": [ @@ -633,21 +695,36 @@ } ], "source": [ - "from analyse import (ParseAnnotations, \n", - " MakePandasTables, \n", - " PrintThisTable, \n", - " PrintSurvey, \n", - " PrintPatternsAndNotes, \n", - " PrintCorefID,\n", - " PrintPossibleCorrections\n", + "from search import (GetAnnotations,\n", + " FindWho,\n", + " FindFirst,\n", + " FindMention,\n", + " FindClassMention\n", " )" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " | 0.00s No structure info in otext, the structure part of the T-API cannot be used\n" + ] + }, { "data": { "text/html": [ @@ -935,26 +1012,43 @@ } ], "source": [ - "from search import (GetAnnotations,\n", - " FindWho,\n", - " FindFirst,\n", - " FindMention,\n", - " FindClassMention\n", - " )" + "from mimi_visualise import (PrintCoref,\n", + " PrintMentions\n", + " )" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ + "# Output location for tables\n", "OUTPUT = os.path.expanduser('~/Documents/PhD/1-dissertation/DISSERTATIONlatex/Tables/')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Coreference Annotations \n", + "\n", + "The coreference annotations produced for Psalm 75 are an identification of the entities it contains and is essentially an interpretation of its discourse. \n", + "\n", + "The function `AssignIdentity()`in `analyse.py` has been described in [analyseParticipants.ipynb](https://github.com/cmerwich/participant-analysis/blob/master/tf_conversion/analyseParticipants.ipynb). To reiterate, the annotation in a coreference class with the most high ranked mention type -- PrNP, NP, PtcP, VP, PPrP or DPrP -- is used to identify the entire class. Some of the functions below indicate this identification with 'Who/what'. An additional way to facilitate analysis is to determine which mention initiates the coreference class. `AssignIdentity()` also does this. Some of the functions below indicate the mention and its type that starts the coreference chain with 'first' and 'type'. \n", + "\n", + "The functionality of `AssignIdentity()` has been further integrated in a number of entity search functions with which entities in the entire Psalms corpus can be analysed. The entity search functions are meant to facilitate in-depth discussion between the data and the findings of the commentaries. \n", + "\n", + "Working with the search functions for the analysis of entities in the Psalms brings at least three assumptions to the fore. The *first assumption* is that the identification of a class, i.e. entity, in a psalm's discourse is meaningful, and can thus be used to search in the psalms corpus for similar entities. These entities and the coreference context they appear in can be used to interpret the entity under study. \n", + "\n", + "The *second assumption* is that the way the entity is introduced in the psalm's discourse is meaningful, and can thus be used to search in the psalms corpus for entities that are *introduced* in a similar way. These entities and the coreference context they appear in can be used to interpret the entity under study. \n", + "\n", + "The *third assumption* is that from the study of classes that are similar - in identity and/or in which mention type introduces the chain - to the classes that occur in Ps 75 the meaning of the entire psalm may be interpreted." + ] + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -965,7 +1059,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -974,7 +1068,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -985,7 +1079,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -1015,11 +1109,11 @@ " \n", " \n", " mentions\n", - " 67\n", + " 68\n", " \n", " \n", " singletons\n", - " 18\n", + " 17\n", " \n", " \n", " classes\n", @@ -1031,12 +1125,12 @@ ], "text/plain": [ " total\n", - "mentions 67\n", - "singletons 18\n", + "mentions 68\n", + "singletons 17\n", "classes 10" ] }, - "execution_count": 9, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1045,19 +1139,9 @@ "PrintThisTable(overall_df75)" ] }, - { - "cell_type": "raw", - "metadata": {}, - "source": [ - "total\n", - "mentions\t68\n", - "singletons\t17\n", - "classes\t10\n" - ] - }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -1093,38 +1177,38 @@ " \n", " \n", " in class\n", - " 22\n", - " 16\n", + " 21\n", + " 19\n", " 3\n", " 7\n", " 1\n", " 0\n", - " 49\n", + " 51\n", " \n", " \n", " singleton\n", - " 1\n", - " 14\n", + " 2\n", + " 12\n", " 0\n", " 0\n", " 2\n", " 1\n", - " 18\n", + " 17\n", " \n", " \n", " total\n", " 23\n", - " 30\n", + " 31\n", " 3\n", " 7\n", " 3\n", " 1\n", - " 67\n", + " 68\n", " \n", " \n", " % total\n", " 34\n", - " 45\n", + " 46\n", " 4\n", " 10\n", " 4\n", @@ -1157,15 +1241,15 @@ ], "text/plain": [ " VP NP PPrP suffix DPrP PrNP total_type\n", - "in class 22 16 3 7 1 0 49\n", - "singleton 1 14 0 0 2 1 18\n", - "total 23 30 3 7 3 1 67\n", - "% total 34 45 4 10 4 1 100\n", + "in class 21 19 3 7 1 0 51\n", + "singleton 2 12 0 0 2 1 17\n", + "total 23 31 3 7 3 1 68\n", + "% total 34 46 4 10 4 1 100\n", "first in chain 4 4 2 0 0 0 10\n", "% chain 40 40 20 0 0 0 100" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1176,7 +1260,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -1218,15 +1302,15 @@ " in class\n", " 2\n", " 10\n", - " 5\n", + " 4\n", " 3\n", " 1\n", " 3\n", - " 2\n", + " 3\n", " 4\n", + " 0\n", " 1\n", - " 1\n", - " 32\n", + " 31\n", " \n", " \n", " singleton\n", @@ -1238,19 +1322,19 @@ " 0\n", " 0\n", " 0\n", - " 0\n", - " 0\n", " 1\n", + " 0\n", + " 2\n", " \n", " \n", " total\n", " 2\n", " 10\n", - " 5\n", + " 4\n", " 4\n", " 1\n", " 3\n", - " 2\n", + " 3\n", " 4\n", " 1\n", " 1\n", @@ -1260,11 +1344,11 @@ " % total\n", " 6\n", " 30\n", - " 15\n", + " 12\n", " 12\n", " 3\n", " 9\n", - " 6\n", + " 9\n", " 12\n", " 3\n", " 3\n", @@ -1276,19 +1360,19 @@ ], "text/plain": [ " p1upl p1usg p2mpl p2msg p3fpl p3fsg p3mpl p3msg p3upl \\\n", - "in class 2 10 5 3 1 3 2 4 1 \n", - "singleton 0 0 0 1 0 0 0 0 0 \n", - "total 2 10 5 4 1 3 2 4 1 \n", - "% total 6 30 15 12 3 9 6 12 3 \n", + "in class 2 10 4 3 1 3 3 4 0 \n", + "singleton 0 0 0 1 0 0 0 0 1 \n", + "total 2 10 4 4 1 3 3 4 1 \n", + "% total 6 30 12 12 3 9 9 12 3 \n", "\n", " umpl total_pgn \n", - "in class 1 32 \n", - "singleton 0 1 \n", + "in class 1 31 \n", + "singleton 0 2 \n", "total 1 33 \n", "% total 3 100 " ] }, - "execution_count": 11, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1299,7 +1383,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -1331,7 +1415,6 @@ " p3fsg\n", " p3mpl\n", " p3msg\n", - " p3upl\n", " umpl\n", " total_pgn\n", " \n", @@ -1348,19 +1431,17 @@ " 2\n", " 4\n", " 1\n", - " 1\n", - " 22\n", + " 21\n", " \n", " \n", " suffix\n", " 0\n", " 0\n", - " 1\n", - " 3\n", " 0\n", " 3\n", " 0\n", - " 0\n", + " 3\n", + " 1\n", " 0\n", " 0\n", " 7\n", @@ -1376,34 +1457,31 @@ " 0\n", " 0\n", " 0\n", - " 0\n", " 3\n", " \n", " \n", " total\n", " 2\n", " 10\n", - " 5\n", + " 4\n", " 3\n", " 1\n", " 3\n", - " 2\n", + " 3\n", " 4\n", " 1\n", - " 1\n", - " 32\n", + " 31\n", " \n", " \n", " % total\n", " 6\n", - " 31\n", - " 16\n", - " 9\n", - " 3\n", - " 9\n", - " 6\n", - " 12\n", + " 32\n", + " 13\n", + " 10\n", " 3\n", + " 10\n", + " 10\n", + " 13\n", " 3\n", " 100\n", " \n", @@ -1412,22 +1490,22 @@ "" ], "text/plain": [ - " p1upl p1usg p2mpl p2msg p3fpl p3fsg p3mpl p3msg p3upl umpl \\\n", - "VP 2 7 4 0 1 0 2 4 1 1 \n", - "suffix 0 0 1 3 0 3 0 0 0 0 \n", - "PPrP 0 3 0 0 0 0 0 0 0 0 \n", - "total 2 10 5 3 1 3 2 4 1 1 \n", - "% total 6 31 16 9 3 9 6 12 3 3 \n", + " p1upl p1usg p2mpl p2msg p3fpl p3fsg p3mpl p3msg umpl \\\n", + "VP 2 7 4 0 1 0 2 4 1 \n", + "suffix 0 0 0 3 0 3 1 0 0 \n", + "PPrP 0 3 0 0 0 0 0 0 0 \n", + "total 2 10 4 3 1 3 3 4 1 \n", + "% total 6 32 13 10 3 10 10 13 3 \n", "\n", " total_pgn \n", - "VP 22 \n", + "VP 21 \n", "suffix 7 \n", "PPrP 3 \n", - "total 32 \n", + "total 31 \n", "% total 100 " ] }, - "execution_count": 12, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1438,7 +1516,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1465,13 +1543,13 @@ "outputs": [], "source": [ "#PrintSurvey(corefs75)\n", - "# PrintPatternsAndNotes(corefs75, suffix_errors75)\n", + "#PrintPatternsAndNotes(corefs75, suffix_errors75)\n", "#PrintCorefID(corefs)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": { "scrolled": false }, @@ -1488,13 +1566,15 @@ "2\tT9\tVP\tp1upl\tHWDJNW \tpraise\t\n", "\n", "\n", - "C75:4 Who/what: >LHJM / first: K, type: PPrP\n", + "C75:5 Who/what: >LHJM / first: K, type: PPrP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", "2\tT7\tPPrP\tp2msg\tK \t\t \t\n", "2\tT8\tNP\t\t>LHJM \tgod(s)\t\n", + "2\tT11\tNP\t\tCM \tname\t\n", "2\tT10\tPPrP\tp2msg\tK \t\t \t\n", + "2\tT14\tNP\t\tNPL>WTJ \tbe miraculous\t\n", "2\tT13\tPPrP\tp2msg\tK \t\t \t\n", "3\tT15\tVP\tp1usg\t>QX \ttake\t\n", "3\tT17\tPPrP\tp1usg\t>NJ \ti\t\n", @@ -1507,25 +1587,18 @@ "8\tT43\tVP\tp3msg\tJCPJL \tbe low\t\n", "8\tT45\tVP\tp3msg\tJRJM \tbe high\t\n", "9\tT47\tNP\t\tJD&JHWH \thand\t\n", - "9\tT51\tVP\tp3msg\tJGR \trun\t\n", + "9\tT55\tVP\tp3mpl\tJMYW \tdrain\t\n", "10\tT62\tNP\t\t>LHJ JGD< \tcut off\t\n", "\n", "\n", - "C75:9 Who/what: NPL>WTJ / first: SPRW, type: VP\n", - "----------------------------------------------------------------------\n", - "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", - "\n", - "2\tT12\tVP\tp3upl\tSPRW \tcount\t\n", - "2\tT14\tNP\t\tNPL>WTJ \tbe miraculous\t\n", - "\n", - "\n", - "C75:2 Who/what: >RY WKL&JCBJ / first: NMGJM, type: VP\n", + "C75:2 Who/what: >RY / first: NMGJM, type: VP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", "4\tT19\tVP\tumpl\tNMGJM \tfaint\t\n", - "4\tT67\tNP\t\t>RY WKL&JCBJ \tearth\t\n", + "4\tT20\tNP\t\t>RY \tearth\t\n", + "4\tT67\tNP\t\tKL&JCBJ \twhole\t\n", "4\tT21\tPPrP\tp3fsg\tH \t\t \t\n", "4\tT68\tNP\t\tRY \twhole\t\n", "11\tT63\tNP\t\tKL&QRNJ RCGJD / first: >NJ, type: PPrP\n", + "C75:9 Who/what: >GJD / first: >NJ, type: PPrP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", @@ -1581,7 +1661,7 @@ "10\tT61\tVP\tp1usg\t>ZMRH \tsing\t\n", "\n", "\n", - "C75:8 Who/what: QRNWT YDJQ / first: TRWMMNH, type: VP\n", + "C75:10 Who/what: QRNWT YDJQ / first: TRWMMNH, type: VP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", @@ -1594,11 +1674,12 @@ "\n", "1\tT1\tNP\t\tMNYX \tprevail\t\n", "1\tT2\tVP\tp2msg\tTCXT \tdestroy\t\n", - "1\tT3\tNP\t\tMZMWR \tpsalm\t\n", + "1\tT3\tNP\t\tZMWR \tpsalm\t\n", "1\tT4\tPrNP\t\t>SP \tAsaph\t\n", "1\tT5\tNP\t\tCJR \tsong\t\n", - "2\tT11\tNP\t\tCM \tname\t\n", + "2\tT12\tVP\tp3upl\tSPRW \tcount\t\n", "3\tT16\tNP\t\tMWR \tissue\t\n", @@ -1606,9 +1687,7 @@ "7\tT39\tNP\t\tMDBR HRJM \tdesert\t\n", "8\tT42\tDPrP\t\tZH \tthis\t\n", "8\tT44\tDPrP\t\tZH \tthis\t\n", - "9\tT46\tNP\t\tKWS \tcup\t\n", "9\tT50\tNP\t\tML> MSK \tfull\t\n", - "9\tT53\tNP\t\tCMRJ \tdregs\t\n", "10\tT60\tNP\t\tLHJM / first: K, type: PPrP" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 22, "metadata": { - "scrolled": false + "scrolled": true }, "outputs": [ { @@ -1972,12 +2075,14 @@ "Pattern: ['NP', 'VP p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'NP', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'NP', 'Sfx p2msg', 'VP p3msg', 'NP', 'NP', 'VP p3msg', 'NP', 'Sfx p3msg']\n", "\n", "\n", - "C75:4 Who: >LHJM, first: K, type: PPrP, corpus class: 994\n", + "C75:5 Who: >LHJM, first: K, type: PPrP, corpus class: 994\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp2msg\tK \t\t \t\n", "2\tNP\t\t>LHJM \tgod(s)\t\n", + "2\tNP\t\tCM \tname\t\n", "2\tPPrP\tp2msg\tK \t\t \t\n", + "2\tNP\t\tNPL>WTJ \tbe miraculous\t\n", "2\tPPrP\tp2msg\tK \t\t \t\n", "3\tVP\tp1usg\t>QX \ttake\t\n", "3\tPPrP\tp1usg\t>NJ \ti\t\n", @@ -1990,10 +2095,10 @@ "8\tVP\tp3msg\tJCPJL \tbe low\t\n", "8\tVP\tp3msg\tJRJM \tbe high\t\n", "9\tNP\t\tJD&JHWH \thand\t\n", - "9\tVP\tp3msg\tJGR \trun\t\n", + "9\tVP\tp3mpl\tJMYW \tdrain\t\n", "10\tNP\t\t>LHJ JGD< \tcut off\t\n", - "Pattern: ['Sfx p2msg', 'NP', 'Sfx p2msg', 'Sfx p2msg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'NP', 'NP', 'VP p3msg', 'VP p3msg', 'NP', 'VP p3msg', 'NP', 'VP p1usg']\n", + "Pattern: ['Sfx p2msg', 'NP', 'NP', 'Sfx p2msg', 'NP', 'Sfx p2msg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'NP', 'NP', 'VP p3msg', 'VP p3msg', 'NP', 'VP p3mpl', 'NP', 'VP p1usg']\n", "\n", "\n", "C81:2 Who: >LHJM, first: >LHJM, type: NP, corpus class: 1105\n", @@ -2008,12 +2113,18 @@ "Pattern: ['NP', 'NP', 'NP', 'NP', 'VP p3msg', 'VP uuu']\n", "\n", "\n", - "C82:4 Who: >LHJM, first: >LHJM, type: NP, corpus class: 1117\n", + "C82:1 Who: >LHJM, first: >LHJM, type: NP, corpus class: 1117\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tNP\t\t>LHJM \tgod(s)\t\n", "1\tVP\tumsg\tNYB \tstand\t\n", "1\tVP\tp3msg\tJCPV \tjudge\t\n", + "Pattern: ['NP', 'VP umsg', 'VP p3msg']\n", + "\n", + "\n", + "C82:5 Who: >LHJM, first: >NJ, type: PPrP, corpus class: 1120\n", + "\n", + "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tPPrP\tp1usg\t>NJ \ti\t\n", "6\tVP\tp1usg\t>MRTJ \tsay\t\n", "8\tVP\tp2msg\tQWMH \tarise\t\n", @@ -2021,10 +2132,10 @@ "8\tVP\tp2msg\tCPVH \tjudge\t\n", "8\tPPrP\tp2msg\t>TH \tyou\t\n", "8\tVP\tp2msg\tTNXL \ttake possession\t\n", - "Pattern: ['NP', 'VP umsg', 'VP p3msg', 'PPrP p1usg', 'VP p1usg', 'VP p2msg', 'NP', 'VP p2msg', 'PPrP p2msg', 'VP p2msg']\n", + "Pattern: ['PPrP p1usg', 'VP p1usg', 'VP p2msg', 'NP', 'VP p2msg', 'PPrP p2msg', 'VP p2msg']\n", "\n", "\n", - "C82:3 Who: >LHJM, first: >LHJM, type: NP, corpus class: 1120\n", + "C82:4 Who: >LHJM, first: >LHJM, type: NP, corpus class: 1121\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tNP\t\t>LHJM \tgod(s)\t\n", @@ -2037,7 +2148,7 @@ "Pattern: ['NP', 'Sfx p3mpl', 'NP', 'NP', 'Sfx p2mpl', 'VP p2mpl', 'VP p2mpl']\n", "\n", "\n", - "Results: 17\n" + "Results: 18\n" ] }, { @@ -2056,13 +2167,14 @@ " 'C63:2',\n", " 'C65:8',\n", " 'C67:5',\n", - " 'C75:4',\n", + " 'C75:5',\n", " 'C81:2',\n", - " 'C82:4',\n", - " 'C82:3']" + " 'C82:1',\n", + " 'C82:5',\n", + " 'C82:4']" ] }, - "execution_count": 19, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -2071,9 +2183,16 @@ "FindWho(corefs, suffix_errors, ['>LHJM'])" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Suffix K" + ] + }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 23, "metadata": { "scrolled": true }, @@ -2435,12 +2554,14 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'NP ', 'NP ', 'PPrP p2msg']\n", "\n", "\n", - "C75:4 Who: >LHJM, first: K, type: PPrP, corpus class: 993\n", + "C75:5 Who: >LHJM, first: K, type: PPrP, corpus class: 993\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp2msg\tK \t\t\t\n", "2\tNP\t\t>LHJM \tgod(s)\t\n", + "2\tNP\t\tCM \tname\t\n", "2\tPPrP\tp2msg\tK \t\t\t\n", + "2\tNP\t\tNPL>WTJ \tbe miraculous\t\n", "2\tPPrP\tp2msg\tK \t\t\t\n", "3\tVP\tp1usg\t>QX \ttake\t\n", "3\tPPrP\tp1usg\t>NJ \ti\t\n", @@ -2448,21 +2569,15 @@ "4\tPPrP\tp1usg\t>NKJ \ti\t\n", "4\tVP\tp1usg\tTKNTJ \testimate\t\n", "5\tVP\tp1usg\t>MRTJ \tsay\t\n", - "8\tNP\t\t>LHJM \tgod(s)\t\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "8\tNP\t\t>LHJM \tgod(s)\t\n", "8\tNP\t\tCPV \tjudge\t\n", "8\tVP\tp3msg\tJCPJL \tbe low\t\n", "8\tVP\tp3msg\tJRJM \tbe high\t\n", "9\tNP\t\tJD&JHWH \thand\t\n", - "9\tVP\tp3msg\tJGR \trun\t\n", + "9\tVP\tp3mpl\tJMYW \tdrain\t\n", "10\tNP\t\t>LHJ JGD< \tcut off\t\n", - "Pattern: ['Sfx p2msg', 'NP ', 'Sfx p2msg', 'Sfx p2msg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'NP ', 'NP ', 'VP p3msg', 'VP p3msg', 'NP ', 'VP p3msg', 'NP ', 'VP p1usg']\n", + "Pattern: ['Sfx p2msg', 'NP ', 'NP ', 'Sfx p2msg', 'NP ', 'Sfx p2msg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'NP ', 'NP ', 'VP p3msg', 'VP p3msg', 'NP ', 'VP p3mpl', 'NP ', 'VP p1usg']\n", "\n", "\n", "C81:11 Who: JFR>L, first: K, type: PPrP, corpus class: 1111\n", @@ -2501,7 +2616,7 @@ "Pattern: ['Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'NP ', 'Sfx p2msg', 'PrNP ', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p3msg', 'NP ', 'PrNP ', 'VP p3msg', 'Sfx p3msg', 'Sfx p3mpl', 'VP p3mpl', 'Sfx p3mpl', 'NP ', 'VP umsg', 'PrNP ', 'VP p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3msg', 'Sfx p2msg']\n", "\n", "\n", - "C83:11 Who: JHWH, first: K, type: PPrP, corpus class: 1130\n", + "C83:11 Who: JHWH, first: K, type: PPrP, corpus class: 1131\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "19\tPPrP\tp2msg\tK \t\t\t\n", @@ -2511,8 +2626,14 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'NP ']\n", "\n", "\n", - "C84:1 Who: JHWH YB>WT, first: K, type: PPrP, corpus class: 1131\n", - "\n", + "C84:1 Who: JHWH YB>WT, first: K, type: PPrP, corpus class: 1132\n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp2msg\tK \t\t\t\n", "2\tPrNP\t\tJHWH YB>WT \tYHWH\tNested mention: (YHWH of (hosts)).\n", @@ -2522,7 +2643,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'NP ', 'Sfx p2msg', 'PrNP ']\n", "\n", "\n", - "C89:3 Who: TKN, first: K, type: PPrP, corpus class: 1183\n", + "C89:3 Who: TKN, first: K, type: PPrP, corpus class: 1184\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp2msg\tK \t\t\t\n", @@ -2537,7 +2658,7 @@ "Pattern: ['Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg']\n", "\n", "\n", - "C89:36 Who: JHWH, first: K, type: PPrP, corpus class: 1189\n", + "C89:36 Who: JHWH, first: K, type: PPrP, corpus class: 1190\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tPPrP\tp2msg\tK \t\t\t\n", @@ -2667,7 +2788,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'PrNP ', 'PrNP ', 'NP ', 'VP umsg', 'VP umsg', 'Sfx p3msg', 'PrNP ', 'NP ', 'Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'Sfx p2msg', 'PPrP p2msg', 'VP umsg', 'PPrP p2msg', 'VP p2msg', 'PPrP p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PPrP p2msg', 'VP p2msg', 'PPrP p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PPrP p2msg', 'Sfx p2msg', 'PrNP ', 'NP ', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'NP ', 'PPrP p2msg', 'NP ', 'NP ', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'PPrP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'PrNP ', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'PrNP ', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'PrNP ', 'Sfx p2msg', 'Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'VP umsg', 'PrNP ']\n", "\n", "\n", - "C91:7 Who: TXSH, first: K, type: PPrP, corpus class: 1235\n", + "C91:7 Who: TXSH, first: K, type: PPrP, corpus class: 1236\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "3\tPPrP\tp2msg\tK \t\t\tWho is 2msg?\n", @@ -2705,7 +2826,7 @@ "Pattern: ['Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p3msg']\n", "\n", "\n", - "C92:4 Who: JHWH, first: K, type: PPrP, corpus class: 1246\n", + "C92:4 Who: JHWH, first: K, type: PPrP, corpus class: 1247\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tPPrP\tp2msg\tK \t\t\t\n", @@ -2714,7 +2835,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'Sfx p2msg']\n", "\n", "\n", - "C101:1 Who: JHWH, first: K, type: PPrP, corpus class: 1336\n", + "C101:1 Who: JHWH, first: K, type: PPrP, corpus class: 1337\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2723,7 +2844,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'VP p2msg']\n", "\n", "\n", - "C115:2 Who: K, first: K, type: PPrP, corpus class: 1581\n", + "C115:2 Who: K, first: K, type: PPrP, corpus class: 1582\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2731,7 +2852,7 @@ "Pattern: ['Sfx p2msg', 'Sfx p2msg']\n", "\n", "\n", - "C121:3 Who: Y>TK, first: K, type: PPrP, corpus class: 1705\n", + "C121:3 Who: Y>TK, first: K, type: PPrP, corpus class: 1706\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "3\tPPrP\tp2msg\tK \t\t\t\n", @@ -2746,7 +2867,7 @@ "Pattern: ['Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP uuu', 'VP uuu']\n", "\n", "\n", - "C122:3 Who: JRWCLM, first: K, type: PPrP, corpus class: 1710\n", + "C122:3 Who: JRWCLM, first: K, type: PPrP, corpus class: 1711\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp2msg\tK \t\t\t\n", @@ -2756,7 +2877,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'PrNP ', 'CP ']\n", "\n", "\n", - "C123:2 Who: JHWH, first: K, type: PPrP, corpus class: 1717\n", + "C123:2 Who: JHWH, first: K, type: PPrP, corpus class: 1718\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2770,7 +2891,7 @@ "Pattern: ['Sfx p2msg', 'VP umsg', 'PrNP ', 'NP ', 'VP p3msg', 'VP p2msg', 'PrNP ', 'VP p2msg']\n", "\n", "\n", - "C130:1 Who: JHWH, first: K, type: PPrP, corpus class: 1767\n", + "C130:1 Who: JHWH, first: K, type: PPrP, corpus class: 1768\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2788,13 +2909,19 @@ "6\tPrNP\t\t>DNJ \tLord\t\n", "7\tPrNP\t\tJHWH \tYHWH\t\n", "7\tPrNP\t\tJHWH \tYHWH\t\n", - "7\tPPrP\tp3msg\tW \t\t\t\n", + "7\tPPrP\tp3msg\tW \t\t\t\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "8\tPPrP\tp3msg\tHW> \the\t\n", "8\tVP\tp3msg\tJPDH \tbuy off\t\n", "Pattern: ['Sfx p2msg', 'PrNP ', 'PrNP ', 'VP p2msg', 'Sfx p2msg', 'VP p2msg', 'PrNP ', 'PrNP ', 'Sfx p2msg', 'VP p2msg', 'PrNP ', 'Sfx p3msg', 'PrNP ', 'PrNP ', 'PrNP ', 'Sfx p3msg', 'PPrP p3msg', 'VP p3msg']\n", "\n", "\n", - "C137:4 Who: JRWCLM, first: K, type: PPrP, corpus class: 1835\n", + "C137:4 Who: JRWCLM, first: K, type: PPrP, corpus class: 1836\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "5\tPPrP\tp2msg\tK \t\t\t\n", @@ -2805,7 +2932,7 @@ "Pattern: ['Sfx p2msg', 'PrNP ', 'Sfx', 'PrNP ', 'Sfx p3fsg']\n", "\n", "\n", - "C138:2 Who: JHWH, first: K, type: PPrP, corpus class: 1845\n", + "C138:2 Who: JHWH, first: K, type: PPrP, corpus class: 1846\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2828,20 +2955,14 @@ "6\tVP\tp3msg\tJJD< \tknow\t\n", "7\tVP\tp2msg\tTXJ \tbe alive\t\n", "7\tVP\tp2msg\tTCLX \tsend\t\n", - "7\tPPrP\tp2msg\tK \t\t\t\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "7\tPPrP\tp2msg\tK \t\t\t\n", "7\tPPrP\tp2msg\tK \t\t\t\n", "8\tPrNP\t\tJHWH \tYHWH\t\n", "8\tVP\tp3msg\tJGMR \tend\t\n", "Pattern: ['Sfx p2msg', 'NP ', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'PrNP ', 'VP p3msg', 'VP p3msg', 'VP p2msg', 'VP p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PrNP ', 'VP p3msg']\n", "\n", "\n", - "C145:16 Who: JHWH, first: K, type: PPrP, corpus class: 1933\n", + "C145:16 Who: JHWH, first: K, type: PPrP, corpus class: 1934\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp2msg\tK \t\t\t\n", @@ -2902,7 +3023,7 @@ "Pattern: ['Sfx p2msg', 'NP ', 'NP ', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PrNP ', 'Sfx p3msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p2msg', 'PrNP ', 'PrNP ', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p2msg', 'PrNP ', 'Sfx p2msg', 'Sfx p2msg', 'Sfx', 'Sfx p2msg', 'Sfx p2msg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p2msg', 'Sfx p2msg', 'VP umsg', 'PrNP ', 'VP umsg', 'Sfx p2msg', 'PPrP p2msg', 'VP umsg', 'VP umsg', 'Sfx p2msg', 'VP umsg', 'PrNP ', 'Sfx p3msg', 'Sfx p3msg', 'PrNP ', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'VP p3msg', 'VP umsg', 'PrNP ', 'Sfx p3msg', 'VP p3msg', 'Sfx p3msg']\n", "\n", "\n", - "C146:10 Who: YJWN, first: K, type: PPrP, corpus class: 1959\n", + "C146:10 Who: YJWN, first: K, type: PPrP, corpus class: 1960\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "10\tPPrP\tp2msg\tK \t\t\t\n", @@ -2928,7 +3049,7 @@ " 'C53:8',\n", " 'C65:8',\n", " 'C71:1',\n", - " 'C75:4',\n", + " 'C75:5',\n", " 'C81:11',\n", " 'C83:11',\n", " 'C84:1',\n", @@ -2948,19 +3069,26 @@ " 'C146:10']" ] }, - "execution_count": 20, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Groot aantal van de resultaten is JHWH\n", + "# A great number of the K suffixes refer to God\n", "FindFirst(corefs, suffix_errors, 'PPrP', ['K']) # 'PPrP', >NJ'" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A Search in Psalm 107" + ] + }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -2969,7 +3097,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -3301,13 +3429,7 @@ "C107:26 Who/what: NDJBJM / first: NDJBJM, type: NP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "\n", "40\tT236\tNP\t\tNDJBJM \twilling\t\n", "40\tT257\tPPrP\tp3mpl\tM \t\t \t\n", "\n", @@ -3364,7 +3486,13 @@ "14\tT78\tNP\t\tXCK \tdarkness\t\n", "14\tT79\tNP\t\tYLMWT \tdarkness\t\n", "14\tT80\tNP\t\tMWSRWTJ \tband\t\n", - "16\tT91\tNP\t\tDLTWT NXCT \tdoor\t\n", + "16\tT91\tNP\t\tDLTWT NXCT \tdoor\t\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "16\tT92\tNP\t\tBRJXJ BRZL \tbar\t\n", "17\tT95\tNP\t\tDRK PC< \tway\t\n", "17\tT97\tNP\t\tDNJ \tLord\t\n", "66\tT470\tVP\tp3msg\tJK \tstrike\t\n", "66\tT471\tPPrP\tp3msg\tW \t\t \t\n", - "66\tT474\tVP\tp3msg\tNTN \tgive\t\n", + "66\tT474\tVP\tp3msg\tNTN \tgive\t\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "67\tT476\tVP\tp3msg\tJM>S \tretract\t\n", "67\tT479\tVP\tp3msg\tBXR \texamine\t\n", "68\tT480\tVP\tp3msg\tJBXR \texamine\t\n", @@ -3847,13 +3988,7 @@ "52\tT377\tNP\t\tMDBR \tdesert\t\n", "\n", "\n", - "C78:23 Who/what: LBB / first: LBB, type: NP\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "C78:23 Who/what: LBB / first: LBB, type: NP\n", "----------------------------------------------------------------------\n", "verse\tid\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", @@ -4163,7 +4298,13 @@ "16\tT123\tNP\t\tMJM \twater\t\n", "17\tT129\tNP\t\tYJH \tdry country\t\n", "18\tT135\tNP\t\t>KL \tfood\t\n", - "18\tT137\tNP\t\tNPC \tsoul\t\n", + "18\tT137\tNP\t\tNPC \tsoul\t\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "19\tT144\tNP\t\tCLXN \ttable\t\n", "20\tT147\tNP\t\tYWR \trock\t\n", "20\tT152\tNP\t\tLXM \tbread\t\n", @@ -4268,9 +4409,16 @@ "GetAnnotations(corefs78, suffix_errors78)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NPL>WTJ and SPRW " + ] + }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 28, "metadata": { "scrolled": true }, @@ -4279,14 +4427,6 @@ "name": "stdout", "output_type": "stream", "text": [ - "C75:9 Who: NPL>WTJ, first: SPRW, type: VP, corpus class: 995\n", - "\n", - "verse\ttype\tpgn\tann\t\tgloss\tnote\n", - "2\tVP\tp3upl\tSPRW \tcount\t\n", - "2\tNP\t\tNPL>WTJ \tbe miraculous\t\n", - "Pattern: ['VP p3upl', 'NP']\n", - "\n", - "\n", "C78:13 Who: NPL>WTJ, first: NPL>WTJ, type: NP, corpus class: 1041\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", @@ -4296,7 +4436,7 @@ "Pattern: ['NP', 'NP', 'NP']\n", "\n", "\n", - "C107:10 Who: NPL>WTJ, first: NPL>WTJ, type: NP, corpus class: 1484\n", + "C107:10 Who: NPL>WTJ, first: NPL>WTJ, type: NP, corpus class: 1485\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "8\tNP\t\tNPL>WTJ \tbe miraculous\t\n", @@ -4306,27 +4446,34 @@ "Pattern: ['NP', 'NP', 'NP', 'NP']\n", "\n", "\n", - "Results: 3\n" + "Results: 2\n" ] }, { "data": { "text/plain": [ - "['C75:9', 'C78:13', 'C107:10']" + "['C78:13', 'C107:10']" ] }, - "execution_count": 25, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "FindWho(corefs, suffix_errors, ['NPL>WTJ', 'SPRW'])" + "FindWho(corefs, suffix_errors, ['NPL>WTJ', 'SPRW'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NPL>WTJ" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 17, "metadata": { "scrolled": true }, @@ -4337,7 +4484,7 @@ "text": [ "ch:v class/sing\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", - "75:2\tC75:9\tNP\t\tNPL>WTJ\t\tbe miraculous\t\n", + "75:2\tC75:5\tNP\t\tNPL>WTJ\t\tbe miraculous\t\n", "78:4\tC78:13\tNP\t\tNPL>WTJ\t\tbe miraculous\t\n", "78:11\tC78:13\tNP\t\tNPL>WTJ\t\tbe miraculous\t\n", "78:32\tC78:13\tNP\t\tNPL>WTJ\t\tbe miraculous\t\n", @@ -4363,18 +4510,26 @@ ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ - "Singing about wondrous deeds\n", - "96:3\n", - "105:5\n", - "106:7" + "#### Notes\n", + "Singing about wondrous deeds:\n", + "* 96:3\n", + "* 105:5\n", + "* 106:7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### SPRW" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -4385,9 +4540,9 @@ "\n", "44:2\tC44:1\tVP\tp3upl\tSPRW\t\tcount\t\n", "48:13\tC48:10\tVP\tp2mpl\tSPRW\t\tcount\t\n", - "75:2\tC75:9\tVP\tp3upl\tSPRW\t\tcount\t\n", "78:3\tC78:21\tVP\tp3upl\tSPRW\t\tcount\t\n", "96:3\tC96:2\tVP\tp2mpl\tSPRW\t\tcount\t\n", + "75:2\tSing\tVP\tp3upl\tSPRW\t\tcount\t\n", "\n", "\n", "Results: 5\n" @@ -4396,10 +4551,10 @@ { "data": { "text/plain": [ - "['C44:1', 'C48:10', 'C75:9', 'C78:21', 'C96:2']" + "['C44:1', 'C48:10', 'C78:21', 'C96:2', '75:2-Sing']" ] }, - "execution_count": 27, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -4410,7 +4565,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -4446,14 +4601,6 @@ "Pattern: ['VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'Sfx p2mpl', 'VP p2mpl', 'VP p2mpl']\n", "\n", "\n", - "C75:9 Who: NPL>WTJ, first: SPRW, type: VP, corpus class: 995\n", - "\n", - "verse\ttype\tpgn\tann\t\tgloss\tnote\n", - "2\tVP\tp3upl\tSPRW \tcount\t\n", - "2\tNP\t\tNPL>WTJ \tbe miraculous\t\n", - "Pattern: ['VP p3upl', 'NP']\n", - "\n", - "\n", "C78:21 Who: >BWTJ, first: >BWTJ, type: NP, corpus class: 1037\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", @@ -4516,7 +4663,7 @@ "Pattern: ['NP', 'VP p3upl', 'Sfx p3mpl', 'NP', 'VP uuu', 'Sfx p3mpl', 'NP', 'NP', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3mpl', 'VP p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3mpl', 'VP p3upl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3mpl', 'VP p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3upl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3upl', 'VP p3upl', 'Sfx p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3upl', 'VP p3upl', 'VP p3upl', 'VP p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3mpl', 'Sfx p3mpl', 'Sfx p3mpl', 'VP p3mpl', 'Sfx p3mpl', 'VP p3upl', 'PPrP p3mpl', 'VP p3mpl', 'VP p3mpl', 'VP p3mpl', 'VP p3mpl', 'VP p3upl', 'VP p3upl', 'Sfx p3mpl', 'NP']\n", "\n", "\n", - "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1288\n", + "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1289\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tVP\tp2mpl\tCJRW \tsing\t\n", @@ -4533,16 +4680,16 @@ "Pattern: ['VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl']\n", "\n", "\n", - "Results: 5\n" + "Results: 4\n" ] }, { "data": { "text/plain": [ - "['C44:1', 'C48:10', 'C75:9', 'C78:21', 'C96:2']" + "['C44:1', 'C48:10', 'C78:21', 'C96:2']" ] }, - "execution_count": 28, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -4551,9 +4698,16 @@ " FindClassMention(corefs, suffix_errors, 'SPRW')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### JCBJ" + ] + }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -4577,9 +4731,16 @@ "lst = FindMention(corefs, suffix_errors, 'JCBJ')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KL&H>RY" + ] + }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 21, "metadata": { "scrolled": true }, @@ -4662,7 +4823,7 @@ "Pattern: ['VP p2mpl', 'NP', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'NP', 'VP p3mpl', 'VP p3mpl', 'VP p3mpl', 'VP p2mpl', 'VP p2mpl']\n", "\n", "\n", - "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1288\n", + "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1289\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tVP\tp2mpl\tCJRW \tsing\t\n", @@ -4679,7 +4840,7 @@ "Pattern: ['VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl']\n", "\n", "\n", - "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1289\n", + "C96:2 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1290\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tVP\tp2mpl\tCJRW \tsing\t\n", @@ -4696,7 +4857,7 @@ "Pattern: ['VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl']\n", "\n", "\n", - "C98:4 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1317\n", + "C98:4 Who: KL&H>RY, first: CJRW, type: VP, corpus class: 1318\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tVP\tp2mpl\tCJRW \tsing\t\n", @@ -4710,7 +4871,7 @@ "Pattern: ['VP p2mpl', 'VP p2mpl', 'NP', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl', 'VP p2mpl']\n", "\n", "\n", - "C100:2 Who: KL&H>RY, first: HRJRY, first: HRJRY')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KL&JCBJ" + ] + }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -4756,18 +4924,19 @@ "text": [ "ch:v class/sing\ttype\tpgn\tann\t\tgloss\tnote\n", "\n", + "75:4\tC75:2\tNP\t\tKL&JCBJ\t\twhole\t\n", "\n", "\n", - "Results: 0\n" + "Results: 1\n" ] }, { "data": { "text/plain": [ - "[]" + "['C75:2']" ] }, - "execution_count": 31, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -4776,9 +4945,16 @@ "FindMention(corefs, suffix_errors, 'KL&JCBJ')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NMGJM" + ] + }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -4799,7 +4975,7 @@ "['C75:2']" ] }, - "execution_count": 32, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -4808,9 +4984,16 @@ "FindMention(corefs, suffix_errors, 'NMGJM')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### HWLLJM" + ] + }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -4825,7 +5008,7 @@ "Pattern: ['VP p3mpl', 'NP']\n", "\n", "\n", - "C75:3 Who: HWLLJM, first: HWLLJM, type: NP, corpus class: 997\n", + "C75:3 Who: HWLLJM, first: HWLLJM, type: NP, corpus class: 996\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "5\tNP\t\tHWLLJM \tbe infatuated\t\n", @@ -4842,7 +5025,7 @@ "['C5:8', 'C75:3']" ] }, - "execution_count": 33, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -4853,7 +5036,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -4876,7 +5059,7 @@ "['C5:8', 'C75:3', '73:3-Sing']" ] }, - "execution_count": 34, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -4887,7 +5070,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -4902,7 +5085,7 @@ "Pattern: ['VP p3mpl', 'NP']\n", "\n", "\n", - "C75:3 Who: HWLLJM, first: HWLLJM, type: NP, corpus class: 997\n", + "C75:3 Who: HWLLJM, first: HWLLJM, type: NP, corpus class: 996\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "5\tNP\t\tHWLLJM \tbe infatuated\t\n", @@ -4919,7 +5102,7 @@ "['C5:8', 'C75:3']" ] }, - "execution_count": 35, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -4928,9 +5111,16 @@ "FindClassMention(corefs, suffix_errors, 'HWLLJM')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### THLW" + ] + }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -4951,7 +5141,7 @@ "['C75:3']" ] }, - "execution_count": 36, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -4960,9 +5150,16 @@ "FindMention(corefs, suffix_errors, 'THLW')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### RCRY \twhole\t\n", "11\tNP\t\tKL&QRNJ RCRY \twhole\t\n", "11\tNP\t\tKL&QRNJ RCSP', 'MLK', 'TWRT', JHWH'" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### QRN" + ] + }, { "cell_type": "code", "execution_count": 40, @@ -5800,6 +5990,13 @@ "FindWho(corefs, suffix_errors, ['QRN'])" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### JJN" + ] + }, { "cell_type": "code", "execution_count": 42, @@ -5882,6 +6079,13 @@ "FindWho(corefs, suffix_errors, ['JJN'])" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### KWS" + ] + }, { "cell_type": "code", "execution_count": 44, @@ -5916,6 +6120,13 @@ "FindMention(corefs, suffix_errors, 'KWS')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### XMR" + ] + }, { "cell_type": "code", "execution_count": 45, @@ -5948,6 +6159,13 @@ "FindMention(corefs, suffix_errors, 'XMR')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Personal Pronoun >NJ" + ] + }, { "cell_type": "code", "execution_count": 46, @@ -6085,6 +6303,13 @@ "FindFirst(corefs, suffix_errors, 'PPrP', ['>NJ']) # 'PPrP', >NJ'" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### >GJD" + ] + }, { "cell_type": "code", "execution_count": 47, @@ -6121,6 +6346,13 @@ "FindMention(corefs, suffix_errors, '>GJD')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### >ZMRH" + ] + }, { "cell_type": "code", "execution_count": 48, @@ -6177,6 +6409,13 @@ "FindMention(corefs, suffix_errors, '>ZMRH')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### >GJD and >ZMRH" + ] + }, { "cell_type": "code", "execution_count": 49, @@ -6215,7 +6454,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 30, "metadata": { "scrolled": true }, @@ -6420,7 +6659,7 @@ "Pattern: ['VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p3msg', 'Sfx p3msg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'PPrP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'PPrP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg']\n", "\n", "\n", - "C75:7 Who: >GJD, first: >NJ, type: PPrP, corpus class: 1001\n", + "C75:9 Who: >GJD, first: >NJ, type: PPrP, corpus class: 1001\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "10\tPPrP\tp1usg\t>NJ \ti\t\n", @@ -6429,7 +6668,7 @@ "Pattern: ['PPrP p1usg', 'VP p1usg', 'VP p1usg']\n", "\n", "\n", - "C142:2 Who: >ZZGJD, first: >NJ, type: PPrP, corpus class: 1001\n", + "C75:9 Who: >GJD, first: >NJ, type: PPrP, corpus class: 1001\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "10\tPPrP\tp1usg\t>NJ \ti\t\n", @@ -6773,7 +7012,7 @@ "Pattern: ['PPrP p1usg', 'VP p1usg', 'VP p1usg']\n", "\n", "\n", - "C101:2 Who: >CJRH, first: >CJRH, type: VP, corpus class: 1336\n", + "C101:2 Who: >CJRH, first: >CJRH, type: VP, corpus class: 1337\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tVP\tp1usg\t>CJRH \tsing\t\n", @@ -6791,13 +7030,7 @@ "4\tVP\tp1usg\t>D< \tknow\t\n", "5\tVP\tp1usg\t>YMJT \tbe silent\t\n", "5\tVP\tp1usg\t>WKL \tbe able\t\n", - "6\tPPrP\tp1usg\tJ \t\t \tThe question here is if this is the same \"I\" as in previous verses. Seems to be God. \n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "6\tPPrP\tp1usg\tJ \t\t \tThe question here is if this is the same \"I\" as in previous verses. Seems to be God. \n", "6\tPPrP\tp1usg\tJ \t\t \t\n", "6\tPPrP\tp1usg\tNJ \t\t \t\n", "7\tPPrP\tp1usg\tJ \t\t \tWho is the \"I\" here? \n", @@ -6806,7 +7039,7 @@ "Pattern: ['VP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg']\n", "\n", "\n", - "C104:31 Who: >CJRH, first: J, type: PPrP, corpus class: 1388\n", + "C104:31 Who: >CJRH, first: J, type: PPrP, corpus class: 1389\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp1usg\tJ \t\t \t\n", @@ -6823,7 +7056,7 @@ "Pattern: ['Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'PPrP p1usg', 'VP p1usg', 'Sfx p1usg']\n", "\n", "\n", - "C108:2 Who: >CJRH, first: J, type: PPrP, corpus class: 1507\n", + "C108:2 Who: >CJRH, first: J, type: PPrP, corpus class: 1508\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "2\tPPrP\tp1usg\tJ \t\t \t\n", @@ -6839,7 +7072,7 @@ "Pattern: ['Sfx p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg']\n", "\n", "\n", - "C144:1 Who: XSJTJ, first: J, type: PPrP, corpus class: 1917\n", + "C144:1 Who: XSJTJ, first: J, type: PPrP, corpus class: 1918\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp1usg\tJ \t\t \t\n", @@ -6863,7 +7096,7 @@ "Pattern: ['Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'Sfx p1usg', 'VP p1usg', 'VP p1usg', 'Sfx p1usg', 'Sfx p1usg']\n", "\n", "\n", - "C146:2 Who: >HLLH, first: J, type: PPrP, corpus class: 1954\n", + "C146:2 Who: >HLLH, first: J, type: PPrP, corpus class: 1955\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "1\tPPrP\tp1usg\tJ \t\t \t\n", @@ -6892,10 +7125,10 @@ " 'C59:3',\n", " 'C61:1',\n", " 'C71:3',\n", - " 'C75:7']" + " 'C75:9']" ] }, - "execution_count": 51, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -6904,16 +7137,23 @@ "FindClassMention(corefs, suffix_errors, '>ZMRH')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### QRNWT YDJQ" + ] + }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "C75:8 Who: QRNWT YDJQ, first: TRWMMNH, type: VP, corpus class: 1002\n", + "C75:10 Who: QRNWT YDJQ, first: TRWMMNH, type: VP, corpus class: 1002\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "11\tVP\tp3fpl\tTRWMMNH \tbe high\t\n", @@ -6927,10 +7167,10 @@ { "data": { "text/plain": [ - "['C75:8']" + "['C75:10']" ] }, - "execution_count": 52, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -6941,9 +7181,16 @@ "#C75:8 Who/what: QRNWT YDJQ / first: TRWMMNH, type: VP" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### YDJQ" + ] + }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -7001,7 +7248,7 @@ "Pattern: ['VP p3msg', 'Sfx p3msg', 'NP']\n", "\n", "\n", - "C92:14 Who: YDJQ, first: YDJQ, type: NP, corpus class: 1257\n", + "C92:14 Who: YDJQ, first: YDJQ, type: NP, corpus class: 1258\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "13\tNP\t\tYDJQ \tjust\t\n", @@ -7014,7 +7261,7 @@ "Pattern: ['NP', 'VP p3msg', 'VP p3msg', 'VP umpl', 'VP p3mpl', 'VP p3mpl', 'VP p3mpl']\n", "\n", "\n", - "C112:8 Who: YDJQ, first: JMWV, type: VP, corpus class: 1561\n", + "C112:8 Who: YDJQ, first: JMWV, type: VP, corpus class: 1562\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tVP\tp3msg\tJMWV \ttotter\t\n", @@ -7033,7 +7280,7 @@ "Pattern: ['VP p3msg', 'VP p3msg', 'NP', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg']\n", "\n", "\n", - "C141:5 Who: YDJQ, first: JHLM, type: VP, corpus class: 1886\n", + "C141:5 Who: YDJQ, first: JHLM, type: VP, corpus class: 1887\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "5\tVP\tp3msg\tJHLM \tstrike\t\n", @@ -7051,7 +7298,7 @@ "['C5:12', 'C37:9', 'C58:10', 'C64:9', 'C72:3', 'C92:14', 'C112:8', 'C141:5']" ] }, - "execution_count": 53, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -7062,7 +7309,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 34, "metadata": { "scrolled": false }, @@ -7249,7 +7496,7 @@ "Pattern: ['VP p3msg', 'Sfx p3msg', 'NP']\n", "\n", "\n", - "C92:14 Who: YDJQ, first: YDJQ, type: NP, corpus class: 1257\n", + "C92:14 Who: YDJQ, first: YDJQ, type: NP, corpus class: 1258\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "13\tNP\t\tYDJQ \tjust\t\n", @@ -7262,7 +7509,7 @@ "Pattern: ['NP', 'VP p3msg', 'VP p3msg', 'VP umpl', 'VP p3mpl', 'VP p3mpl', 'VP p3mpl']\n", "\n", "\n", - "C112:8 Who: YDJQ, first: JMWV, type: VP, corpus class: 1561\n", + "C112:8 Who: YDJQ, first: JMWV, type: VP, corpus class: 1562\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "6\tVP\tp3msg\tJMWV \ttotter\t\n", @@ -7281,7 +7528,7 @@ "Pattern: ['VP p3msg', 'VP p3msg', 'NP', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'VP p3msg', 'VP p3msg', 'Sfx p3msg', 'Sfx p3msg']\n", "\n", "\n", - "C141:5 Who: YDJQ, first: JHLM, type: VP, corpus class: 1886\n", + "C141:5 Who: YDJQ, first: JHLM, type: VP, corpus class: 1887\n", "\n", "verse\ttype\tpgn\tann\t\tgloss\tnote\n", "5\tVP\tp3msg\tJHLM \tstrike\t\n", @@ -7308,7 +7555,7 @@ " 'C92:14']" ] }, - "execution_count": 54, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -7326,9 +7573,26 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 29, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n", + "To increase the rate,see https://annotation.github.io/text-fabric/Api/Repo/\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " | 0.01s No structure info in otext, the structure part of the T-API cannot be used\n" + ] + }, { "data": { "text/html": [ @@ -7614,16 +7878,6 @@ "metadata": {}, "output_type": "display_data" }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " 0.00s loading features ...\n", - " | 0.00s Not enough info for structure in otext, structure functionality will not work\n", - " | 0.26s B g_prs from /Users/Christiaan/text-fabric-data/etcbc/bhsa/tf/c\n", - " 0.28s All additional features loaded - for details use loadLog()\n" - ] - }, { "name": "stderr", "output_type": "stream", @@ -7642,7 +7896,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -7688,7 +7942,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -7752,7 +8006,7 @@ "0 65 96.9 3.1 " ] }, - "execution_count": 57, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -7763,7 +8017,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -7819,7 +8073,7 @@ "0 10 " ] }, - "execution_count": 58, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -7830,7 +8084,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -7888,7 +8142,7 @@ "0 0 0 17 10 " ] }, - "execution_count": 59, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -7899,10 +8153,8 @@ }, { "cell_type": "code", - "execution_count": 60, - "metadata": { - "scrolled": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -7930,7 +8182,7 @@ "class: [T12, T13]\n", "\n", "\n", - "C75:4 Who: >CPV\n", + "C75:4 Who: TKNTJ\n", "3\tT17\t>NJ\tQ\t2.1\tp1\tunknown\tsg\tSubj\tPPrP\ti\n", "3\tT18\t>CPV\tQ\t2.1\tp1\tunknown\tsg\tPred\tVP\tjudge\n", "4\tT22\t>NKJ\tQ\t2.1\tp1\tunknown\tsg\tSubj\tPPrP\ti\n", @@ -7951,7 +8203,7 @@ "class: [T30, T32, T36]\n", "\n", "\n", - "C75:7 Who: JCPJL\n", + "C75:7 Who: JRJM\n", "8\tT44\tJCPJL\tQ\t2.2\tp3\tm\tsg\tPred\tVP\tbe low\n", "8\tT46\tJRJM\tQ\t2.2\tp3\tm\tsg\tPred\tVP\tbe high\n", "class: [T44, T46]\n", @@ -7981,91 +8233,12 @@ } ], "source": [ - "from operator import attrgetter\n", - "\n", - "def PrintCoref(Corefs):\n", - " i = 0 \n", - " classes = []\n", - " print( 'verse', 'id', 'mention', 'txttyp', '§', 'p', 'g', 'n', 'func', 'type', 'gloss', sep='\\t', end='\\n\\n')\n", - " for s in Corefs:\n", - " if len(s) > 1:\n", - " i+=1\n", - " classes = sorted(s, key=attrgetter('node_tuple'))\n", - " who = [m.who for m in classes if m.who != '']\n", - " where = [T.sectionFromNode(m.node_tuple[0]) for m in classes]\n", - " print(f'C{where[0][1]}:{i}', f'Who: {who[0]}', end='\\n')\n", - " \n", - " for m in classes:\n", - " which_verse = T.sectionFromNode(m.node_tuple[0])\n", - " gloss = F.gloss.v(L.u(m.node_tuple[0], 'lex')[0]) if not m.issuffix else ''\n", - " print(which_verse[2], m.name, m.text, m.txttype, m.pargr, m.person, m.gender, \n", - " m.number, m.function, m.rpt, gloss,\n", - " sep='\\t', end='\\n')\n", - " print('class: ', classes)\n", - " print('\\n')\n", - " \n", "PrintCoref(corefs)" ] }, { "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "def PrintMentions(Mentions, s):\n", - " \n", - " sing_list = []\n", - " sing_overview_df = pd.DataFrame()\n", - " i = 0\n", - " \n", - " print('verse', 'C/S', 'who', 'id', 'mention', 'txttyp', '§', 'p', 'g', 'n', 'func', 'type', 'gloss',\n", - " sep='\\t', end='\\n\\n')\n", - " for m in Mentions:\n", - " gloss = F.gloss.v(L.u(m.node_tuple[0], 'lex')[0]) if not m.issuffix else ''\n", - " which_verse = T.sectionFromNode(m.node_tuple[0])\n", - " if s == '':\n", - " if len(m.corefclass) > 1:\n", - " i+=1\n", - " print(which_verse[2], 'C', m.who, m.name, m.text, m.txttype, m.pargr, m.person, m.gender, \n", - " m.number, m.function, m.rpt, gloss,\n", - " sep='\\t')\n", - " else:\n", - " print(which_verse[2], '', '', m.name, m.text, m.txttype, m.pargr, m.person, m.gender, \n", - " m.number, m.function, m.rpt, gloss,\n", - " sep='\\t')\n", - " \n", - " elif s == 'singletons':\n", - " if len(m.corefclass) == 1:\n", - " i+=1\n", - " print(which_verse[2], f'S{i}', '', m.name, m.text, m.txttype, m.pargr, m.person, m.gender, \n", - " m.number, m.function, m.rpt, gloss,\n", - " sep='\\t')\n", - "\n", - " sing_list.append({'v': which_verse[2],\n", - " 'S#' : f'S{i}',\n", - " 'id' : m.name,\n", - " 'mention' : m.text,\n", - " 'txt' : m.txttype, \n", - " '§' : m.pargr, \n", - " 'p' : m.person, \n", - " 'g' : m.gender,\n", - " 'n': m.number,\n", - " 'func' : m.function,\n", - " 'type' : m.rpt,\n", - " 'gloss' : gloss\n", - " })\n", - " \n", - " sing_overview_df = pd.DataFrame(sing_list)\n", - " sing_overview_df = sing_overview_df[['v', 'S#', 'id', 'mention', \n", - " 'txt', '§', 'p', 'g', 'n', \n", - " 'func', 'type', 'gloss']]\n", - " return sing_overview_df" - ] - }, - { - "cell_type": "code", - "execution_count": 62, + "execution_count": 12, "metadata": { "scrolled": false }, @@ -8124,7 +8297,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -8819,7 +8992,7 @@ "37 whole " ] }, - "execution_count": 63, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -8837,7 +9010,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -8847,7 +9020,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -9010,7 +9183,7 @@ "10 S S 1 17 21 22 0.5641" ] }, - "execution_count": 65, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -9022,7 +9195,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 16, "metadata": { "scrolled": false }, @@ -9157,8 +9330,10 @@ ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 40, "metadata": {}, + "outputs": [], "source": [ "#pos_df75\n", "#pronoun_df75\n", @@ -9168,7 +9343,7 @@ "#sing_overview_df75\n", "#ps075_df\n", "\n", - "ExportToLatex(OUTPUT, 'ps075iaa_corr_df', ps075_df, indx = False)" + "#ExportToLatex(OUTPUT, 'ps075iaa_corr_df', ps075_df, indx = False)" ] }, { diff --git a/confrontation/images/etcbc.png b/confrontation/images/etcbc.png new file mode 100644 index 0000000000000000000000000000000000000000..f081320fb8d1498097325a1707ec105788a85871 GIT binary patch literal 24460 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 S*@=4q0000|I~#BK=6~<~?)Sb^^;FID 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 RP9*>U002ovPDHLkV1iTT>0cA zHUtq10>Upy2G59%?%grm3thl)9yrNO#?~a&q}RJ*RD81(RU`VFaj6hcoxHejLih<4 zuABrHDUF4NrR;BWbe9N<)B!e%K?TYUJDLM#R3fs9BX~gy{SK`mCmGKY?*lffCOIt$ zp4s;THo7b&j3O^#BytG>VwX0#ADA^L9Re^0ttJCY{-c)cZ*lSwI9@RM5RC#MVL(|# z?S4#leoBe;6DyO2(Z3(J;LVwkllJG(G~r<8H4EeF)%U+-7o5K03mFdgxrG@VpD~XE#PxF6we8d(mE)Lub z3~p|2^lmKl_D<#uOk7-C42;YS%*=HE5OmHSb}okQbau`p|E=Wz(<5r?Z0uy|;9_ZS zNBAGThDP?TE_}qq|1tEx>A(BwVrlmOTe5ThAGiKF$nc*h3{3Ql4F9Y9UsK-yNV(;m zEKUDe{*QisCf@%-{y(z+vBS&oALIX5Xa3vM|C0W5l^>Ru;eW%%4=dYGp$Py80;EKR zRNO%}yI``4%vDePwmYt6RJYbE+S@&)+{`JW)<{olBkEzLG|&`r17RsS`*-uC0O$$^ zNa!Z0{DG2zv|! zxK7-BPqI!PFTVBD+zw(mJiVSSZmZjlvF~|nZZ)>PTm0S)Mij0M^t&|At12C9HC4nzk!fFhBcdBR#r9P9tv1=B*5^ zPBOgA&b#*?W@k-h;+FI(mhN_(Cg^~FXY-d4I5uYs^s7cZcV-T(19C@xeV*_$_3@Lh zE`XB&rX;?7u6C;;3PRi#Gap$dQuaLp6fD$Pv2kqJt-z+lSx_g%LC2<(i~dv?wv!g^G0wlr~4wQ{G?xLo5-VReEBCph+Wfo9v2JYCoVR z-SlTqcr0b}d^n4{-3H#gT_ z*Xy!rr(r>!pu@+j;i#iggvqh_GaHhL> zM^(am?~LZr9{;f*ypcarQ$;~F_Ai5Oq)Hf#fa7D*<|(T zIdCSaR5+(|R7hcQX_tG_LAO)6*phE4K1vidO}szhN~_5tq`&3nVt=O#+L$6&5> zY9D>o{x(|7$oON2CFd6Y8v;{D;oAc>I2Q-RK;84X`}-OUv-9H!QGWh(p~Y{}b(=x@`_`BRZtfv&xWWLMEo}V1#yM%RW2XvPOm8lizQ2e5qZ1JS`fc?rQs& zir;`1!txGW{_7kHQL_80d5YB(bx3_kzaoZ!r4T`2!0^qxFgsh9!RtqX?N7Wu*1^e> z`?a?-t@FX#!sUdirgmrDDkCyP6==^T@rjjER-|yY^WM!$%*gv8;n#|o_UEdL8US=O{P_1|;ulg0#IDOOt?ObxpbBrr0h#Hp8mnOGZ-N=hfTpaIF&MfS}{q)OC$5d06>~wGu3+d9=@}XJCBdwg=^JUSMdoj=h zxoP^^zlIDM1@de7dQUCKW+j%7Gq}r<}eogD6ub%;!Dbh!nF+UzR-9APyb8VI` zl`p=GqZ`PD7&{Hlh7aiBts%L+Ua+^+9Lr;XI zhBzYpWx0#kD*tWrY)Z_y8VNi6{U=v6Gvpc5%oX|^#wZFD~7u&9fmnoR-PPaCT zE?#y`sXA=UVw{!Fod>o1sA;`ebP(!;S9 zk!}blj{5f?6+)o}%c4?f!f38^V{58-vyt$r6GvGAY?6qzGT6o)e1|`XXGMc%b+F`n zOf8OH+lJFJsb$+1?Bt?un@%3s3iyn}R`>dVVzzBr`O}3Yjg!CIq(Rz$?T%EHnIB7= zB(A*3gx>vDxDH2z_0}?5w2Fl;F0xJRPnZ%Gi2A@~;Re(gR%fZ%tUHr9oFHq6e z_PC4#w)2+CMsNx8$qKP&P7J_a-0tGATHz>>zrxAT&uY(CqU~bEy$L#0&+PUmXsO!Q z&dP-YudB%iP~wTI)huO2{(vk5uto$@;y#geRMfWHye^521*Sxy1I;$y-oi8*VexZ! zU|)I5`Tk-wg?c_aJZI+lwgqI!RM*eX&1g6{RHzO=Z_L*jtBvbV`ta2XPATxLdSK`C zMdax*R9CI7k9UScmAn-V8`72{Hh^BnQ-xGd_K)2G3Ssv!uId z&K09iosexsT#Cy>Q}~`o>I+YSt6=AH9d~N=U)uz*cNj&jC*5_K4@nE4X~>s=&k!f1aX2uP@qNoic93Rsc~9t zW(af3*5~It7YOs+$BitaxP=u5yj78hi-yD)vM=sxswZ3Wimf9|Bx*^1`5&VNEA1IuQ9`Yw0oe)?&jk>#urjwxLY5w^t%+A4fKi=Z^Ei zrYh70w^gVaj{1T_bR#xsWLau*)#UQlC`Z6=WX;mRe%r)DyS8LZl9mA**xM{j2V0Cgy=;0%e2v6t&jo~x9PhyJL0yPy?o3E;- zcCm}uZG-6Z5~Rk(Y(0;My}RxAVI5`Ka7;I;fhBay*WOj@0QPBkY4xBAiY=5LgpJt` zDQQ9r5buO6OIKT{AXEA>U{3kyS~#yb!4vR(zjog?g=)+YrP24gq?^_)UdvrAy8RYq zkh%!k()KgdBUS98h%%b^o&J9?fS8O7}_XfUbiX!e2a$B6k z-K(t&m<8BoFQ=Q&Io&{JYl4^U$_mC9#0%zGBj&@33ae>o)^G4XAOcs;zbC1c8;*C_ z{K=U*K0f_SJF44Js`IQSXreBkz=?k*$30m!jv&Hk+!BrWK8886D==6w=xewH63G=m z_0LJp!o6U>erT~E!|6{8_IO^5a^zNQ)ePBN2j%{CYIFP;yn3;~yzX%G{#ufK=Miaj zhJ%A+D-L;t_7FaFI#N?tr=vihu)|Q$($s5uJ)@1nZO+*?1bPBCB4Z>ZBWdlh2z216 zaWc(?gfGly(Rjb==_cj0xw9LluRx%1w@x&`*F^xNvSRKZo#-zuylf!?AeN%LC80D} z-zhSa1aX`o^C!H5*|Kt!;B2&Bh-@FdC*Mo4UH2lX>ntX|;d%XAVKx&Legi=MTV^9D zRT@xEzF=C)%RVD@tIOLWW{5C6Y>Tp{CEf!K=T4#O5`qOnC{W&@_~a%01305*1ENoB z8X54aPA&4^rx`gp?MDr{o+H+|_a6cu)=Xgnmg=_@W}x^88r?5#Jsw^Y`k#dgtl^(k ziv?q%j4NB#2^y1YkC1&Xk&jAhY@}b z!7NA=S+xk1{xEIe>#_f-6W`QyOT}|{VjqMioMkH9?L6AgGX+`Gy$bqLCuf9`V6xeS zDKjb-(q-gL#G8f$T0!FB7Tl4B}?x=4=YnN@~$Dq%%0TT-AsP@je+5GZTle!~(H zw#Cf4>7a`O<-cDKT?Op^{&4cPo)V$ z;z`D|epz~#I{ZBWw=-J(tcq3ZLl9M9NrippVj=n<9#%S7dBJW?fJS~uEtqw}>k{Dp zn)Ul5?xq7mf3pkc%Pf53M+c}vFuUg2dHr>BD6;cKxcMQInz|x*#OV;AlouU7 zTt}WHdaS`Iwv9bS>_w@3nG4ta_$Qw=%5U<07a_J1ETMQc#Z@9=dhSf-ad>7!{p4I zexoe!`5RggK$>{A6ip3L7`9L14jH`E!h^wrX)v+7DS|{k7=0j#kx3T=Fu`~+b=$`k zavqYBB3NB<@Ro$Qg=}1{58MmET=qrz7Y#B1u{-ZcO|$p=v(HhG3{6TJu7Gb=IJL|| zDP(iB;DAvSg}Iqzxuk~MPVH~#+rLq8qLRM{clVCLg7t9_a_Jc8>;BS$Hmiun$2-HE zsnz*z!h!=@kUDSySyVPWK?V^#vxn?2{JhMdk~TMQxaF({e4ixVp*>7@;_6D7^~4JpglLIV5po=u-ZdN9`)!&~<+E3O0*I&CJ2anFY5PB41?si4|MrD4La-(o>3YL5Z_M= zI!h3bAI^=+foTA7i18s%7L#rp`secrXGF=hE|(;(&5o4>o6d&={clr{_=*;{>!!Q5 zi-7l@FSl$wT?Vd)-5>|rDl_V&;i57cn;9F{DnAD-T8iGFOk)QKh4;lnTI_td6s$pr zO4JV!@M(tC!9(~Y34SyUS+EGiGV%^bIDmVV~ryA-ljX zYvzcq&mbfQQkz??@S$X2y4T-i^lq0Lv1#1q;my`pw?CCIZvyT&M68knZ()$Db%W@F z_iNL6Q+NWlBRfxS7;B&c{uS$3+Raz$oxR-6_F}CHM^2wuxx;G<0)T+V;}4&`xI3FQ zLRTyfGymH%`3lAeXSgW#5KN-$TEE&I%Q&(`MHGuzr!u3ZyK+~T!&%AT7NU49#$R_t z`(^N}l!4K2*wz&lU$L>VY2F7i-wN$-r#-K*blrhcqRU@0^!t8NfZ9ikZ6NgXuCBhf z7k5G@e=ftqm?#UDMgLLB=8q)o#|9k8w>MiLa2;0CIde<5Vz~-&xRPaK%+B!r&MyBg zw%X1dYJdn48?$NZDp51Mu2+$DX#XNOWG;ruh1pPJJ?dT)fZ>+}n*v1ytgb0pF>}0K z7W%}47DQkuWCB4Q?J&i`W^8Y>&M|DG(_UxCedD4x3Ppc(;)nXeh>~zPxWVA=s3a%i zvhG08@#Q*(Gee9)8wIaDXDZS4q&0_&qT6f-{ge&xDJLy;(Uy<(1_=OdOw-wvm7sV5 zUr9`N4Fn`onq-7X(i%#wYo(X-OeGm4S=?rm7udr9m|=zb=z4(2Nr=d2y5B`JJ@%KU zGu}hzjW6r*zvomD?j^c>Z9tG_4-#SPpF8g#d-O}yz9{?bi=4`YpjQY?-72dv;twmM z@{SyRf?a56T>`SPBGl4J1qrG7!!PO62>n;dxb`2?U0$A4^`NlsatpkC$!j~+23;#T z>5$EwxSf2OL%UY46fb(}8)XH_Ve&wm)YWWaw#5DWs8{`v5%IB$Kel|1&&j$O1tKu8 z8l7`L;m=ur(-HZgU>uF0tS z>gDe+JL{Toro8If5YsZ787#-J^lM0YKi1IF9ayk}9EF^=%VO2R7Mwtil#~oEu4myX$J{ z8LX^GwPiZ~k!&X!8|?e4t5E9&xb1kPU9NUdg-X=b#4|GK41w~$-+E#0Um79Y9#H_?mQfTV zmoI%m)9-&TE|)laQR%cfJvWcPUs*8Lw{546e!{^wEUc{9eDUm<9-1H+mS@UDgVh*4 z>Gzm!d>y6$pTy(|ErUzR4+h>H&vL{-pItI)K%#y|BvCipJ#RXvJwCW>OmCU{o4Vtv ztC5%gaGPBbxZs5e*r&{-hO77A7!^k}4yL}~(`($p~(HVF0G#Nx^BTg^^sBk+T5NosxTNg~^Y-h_{9 z5saf{KnR>;hKsu@8LDxeb$G}8`V^oD_h1;Ijdjl#T9NT{na+|AT@VXB8X4`7O>o`CIFn%(? z$Qx9~xTpifoz6+sNp15G4!6VM)J0|aJKX)G8WuS<5<}EWQ?9Qb$$5nS>QV|^1xv1j zvW3kiXH-HGt3 z4h7O6WJ4gN-YS8kd2j$VT;f55ELyx3QwI-HJQNkm#@`m?YjKM{DF~vjVwIDpf_5*a zJwY?^K`V~DosJW(NSf2HkuD)TohiQ_gsP08y4lmL_qH)-o7Sn+Fh_iOB|#)C$yh`{}zZ<8(g zu0bR1P+G3~ArDw4R{3}-)n2l!==D`wx3xKecWt=rCJ1EMePA~bj*Un) zn@a*u4# z&Kt#~CFCc~s#u;{8u;d^OJnc)TfL0hsq`~w;@($A8nYCob9x;HVZECJT2(&lLvd9Q zLOh{6D6)vH>E&@!>_idpS*#<`d)`0ffo61YQm@5$1)bx&RBJaZ(_gNmhu76;!pZlp zN|C&E`{pd0&nKYmR0`=9wzMfN)X`Ameo1V;IAIaZUqQz&LRJTvDH6>89mX5&HlrwL zqeJXTpC+K*ElGkDJ|)e;Al&CDJe8BD8P!f7xn&FrQ5!0%`#_)H0vTWu@*k$a^5YH( zwP+I0Y=X?|kfL~*qjpH&sobu_xD9LV<43G5?om{#5_bB@vc$_xG0`i9R+=$Nz z9q=-VmT%GA=fd5x%E)6Y6%)fIB{&JvrLOgh8KBC;UEmJRF6QW$z|;N*;el%ngHxtN z_09m(hkkXS+U&=nd_d7A?(~f8I<=0_cf1iScp50bKhq&H+;0g*$Vui6Dn45Z6TiYU#Y$+!> zaDm^n_%><#FKqM0=u?q`)ls-8d~M)u<7Z0(6;P$j1NtGdjqNu3b;WKQeo=L69ewf&G?id6hfHY0w8^F zr3KZu&P=Ex3R0G#72OMJosyUmS9j}!h*2~qvlo5voJjz~ zRStX+iSeRJPETD89bts(F$fK3#D6CJqr3)dUkkE_>{Wi20P4aE2rsGTsmir4iTwMx zr6P58w+a*7&mbY6e{1nHauoL-ncd7k>kB9V>{|DvZF<+HYE zDF`u*_V-^N*g(kX1txWc!GC10n2cid8xXZA^k4Di`Q2S+>cMJ@m!>u$j?>=2L|VHe z2#FJ_t)8LWqj(kiQU|sc8YM57Js5Bc4XX5l1l#|%5PL@Y{{F)zz z81!!5IPB}wdE=S)wn1F6>Ua3aD{<*vy1Mq`bycp`T5i$mU5seqpe{|)T+Mg}FAoDE z0lj}=2nG_0LXtF4li;P28H8U=le&J=oEpv2Dh3Q1*7*!Wuw$@DK~nBM?r2ZGap?WG zKg$U*vrw|BCcd8rw=$2g{fbY81#}apf|onm_(?YJOP-wXZZ2KD`7HIjyv7Wi-w@>U z#ojc0n&$E%b%%NgS-rN>K}pY}ZHoe(O^;}?@eF-9X(JX~1ui5^qZ4xJ43X;=%U7UOnI6I=v#urxOwrz;8tN~-l{xwww;aBybNfomRHa4EkCA%-b~qV zAC7#j=-+2rHxqd7_FiAD)z;>9M_TI?Tq$WdEoMfdqlbS+`-VVr%}{&157vSO~XPKR;AYyfxXSQ z{N5-2Nn=1SN#7WYjj}o^99(ccVoBIcS$s|_7J}BHe)9+I%NxZB{!3=-{?eFi+y=<& zxZ8$1CW|T{ct7>Ktr)26W z&onJ9WMraL$l+Fwl`zHk{6D0EY(b~eSY0eu-4Nj5SvYa)Q_cev*YM~Hj za>|lmx<1BNI*&a#4u0ggclysg!wBNMGz~=c+%=ka7qoV>vvP3g@1Vp$6kTB+CwQ*e zV^1Fx|EU|QSC2fE{KS0e(xB781o9&ss0t|^%oP+07n)p#lSPZ{L{2KID1gZe+ei+H z2cDO9h92BSxEtR4u-70lfvNImZxT0Ac)`5I`^a4;u$pnvs6lG*#huK;~mWq*V((!e~mYiexEcxma_m6~vcNjqMdLZYi|9;X1XV5E{ zw^-YUy^{M$uWc6-$*x<5o}Idm=~Ts%!Gv_xoKFW}(KPDCc~)B1`Ce=yAfPF>Urr!WAm~lZHGOv`b<|Xt_Tmx`sXzbq}Si2t2u*Id(Oso7sIApxD1Ag;aB_tOtjW^yIz&ASK%iimxz`Qal6=HzI|u z46e`_j==^acoi%%%a?**d~5l&`SMp3-VnKU@ui$v`=lq~i)f^CqrT7Q`L|Ea@>CVb0+v7@FYK!7@Hrm8Qkb#Wl@Qb@*oqo%L?p67ac46vkEOI z*C(ph;gTz&L#>B~itMoD3NerB?!jD=C4m<3b;iksKJ{8OZa9AkPskU$B;ihMdYtIr zZP0EJoaqF{u=#4hdB*{EnI%bBhlj7$$G7xoTPjLgRth^aU{FVA1wz5z7o)A9{Hv^J z33C(qTwWc)Ma~e6j^R7=hd}dxJjB&*AR+mulcsO9E>fPIzHVI$7Z=DCc9w8RCxk{F z!ie6AuPd|Hvc{ErL^;zOK22>9uYwlzSwh#F+JJQNye`?N&v)X)D+_hbaZ|g0TwMpY z76DH-o(+j`@;ppQW^j3htFVn%v+IV(V4`$A15%1lE=d);sjZr2)n?}NgPPxVgVgwd z(GLy{RXva1IIB$?ic7F|Qqb+rpNCY?K@AUtu6Uwz)8EF34IrGZqQ~2c8(X!J^Wd5C z8O$;A!O1{=jL>e-`Z<4C^4I)wYt>14zEdllp)abmf`*2bX|8u(c7!@)5B_wMrV}{I zGBkvMjQ&C70oWBDl5CCIUDuJ=t*`CN4F(?Ib=S2-HaE?hp1`x~JsjEi8*K~8H0-$+k{Y+6xCp$eZL zwfVBSe~)v1HB3q5zhItERNAXj9z%(a>B`bbpePS{U7n&Q z$#CGB?23Wy!nhYUM$M556MA7BG(uZlt7)-@+3MH#JKs}p%(X)l^5&dv-#w7iOi_Cn z!hUs55;>M-r;Rs#1S9EqM-C(mOZ;l2d6#c|*Hr3N^T>GmWx?KO*|^T7XI3*$aClc~ zRipN871rGdTgQ<7rhcaZ`{VQQ)G?UwA8i{S4pI&Z2pKi67p}|)Acw?(Q;!_kG-FD)3qb1 zW62Gz@dE}BN~zPIJAPni@5lMp>1L&phXW{05EQo}Z5&HMp*3zlV{w1h$Vx^)XN{aR z&U_rMElE#Q`;$ncgjExBy-2S``Y#qmrfBP%2Xgmf!p1^Vy@R+PGpyf5kN}g1;;t?z zUX6#wB~DiJon>v`=YJp&qJd-mCAA|*)#2;j1-6Ll@aXaAUa!o|qhVWE;ADdCE$z2( z%9cB2Z4DPapXPeaT-i-@?w&3?Pp_r&Sht9=Z#FVVZ5RYLF%3?p?D8z9Gt@s<<}#hj z253gALe5Ikqvt>@z9_XeKNiogtsf|NiF8Q(+c&r59r=QsP3Fn9Fn8VX9m#imkeD6g}Et z;gO zm5dHB^-_`$6gNnmg>Nd@}*c=czQ&mT;X-Yw&V0pag?@+@8@@xM~L4w3@l!%2{{?>@fA z&`H#UbfVX_fyc^~xftqa1OeqKj4TgTTlf+Of>JU`9<Fnua3r796uC(*F!F67mM zKy?-R${Y)YI-TesnWxO|o1ZBH9U-R3ra^zWT*giq`Yzq_`Um5w@)838C=|1TKCpDw z6EK2ht-}3-39zlI4b83J{@LFnHO&bV^mVcVOJZmm;2^vx?5gMlFZ=41PBvr2C$U<$ zUu--FZZ%EW@>?!%1kKQ%$h3Sb!e%c2|>_8=>bOe z%>1{ccHWc5UfxbetpqPb;gCvz=%5lt2xjcd*W?|2HM_t@_`t)Zjfh$+dGZ256()$V zf$_fgh+Zi<3BU;f#aM!Tw1zwys!@2hBM2G1vCyw0)&E|AvUz)l?U zhzR*W%2Q1e#{^!sTuxt_vr%*=cMAiX)E|;czdCrBg0x4UDw=m3S39N3v~eH&?Qxp& z!8LnIpLt6=Bd5^a=sOADn}x4*Qt>iif%QD4-vgJ4mk$o+iBtqUa8A>ElC*ON)v}$G^D-5vC%j*Mo-C_JE!j3 z8$Vx=C?cq%z%2JR@U$4Ko~P<-)swEvEEJTR$o=`N72+O}p<&|*8G4irm=L;RHIoG5GSlPa@PZmW{XS+D zXYk(Y<6{YzvvO9yylk#|JaupWN4bRTdxUN z%?GTWhE?E!NEAPDKsdz?V zpd`sIlL*bB_!1eZH=G8%Ua?Cnw&>>@HM5q0!&J@S!IMez$DQ{%Z>{Avw(u~V#=r)3 z8An1fH>lvoz5p_P}dM9|1pxMF?8J zs5JfqR$(0_e;{|=RhPYY1h@I_8*Y2NKauM>Loa$r9KtCQZZ5AM2WQhNW$p((R$&A| za|sNTImwe4-@%-rW66^`AND1K&4d@#5f2Y2r=J#>J-J}-KgAFT4s|H|#Y%sAJ!~s; z+s$aBfx1DhuS=xbB|y3~`U8ytiKK`IJYDDak$-5-H_s+$APitZ*zSF3qU;{bHE8x7 z3JN;PDvX8cugKE5<$l_~55G&9Z$qJ!uv|{dgeagUqlgukh9LWnd{5)T){BO0QE^)! zYHt}vsSKsIrF}X>zKkOQ%GXzbuMvTfT!yS&UYinZ2R+EvG_I!TWQ2}*+w2kb3F>`2 zL%h!)K0B)Y(xBI5FIw8g2)BY40gAjkF1uk&vfNTWvT0~^%3NjuQrs+uU7xn3$n}{6 zZd9q^E!UCs_5xG;p5)s+&-KSgtPH)!u_9jk)L7P9vF;50-?LWerfvN|qa$JEyf?$C z!9^;p0=+YExd0-R%h&7xL)gZY{zzoo)o$?7ZfS+$$Veq!TpWz+%D)$UBktv1sid6q z4+fuqv`(=C0ykLt*&8P!}*(IB&VbF6%Kfn;z)~i(BvRbCbO|Bn$9=K9N zP39CCs`)Y#YpRA62+NuirnsJGrAoezVp9dbbj>enV|~MM!P`Ot3&i~j`83>);OA?g zq2w(S*|x!>(u}-QKp*3xWxLc~Qr`NRLx_;Z;E zZI#UGL)PH#*d>fCN4yn&|hT@A^MzH{#%8f z0>+BjZdXuj-^C=PN={3Nki&NwHijr_W4KYCc)-I0DE{ll>MB;$Z^5o}QhC#UVzvt> z#lgBr>OkZ?i6%_=QHmAC>OVYv5i*>~+6tIu{i*66uY+6fo1&g5#NtUTAh+v{4 zw+ke*?`_V@sn&2lwC10oh&TuR|%`A!+!WimWd4v6S%_TE-vGVjg)S_t< zK7umTUkL-8;S+b=YoTQCZe?ir`9>`^pPxYpeI z=zEE+qppe~V8Dd9CA4D@bD3Cq!lLUp>f&5FvaBbm5$%R(CLzhRM(&nTMpwbAs3>XI zq-oSg_9#&5^-1uH3zTWh{ySyDHY(F7nWI)hOs-w=-}oG5ikjA4)P zJ9!sCfp?a77zSL!poSGn2Tv~ZAILWm)hJWm-#cQb7SrO7#VDv(X=bvz4h;o`hm9W$ zu5OsUUzH?|v&aT?gn0S_7pPkWu|(HJ*E)V~>!)isuGRPqrMPiqU?C8PMj)H#*IQ>l zQ2mZ#o!46hS%_HpyXo);}HbXhVDmiyslS5?fuRcKJ{yFm-$*(W5 z9NwbfrPvA{FhZV_3MiNsSNY68Hp0slfFVcONwnNAzSAY9bEwM8xC1|b#XekY9Qd`R zf-V&wNmgF~?aDC8FiRnDo<@v4vjz*8^lWmx-Q4UGb$iY@{{{GnIcyf~Y}3si(eq%7 zFL&A)qpxf79#XQ&XGM`tg%OJ6%vh2|`pLaSoGsFPSYx$fmM1QS?$&mm6%^XF=UcfS zn{7_Wi5u2WDh54TI=f&9W&~0nH~x+(SMFf#ikBRH^QR&H_l2~ac=DK%hh_xJ*W&W{ zsuT@=RwJdI&gDz`5dF3(-{R{ShWhFI(?dI!!Bv}O&&wN=(hGf5Y@9e7^2kfwf6q|O6h~Q zogqL(tp>?AhU<-bFU(BnxRBhU_O-jq+k}o!PDyVPCJn&>!=C)0P z3_d5ZEOy0&G8FbOC<%uJr)b1y%!U*q6P$x>{>JF&xE}+FH;sRDr5C`Ulh&1&8`mog zj+c*q6of1<;YVQ>@+FvMV%kod{@d3h7ckZrU>IrT`In&%ay=<@u1~!m8UI-Ur6#&5 z4C4fM(8aRLo1CQ;(HMUGN654?kijbH;6hpt;X5IzTw~Hdo7)5T^cahsRIgl&V7C?& z!x#o86kogwdWhwDvZTOJk=fFOX3RK9EcmSX=VE*!MM&s!ZMJkRB}*N3mI{8px4s8# z`8$v68L6H8`#o%wv@Yfx`$W`i2ef>4sM=V$W1729HMMGQbZmsmWmeo1BgrZsf-jrA z2l~ORP|So0gw#H|hjMpLeh38xh0a#@y3>IOlJpJX#Naw#0OxQ?0n(af0xeN}cv{-- z%^W?qVr8gv(Gw_lSMY6hq9Seb^&KHzOCQ#)1=_hf=;h&{<>FnIbFL{i=?`?tY%;yV zLfi~NmAEG~GS|z5!}|6t^KMQ>i2l-mr5scKQ(WUi`^J%W?n(tw>o#DYkTfc)A}b4< zp)Qbf-KfJ zT-H0L-KeS6>S=@&R%aNrYtBI+L86V(9C-fCR3Aj?Hq{6icp^gDx&7vhl0_$>KJ`#!7ddCI6^!qNrsx*BRl zz0&L0CO5S9NM8d7ppCqY|8|B9AmTOWe+l6vDk!?i7f6Evu4ig$E}dk)?K%8vN!Bua z+4xNvBwNHHS>|NsDou`R<9)h(maD*WM91^a4%NqxC22+>BVw0~RaIWO`M4r>M+0HJ z^F24K2eSul=g&dNB?It}AgzcYa8s13o|0+H931535t}PlF0nFjn@Yy>(0fZZc`T!< zPLQ)a-c*si3zNG`sevGp7aXlMj!y2_V!$D>V?iKU54;#8axv zZzq0{t@>c+URCgdKv=Na>!w$9Z~H#GHI;BiV$GVemai)p$4^TuT@JpKDMK?QjYgjd zVHO+?h5Z2;HMG=S$C&9$b`p5O(wp^mx}*2W;|mnTJG6T;{7T$ShS%VP4)W88fLl`HXc?JaFl^*Y63RrIuWqE@QXrGou;38HOYY5NM!s9<11DU< zMWxAAee~bIKN_HkuJoc_F9IpW5(YuvgKx^W{kv|Agd9$4+A-Q)&bNgFC56*lXN300 z2~k+u0RqemsQj|F2U+~YDqo*;Rm$#*5mLb(>@6lTfv-m2F?sb8Ca)c=WFHhxWssw# zLVwEnb2)mZ|MvhJbOMdK;t5(QpD9%c69w0goLNHzD+wlF4*o^vq&o*M?rrkp^hCg&Tk7uAPRI8nnfBkM4!AQ(DHHMzHYs)Xg) zm>Fvw`4@w{iLqafUTDh z7^G>^4xIM`pmx^nSc9V0@5cQ7hkwi8cd_`kTPlrWLm8aEMa@Map#B3hEW>P_PV2_M z(EkqrWk8z07t!J(1$aTYdH_IJ1m;$Fl=j#RVoW#NtGnDljZf_%!H?M<^TA!1B7ivu zQi6kY@Kl_91r?P#4Ag37)>amJ1No&zp3DJBfI8x7SPlr&ZQi6v9lZ1kekArX%ZXc3 z_e{Oh1a+jS%mI!%iA$2D1>rPwY6It3I5K3}rBYuUlJ5u{Nug}4NFrxL8MLZmv~wi} znkcEVWm2bEQp+G%qMxO&w5wHaCfgk6L@zCX`l!_NHF$cJkShgE0$In6)THV-ce%AP zW$L$B!4^Vr_Dh~;iqX-slG{6zkbo#kaS_AV)y$i8p*68yZ ze!D`os@T!4tD{DocB4IcO5zWseYB`DKS}^)dENLlrvjzwQ#v9+2AH7+oj@UQ3YtaX zAQVVb6i}FAo%s;8D?(0!-YAfZ!FWW*DY3Ol*jp)Q54Xp>&@FY>t)Wg#Rnkeahx!JD zh9VOzr96XXfSiWD0FkVI#oam8f(?n2!_BoMepHJj7>9sFN~91UTd340RYoGF(w)bS zKIE!(vbb+bx|CfMQ&v;959(9ykk~#+l`w(Ki86t7vZm6!wM{g6th;MZ?bh+9>?_H5rlFT0LKjjcmeJ93a%PgT1GR| zqE8)Xok@Ev7L!yWMLR}YYEMEO;J(`BYVY)k6Ry}*nY@bc2ZHV0BMl{u$&g?+_-h_DJ>$`NWv&Aqs(gI=MMk?KmbWZK~yJcqbju%iV1{B`qZKYm=ocEq0t>S zfz4l8Sa7GQNI3?0QjSc8PB7=A&c2snD>cVaGO$%wsW7|hBOl$K=ER+}#-^*1f-k03 zzq)E?s4Tz*b41TFyIJg&*D&Kgcy_R-5 zJ5L3V+KDwx2>a2s7ZdJ~bkn{}i0q;A@;2M6L53(@Ek@Lk#+-08;|Mcxa;0T8@CGEn z?f?cBM}39^!34D1(?Uo)fliPW04lDj`rRHM{YLXR6SOft*Iq=mdWzx+H!*IgT905( z`^*H|*6v5}+T)}1+`q8VUL-)DQ0Y1mUD`_zm=J5H@o962cuQjPbe533H?Oc${tlBUJdWXcAM)ClrOHpK^&%B>tcsejS5 zRF*k+QaSD}LWh_uAwq+5!l3q0)1`{2T%FvFMxi}X$~sS1BuGMOW2iEj7k7x1?oWG~ zz;=7sdtR$k86%acJuL8!`DF$4kOc6-zu;t43Mo5a17@Vmeg zPwgj3t+LPwt()d)SuK#Sn@YEQI2qUFQRWSz%cA`L{)S;?5s`A~LDEZwqLwf)@ zsW7#NeN%g)f0yQ#h)r;Y5W=crO~l*{Ocblaym6vlO1rAEHTLo7qr4YDtM<^gMS^O=GGa|tETj3- z_;imlY^EMx6G9-QF+`mMwI6QJqdj$9>!mf*WR7tspX))9^rSkQixT9(~hs9@=uSATYuj$st;EM$*v=v z>S!rn1jLbp$5Cr?g*3*R|JX4{-Eafn?2YGLgkfDx9l)eE~R~OXR0Lm6nwuP~3TZP_wG) zQF{_d)e@*ZX_j_-a24#T$#H@_Wa5UjxWY?JdPNyQw71ToSGjIfHvhQ<6w;8j?-7Akspsuv4A4;F4eER4c8vaEN!AXM`95PSjSjsg@-6CQaL+`#5>!| zj*?W)@>GmNhYm1F%KTNXUJ(05!+?@Fs!FkPy&6^JWXMRB5a~cvmN-cpy(?6 zw01*R{~*E?ht#2v13FdhmGBajtfBVi<`(RM2lfNn$d#i#sc23chgIVsXAWi5;z|8) zwkN`7g7$REs7zG4qsMs(I!izrBG*5_j^Y$@qXkuC_AI6O!mVVGxpQ)DLT z@JJn7qvP^KAwTfI{X_sc3z7C5Ma?~zp}NB)xrl9j^n5BFFfqFTi^&FJ_oq1fAW7YW zOoOVfI{P4$U_94Zp9M6?G||d6SW}J9PY8dNVAjEd2cWe{m;p~{{lNNezJkOa;;A^+ zi`3u#EhFOZJ)O&+?Vu8sMUo2Y?;CUo)+H38YNfUHV8x&aB6htFf7CA01DQMl5OxdC zzM&z}qwP$Y0Fo(ItjgzOAb$b7!I7;FLnx@yMNC~s#cP*swx`8x@K3Is4vrLgBp_90 zhgQ%Yz7qBn4I;>+_T*5=&zFr8mQZ^-rX`BNh)n7q-twsSs5~O%D%IHAgW$5jDmT+J zeL@gIc^0Gn;7E2hA!Q}B26%F$?4#7Ef;yDmAuIxVO4Q_lYe*cgh0us^U}1X)hlvRC zTw``>H{(m9zL5_YP7z|*dnMR1A37tsfUqf$BwMZ%LUhKURK05t4Ukci4BCVJ%`WQ@gYoX5a9!kuMML- z7!3Bx?F=Md87l&G@^N)2p?p{Q?@BgM;-k*FOYzv$Br3BnM~xe5UbbHhT8g;+ju8%X zWZ|R%WD;}=$Na*K9oYXJcEG&zPn8)g+ooeulmey2S3i`%DN0zur84$bq=}yWmx3Bi zusiznAV>IcfhFzm1OcXPv=@VMlsZ;gwc1-;TCn@?zsF$)sZsF?vfT_54Fs}ha)hFt z&(1_@Ckp6F&{g%LXZz@$YEP-(Wi1GI(Sswm6U9tWp`-THU$wW23B8Z@=E=>MC!qFp z!ilR5L^zmGUQ>JE8x~l6frL(po$^q!Q0Xz|zQ2cf1bvit(R{?n6WBJq6%r1h4IovH zgMwIjeEa+N-=jzAVrpcz0J0>1C?7!@PbyyCoHnsMG11!!@M+EkR6BV#lWULhaad)P zEu{s=gTdE#WDUDdyIB-#j2x|)VPh0k6G?J58!sGa;E8m7>YRd_YLtG0T%^sz#bo=D$&7u1g(TsRZlb1llH)aC(uYaCLV-M zRpk~h3a9Ktt>A=5-n}SX2Z>J zE~vDlk~rmhe(V$fV*B?Udc4~|=IgCi)UN!+i}0%WGYhVVTqn>V(o}L~rTZjsQ8a7I z7pMiWIqL`n?E_>`Pl|d8EQqaJARUaSpIV?>yIqKK#m?rS<-6`#A>pCd0YdJ_-%zu< zIjw3pi!qd2lEXwCAqn$^*FDQ#@cgIR$X0=*99%zsDT^0D&3^RbpXOeD4s7W_XxT{Z zc*PcUacd{Jnxq)2ckI-ZU2@?$cJ&n(fJYYS788d?8Qt2C&z`n_{Me^$`?g^l8{;{C z5IIusGBKJ^sa0VR0I6 z{lc8FQRKI`!@%1NIo#9)Ca%o! z@_p<`(bSw11ejBtU(~KPpKyi@qKb324rJ~3U-?>_;%KBD+lR@MfI($EqJ9-wRML&c zqhMD*_k8g1F*iqISp}9=ztC*JZ_uZpayMvC;|Nei>?4;8tg#N1X)P)oxwtq-UZf~W zGD(me6?>>EHIGn;Hcf%%7s%OL#nsWJ^Y7O{*OFrT%y;*)`y$)3Wq80%@Gm{>$@a3B zUI%47X;T~-Kf>9&Ity?KpMC{EqHB(X3SkW%&+ZmmuW8}kE%~CKg-Hb1bS+SuFf%dX zGIZ3w;sj|zwl9C#i|rvQhwr-c4vt~zBfnr8VcKxx)JZPAUyHaQUz|WP>yC5@;btu@ z&fCav&R+eyzh;+TcD}v-fBvN#gFYu=)j^R`qw0^Y%`tEOULpHQ!sa5R{9VN$128;{23OIFMALYxcvl>} z2#EAid$7jBu5v)(R_C+201h|r%0aWTyvm195QI_IYZR*0Y=((wM+`M!U7M4jpVjeG z+Roy!eKEtY;v7@4v!4kTPO~B%G2*~i{DNE=jK(h{7C;c`>WloOCeyrrAyTT3RQ-U@28Xv%LDgk%c;j2`{`-zRECi3t)5iR7 z%%y516=bRb*ag-D9HFoK#GvFIF-@u%8s5|CC$)NOSx{?1z9AJkJ|5%vJRr zH&y6Xs!hR^D9B&nN0)Zeqp!_hGw=g5_^!G>`k{B(S!eA4)dCtBq;{E87qpO}BidEE zbl=T|aW6c^7w4^POl*YC%inefG1D+l)#8{GokvtAn`ozfrDX=X`-Nx%uWoqPR|$e^SkOH_MExfUiIpi+k5}EjZ@TLyyneYJnr|+xp9mq0?GmF zsAL6&NXW##%Uu<~mI_z(PZaE>Y~W5x*}4J69VCpzaW~uND>m#b`ti=Uz0oc_f0xq$ z(gcrO?R5}Wp-Y~cdx$nB#62-Zi?1XRgihJrxZEv{(kC{>V{W^87Inpxc|4owxA=f7j${l9h!cw@%kz{rMa0l3%!pMWId( zbD>@DQk78kis37L+#UDAdmoWz_tD4wvMD5*NYS!-e4P4G6f*{+*M!$s7VO!(x7o{o zN5FDq;-^__>QbomF2TZtBOzDcL%6fzPmxOD#iCN^;|JkFO*VPlxw zL+LQ+FXqTSI1=G^?Ge>$KRB{o_uw8>seFFg*11SEH$K!m;}iGN(~-4zy#38~#pRbe zA=olZvI*DboH#AY?@A!m$>Z(z+7Zz9fm%E}k-7$IJ6cL%6Muo`nF=&()yaGz-^%Cn zoc>vEvD2ZDNucD+I)OkH8R$WdO#qJwg-uD@oYBq2S7*8beUnpj_QGqfvWqW18#4jd z&+d0eq~NUzu;}v&zR(_EQ2soFK&mze;$C=+FYSQQ1_l6&tSoRw0Mf1efd#T@Gdwu5 ziw8%l5LAJWD=)v8?=AbtKYxJ?=L{H!!zPdd?H4Wjruh+@SV8sbz-Se=uH$l*AaO!r zRoW0p!M&Qt#nYv+Zcem&;qks~NI*M+im7CLdT?Zk>YfmMMy`jlHI$*|Q>ENWLDz#Z zoeK_7(}OXET@;oUvo|+8#oyz0?s*s6pTFr3?Z3bNM!OrAdITXD8=rE$aPbO$5?d)y zC^BhodJ5hn%DnUe4xzr)UZX;Ak&W)fQ~)#`Al-Qu0%bW7OLpKM$oY01k!sQdAlyTd z*>NI0WPxR4+_kZzHh0$GU=I~Cvz$iubi4Mtr$OKl*+Z8omrb>FN~aPHtmzlX(Fq{R z0@l@bPd4uBUU}>$58KOrYt%~I_LH}Kfwbvv z9!N#z?S=%jT`#h3R66Cx2lv64)~P+H>p_(~$gv&tAyUeOxl8zDbHI%Q ztw}YXia4s)QULCe2S-v5!QH=66P-Te=})rP{K4-)N46tn z+HVTND7cg*YAF9!3l@@@z~zx^qD#9<_XobX-yiFXHkItAu1-LaPAFGizHEQFLRmI_ zluU|*iJ;;<5-#)vuHSw6uiHb%$8Fzt_XAEl!6zFhfv^a=l*8b`juB0Q|Ib=h%p^&w z+>nXTvksG-d_vv1F8a6uL)yPT&Q~Rf=n@)NrzC8u3XVmGoY2bD%5#ZA?4&}da&iXM zp5p)Nj~*PUjTU5+0B_v*^hgK7!NPm(T8x5*jreiq>ygfH^iAS90NC=($hFmk}i-!r)Aj6iCYd&RaHLAeRMxI1lvUY2Lqq-cy4U_U zcUvuf2ehj$jZK%*yfSbTU7bS!Bmpm~f6*X3k_AC(XYD9)(_J(sF#1EU4J{$hMR9(n zm49tPP`EflK&RavkH*2oZnmcfRw>g+RY*ZtK&^p7^9sbZs@zNC1Fua^PErJtvbVqW z2D|){izxwHaGZzw#dDn8yeJnz{|Nx9qN%HEhU5yzM~^UPmbaw992i-+^8 zi_eP3YCcu3$W5se@>SiM8q{eSO3%*o3>-zJbV*I=l#i)t)GF6sz5P$PdC(p>aDXk% z&;fZ{7!Z4#s2Fj4`1~HZZVXDigC3$N|6kW;%)$NgxL@Rdw*|%(OF|}1VdG@)^~iSl zy<0{`aI+qHaAfbm7DpS4METP{e!0Er&)<&_!nCpIB1&{Aim7@>X(@5@Dj?CheRAcr z3sn=TCxz+K?=G*v{q_UCY{-blDQ~Jl-Ge}v&K`C?zFX)v*dr^41tyUejVi35{6>Yt zA3DnU#bAMf{v3fS_A12L(D0B&5ZnbQ>mWMvx|4^NF#hf4$Q83%jEqp zE-v6tPa$1lB5FKriQTO9EnRX^q;7S+=iP6DIJp$|?F7IX`jJUf?VNinwrqgYLt79M zF42+6Rg`RYhJ%#|3+t*94*TKgn#F$@T!}E!fWQyzm=r#>T%Ly?962z=q~Q*+V2ZLS zN;V8edFih`%Rch4|Lxk`6sB2r&&2p~767$OtbK*RP7?lJkx@O!alp651!wdjCx4RQ zA96jSsYL54t7+rGkqG_N^eh6#iDPIcA1Z#Cvx^dtYyzXz(h4bcUDk;Sn^YkwnrzFK zKClw5EN2g>uvTLdo+_=Q#tD<}*tyMK^Qzypmml~p)ytgWz=|s1q^G6pL6x((uEq*Suvn6qT(eHw-n02r&o-Ceyaxm+$oG!EG0ajsAZJKN(TO$tYf2&&W+ z^lAISNkXnCPM)?K{>Llr$yZ)Z$4JV=cZOFXTuG4vH&;T1A8G8TxMT(-E47@$6Ho_x zNa7e6ph%QU{``;T3bq9f_`qr?{3|>{x-)?w1$cy-wWIr>b?5L5RIJiTpY&{lY^KXz z`VyY}+1X?7eD?<+Ns>-=DwNyBL617p4q0`4fF3y)PjMF6Bzbgbf|LWVXaE*c=kfor zYttSJ+-{Cb2RiB)SD7mnZm4kd(GQMHv6*I0Q|t*a_On2$X729pU@if3${oPus-95Q zRz10#Eh6}N#-{_a2RYjIuio}%``h>blij!fL5Dk}#odv-)CTy-IaI8JdV`ibmDKaE zb_{hN)Hs|WZ~AK|h&vzCv+ZD`oWbg5@%tepL>`FEQs#;hHr+FP`Jfj6!V7oWReLXU zos^%yg4eJP%ABTlPlck&UeSTlit^z^xY&VQEgiL@IJfw4U7DP>a(BP}fG_QLiE7p9 zSvq~Yfd4-|#ZyVyv1+eC0*Q+%!Uw1i;^{dl%ayF6O@$2gfKjqDwr$rWX1Eopgetzbiy8*Goc~yNn&z9zYWn ztp`W0k&vUOolH?a_PPK46?@BHyc?=}-HmIS2U+rHIPFUp%U2nnV)}Z5ihJA~fOhBh zt@g&(zsjEaBkvk>J~ z^bc<3G?OkD*43NcQFt3TLpY(5fC~d(Yi>Vy90#kH^m;7Ey## z?WsJD3@!V_XaCJ!_a|?4_tH++d`bi8!I7#&QXr=Yw~~ZC?9AjGPEfw31SidtL!R^O zCt+4rSP=*^g!kTi@3E67$JAcS&!O51!9&>H?Rni!{bCPpc1FGCweFaMTp^JmfX~=0 zkaV!PH0N9{WweM<6K_5?HsLz=%wN9BvbZ)YBwx65={Rgrr-7@!O^cz_rXr_bVBzr~ zP-XbCQ3OaXlH4MleXk^ihp!)DVijrBMFaq~4wHucRH3K5L*)q+Ng!$R zB#Tx#Syek!^?o`$QxC?}3F3ODV7n%g_VjyKmW{D&|MZE^*~dTj84$isM8ju?K^37R zheZTh0hM2?^H^RAZIcL2RN2DP%uI_8mRw*hhK6$1-IW5cL*y;aGHy0z2j>$-V?1ex zQWL1}?*81jb$@V>KXC88%Q6Fv%Pzk79%|R76NzwNRY!>c-+M@B>c!vI)47$?qU@5< z(Jl7J*nNd|wFpWgb$RxvCut2=Rg09#YtTYJ{NPAbHk8f74~|r-)Q%myY5KD+NK(Lb z{J_hZ{|$JJT~>}E4X_;8H{42TCbg%+Q1KWFwQ6#*oeHv)oeEaQkmzb1&Up4&yX>8B zf1`cs(_e5tx=?r-S5il^Dq&LUSXnjV8WeQW<%Hq~cC!7)_Tg7~{C@cT3{N|c$m?jK zA$fi5^P%hl4%DYEyJr|z{$RHxiO&+Bo_q)>(gNY%6g zPddp1#?*C9pK&C+`|a_+xC|!#EFWJUk-(eG9z%CDxH6B_2USSlci#i{d$0ZzJ2`fW zm_r}cI_n4`_=&5lyBqC5p$)>L#cq$UE%f%S+n0wP}zlv>Z`-~v_+8KBfes;dh7 zltP-7>v!(CyJ^@*o<6a5?0k}}*tUPnq%(1PCZIr?t9pg<6+h=tG3Zt4VUkQeY{HLC zQ=y`+M+cVN3y=9lL()IM7!#=E2}LNYsMuCeHWcZmJ-D(*+QZ*(Pn{-(x;mt&Eyzlv zMqrr4EyF!<^awd6R8lH>QivvZokJ?f%*T9j5Yz?;bONY}{-Ia9pX#GdSCMNb4XSyQ zmQi8`Ri$>@f81r){o3!kyA2U=QvN~`f^73rdkW1fQB+)k(z-Q139&nSK?^M~DRoUk ziE27TK7okZg39lT#pLs=tx!75!^u=PS^Bc>kNTJ9Cw#_rmA-IsI``L>=VsDkWL0;_E8o^l={?iMrB3MFKQ> z(zh;U^=$g(?uEzv!pyhl)lH@zI;HaM<#|HSEUwyfnuHys(5pCiRp5%)(E@AX#d9lv zpsfWY96lQ*aV1XOgQK<)NBJE>j$!!Bh6>-s;Y&}wx}>azxK zjvv4bmbh^wP8D3BapOqsb#2+W44Q6+kb#RgOhBb0+^q1^++SpI)8`NIs9yjZgVW5+ zho(R2&ET*qKnsVIGv+dsZ7CL^?%oZ>8SDUAZ!UuGweb^9E4Z5+#Y|#Zy^S0-Ek!9O z%4cHJ&%Mg{H#&73`!V01cyebz_lWU#KKmq)=M;VS&hLizw6`q{H$VJ?FTN)kKBqnj z3qYCK>!<2_vv6c+R0*-_WU{wn$iIYznKmw;3(p6~u|@!?cm-VVwEIinyKL13+v3lU zdqV^Q-~hOQwuaxBYiV!0i*vua5)RAjSTa*7U6RTYod}v#@Ur0Jr=CDiP>$6&(pzR) znIMbULBrocm7#GY#d$msO(2J1-4hZ4r=M(%2O6iNi;)+|%57#dghQELt;I6as1n~s zzR|)@aS=t)%x;kEQnA1Z$Bi6uwHg_eK+}i;;Z#~PHB=rc5aM>2H{eY>(P$(tVp#lQ zLed|2-@C#Enc$)b^WutfV~3(EuY6Koyr9#;aRb)A--6{f;~A1doEl zIKpqD4RR=`Y~&tp^_B{5CsZNB46G}z4L}xIXE{*oM`2Oe%Q3Tq{| zSr)G7^8zhxUQF=pz0vi5b4@@{neZZHOfi#;ndf8AwYG$Fn-}3(SOnTem1K~h%kX^c zr;aC~WkKKYG&FKO2v4a+hLPurIP`E`I15(!b-W2Y)b`Pko+S zpCacB5v@kZhq2*D8b|h_(Ndi&?4#Ra(gT&k4|ij7HPJW{S7m4%$pa(v#*vG|^zE@7 zoEwv)Ufl#hh%lxPH2%k2Uyp3PN+oMWvz`RBLZHb~X_!3DCkQ2FGAf@v*x$)~aZ_oX zMJ7+m{-yd9rQt~-hCby~U>&$Ep&UG)seaT;BS*86!ii54Ui|Z1>pSwgY}sL@)j<%& z6NoAcVx{T-qegE`#gJ`1A@}!R`;KS<**u^5+?Oy{C-D}FwvP3Ict1N?A8z(0vxrno zxi}`j;tA~UImojEDTBa*=s@R@n@R$d0XMsdkPM1Gx(&{vJL+1_=-sqwQ+mU+$ajsg z4&YCWq=r0-$L%BI>5tG5adG#-u6%p@X&KtavoZK{xosv%&Tbs3<|#={U@h#X`4V1h zs1mRR%441su5L=8O;Ce4)Y9dB9sBmds%Z9r2hO3^J%cm~ugvu&CIZr%nGu3RHrhC{ zrG=Y@j$$nW?t5rdNgce{SHQ{+95}$O;ZV?db-aYek!)%=Z1FH2$=24DvPa(O!5Ilf z5yW?H$rdRf2CP8haJs<8=UU$M>j^lclia|b!<5Cxaig2W4Cl`M2UzcN>KZq2C?<|n zM{j%U6?o|CqQC$6rl1T~QcQD{{nAp|-_Zqo2P1%@YHT0s4leK^d{F-GJRFsX4K;1Tuv|?8+4h!w{YP9Oc z`3;nzwW2nG7G5voyIDLAL#(p&6OEv~^CoKrPa-pu`NlvnTU0?#;CyQFZbDqaJD!h@ z+9nx?IE0NVD=X_mqe*3@xPO%_9Y6huHQmNOpN%R_cumYzZ|%t}RDyP>oW+eXSr_w_ z)72aVLqK2`gK6jG=)vRK7p=eeyy#P(ygvM$haU=a@-f43T|0*8R<6M>V{tB%cqA&H z&%)Gzxv1Vs{vqqP+PaM@E34{@%!hSsWO4uPE6-T3?VrN$<1L;U&m#aR1I`+|hSQ~0 z-{xexX&aZNyG2fyq!p{ZsiDXdCnojErfhUL(>QWjTiiI3lr4uEwPj%U?s+!2ign`H zH_yhAMOc%=&rIZIcwvq&{;k8%>&w4(xc%3=6u`$=b z4mYfJz4$~Ua*8CqiMng;1r$t38eYBnbzATL=`FWW1Mg$r z<|B?Ep4m{mMHVN16;lqXLu<`v6hA8P;d=Wa49w zL5e57T&7q#LJb3A3nVs1%V2r^G^%tyZS4|*M3X2-Hj`{b`xnNZBeU1KK0?wASZf;E<{RjG7@@;T4jzVPx3zf9{4Vi7{>JO4(=!70_; z$!JC|QTW;*s}kRe`)Mv>1whoM*VIJcy7^0ltZzY{mjME4MTG6=e-~=CdYm8Wc(vy)K`_%oB?i5=Y5;ZElSlM;ajv zZm}4HA8PrqAZ4pwG9Tc0Lqc>Y3oFo=;dxOBrA~6p=Vw{6CO=gcEm}kvl!&1c#_}y{ z@0z1Jhjd?CuRzV;^zMbT8acXQJY%erKnz+NmZ(#gaU}DHe;n`2v^-PmH{8rZ`7DcG zmN8!woCV)JYf@AknGdao_sDV1J^%dZnrlfPCv#Y?RW)d~GNvD#QX*;q*SGFWgbC-V zWso$E%uuj9PDGh3ko=h$Ekye%0{WGBsc}=#qnG^x0`LtR&=QNqO;FHZ?R@5mdv7c$ zNq?S}@mR%jYbgu+5+cw%vRNStHVO-79&Tf_zQCf#G0A2cM{?^%Ar`t%!)|#j$AkcQQFY%y}>C>Jm*dtRqE9= z)mqV%p;?1vSrfU~evb8UX0hEL7B=h4F$sV-7l{vOq!*?Jx^C{CntUfUfX_K}s6%d@F4wcC&CLes zl+h|M;4p}pBC|8Jo7#8q}|-%6SnHyu$Y0@{7Y(}AU9-zL)J8j{A5n&fb-vdSEd zEK0CG9`D-q+)b`EvF?tw?qd>wZ!|c>rmHmcZF&5@&y9^2evAYtNvH7;r1BuWEYv^^ ze3U>@tJd{zXae(&oVE+bk;ajPSI6SUij}~T1xAd49_s3Wx>42~p~?sx;kd(#GR-A) zcZv#bAQ42itny~TM7=#Ws?34p8RRgn9wuR_;B}HrQii8bs8q21@odfmA*|=mOK+n} zftx%Z^WZ{8c{FjwYA5Os4n=~u`b5L9t;4y(d|VK55_MJpqhgr{oCzg#HRTL!X!z@AVe?xo(tylEn2cHKOeZ!2rhcOA)7Z| z_1=D!`lKt&vDSUuUEjQUb1)0fI{VVQo_pqZw>Gq`xONmYDvU}_nFK;ct{jKq%(&?bd8^E9Et87M1*bKw5=_A;4p||e&TTlhwo-O>KYb+FkZ%na6{oH z<7oJKfFXu&ozLyB1LIE<^)R0V=Eb!r0u+s|pxH|GEm*&`c+FF&Bz_eel<(MK z+-%du;jmm5fi;?eIrdbRALfQ*iFQH`;_Q(?tZ-^4^O8bCU2UenZ{U{pwd;f1m!Pjq za?Zh$<{q1-6++)JJ~s5({{F+eNaQ5sUXnLs*aXc=941+0oSnWb>msX`AS}nOzujSO zz=&aDIE5m@f=so9Jd93&`L1gCT?h54A$@TmY)p;XT2 z_jw?FRLFw4sFKVrb>0|eC34qBjv$E*;X){C@7mZF!_4TuWdw)N?1h9^=l&wW=sG93 z!2j`c#`9T^5EL+de^h*r%!iFHR?>(gbT+}wRw)b}NO?x1u^j+y|QT@_+n4u0I56n<{eH!0Vi3B>0ILh+Q!5jXyS|t3z_3fA_Bzad6RVws|(n_Ks=vTg*0Vh?CO-& zJ0Lg>EI5)P)kc*}6o^KB$s7u60ky7Jt&WGTLZx%Wo&XQuhLW2H4p-8J$92WZ`WqIn zTEF}L`!@xQ#~e$XdHI9{;5!io;ewuZ?p1gE>b_h4tfqS8`cabZz|q-YDkad<`a%Xi z;>MA^)ctRfi?U#}MiiX5(IHwYn_vJ(7&)gC7GeyXLX|U%I@S-d5*WXy6Nvd?04Y>B z3phBtbXxnz`4kIk`Bk`u&GM0rs-T8Ol@O46gf~+kKwnQciYmTzwS1)qVyFj&uTYSH zX%qz)u%@8Rv%-J~6F>j4);RMT?{lcM#`9TlD@Rw5PMlA4MuB_AjU#DF$!F(j9BKCt zl~aBC?x)<*9R9f)NBVr4+63bOYtyR;(L#;luPtsp{|@KgumS2jiE&Z{peRU`i9h`E z(NCU#>4tOa8|Pg#IZ>FZs;&f)#bL6kI$6@P&QUgB5{IJW=1^3+#%*b)F$^FazK3IP z0Y|J{X;aKS!bU1j84bXsszRZIvS19w_|UGT<3 zAN$A$o~4)1+p)W|a60@0xwQCtyINa+e~5sQF>tGmZQJ@}V4VvVE(uhAkX*sL@3}v^ z@tfa68<+QL2VuET1GXl24dV@v~VbmM~aq8tF?54Z-O-otQZ3k^y`Oy7k%fpJEEOC_h74A zZxFNX1?xMqUe~WqBRFNpj^{$;aS3gBRgA4W5Epie=d1x2w& zq!Nnj64<_os_i>>P;6`{v+kVN!a*uO+Pd<>e`j4r^1LvR(#emL76HjeIsrpLSbY5@ zZ~yWmzxkhLdenV9m&;`9>KgNyq8U4HYV+3O$M$BQcG~J_`}Xb8*KWKe`uaEjD|}RY z>ymIgy`j2cjRokzi_4$IFfwny+*wmdRvMc<=o;u3di;L<>&K#Jw(X5R{MYXyCF)`v zJKztvIcKgtBUB~T%T|SsKw|_pmqUi->q`(DFwV{6uHmH0N41C+*)tiDC}0E8!@u}V zbn~}rzwqz#XpDVWEal0|+_&zi>PMzveIB z8lAajB{hFm1Z9w@7Tig^qPRc8>wQ#DWli>D(7$h5x5*##@Ti8yk>CUnCHeN&){NQL z-G@5=W&Io8<>3qS;#bFZ_xk&}#*5|v$pqEBs(3pXWy|8jqCqjTtIK7Bphpq0%cu8${h9vc3_g^Ovc+7Z~j-N+0J zYyVqIN5H57CCkh!=bwFcPY_EF(U$&Hj!mEbyMPxoPd~JOCAUIlb^jh(^zqu#rESp! zOFKxvKYH3D>Wmmd2=%qpm6$L~EHykje)DTDxZ*n3Ir}VL?7IJG0&t@Hr}GIo?9`*b zyXO|dzSqF{i*&ax^!D{-c7oQiLiX<;{Xq6iin(UWHM<>U`Rox`<0@ zt|2(XEFv6a-1fLMs|}-dKH-g3ub2=SB5R4cF}1vpdt;)|@|M-5D9tL~r`@i>MJipPNZx2vX$id4GfIkwx?s_{T@E2uT^&PiplK5oBsJF5rChO5P{#}1n>FnFYX$n>C*?v zWy6D-&6PIRWu^20rohxO^kV5aa|_hEEh^1LM}sj!R!Yv^T5c*fF1D`nT)eyOTP7#^ zxb0}*P(Y>xR1JSS09;)xU@1zR`hgf`>l4if4yMP>A{C)l0rIof_)Rc%on4KG9`Ez(PiwABCMQ{SU6N!nYMj(Ra?*rL=hP= z4AntV*2XYREBKxTfa+YN-`73$*v|&5YpXv_TpHax%Ptn^ zIAaZB6q`Eibl7WVK7M)LEvCTYWGYilO~&(ym!p|$?s=$2$*kaMv{7GAzyk1Emgt?i zg`vTt4i&Ucf0sCW#2jQ{%a*y-B-AMbO*kQb1c-zA^!DkZmeUw83ZPZ27O?`BX)!ZL z(@{%?v|7x{Cd2|LBW|rx&oCdp0zHu8B7ILyEd*Ka&pcmYVVFmsgv##x`6_*26ChgM z(Z&|^W%%szbBGIIPWH+5(l~O8LS2LgC~`41`7dkE*zgbTci_4&@#gzEj+dkZ#2<0w zs|%A8_{y&B4}X;1{@3cN%FOV{*c9yFen+&=F*e8{aFdf@kp~?H+|N?%%Gf$;3Y*%j zAHhP)p>`gj+4{ys+!~W1X=;g$99pHyLfAwIFdU4ZWx3SwbZqF+^Lfw?4W{9dfsl4x zCukE)od-392oQ7N!Nv0_8UT-yCTCSqZ>kR>GCE9j#rTYO?W<@-k+EwR00Vz zBF?}is2JB!4!+7LCT}o(Yry%qKl6CL($Wg?9H>20CFDEi%d09s*1qEPU-lzr@A33U zzNBw23kOJ65Q~90{@i}r>%YAH@dx*H4h-A~%y}W1FL}Legf27QPLaUDug)n1YmdE? zAgr^mhiqO|oC2+~=Z1&Ikq|=CIFfgBC?IT+_bPDa_iIY#hDj9R@RP=oa*{m0a&Mc& zC)(@FeD!p&8wg;GTcC1pk-}!&Ws@Ilg5#9D#4pJs$)tB97CbRHhm zaF=_Gh&3n|E?BbXFZKJ&N&qeMP`6x|>QDZdE6tY%fBOY!X zNV*%H#f>T}H(^X0I&D!KV_<48mca!Kr7#fnwY-d($*K_YSU zi69CKU_D?)^E0YG*f&qpY#ekC*-|j9$B*kD?~sr8yHi2{PRN42*m-5vs#UKaR zutwMzlqyRXO6K>pN+9gte_IjU0u?5b9BCYBUZs@Ed?^s2nZtU+FxOD=%9;6Gw zj2!ugMXC{CX~Wia_}CQDAWzcBF%MVh>7pn!saBeIno25b<{R{rZxAqhkeeR85sEvH zVD8zEptExya-2FsC2R>#7s1r=zJcseffm48&&M3&p;>D$BYU(SM2gN z-=K#Z43LHSgn5mE+8qX7Hi+Wb+1Y^;s&{%mB9mePXU%6VLjj}H^I;H-rz$HlS&LQo z_VnL2+;w>4x#wRoefY}zSfM_ZCv?gF??L z6h)2CL7tXO7O6~x|9o;}f_jF;!BOnuj#%(s7$o}^iazRPll=+_)2H7-(W*)irKCZmliZRBW@<^;8g%rg*DJ~JPgIk&9_CaKt)(DLu0EL<5KJ`gwK z!{a$I0XWP`%HReA{e6#N3jX6+uYKc>-7{If030@oCqDJ#lyiXO5p-Ti2#N$>JL|$L ze|+EFKf4sI_yz)+`x@poWrqfavrj(tM2^Oh`O-`&*i4|&(~To52`uTa_ofC8z<2xX z?I$$ckCJCVMiZ)vJUJUVYGo{FrY;{2ltB)sm#!!_R(nCZ;IUU)V=2;~R3Bs!LBlJ3f5(#)EgSl6^bX-(L|9F#91C z2{AXg1Tns`FZ#mQzp!uTqjyf`^4C#5?V8iqu5F52o{S%NI%%{$#2W&P&O4;I{;*?aX${H%HLs*U@B zEj1M#96SY4I-$BwgPy0@`=Zy)hk!v`(Fl4 zloqH72%Y9LYgV7h`b&*I9wZ;)`%@Fc-(L5+H*a;*y$F|Fa!LBtIQZnyUsVEd5u9r3 zfd?MQ%-)3G{`M#BpnI-Hi+>k^l(UT0TVi$+9f3v>Ipu#%bv+>4(zJ@39mr}4nOZkD zi+lIr!94_uI*6xNQj>TYntg^y-|he+UD~oTIEEyF9()Q$CymC1bS-T?WWMg-5c_9+ zDw@VGm=EnEj$iZ=V5$bMS1p8_>Yj(X_Z2!1>@5g&U$n3#YsJs*!yN>ys9U_aZ3~vp z4<^S3Zf{$2$*yGMW%nC4Y#_-dSWC&vulV;@Tm&5bgwq=^Ef!P~-G}>cse{jLO;uHwq~98VQ`aJh1s?$NKF=p) z3Gie~iBLf}SOJhhu{bt9RvaAYHrF&wc5%j%vddSl=I;?8A+H2-XJ zta#sPXI(ObdE=SV=I2>};*p8mXFAM zhYoMerw5*0-hPo@&Y9t%*VJqerC3=1E3VbgEaW7A_>&U>Ct9~$;n7FGkvaF=`rubM z*8BH8b$0`0R~HaKSh%F6wYlTafhAps4$NQKzKS}_3&`@wS0C)yLoW!dGXN)LmDQ7# zWevFJM~7*u*#q*Z4?o;t)QAIRCF%WDHT9h}jSXF?R9)|}=3`BnZ+zn$=?{G1AWGdU hXTu+BEid-9{|9a!)U)9dF(v>2002ovPDHLkV1mSSPBH)h literal 0 HcmV?d00001 diff --git a/confrontation/mimi.py b/confrontation/mimi.py index f772426..424f454 100644 --- a/confrontation/mimi.py +++ b/confrontation/mimi.py @@ -59,11 +59,11 @@ def __init__(self, text='', start=0, end=0, node_tuple=tuple(), self.who = '' # Identification of a class as entity def __str__(self): - return self.text + return self.name def __repr__(self): #return self.name + ' ' + self.text - return self.name + return self.text class Token: ''' diff --git a/confrontation/mimi_visualise.py b/confrontation/mimi_visualise.py new file mode 100644 index 0000000..9148d09 --- /dev/null +++ b/confrontation/mimi_visualise.py @@ -0,0 +1,84 @@ +import pandas as pd +from operator import attrgetter +from tf.app import use +from tf.fabric import Fabric + +VERSION = 'c' + +A = use('bhsa', + version = VERSION, + hoist=globals(), + silent=True + ) +TF.load('g_prs', add=True) + +def PrintCoref(Corefs): + + i = 0 + classes = [] + print( 'verse', 'id', 'mention', 'txttyp', '§', 'p', 'g', 'n', 'func', 'type', 'gloss', sep='\t', end='\n\n') + for s in Corefs: + if len(s) > 1: + i+=1 + classes = sorted(s, key=attrgetter('node_tuple')) + who = [m.who for m in classes if m.who != ''] + where = [T.sectionFromNode(m.node_tuple[0]) for m in classes] + print(f'C{where[0][1]}:{i}', f'Who: {who[0]}', end='\n') + + for m in classes: + which_verse = T.sectionFromNode(m.node_tuple[0]) + gloss = F.gloss.v(L.u(m.node_tuple[0], 'lex')[0]) if not m.issuffix else '' + print(which_verse[2], m.name, m.text, m.txttype, m.pargr, m.person, m.gender, + m.number, m.function, m.rpt, gloss, + sep='\t', end='\n') + print('class: ', classes) + print('\n') + +def PrintMentions(Mentions, s): + + sing_list = [] + sing_overview_df = pd.DataFrame() + i = 0 + + print('verse', 'C/S', 'who', 'id', 'mention', 'txttyp', '§', 'p', 'g', 'n', 'func', 'type', 'gloss', + sep='\t', end='\n\n') + for m in Mentions: + gloss = F.gloss.v(L.u(m.node_tuple[0], 'lex')[0]) if not m.issuffix else '' + which_verse = T.sectionFromNode(m.node_tuple[0]) + if s == '': + if len(m.corefclass) > 1: + i+=1 + print(which_verse[2], 'C', m.who, m.name, m.text, m.txttype, m.pargr, m.person, m.gender, + m.number, m.function, m.rpt, gloss, + sep='\t') + else: + print(which_verse[2], '', '', m.name, m.text, m.txttype, m.pargr, m.person, m.gender, + m.number, m.function, m.rpt, gloss, + sep='\t') + + elif s == 'singletons': + if len(m.corefclass) == 1: + i+=1 + print(which_verse[2], f'S{i}', '', m.name, m.text, m.txttype, m.pargr, m.person, m.gender, + m.number, m.function, m.rpt, gloss, + sep='\t') + + sing_list.append({'v': which_verse[2], + 'S#' : f'S{i}', + 'id' : m.name, + 'mention' : m.text, + 'txt' : m.txttype, + '§' : m.pargr, + 'p' : m.person, + 'g' : m.gender, + 'n': m.number, + 'func' : m.function, + 'type' : m.rpt, + 'gloss' : gloss + }) + + sing_overview_df = pd.DataFrame(sing_list) + sing_overview_df = sing_overview_df[['v', 'S#', 'id', 'mention', + 'txt', '§', 'p', 'g', 'n', + 'func', 'type', 'gloss']] + return sing_overview_df \ No newline at end of file diff --git a/confrontation/readme.md b/confrontation/readme.md new file mode 100644 index 0000000..bf62141 --- /dev/null +++ b/confrontation/readme.md @@ -0,0 +1,12 @@ + + + +# Psalm 75 as Test Case + +The directory is called 'confrontation' because the generated coreference data for the Psalms - specifically Psalm 75 - will be brought into discussion with the commentaries' analyses of Psalm 75. For an extensive discussion with the commentaries I refer to my dissertation which is forthcoming. The [`confrontation`](https://github.com/cmerwich/participant-analysis/blob/master/confrontation/confrontation-ps75.ipynb) notebook hence aims to analyse Psalm 75 with the coreference data that has been produced by the coreference annotation method and MiMi. The algorithms stored in `.py` files have been explained in the notebooks in other directories. + +* The functions in and `analyse.py` and `search.py` are explained in [analyseParticipants.ipynb](https://github.com/cmerwich/participant-analysis/blob/master/tf_conversion/analyseParticipants.ipynb). +* The function `retrieve_ann` in `retrieve_iaa.py` is explained in [`iaa-analysis.ipynb`](https://github.com/cmerwich/participant-analysis/blob/master/iaa/iaa-analysis.ipynb). +* The MiMi algorithm `mimi.py` is explained in [MiMi.ipynb](https://github.com/cmerwich/participant-analysis/blob/master/mimi/MiMi.ipynb). In [mimi-hb.ipynb](https://github.com/cmerwich/participant-analysis/blob/master/mimi/mimi-hb/mimi-hb.ipynb) is demonstrated that the algorithm works for the entire Hebrew Bible. + +As is demonstrated in `confrontation.ipynb` the IAA algorithm is used to correct the manual coreference annotations. The corected manual annotations (and administration files) are stored in `Psalms_075.ann`. The uncorrected in the folder [annotation-uncorr](https://github.com/cmerwich/participant-analysis/tree/master/confrontation/annotation-uncorr). \ No newline at end of file diff --git a/confrontation/search.py b/confrontation/search.py index 2ab9e9b..6367ebd 100644 --- a/confrontation/search.py +++ b/confrontation/search.py @@ -6,8 +6,8 @@ A = use( 'bhsa', version='2017', mod=( - 'cmerwich/participant-analysis/coreference/tf:clone,' - 'etcbc/bh-reference-system/tf:clone' + 'cmerwich/participant-analysis/coreference/tf,' + 'cmerwich/bh-reference-system/tf' ), hoist=globals(), silent=True)