From d119f38f6f185f62d7f47f08a78a2be40aea1080 Mon Sep 17 00:00:00 2001 From: Reshinth Adithyan <36307201+reshinthadithyan@users.noreply.github.com> Date: Tue, 29 Nov 2022 23:18:44 +0530 Subject: [PATCH 1/3] Adding len --- README.md | 2 +- .../figure-commonmark/mermaid-figure-1.png | Bin 28561 -> 89658 bytes nbs/01_filter.ipynb | 40 +++++++++++++++++- nbs/sidebar.yml | 3 +- squeakily/_modidx.py | 2 + squeakily/filter.py | 38 ++++++++++++----- 6 files changed, 72 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 412de54..d8852a5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The overall pipeline is as follows:

+style="width:5.02in;height:0.71in" />

diff --git a/index_files/figure-commonmark/mermaid-figure-1.png b/index_files/figure-commonmark/mermaid-figure-1.png index b3708b295edb37f9e822fc97eb48087de739433c..016b0b452fce8fa5fa38011dc6ee2e2e2239f92f 100644 GIT binary patch literal 89658 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≪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 Nt0-waz}$Zt`ahKltu6on literal 28561 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 diff --git a/nbs/01_filter.ipynb b/nbs/01_filter.ipynb index e7b0e3c..1ced968 100644 --- a/nbs/01_filter.ipynb +++ b/nbs/01_filter.ipynb @@ -33,6 +33,7 @@ "import os\n", "import random\n", "import re\n", + "from transformers import AutoTokenizer\n", "\n", "import dill as pickle\n", "import networkit as nk\n", @@ -146,6 +147,43 @@ "assert check_char_repetition(test_str, char_repetition_len=3, char_repetition_threshold=0.2) == False" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#| export\n", + "def check_document_length_tokenized(\n", + " document:str, #document to be analyzed\n", + " tokenizer:AutoTokenizer, #tokenizer to tokenize the documents\n", + " document_lower_len_threshold:int = 10, #document length threshold to filter\n", + ") -> bool: #returns True if doument length is above threshold else False\n", + " \"\"\"\n", + " Returns True if it's above the threshold, else returns False\n", + " \"\"\"\n", + " tokenized = tokenizer(document).input_ids\n", + " if len(tokenized) > document_lower_len_threshold:\n", + " return True\n", + " else:\n", + " return False\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "test_str_false = \"single tok\"\n", + "test_str_true = \"Hello this is a long text document with the hopes of being greater than threshold\"\n", + "\n", + "trial_tokenizer = AutoTokenizer.from_pretrained(\"EleutherAI/gpt-neox-20b\")\n", + "assert check_document_length_tokenized(test_str_false,tokenizer=trial_tokenizer) == False\n", + "assert check_document_length_tokenized(test_str_true,tokenizer=trial_tokenizer) == True\n" + ] + }, { "cell_type": "code", "execution_count": null, @@ -733,7 +771,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.10.8 ('squeakily')", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" } diff --git a/nbs/sidebar.yml b/nbs/sidebar.yml index 804fbed..8676a45 100644 --- a/nbs/sidebar.yml +++ b/nbs/sidebar.yml @@ -5,4 +5,5 @@ website: - 00_core.ipynb - 01_filter.ipynb - 02_clean.ipynb - - 03_helpers.ipynb \ No newline at end of file + - 03_helpers.ipynb + - 04_tutorials.ipynb diff --git a/squeakily/_modidx.py b/squeakily/_modidx.py index 556a777..dfdaec8 100644 --- a/squeakily/_modidx.py +++ b/squeakily/_modidx.py @@ -28,6 +28,8 @@ 'squeakily.filter._jaccard_similarity': ('filter.html#_jaccard_similarity', 'squeakily/filter.py'), 'squeakily.filter._query_content': ('filter.html#_query_content', 'squeakily/filter.py'), 'squeakily.filter.check_char_repetition': ('filter.html#check_char_repetition', 'squeakily/filter.py'), + 'squeakily.filter.check_document_length_tokenized': ( 'filter.html#check_document_length_tokenized', + 'squeakily/filter.py'), 'squeakily.filter.check_exact_match': ('filter.html#check_exact_match', 'squeakily/filter.py'), 'squeakily.filter.check_flagged_words': ('filter.html#check_flagged_words', 'squeakily/filter.py'), 'squeakily.filter.minhash_dedup': ('filter.html#minhash_dedup', 'squeakily/filter.py')}, diff --git a/squeakily/filter.py b/squeakily/filter.py index e933bd8..0044402 100644 --- a/squeakily/filter.py +++ b/squeakily/filter.py @@ -1,7 +1,8 @@ # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/01_filter.ipynb. # %% auto 0 -__all__ = ['logger', 'MINHASH_SEED', 'NON_ALPHA', 'lsh', 'dup_ids', 'check_char_repetition', 'check_exact_match', 'minhash_dedup'] +__all__ = ['logger', 'MINHASH_SEED', 'NON_ALPHA', 'lsh', 'dup_ids', 'check_char_repetition', 'check_document_length_tokenized', + 'check_exact_match', 'minhash_dedup'] # %% ../nbs/01_filter.ipynb 2 import datasets @@ -12,6 +13,7 @@ import os import random import re +from transformers import AutoTokenizer import dill as pickle import networkit as nk @@ -80,9 +82,25 @@ def check_char_repetition( return char_rep_ratio <= char_repetition_threshold # %% ../nbs/01_filter.ipynb 8 +def check_document_length_tokenized( + document:str, #document to be analyzed + tokenizer:AutoTokenizer, #tokenizer to tokenize the documents + document_lower_len_threshold:int = 10, #document length threshold to filter +) -> bool: #returns True if doument length is above threshold else False + """ + Returns True if it's above the threshold, else returns False + """ + tokenized = tokenizer(document).input_ids + if len(tokenized) > document_lower_len_threshold: + return True + else: + return False + + +# %% ../nbs/01_filter.ipynb 10 def check_exact_match(): pass -# %% ../nbs/01_filter.ipynb 9 +# %% ../nbs/01_filter.ipynb 11 def _flag_word_ratio( doc: str, # document to be analyzed flagged_words: list, # list of flagged words @@ -101,7 +119,7 @@ def _flag_word_ratio( flagged_words_ratio = 1.0 return flagged_words_ratio -# %% ../nbs/01_filter.ipynb 10 +# %% ../nbs/01_filter.ipynb 12 def check_flagged_words( document: str, # document to be analyzed flagged_words: list = flagged_words["en"], # list of flagged words @@ -121,7 +139,7 @@ def check_flagged_words( cond = flagged_words_ratio <= flagged_words_threshold return cond -# %% ../nbs/01_filter.ipynb 15 +# %% ../nbs/01_filter.ipynb 17 multiprocessing.set_start_method("fork", force=True) MINHASH_SEED = 115 @@ -132,7 +150,7 @@ def check_flagged_words( lsh: MinHashLSH = None dup_ids: set[int] = None -# %% ../nbs/01_filter.ipynb 16 +# %% ../nbs/01_filter.ipynb 18 def _hash_func( idx: int, # The index of the record. content: str, # The content to be hashed. @@ -154,7 +172,7 @@ def _hash_func( m.update_batch([token.encode("utf-8") for token in {t for t in NON_ALPHA.split(content) if t}]) return {"__signature__": m.hashvalues, "__id__": idx} -# %% ../nbs/01_filter.ipynb 18 +# %% ../nbs/01_filter.ipynb 20 def _query_content( idx: int, # The index of the record. signature: np.ndarray, # The MinHash signature of the record to be queried. @@ -176,7 +194,7 @@ def _query_content( "__id__": idx, } -# %% ../nbs/01_filter.ipynb 20 +# %% ../nbs/01_filter.ipynb 22 def _jaccard_similarity( s1: str, # The first string to compare. s2: str # The second string to compare. @@ -188,7 +206,7 @@ def _jaccard_similarity( tokens2 = set([t for t in NON_ALPHA.split(s2) if t.strip()]) return len(tokens1 & tokens2) / max(1, len(tokens1 | tokens2)) -# %% ../nbs/01_filter.ipynb 22 +# %% ../nbs/01_filter.ipynb 24 def _calculate_average_false_positive_rate( clusters: list[list[int]], # The clusters of duplicate records. reference_records: Dataset, # The reference records. @@ -234,7 +252,7 @@ def _calculate_average_false_positive_rate( logger.info(f"- Mean: {np.mean(deltas):0.2f}") logger.info(f"- Std : {np.std(deltas):0.2f}") -# %% ../nbs/01_filter.ipynb 23 +# %% ../nbs/01_filter.ipynb 25 def _find_duplicate_communities( records: Dataset, # The dataset that contains both `__id__` and `__neighbors__`. community_detection: bool, # Whether to use community detection to find the duplicate communities, or to use the connected components. @@ -291,7 +309,7 @@ def _find_duplicate_communities( return to_remove -# %% ../nbs/01_filter.ipynb 24 +# %% ../nbs/01_filter.ipynb 26 def minhash_dedup( ds, # The dataset to deduplicate. column, # The column to use for deduplication. From 25e7e97df00e3e48d6ed2c06d69584a0fd5d376f Mon Sep 17 00:00:00 2001 From: Reshinth Adithyan <36307201+reshinthadithyan@users.noreply.github.com> Date: Tue, 29 Nov 2022 23:28:28 +0530 Subject: [PATCH 2/3] Adding reqs --- settings.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.ini b/settings.ini index f5a1755..ef63e67 100644 --- a/settings.ini +++ b/settings.ini @@ -25,7 +25,7 @@ keywords = nbdev jupyter notebook python language = English status = 3 user = CarperAI -requirements = datasketch==1.5.8 datasets==2.7.1 Faker==15.3.3 fastcore networkit rich +requirements = datasketch==1.5.8 datasets==2.7.1 Faker==15.3.3 fastcore networkit rich trasnsformers dev_requirements = nbdev scrubadub black_formatting = False readme_nb = index.ipynb From 0ae91c54ffb69472c0595d88cedc531df87aa12e Mon Sep 17 00:00:00 2001 From: Reshinth Adithyan <36307201+reshinthadithyan@users.noreply.github.com> Date: Wed, 30 Nov 2022 09:36:30 +0530 Subject: [PATCH 3/3] Fix ini --- settings.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings.ini b/settings.ini index ef63e67..1eb3e37 100644 --- a/settings.ini +++ b/settings.ini @@ -25,7 +25,7 @@ keywords = nbdev jupyter notebook python language = English status = 3 user = CarperAI -requirements = datasketch==1.5.8 datasets==2.7.1 Faker==15.3.3 fastcore networkit rich trasnsformers +requirements = datasketch==1.5.8 datasets==2.7.1 Faker==15.3.3 fastcore networkit rich transformers dev_requirements = nbdev scrubadub black_formatting = False readme_nb = index.ipynb