Package: keytext
keyword based text extraction toolkit (keytext)What is it?keytextis an all-in-one versatile and efficient Python package designed for keyword-based text search, manipulation, and data cleansing. Whether you need toextract contextual information around specific keywords,remove unwanted terms from texts and dataframes,precisely locate the positions of keywords within a Pandas DataFrame,replacing single or a set of keywords, keytext is your indispensable toolkit for advanced robust toolkit text analysis and data management.Main FeaturesHere are just a few of the things that keytext does well:Keyword Positioning: Locate the exact start and end positions of a keyword within a given text, facilitating precise information retrieval.Keyword Frequency: Extract the count of a keyword or set of keywords within a given text, facilitating precise information retrieval.Replacing keyword: Replace a single keyword or list of keywords with its corresponding replacement(s) in the given text.Contextual Extraction: Extract left and right texts, characters, words, and sentences surrounding a specified keyword as well as words between .Flexible Configuration: Customize the number of left and right characters, words, or sentences to tailor the extraction to your specific requirements.Text Between Keywords: Extract the text between two occurrences of the same keyword, offering deeper insights into the context of your data.Word Removal: Efficiently remove a list of specified words from texts, enhancing text cleanliness and relevance.Dataframe Cleansing: Seamlessly remove unwanted words from text columns in Pandas DataFrames, ensuring data integrity.Cell Positioning in DataFrame: Identify the row and column positions of a keyword within a Pandas DataFrame, enabling precise data manipulation.Random Pattern Search: Check for list of arbitrary patterns or regular expressions within the text data of a DataFrame, uncovering hidden insights and potential correlations.Easy Integration: Integrate keytext into your Python projects effortlessly, enhancing your text processing and data cleansing workflows.Installation ProcedurePyPI
pipinstallkeytextDependencies:Regex - Adds support to itterating and finding keywords from the text and dataframePandas - Adds support to deal with dataframeFunctionalities (with parameters description):keytext.keywords_occurrences(keywords, text)- text (str): The input text
- keywords (str or list): The keyword or a list of keywords to count occurrences for
- Returns a dictionary mapping each keyword to its frequency in the textkeytext.replace_keywords(keywords, replacements, text)- text (str): The input text
- keyword (str or list): The keyword or a list of keywords to be replaced
- replacement (str or list): The replacement string or a list of replacement strings corresponding to the keyword(s)
- Returns the text with replacementskeytext.keypos_text(keyword, text)- text (str): The input text
- keyword (str): The keyword need to be searched
- Return all starting and ending position of the keyword from a text
- Output will be in list of tupleskeytext.extract_sents(keyword, text, format)- text (str): The input text
- keyword (str): The keyword need to be searched in the sentences of given text
- format (str): By default format is l, that means list of sentences. If we pass p then the outpt format will be paragraph.
- This function extract all the sentences from a giuven text that contain the keywordkeytext.extract_words(keyword, text, left, right)- text (str): The input text
- keyword (str): The keyword need to be searched in the given text
- left (int): The number of words from the left side of the keyword
- right (int): The number of words from the right side of the keyword
- This function extract the neighbourhood words of the keyword from a given text.
- In case of left_w = 0, right_w = n it will provide n number of words from the right side of the keyword
- In case of left_w = m, right_w = 0 it will provide m number of words from the left side of the keyword
- In case of left_w = m, right_w = n it will provide m left words and n right words of the keywordkeytext.extract_chr(keyword, text, left_chr, right_chr)- text (str): The input text
- keyword (str): The keyword need to be searched in the given text
- left_chr (int): The number of charecters from the left side of the keyword
- right_chr (int): The number of charecters from the right side of the keyword
- This function extract the neighbourhood charecters of the keyword from a given text.
- In case of left_chr = 0, right_chr = n it will provide n number of charecters from the right side of the keyword
- In case of left_chr = m, right_chr = 0 it will provide m number of charecters from the left side of the keyword
- In case of left_chr = m, right_chr = n it will provide m left charecters and n right charecters of the keywordkeytext.left_texts(keyword, text, occurrence)- text (str): The input text
- keyword (str): The keyword need to be searched in the given text
- occurrence (int or str): The number of charecters from the left side of the keyword, Occurene should be 1,2,...,n,'all'
- This function will return the left side of the keyword i.e. from the keyword to beginning of the text based on all occurence of keyword
- If we pass the 1 or 2 in occurence then it will return the left side text of 1st or 2nd occurence of the keyword from a text
- Provid the output in list format if occurence is "all"keytext.right_texts(keyword, text, occurrence)- text (str): The input text
- keyword (str): The keyword need to be searched in the given text
- occurrence (int or str): The number of charecters from the left side of the keyword, Occurene should be 1,2,...,n,'all'
- occurence means the repeation of the keyword in  text
- This function will return the right side of the keyword i.e. from the keyword to ending of the text based on all occurence of keyword
- If we pass the 1 in occurence then it will return the right side text of 1st occurence of the keyword from a text
- Provid the output in list format if occurence is "all"keytext.between_fixed_keyword(keyword, text)- text (str): The input text
- keyword (str): The keyword replicating in given text
- Provide the part of the text between two same keyword
- Output will come in list formatkeytext.between_distinct_keywords(keyword_start, keyword_end, text, keyword_start_occurence, keyword_end_occurence)- text (str): The input text
- keyword_start (str): The starting keyword
- keyword_end (str): The ending keyword that should be different from strating keyword
- keyword_start_occurence (int): indicates the the repeatition of the starting keyword in given string
- keyword_end_occurence (int): indicates the the repeatition of the ending keyword in given string
- Provide the part of the text between two distinct keyword
- Output will come in list format
- For getting all snap texts in list format pass keyword_start_occurence = 0 and keyword_end_occurence = 0keytext.text_keyword_remover(remover_list, text, replaced_by)- text (str): The input text
- remover_list (list): List of keywords along with regex patterns need to be removed
- replaced_by (str): Replacing the unwanted list of keyword or patterns with some special charecters like space(" ")
- Non alphanumeric charecters need to be write in regex format
- Return the text after removing the unranted keyword or patternskeytext.text_pattern_finder(pattern_list, text)- text (str): The input text
- pattern_list (list): List of regex patterns need to be searched within the text
- It will return the matched word with locationkeytext.keypos_df(keyword, dataframe)- dataframe (dataframe): The input table
- keyword (str): The keyword need to be searched in the dataframe
- Return all cells position of the keyword from a giuven dataframe
- Output will be in list of tupleskeytext.dataframe_keyword_remover(remover_list, dataframe, replaced_by)- dataframe (dataframe): The input table
- remover_list (list): List of keywords along with regex patterns need to be removed
- replaced_by (str): Replacing the unwanted list of keyword or patterns with some special charecters like space(" ")
- This function remove the keyword from the dataframe
- Non alphanumeric charecters need to be write in regex formatkeytext.dataframe_pattern_finder(pattern, dataframe)- dataframe (dataframe): The input table
- pattern (str): List of regex patterns need to be searched within the dataframe
- This function find the list of regex patterns from the dataframe
- It will return the matched word with cell identityContributing to keytextAll contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
Feel free to ask questions on themailing listChange Log0.1 (03/01/2024)First Release0.2 (03/01/2024)Second Release0.3 (03/01/2024)Third Release0.4 (04/01/2024)Fourth Release0.5 (24/01/2024)Fifth Release