Skip to content
Snippets Groups Projects
Commit efca37bf authored by Christian Boulanger's avatar Christian Boulanger
Browse files

update notebook description

parent 4f260181
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id:8e0e8a650586c779 tags: %% Cell type:markdown id:8e0e8a650586c779 tags:
## Use GPT-4 to retrieve list of editors ## Create the data for a social netwwork of German Law Journal editors
Since no such data exists, the first aim is to automatically compile a list of the current editors of German-language law journals. The list of journal names is in german-law-journal-network/data/juristische-zeitschriften-lobid-berichtigt.csv . The workflow consists of an automated google search, iterate over the first three search results, and then let an AI (here: ChatGPT) extract the list of editors.
First, try with a fixed journal name
%% Cell type:code id:dc6d6d75ce9e41e1 tags: %% Cell type:code id:dc6d6d75ce9e41e1 tags:
``` python ``` python
from lib.openai import query_openai_api from lib.openai import query_openai_api
from lib.google import run_google_search, download from lib.google import run_google_search, download
journal_name = "Kritische Vierteljahresschrift für Gesetzgebung und Rechtswissenschaft" journal_name = "Kritische Vierteljahresschrift für Gesetzgebung und Rechtswissenschaft"
instruction = f"Finde im folgenden Text die Herausgeber, Redaktion/Schriftleitung und Beirat der Zeitschrift '{journal_name}' und gebe sie im CSV-Format zurück mit den Spalten 'lastname', 'firstname', 'title', 'position', 'affiliation','role'. Die Spalte 'role' enthält entweder 'Herausgeber', 'Redaktion', 'Beirat', 'Schriftleitung' oder ist leer wenn nicht bestimmbar. Wenn keine passenden Informationen verfügbar sind, gebe nur den CSV-Header zurück. Setze alle Werte in den CSV-Spalten in Anführungszeichen." instruction = f"Finde im folgenden Text die Herausgeber, Redaktion/Schriftleitung und Beirat der Zeitschrift '{journal_name}' und gebe sie im CSV-Format zurück mit den Spalten 'lastname', 'firstname', 'title', 'position', 'affiliation','role'. Die Spalte 'role' enthält entweder 'Herausgeber', 'Redaktion', 'Beirat', 'Schriftleitung' oder ist leer wenn nicht bestimmbar. Wenn keine passenden Informationen verfügbar sind, gebe nur den CSV-Header zurück. Setze alle Werte in den CSV-Spalten in Anführungszeichen."
google_query = f'{journal_name} (herausgeber | redaktion | beirat)' google_query = f'{journal_name} (herausgeber | redaktion | beirat)'
urls = run_google_search(google_query, lang="de", exclude=['jstor.org'], num_results=1) urls = run_google_search(google_query, lang="de", exclude=['jstor.org'], num_results=1)
website_data = download(urls[0]) # get the content of the first website found website_data = download(urls[0]) # get the content of the first website found
# compare performance of different GPT models # compare performance of different GPT models
for model in ["gpt-4", "gpt-3.5-turbo-instruct"]: for model in ["gpt-4", "gpt-3.5-turbo-instruct"]:
csv_data = query_openai_api(model, instruction, website_data, max_tokens=2000) csv_data = query_openai_api(model, instruction, website_data, max_tokens=2000)
print(f"\n\n{model}\n---------------\n") print(f"\n\n{model}\n---------------\n")
print(csv_data) print(csv_data)
``` ```
%% Output %% Output
gpt-4 gpt-4
--------------- ---------------
"lastname","firstname","title","position","affiliation","role" "lastname","firstname","title","position","affiliation","role"
"Albrecht","Peter-Alexis","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Albrecht","Peter-Alexis","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Braum","Stefan","Prof. Dr.","Herausgeber und Redaktionsmitglied","Universität Luxemburg","Herausgeber" "Braum","Stefan","Prof. Dr.","Herausgeber und Redaktionsmitglied","Universität Luxemburg","Herausgeber"
"Braum","Stefan","Prof. Dr.","Herausgeber und Redaktionsmitglied","Universität Luxemburg","Redaktion" "Braum","Stefan","Prof. Dr.","Herausgeber und Redaktionsmitglied","Universität Luxemburg","Redaktion"
"Broemel","Roland","Prof. Dr.","Herausgeber und Redaktionsmitglied","Goethe-Universität Frankfurt am Main","Herausgeber" "Broemel","Roland","Prof. Dr.","Herausgeber und Redaktionsmitglied","Goethe-Universität Frankfurt am Main","Herausgeber"
"Broemel","Roland","Prof. Dr.","Herausgeber und Redaktionsmitglied","Goethe-Universität Frankfurt am Main","Redaktion" "Broemel","Roland","Prof. Dr.","Herausgeber und Redaktionsmitglied","Goethe-Universität Frankfurt am Main","Redaktion"
"Duve","Thomas","Prof. Dr.","Herausgeber","Max-Planck-Institut für europäische Rechtsgeschichte, Frankfurt am Main","Herausgeber" "Duve","Thomas","Prof. Dr.","Herausgeber","Max-Planck-Institut für europäische Rechtsgeschichte, Frankfurt am Main","Herausgeber"
"Günther","Klaus","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Günther","Klaus","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Jaeger","Marc","","Herausgeber","Präsident des Gerichts der Europäischen Union (2007-2019), Luxembourg","Herausgeber" "Jaeger","Marc","","Herausgeber","Präsident des Gerichts der Europäischen Union (2007-2019), Luxembourg","Herausgeber"
"Lamanda","Vincent","","Herausgeber","Président de la Cour de Cassation (2007-2014), Paris","Herausgeber" "Lamanda","Vincent","","Herausgeber","Président de la Cour de Cassation (2007-2014), Paris","Herausgeber"
"Pfeifer","Guido","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Pfeifer","Guido","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Spielmann","Dean","","Herausgeber","Richter am Gericht der Europäischen Union (EuG)","Herausgeber" "Spielmann","Dean","","Herausgeber","Richter am Gericht der Europäischen Union (EuG)","Herausgeber"
"Thomas of Cwmgiedd","John","Lord","Herausgeber","Lord Chief Justice of England and Wales (2013-2017), London","Herausgeber" "Thomas of Cwmgiedd","John","Lord","Herausgeber","Lord Chief Justice of England and Wales (2013-2017), London","Herausgeber"
"Tröger","Tobias","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Tröger","Tobias","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Vec","Miloš","Prof. Dr.","Herausgeber","Wien","Herausgeber" "Vec","Miloš","Prof. Dr.","Herausgeber","Wien","Herausgeber"
"Voßkuhle","Andreas","Prof. Dr. Dres. h. c. Dr.","Herausgeber","Präsident des Bundesverfassungsgerichts a.D. (2010-2020), Karlsruhe Albert-Ludwigs-Universität Freiburg","Herausgeber" "Voßkuhle","Andreas","Prof. Dr. Dres. h. c. Dr.","Herausgeber","Präsident des Bundesverfassungsgerichts a.D. (2010-2020), Karlsruhe Albert-Ludwigs-Universität Freiburg","Herausgeber"
"Wallrabenstein","Astrid","Prof. Dr.","Herausgeber","Richterin am Bundesverfassungsgericht, Karlsruhe","Herausgeber" "Wallrabenstein","Astrid","Prof. Dr.","Herausgeber","Richterin am Bundesverfassungsgericht, Karlsruhe","Herausgeber"
"Weiss","Manfred","Prof. em. Dr. Dres. h.c.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Weiss","Manfred","Prof. em. Dr. Dres. h.c.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
gpt-3.5-turbo-instruct gpt-3.5-turbo-instruct
--------------- ---------------
"lastname","firstname","title","position","affiliation","role" "lastname","firstname","title","position","affiliation","role"
"","","","","","" "","","","","",""
"","","","Der Verlag","","" "","","","Der Verlag","",""
"","","","Programm","","" "","","","Programm","",""
"","","","Wissenschaftlich Publizieren","","" "","","","Wissenschaftlich Publizieren","",""
"","","","Service","","" "","","","Service","",""
"","","","Shop","","" "","","","Shop","",""
"","","","Allgemein","","" "","","","Allgemein","",""
"","","","Über die Zeitschrift","","" "","","","Über die Zeitschrift","",""
"","","","","Herausgeberkreis","role" "","","","","Herausgeberkreis","role"
"Albrecht","Peter-Alexis","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Albrecht","Peter-Alexis","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Braum","Stefan","Prof. Dr.","Herausgeber","Universität Luxemburg","Herausgeber" "Braum","Stefan","Prof. Dr.","Herausgeber","Universität Luxemburg","Herausgeber"
"Broemel","Roland","Prof. Dr.","Herausgeber (geschäftsführend)","Goethe-Universität Frankfurt am Main","Herausgeber" "Broemel","Roland","Prof. Dr.","Herausgeber (geschäftsführend)","Goethe-Universität Frankfurt am Main","Herausgeber"
"Duve","Thomas","Prof. Dr.","Herausgeber","Max-Planck-Institut für europäische Rechtsgeschichte, Frankfurt am Main","Herausgeber" "Duve","Thomas","Prof. Dr.","Herausgeber","Max-Planck-Institut für europäische Rechtsgeschichte, Frankfurt am Main","Herausgeber"
"Günther","Klaus","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Günther","Klaus","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Jaeger","Marc","","Herausgeber","Präsident des Gerichts der Europäischen Union (2007-2019), Luxembourg","Herausgeber" "Jaeger","Marc","","Herausgeber","Präsident des Gerichts der Europäischen Union (2007-2019), Luxembourg","Herausgeber"
"Lamanda","Vincent","","Herausgeber","Président de la Cour de Cassation (2007-2014), Paris","Herausgeber" "Lamanda","Vincent","","Herausgeber","Président de la Cour de Cassation (2007-2014), Paris","Herausgeber"
"Pfeifer","Guido","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Pfeifer","Guido","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Spielmann","Dean","","Herausgeber","Richter am Gericht der Europäischen Union (EuG)","Herausgeber" "Spielmann","Dean","","Herausgeber","Richter am Gericht der Europäischen Union (EuG)","Herausgeber"
"Thomas","John","Lord QC","Herausgeber","Lord Chief Justice of England and Wales (2013-2017), London","Herausgeber" "Thomas","John","Lord QC","Herausgeber","Lord Chief Justice of England and Wales (2013-2017), London","Herausgeber"
"Tröger","Tobias","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Tröger","Tobias","Prof. Dr.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Vec","Miloš","Prof. Dr.","Herausgeber","Wien","Herausgeber" "Vec","Miloš","Prof. Dr.","Herausgeber","Wien","Herausgeber"
"Voßkuhle","Andreas","","Herausgeber","Präsident des Bundesverfassungsgerichts a.D. (2010-2020), Karlsruhe Albert-Ludwigs-Universität Freiburg","Herausgeber" "Voßkuhle","Andreas","","Herausgeber","Präsident des Bundesverfassungsgerichts a.D. (2010-2020), Karlsruhe Albert-Ludwigs-Universität Freiburg","Herausgeber"
"Wallrabenstein","Astrid","Prof. Dr.","Herausgeber","Richterin am Bundesverfassungsgericht, Karlsruhe","Herausgeber" "Wallrabenstein","Astrid","Prof. Dr.","Herausgeber","Richterin am Bundesverfassungsgericht, Karlsruhe","Herausgeber"
"Weiss","Manfred","Prof. em. Dr. Dres. h.c.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber" "Weiss","Manfred","Prof. em. Dr. Dres. h.c.","Herausgeber","Goethe-Universität Frankfurt am Main","Herausgeber"
"Braum","Stefan","Prof. Dr.","Redaktion (V.i.S.d.P.)","Universität Luxemburg","Redaktion" "Braum","Stefan","Prof. Dr.","Redaktion (V.i.S.d.P.)","Universität Luxemburg","Redaktion"
"","","","","Fakultät für Rechts-, Wirtschafts- und Finanzwissenschaften","Redaktion" "","","","","Fakultät für Rechts-, Wirtschafts- und Finanzwissenschaften","Redaktion"
"Braum","Stefan","Prof. Dr.","Redaktionanschrift","162 A, avenue de la Faïencerie","Redaktion" "Braum","Stefan","Prof. Dr.","Redaktionanschrift","162 A, avenue de la Faïencerie","Redaktion"
"Braum","Stefan","Prof. Dr.","Redaktionsanschrift","L-1511 Luxembourg","Redaktion" "Braum","Stefan","Prof. Dr.","Redaktionsanschrift","L-1511 Luxembourg","Redaktion"
"","","","Telefon","+352 / 46 66 44 – 6753","Redaktion" "","","","Telefon","+352 / 46 66 44 – 6753","Redaktion"
"","","","Fax","+352 / 46 66 44 – 6811","Redaktion" "","","","Fax","+352 / 46 66 44 – 6811","Redaktion"
"","","","Mail","stefan.braum@uni.lu","Redaktion" "","","","Mail","stefan.braum@uni.lu","Redaktion"
"Broemel","Roland","Prof. Dr.","Redaktion (V.i.S.d.P.)","Goethe-Universität Frankfurt","Redaktion" "Broemel","Roland","Prof. Dr.","Redaktion (V.i.S.d.P.)","Goethe-Universität Frankfurt","Redaktion"
"","","","House of Finance, Raum 4.41","Redaktion" "","","","House of Finance, Raum 4.41","Redaktion"
"","","","Theodor-W.-Adorno-Platz 3","Redaktion" "","","","Theodor-W.-Adorno-Platz 3","Redaktion"
"","","","60323 Frankfurt am Main","Redaktion" "","","","60323 Frankfurt am Main","Redaktion"
"","","","Telefon","069 / 798-34024","Redaktion" "","","","Telefon","069 / 798-34024","Redaktion"
"","","","Mail","broemel@jur.uni-frankfurt.de","Redaktion" "","","","Mail","broemel@jur.uni-frankfurt.de","Redaktion"
"","","","","","","" "","","","","","",""
"","","","Abstracting & Indexing","","" "","","","Abstracting & Indexing","",""
"","","","","Die Zeitschrift KritV wird indexiert von","Abstracting & Indexing" "","","","","Die Zeitschrift KritV wird indexiert von","Abstracting & Indexing"
"","","","","","","" "","","","","","",""
"","","","","Urheberrecht","role" "","","","","Urheberrecht","role"
"","","","Urheberrecht","","" "","","","Urheberrecht","",""
"","","","","","","" "","","","","","",""
"","","","Mediadaten","","" "","","","Mediadaten","",""
"","","","Mediadaten","","" "","","","Mediadaten","",""
%% Cell type:markdown id:d63225cbb467305a tags: %% Cell type:markdown id:d63225cbb467305a tags:
Clearly, GPT-3.5 is not up to the task. Now arun the combined google / gpt-4 pipeline on the whole dataset Clearly, GPT-3.5 is not up to the task. Now arun the combined google / gpt-4 pipeline on the whole dataset
%% Cell type:code id:a0570e05da29a5d8 tags: %% Cell type:code id:a0570e05da29a5d8 tags:
``` python ``` python
import io import io
import os import os
import pandas as pd import pandas as pd
from lib.openai import query_openai_api from lib.openai import query_openai_api
from lib.google import run_google_search, download from lib.google import run_google_search, download
from tqdm.notebook import tqdm from tqdm.notebook import tqdm
from datetime import datetime from datetime import datetime
from time import sleep from time import sleep
# Load or initialize journals data # Load or initialize journals data
if os.path.isfile("data/juristische-zeitschriften-with-editor-count.csv"): if os.path.isfile("data/juristische-zeitschriften-with-editor-count.csv"):
df_journals = pd.read_csv("data/juristische-zeitschriften-with-editor-count.csv") df_journals = pd.read_csv("data/juristische-zeitschriften-with-editor-count.csv")
else: else:
df_journals = pd.read_csv("data/juristische-zeitschriften-lobid-berichtigt.csv") df_journals = pd.read_csv("data/juristische-zeitschriften-lobid-berichtigt.csv")
df_journals['editor_count'] = None df_journals['editor_count'] = None
# Load or initialize editors data # Load or initialize editors data
if os.path.isfile("data/editors.csv"): if os.path.isfile("data/editors.csv"):
df_editors = pd.read_csv("data/editors.csv", encoding='utf-8', index_col=False) df_editors = pd.read_csv("data/editors.csv", encoding='utf-8', index_col=False)
else: else:
df_editors = pd.DataFrame(columns=['journal_abbr', 'lastname', 'firstname', 'title', 'position', 'affiliation', 'role', 'website','retrieved_on']) df_editors = pd.DataFrame(columns=['journal_abbr', 'lastname', 'firstname', 'title', 'position', 'affiliation', 'role', 'website','retrieved_on'])
try: try:
# Iterate over each journal # Iterate over each journal
for _, row in tqdm(df_journals.iterrows(), desc="Processing journals...", total=len(df_journals)): for _, row in tqdm(df_journals.iterrows(), desc="Processing journals...", total=len(df_journals)):
journal_name = row['journal'] journal_name = row['journal']
journal_abbr = row['abbreviation'].split(',')[0].strip() journal_abbr = row['abbreviation'].split(',')[0].strip()
# Skip if already processed # Skip if already processed
if df_editors['journal_abbr'].str.contains(journal_abbr).any() or \ if df_editors['journal_abbr'].str.contains(journal_abbr).any() or \
(df_journals[df_journals['abbreviation'] == journal_abbr]['editor_count'].notna()).all(): (df_journals[df_journals['abbreviation'] == journal_abbr]['editor_count'].notna()).all():
num_editors = (df_editors['journal_abbr'] == journal_abbr).sum() num_editors = (df_editors['journal_abbr'] == journal_abbr).sum()
df_journals.loc[df_journals['abbreviation'] == journal_abbr, 'editor_count'] = num_editors df_journals.loc[df_journals['abbreviation'] == journal_abbr, 'editor_count'] = num_editors
print(f"Already retrieved {num_editors} editors for '{journal_abbr}'." ) print(f"Already retrieved {num_editors} editors for '{journal_abbr}'." )
continue continue
# Run google query # Run google query
google_query = f'{journal_name} intext:herausgeber|herausgegeben|redakt|schriftleit|beirat' google_query = f'{journal_name} intext:herausgeber|herausgegeben|redakt|schriftleit|beirat'
exclude=[r'jstor\.org'] exclude=[r'jstor\.org']
urls = run_google_search(google_query, lang="de", exclude=exclude, verbose=True) urls = run_google_search(google_query, lang="de", exclude=exclude, verbose=True)
# ask GPT-4 to identify the editors in the found websites # ask GPT-4 to identify the editors in the found websites
for website_url in urls: for website_url in urls:
website_data = download(website_url, verbose=True) website_data = download(website_url, verbose=True)
if website_data is None or website_data =="": if website_data is None or website_data =="":
print("Could not retrieve website content.") print("Could not retrieve website content.")
sleep(3) # to avoid google blocking sleep(3) # to avoid google blocking
continue continue
print(f'Sending content to GPT-4 for analysis...') print(f'Sending content to GPT-4 for analysis...')
instruction = f"Finde im folgenden Text die Herausgeber, Redaktion/Schriftleitung und Beirat der Zeitschrift '{journal_name}' und gebe sie im CSV-Format zurück mit den Spalten 'lastname', 'firstname', 'title', 'position', 'affiliation','role'. Die Spalte 'role' enthält entweder 'Herausgeber', 'Redaktion', 'Beirat', 'Schriftleitung' oder ist leer wenn nicht bestimmbar. Wenn keine passenden Informationen verfügbar sind, gebe nur den CSV-Header zurück. Setze alle Werte in den CSV-Spalten in Anführungszeichen." instruction = f"Finde im folgenden Text die Herausgeber, Redaktion/Schriftleitung und Beirat der Zeitschrift '{journal_name}' und gebe sie im CSV-Format zurück mit den Spalten 'lastname', 'firstname', 'title', 'position', 'affiliation','role'. Die Spalte 'role' enthält entweder 'Herausgeber', 'Redaktion', 'Beirat', 'Schriftleitung' oder ist leer wenn nicht bestimmbar. Wenn keine passenden Informationen verfügbar sind, gebe nur den CSV-Header zurück. Setze alle Werte in den CSV-Spalten in Anführungszeichen."
csv_data = query_openai_api("gpt-4", instruction, website_data, max_tokens=1800, verbose=True) csv_data = query_openai_api("gpt-4", instruction, website_data, max_tokens=1800, verbose=True)
data = io.StringIO(csv_data) data = io.StringIO(csv_data)
try: try:
df = pd.read_csv(data) df = pd.read_csv(data)
except: except:
raise RuntimeError(f"Error while parsing response from gpt-4:\n{csv_data}") raise RuntimeError(f"Error while parsing response from gpt-4:\n{csv_data}")
# Save number of editors found # Save number of editors found
num_editors = len(df) num_editors = len(df)
df_journals.loc[df_journals['abbreviation'] == journal_abbr, 'editor_count'] = num_editors df_journals.loc[df_journals['abbreviation'] == journal_abbr, 'editor_count'] = num_editors
print(f"Found {num_editors} editors.") print(f"Found {num_editors} editors.")
# If some were found, add them to the list # If some were found, add them to the list
if num_editors > 0: if num_editors > 0:
df['website'] = website_url df['website'] = website_url
df['journal_abbr'] = journal_abbr df['journal_abbr'] = journal_abbr
df['retrieved_on'] = datetime.now().strftime('%Y-%m-%d') df['retrieved_on'] = datetime.now().strftime('%Y-%m-%d')
df_editors = pd.concat([df_editors, df], ignore_index=True) df_editors = pd.concat([df_editors, df], ignore_index=True)
# Save updated df_editors back to file # Save updated df_editors back to file
df_editors.to_csv("data/editors.csv", encoding='utf-8', index=False) df_editors.to_csv("data/editors.csv", encoding='utf-8', index=False)
# don't look at the other websites found to save GPT-4 tokens # don't look at the other websites found to save GPT-4 tokens
break break
except KeyboardInterrupt: except KeyboardInterrupt:
print("Loop interrupted by user. Saving current data.") print("Loop interrupted by user. Saving current data.")
finally: finally:
# Save the updated df_journals to a new file # Save the updated df_journals to a new file
df_journals.to_csv("data/juristische-zeitschriften-with-editor-count.csv", index=False) df_journals.to_csv("data/juristische-zeitschriften-with-editor-count.csv", index=False)
``` ```
%% Output %% Output
Already retrieved 17 editors for 'AUR'. Already retrieved 17 editors for 'AUR'.
Already retrieved 24 editors for 'AbfallR'. Already retrieved 24 editors for 'AbfallR'.
Already retrieved 12 editors for 'AL'. Already retrieved 12 editors for 'AL'.
Already retrieved 0 editors for 'AJP'. Already retrieved 0 editors for 'AJP'.
Already retrieved 0 editors for 'AktStR'. Already retrieved 0 editors for 'AktStR'.
Already retrieved 4 editors for 'ASR'. Already retrieved 4 editors for 'ASR'.
Already retrieved 13 editors for 'AnwBl'. Already retrieved 13 editors for 'AnwBl'.
Already retrieved 0 editors for 'AGS'. Already retrieved 0 editors for 'AGS'.
Already retrieved 24 editors for 'ANA-ZAR'. Already retrieved 24 editors for 'ANA-ZAR'.
Already retrieved 11 editors for 'apf'. Already retrieved 11 editors for 'apf'.
Already retrieved 9 editors for 'APR'. Already retrieved 9 editors for 'APR'.
Already retrieved 23 editors for 'AuA'. Already retrieved 23 editors for 'AuA'.
Already retrieved 4 editors for 'AuR'. Already retrieved 4 editors for 'AuR'.
Already retrieved 1 editors for 'ArbR'. Already retrieved 1 editors for 'ArbR'.
Already retrieved 0 editors for 'AiB'. Already retrieved 0 editors for 'AiB'.
Already retrieved 0 editors for 'AP'. Already retrieved 0 editors for 'AP'.
Already retrieved 9 editors for 'AöR'. Already retrieved 9 editors for 'AöR'.
Already retrieved 6 editors for 'AVR'. Already retrieved 6 editors for 'AVR'.
Already retrieved 3 editors for 'AcP'. Already retrieved 3 editors for 'AcP'.
Already retrieved 14 editors for 'AfkKR'. Already retrieved 14 editors for 'AfkKR'.
Already retrieved 14 editors for 'ArchKrim'. Already retrieved 14 editors for 'ArchKrim'.
Already retrieved 2 editors for 'UFITA'. Already retrieved 2 editors for 'UFITA'.
Already retrieved 10 editors for 'AfP'. Already retrieved 10 editors for 'AfP'.
Already retrieved 3 editors for 'ARSP'. Already retrieved 3 editors for 'ARSP'.
Already retrieved 10 editors for 'AfS'. Already retrieved 10 editors for 'AfS'.
Already retrieved 2 editors for 'UFITA'. Already retrieved 2 editors for 'UFITA'.
Already retrieved 2 editors for 'UFITA'. Already retrieved 2 editors for 'UFITA'.
Already retrieved 4 editors for 'A&R'. Already retrieved 4 editors for 'A&R'.
Already retrieved 25 editors for 'ArztR'. Already retrieved 25 editors for 'ArztR'.
Already retrieved 0 editors for 'ASDA-Bulletin'. Already retrieved 0 editors for 'ASDA-Bulletin'.
Already retrieved 2 editors for 'Aufsichtsrat'. Already retrieved 2 editors for 'Aufsichtsrat'.
Already retrieved 1 editors for 'AuAS'. Already retrieved 1 editors for 'AuAS'.
Already retrieved 5 editors for 'AW-Prax'. Already retrieved 5 editors for 'AW-Prax'.
Already retrieved 3 editors for 'ARIEL'. Already retrieved 3 editors for 'ARIEL'.
Already retrieved 0 editors for 'AWR-Bulletin'. Already retrieved 0 editors for 'AWR-Bulletin'.
Already retrieved 0 editors for 'BankArch'. Already retrieved 0 editors for 'BankArch'.
Already retrieved 2 editors for 'BJM'. Already retrieved 2 editors for 'BJM'.
Already retrieved 9 editors for 'BauR'. Already retrieved 9 editors for 'BauR'.
Already retrieved 5 editors for 'BayVBl'. Already retrieved 5 editors for 'BayVBl'.
Already retrieved 16 editors for 'Br'. Already retrieved 16 editors for 'Br'.
Already retrieved 0 editors for 'BerlAnwBl'. Already retrieved 0 editors for 'BerlAnwBl'.
Already retrieved 2 editors for 'BtPrax'. Already retrieved 2 editors for 'BtPrax'.
Already retrieved 0 editors for 'BetrAV'. Already retrieved 0 editors for 'BetrAV'.
Already retrieved 9 editors for 'BB'. Already retrieved 9 editors for 'BB'.
Already retrieved 0 editors for 'AWD'. Already retrieved 0 editors for 'AWD'.
Already retrieved 2 editors for 'BRuR'. Already retrieved 2 editors for 'BRuR'.
Already retrieved 2 editors for 'Betrifft Justiz'. Already retrieved 2 editors for 'Betrifft Justiz'.
Already retrieved 0 editors for 'BewHi'. Already retrieved 0 editors for 'BewHi'.
Already retrieved 4 editors for 'BewertungsPraktiker'. Already retrieved 4 editors for 'BewertungsPraktiker'.
Already retrieved 0 editors for 'BFH/NV'. Already retrieved 0 editors for 'BFH/NV'.
Already retrieved 0 editors for 'BlPMZ'. Already retrieved 0 editors for 'BlPMZ'.
Already retrieved 0 editors for 'Blätter'. Already retrieved 0 editors for 'Blätter'.
Already retrieved 9 editors for 'BRAK-Mitt'. Already retrieved 9 editors for 'BRAK-Mitt'.
Already retrieved 3 editors for 'BLJ'. Already retrieved 3 editors for 'BLJ'.
Already retrieved 1 editors for 'BBB'. Already retrieved 1 editors for 'BBB'.
Already retrieved 0 editors for 'Bundesgesundheitsbl'. Already retrieved 0 editors for 'Bundesgesundheitsbl'.
Already retrieved 38 editors for 'CCLR'. Already retrieved 38 editors for 'CCLR'.
Already retrieved 13 editors for 'CSR'. Already retrieved 13 editors for 'CSR'.
Already retrieved 7 editors for 'CB'. Already retrieved 7 editors for 'CB'.
Already retrieved 0 editors for 'CRi'. Already retrieved 0 editors for 'CRi'.
Already retrieved 2 editors for 'CuA'. Already retrieved 2 editors for 'CuA'.
Already retrieved 12 editors for 'CR'. Already retrieved 12 editors for 'CR'.
Already retrieved 5 editors for 'CuR'. Already retrieved 5 editors for 'CuR'.
Already retrieved 20 editors for 'CCZ'. Already retrieved 20 editors for 'CCZ'.
Already retrieved 7 editors for 'CFL'. Already retrieved 7 editors for 'CFL'.
Already retrieved 2 editors for 'COVuR'. Already retrieved 2 editors for 'COVuR'.
Already retrieved 0 editors for 'DAJV-NL'. Already retrieved 0 editors for 'DAJV-NL'.
Already retrieved 0 editors for 'Grundeigentum'. Already retrieved 0 editors for 'Grundeigentum'.
Already retrieved 0 editors for 'Hauseigentum'. Already retrieved 0 editors for 'Hauseigentum'.
Already retrieved 8 editors for 'JAmt'. Already retrieved 8 editors for 'JAmt'.
Already retrieved 9 editors for 'JurBüro'. Already retrieved 9 editors for 'JurBüro'.
Already retrieved 7 editors for 'StAZ'. Already retrieved 7 editors for 'StAZ'.
Already retrieved 4 editors for 'DuD'. Already retrieved 4 editors for 'DuD'.
Already retrieved 5 editors for 'DSB'. Already retrieved 5 editors for 'DSB'.
Already retrieved 1 editors for 'DANA'. Already retrieved 1 editors for 'DANA'.
Already retrieved 0 editors for 'AOStB'. Already retrieved 0 editors for 'AOStB'.
Already retrieved 2 editors for 'ArbRB'. Already retrieved 2 editors for 'ArbRB'.
Already retrieved 9 editors for 'AusR'. Already retrieved 9 editors for 'AusR'.
Already retrieved 0 editors for 'AR'. Already retrieved 0 editors for 'AR'.
Already retrieved 0 editors for 'Bausachverständige'. Already retrieved 0 editors for 'Bausachverständige'.
Already retrieved 19 editors for 'DB'. Already retrieved 19 editors for 'DB'.
Already retrieved 16 editors for 'Rpfleger'. Already retrieved 16 editors for 'Rpfleger'.
Already retrieved 0 editors for 'ErbStB'. Already retrieved 0 editors for 'ErbStB'.
Already retrieved 0 editors for 'EStB'. Already retrieved 0 editors for 'EStB'.
Already retrieved 2 editors for 'FamRB'. Already retrieved 2 editors for 'FamRB'.
Already retrieved 2 editors for 'gemeindehaushalt'. Already retrieved 2 editors for 'gemeindehaushalt'.
Already retrieved 0 editors for 'GesRZ'. Already retrieved 0 editors for 'GesRZ'.
Already retrieved 0 editors for 'GmbHStB'. Already retrieved 0 editors for 'GmbHStB'.
Already retrieved 0 editors for 'IPRB'. Already retrieved 0 editors for 'IPRB'.
Already retrieved 2 editors for 'ITRB'. Already retrieved 2 editors for 'ITRB'.
Already retrieved 0 editors for 'Konzern'. Already retrieved 0 editors for 'Konzern'.
Already retrieved 2 editors for 'Kriminalist'. Already retrieved 2 editors for 'Kriminalist'.
Already retrieved 3 editors for 'Landkreis'. Already retrieved 3 editors for 'Landkreis'.
Already retrieved 3 editors for 'MedSach'. Already retrieved 3 editors for 'MedSach'.
Already retrieved 0 editors for 'MietRB'. Already retrieved 0 editors for 'MietRB'.
Already retrieved 2 editors for 'DÖD'. Already retrieved 2 editors for 'DÖD'.
Already retrieved 0 editors for 'Personalrat'. Already retrieved 0 editors for 'Personalrat'.
Already retrieved 0 editors for 'DS'. Already retrieved 0 editors for 'DS'.
Already retrieved 0 editors for 'STAAT'. Already retrieved 0 editors for 'STAAT'.
Already retrieved 2 editors for 'StB'. Already retrieved 2 editors for 'StB'.
Already retrieved 0 editors for 'UStB'. Already retrieved 0 editors for 'UStB'.
Already retrieved 2 editors for 'VerkA'. Already retrieved 2 editors for 'VerkA'.
Already retrieved 2 editors for 'Verkehrsjurist'. Already retrieved 2 editors for 'Verkehrsjurist'.
Already retrieved 0 editors for 'DWE'. Already retrieved 0 editors for 'DWE'.
Already retrieved 0 editors for 'DGVZ'. Already retrieved 0 editors for 'DGVZ'.
Already retrieved 7 editors for 'DJZ'. Already retrieved 7 editors for 'DJZ'.
Already retrieved 2 editors for 'DLR'. Already retrieved 2 editors for 'DLR'.
Already retrieved 0 editors for 'DNotZ'. Already retrieved 0 editors for 'DNotZ'.
Already retrieved 0 editors for 'Deutsche Polizei'. Already retrieved 0 editors for 'Deutsche Polizei'.
Already retrieved 0 editors for 'DRV'. Already retrieved 0 editors for 'DRV'.
Already retrieved 10 editors for 'DRiZ'. Already retrieved 10 editors for 'DRiZ'.
Already retrieved 0 editors for 'DStZ'. Already retrieved 0 editors for 'DStZ'.
Already retrieved 0 editors for 'DVP'. Already retrieved 0 editors for 'DVP'.
Already retrieved 0 editors for 'DWW'. Already retrieved 0 editors for 'DWW'.
Already retrieved 0 editors for 'DZWIR'. Already retrieved 0 editors for 'DZWIR'.
Already retrieved 0 editors for 'DAR'. Already retrieved 0 editors for 'DAR'.
Already retrieved 4 editors for 'DStR'. Already retrieved 4 editors for 'DStR'.
Already retrieved 0 editors for 'DVBl'. Already retrieved 0 editors for 'DVBl'.
Already retrieved 31 editors for 'DPJZ'. Already retrieved 31 editors for 'DPJZ'.
Already retrieved 9 editors for 'AG'. Already retrieved 9 editors for 'AG'.
Already retrieved 1 editors for 'Bank'. Already retrieved 1 editors for 'Bank'.
Already retrieved 0 editors for 'BG'. Already retrieved 0 editors for 'BG'.
Already retrieved 2 editors for 'BKK'. Already retrieved 2 editors for 'BKK'.
Already retrieved 0 editors for 'Gemeinde [SH]'. Already retrieved 0 editors for 'Gemeinde [SH]'.
Already retrieved 8 editors for 'ZMV'. Already retrieved 8 editors for 'ZMV'.
Already retrieved 37 editors for 'DÖV'. Already retrieved 37 editors for 'DÖV'.
Already retrieved 2 editors for 'PersV'. Already retrieved 2 editors for 'PersV'.
Already retrieved 10 editors for 'Polizei'. Already retrieved 10 editors for 'Polizei'.
Already retrieved 14 editors for 'SGb'. Already retrieved 14 editors for 'SGb'.
Already retrieved 3 editors for 'Stbg'. Already retrieved 3 editors for 'Stbg'.
Already retrieved 2 editors for 'StBp'. Already retrieved 2 editors for 'StBp'.
Already retrieved 0 editors for 'StW'. Already retrieved 0 editors for 'StW'.
Already retrieved 0 editors for 'Ubg'. Already retrieved 0 editors for 'Ubg'.
Already retrieved 0 editors for 'VERW'. Already retrieved 0 editors for 'VERW'.
Already retrieved 7 editors for 'WPg'. Already retrieved 7 editors for 'WPg'.
Already retrieved 6 editors for 'DivRuW'. Already retrieved 6 editors for 'DivRuW'.
Already retrieved 0 editors for 'DNotI-Report'. Already retrieved 0 editors for 'DNotI-Report'.
Already retrieved 12 editors for 'ER'. Already retrieved 12 editors for 'ER'.
Already retrieved 0 editors for 'et'. Already retrieved 0 editors for 'et'.
Already retrieved 0 editors for 'EFG'. Already retrieved 0 editors for 'EFG'.
Already retrieved 1 editors for 'BFHE'. Already retrieved 1 editors for 'BFHE'.
Already retrieved 0 editors for 'BGHZ'. Already retrieved 0 editors for 'BGHZ'.
Already retrieved 0 editors for 'BVerfGE'. Already retrieved 0 editors for 'BVerfGE'.
Already retrieved 1 editors for 'RGSt'. Already retrieved 1 editors for 'RGSt'.
Already retrieved 0 editors for 'EWiR'. Already retrieved 0 editors for 'EWiR'.
Already retrieved 0 editors for 'EuGRZ'. Already retrieved 0 editors for 'EuGRZ'.
Already retrieved 7 editors for 'EuZA'. Already retrieved 7 editors for 'EuZA'.
Already retrieved 30 editors for 'EuZW'. Already retrieved 30 editors for 'EuZW'.
Already retrieved 1 editors for 'EWS'. Already retrieved 1 editors for 'EWS'.
Already retrieved 14 editors for 'EuR'. Already retrieved 14 editors for 'EuR'.
Already retrieved 10 editors for 'ECFR'. Already retrieved 10 editors for 'ECFR'.
Already retrieved 22 editors for 'ECLR'. Already retrieved 22 editors for 'ECLR'.
Already retrieved 1 editors for 'EDPL'. Already retrieved 1 editors for 'EDPL'.
Already retrieved 0 editors for 'ELR'. Already retrieved 0 editors for 'ELR'.
Already retrieved 1 editors for 'ERCL'. Already retrieved 1 editors for 'ERCL'.
Already retrieved 4 editors for 'EU-UStB'. Already retrieved 4 editors for 'EU-UStB'.
Already retrieved 1 editors for 'FAR'. Already retrieved 1 editors for 'FAR'.
Already retrieved 4 editors for 'FuR'. Already retrieved 4 editors for 'FuR'.
Already retrieved 0 editors for 'FPR'. Already retrieved 0 editors for 'FPR'.
Already retrieved 0 editors for 'FamRK'. Already retrieved 0 editors for 'FamRK'.
Already retrieved 2 editors for 'FamFR'. Already retrieved 2 editors for 'FamFR'.
Already retrieved 0 editors for 'FA'. Already retrieved 0 editors for 'FA'.
Already retrieved 10 editors for 'FLF'. Already retrieved 10 editors for 'FLF'.
Already retrieved 0 editors for 'FR'. Already retrieved 0 editors for 'FR'.
Already retrieved 0 editors for 'FR-Ertragssteuerrecht'. Already retrieved 0 editors for 'FR-Ertragssteuerrecht'.
Already retrieved 2 editors for 'FoVo'. Already retrieved 2 editors for 'FoVo'.
Already retrieved 3 editors for 'FMP'. Already retrieved 3 editors for 'FMP'.
Already retrieved 5 editors for 'Forderungs-Praktiker'. Already retrieved 5 editors for 'Forderungs-Praktiker'.
Already retrieved 20 editors for 'FF'. Already retrieved 20 editors for 'FF'.
Already retrieved 2 editors for 'Forum Kriminalpräv.'. Already retrieved 2 editors for 'Forum Kriminalpräv.'.
Already retrieved 4 editors for 'FoR'. Already retrieved 4 editors for 'FoR'.
Already retrieved 16 editors for 'FS'. Already retrieved 16 editors for 'FS'.
Already retrieved 2 editors for 'Freilaw'. Already retrieved 2 editors for 'Freilaw'.
Already retrieved 6 editors for 'GLJ'. Already retrieved 6 editors for 'GLJ'.
Already retrieved 0 editors for 'GYIL'. Already retrieved 0 editors for 'GYIL'.
Already retrieved 4 editors for 'GWR'. Already retrieved 4 editors for 'GWR'.
Already retrieved 19 editors for 'GuP'. Already retrieved 19 editors for 'GuP'.
Already retrieved 19 editors for 'GuS'. Already retrieved 19 editors for 'GuS'.
Already retrieved 3 editors for 'GesR'. Already retrieved 3 editors for 'GesR'.
Already retrieved 11 editors for 'GewArch'. Already retrieved 11 editors for 'GewArch'.
Already retrieved 3 editors for 'GRUR'. Already retrieved 3 editors for 'GRUR'.
Already retrieved 4 editors for 'GRUR-Int'. Already retrieved 4 editors for 'GRUR-Int'.
Already retrieved 9 editors for 'GRUR-Prax'. Already retrieved 9 editors for 'GRUR-Prax'.
Already retrieved 3 editors for 'GRUR-RR'. Already retrieved 3 editors for 'GRUR-RR'.
Already retrieved 8 editors for 'GmbHR'. Already retrieved 8 editors for 'GmbHR'.
Already retrieved 0 editors for 'GmbH-Steuerpraxis'. Already retrieved 0 editors for 'GmbH-Steuerpraxis'.
Already retrieved 0 editors for 'GA'. Already retrieved 0 editors for 'GA'.
Already retrieved 11 editors for 'GoJIL'. Already retrieved 11 editors for 'GoJIL'.
Already retrieved 0 editors for 'GreifRecht'. Already retrieved 0 editors for 'GreifRecht'.
Already retrieved 2 editors for 'GuG'. Already retrieved 2 editors for 'GuG'.
Already retrieved 14 editors for 'GRUR Int.'. Already retrieved 14 editors for 'GRUR Int.'.
Already retrieved 2 editors for 'HRN'. Already retrieved 2 editors for 'HRN'.
Already retrieved 15 editors for 'HJIL'. Already retrieved 15 editors for 'HJIL'.
Already retrieved 0 editors for 'HSGZ'. Already retrieved 0 editors for 'HSGZ'.
Already retrieved 1 editors for 'HFR'. Already retrieved 1 editors for 'HFR'.
Already retrieved 17 editors for 'HuV'. Already retrieved 17 editors for 'HuV'.
Already retrieved 17 editors for 'HuV-I'. Already retrieved 17 editors for 'HuV-I'.
Already retrieved 3 editors for 'HuFR'. Already retrieved 3 editors for 'HuFR'.
Already retrieved 13 editors for 'IBR'. Already retrieved 13 editors for 'IBR'.
Already retrieved 7 editors for 'IMR'. Already retrieved 7 editors for 'IMR'.
Searching google for Informationen zum Arbeitslosenrecht und Sozialhilferecht intext:herausgeber|herausgegeben|redakt|schriftleit|beirat... Searching google for Informationen zum Arbeitslosenrecht und Sozialhilferecht intext:herausgeber|herausgegeben|redakt|schriftleit|beirat...
Downloading content of https://www.nomos-shop.de/nomos/titel/info-also-informationen-zum-arbeitslosenrecht-und-sozialhilferecht-id-114028/... Downloading content of https://www.nomos-shop.de/nomos/titel/info-also-informationen-zum-arbeitslosenrecht-und-sozialhilferecht-id-114028/...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 22 editors. Found 22 editors.
Already retrieved 0 editors for 'InfAuslR'. Already retrieved 0 editors for 'InfAuslR'.
Searching google for Informationsdienst Öffentliches Dienstrecht intext:herausgeber|herausgegeben|redakt|schriftleit|beirat... Searching google for Informationsdienst Öffentliches Dienstrecht intext:herausgeber|herausgegeben|redakt|schriftleit|beirat...
Downloading content of https://shop.wolterskluwer-online.de/rechtsgebiete/verwaltungsrecht/oeffentliches-dienstrecht/04102500-ioed-informationsdienst-oeffentliches-dienstrecht.html... Downloading content of https://shop.wolterskluwer-online.de/rechtsgebiete/verwaltungsrecht/oeffentliches-dienstrecht/04102500-ioed-informationsdienst-oeffentliches-dienstrecht.html...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 1 editors. Found 1 editors.
Searching google for InfrastrukturRecht : Energie, Verkehr, Abfall, Wasser intext:herausgeber|herausgegeben|redakt|schriftleit|beirat... Searching google for InfrastrukturRecht : Energie, Verkehr, Abfall, Wasser intext:herausgeber|herausgegeben|redakt|schriftleit|beirat...
Downloading content of https://rsw.beck.de/zeitschriften/infrastrukturrecht... Downloading content of https://rsw.beck.de/zeitschriften/infrastrukturrecht...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 17 editors. Found 17 editors.
Searching google for International insolvency law review intext:herausgeber|herausgegeben|redakt|schriftleit|beirat... Searching google for International insolvency law review intext:herausgeber|herausgegeben|redakt|schriftleit|beirat...
Downloading content of https://stephanmadaus.de/... Downloading content of https://stephanmadaus.de/...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 0 editors. Found 0 editors.
Downloading content of https://beck-online.beck.de/Home/53844... Downloading content of https://beck-online.beck.de/Home/53844...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 0 editors. Found 0 editors.
Downloading content of https://www.amazon.de/Commencement-Insolvency-Proceedings-International-Comparative-ebook/dp/B009F7M566... Downloading content of https://www.amazon.de/Commencement-Insolvency-Proceedings-International-Comparative-ebook/dp/B009F7M566...
Sending content to GPT-4 for analysis... Sending content to GPT-4 for analysis...
Found 0 editors. Found 0 editors.
Searching google for International Journal of Language & Law intext:herausgeber|herausgegeben|redakt|schriftleit|beirat... Searching google for International Journal of Language & Law intext:herausgeber|herausgegeben|redakt|schriftleit|beirat...
Loop interrupted by user. Saving current data. Loop interrupted by user. Saving current data.
%% Cell type:code id:4e4a9ab6ecb15270 tags: %% Cell type:code id:4e4a9ab6ecb15270 tags:
``` python ``` python
``` ```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment