All Projects → neomatrix369 → Nlp_profiler

neomatrix369 / Nlp_profiler

Licence: other
A simple NLP library allows profiling datasets with one or more text columns. When given a dataset and a column name containing text data, NLP Profiler will return either high-level insights or low-level/granular statistical information about the text in that column.

Projects that are alternatives of or similar to Nlp profiler

Coursera Natural Language Processing Specialization
Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Stars: ✭ 39 (-78.45%)
Mutual labels:  jupyter-notebook, natural-language-processing, nlp-machine-learning
Lda Topic Modeling
A PureScript, browser-based implementation of LDA topic modeling.
Stars: ✭ 91 (-49.72%)
Mutual labels:  natural-language-processing, nlp-machine-learning, text-mining
How To Mine Newsfeed Data And Extract Interactive Insights In Python
A practical guide to topic mining and interactive visualizations
Stars: ✭ 61 (-66.3%)
Mutual labels:  natural-language-processing, nlp-machine-learning, text-mining
Pythainlp
Thai Natural Language Processing in Python.
Stars: ✭ 582 (+221.55%)
Mutual labels:  hacktoberfest, natural-language-processing, nlp-library
Sqlcell
SQLCell is a magic function for the Jupyter Notebook that executes raw, parallel, parameterized SQL queries with the ability to accept Python values as parameters and assign output data to Python variables while concurrently running Python code. And *much* more.
Stars: ✭ 145 (-19.89%)
Mutual labels:  hacktoberfest, jupyter-notebook, jupyter
Nbstripout
strip output from Jupyter and IPython notebooks
Stars: ✭ 738 (+307.73%)
Mutual labels:  hacktoberfest, jupyter-notebook, jupyter
Xpedite
A non-sampling profiler purpose built to measure and optimize performance of ultra low latency/real time systems
Stars: ✭ 89 (-50.83%)
Mutual labels:  jupyter-notebook, jupyter, profiler
Text mining resources
Resources for learning about Text Mining and Natural Language Processing
Stars: ✭ 358 (+97.79%)
Mutual labels:  natural-language-processing, nlp-machine-learning, text-mining
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+932.04%)
Mutual labels:  jupyter-notebook, jupyter, natural-language-processing
Lingo
package lingo provides the data structures and algorithms required for natural language processing
Stars: ✭ 113 (-37.57%)
Mutual labels:  natural-language-processing, nlp-machine-learning, nlp-library
Nlp Notebooks
A collection of notebooks for Natural Language Processing from NLP Town
Stars: ✭ 513 (+183.43%)
Mutual labels:  jupyter-notebook, natural-language-processing, text-mining
Natural Language Processing Specialization
This repo contains my coursework, assignments, and Slides for Natural Language Processing Specialization by deeplearning.ai on Coursera
Stars: ✭ 151 (-16.57%)
Mutual labels:  jupyter-notebook, natural-language-processing, nlp-machine-learning
Hands On Nltk Tutorial
The hands-on NLTK tutorial for NLP in Python
Stars: ✭ 419 (+131.49%)
Mutual labels:  jupyter-notebook, jupyter, nlp-machine-learning
Nlp In Practice
Starter code to solve real world text data problems. Includes: Gensim Word2Vec, phrase embeddings, Text Classification with Logistic Regression, word count with pyspark, simple text preprocessing, pre-trained embeddings and more.
Stars: ✭ 790 (+336.46%)
Mutual labels:  jupyter-notebook, natural-language-processing, text-mining
Enterprise gateway
A lightweight, multi-tenant, scalable and secure gateway that enables Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes and others.
Stars: ✭ 412 (+127.62%)
Mutual labels:  hacktoberfest, jupyter-notebook, jupyter
Python nlp tutorial
This repository provides everything to get started with Python for Text Mining / Natural Language Processing (NLP)
Stars: ✭ 72 (-60.22%)
Mutual labels:  jupyter-notebook, natural-language-processing, text-mining
Nlpython
This repository contains the code related to Natural Language Processing using python scripting language. All the codes are related to my book entitled "Python Natural Language Processing"
Stars: ✭ 265 (+46.41%)
Mutual labels:  jupyter-notebook, natural-language-processing, text-mining
Lingua
👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike
Stars: ✭ 341 (+88.4%)
Mutual labels:  natural-language-processing, nlp-machine-learning, nlp-library
Codesearchnet
Datasets, tools, and benchmarks for representation learning of code.
Stars: ✭ 1,378 (+661.33%)
Mutual labels:  jupyter-notebook, natural-language-processing, nlp-machine-learning
Hands On Natural Language Processing With Python
This repository is for my students of Udemy. You can find all lecture codes along with mentioned files for reading in here. So, feel free to clone it and if you have any problem just raise a question.
Stars: ✭ 146 (-19.34%)
Mutual labels:  natural-language-processing, nlp-machine-learning, text-mining

NLP Profiler

||| Gitter ||| License GitHub actions Code coverage Sourcery Codeac PyPI version Python versions PyPi stats Downloads

A simple NLP library that allows profiling datasets with one or more text columns.

NLP Profiler returns either high-level insights or low-level/granular statistical information about the text when given a dataset and a column name containing text data, in that column.

In short: Think of it as using the pandas.describe() function or running Pandas Profiling on your data frame, but for datasets containing text columns rather than the usual columnar datasets.

Table of contents


What do you get from the library?

  • Input a Pandas dataframe series as an input parameter.
  • You get back a new dataframe with various features about the parsed text per row.
    • High-level: sentiment analysis, objectivity/subjectivity analysis, spelling quality check, grammar quality check, ease of readability check, etc...
    • Low-level/granular: number of characters in the sentence, number of words, number of emojis, number of words, etc...
  • From the above numerical data in the resulting dataframe descriptive statistics can be drawn using the pandas.describe() on the dataframe.

See screenshots under the Jupyter section and also under Screenshots for further illustrations.

Under the hood it does make use of a number of libraries that are popular in the AI and ML communities, but we can extend it's functionality by replacing or adding other libraries as well.

A simple notebook have been provided to illustrate the usage of the library.

Please join the Gitter.im community and say "hello" to us, share your feedback, have a fun time with us.

Note: this is a new endeavour and it may have rough edges i.e. NLP_Profiler in its current version is probably NOT capable of doing many things. Many of these gaps are opportunities we can work on and plug, as we go along using it. Please provide constructive feedback to help with the improvement of this library. We just recently achieved this with scaling with larger datasets.

Requirements

  • Python 3.6.x or higher.
  • Dependencies described in the requirements.txt.
  • High-level including Grammar checks:
    • faster processor
    • higher RAM capacity
    • working disk-space of 1 to 3 GBytes (depending on the dataset size)
  • (Optional)
    • Jupyter Lab (on your local machine).
    • Google Colab account.
    • Kaggle account.
    • Grammar check functionality:
      • Internet access
      • Java 8 or higher

Getting started

Installation

For Conda/Miniconda environments:

conda config --set pip_interop_enabled True
pip install "spacy >= 2.3.0,<3.0.0"         # in case spacy is not present
python -m spacy download en_core_web_sm

### now perform any of the below pathways/options

For Kaggle environments:

pip uninstall typing      # this can cause issues on Kaggle hence removing it helps

Follow any of the remaining installation steps but "avoid" using -U with pip install -- again this can cause issues on Kaggle hence not using it helps.

From PyPi:

pip install -U nlp_profiler

From the GitHub repo:

pip install -U git+https://github.com/neomatrix369/[email protected]

From the source:

For library development purposes, see Developer guide

Usage

import nlp_profiler.core as nlpprof

new_text_column_dataset = nlpprof.apply_text_profiling(dataset, 'text_column')

or

from nlp_profiler.core import apply_text_profiling

new_text_column_dataset = apply_text_profiling(dataset, 'text_column')

See Notebooks section for further illustrations.

Developer guide

See Developer guide to know how to build, test, and contribute to the library.

Demo and presentations

Look at a short demo of the NLP Profiler library at one of these:

Demo of the NLP Profiler library (Abhishek talks #6) or you find the rest of the talk here or here for slides Demo of the NLP Profiler library (NLP Zurich talk) or you find the rest of the talk here or here for slides

Notebooks

After successful installation of the library, RESTART Jupyter kernels or Google Colab runtimes for the changes to take effect.

See Notebooks for usage and further details.

Screenshots

See Screenshots

Credits and supporters

See CREDITS_AND_SUPPORTERS.md

Changes

See CHANGELOG.md

License

Refer licensing (and warranty) policy.

Contributing

Contributions are Welcome!

Please have a look at the CONTRIBUTING guidelines.

Please share it with the wider community (and get credited for it)!


Go to the NLP page

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].