I am working on a project where I need to extract "technology related keywords/keyphrases" from text. For example, my text is:
"ABC Inc has been working on a project related to machine learning which makes use of the existing libraries for finding information from big data."
The extracted keywords/keyphrase should be: {machine learning, big data}.
My text documents are stored as BSON documents in MongoDb.
What are the best nlp libraries(with sufficient documentation and examples) out there to perform this task and how?
Thanks!
Keyword extraction uses machine learning artificial intelligence (AI) with natural language processing (NLP) to break down human language so that it can be understood and analyzed by machines.
Keyword/Keyphrase extraction is the task of extracting important words that are relevant to the underlying document. It lets you to enable faster search over documents by indexing them as document alias and are even helpful in categorizing a given piece of text for these central topics.
It looks you need to narrow down more than just keywords/key phrases and find the subject and object per sentence. For subject/object recognition, I recommend the Stanford Parser or the Google Language API, where you send a string and get a dependency tree response.
You can test the Google API first to see if it works well with your corpus: https://cloud.google.com/natural-language/
The outcome here is a subject predicate object (SPO) triplet, where your predicate describes the relationship. You'll need to traverse the dependency graph and write a script to parse out the triplet.
Other Packages: I use NLTK, Spacy, and Textblob frequently. If the corpus is simple, generic, and straightforward, Spacy and Textblob work well OOTB. If the corpus is highly customized, domain-specific, messy (incorrect spelling or grammar), etc. I'll use NLTK and spend more time customizing my NLP text processing pipeline with scrubbing, lemmatizing, etc. You may want to add your own custom dictionary of technology related keywords and keyphrases so that your parser can catch these if you decide to go with one of these packages.
NLTK Tutorial: http://www.nltk.org/book/
Spacy Quickstart: https://spacy.io/usage/
Textblob Quickstart: http://textblob.readthedocs.io/en/dev/quickstart.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With