├── Chapter9_notebooks ├── requirements__Ch9_Completing_a_Complex_Analysis_with_a_Team_of_LLM_Agents.txt ├── README.md ├── record.pickle ├── requirements__Ch9_Advanced_Methods_with_Chains.txt ├── requirements__Ch9_Advanced_LangChain_Configurations_and_Pipeline.txt ├── requirements__Ch9_Retrieve_Content_from_a_YouTube_Video_and_Summarize.txt └── requirements__Ch9_RAGLlamaIndex_Prompt_Compression.txt ├── Chapter5_notebooks ├── README.md └── requirements__Ch5_Text_Classification_Traditional_ML.txt ├── Chapter6_notebooks ├── README.md └── requirements__Ch6_Text_Classification_DL.txt ├── Chapter8_notebooks ├── README.md ├── requirements__Ch8_Setting_Up_Close_Source_and_Open_Source_LLMs.txt ├── requirements__Ch8_Setting_Up_LangChain_Configurations_and_Pipeline.txt └── mocked_up_physician_records.csv ├── Chapter4_notebooks ├── README.md ├── requirements__Ch4_NER_and_POS.txt ├── requirements__Ch4_Preprocessing_Pipeline.txt └── Ch4_Preprocessing_Pipeline.ipynb ├── LICENSE └── README.md /Chapter9_notebooks/requirements__Ch9_Completing_a_Complex_Analysis_with_a_Team_of_LLM_Agents.txt: -------------------------------------------------------------------------------- 1 | pyautogen==0.2.23 -------------------------------------------------------------------------------- /Chapter5_notebooks/README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs: Chapter 5 2 | All codes for chapter 5 verified and updated for 2025. -------------------------------------------------------------------------------- /Chapter6_notebooks/README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs: Chapter 6 2 | All codes for chapter 6 verified and updated for 2025. -------------------------------------------------------------------------------- /Chapter8_notebooks/README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs: Chapter 8 2 | All codes for chapter 8 verified and updated for 2025. -------------------------------------------------------------------------------- /Chapter9_notebooks/README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs: Chapter 9 2 | All codes for chapter 9 verified and updated for 2025. -------------------------------------------------------------------------------- /Chapter4_notebooks/README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs: Chapter 4 2 | All codes for chapter 4 verified and updated for 2025. 3 | -------------------------------------------------------------------------------- /Chapter9_notebooks/record.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/HEAD/Chapter9_notebooks/record.pickle -------------------------------------------------------------------------------- /Chapter8_notebooks/requirements__Ch8_Setting_Up_Close_Source_and_Open_Source_LLMs.txt: -------------------------------------------------------------------------------- 1 | openai==1.17.0 2 | regex==2023.12.25 3 | scikit-image==0.19.3 4 | scikit-learn==1.2.2 5 | scipy==1.11.4 6 | transformers==4.39.3 -------------------------------------------------------------------------------- /Chapter9_notebooks/requirements__Ch9_Advanced_Methods_with_Chains.txt: -------------------------------------------------------------------------------- 1 | langchain==0.1.16 2 | langchain-community==0.0.32 3 | langchain-core==0.3.74 4 | langchain-openai==0.1.3 5 | langchain-text-splitters==0.0.1 6 | -------------------------------------------------------------------------------- /Chapter8_notebooks/requirements__Ch8_Setting_Up_LangChain_Configurations_and_Pipeline.txt: -------------------------------------------------------------------------------- 1 | faiss-cpu==1.8.0 2 | langchain==0.1.16 3 | langchain-community 4 | langchain-core==0.1.42 5 | langchain-text-splitters==0.0.1 6 | regex==2023.12.25 7 | sentence-transformers==2.6.1 -------------------------------------------------------------------------------- /Chapter9_notebooks/requirements__Ch9_Advanced_LangChain_Configurations_and_Pipeline.txt: -------------------------------------------------------------------------------- 1 | faiss-cpu==1.8.0 2 | gpt4all==1.0.12 3 | langchain==0.1.16 4 | langchain-community 5 | langchain-core==0.3.74 6 | langchain-text-splitters==0.0.1 7 | openai==0.28.1 8 | sentence-transformers==2.6.1 9 | -------------------------------------------------------------------------------- /Chapter4_notebooks/requirements__Ch4_NER_and_POS.txt: -------------------------------------------------------------------------------- 1 | en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl#sha256=86cc141f63942d4b2c5fcee06630fd6f904788d2f0ab005cce45aadb8fb73889 2 | spacy==3.7.4 3 | spacy-legacy==3.0.12 4 | spacy-loggers==1.0.5 5 | -------------------------------------------------------------------------------- /Chapter4_notebooks/requirements__Ch4_Preprocessing_Pipeline.txt: -------------------------------------------------------------------------------- 1 | autocorrect==2.6.1 2 | en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl#sha256=86cc141f63942d4b2c5fcee06630fd6f904788d2f0ab005cce45aadb8fb73889 3 | nltk==3.8.1 4 | num2words==0.5.13 5 | regex==2023.12.25 6 | scipy==1.11.4 7 | -------------------------------------------------------------------------------- /Chapter5_notebooks/requirements__Ch5_Text_Classification_Traditional_ML.txt: -------------------------------------------------------------------------------- 1 | autocorrect==2.6.1 2 | datasets==2.18.0 3 | en-core-web-sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.7.1/en_core_web_sm-3.7.1-py3-none-any.whl#sha256=86cc141f63942d4b2c5fcee06630fd6f904788d2f0ab005cce45aadb8fb73889 4 | huggingface-hub==0.20.3 5 | matplotlib==3.7.1 6 | matplotlib-inline==0.1.6 7 | matplotlib-venn==0.11.10 8 | nltk==3.8.1 9 | num2words==0.5.13 10 | regex==2023.12.25 11 | scikit-image==0.19.3 12 | scikit-learn==1.2.2 13 | scipy==1.11.4 14 | spacy==3.7.4 15 | spacy-legacy==3.0.12 16 | spacy-loggers==1.0.5 -------------------------------------------------------------------------------- /Chapter6_notebooks/requirements__Ch6_Text_Classification_DL.txt: -------------------------------------------------------------------------------- 1 | accelerate==0.29.2 2 | autocorrect==2.6.1 3 | datasets==2.18.0 4 | evaluate==0.4.1 5 | matplotlib==3.7.1 6 | matplotlib-inline==0.1.6 7 | matplotlib-venn==0.11.10 8 | nltk==3.8.1 9 | num2words==0.5.13 10 | regex==2023.12.25 11 | scikit-image==0.19.3 12 | scikit-learn==1.2.2 13 | scipy==1.11.4 14 | spacy==3.7.4 15 | spacy-legacy==3.0.12 16 | spacy-loggers==1.0.5 17 | sympy 18 | torch @ https://download.pytorch.org/whl/cu121/torch-2.2.1%2Bcu121-cp310-cp310-linux_x86_64.whl#sha256=1adf430f01ff649c848ac021785e18007b0714fdde68e4e65bd0c640bf3fb8e1 19 | transformers==4.28.0 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Packt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Chapter8_notebooks/mocked_up_physician_records.csv: -------------------------------------------------------------------------------- 1 | "Title: Mocked up record 2 | Physician Name: Dr. ABC 3 | Date: June 25, 2099 4 | Patient ID: 987654321 5 | Chief Complaint: Abdominal pain 6 | 7 | History of Present Illness: 8 | The patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel. 9 | 10 | During the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations. 11 | 12 | Regarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements. 13 | 14 | Based on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain." 15 | "Title: Mocked up record 16 | Physician Name: Dr. ABC 17 | Date: November 15, 2099 18 | Patient ID: 123456789 19 | Chief Complaint: Fatigue and joint pain 20 | 21 | History of Present Illness: 22 | The patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country. 23 | 24 | During the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy. 25 | 26 | Regarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints. 27 | 28 | Given the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary." 29 | "Title: Mocked up record 30 | Physician Name: Dr. ABC 31 | Date: November 28, 2099 32 | Patient ID: 987654321 33 | Chief Complaint: Migraine Headaches 34 | 35 | History of Present Illness: 36 | Title: Mocked up record 37 | The patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area. 38 | 39 | During the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule. 40 | 41 | Regarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month. 42 | 43 | Based on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life." 44 | "Title: Mocked up record 45 | Physician Name: Dr. ABC 46 | Date: July 10, 2099 47 | Patient ID: 246813579 48 | Chief Complaint: Pregnancy Follow-up 49 | 50 | History of Present Illness: 51 | The patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband. 52 | 53 | During the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies. 54 | 55 | Regarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy. 56 | 57 | Based on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood." 58 | -------------------------------------------------------------------------------- /Chapter9_notebooks/requirements__Ch9_Retrieve_Content_from_a_YouTube_Video_and_Summarize.txt: -------------------------------------------------------------------------------- 1 | accelerate==1.6.0 2 | aiohappyeyeballs==2.6.1 3 | aiohttp==3.11.16 4 | aiosignal==1.3.1 5 | alembic==1.13.2 6 | annotated-types==0.7.0 7 | anyio==4.4.0 8 | argon2-cffi==23.1.0 9 | argon2-cffi-bindings==21.2.0 10 | arrow==1.3.0 11 | asgiref==3.8.1 12 | asttokens==2.4.1 13 | async-lru==2.0.5 14 | async-timeout==4.0.2 15 | asyncer==0.0.8 16 | attrs==23.1.0 17 | autocorrect==2.6.1 18 | babel==2.17.0 19 | backoff==2.2.1 20 | bcrypt==4.2.0 21 | beautifulsoup4==4.12.3 22 | bleach==6.2.0 23 | blis==1.2.0 24 | build==1.2.2 25 | cachetools==5.5.0 26 | catalogue==2.0.10 27 | certifi==2023.5.7 28 | cffi==1.17.1 29 | charset-normalizer==3.1.0 30 | chroma-hnswlib==0.7.3 31 | chromadb==0.4.24 32 | click==8.1.7 33 | cloudpathlib==0.21.0 34 | colorama==0.4.6 35 | coloredlogs==15.0.1 36 | comm==0.2.2 37 | confection==0.1.5 38 | contourpy==1.3.1 39 | cycler==0.12.1 40 | cymem==2.0.11 41 | dataclasses-json==0.6.7 42 | datasets==3.5.0 43 | debugpy==1.8.5 44 | decorator==5.1.1 45 | defusedxml==0.7.1 46 | Deprecated==1.2.14 47 | dill==0.3.8 48 | dirtyjson==1.0.8 49 | diskcache==5.6.3 50 | distro==1.9.0 51 | docker==7.1.0 52 | docopt==0.6.2 53 | docstring_parser==0.16 54 | embedchain==0.1.100 55 | en_core_web_sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl#sha256=1932429db727d4bff3deed6b34cfc05df17794f4a52eeb26cf8928f7c1a0fb85 56 | evaluate==0.4.3 57 | executing==2.1.0 58 | faiss-cpu==1.10.0 59 | fastapi==0.114.0 60 | fastjsonschema==2.21.1 61 | filelock==3.16.0 62 | flatbuffers==24.3.25 63 | fonttools==4.56.0 64 | fqdn==1.5.1 65 | frozenlist==1.3.3 66 | fsspec==2024.9.0 67 | gensim==4.3.3 68 | google-api-core==2.19.2 69 | google-auth==2.34.0 70 | google-cloud-aiplatform==1.65.0 71 | google-cloud-bigquery==3.25.0 72 | google-cloud-core==2.4.1 73 | google-cloud-resource-manager==1.12.5 74 | google-cloud-storage==2.18.2 75 | google-crc32c==1.6.0 76 | google-resumable-media==2.7.2 77 | googleapis-common-protos==1.65.0 78 | gpt4all==1.0.12 79 | gptcache==0.1.44 80 | greenlet==3.0.3 81 | grpc-google-iam-v1==0.13.1 82 | grpcio==1.66.1 83 | grpcio-status==1.62.3 84 | h11==0.14.0 85 | httpcore==1.0.5 86 | httptools==0.6.1 87 | httpx==0.28.1 88 | httpx-sse==0.4.0 89 | huggingface-hub==0.30.1 90 | humanfriendly==10.0 91 | idna==3.4 92 | imageio==2.37.0 93 | importlib_metadata==8.4.0 94 | importlib_resources==6.4.4 95 | ipykernel==6.29.5 96 | ipython==8.27.0 97 | ipywidgets==8.1.5 98 | isoduration==20.11.0 99 | jedi==0.19.1 100 | Jinja2==3.1.6 101 | jiter==0.5.0 102 | joblib==1.4.2 103 | json5==0.10.0 104 | jsonpatch==1.33 105 | jsonpointer==3.0.0 106 | jsonschema==4.23.0 107 | jsonschema-specifications==2024.10.1 108 | jupyter==1.1.1 109 | jupyter-console==6.6.3 110 | jupyter-events==0.12.0 111 | jupyter-lsp==2.2.5 112 | jupyter_client==8.6.2 113 | jupyter_core==5.7.2 114 | jupyter_server==2.15.0 115 | jupyter_server_terminals==0.5.3 116 | jupyterlab==4.3.6 117 | jupyterlab_pygments==0.3.0 118 | jupyterlab_server==2.27.3 119 | jupyterlab_widgets==3.0.13 120 | kiwisolver==1.4.8 121 | kubernetes==30.1.0 122 | langchain==0.1.20 123 | langchain-community==0.0.38 124 | langchain-core==0.1.53 125 | langchain-openai==0.0.5 126 | langchain-text-splitters==0.0.2 127 | langcodes==3.5.0 128 | langsmith==0.1.147 129 | language_data==1.3.0 130 | lazy_loader==0.4 131 | llama-index==0.10.7 132 | llama-index-agent-openai==0.1.7 133 | llama-index-core==0.10.68.post1 134 | llama-index-embeddings-openai==0.1.11 135 | llama-index-legacy==0.9.48.post4 136 | llama-index-llms-openai==0.1.31 137 | llama-index-multi-modal-llms-openai==0.1.9 138 | llama-index-postprocessor-longllmlingua==0.1.2 139 | llama-index-program-openai==0.1.7 140 | llama-index-question-gen-openai==0.1.3 141 | llama-index-readers-file==0.1.33 142 | llmlingua==0.2.2 143 | Mako==1.3.5 144 | marisa-trie==1.2.1 145 | Markdown==3.7 146 | markdown-it-py==3.0.0 147 | MarkupSafe==2.1.5 148 | marshmallow==3.22.0 149 | matplotlib==3.10.1 150 | matplotlib-inline==0.1.7 151 | mdurl==0.1.2 152 | mistune==3.1.3 153 | mmh3==4.1.0 154 | monotonic==1.6 155 | mpmath==1.3.0 156 | multidict==6.0.4 157 | multiprocess==0.70.16 158 | murmurhash==1.0.12 159 | mypy-extensions==1.0.0 160 | narwhals==1.31.0 161 | nbclient==0.10.2 162 | nbconvert==7.16.6 163 | nbformat==5.10.4 164 | nest-asyncio==1.6.0 165 | networkx==3.4.2 166 | nltk==3.9.1 167 | notebook==7.3.3 168 | notebook_shim==0.2.4 169 | num2words==0.5.14 170 | numpy==1.26.4 171 | oauthlib==3.2.2 172 | onnxruntime==1.19.2 173 | openai==1.75.0 174 | opentelemetry-api==1.27.0 175 | opentelemetry-exporter-otlp-proto-common==1.27.0 176 | opentelemetry-exporter-otlp-proto-grpc==1.27.0 177 | opentelemetry-instrumentation==0.48b0 178 | opentelemetry-instrumentation-asgi==0.48b0 179 | opentelemetry-instrumentation-fastapi==0.48b0 180 | opentelemetry-proto==1.27.0 181 | opentelemetry-sdk==1.27.0 182 | opentelemetry-semantic-conventions==0.48b0 183 | opentelemetry-util-http==0.48b0 184 | orjson==3.10.7 185 | overrides==7.7.0 186 | packaging==23.2 187 | pandas==2.2.2 188 | pandocfilters==1.5.1 189 | parso==0.8.4 190 | pillow==11.1.0 191 | platformdirs==4.2.2 192 | plotly==6.0.1 193 | posthog==3.6.3 194 | preshed==3.0.9 195 | prometheus_client==0.21.1 196 | prompt_toolkit==3.0.47 197 | propcache==0.3.1 198 | proto-plus==1.24.0 199 | protobuf==4.25.4 200 | psutil==6.0.0 201 | pulsar-client==3.5.0 202 | pure_eval==0.2.3 203 | pyarrow==19.0.1 204 | pyasn1==0.6.0 205 | pyasn1_modules==0.4.0 206 | pyautogen==0.8.7 207 | pycparser==2.22 208 | pydantic==2.9.0 209 | pydantic-settings==2.8.1 210 | pydantic_core==2.23.2 211 | Pygments==2.18.0 212 | pyparsing==3.2.3 213 | pypdf==6.0.0 214 | PyPika==0.48.9 215 | pyproject_hooks==1.1.0 216 | pyreadline3==3.4.1 217 | pysbd==0.3.4 218 | python-dateutil==2.9.0.post0 219 | python-dotenv==1.0.1 220 | python-json-logger==3.3.0 221 | pytube==15.0.0 222 | pytz==2024.1 223 | pywin32==306 224 | pywinpty==2.0.15 225 | PyYAML==6.0.2 226 | pyzmq==26.2.0 227 | referencing==0.36.2 228 | regex==2024.7.24 229 | requests==2.32.3 230 | requests-oauthlib==2.0.0 231 | requests-toolbelt==1.0.0 232 | rfc3339-validator==0.1.4 233 | rfc3986-validator==0.1.1 234 | rich==13.8.0 235 | rpds-py==0.24.0 236 | rsa==4.9 237 | safetensors==0.5.3 238 | schema==0.7.7 239 | scikit-image==0.25.2 240 | scikit-learn==1.6.1 241 | scipy==1.13.1 242 | Send2Trash==1.8.3 243 | sentence-transformers==4.0.2 244 | shapely==2.0.6 245 | shellingham==1.5.4 246 | six==1.16.0 247 | smart-open==7.1.0 248 | sniffio==1.3.1 249 | soupsieve==2.6 250 | spacy==3.8.4 251 | spacy-legacy==3.0.12 252 | spacy-loggers==1.0.5 253 | SQLAlchemy==2.0.34 254 | srsly==2.5.1 255 | stack-data==0.6.3 256 | starlette==0.38.4 257 | striprtf==0.0.26 258 | sympy==1.13.1 259 | tenacity==8.5.0 260 | termcolor==3.0.1 261 | terminado==0.18.1 262 | thinc==8.3.4 263 | threadpoolctl==3.6.0 264 | tifffile==2025.3.30 265 | tiktoken==0.5.2 266 | tinycss2==1.4.0 267 | tokenizers==0.21.1 268 | torch==2.6.0 269 | tornado==6.4.1 270 | tqdm==4.67.1 271 | traitlets==5.14.3 272 | transformers==4.51.2 273 | typer==0.12.5 274 | types-python-dateutil==2.9.0.20241206 275 | typing-inspect==0.9.0 276 | typing_extensions==4.12.2 277 | tzdata==2024.1 278 | uri-template==1.3.0 279 | urllib3==2.0.3 280 | uvicorn==0.30.6 281 | wasabi==1.1.3 282 | watchfiles==0.24.0 283 | wcwidth==0.2.13 284 | weasel==0.4.1 285 | webcolors==24.11.1 286 | webencodings==0.5.1 287 | websocket-client==1.8.0 288 | websockets==13.0.1 289 | widgetsnbextension==4.0.13 290 | wordcloud==1.9.4 291 | wrapt==1.16.0 292 | xxhash==3.5.0 293 | yarl==1.20.0 294 | youtube-transcript-api==1.2.2 295 | zipp==3.20.1 296 | zstandard==0.23.0 297 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mastering NLP from Foundations to LLMs 2 | ``` 3 | All codes are refactored/updated per April 2025. 4 | ``` 5 | 6 | Mastering NLP from Foundations to LLMs 7 | This is the code repository for [Mastering NLP from Foundations to LLMs](https://www.packtpub.com/product/mastering-nlp-from-foundations-to-llms/9781804619186), published by Packt. 8 | 9 | **Apply advanced rule-based techniques to LLMs and solve real-world business problems using Python** 10 | 11 | ## About Authors: 12 | - [Lior Gazit](https://www.linkedin.com/in/liorgazit) is a highly skilled ML professional with a proven track record of success in building and leading teams that use ML to drive business growth. He is an expert in NLP and has successfully developed innovative ML pipelines and products. He holds a master’s degree and has published in peer-reviewed journals and conferences. As a senior director of a ML group in the financial sector and a principal ML advisor at an emerging start-up, Lior is a respected leader in the industry, with a wealth of knowledge and experience to share. With much passion and inspiration, Lior is dedicated to using ML to drive positive change and growth in his organizations. 13 | 14 | - [Meysam Ghaffari](https://www.linkedin.com/in/meysam-ghaffari-ph-d-a2553088/) is a senior data scientist with a strong background in NLP and deep learning. He currently works at MSKCC, where he specializes in developing and improving ML and NLP models for healthcare problems. He has over nine years of experience in ML and over four years of experience in NLP and deep learning. He received his Ph.D. in computer science from Florida State University, his MS in computer science – artificial intelligence from the Isfahan University of Technology, and his BS in computer science from Iran University of Science and Technology. He also worked as a post-doctoral research associate at the University of Wisconsin-Madison before joining MSKCC. 15 | 16 | 17 | Enhance your NLP proficiency with modern frameworks like LangChain, explore mathematical foundations and code samples, and gain expert insights into current and future trends 18 | 19 | ### Key Features 20 | * Learn how to build Python-driven solutions with a focus on NLP, LLMs, RAGs, and GPT 21 | * Master embedding techniques and machine learning principles for real-world applications 22 | * Understand the mathematical foundations of NLP and deep learning designs 23 | Purchase of the print or Kindle book includes a free PDF eBook 24 | 25 | If you feel this book is for you, get your [copy](https://www.amazon.com/Mastering-NLP-Foundations-LLMs-Techniques/dp/1804619183/ref=sr_1_1?sr=8-1) today! 26 | 27 | ### Book Description 28 | Do you want to master Natural Language Processing (NLP) but don’t know where to begin? This book will give you the right head start. Written by leaders in machine learning and NLP, Mastering NLP from Foundations to LLMs provides an in-depth introduction to techniques. Starting with the mathematical foundations of machine learning (ML), you’ll gradually progress to advanced NLP applications such as large language models (LLMs) and AI applications. You’ll get to grips with linear algebra, optimization, probability, and statistics, which are essential for understanding and implementing machine learning and NLP algorithms. You’ll also explore general machine learning techniques and find out how they relate to NLP. Next, you’ll learn how to preprocess text data, explore methods for cleaning and preparing text for analysis, and understand how to do text classification. You’ll get all of this and more along with complete Python code samples. 29 | 30 | By the end of the book, the advanced topics of LLMs’ theory, design, and applications will be discussed along with the future trends in NLP, which will feature expert opinions. You’ll also get to strengthen your practical skills by working on sample real-world NLP business problems and solutions. 31 | 32 | ### What you will learn 33 | * Master the mathematical foundations of machine learning and NLP Implement advanced techniques for preprocessing text data and analysis Design ML-NLP systems in Python 34 | * Model and classify text using traditional machine learning and deep learning methods 35 | * Understand the theory and design of LLMs and their implementation for various applications in AI 36 | * Explore NLP insights, trends, and expert opinions on its future direction and potential 37 | 38 | ## Instructions and Navigations 39 | All of the code is organized into folders. 40 | 41 | The code will look like the following: 42 | ``` 43 | import pandas as pd 44 | import matplotlib.pyplot as plt 45 | # Load the record dict from URL 46 | import requests 47 | import pickle 48 | ``` 49 | 50 | ### Who this book is for 51 | This book is for deep learning and machine learning researchers, NLP practitioners, ML/NLP educators, and STEM students. Professionals working with text data as part of their projects will also find plenty of useful information in this book. Beginner-level familiarity with machine learning and a basic working knowledge of Python will help you get the best out of this book. 52 | 53 | With the following software and hardware list you can run all code files present in the book (Chapter 1-11). 54 | 55 | ### Software and Hardware List 56 | 57 | | Chapter | Software required | OS required | 58 | | -------- | -------------------------------------------------------------------------------------| -----------------------------------| 59 | | 1-11 | Access to a Python environment via one of the following: Accessing Google Colab, which is free and easy from any browser on any device (recommended). A local/cloud development environment of Python with the ability to install public packages and access OpenAI’s API | Windows, macOS or Linux | 60 | | 1-11 | Sufficient computation resources, as follows: The previously recommended free access to Google Colab includes a free GPU instance. If opting to avoid Google Colab, the local/cloud environment should have a GPU for several code examples | | 61 | 62 | 63 | ### Table of Contents 64 | 1. Navigating the NLP Landscape: A comprehensive introduction 65 | 1. Mastering Linear Algebra, Probability, and Statistics for Machine Learning and NLP 66 | 1. Unleashing Machine Learning Potentials in NLP 67 | 1. Streamlining Text Preprocessing Techniques for Optimal NLP Performance ([Notebooks for chapter 4](https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/tree/main/Chapter4_notebooks)) 68 | 1. Empowering Text Classification: Leveraging Traditional Machine Learning Techniques ([Notebooks for chapter 5](https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/tree/main/Chapter5_notebooks)) 69 | 1. Text Classification Reimagined: Delving Deep into Deep Learning Language Models ([Notebooks for chapter 6](https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/tree/main/Chapter6_notebooks)) 70 | 1. Demystifying Large Language Models: Theory, Design, and Langchain Implementation 71 | 1. Accessing the Power of Large Language Models: Advanced Setup and Integration with RAG ([Notebooks for chapter 8](https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/tree/main/Chapter8_notebooks)) 72 | 1. Exploring the Frontiers: Advanced Applications and Innovations Driven by LLMs ([Notebooks for chapter 9](https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/tree/main/Chapter9_notebooks)) 73 | 1. Riding the Wave: Analyzing Past, Present, and Future Trends Shaped by LLMs and AI 74 | 1. Exclusive Industry Insights: Perspectives and Predictions from World Class Experts 75 | -------------------------------------------------------------------------------- /Chapter9_notebooks/requirements__Ch9_RAGLlamaIndex_Prompt_Compression.txt: -------------------------------------------------------------------------------- 1 | absl-py==1.4.0 2 | accelerate==1.5.2 3 | aiohappyeyeballs==2.6.1 4 | aiohttp==3.11.15 5 | aiosignal==1.3.2 6 | alabaster==1.0.0 7 | albucore==0.0.23 8 | albumentations==2.0.5 9 | ale-py==0.10.2 10 | altair==5.5.0 11 | annotated-types==0.7.0 12 | anyio==4.9.0 13 | argon2-cffi==23.1.0 14 | argon2-cffi-bindings==21.2.0 15 | array_record==0.7.1 16 | arviz==0.21.0 17 | astropy==7.0.1 18 | astropy-iers-data==0.2025.4.14.0.37.22 19 | astunparse==1.6.3 20 | atpublic==5.1 21 | attrs==25.3.0 22 | audioread==3.0.1 23 | autograd==1.7.0 24 | babel==2.17.0 25 | backcall==0.2.0 26 | backports.tarfile==1.2.0 27 | banks==2.1.1 28 | beautifulsoup4==4.13.4 29 | betterproto==2.0.0b6 30 | bigframes==1.42.0 31 | bigquery-magics==0.9.0 32 | bitsandbytes==0.45.5 33 | bleach==6.2.0 34 | blinker==1.9.0 35 | blis==1.3.0 36 | blosc2==3.3.0 37 | bokeh==3.6.3 38 | Bottleneck==1.4.2 39 | bqplot==0.12.44 40 | branca==0.8.1 41 | CacheControl==0.14.2 42 | cachetools==5.5.2 43 | catalogue==2.0.10 44 | certifi==2025.1.31 45 | cffi==1.17.1 46 | chardet==5.2.0 47 | charset-normalizer==3.4.1 48 | chex==0.1.89 49 | clarabel==0.10.0 50 | click==8.1.8 51 | cloudpathlib==0.21.0 52 | cloudpickle==3.1.1 53 | cmake==3.31.6 54 | cmdstanpy==1.2.5 55 | colorama==0.4.6 56 | colorcet==3.1.0 57 | colorlover==0.3.0 58 | colour==0.1.5 59 | community==1.0.0b1 60 | confection==0.1.5 61 | cons==0.4.6 62 | contourpy==1.3.2 63 | cramjam==2.10.0 64 | cryptography==43.0.3 65 | cuda-python==12.6.2.post1 66 | cudf-cu12 @ https://pypi.nvidia.com/cudf-cu12/cudf_cu12-25.2.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl 67 | cudf-polars-cu12==25.2.2 68 | cufflinks==0.17.3 69 | cuml-cu12==25.2.1 70 | cupy-cuda12x==13.3.0 71 | cuvs-cu12==25.2.1 72 | cvxopt==1.3.2 73 | cvxpy==1.6.5 74 | cycler==0.12.1 75 | cyipopt==1.5.0 76 | cymem==2.0.11 77 | Cython==3.0.12 78 | dask==2024.12.1 79 | dask-cuda==25.2.0 80 | dask-cudf-cu12==25.2.2 81 | dask-expr==1.1.21 82 | dataclasses-json==0.6.7 83 | datascience==0.17.6 84 | datasets==3.5.0 85 | db-dtypes==1.4.2 86 | dbus-python==1.2.18 87 | debugpy==1.8.0 88 | decorator==4.4.2 89 | defusedxml==0.7.1 90 | Deprecated==1.2.18 91 | diffusers==0.32.2 92 | dill==0.3.8 93 | dirtyjson==1.0.8 94 | distributed==2024.12.1 95 | distributed-ucxx-cu12==0.42.0 96 | distro==1.9.0 97 | dlib==19.24.6 98 | dm-tree==0.1.9 99 | docker-pycreds==0.4.0 100 | docstring_parser==0.16 101 | docutils==0.21.2 102 | dopamine_rl==4.1.2 103 | duckdb==1.2.2 104 | earthengine-api==1.5.11 105 | easydict==1.13 106 | editdistance==0.8.1 107 | eerepr==0.1.1 108 | einops==0.8.1 109 | en_core_web_sm @ https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.8.0/en_core_web_sm-3.8.0-py3-none-any.whl#sha256=1932429db727d4bff3deed6b34cfc05df17794f4a52eeb26cf8928f7c1a0fb85 110 | entrypoints==0.4 111 | et_xmlfile==2.0.0 112 | etils==1.12.2 113 | etuples==0.3.9 114 | Farama-Notifications==0.0.4 115 | fastai==2.7.19 116 | fastcore==1.7.29 117 | fastdownload==0.0.7 118 | fastjsonschema==2.21.1 119 | fastprogress==1.0.3 120 | fastrlock==0.8.3 121 | filelock==3.18.0 122 | filetype==1.2.0 123 | firebase-admin==6.7.0 124 | Flask==3.1.0 125 | flatbuffers==25.2.10 126 | flax==0.10.5 127 | folium==0.19.5 128 | fonttools==4.57.0 129 | frozendict==2.4.6 130 | frozenlist==1.5.0 131 | fsspec==2024.12.0 132 | future==1.0.0 133 | gast==0.6.0 134 | gcsfs==2025.3.2 135 | GDAL==3.6.4 136 | gdown==5.2.0 137 | geemap==0.35.3 138 | geocoder==1.38.1 139 | geographiclib==2.0 140 | geopandas==1.0.1 141 | geopy==2.4.1 142 | gin-config==0.5.0 143 | gitdb==4.0.12 144 | GitPython==3.1.44 145 | glob2==0.7 146 | google==2.0.3 147 | google-ai-generativelanguage==0.6.15 148 | google-api-core==2.24.2 149 | google-api-python-client==2.164.0 150 | google-auth==2.38.0 151 | google-auth-httplib2==0.2.0 152 | google-auth-oauthlib==1.2.1 153 | google-cloud-aiplatform==1.88.0 154 | google-cloud-bigquery==3.31.0 155 | google-cloud-bigquery-connection==1.18.2 156 | google-cloud-bigquery-storage==2.30.0 157 | google-cloud-bigtable==2.30.0 158 | google-cloud-core==2.4.3 159 | google-cloud-dataproc==5.18.1 160 | google-cloud-datastore==2.21.0 161 | google-cloud-firestore==2.20.1 162 | google-cloud-functions==1.20.3 163 | google-cloud-iam==2.19.0 164 | google-cloud-language==2.17.1 165 | google-cloud-pubsub==2.29.0 166 | google-cloud-resource-manager==1.14.2 167 | google-cloud-spanner==3.53.0 168 | google-cloud-storage==2.19.0 169 | google-cloud-translate==3.20.2 170 | google-colab @ file:///colabtools/dist/google_colab-1.0.0.tar.gz 171 | google-crc32c==1.7.1 172 | google-genai==1.10.0 173 | google-generativeai==0.8.4 174 | google-pasta==0.2.0 175 | google-resumable-media==2.7.2 176 | google-spark-connect==0.5.2 177 | googleapis-common-protos==1.70.0 178 | googledrivedownloader==1.1.0 179 | graphviz==0.20.3 180 | greenlet==3.2.0 181 | griffe==1.7.2 182 | grpc-google-iam-v1==0.14.2 183 | grpc-interceptor==0.15.4 184 | grpcio==1.71.0 185 | grpcio-status==1.71.0 186 | grpclib==0.4.7 187 | gspread==6.2.0 188 | gspread-dataframe==4.0.0 189 | gym==0.25.2 190 | gym-notices==0.0.8 191 | gymnasium==1.1.1 192 | h11==0.14.0 193 | h2==4.2.0 194 | h5netcdf==1.6.1 195 | h5py==3.13.0 196 | hdbscan==0.8.40 197 | highspy==1.9.0 198 | holidays==0.70 199 | holoviews==1.20.2 200 | hpack==4.1.0 201 | html5lib==1.1 202 | httpcore==1.0.8 203 | httpimport==1.4.1 204 | httplib2==0.22.0 205 | httpx==0.28.1 206 | httpx-sse==0.4.0 207 | huggingface-hub==0.30.2 208 | humanize==4.12.2 209 | hyperframe==6.1.0 210 | hyperopt==0.2.7 211 | ibis-framework==9.5.0 212 | idna==3.10 213 | imageio==2.37.0 214 | imageio-ffmpeg==0.6.0 215 | imagesize==1.4.1 216 | imbalanced-learn==0.13.0 217 | immutabledict==4.2.1 218 | importlib_metadata==8.6.1 219 | importlib_resources==6.5.2 220 | imutils==0.5.4 221 | inflect==7.5.0 222 | iniconfig==2.1.0 223 | intel-cmplr-lib-ur==2025.1.0 224 | intel-openmp==2025.1.0 225 | ipyevents==2.0.2 226 | ipyfilechooser==0.6.0 227 | ipykernel==6.17.1 228 | ipyleaflet==0.19.2 229 | ipyparallel==8.8.0 230 | ipython==7.34.0 231 | ipython-genutils==0.2.0 232 | ipython-sql==0.5.0 233 | ipytree==0.2.2 234 | ipywidgets==7.7.1 235 | itsdangerous==2.2.0 236 | jaraco.classes==3.4.0 237 | jaraco.context==6.0.1 238 | jaraco.functools==4.1.0 239 | jax==0.5.2 240 | jax-cuda12-pjrt==0.5.1 241 | jax-cuda12-plugin==0.5.1 242 | jaxlib==0.5.1 243 | jeepney==0.9.0 244 | jellyfish==1.1.0 245 | jieba==0.42.1 246 | Jinja2==3.1.6 247 | jiter==0.9.0 248 | joblib==1.4.2 249 | jsonpatch==1.33 250 | jsonpickle==4.0.5 251 | jsonpointer==3.0.0 252 | jsonschema==4.23.0 253 | jsonschema-specifications==2024.10.1 254 | jupyter-client==6.1.12 255 | jupyter-console==6.1.0 256 | jupyter-leaflet==0.19.2 257 | jupyter-server==1.16.0 258 | jupyter_core==5.7.2 259 | jupyterlab_pygments==0.3.0 260 | jupyterlab_widgets==3.0.14 261 | kaggle==1.7.4.2 262 | kagglehub==0.3.11 263 | keras==3.10.0 264 | keras-hub==0.18.1 265 | keras-nlp==0.18.1 266 | keyring==25.6.0 267 | keyrings.google-artifactregistry-auth==1.1.2 268 | kiwisolver==1.4.8 269 | langchain==0.3.23 270 | langchain-community==0.3.21 271 | langchain-core==0.3.74 272 | langchain-text-splitters==0.3.8 273 | langcodes==3.5.0 274 | langsmith==0.3.31 275 | language_data==1.3.0 276 | launchpadlib==1.10.16 277 | lazr.restfulclient==0.14.4 278 | lazr.uri==1.0.6 279 | lazy_loader==0.4 280 | libclang==18.1.1 281 | libcudf-cu12 @ https://pypi.nvidia.com/libcudf-cu12/libcudf_cu12-25.2.1-py3-none-manylinux_2_28_x86_64.whl 282 | libcugraph-cu12==25.2.0 283 | libcuml-cu12==25.2.1 284 | libcuvs-cu12==25.2.1 285 | libkvikio-cu12==25.2.1 286 | libraft-cu12==25.2.0 287 | librosa==0.11.0 288 | libucx-cu12==1.18.0 289 | libucxx-cu12==0.42.0 290 | lightgbm==4.5.0 291 | linkify-it-py==2.0.3 292 | llama-cloud==0.1.18 293 | llama-cloud-services==0.6.12 294 | llama-index==0.12.31 295 | llama-index-agent-openai==0.4.6 296 | llama-index-cli==0.4.1 297 | llama-index-core==0.12.31 298 | llama-index-embeddings-openai==0.3.1 299 | llama-index-indices-managed-llama-cloud==0.6.11 300 | llama-index-llms-openai==0.3.37 301 | llama-index-multi-modal-llms-openai==0.4.3 302 | llama-index-postprocessor-longllmlingua==0.4.0 303 | llama-index-program-openai==0.3.1 304 | llama-index-question-gen-openai==0.3.0 305 | llama-index-readers-file==0.4.7 306 | llama-index-readers-llama-parse==0.4.0 307 | llama-parse==0.6.12 308 | llmlingua==0.2.2 309 | llvmlite==0.43.0 310 | locket==1.0.0 311 | logical-unification==0.4.6 312 | lxml==5.3.2 313 | Mako==1.1.3 314 | marisa-trie==1.2.1 315 | Markdown==3.8 316 | markdown-it-py==3.0.0 317 | MarkupSafe==3.0.2 318 | marshmallow==3.26.1 319 | matplotlib==3.10.0 320 | matplotlib-inline==0.1.7 321 | matplotlib-venn==1.1.2 322 | mdit-py-plugins==0.4.2 323 | mdurl==0.1.2 324 | miniKanren==1.0.3 325 | missingno==0.5.2 326 | mistune==3.1.3 327 | mizani==0.13.3 328 | mkl==2025.0.1 329 | ml-dtypes==0.4.1 330 | mlxtend==0.23.4 331 | more-itertools==10.6.0 332 | moviepy==1.0.3 333 | mpmath==1.3.0 334 | msgpack==1.1.0 335 | multidict==6.4.3 336 | multipledispatch==1.0.0 337 | multiprocess==0.70.16 338 | multitasking==0.0.11 339 | murmurhash==1.0.12 340 | music21==9.3.0 341 | mypy-extensions==1.0.0 342 | namex==0.0.8 343 | narwhals==1.35.0 344 | natsort==8.4.0 345 | nbclassic==1.2.0 346 | nbclient==0.10.2 347 | nbconvert==7.16.6 348 | nbformat==5.10.4 349 | ndindex==1.9.2 350 | nest-asyncio==1.6.0 351 | networkx==3.4.2 352 | nibabel==5.3.2 353 | nltk==3.9.1 354 | notebook==6.5.7 355 | notebook_shim==0.2.4 356 | numba==0.60.0 357 | numba-cuda==0.2.0 358 | numexpr==2.10.2 359 | numpy==2.0.2 360 | nvidia-cublas-cu12==12.4.5.8 361 | nvidia-cuda-cupti-cu12==12.4.127 362 | nvidia-cuda-nvcc-cu12==12.5.82 363 | nvidia-cuda-nvrtc-cu12==12.4.127 364 | nvidia-cuda-runtime-cu12==12.4.127 365 | nvidia-cudnn-cu12==9.1.0.70 366 | nvidia-cufft-cu12==11.2.1.3 367 | nvidia-curand-cu12==10.3.5.147 368 | nvidia-cusolver-cu12==11.6.1.9 369 | nvidia-cusparse-cu12==12.3.1.170 370 | nvidia-cusparselt-cu12==0.6.2 371 | nvidia-ml-py==12.570.86 372 | nvidia-nccl-cu12==2.21.5 373 | nvidia-nvcomp-cu12==4.2.0.11 374 | nvidia-nvjitlink-cu12==12.4.127 375 | nvidia-nvtx-cu12==12.4.127 376 | nvtx==0.2.11 377 | nx-cugraph-cu12 @ https://pypi.nvidia.com/nx-cugraph-cu12/nx_cugraph_cu12-25.2.0-py3-none-any.whl 378 | oauth2client==4.1.3 379 | oauthlib==3.2.2 380 | openai==1.75.0 381 | opencv-contrib-python==4.11.0.86 382 | opencv-python==4.11.0.86 383 | opencv-python-headless==4.11.0.86 384 | openpyxl==3.1.5 385 | opentelemetry-api==1.32.1 386 | opentelemetry-sdk==1.32.1 387 | opentelemetry-semantic-conventions==0.53b1 388 | opt_einsum==3.4.0 389 | optax==0.2.4 390 | optree==0.15.0 391 | orbax-checkpoint==0.11.12 392 | orjson==3.10.16 393 | osqp==1.0.3 394 | packaging==24.2 395 | pandas==2.2.2 396 | pandas-datareader==0.10.0 397 | pandas-gbq==0.28.0 398 | pandas-stubs==2.2.2.240909 399 | pandocfilters==1.5.1 400 | panel==1.6.2 401 | param==2.2.0 402 | parso==0.8.4 403 | parsy==2.1 404 | partd==1.4.2 405 | pathlib==1.0.1 406 | patsy==1.0.1 407 | peewee==3.17.9 408 | peft==0.14.0 409 | pexpect==4.9.0 410 | pickleshare==0.7.5 411 | pillow==11.1.0 412 | platformdirs==4.3.7 413 | plotly==5.24.1 414 | plotnine==0.14.5 415 | pluggy==1.5.0 416 | ply==3.11 417 | polars==1.21.0 418 | pooch==1.8.2 419 | portpicker==1.5.2 420 | preshed==3.0.9 421 | prettytable==3.16.0 422 | proglog==0.1.11 423 | progressbar2==4.5.0 424 | prometheus_client==0.21.1 425 | promise==2.3 426 | prompt_toolkit==3.0.51 427 | propcache==0.3.1 428 | prophet==1.1.6 429 | proto-plus==1.26.1 430 | protobuf==5.29.4 431 | psutil==5.9.5 432 | psycopg2==2.9.10 433 | ptyprocess==0.7.0 434 | py-cpuinfo==9.0.0 435 | py4j==0.10.9.7 436 | pyarrow==18.1.0 437 | pyasn1==0.6.1 438 | pyasn1_modules==0.4.2 439 | pycairo==1.28.0 440 | pycocotools==2.0.8 441 | pycparser==2.22 442 | pydantic==2.11.3 443 | pydantic-settings==2.9.1 444 | pydantic_core==2.33.1 445 | pydata-google-auth==1.9.1 446 | pydot==3.0.4 447 | pydotplus==2.0.2 448 | PyDrive==1.3.1 449 | PyDrive2==1.21.3 450 | pyerfa==2.0.1.5 451 | pygame==2.6.1 452 | pygit2==1.17.0 453 | Pygments==2.18.0 454 | PyGObject==3.42.0 455 | PyJWT==2.10.1 456 | pylibcudf-cu12 @ https://pypi.nvidia.com/pylibcudf-cu12/pylibcudf_cu12-25.2.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl 457 | pylibcugraph-cu12==25.2.0 458 | pylibraft-cu12==25.2.0 459 | pymc==5.21.2 460 | pymystem3==0.2.0 461 | pynndescent==0.5.13 462 | pynvjitlink-cu12==0.5.2 463 | pynvml==12.0.0 464 | pyogrio==0.10.0 465 | Pyomo==6.8.2 466 | PyOpenGL==3.1.9 467 | pyOpenSSL==24.2.1 468 | pyparsing==3.2.3 469 | pypdf==6.0.0 470 | pyperclip==1.9.0 471 | pyproj==3.7.1 472 | pyshp==2.3.1 473 | PySocks==1.7.1 474 | pyspark==3.5.5 475 | pytensor==2.30.3 476 | pytest==8.3.5 477 | python-apt==0.0.0 478 | python-box==7.3.2 479 | python-dateutil==2.8.2 480 | python-dotenv==1.1.0 481 | python-louvain==0.16 482 | python-slugify==8.0.4 483 | python-snappy==0.7.3 484 | python-utils==3.9.1 485 | pytz==2025.2 486 | pyviz_comms==3.0.4 487 | PyYAML==6.0.2 488 | pyzmq==24.0.1 489 | raft-dask-cu12==25.2.0 490 | rapids-dask-dependency==25.2.0 491 | ratelim==0.1.6 492 | referencing==0.36.2 493 | regex==2024.11.6 494 | requests==2.32.3 495 | requests-oauthlib==2.0.0 496 | requests-toolbelt==1.0.0 497 | requirements-parser==0.9.0 498 | rich==13.9.4 499 | rmm-cu12==25.2.0 500 | roman-numerals-py==3.1.0 501 | rpds-py==0.24.0 502 | rpy2==3.5.17 503 | rsa==4.9.1 504 | safetensors==0.5.3 505 | scikit-image==0.25.2 506 | scikit-learn==1.6.1 507 | scipy==1.14.1 508 | scooby==0.10.0 509 | scs==3.2.7.post2 510 | seaborn==0.13.2 511 | SecretStorage==3.3.3 512 | Send2Trash==1.8.3 513 | sentence-transformers==3.4.1 514 | sentencepiece==0.2.0 515 | sentry-sdk==2.26.1 516 | setproctitle==1.3.5 517 | shap==0.47.1 518 | shapely==2.1.0 519 | shellingham==1.5.4 520 | simple-parsing==0.1.7 521 | simplejson==3.20.1 522 | simsimd==6.2.1 523 | six==1.17.0 524 | sklearn-compat==0.1.3 525 | sklearn-pandas==2.2.0 526 | slicer==0.0.8 527 | smart-open==7.1.0 528 | smmap==5.0.2 529 | sniffio==1.3.1 530 | snowballstemmer==2.2.0 531 | sortedcontainers==2.4.0 532 | soundfile==0.13.1 533 | soupsieve==2.6 534 | soxr==0.5.0.post1 535 | spacy==3.8.5 536 | spacy-legacy==3.0.12 537 | spacy-loggers==1.0.5 538 | spanner-graph-notebook==1.1.6 539 | Sphinx==8.2.3 540 | sphinxcontrib-applehelp==2.0.0 541 | sphinxcontrib-devhelp==2.0.0 542 | sphinxcontrib-htmlhelp==2.1.0 543 | sphinxcontrib-jsmath==1.0.1 544 | sphinxcontrib-qthelp==2.0.0 545 | sphinxcontrib-serializinghtml==2.0.0 546 | SQLAlchemy==2.0.40 547 | sqlglot==25.20.2 548 | sqlparse==0.5.3 549 | srsly==2.5.1 550 | stanio==0.5.1 551 | statsmodels==0.14.4 552 | stringzilla==3.12.4 553 | striprtf==0.0.26 554 | sympy==1.13.1 555 | tables==3.10.2 556 | tabulate==0.9.0 557 | tbb==2022.1.0 558 | tblib==3.1.0 559 | tcmlib==1.3.0 560 | tenacity==9.1.2 561 | tensorboard==2.18.0 562 | tensorboard-data-server==0.7.2 563 | tensorflow==2.18.0 564 | tensorflow-datasets==4.9.8 565 | tensorflow-hub==0.16.1 566 | tensorflow-io-gcs-filesystem==0.37.1 567 | tensorflow-metadata==1.17.1 568 | tensorflow-probability==0.25.0 569 | tensorflow-text==2.18.1 570 | tensorflow_decision_forests==1.11.0 571 | tensorstore==0.1.73 572 | termcolor==3.0.1 573 | terminado==0.18.1 574 | text-unidecode==1.3 575 | textblob==0.19.0 576 | tf-slim==1.1.0 577 | tf_keras==2.18.0 578 | thinc==8.3.6 579 | threadpoolctl==3.6.0 580 | tifffile==2025.3.30 581 | tiktoken==0.9.0 582 | timm==1.0.15 583 | tinycss2==1.4.0 584 | tokenizers==0.21.1 585 | toml==0.10.2 586 | toolz==0.12.1 587 | torch @ https://download.pytorch.org/whl/cu124/torch-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl 588 | torchaudio @ https://download.pytorch.org/whl/cu124/torchaudio-2.6.0%2Bcu124-cp311-cp311-linux_x86_64.whl 589 | torchsummary==1.5.1 590 | torchvision @ https://download.pytorch.org/whl/cu124/torchvision-0.21.0%2Bcu124-cp311-cp311-linux_x86_64.whl 591 | tornado==6.4.2 592 | tqdm==4.67.1 593 | traitlets==5.7.1 594 | traittypes==0.2.1 595 | transformers==4.51.3 596 | treelite==4.4.1 597 | treescope==0.1.9 598 | triton==3.2.0 599 | tweepy==4.15.0 600 | typeguard==4.4.2 601 | typer==0.15.2 602 | types-pytz==2025.2.0.20250326 603 | types-setuptools==78.1.0.20250329 604 | typing-inspect==0.9.0 605 | typing-inspection==0.4.0 606 | typing_extensions==4.13.2 607 | tzdata==2025.2 608 | tzlocal==5.3.1 609 | uc-micro-py==1.0.3 610 | ucx-py-cu12==0.42.0 611 | ucxx-cu12==0.42.0 612 | umap-learn==0.5.7 613 | umf==0.10.0 614 | uritemplate==4.1.1 615 | urllib3==2.3.0 616 | vega-datasets==0.9.0 617 | wadllib==1.3.6 618 | wandb==0.19.9 619 | wasabi==1.1.3 620 | wcwidth==0.2.13 621 | weasel==0.4.1 622 | webcolors==24.11.1 623 | webencodings==0.5.1 624 | websocket-client==1.8.0 625 | websockets==15.0.1 626 | Werkzeug==3.1.3 627 | widgetsnbextension==3.6.10 628 | wordcloud==1.9.4 629 | wrapt==1.17.2 630 | wurlitzer==3.1.1 631 | xarray==2025.1.2 632 | xarray-einstats==0.8.0 633 | xgboost==2.1.4 634 | xlrd==2.0.1 635 | xxhash==3.5.0 636 | xyzservices==2025.1.0 637 | yarl==1.19.0 638 | ydf==0.11.0 639 | yellowbrick==1.5 640 | yfinance==0.2.55 641 | zict==3.0.0 642 | zipp==3.21.0 643 | zstandard==0.23.0 644 | -------------------------------------------------------------------------------- /Chapter4_notebooks/Ch4_Preprocessing_Pipeline.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": {}, 5 | "cell_type": "markdown", 6 | "metadata": { 7 | "id": "UMqBL77hMXP2" 8 | }, 9 | "source": [ 10 | "# Text preprocessing pipeline\n", 11 | "Authors: \n", 12 | " - [Lior Gazit](https://www.linkedin.com/in/liorgazit). \n", 13 | " - [Meysam Ghaffari](https://www.linkedin.com/in/meysam-ghaffari-ph-d-a2553088/). \n", 14 | "\n", 15 | "This notebook is taught and reviewed in our book: \n", 16 | "**[Mastering NLP from Foundations to LLMs](https://www.amazon.com/dp/1804619183)** \n", 17 | "![image.png](data:image/png;base64,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)\n", 18 | "\n", 19 | "This Colab notebook is referenced in our book's Github repo: \n", 20 | "https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs \n", 21 | "\n", 22 | " \"Open\n", 23 | "" 24 | ] 25 | }, 26 | { 27 | "attachments": {}, 28 | "cell_type": "markdown", 29 | "metadata": { 30 | "id": "dO3hrUVTRoMN" 31 | }, 32 | "source": [ 33 | "\\*Note: This notebook is updated and validated for 2025 \n", 34 | "**The purpose of this notebook:** \n", 35 | "As demonstrated in Chapter 4 of the book, text preprocessing is one of the most fundamental practices of NLP. \n", 36 | "In this notebook we walk you through a variety of preprocessing functions and show how they come together to a solid pipeline. \n", 37 | "\n", 38 | "**Requirements:** \n", 39 | "* When running in Colab, use this runtime notebook setting: `Python 3, CPU` \n" 40 | ] 41 | }, 42 | { 43 | "attachments": {}, 44 | "cell_type": "markdown", 45 | "metadata": { 46 | "id": "g54Uf66Vz9Fi" 47 | }, 48 | "source": [ 49 | ">*```Disclaimer: The content and ideas presented in this notebook are solely those of the authors and do not represent the views or intellectual property of the authors' employers.```*" 50 | ] 51 | }, 52 | { 53 | "attachments": {}, 54 | "cell_type": "markdown", 55 | "metadata": { 56 | "id": "ayuVflRZ5w9C" 57 | }, 58 | "source": [ 59 | "Install:" 60 | ] 61 | }, 62 | { 63 | "cell_type": "code", 64 | "execution_count": null, 65 | "metadata": { 66 | "colab": { 67 | "base_uri": "https://localhost:8080/" 68 | }, 69 | "id": "DhrOK1E1lxTo", 70 | "outputId": "92ab8692-a3eb-4dfe-e82f-2b82d6bae042" 71 | }, 72 | "outputs": [], 73 | "source": [ 74 | "# REMARK:\n", 75 | "# If the below code error's out due to a Python package discrepency, it may be because new versions are causing it.\n", 76 | "# In which case, set \"default_installations\" to False to revert to the original image:\n", 77 | "default_installations = True\n", 78 | "if default_installations:\n", 79 | " %pip -q install num2words autocorrect nltk\n", 80 | "else:\n", 81 | " import requests\n", 82 | " text_file_path = \"requirements__Ch4_Preprocessing_Pipeline.txt\"\n", 83 | " url = \"https://raw.githubusercontent.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/main/Chapter4_notebooks/\" + text_file_path\n", 84 | " res = requests.get(url)\n", 85 | " with open(text_file_path, \"w\") as f:\n", 86 | " f.write(res.text)\n", 87 | "\n", 88 | " %pip install -r requirements__Ch4_Preprocessing_Pipeline.txt" 89 | ] 90 | }, 91 | { 92 | "cell_type": "code", 93 | "execution_count": 5, 94 | "metadata": { 95 | "colab": { 96 | "base_uri": "https://localhost:8080/" 97 | }, 98 | "id": "3M3KTFuMSgCf", 99 | "outputId": "90ed8f76-68e3-4211-9d21-b730f1ce864f" 100 | }, 101 | "outputs": [ 102 | { 103 | "name": "stderr", 104 | "output_type": "stream", 105 | "text": [ 106 | "[nltk_data] Downloading package punkt to\n", 107 | "[nltk_data] C:\\Users\\gazit\\AppData\\Roaming\\nltk_data...\n", 108 | "[nltk_data] Unzipping tokenizers\\punkt.zip.\n", 109 | "[nltk_data] Downloading package stopwords to\n", 110 | "[nltk_data] C:\\Users\\gazit\\AppData\\Roaming\\nltk_data...\n", 111 | "[nltk_data] Unzipping corpora\\stopwords.zip.\n", 112 | "[nltk_data] Downloading package wordnet to\n", 113 | "[nltk_data] C:\\Users\\gazit\\AppData\\Roaming\\nltk_data...\n" 114 | ] 115 | } 116 | ], 117 | "source": [ 118 | "# Imports:\n", 119 | "import re\n", 120 | "from num2words import num2words\n", 121 | "import nltk; nltk.download('punkt'); nltk.download('stopwords'); nltk.download('wordnet')\n", 122 | "from nltk.corpus import stopwords\n", 123 | "from nltk.stem.porter import PorterStemmer\n", 124 | "from nltk.stem import WordNetLemmatizer\n", 125 | "from autocorrect import Speller\n", 126 | "\n" 127 | ] 128 | }, 129 | { 130 | "cell_type": "code", 131 | "execution_count": 6, 132 | "metadata": { 133 | "id": "ivh-TwcqSnVd" 134 | }, 135 | "outputs": [], 136 | "source": [ 137 | "# Preprocessing functions:\n", 138 | "def decode(text):\n", 139 | " \"\"\"\n", 140 | " The function takes in a string of text as input\n", 141 | " and extracts the subject line and body text from the text\n", 142 | " using regular expressions. It then formats the extracted\n", 143 | " text into a single string and returns it as output.\n", 144 | "\n", 145 | " Input: str\n", 146 | " Output: str\n", 147 | " \"\"\"\n", 148 | " text = re.sub(\"\\\\n|\\\\r|\\\\t|-\", \" \", text)\n", 149 | " subject_line_search = re.search(r\"(.*?)\", text, flags=re.S)\n", 150 | " body_text_search = re.search(r\"(.*?)\", text, flags=re.S)\n", 151 | "\n", 152 | " formated_output = \"\"\n", 153 | " if subject_line_search:\n", 154 | " formated_output = formated_output + subject_line_search.groups()[0] + \". \"\n", 155 | " if body_text_search:\n", 156 | " formated_output = formated_output + body_text_search.groups()[0] + \".\"\n", 157 | " return formated_output\n", 158 | "\n", 159 | "\n", 160 | "def digits_to_words(match):\n", 161 | " \"\"\"\n", 162 | " Convert string digits to the English words. The function distinguishes between\n", 163 | " cardinal and ordinal.\n", 164 | " E.g. \"2\" becomes \"two\", while \"2nd\" becomes \"second\"\n", 165 | "\n", 166 | " Input: str\n", 167 | " Output: str\n", 168 | " \"\"\"\n", 169 | " suffixes = ['st', 'nd', 'rd', 'th']\n", 170 | " # Making sure it's lower cased so not to rely on previous possible actions:\n", 171 | " string = match[0].lower()\n", 172 | " if string[-2:] in suffixes:\n", 173 | " type='ordinal'\n", 174 | " string = string[:-2]\n", 175 | " else:\n", 176 | " type='cardinal'\n", 177 | "\n", 178 | " return num2words(string, to=type)\n", 179 | "\n", 180 | "\n", 181 | "def spelling_correction(text):\n", 182 | " \"\"\"\n", 183 | " Replace misspelled words with the correct spelling.\n", 184 | "\n", 185 | " Input: str\n", 186 | " Output: str\n", 187 | " \"\"\"\n", 188 | " corrector = Speller()\n", 189 | " spells = [corrector(word) for word in text.split()]\n", 190 | " return \" \".join(spells)\n", 191 | "\n", 192 | "\n", 193 | "def remove_stop_words(text):\n", 194 | " \"\"\"\n", 195 | " Remove stopwords.\n", 196 | "\n", 197 | " Input: str\n", 198 | " Output: str\n", 199 | " \"\"\"\n", 200 | " stopwords_set = set(stopwords.words('english'))\n", 201 | " return \" \".join([word for word in text.split() if word not in stopwords_set])\n", 202 | "\n", 203 | "\n", 204 | "def stemming(text):\n", 205 | " \"\"\"\n", 206 | " Perform stemming of each word individually.\n", 207 | "\n", 208 | " Input: str\n", 209 | " Output: str\n", 210 | " \"\"\"\n", 211 | " stemmer = PorterStemmer()\n", 212 | " return \" \".join([stemmer.stem(word) for word in text.split()])\n", 213 | "\n", 214 | "\n", 215 | "def lemmatizing(text):\n", 216 | " \"\"\"\n", 217 | " Perform lemmatization for each word individually.\n", 218 | "\n", 219 | " Input: str\n", 220 | " Output: str\n", 221 | " \"\"\"\n", 222 | " lemmatizer = WordNetLemmatizer()\n", 223 | " return \" \".join([lemmatizer.lemmatize(word) for word in text.split()])\n", 224 | "\n", 225 | "\n" 226 | ] 227 | }, 228 | { 229 | "cell_type": "code", 230 | "execution_count": 7, 231 | "metadata": { 232 | "id": "U7wnjrxqS0Ub" 233 | }, 234 | "outputs": [], 235 | "source": [ 236 | "# Preprocessing pipeline:\n", 237 | "def preprocessing(input_text, printing=False):\n", 238 | " \"\"\"\n", 239 | " This function represents a complete pipeline for text preprocessing.\n", 240 | "\n", 241 | " Code design note: The fact that we update variable \"output\" instead of\n", 242 | " creating new variables with new names as we go, allows us to change the\n", 243 | " order of the actions or add/remove actions easily.\n", 244 | "\n", 245 | " Input: str\n", 246 | " Output: str\n", 247 | " \"\"\"\n", 248 | " output = input_text\n", 249 | " # Decode/remove encoding:\n", 250 | " output = decode(output)\n", 251 | " print(\"\\nDecode/remove encoding:\\n \", output)\n", 252 | "\n", 253 | " # Lower casing:\n", 254 | " output = output.lower()\n", 255 | " print(\"\\nLower casing:\\n \", output)\n", 256 | "\n", 257 | " # Convert digits to words:\n", 258 | " # The following regex syntax looks for matching of consequtive digits tentatively followed by an ordinal suffix:\n", 259 | " output = re.sub(r'\\d+(st)?(nd)?(rd)?(th)?', digits_to_words, output, flags=re.IGNORECASE)\n", 260 | " print(\"\\nDigits to words\\n \", output)\n", 261 | "\n", 262 | " # Remove punctuations and other special characters:\n", 263 | " output = re.sub('[^ A-Za-z0-9]+', '', output)\n", 264 | " print(\"\\nRemove punctuations and other special characters\\n \", output)\n", 265 | "\n", 266 | " # Spelling corrections:\n", 267 | " output = spelling_correction(output)\n", 268 | " print(\"\\nSpelling corrections:\\n \", output)\n", 269 | "\n", 270 | "\n", 271 | " # Remove stop words:\n", 272 | " output = remove_stop_words(output)\n", 273 | " print(\"\\nRemove stop words:\\n \", output)\n", 274 | "\n", 275 | " # Stemming:\n", 276 | " output = stemming(output)\n", 277 | " print(\"\\nStemming:\\n \", output)\n", 278 | "\n", 279 | " # Lemmatizing:\n", 280 | " output = lemmatizing(output)\n", 281 | " print(\"\\nLemmatizing:\\n \", output)\n", 282 | "\n", 283 | " return output" 284 | ] 285 | }, 286 | { 287 | "cell_type": "code", 288 | "execution_count": 8, 289 | "metadata": { 290 | "colab": { 291 | "base_uri": "https://localhost:8080/" 292 | }, 293 | "id": "2Duu0SyeS2jW", 294 | "outputId": "619a7797-6e09-4e2a-a3a3-f2d61968c906" 295 | }, 296 | "outputs": [ 297 | { 298 | "name": "stdout", 299 | "output_type": "stream", 300 | "text": [ 301 | "This is the input raw text:\n", 302 | "\n", 303 | "\" Employees detailsAttached are 2 files,\n", 304 | "1st one is pairoll, 2nd is healtcare!\"\n", 305 | "\n", 306 | "\n", 307 | "Decode/remove encoding:\n", 308 | " Employees details. Attached are 2 files, 1st one is pairoll, 2nd is healtcare!.\n", 309 | "\n", 310 | "Lower casing:\n", 311 | " employees details. attached are 2 files, 1st one is pairoll, 2nd is healtcare!.\n", 312 | "\n", 313 | "Digits to words\n", 314 | " employees details. attached are two files, first one is pairoll, second is healtcare!.\n", 315 | "\n", 316 | "Remove punctuations and other special characters\n", 317 | " employees details attached are two files first one is pairoll second is healtcare\n", 318 | "\n", 319 | "Spelling corrections:\n", 320 | " employees details attached are two files first one is payroll second is healthcare\n", 321 | "\n", 322 | "Remove stop words:\n", 323 | " employees details attached two files first one payroll second healthcare\n", 324 | "\n", 325 | "Stemming:\n", 326 | " employe detail attach two file first one payrol second healthcar\n", 327 | "\n", 328 | "Lemmatizing:\n", 329 | " employe detail attach two file first one payrol second healthcar\n", 330 | "\n", 331 | "----------------------------\n", 332 | "This is the preprocessed text:\n", 333 | " employe detail attach two file first one payrol second healthcar\n" 334 | ] 335 | } 336 | ], 337 | "source": [ 338 | "# Applying preprocessing:\n", 339 | "raw_text_input = \"\"\"\n", 340 | "\" Employees detailsAttached are 2 files,\\n1st one is pairoll, 2nd is healtcare!\"\n", 341 | "\"\"\"\n", 342 | "print(f\"This is the input raw text:\\n{raw_text_input}\")\n", 343 | "\n", 344 | "print(f\"\\n----------------------------\\nThis is the preprocessed text:\\n {preprocessing(raw_text_input, printing=True)}\")" 345 | ] 346 | } 347 | ], 348 | "metadata": { 349 | "colab": { 350 | "provenance": [] 351 | }, 352 | "kernelspec": { 353 | "display_name": "Python 3", 354 | "name": "python3" 355 | }, 356 | "language_info": { 357 | "codemirror_mode": { 358 | "name": "ipython", 359 | "version": 3 360 | }, 361 | "file_extension": ".py", 362 | "mimetype": "text/x-python", 363 | "name": "python", 364 | "nbconvert_exporter": "python", 365 | "pygments_lexer": "ipython3", 366 | "version": "3.11.4" 367 | } 368 | }, 369 | "nbformat": 4, 370 | "nbformat_minor": 0 371 | } 372 | --------------------------------------------------------------------------------