dssg_banner
import os
import pandas as pd

from features.textual_features.keyword_search.contextual_fuzzy_search import search_df_for_best_matches

pd.set_option('display.max_colwidth', None)
pd.set_option('display.max_rows', None)

Create keyword table

What keyword are you interested in? Choose your keyword here:

keyword = 'lichtemissionen'

All other variables may remain the same, but you can also change them as you wish.

id_column_name = 'filename'
text_column_name = 'content'

input_df = pd.read_csv(os.path.join("..", "data", "nrw", "bplan", "raw", "text",  "document_texts.csv"), header=0)

threshold = 99
context_words = 10

Some explanation:

  • id_column_name: ‘filename’

  • text_column_name: ‘content’

These two variables refer to columns in the input_df, which is set to ‘nrw_document_texts.csv’. If you change the input data, make sure to update the column names too.

  • threshold: 99

The search finds keyword matches according to a similarity threshold. If set to 99, only exact matches are found. Choose a lower threshold if you want to find ‘fuzzy’ matches too, e.g. to account for declination of words, spelling errors or partial extraction from the original PDFs.

  • context_words: 10

Setting this parameter allows to get the surrounding content and not only the keyword itself. The specified number of words is extracted before and after the keyword to place it in its context.

Here you can perform the search (no changes needed, just run this cell):

all_matches = search_df_for_best_matches(input_df=input_df,
                                         id_column_name=id_column_name,
                                         text_column_name=text_column_name,
                                         keyword=keyword,
                                         threshold=threshold,
                                         context_words=context_words)

Check out the results

all_matches.head(15)
keyword lichtemissionen
id
116995_4.pdf fledermaus vorkommen und brutstätten von vögeln zu untersuchen. lärm und lichtemissionen lärm und lichtemissionen sind so weit wie möglich zu begrenzen. ;;; brutstätten von vögeln zu untersuchen. lärm und lichtemissionen lärm und lichtemissionen sind so weit wie möglich zu begrenzen. die beleuchtung mit
116995_8.pdf fledermaus vorkommen und brutstätten von vögeln zu untersuchen. lärm und lichtemissionen sind so weit wie möglich zu begrenzen. die beleuchtung mit
2240212_1.pdf der beleuchtung sind insekten und fledermausfreundliche leuchtmittel zu bevorzugen und lichtemissionen (insbesondere streulicht) sind durch fachgerechte planung zu reduzieren. ein anstrahlen
2368027_2.pdf stunden pro jahr und 30 minuten pro tag zu begrenzen. lichtemissionen zur vermeidung von lichtreflexionen sind die rotorblätter mit einem matten
2368027_3.pdf bebauungsplan nr. 9 vdh projektmanagement gmbh erkelenz stand:juli 2013 60 lichtemissionen zur vermeidung von lichtreflexionen sind die rotorblätter mit einem matten
2368044_1.pdf tatsächliche beschattungsdauer gemäß den vom lai empfohlenen beurteilungskriterien zu begrenzen. lichtemissionen zur vermeidung von lichtreflexionen sind die rotorblätter mit einem matten
2368056_5.pdf stunden pro jahr und 30 minuten pro tag zu begrenzen. lichtemissionen zur vermeidung von lichtreflexionen sind die rotorblätter mit einem matten
2369290_4.pdf änderung der bestehenden lichtverhältnisse auszugehen. eine erhebliche beeinträchtigung durch mögliche lichtemissionen (aus dem gebiet heraus) ist allerdings bei ent sprechender ausrichtung
2369334_2.pdf die erschütterungen sind bauzeitenbedingt und damit temporär. 2.cc 4 licht lichtemissionen sind durch eine beleuchtung der straßen und stellplätze bereits vorhanden
2369376_6.pdf versiegelt und zur sicherung des betriebsablaufes bei bedarf ausgeleuchtet. die lichtemissionen werden sich im verhältnis zu den bestehenden nicht wesentlich erhöhen. ;;; der lebensräume durch verkehrswege emissionen des transport und straßenverkehrs bestehende lichtemissionen im bereich des bestehenden gewerbegebietes 1.2.1.2 wirkfaktoren des vorhabens folgende ;;; der bauzeit � kollisionseffekte durch verkehrsbewegungen sind zu vernachlässigen die lichtemissionen werden sich im verhältnis zu den bestehenden dauerhaft nicht wesentlich
2369623_1.pdf anzahl der lichtpunkte etc. ist zu achten, so dass zukünftige lichtemissionen nur unsensible bereiche bestrahlen und die obere baumkronenhälfte als dunkelraum
2369671_3.pdf / 59 200) ist zu verständigen. 5. 6. hinweis zu lichtemissionen auf privaten grundstücken: zur reduzierung von belastungen des umfelds (insbesondere
2369672_1.pdf / 59 200) ist zu verständigen. 5. 6. hinweis zu lichtemissionen auf privaten grundstücken: zur reduzierung von belastungen des umfelds (insbesondere
2369687_0.pdf sie müssen regelungsbestandteil des durchführungsvertrages werden. 4. sonstige festsetzungen 4.1 lichtemissionen außerhalb der zulässigen gebäude dürfen auf dem baugrundstück nur umweltfreundliche
2370690_14.pdf gestört. bei einer umsetzung der planung ist eine zunahme der lichtemissionen durch gebäude und weg beleuchtung möglich. um potenzielle beeinträchtigungen gering

Save to other keywords

OUTPUT_FILE_PATH = os.path.join("..", "data", "nrw", "bplan", "features", "keywords", "fuzzy_search", "fuzzy_search_")

all_matches.to_csv(os.path.join(OUTPUT_FILE_PATH + keyword + ".csv"), header=True)