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)
Contextual fuzzy keyword search
Prepare data
Change the folder path in the code block below to read in the data.
Specify the relevant column names. The function that is used in the following expects the input data frame to have (at least) two columns, i.e., one id and one content column. Here, the columns are called
filenameandcontent. If named differently, change the column names in the code below.
# specify file path
INPUT_FOLDER_PATH = os.path.join("..", "data", "nrw", "bplan", "raw", "text", "bp_text.csv")
OUTPUT_FILE_PATH = os.path.join("..", "data", "nrw", "bplan", "features", "keywords", "fuzzy_search", "fuzzy_search_")
# specify relevant column names
ID_COLUMN='filename'
TEXT_COLUMN='content'
# read in data
input_df = pd.read_csv(INPUT_FOLDER_PATH, names=[ID_COLUMN, TEXT_COLUMN])
Apply fuzzy keyword search to keyword of choice and extract the best matches
Adjust
keywordAdjust
threshold: minimum similarity scoreAdjust
context_words: number of words extracted to contextualise keyword
Note: To apply the fuzzy search to multiple keywords at once,
contextual_fuzzy_search_parallelised.py can be run. Only adjust the
file paths and variables in lines 13 to 22. The corresponding dictionary
is keyword_dict_fuzzy and can easily be adapted if necessary.
KEYWORD='minimale gebäudehöhe'
THRESHOLD=90
CONTEXT_WORDS=15
all_matches = search_df_for_best_matches(input_df=input_df,
id_column_name=ID_COLUMN,
text_column_name=TEXT_COLUMN,
keyword=KEYWORD,
threshold=THRESHOLD,
context_words=CONTEXT_WORDS)
all_matches.head(15)
| keyword | minimale gebäudehöhe |
|---|---|
| id | |
| 2408410_1.pdf | deshalb ist bei der errichtung eines geneigten daches von 6° bis einschließlich 25° dachneigung eine minimale gebäudehöhe von 6,00 metern und eine maximale gebäudehöhe von 8,00 metern einzuhalten. diese festsetzung ermöglicht besonders ;;; dies ist nicht ziel der städtebaulichen entwicklung. daher wird zusätzlich festgesetzt, dass für pultdächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gilt. 5 durch die zulässigkeit von |
| 2408419_1.pdf | zu können. deshalb ist bei der errichtung eines geneigten daches bis einschließlich 25° dachneigung eine minimale gebäudehöhe von 6,00 metern und eine maximale gebäudehöhe von 8,00 metern einzuhalten. diese festsetzung ermöglicht besonders ;;; nicht ziel der städtebaulichen entwicklung. daher wird zusätzlich festgesetzt, dass 6 für einhüftige pultdächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gelten. durch v.g. vorgaben, die zulässigkeit |
| 2408438_1.pdf | bei der errichtung eines geneigten daches mit einer dachneigung von 6° bis einschließlich 25° eine minimale gebäudehöhe von 6,00 metern und eine maximale gebäudehöhe von 8,00 metern einzuhalten. diese festsetzung ermöglicht besonders ;;; nicht ziel der städtebaulichen entwicklung. daher wird zusätz lich festgesetzt, dass für einhüftige pultdächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gelten. durch die zulässigkeit von einzel |
| 2408724_0.pdf | rahmen erhält. zur erreichung dieser zielsetzung wird zusätzlich festgesetzt, dass für einhüftige pult dächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gelten. der zur ermittlung der höhe |
| 2408724_8.pdf | rahmen erhält. zur erreichung dieser zielsetzung wird zusätzlich festgesetzt, dass für einhüftige pult dächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gelten. der zur ermittlung der höhe |
| 2408729_1.pdf | zu können. deshalb ist bei der errichtung eines geneigten daches bis einschließlich 25° dachneigung eine minimale gebäudehöhe von 6,00 metern und eine maximale gebäudehöhe von 8,00 metern einzuhalten. diese festsetzung soll der |
| 2408758_1.pdf | zu können. deshalb ist bei der errichtung eines geneigten daches bis einschließlich 25° dachneigung eine minimale gebäudehöhe von 6,00 metern und eine maximale gebäudehöhe von 8,00 metern einzuhalten. diese festsetzung ermöglicht besonders |
| 2408762_1.pdf | ist nicht ziel der städtebaulichen entwicklung. daher wird zusätzlich festgesetzt, dass für einhüftige pultdächer eine minimale gebäudehöhe von 5,00 metern und eine maximale ge bäudehöhe von 7,00 metern gelten. die überbaubare grundstücksfläche |
| 2408772_1.pdf | zur erreichung dieser zielsetzung wird zusätzlich festgesetzt, dass für einhüftige pultdächer sowie für flachdächer eine minimale gebäudehöhe von 5,00 metern und eine maximale von 7,00 metern gelten. der zur ermittlung der v.g |
Write results to csv
all_matches.to_csv(os.path.join(OUTPUT_FILE_PATH + KEYWORD + ".csv"), header=True)
The history saving thread hit an unexpected error (OperationalError('database is locked')).History will not be written to the database.