Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not an issue but a request #26

Open
johnlockejrr opened this issue Jan 22, 2024 · 21 comments
Open

Not an issue but a request #26

johnlockejrr opened this issue Jan 22, 2024 · 21 comments

Comments

@johnlockejrr
Copy link

johnlockejrr commented Jan 22, 2024

Sorry to put this as an issue because is not but I didn't know how to get to you other way.
Do you have the mishnah texts transcribed in raw format or text, json etc. I have a hard time extracting them from the TEI format, I can do that with python but I lose the deletion marks or additions and so on. Or can you, kindly, provide a script to do that? Python or whatever...?
Thank you so much!

@hlapin
Copy link
Collaborator

hlapin commented Jan 22, 2024 via email

@johnlockejrr
Copy link
Author

Thank you so much for your reply. Any raw or txt data would do.
My final target data is something like:

insert into mishna_kaufmann (seder_id, book_id, chapter, verse, content) values ('1', '1', '1', '1', '[א] מֵאֵמָּתַי קוֹרִין אֶת שְׁמַע בַּעֲרָבִים מִשָּׁעָה שֶׁהַכֹּהֲנִים נִכְנָסִים לֹאכַל בִּתְרוּמָתָן עַד סוֹף הָאַשְׁמוֹרֶת הָרִאשׁוֹנָה דִּבְ׳ רֶ׳ אֱלִיעֶזֶר וַחֲכָ׳ אוֹמְ׳ עַד חֲצוֹת רַבָּן גַּמְלִיאֵל אוֹמֵ׳ עַד שֶׁיַּעֲלֶה עַמּוּד הַשַּׁחַר [ב] מַעֲשֶׂה שֶׁבָּאוּ בָנָיו מִבֵּית הַמִּשְׁתֶּה אָמְרוּ לוֹ לֹא קָרִינוּ אֶת שְׁמַע אָמַר לָהֶם אִם לֹא עָלָה עַמּוּד הַשַּׁחַר מוּתָּרִין אַתֵּם לִיקְרוֹת [ג] וְלֹא זוֹ בִלְבַד אֶלָּא כָל שֶׁאָמְרוּ חֲכָמִ׳ עַד חֲצוֹת מִצְוָתָן עַד שֶׁיַּעֲלֶה עַמּוּד הַשַּׁחַר [ד] הֶקְטֵר חֲלָבִים וְאֵבָרִים (ואכילת פסחים) מִצְוָותָן עַד שֶׁיַּעֲלֶה עַמּוּד הַשַּׁחַר [ה] כָּל הַנֶּאֱכָלִים לְיוֹם אֶחָד מִצְוָותָן עַד שֶׁיַּעֲלֶה עַמּוּד הַשַּׁחַר [ו] אִם כֵּן לָמָּה אָמְרוּ חֲכָמִ׳ עַד חֲצוֹת אֶלָּא לְהַרְחִיק אֶת הָאָדָם מִן הָעֲבֵירָה');
insert into mishna_kaufmann (seder_id, book_id, chapter, verse, content) values ('1', '1', '1', '2', '[ז] מֵאֵמָּתַי קוֹרִין אֶת שְׁמַע בַּשְּׁחָרִים מִשֶּׁיַכִּירוּ בֵין תְּכֵלֶת לַלָּבָן רְ׳ אֱלִיעֶ׳ אוֹמֵ׳ בֵּין תְּכֶלֶת לַכָּרַתָּן עַד הֶנֶץ הַחַמָּה רְ׳ יְהוֹשֻׁעַ אוֹמֵר עַד שָׁלֹשׁ שָׁעוֹת שֶׁכֵּן דֶּרֶךְ בְּנֵי מְלָכִין לַעֲמוֹד בְּשָׁלוֹשׁ שָׁעוֹת הַקּוֹרֵא מִכָּן וְאֶיּלַּךְ לֹא הִפְסִיד כְּאָדָם שֶׁהוּא קוֹרֵא בַּתּוֹרָה');
insert into mishna_kaufmann (seder_id, book_id, chapter, verse, content) values ('1', '1', '1', '3', '[ח] בֵּית שַׁמַּיִ אוֹמְ׳ בָּעֶרֶב [כָּל אָדָם] יַיטּוּ וְיִקְרוּ וּבַבֹּקֶר יַעַמֹדוּ שֶׁנֶּ׳ בְּשָׁכְבְּךָ וּבְקוּמֶךָ  בֵּית הֵלֵּל אוֹמְ׳ כָּל אָדָ[ם](ן) קוֹרִין כְּדַרְכָּן שנ׳ וּבְלֶכְתְּךָ בַדֶּרֶךְ  אִם כֵּן לָמָּה נֶאֱמַר בְּשָׁכְבְּךָ וּבְקוּמֶךָ אֶלָּא בְּשָׁעָה שֶׁדֶּרֶךְ (ש)בְּנֵי אָדָם שׁוֹכְבִים וּבְשָׁעָה שֶׁדֶּרֶךְ (ש)בְּנֵי אָדָם עוֹמְדִין [ט] אָמַ׳ רֶ׳ טַרְפוֹן אֲנִי הָיִיתִי בָא בַדֶּרֶךְ וְהִטֵּיתִי לִקְרוֹת כְּדִבְרֵי בֵית שַׁמַּיִ וְסִכַּנְתִּי בְעַצְמִי מִפְּנֵי הַלֵּסְטִים אָמְרוּ לוֹ כְּדַיִי הָיִיתָה לָחוֹב בְּעַצְמָךְ שֶׁעָבַרְתָּה עַל דִּבְרֵי בֵית הֶילֵּל');
insert into mishna_kaufmann (seder_id, book_id, chapter, verse, content) values ('1', '1', '1', '4', '[י] בַּשַּׁחַר מְבָרֵךְ שְׁתַּיִם לְפָנֶיהָ וְאַחַת לְאַחֲרֶיהָ [וּ]בָעֶרֶב מְבָרֵךְ שְׁתַּיִם לְפָנֶיהָ וּשְׁתַּיִם לְאַחֲרֶיהָ אַחַת אֲרוּכָּה וְאַחַת קְצָרָה מָקוֹם שֶׁאָמְרוּ לְהַאֲרִיךְ אֵינוּ רַשַּׁיִי לְקַצֵּר לְקַצֵּר אֵינוּ רַשַּׁיִי לְהַאֲרִיךְ לַחְתּוֹם אֵינוּ רַשַּׁיִי שֶׁלֹּא לַחְתּוֹם [וְ]שֶׁלֹּא לַחְתֹּם אֵינוּ רַשַּׁיַיִ לַחְתּוֹם');
insert into mishna_kaufmann (seder_id, book_id, chapter, verse, content) values ('1', '1', '1', '5', '[יא] מַזְכִּירִין יְצִיאַת מִצְרַיִם בַּלֵּילוֹת אָמַ׳ רְ׳ אֶלְעָזָר בֶּן עֲזַרְיָה הֲרֵי אֲנִי כְבֶן שִׁבְעִים שָׁנָה וְלֹא זָכִיתִי שֶׁתֵּאָמֵר יְצִיאַת מִצְרַיִם בַּלֵּילוֹת עַד שֶׁדְּרָשָׁהּ בֶּן זוֹמָה שֶׁנֶּ׳ לְמַעַן תִּזְכּוֹר אֶת יוֹם צֵאתְךָ מֵאֶרֶץ מִצְרַ׳ כֹּל יְמֵי חַיֶּיךָ  יְמֵי חַיֶּיךָ הַיָּמִים כֹּל יְמֵי חַיֶּיךָ הַלֵּילוֹת וַחֲכָמִים אוֹמְ׳ יְמֵי חַיֶּיךָ הָעוֹלָם הַזֶּה כֹּל יְמֵי חַיֶּיךָ לְהָבִיא אֶת יְמוֹת הַמָּשִׁיחַ');

The alpha project I work on right now is looking like this:
image

I know some python, so a script in python (or any other language in command line) that handles and can convert the TEI format of the mishna-data transcriptions would be ok with me. Thank you!

@johnlockejrr
Copy link
Author

Or the format in mishna-data/txt would do (better would be some scripts that can handle this to extract from TEI format so I can extract all the witnesses):


                  1.1.1.1 מאימתי קורין את שמע בערבית משעה שהכהנים נכנסים לאכול בתרומתן עד סוף האשמורה הראשונה דברי ר׳ אליעזר וחכמים אומרים עד חצות רבן גמליאל אומר עד שיעלה עמוד השחר מעשה שבאו בניו מבית המשתה אמרו לו לא קרינו את שמע אמר להם אם לא עלה עמוד השחר חייבין אתם לקרות ולא זו בלבד אלא כל מה שאמרו חכמים עד חצות מצותן עד שיעלה עמוד השחר הקטר חלבים ואברים מצותן עד שיעלה עמוד השחר וכל הנאכלין ליום אחד מצותן עד שיעלה עמוד השחר אם כן למה אמרו חכמים עד חצות כדי להרחיק אדם מן העבירה
                  1.1.1.2 מאימתי קורין את שמע בשחרית משיכיר בין תכלת ללבן רבי אליעזר אומר בין תכלת לכרתי וגומרה עד הנץ החמה רבי יהושע אומר עד שלש שעות שכן דרךaz בני מלכים לעמוד בשלש שעות הקורא מכאן ואילך לא הפסיד כאדם הקורא בתורה
                  1.1.1.3 בית שמאי אומרים בערב כל אדם יטו ויקראו ובבוקר יעמדו שנאמר ובשכבך ובקומך ובית הלל אומרים כל אדם קורא כדרכו שנאמר ובלכתך בדרך אם כן למה נאמר ובשכבך ובקומך בשעה שבני אדם שוכבים ובשעה שבני אדם עומדים אמר ר׳ טרפון אני הייתי בא בדרך והטיתי לקרות כדברי בית שמאי וסכנתי בעצמי מפני הלסטים אמרו לו כדי היית לחוב בעצמך שעברת על דברי בית הלל
                  1.1.1.4 בשחר מברך שתים לפניה ואחת לאחריה ובערב שתי׳ לפניה ושתי׳ לאחריה אחת ארוכה ואחת קצרה מקום שאמרו להאריך אינו רשאי לקצר לקצר אינו רשאי להאריך לחתום אינו רשאי שלא לחתום ושלא לחתום אינו רשאי לחתום
                  1.1.1.5 מזכירין יציאת מצרים בלילות אמר ר׳ אלעזר בן עזריה הרי אני כבן שבעים שנה ולא זכיתי שתאמר יציאת מצרים בלילות עד שדרשה בן זומא שנאמר למען תזכור את יום צאתך מארץ מצרים כל ימי חייך ימי חייך הימים כל ימי חייך הלילות וחכמים אומרים ימי חייך העולם הזה כל ימי חייך להביא לימות המשיח
             

@johnlockejrr
Copy link
Author

What I tried so far:

from lxml import etree

parser = etree.XMLParser()

tree = etree.parse('S00483.xml', parser)

parma = tree.getroot()

nsmap={'tei': 'http://www.tei-c.org/ns/1.0'}

to_find = set(['abbr', 'add', 'addSpan', 'am', 'anchor', 'c', 'cb', 'choice', 'damage', 'damageSpan', 'del', 'expan', 'fw', 'gap', 'label', 'lb', 'metamark', 'milestone', 'note', 'orig', 'pb', 'pc', 'ptr', 'reg', 'space', 'surplus', 'unclear', 'w'])

for line in parma.findall(".//tei:div", namespaces=nsmap):
    for ab in line.findall(".//tei:ab", namespaces=nsmap):
        verse_id = ab.attrib['{http://www.w3.org/XML/1998/namespace}id']
        verse = []
        for tag in ab.iter():
            if not len(tag):
                if not tag.text is None and (not hasattr(tag, '{http://www.tei-c.org/ns/1.0}label') and not hasattr(tag, '{http://www.tei-c.org/ns/1.0}am')):
                    verse.append(tag.text.strip())
        print(f"{verse_id} {' '.join(verse)}")

Still having problems with subtags of the text like correction, line breaks, damage, addition etc.

S00483.1.1.1.1 מאמתי קורין את שמע בערבים משעה שהכהנים נכנסין לאכל בתרומתן עד סוף האשמורת הראשנה דברי רבי אליעזר וחכמין אומרין עד חצות רבן גמליאל אומר עד שיעלה עמוד השחר ׳ מעשה שבאו בניו מבית המשתה אמרו לו לא קרינו את שמע אמר להם אם לא עלה עמוד השחר מותרין אתם לקרות ׳ ולא זו בלבד אלא כל שאמרו חכמים עד חצות ׳ מצותן עד שיעלה עמוד השחר ׳ הקטר חלבים ואיברין ואכילת פסחים מצותן עד שיעלה עמוד השחר ׳ וכל הנאכלין ליום אחד מצותן עד שיעלה עמוד השחר אם כן למה אמרו חכמים עד חצות אלא להרחיק את האדם מן העבירה
S00483.1.1.1.2 ׳ מאמתי קורין את שמע בשחרים משיכירו בין תכלת ללבן רבי אליעזר אומר בין תכלת לכרתן וגומרה עד הנץ החמה ׳ ורבי יהושע ׳ אומר עד שלש שעות שכן דרך בני מלכים לעמוד בשלש שעות הקורא מיכן והלך לא הפסיד כאדם שהוא קורא בתורה
S00483.1.1.1.3 ׳ בית שמי אומרין בערב כל אדם יטו ויקרו ובבקר יעמודו ׳ שנאמר ובשכבך ובקומך ו ובית הלל ׳ אומרים כל אדם קורין כדרכן ׳ שנאמר ובלכתך בדרך אם כן למה נאמר בשכבך ובקומך ׳ אלא בשעה שדרך בני אדם שוכבין ובשעה שדרך בני אדם עומדין ׳ אמר ׳ רבי טרפון אני הייתי בא בדרך והטיתי לקרות כדברי בית שמי וסיכנתי בעצמי מפני הלסטים אמרו לו כדיי הייתה לחוב בעצמך שעברתה על דברי בית הלל

@kmpenner
Copy link

kmpenner commented Jan 23, 2024 via email

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024

Would TEIGarage https://teigarage.tei-c.org/# be helpful in this case? https://teigarage.tei-c.org/# KEN M. PENNER (he/him) PROFESSOR & CHAIR, RELIGIOUS STUDIES St. Francis Xavier University Antigonish, Nova Scotia · Canada t 902 867 2265 · c 902 870 0697 www.stfx.ca<http://www.stfx.ca/> [Text Description automatically generated] I acknowledge that StFX is located in Mi’kma’ki, the ancestral and unceded territory of the Mi’kmaq People.

Unfortunately no, it extracts text but all text critical stuff vanishes (deletions, additions etc.)

@hlapin
Copy link
Collaborator

hlapin commented Jan 23, 2024 via email

@hlapin
Copy link
Collaborator

hlapin commented Jan 23, 2024

I have failed to divert us to email...
Sorry, I did not pay enough attention to the output you pointed to, but here is a preliminary dump of Kaufmann.
out.txt
I can send the xslt script that produced it too, but gh does not allow me to upload files of that type.

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024 via email

@hlapin
Copy link
Collaborator

hlapin commented Jan 23, 2024

Here you go. One thing I noticed is that you will need to insert a space at the line breaks (<lb/>). I can make these and other simple updates if you need me to.
Full disclosure: I have never actually run Saxon/XSLT on the command line, but only either in an IDE or in a webapp.

toPlainText.zip

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024 via email

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024 via email

@hlapin
Copy link
Collaborator

hlapin commented Jan 23, 2024 via email

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024 via email

@kmpenner
Copy link

kmpenner commented Jan 23, 2024 via email

@johnlockejrr
Copy link
Author

johnlockejrr commented Jan 23, 2024 via email

@hlapin
Copy link
Collaborator

hlapin commented Jan 23, 2024 via email

@johnlockejrr
Copy link
Author

Sure, mail will be better. Yes, I think I may be reinventing the wheel, just found out about your project a week ago when trying to find a transcription of De Rossi 138.

@johnlockejrr
Copy link
Author

Can you send me an email to my gmail: johnlockejrr?
I want to ask you about some things and don't want to prolong the discussion here.
Anyway, I presume you use kraken or eScriptorium for automated transcriptions of Hebrew texts, do you have
any good recognition and segmentation models you can share? Thank you!

@hlapin
Copy link
Collaborator

hlapin commented Mar 4, 2024 via email

@johnlockejrr
Copy link
Author

Yes, johnlockejrr [ at ] gmail.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants