Per-āa : Poprawa praktyk mumifikacyjnych

https://szkolazpieklarodem.pl/

Po niepowodzeniu wczesnych eksperymentów pogrzebowych Egipcjanie postanowili zachować ciała przed pogrzebem. Najwcześniejszym przykładem mumifikacji był pochówek królewski pierwszej dynastii, należącej do króla Dżera. Został odkryty przez Petriego pod koniec XIX wieku. Wszystko, co pozostało z tego ciała, to zmumifikowane ramię, ozdobione bransoletkami z kamieni półszlachetnych. Niestety archeologów bardziej interesowała biżuteria niż ramię, a kustosz kairskiego muzeum Emile Brugsch wyrzucił ramię. Na szczęście jednak zrobili samotne zdjęcie tej wczesnej formy mumifikacji – a raczej tego, jak ładnie wyglądały bransoletki na ramieniu. Mumifikacja była przeznaczona tylko dla elity społeczeństwa, a rzesze biednych Egipcjan chowano w dołach, podobnych do przykładów przeddynastycznych, w całej historii Egiptu. Jedyna prawdziwa różnica polega na tym, że zmumifikowane ciała po okresie przeddynastycznym były wydłużane, a nie wyginane.

Per-āa : Przeklinając egiptologów

https://szkolazpieklarodem.pl/

Mumie od wieków inspirowały wyobraźnię, wywołując zarówno strach, jak i podziw. Przez dziesięciolecia Hollywood bombardowało nas pomysłowymi filmami, w których mumie ożywają i gonią niczego niepodejrzewających archeologów po grobowcach. Mumie z horrorów są zawsze złe z powodu klątwy nałożonej na grobowiec lub samą mumię. Najsłynniejsza historia o klątwie rozpoczęła się podczas wykopalisk grobowca Tutanchamona w 1922 roku przez Howarda Cartera i jego zespół. Miejscowi pracujący z zespołem byli bardzo przesądni i wierzyli, że wejście do grobowca uruchomi starożytną klątwę. Aby uniemożliwić miejscowym wejście do grobowca w nocy i zakłócenie wykopalisk, zespół wykopaliskowy nie zaprzeczył klątwie, a historia została ostatecznie podjęta przez angielską gazetę. Od tego momentu za każdą śmierć członka ekipy wykopaliskowej przypisywano klątwę, nawet tę, która wydarzyła się około 20 lat później – klątwa bardzo wolno działająca, która obejmowała przyczyny naturalne! Jedynym nieco dziwnym wydarzeniem była przerwa w dostawie prądu w Kairze w chwili śmierci lorda Carnarvona z powodu ukąszenia zarażonego owada. Oczywiście przerwy w dostawie prądu zdarzały się wówczas w Kairze regularnie – i nadal się zdarzają, bez żadnego racjonalnego wyjaśnienia. Jeśli dobrze się przyjrzysz, możesz znaleźć znaczenie we wszystkim. Spośród tysięcy grobowców odkopanych w Egipcie tylko dwa mają klątwy jako takie, mające odstraszyć złodziei grobów (pierwsza pochodzi z Grobowca Ursy, wczesnego Nowego Państwa; druga z grobowca Harkkhuf z szóstej dynastii w Asuanie):

Kto naruszył moją własność, zranił mój grób lub wyciągnął moją mumię, bóg słońca ukarze go. Nie przekaże swoich dóbr swoim dzieciom; jego serce nie będzie cieszyć się życiem; nie otrzyma wody (do picia jego ka) w grobie; a jego dusza zostanie zniszczona na wieki. Każdego, kto wejdzie nieczysty do tego grobu, chwycę go za szyję jak ptaka, będzie za to osądzony przez wielkiego boga.

Nie martw się, egiptologom nie zagrażają te przekleństwa. Nie wchodzą do grobowców, aby zranić, ale aby zrekonstruować, zachować i poznać właścicieli oraz ich historię i kulturę. Dla starożytnych Egipcjan powtarzanie imienia zapewniało przedłużone życie pozagrobowe. Poprzez badanie grobowców i publikację wyników egiptolodzy wskrzeszają właścicieli grobowców – czego pragnęli wszystkie te tysiące lat temu. Oczywiście trwa debata na temat tego, czy umieszczanie mumii w muzeach (w sklepie lub na wystawie) jest właściwe. Jestem pewien, że starożytni Egipcjanie nie byliby zbytnio zainteresowani dzisiejszymi krzykliwymi wystawami. Gdyby jednak współcześni egiptolodzy nie wykopali grobów, historia, imiona i życie starożytnego Egipcjanina zostałyby stracone na wieczność – zapomnienie, którego obawiają się wszyscy starożytni Egipcjanie. Muzeum może nie jest zmartwychwstaniem, jakiego pragnęli, ale jest swego rodzaju zmartwychwstaniem i życiem wiecznym.

Chatbot z Pytonem : Streszczenie

https://szkolazpieklarodem.pl/

Dowiedzieliśmy się, jak wdrożyć własną aplikację na naszych serwerach za pomocą Heroku. Dowiedzieliśmy się, jak zintegrować naszego chatbota z Facebookiem, korzystając z platformy deweloperskiej Facebooka. Nauczyliśmy się także tworzyć niestandardowego chatbota dla aplikacji Slack i również go przetestowaliśmy. Wreszcie, zgodnie z obietnicą , usuwając wszystkie zależności z dowolnej platformy mediów społecznościowych, stworzyliśmy własny interfejs użytkownika, wdrożyliśmy go na Heroku i przetestowaliśmy. Widzieliśmy, że działa to jak urok — działało podczas treningu. Ponieważ mamy już podstawowy model, który działa i działa, możesz poradzić sobie z przypadkami, w których chatbot nie działa dobrze. Określ, czy jest to problem związany z danymi lub szkoleniem, serwerem akcji lub obsługą niestandardowego kodu. Po znalezieniu problemu głównego napraw go, wdróż ponownie i sprawdź, czy chatbot się poprawia. Tworzymy duże oprogramowanie, zaczynając od małych rzeczy.

Per-āa : Ceremonia Otwarcia Ust

https://szkolazpieklarodem.pl/

Ba i ka zostali zjednoczeni w życiu pozagrobowym poprzez ceremonię otwarcia ust. Ten rytuał pomumifikacyjny zapewniał, że ka może widzieć, słyszeć, wąchać, oddychać i jeść – wszystkie czynności niezbędne do życia. Z nieznanych powodów ba nie wydawał się potrzebować tych ziemskich funkcji; kiedy ba był zjednoczony z ka przez dłuższy czas, był odżywiany. Kapłan sem (kapłan pogrzebowy) trzymał ceremonialny topór (narzędzie ręczne przypominające siekierę) przy ustach mumii, które, jak wierzono, otwierały drogi oddechowe. Następnie kapłan sem odmawiał modlitwy i namaszczał mumię olejkami. Starożytni Egipcjanie uważali tę ceremonię za tak ważną, że czasami umieszczali na trumnie obrazy garnków i dzbanów używanych w rytuale (przykłady pojawiają się we wnętrzu niektórych trumien Średniego Państwa na końcu głowy) na wypadek, gdyby rytuał nie został ukończony prawidłowo i jako środek zapewniający, że instrumenty do tej ważnej ceremonii były blisko ciała, zwiększając w ten sposób efekty rytuału. Udane połączenie ba i ka stworzyło kolejny element ciała, akh lub ducha. Zmarły został przemieniony w wieczną istotę światła. Chociaż akh nie był boski, miał cechy wspólne z bóstwami – akh mógł interweniować wśród żywych i rozmawiać z bogami.

Chatbot z Pytonem : Tworzenie interfejsu Chatbota

https://szkolazpieklarodem.pl/

Jak wspomnieliśmy wcześniej, w ramach drugiego kroku musimy mieć własny interfejs użytkownika, który zapewni przyjazne miejsce do rozmowy pomiędzy chatbotem a użytkownikiem. Jeśli jesteś programistą front-endowym lub masz go w zespole, możesz łatwo udostępnić interfejsy API chatbota, które zbudowaliśmy do tego momentu, a zespół front-end powinien łatwo zintegrować to ze swoim interfejsem chatbota . Mogą korzystać ze zwykłych wywołań HTTP w celu korzystania z tych interfejsów API. Websockety to lepszy sposób na chatboty, ale wyjaśnianie tego nie jest objęte zakresem tej książki. Jeśli nie znasz technologii front-endowych, takich jak HTML/CSS/Javascript, to polecam Pro HTML5 z CSS, JavaScript i Multimedia (Apress, 2017). Dla wygody naszego czytelnika – lub powinienem powiedzieć: ucznia – stworzyliśmy podstawowy interfejs użytkownika wymagany do chatbota i rozmowy z użytkownikiem. Cały działający kod znajdziesz na githubie lub stronie Apress. Powiem ci tylko, jaka konfiguracja jest potrzebna, aby działała z twoim botem. Po pobraniu kodu do tego rozdziału w głównym folderze znajdziesz folder o nazwie my_own_chatbot. Przejdź do tego folderu i wybierz zasoby -> js -> plik script.js. Zmień następujący wiersz kodu JavaScript na własny adres URL punktu końcowego. Jeśli nazwa Twojej aplikacji była inna, poniższy adres URL będzie inny w Twoim przypadku. Użyj własnego adresu URL z tokenem w kodzie JavaScript, jak pokazano w adresie URL poniżej.

var baseUrl = “https://horoscopebot1212.herokuapp.com/webhooks/rasa/webhook?token=YOUR-SECRET”;

Zapisz plik i otwórz plik Index.html w przeglądarce, a interfejs użytkownika chatbota będzie gotowy. Jednak wykonywanie wywołań API z prostego kodu HTML podawanego lokalnie powoduje problem z CORS. Aby więc uniknąć tej sytuacji, zmienimy nieco nasz istniejący plik myown_ chatbot.py, aby obsługiwał kod HTML z naszej aplikacji Heroku. Zmień plik myown_chatbot.py na poniższy, a następnie omówimy wprowadzone zmiany.

import os

from rasa_core.channels.rasa_chat import RasaChatInput

from rasa_core.channels.channel import CollectingOutputChannel, UserMessage

from rasa_core.agent import Agent

from rasa_core.interpreter import RasaNLUInterpreter

from rasa_core.utils import EndpointConfig

from rasa_core import utils

from flask import render_template, Blueprint, jsonify, request

# load your trained agent

interpreter = RasaNLUInterpreter(“models/nlu/default/horoscopebot/”)

MODEL_PATH = “models/dialogue”

action_endpoint = EndpointConfig(url=”https://horoscopebot1212-actions.

herokuapp.com/webhook”)

agent = Agent.load(MODEL_PATH, interpreter=interpreter, action_endpoint=

action_endpoint)

class MyNewInput(RasaChatInput):

@classmethod

def name(cls):

return “rasa”

def _check_token(self, token):

if token == ‘secret’:

return {‘username’: 1234}

else:

print(“Failed to check token: {}.”.format(token))

return None

def blueprint(self, on_new_message):

templates_folder = os.path.join(os.path.dirname(os.path.abspath(__

file__)), ‘myown_chatbot’)

custom_webhook = Blueprint(‘custom_webhook’, __name__, template_

folder = templates_folder)

@custom_webhook.route(“/”, methods=[‘GET’])

def health():

return jsonify({“status”: “ok”})

@custom_webhook.route(“/chat”, methods=[‘GET’])

def chat():

return render_template(‘index.html’)

@custom_webhook.route(“/webhook”, methods=[‘POST’])

def receive():

sender_id = self._extract_sender(request)

text = self._extract_message(request)

should_use_stream = utils.bool_arg(“stream”, default=False)

if should_use_stream:

return Response(

self.stream_response(on_new_message, text,

sender_id),

content_type=’text/event-stream’)

else:

collector = CollectingOutputChannel()

on_new_message(UserMessage(text, collector, sender_id))

return jsonify(collector.messages)

return custom_webhook

input_channel = MyNewInput(url=’https://horoscopebot1212.herokuapp.com’)

# set serve_forever=False if you want to keep the server running

s = agent.handle_channels([input_channel], int(os.environ.get(‘PORT’,

5004)), serve_forever=True)

Oto zmiany, które wprowadziliśmy:

  • Zastąp istniejącą metodę name i blueprint w naszej klasie, co pozwala nam stworzyć własny punkt końcowy, a także daje nam swobodę definiowania, jak powinien się zachowywać.
  • Stworzyliśmy nowy punkt końcowy/czat i udostępniliśmy plik Index.html, który jest niczym innym jak interfejsem użytkownika chatbota. Będzie to więc link domowy dla naszego chatbota.
  • Aby wszystko działało, musieliśmy zaimportować niektóre niezbędne klasy i metody, takie jak narzędzia, CollectingOutputChannel i UserMessage.

Zapisz plik i ponownie wprowadź zmiany w naszej aplikacji Heroku, używając następujących poleceń:

$ git add .

$ git commit -am “deploy my bot”

$ git push heroku master

Po pomyślnym wdrożeniu — Voila! Mamy naszego bota gotowego do udostępnienia całemu światu, który działa przy użyciu dwóch aplikacji Heroku: jednej do zarządzania dialogami i drugiej do akcji. Otwórz w przeglądarce następujący adres URL, pod którym powinniśmy zobaczyć nasz niestandardowy interfejs chatbota:

https://horoskopbot1212.herokuapp.com/webhooks/rasa/chat

Rysunki  pokazują jak wygląda mój własny chatbot podczas rozmowy.

Korzystając z niestandardowych funkcji nazw domen Heroku, można łatwo wskazać tej samej aplikacji nazwę własnej witryny internetowej, na przykład www.example.com. Zrób to, gdy poczujesz, że Twój chatbot jest na tyle dobry, że można go otworzyć dla całego świata w celach zarobkowych lub non-profit. A więc to wszystko, ludzie! W ten sposób budowane są chatboty w języku Python przy użyciu języka naturalnego.

Przetwarzanie i uczenie maszynowe. Mam nadzieję, że ten rozdział wraz z poprzednimi był dla Ciebie pomocny i nauczyłeś się praktycznego podejścia do nauki i budowania chatbotów.

Per-āa : Zrozumienie egipskiej istoty ludzkości

https://szkolazpieklarodem.pl/

Egipcjanie wierzyli, że człowiek składa się z sześciu elementów lub składników. Po śmierci te elementy spontanicznie się rozdzieliły. Aby odrodzić się pomyślnie, wszystkie sześć elementów zostało ponownie zjednoczonych poprzez rytuały pogrzebowe, modlitwy i ofiary normalnie składane przez kapłanów i żyjących członków rodziny. Sześć elementów było

* ka, czyli siła życiowa, która ożywiała jednostkę – podobnie jak baterie ożywiają zabawkę.

* Ba, który został przedstawiony jako ptak z głową człowieka. Ba reprezentowała osobowość zmarłego.

* Akh, które było imieniem ducha stworzonego przez połączenie ba i ka.

* Imię zmarłego, które żyjący mieli powtórzyć, aby życie wieczne było możliwe.

* Cień, który jest mało znanym aspektem jednostki. Wiąże się to z kultem słonecznym, ponieważ bez słońca nie ma cienia.

* Ciało fizyczne, które uważano za połączenie wszystkich tych elementów duchowych. Ciało fizyczne zostało zachowane w procesie mumifikacji.

Chatbot z Pytonem : Zapisanie pliku procfile i umieszczenie go w Internecie

https://szkolazpieklarodem.pl/

Do tego czasu musisz być już dość zaznajomiony z tworzeniem plików Procfile do wdrożenia Heroku. Ponownie użyjemy naszego istniejącego pliku Procfile i dokonamy w nim modyfikacji, aby wdrożyć naszego chatbota opartego na API w Internecie. Możesz utworzyć nowy plik Procfile po utworzeniu kopii zapasowych istniejących. Oto jak wygląda zawartość mojego pliku Procfile: web: python -m spacy download en && python myown_chatbot.py Gdy już skończysz, po prostu wykonaj kolejny zestaw poleceń, których nauczyliśmy się już podczas wdrażania naszego Facebook Messengera i Slack Bota.

$ git init

$ heroku git:remote -a <your-heroku-app-name>

$ git add .

$ git commit -am “deploy my bot”

$ git push heroku master

Po ostatnim poleceniu otrzymasz logi z Heroku dotyczące wersji wdrożenia, zmian wprowadzonych w aplikacji itp.

Weryfikacja interfejsów API Chatbota

Po otrzymaniu pomyślnej wiadomości o wdrożeniu przetestujmy, czy nasze interfejsy API chatbota działają, czy nie. Aby szybko przeprowadzić test poprawności, kliknij następujący adres URL:

<your-basic-app-url>+/webhooks/rasa/

Przykład:

https://horoskopbot1212.herokuapp.com/webhooks/rasa/

Otwarcie tego adresu URL w przeglądarce powinno dać odpowiedź podobną do poniższej. Jeśli otrzymasz status „OK”, możesz zaczynać — po prostu zrelaksuj się, usiądź wygodnie i debuguj. {“status”:”ok”} Czasami sama weryfikacja może nie wystarczyć, dlatego przetestujmy ją w praktyce, próbując sprawdzić, czy chatbot działa, identyfikując intencje i na tej podstawie udzielając odpowiedzi. Będę używać narzędzia POSTMAN (POSTMAN to bardzo ładne narzędzie oparte na GUI do testowania API). Możesz użyć dowolnego narzędzia, z którym czujesz się komfortowo. Przetestujemy tylko jedną z intencji, którą nasz chatbot ma rozumieć i na którą ma reagować. Przetestowałem intencję powitań i zadziałało jak urok. Bot wrócił z oczekiwaną odpowiedzią, jak pokazano na rysunku

Per-āa : Odkrywanie wierzeń pogrzebowych i mumifikacji

https://szkolazpieklarodem.pl/

Wskrzeszanie zmarłych

Większość informacji ze starożytnego Egiptu pochodzi z kontekstu pogrzebowego, co sprawia wrażenie, że Egipcjanie mieli obsesję na punkcie śmierci i spędzali większość swojego czasu i bogactwa przygotowując się do swoich ziemskich celów. W rzeczywistości starożytni Egipcjanie mieli obsesję na punkcie życia i chcieli żyć wiecznie. Chociaż każda osoba bez wątpienia miała swoje własne przekonania, dowody ogólnie sugerują, że starożytni Egipcjanie wierzyli, że staranne przygotowanie umożliwiło im uczynienie ich życia po śmierci bardziej pomyślnym niż wcześniej. W rzeczywistości wierzyli, że życie pozagrobowe (przynajmniej dla zwykłych Egipcjan) było doskonałą repliką Egiptu, znaną jako Pole Trzcin. Pole Trzcin w dużym stopniu opierało się na cyklu słonecznym, a niektórzy wierzyli, że zmarli leżą w pierwotnej ciemności, dopóki bóg słońca nie rozpoczął swojej nocnej podróży w zaświaty. Chociaż krajobraz ten obfitował w wodę i roślinność, dostarczanie dóbr pogrzebowych, żywności i wyszukanych grobowców zapewniało zmarłemu nieprzerwane szczęście po śmierci. Ten rozdział zagłębia się w jeden z najczęściej dyskutowanych (i często błędnie rozumianych) aspektów życia starożytnego Egiptu – przygotowanie i grzebanie zmarłych poprzez fizyczny i duchowy proces mumifikacji.

Chatbot z Pytonem : Napisanie skryptu dla własnego kanału chatbota

https://szkolazpieklarodem.pl/

Ten skrypt jest podobny do tego, czego nauczyliśmy się i napisaliśmy do tej pory, ale wymaga zastąpienia niektórych istniejących metod rasa_core, abyśmy mogli zdefiniować własną regułę uwierzytelniania API. W poniższym kodzie wykonałem podstawowe sprawdzenie ciągu w celu weryfikacji tokena. Nie jest to zalecane w przypadku systemów na poziomie produkcyjnym, więc pamiętaj, aby napisać tę część ostrożnie, jeśli budujesz chatbota dla większych systemów. Utwórz nowy plik o nazwie myown_chatbot.py i dodaj do niego następującą zawartość:

import os

from rasa_core.channels.rasa_chat import RasaChatInput

from rasa_core.agent import Agent

from rasa_core.interpreter import RasaNLUInterpreter

from rasa_core.utils import EndpointConfig

# load your trained agent

interpreter = RasaNLUInterpreter(“models/nlu/default/horoscopebot/”)

MODEL_PATH = “models/dialogue”

action_endpoint = EndpointConfig(url=”https://horoscopebot1212-actions.

herokuapp.com/webhook”)

agent = Agent.load(MODEL_PATH, interpreter=interpreter, action_endpoint=

action_endpoint)

class MyNewInput(RasaChatInput):

def _check_token(self, token):

if token == ‘mysecret’:

return {‘username’: 1234}

else:

print(“Failed to check token: {}.”.format(token))

return None

input_channel = MyNewInput(url=’https://horoscopebot1212.herokuapp.com’)

# set serve_forever=False if you want to keep the server running

s = agent.handle_channels([input_channel], int(os.environ.get(‘PORT’,

5004)), serve_forever=True)

Należy tutaj zwrócić uwagę na kilka punktów:

  • Metoda _check_token w rasa_core zasadniczo wygląda jak poniżej i powoduje wywołanie API w celu pobrania obiektu użytkownika. Wykonuje to przede wszystkim zadanie uwierzytelniania/uwierzytelniania na poziomie użytkownika. We wcześniejszej zastąpionej metodzie uproszczono jej działanie i zrozumieliśmy jej użycie.

def _check_token(self, token):

url = “{}/users/me”.format(self.base_url)

headers = {“Authorization”: token}

logger.debug(“Requesting user information from auth server {}.”

“”.format(url))

result = requests.get(url,

headers=headers,

timeout=DEFAULT_REQUEST_TIMEOUT)

if result.status_code == 200:

return result.json()

else:

logger.info(“Failed to check token: {}. “

“Content: {}”.format(token, request.data))

return None

  • Użycie własnej metody _check_token Rasy może wymagać napisania jednego interfejsu API lub usługi internetowej, która zaakceptuje żądanie i zwróci odpowiedź w określony sposób.
  • Pamiętaj o zmianie punktu końcowego serwera akcji na własny adres URL.

• Pamiętaj, że ciąg mysecret w kodzie zostanie później użyty do wywołań API.

Per-āa : Listy do zmarłych

https://szkolazpieklarodem.pl/

Naczynia garncarskie w wielu egipskich grobowcach mają na środku wypisany list. Te listy do zmarłych pisała pozostała rodzina i prosiła o pomoc w różnych sprawach. Rodziny pisały listy na misce, którą następnie napełniano smaczną przekąską, więc kiedy zmarły zjadł przekąskę i zobaczył list, musiały zrobić to, o co prosili, ponieważ już przyjęli łapówkę. Sprytne, co? Szczególnie interesujący jest jeden list tego typu, napisany na papirusie:

Do zdolnego ducha Ankhiry. Jakie zło ci wyrządziłem, że wylądowałem w tym nieszczęsnym stanie, w jakim się znajduję? Co ja ci zrobiłem? To, co zrobiłeś, to położyłeś na mnie ręce, chociaż nie zrobiłem ci nic złego. Co ci zrobiłem, odkąd mieszkałem z tobą jako twój mąż, aż do dnia [twojej śmierci], że muszę to ukryć? Co tam jest teraz? To, co osiągnąłeś, to to, że muszę wnieść to oskarżenie przeciwko tobie. Co ja ci zrobiłem? Złożę skargę przeciwko tobie do Ennead na Zachodzie [sądu Bożego w zaświatach] i na podstawie tego listu będzie można rozstrzygać między tobą a mną. . . Co ja ci zrobiłem? Uczyniłem cię moją żoną, kiedy byłem młodym mężczyzną. Byłem z tobą, kiedy piastowałem różne urzędy. Zostałem z tobą, nie odesłałem cię. . . „Ona zawsze była ze mną” – pomyślałem. . . I widzisz, teraz nawet mnie nie pocieszasz. Będę sądzony z wami, a prawdę od fałszu można odróżnić. Spójrz, kiedy szkoliłem oficerów armii faraona i jego rydwanów, pozwalam im leżeć na brzuchu przed wami. Nigdy przez całe twoje życie niczego przed tobą nie ukrywałem. Nigdy nie pozwoliłem abyś cierpiał, ale zawsze zachowywałem się wobec ciebie jak dżentelmen. Nigdy nie zorientowałeś się, że byłem wobec ciebie niegrzeczny, jak gdy do kogoś wchodzi wieśniak do domu innego. Nigdy nie zachowywałem się tak, żeby mężczyzna mógł mnie zganić za wszystko, co ci zrobiłem. . . Wysyłam ten list, aby poinformować Cię co ty robisz. Kiedy zacząłeś cierpieć na chorobę, którą miałeś, pozwoliłem przyjechać naczelnemu lekarzowi, który leczył cię i robił wszystko, o co go prosiłeś. Kiedy podążałem za faraonem, podróżując na południe i ten stan przyszedł do ciebie, spędziłem nie mniej niż osiem miesięcy bez jedzenia i picia, jak powinien robić człowiek. I jak tylko ja dotarłem do Memfis, poprosiłem faraona o pozwolenie i poszedłem na miejsce, w którym byłeś, i płakałem intensywnie, wraz z moim ludem, na oczach całej mojej okolicy. Podarowałam cienką bieliznę, aby cię owinąć, pozwoliłam uszyć wiele ubrań i nie pominęłam niczego dobrego, co można by dla ciebie zrobić. I widzisz, do tej pory minęło trzy lata jak mieszkasz samotnie, nie wchodząc do żadnego domu, chociaż to niesprawiedliwe, żeby ktoś taki jak ja był do tego zmuszany. Ale zrobiłem to dla was, którzy nie odróżniacie dobra od zła. Między tobą a mną będzie rozstrzygać. A potem: siostry w domu, do żadnej z nich nie weszłam.

Wydaje się, że ostatnia linijka została napisana po namyśle, ponieważ nie łączy się z resztą listu – ale w rzeczywistości stanowi sedno listu. Autor cierpi z powodu smutku połączonego z poczuciem winy, które, jak sądzi, jest spowodowane przez jego żonę, podczas gdy prawdopodobnie jest to jego sprawa z kobietami w domu! Najwyraźniej czuje, że jego pierwsza żona go nie pochwala i karze.