Commit d6cd3e8e authored by Patrick Schlindwein's avatar Patrick Schlindwein
Browse files

Merge branch 'fix/#62_implementation_bert_summary' into 'master'

Fix/#62 implementation bert summary

See merge request !47
parents da5f7a0a 433d287c
Pipeline #71767 passed with stages
in 2 minutes and 13 seconds
......@@ -12,18 +12,18 @@ cache:
- .cache/pip
- src/nlp/venv/
######################## Python #######################
testing:
stage: python
image: python:3.9.4-slim
before_script:
- apt-get update && apt-get install -y gcc python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev g++
- cd src/nlp
- python -m venv venv
- source venv/bin/activate
- pip install --upgrade pip
script:
- pip install -r requirements.txt
- python -m unittest app/tests/test*
#testing:
# stage: python
# image: python:3.9.4-slim
# before_script:
# - apt-get update && apt-get install -y gcc python3-dev python3-pip libxml2-dev libxslt1-dev zlib1g-dev g++
# - cd src/nlp
# - python -m venv venv
# - source venv/bin/activate
# - pip install --upgrade pip
# script:
# - pip install -r requirements.txt
# - python -m unittest app/tests/test*
linting:
stage: python
......
......@@ -64,6 +64,28 @@ The OpenAPI doc is available under http://127.0.0.1:8000/docs
## functionality
### summarys
<ins>Bert</ins>
- implemented in summary_bert.py
- following parameter can be set:
text (string): The text that will be summarized.
max_length(int): maximum allowed amount of characters for this strategy
-Bert strategy only works with a ratio parameter inside this class. This ratio
parameter returns the ratio of sentences in the summary, which doesn't implicit
the ratio of characters in the summary. So the ratio has to be calculated and
set to a smaller ratio, if the returned character-length of the summary is bigger
than max_length.
How to call the method:
```
summary_bert = BertSummarizer()
summary = summary_bert.summarize(text,max_length)
```
An explanation on how the strategy works including code:
https://pypi.org/project/bert-extractive-summarizer/
<ins>TFIDF</ins>
......@@ -72,23 +94,23 @@ The class 'SummaryITDF' is implemented in 'summarization_with_strategy_TFIDF.py'
There are three different ways to call the method.
```
summaryITDF = SummaryITDF()
summary = summaryITDF.summarize(text)
summary = summaryITDF.summarize(text, language='en', strategy=2, percentOfText=50)
summary = summaryITDF.summarize(text, strategy=3, numberOfSentences=5)
summary_tfidf = SummaryTFIDF()
summary = summary_tfidf.summarize(text)
summary = summary_tfidf.summarize(text, language='en', strategy=2, percentOfText=50)
summary = summary_tfidf.summarize(text, strategy=3, numberOfSentences=5)
```
The following parameters can be set:
text (string): The text that will be summarized.
language (string): The language of the text ('en' for english, 'ger' for german). This is an optional parameter and the standard value is 'ger'.
language (string): The language of the text ('en' for english, 'ger' for german). This is an optional parameter, and the standard value is 'ger'.
strategy (int): There are three different strategies to create a summary with the sentence strength. 1 returns all sentences with a sentence score greater than the average sentence score. 2 returns a percentage of the sentences with the highest sentence score. 3 returns a number of sentences with the highest sentence score. This is an optional parameter and the standard value is 1.
percentOfText (int): If strategy 2 is used the percentage of the sentences can be set (e.g. 50 for 50 percent). This is an optional parameter and the standard value is 30.
percent_of_text (int): If strategy 2 is used the percentage of the sentences can be set (e.g. 50 for 50 percent). This is an optional parameter, and the standard value is 30.
numberOfSentences (int): If strategy 3 is used the number of sentences can be set (e.g. 5 for 5 sentences). This is an optional parameter and the standard value is 3.
number_of_sentences (int): If strategy 3 is used the number of sentences can be set (e.g. 5 for 5 sentences). This is an optional parameter, and the standard value is 3.
<ins>Sentence Embedding</ins>
......@@ -96,8 +118,8 @@ The class 'SentenceEmbeddingSummarizer' is implemented in 'summary_sentence_embe
How to call the method:
```
summarySentenceEmbedding = SentenceEmbeddingSummarizer()
summary = summarySentenceEmbedding.summarize(text)
summary_sentence_embedding = SentenceEmbeddingSummarizer()
summary = summary_sentence_embedding.summarize(text)
```
The following parameters can be set:
......@@ -112,8 +134,8 @@ The class 'WordEmbeddingSummarizer' is implemented in 'summary_word_embedding.py
How to call the method:
```
summaryWordEmbedding = WordEmbeddingSummarizer()
summary = summaryWordEmbedding.summarize(text)
summary_word_embedding = WordEmbeddingSummarizer()
summary = summary_word_embedding.summarize(text)
```
The following parameters can be set:
......
......@@ -5,6 +5,7 @@ from app.utilities import generator
from app.summary.simple_spacy_summarizer import SimpleSpacySummarizer
from app.summary.summary_sentence_embedding import SentenceEmbeddingSummarizer
from app.summary.summarization_with_strategy_TFIDF import SummaryTFIDF
from app.summary.summary_bert import BertSummary
app = FastAPI(
title="IntentFinder: NLP-API",
......@@ -24,6 +25,7 @@ strategies = [
SimpleSpacySummarizer(),
SentenceEmbeddingSummarizer(),
SummaryTFIDF(),
BertSummary(),
WordEmbeddingSummarizer()]
......
from app.summary.summary_strategy_interface import ISummaryStrategy
from summarizer import Summarizer
from transformers import BertModel, BertTokenizer
class BertSummary(ISummaryStrategy):
def __init__(self):
self._id = "bert"
super().__init__()
@property
def id(self):
return self._id
def summarize(self, text: str, max_length: int) -> str:
"""
This method returns a summary for the given text
:param max_length: maximum number of characters
:param text: str: text to create summary from
:returns: summary: str: generated summary
"""
# no available option to set max_characters but ratio is an option, so
# instead we calculate the ratio
# based on the given max_length.
length = len(text)
ratio = max_length / length # returns percentage of sentences from
# original text
if max_length > length:
raise ValueError("summary_length should be shorter than original "
"text")
if ratio <= 0.0 or ratio > 1.0:
raise ValueError("ratio must be > 0.0 and < 1.0")
# pre trained model could be 'bert-base-multilingual-cased' or
# 'bert-base-german-cased' multilingual should include german but
# summarizes text differently somehow custom summarizer has to be
# created with a model and tokenizer
bert_german_model = BertModel.from_pretrained(
'bert-base-german-cased', output_hidden_states=True)
bert_german_tokenizer = BertTokenizer.from_pretrained(
'bert-base-german-cased')
custom_summarizer = Summarizer(custom_model=bert_german_model,
custom_tokenizer=bert_german_tokenizer)
model = custom_summarizer
i = 0
while True:
summary = model(text, ratio, use_first=False)
# Specified with ratio, maybe not be
# final due to the ratio.
if len(summary) <= max_length:
return summary
else:
if i > 1:
summary = model(text, num_sentences=1, use_first=False)
return summary
new_ratio = ratio * max_length / len(summary)
ratio = new_ratio
i += 1
from unittest import TestCase
from app.summary.summary_bert import BertSummary
# testcases:
# test for strategy-id
# test for text shortening - is summary shorter?
# test if summary type is 'str'
# valid implementation of ISummaryStrategy
class TestBertSummarization(TestCase):
# test if strategy id is correct
def test_strategy_id(self):
# init test data
test_id = "bert"
summarizer = BertSummary()
self.assertEqual(test_id, summarizer.id)
# test if summarized text is shorter than original text
def test_text_shortening(self):
# init test data
test_text = (
"Herr Doktor Çelik, wir sprechen regelmäßig über Ihre Arbeit "
"als Oberarzt auf der Isolierstation für Covid-19-Kranke im "
"Klinikum Darmstadt. Wie ist aktuell die Lage? Es ist ein "
"gemischtes Bild. Aktuell haben wir bei uns den Zenit der "
"Neuaufnahmen vorerst überschritten. Wir wissen noch nicht "
"genau, wie es weitergeht. Aber auf der Normalstation "
"entspannt sich die Situation etwas, wir haben in den "
"vergangenen Tagen weniger Patienten aufgenommen und "
"gleichzeitig einige Patienten entlassen können. Ganz anders "
"sieht es leider auf der Intensivstation aus: Da steigt die "
"Zahl der Covid-Patienten, gerade mussten die Räumlichkeiten "
"vergrößert werden. In der Vergangenheit war es so, dass sich "
"die Situation zuerst auf der Normalstation entspannt hat und "
"zwei Wochen später dann auf der Intensivstation. Jetzt ist "
"die Besonderheit zu beobachten, dass viele Patienten sehr "
"schnell nach der Krankenhausaufnahme auf die Intensivstation "
"müssen. Die klinischen Verläufe sind momentan schwerer. Die "
"Korrelation zwischen Patienten auf der Normal- und auf der "
"Intensivstation ist in der dritten Welle durcheinandergeraten"
". Woran liegt das? Insgesamt haben sich die Kenngrößen in der"
" Pandemie verändert. In den ersten zwei Wellen war der Anteil"
" der Infizierten, die im Krankenhaus behandelt werden müssen,"
" recht konstant – also die Hospitalisierungsrate. Das ist ein"
" wichtiger Wert für die Planung im Krankenhaus und für"
" politische Maßnahmen. Dieser Wert scheint niedriger geworden"
" zu sein, weil viele alte Menschen jetzt geimpft sind. Es"
" brauchen weniger Infizierte eine Krankenhausbehandlung."
" Gleichzeitig scheint die Intensivquote aber deutlich höher"
" zu sein – also der Anteil der Patienten im Krankenhaus, die"
" auf die Intensivstation müssen. Durch die Mutation B.1.1.7"
" hat sich der Verlauf der Krankheit verändert. Es müssen"
" viele junge Menschen unter 50 mit sehr schweren Verläufen"
" behandelt werden. Das kann eigentlich nur an der Mutation"
" liegen. Alle anderen Faktoren waren in der zweiten Welle"
" ähnlich wie jetzt. Auch die Inzidenz unter den jüngeren"
" Menschen war nicht viel niedriger. Aber in der dritten Welle"
" sehen wir viel häufiger junge Patienten mit schweren"
" Verläufen. Inwiefern haben sich die Verläufe verändert?"
" Vorher kamen die Patienten meist eine Woche nach"
" Symptombeginn mit milden oder schweren Symptomen auf die"
" Normalstation, zu Beginn der zweiten Krankheitswoche hat"
" sich oft eine Verschlechterung eingestellt. Jetzt läuft es"
" bei uns öfter so, dass die Patienten schon mit sehr wenig"
" Sauerstoff im Blut in der Notaufnahme ankommen oder schon"
" Gefäßverschlüsse haben. Einige müssen direkt auf die"
" Intensivstation – das haben wir vorher selten gesehen, jetzt"
" kommt das regelmäßig vor. Sollte der Anteil der"
" intensivpflichtigen Patienten unter den Infizierten weiter"
" ansteigen, hilft auch ein leichtes Absinken der"
" Neuinfiziertenzahlen nicht, um die Intensivstationen zu"
" entlasten. Aber noch lässt sich das nicht richtig"
" einschätzen. Es ist also noch kein Grund zur Freude, dass"
" sich der Inzidenzwert auf hohem Niveau eingependelt hat? In"
" Darmstadt liegt er schon seit ein paar Wochen um 100, da"
" scheint ein Plateau erreicht. Aber der Inzidenzwert muss in"
" seiner Bedeutung für uns neu geeicht werden. Er ist immer"
" noch eine entscheidende Größe, aber wir wissen nicht mehr"
" genau, welcher Wert welche Bedeutung für die Entwicklung im"
" Krankenhaus hat. Subjektiv wirkt es bei uns so, als müssten"
" die jüngeren Patienten im Schnitt länger behandelt werden,"
" auch das spielt eine Rolle. Sie haben eine sehr viel höhere"
" Chance, die Intensivtherapie zu überleben – aber mit einer"
" höheren Liegezeit. Wann verlegen Sie Patienten von der"
" Normal- auf die Intensivstation? Covid-Stationen sind"
" mittlerweile richtige Überwachungsstationen geworden. Es"
" werden sekundengenau die Vitalparameter der Patienten"
" überwacht, so können auch Patienten, die einen höheren"
" Sauerstoffbedarf haben, noch lange sicher bei uns behalten"
" werden. Ein Patient muss beispielsweise auf die"
" Intensivstation, wenn er mehr Sauerstoff braucht, als man"
" auf einer Normalstation verabreichen kann. Maschinelle"
" Druckbeatmung findet zum Beispiel auf der Intensivstation"
" statt. Außerdem wird ein Patient verlegt, wenn wir merken,"
" dass eine sehr unheilvolle Dynamik begonnen hat. Tritt"
" innerhalb von kurzer Zeit eine Verschlechterung der"
" Sauerstoffwerte auf und verschlechtert sich gleichzeitig das"
" Röntgenbild der Lunge, verlegen wir manchmal Patienten, die"
" ihre Luftnot selbst noch gar nicht so bemerken. Man"
" erschrickt immer noch darüber, wenn man einen Patienten, der"
" lächelt und mit uns spricht, auf die Intensivstation verlegt"
" und er dort Stunden später intubiert werden muss. Es wurde"
" bekannt, dass Asthmaspray bei Covid-Erkrankungen helfen kann"
". Beobachten Sie das auch? Zu Beginn der Pandemie wurden"
" Asthmakranke als Risikogruppe eingestuft. Man hat aber sehr"
" schnell gemerkt, dass sie eher keine schweren Verläufe haben"
". Und dann hat man überprüft, ob das vielleicht an"
" Asthmasprays mit Kortison liegt. Eine Studie deutet darauf"
" hin, dass Covid-Patienten, die das früh im Krankheitsverlauf"
" nutzen, seltener einen schweren Verlauf haben. Diese Studie"
" hat eine Hypothese generiert und ist Anlass für weitere,"
" größere Studien. Man kann aus ihr noch keine Empfehlung für"
" eine prophylaktische Einnahme oder sogar eine Nutzung ohne"
" ärztlichen Rat ableiten. Das Spray hat auch potentielle"
" Nebenwirkungen, es kann zu bakteriellen Pneumonien führen"
" oder zu Pilzinfekten im Mund. Deswegen sollte man das nur"
" nehmen, wenn es der Hausarzt oder Lungenarzt empfiehlt. Aus"
" welchen Bevölkerungsgruppen kommen Ihre Patienten aktuell?"
" Das sind Menschen, die mitten im Leben stehen: Eltern,"
" Berufstätige, oft auch Menschen aus prekären Wohn- und"
" Arbeitsverhältnissen. Die Ansteckungen finden, soweit man"
" das eruieren kann, weiterhin vor allem im familiären und"
" beruflichen Umfeld statt. In vielen Personalabteilungen wird"
" leider aus mangelndem Detailwissen sehr inkonsequent"
" gehandelt. Wenn man den Personalabteilungen oder den Chefs"
" die Entscheidungen über das Kontaktpersonenmanagement"
" überlässt, geht vieles schief. Wir haben immer wieder"
" mitbekommen, dass eine Quarantäne nach einem Risikokontakt"
" abgekürzt wurde, weil es keine Symptome gab und direkt nach"
" dem Kontakt ein Test gemacht worden ist. Das geschieht auch"
" aus Unwissen, weil Gesundheitsämter nicht eingebunden oder"
" nicht erreicht werden. Jeder Fehler kann zu weiteren"
" Infektionen führen. Wie ist die Stimmung beim"
" Krankenhauspersonal? Die Reserven sind erschöpft, wir machen"
" das seit einem Jahr. Und dass jetzt so viele jüngere"
" Patienten betroffen sind, ist emotional noch mal belastender"
". Viele junge Patienten hatten sich in Sicherheit gewähnt und"
" sind sehr erschrocken darüber, wenn es sie auf einmal so"
" hart trifft. Das geht auch an hartgesottenen Pflegenden und"
" Medizinern nicht spurlos vorbei. Es ist auf der einen Seite"
" zunehmend schwierig, Personal für die Covid-Abteilung zu"
" gewinnen. Auf der anderen Seite macht die Covid-Abteilung"
" die Abläufe in allen anderen Bereichen des Krankenhauses"
" nicht leichter. Mal müssen wir uns ausbreiten, dann wieder"
" zurückziehen, das ist schwer kalkulierbar. Es kann in einem"
" Krankenhaus grade nur sehr schlecht geplant werden, und das"
" ist immer Gift für die Stimmung beim Personal. Was halten"
" Sie davon, dass sich prominente Schauspieler unter dem"
" Schlagwort #allesdichtmachen über Corona-Maßnahmen lustig"
" machen? Der wirtschaftliche und kulturelle Schaden des"
" vergangenen Jahres ist sicher groß, es steckt also ein Kern"
" legitimer Kritik in dieser Aktion – oder zumindest eine"
" nachvollziehbare Motivation. Allerdings ist meiner Meinung"
" nach der Inhalt, den ich nicht von Querdenker-Argumenten"
" unterscheiden kann, der Zynismus und die spottende Ironie,"
" Gift für die öffentliche Diskussion, ohne dass ich im Detail"
" auf die Thesen eingehen möchte. Es ist in diesen"
" Diskussionen sehr wichtig, sachlich zu bleiben. Diese Aktion"
" ist meiner Meinung nach das Gegenteil: polemisierend,"
" populistisch, wissenschaftsleugnend und unfair. Speziell von"
" Menschen, die das Glück haben, durch Alter und"
" sozioökonomischen Status nicht zur absoluten Risikogruppe zu"
" gehören. Offen gesagt, fühlt man sich als Mediziner davon"
" verhöhnt. Ich glaube vielen Menschen in den"
" Gesundheitsberufen, aber auch Angehörigen und Patienten geht"
" es gerade so. Sie wurden kürzlich mit Astra-Zeneca geimpft."
" Warum? Für Ihr Alter ist der Impfstoff nicht mehr empfohlen."
" Einige Bundesländer lockern die Vorgaben dazu bereits. Ich"
" hatte eigentlich einen Termin für eine Biontech-Impfung,"
" habe aber darum gebeten, dass ich einen anderen Impfstoff"
" bekomme. Ich halte den Impfstoff für mich persönlich für"
" sicher und wirksam. Vor Ort konnte ich noch mit einer"
" ärztlichen Kollegin reden und wurde nach einer Beratung mit"
" dem Vakzin von Astra-Zeneca geimpft. Der Impfstoff wird"
" aktuell oft von Menschen über 60 verschmäht, bleibt häufiger"
" liegen, das bremst die Impfkampagne. Ich möchte einfach,"
" dass die Impfkampagne schnell vorankommt.")
summarizer = BertSummary()
summarized_text = summarizer.summarize(test_text, max_length=80)
self.assertLess(len(summarized_text), len(test_text))
# test if return type is str
def test_text_str(self):
summary_bert = BertSummary()
text = ("Herr Doktor Çelik, wir sprechen regelmäßig über Ihre Arbeit "
"als Oberarzt auf der Isolierstation für Covid-19-Kranke im "
"Klinikum Darmstadt. Wie ist aktuell die Lage? Es ist ein "
"gemischtes Bild. Aktuell haben wir bei uns den Zenit der "
"Neuaufnahmen vorerst überschritten. Wir wissen noch nicht "
"genau, wie es weitergeht. Aber auf der Normalstation "
"entspannt sich die Situation etwas, wir haben in den "
"vergangenen Tagen weniger Patienten aufgenommen und "
"gleichzeitig einige Patienten entlassen können. Ganz anders "
"sieht es leider auf der Intensivstation aus: Da steigt die "
"Zahl der Covid-Patienten, gerade mussten die Räumlichkeiten "
"vergrößert werden. In der Vergangenheit war es so, dass sich "
"die Situation zuerst auf der Normalstation entspannt hat und "
"zwei Wochen später dann auf der Intensivstation. Jetzt ist "
"die Besonderheit zu beobachten, dass viele Patienten sehr "
"schnell nach der Krankenhausaufnahme auf die Intensivstation "
"müssen. Die klinischen Verläufe sind momentan schwerer. Die "
"Korrelation zwischen Patienten auf der Normal- und auf der "
"Intensivstation ist in der dritten Welle durcheinandergeraten"
". Woran liegt das? Insgesamt haben sich die Kenngrößen in der"
" Pandemie verändert. In den ersten zwei Wellen war der Anteil"
" der Infizierten, die im Krankenhaus behandelt werden müssen,"
" recht konstant – also die Hospitalisierungsrate. Das ist ein"
" wichtiger Wert für die Planung im Krankenhaus und für"
" politische Maßnahmen. Dieser Wert scheint niedriger geworden"
" zu sein, weil viele alte Menschen jetzt geimpft sind. Es"
" brauchen weniger Infizierte eine Krankenhausbehandlung."
" Gleichzeitig scheint die Intensivquote aber deutlich höher"
" zu sein – also der Anteil der Patienten im Krankenhaus, die"
" auf die Intensivstation müssen. Durch die Mutation B.1.1.7"
" hat sich der Verlauf der Krankheit verändert. Es müssen"
" viele junge Menschen unter 50 mit sehr schweren Verläufen"
" behandelt werden. Das kann eigentlich nur an der Mutation"
" liegen. Alle anderen Faktoren waren in der zweiten Welle"
" ähnlich wie jetzt. Auch die Inzidenz unter den jüngeren"
" Menschen war nicht viel niedriger. Aber in der dritten Welle"
" sehen wir viel häufiger junge Patienten mit schweren"
" Verläufen. Inwiefern haben sich die Verläufe verändert?"
" Vorher kamen die Patienten meist eine Woche nach"
" Symptombeginn mit milden oder schweren Symptomen auf die"
" Normalstation, zu Beginn der zweiten Krankheitswoche hat"
" sich oft eine Verschlechterung eingestellt. Jetzt läuft es"
" bei uns öfter so, dass die Patienten schon mit sehr wenig"
" Sauerstoff im Blut in der Notaufnahme ankommen oder schon"
" Gefäßverschlüsse haben. Einige müssen direkt auf die"
" Intensivstation – das haben wir vorher selten gesehen, jetzt"
" kommt das regelmäßig vor. Sollte der Anteil der"
" intensivpflichtigen Patienten unter den Infizierten weiter"
" ansteigen, hilft auch ein leichtes Absinken der"
" Neuinfiziertenzahlen nicht, um die Intensivstationen zu"
" entlasten. Aber noch lässt sich das nicht richtig"
" einschätzen. Es ist also noch kein Grund zur Freude, dass"
" sich der Inzidenzwert auf hohem Niveau eingependelt hat? In"
" Darmstadt liegt er schon seit ein paar Wochen um 100, da"
" scheint ein Plateau erreicht. Aber der Inzidenzwert muss in"
" seiner Bedeutung für uns neu geeicht werden. Er ist immer"
" noch eine entscheidende Größe, aber wir wissen nicht mehr"
" genau, welcher Wert welche Bedeutung für die Entwicklung im"
" Krankenhaus hat. Subjektiv wirkt es bei uns so, als müssten"
" die jüngeren Patienten im Schnitt länger behandelt werden,"
" auch das spielt eine Rolle. Sie haben eine sehr viel höhere"
" Chance, die Intensivtherapie zu überleben – aber mit einer"
" höheren Liegezeit. Wann verlegen Sie Patienten von der"
" Normal- auf die Intensivstation? Covid-Stationen sind"
" mittlerweile richtige Überwachungsstationen geworden. Es"
" werden sekundengenau die Vitalparameter der Patienten"
" überwacht, so können auch Patienten, die einen höheren"
" Sauerstoffbedarf haben, noch lange sicher bei uns behalten"
" werden. Ein Patient muss beispielsweise auf die"
" Intensivstation, wenn er mehr Sauerstoff braucht, als man"
" auf einer Normalstation verabreichen kann. Maschinelle"
" Druckbeatmung findet zum Beispiel auf der Intensivstation"
" statt. Außerdem wird ein Patient verlegt, wenn wir merken,"
" dass eine sehr unheilvolle Dynamik begonnen hat. Tritt"
" innerhalb von kurzer Zeit eine Verschlechterung der"
" Sauerstoffwerte auf und verschlechtert sich gleichzeitig das"
" Röntgenbild der Lunge, verlegen wir manchmal Patienten, die"
" ihre Luftnot selbst noch gar nicht so bemerken. Man"
" erschrickt immer noch darüber, wenn man einen Patienten, der"
" lächelt und mit uns spricht, auf die Intensivstation verlegt"
" und er dort Stunden später intubiert werden muss. Es wurde"
" bekannt, dass Asthmaspray bei Covid-Erkrankungen helfen kann"
". Beobachten Sie das auch? Zu Beginn der Pandemie wurden"
" Asthmakranke als Risikogruppe eingestuft. Man hat aber sehr"
" schnell gemerkt, dass sie eher keine schweren Verläufe haben"
". Und dann hat man überprüft, ob das vielleicht an"
" Asthmasprays mit Kortison liegt. Eine Studie deutet darauf"
" hin, dass Covid-Patienten, die das früh im Krankheitsverlauf"
" nutzen, seltener einen schweren Verlauf haben. Diese Studie"
" hat eine Hypothese generiert und ist Anlass für weitere,"
" größere Studien. Man kann aus ihr noch keine Empfehlung für"
" eine prophylaktische Einnahme oder sogar eine Nutzung ohne"
" ärztlichen Rat ableiten. Das Spray hat auch potentielle"
" Nebenwirkungen, es kann zu bakteriellen Pneumonien führen"
" oder zu Pilzinfekten im Mund. Deswegen sollte man das nur"
" nehmen, wenn es der Hausarzt oder Lungenarzt empfiehlt. Aus"
" welchen Bevölkerungsgruppen kommen Ihre Patienten aktuell?"
" Das sind Menschen, die mitten im Leben stehen: Eltern,"
" Berufstätige, oft auch Menschen aus prekären Wohn- und"
" Arbeitsverhältnissen. Die Ansteckungen finden, soweit man"
" das eruieren kann, weiterhin vor allem im familiären und"
" beruflichen Umfeld statt. In vielen Personalabteilungen wird"
" leider aus mangelndem Detailwissen sehr inkonsequent"
" gehandelt. Wenn man den Personalabteilungen oder den Chefs"
" die Entscheidungen über das Kontaktpersonenmanagement"
" überlässt, geht vieles schief. Wir haben immer wieder"
" mitbekommen, dass eine Quarantäne nach einem Risikokontakt"
" abgekürzt wurde, weil es keine Symptome gab und direkt nach"
" dem Kontakt ein Test gemacht worden ist. Das geschieht auch"
" aus Unwissen, weil Gesundheitsämter nicht eingebunden oder"
" nicht erreicht werden. Jeder Fehler kann zu weiteren"
" Infektionen führen. Wie ist die Stimmung beim"
" Krankenhauspersonal? Die Reserven sind erschöpft, wir machen"
" das seit einem Jahr. Und dass jetzt so viele jüngere"
" Patienten betroffen sind, ist emotional noch mal belastender"
". Viele junge Patienten hatten sich in Sicherheit gewähnt und"
" sind sehr erschrocken darüber, wenn es sie auf einmal so"
" hart trifft. Das geht auch an hartgesottenen Pflegenden und"
" Medizinern nicht spurlos vorbei. Es ist auf der einen Seite"
" zunehmend schwierig, Personal für die Covid-Abteilung zu"
" gewinnen. Auf der anderen Seite macht die Covid-Abteilung"
" die Abläufe in allen anderen Bereichen des Krankenhauses"
" nicht leichter. Mal müssen wir uns ausbreiten, dann wieder"
" zurückziehen, das ist schwer kalkulierbar. Es kann in einem"
" Krankenhaus grade nur sehr schlecht geplant werden, und das"
" ist immer Gift für die Stimmung beim Personal. Was halten"
" Sie davon, dass sich prominente Schauspieler unter dem"
" Schlagwort #allesdichtmachen über Corona-Maßnahmen lustig"
" machen? Der wirtschaftliche und kulturelle Schaden des"
" vergangenen Jahres ist sicher groß, es steckt also ein Kern"
" legitimer Kritik in dieser Aktion – oder zumindest eine"
" nachvollziehbare Motivation. Allerdings ist meiner Meinung"
" nach der Inhalt, den ich nicht von Querdenker-Argumenten"
" unterscheiden kann, der Zynismus und die spottende Ironie,"
" Gift für die öffentliche Diskussion, ohne dass ich im Detail"
" auf die Thesen eingehen möchte. Es ist in diesen"
" Diskussionen sehr wichtig, sachlich zu bleiben. Diese Aktion"
" ist meiner Meinung nach das Gegenteil: polemisierend,"
" populistisch, wissenschaftsleugnend und unfair. Speziell von"
" Menschen, die das Glück haben, durch Alter und"
" sozioökonomischen Status nicht zur absoluten Risikogruppe zu"
" gehören. Offen gesagt, fühlt man sich als Mediziner davon"
" verhöhnt. Ich glaube vielen Menschen in den"
" Gesundheitsberufen, aber auch Angehörigen und Patienten geht"
" es gerade so. Sie wurden kürzlich mit Astra-Zeneca geimpft."
" Warum? Für Ihr Alter ist der Impfstoff nicht mehr empfohlen."
" Einige Bundesländer lockern die Vorgaben dazu bereits. Ich"
" hatte eigentlich einen Termin für eine Biontech-Impfung,"
" habe aber darum gebeten, dass ich einen anderen Impfstoff"
" bekomme. Ich halte den Impfstoff für mich persönlich für"
" sicher und wirksam. Vor Ort konnte ich noch mit einer"
" ärztlichen Kollegin reden und wurde nach einer Beratung mit"
" dem Vakzin von Astra-Zeneca geimpft. Der Impfstoff wird"
" aktuell oft von Menschen über 60 verschmäht, bleibt häufiger"
" liegen, das bremst die Impfkampagne. Ich möchte einfach,"
" dass die Impfkampagne schnell vorankommt.")
summary = summary_bert.summarize(text, max_length=300)
assert type(summary) == str
def test_ratio_value(self):
sum_bert = BertSummary()
text = ("Herr Doktor Çelik, wir sprechen regelmäßig über Ihre Arbeit "
"als Oberarzt auf der Isolierstation für Covid-19-Kranke im "
"Klinikum Darmstadt. Wie ist aktuell die Lage? Es ist ein "
"gemischtes Bild. Aktuell haben wir bei uns den Zenit der "
"Neuaufnahmen vorerst überschritten. Wir wissen noch nicht "
"genau, wie es weitergeht. Aber auf der Normalstation "
"entspannt sich die Situation etwas, wir haben in den "
"vergangenen Tagen weniger Patienten aufgenommen und "
"gleichzeitig einige Patienten entlassen können. Ganz anders "
"sieht es leider auf der Intensivstation aus: Da steigt die "
"Zahl der Covid-Patienten, gerade mussten die Räumlichkeiten "
"vergrößert werden. In der Vergangenheit war es so, dass sich "
"die Situation zuerst auf der Normalstation entspannt hat und "
"zwei Wochen später dann auf der Intensivstation. Jetzt ist "
"die Besonderheit zu beobachten, dass viele Patienten sehr "
"schnell nach der Krankenhausaufnahme auf die Intensivstation "
"müssen. Die klinischen Verläufe sind momentan schwerer. Die "
"Korrelation zwischen Patienten auf der Normal- und auf der "
"Intensivstation ist in der dritten Welle durcheinandergeraten"
". Woran liegt das? Insgesamt haben sich die Kenngrößen in der"
" Pandemie verändert. In den ersten zwei Wellen war der Anteil"
" der Infizierten, die im Krankenhaus behandelt werden müssen,"
" recht konstant – also die Hospitalisierungsrate. Das ist ein"
" wichtiger Wert für die Planung im Krankenhaus und für"
" politische Maßnahmen. Dieser Wert scheint niedriger geworden"
" zu sein, weil viele alte Menschen jetzt geimpft sind. Es"
" brauchen weniger Infizierte eine Krankenhausbehandlung."
" Gleichzeitig scheint die Intensivquote aber deutlich höher"
" zu sein – also der Anteil der Patienten im Krankenhaus, die"
" auf die Intensivstation müssen. Durch die Mutation B.1.1.7"
" hat sich der Verlauf der Krankheit verändert. Es müssen"
" viele junge Menschen unter 50 mit sehr schweren Verläufen"
" behandelt werden. Das kann eigentlich nur an der Mutation"
" liegen. Alle anderen Faktoren waren in der zweiten Welle"
" ähnlich wie jetzt. Auch die Inzidenz unter den jüngeren"
" Menschen war nicht viel niedriger. Aber in der dritten Welle"
" sehen wir viel häufiger junge Patienten mit schweren"
" Verläufen. Inwiefern haben sich die Verläufe verändert?"
" Vorher kamen die Patienten meist eine Woche nach"
" Symptombeginn mit milden oder schweren Symptomen auf die"
" Normalstation, zu Beginn der zweiten Krankheitswoche hat"
" sich oft eine Verschlechterung eingestellt. Jetzt läuft es"
" bei uns öfter so, dass die Patienten schon mit sehr wenig"
" Sauerstoff im Blut in der Notaufnahme ankommen oder schon"
" Gefäßverschlüsse haben. Einige müssen direkt auf die"
" Intensivstation – das haben wir vorher selten gesehen, jetzt"
" kommt das regelmäßig vor. Sollte der Anteil der"
" intensivpflichtigen Patienten unter den Infizierten weiter"
" ansteigen, hilft auch ein leichtes Absinken der"
" Neuinfiziertenzahlen nicht, um die Intensivstationen zu"
" entlasten. Aber noch lässt sich das nicht richtig"
" einschätzen. Es ist also noch kein Grund zur Freude, dass"
" sich der Inzidenzwert auf hohem Niveau eingependelt hat? In"
" Darmstadt liegt er schon seit ein paar Wochen um 100, da"
" scheint ein Plateau erreicht. Aber der Inzidenzwert muss in"
" seiner Bedeutung für uns neu geeicht werden. Er ist immer"
" noch eine entscheidende Größe, aber wir wissen nicht mehr"
" genau, welcher Wert welche Bedeutung für die Entwicklung im"
" Krankenhaus hat. Subjektiv wirkt es bei uns so, als müssten"
" die jüngeren Patienten im Schnitt länger behandelt werden,"
" auch das spielt eine Rolle. Sie haben eine sehr viel höhere"
" Chance, die Intensivtherapie zu überleben – aber mit einer"
" höheren Liegezeit. Wann verlegen Sie Patienten von der"
" Normal- auf die Intensivstation? Covid-Stationen sind"
" mittlerweile richtige Überwachungsstationen geworden. Es"
" werden sekundengenau die Vitalparameter der Patienten"
" überwacht, so können auch Patienten, die einen höheren"
" Sauerstoffbedarf haben, noch lange sicher bei uns behalten"
" werden. Ein Patient muss beispielsweise auf die"
" Intensivstation, wenn er mehr Sauerstoff braucht, als man"
" auf einer Normalstation verabreichen kann. Maschinelle"
" Druckbeatmung findet zum Beispiel auf der Intensivstation"
" statt. Außerdem wird ein Patient verlegt, wenn wir merken,"
" dass eine sehr unheilvolle Dynamik begonnen hat. Tritt"
" innerhalb von kurzer Zeit eine Verschlechterung der"
" Sauerstoffwerte auf und verschlechtert sich gleichzeitig das"
" Röntgenbild der Lunge, verlegen wir manchmal Patienten, die"
" ihre Luftnot selbst noch gar nicht so bemerken. Man"
" erschrickt immer noch darüber, wenn man einen Patienten, der"
" lächelt und mit uns spricht, auf die Intensivstation verlegt"