pynlpl | Python library for Natural Language Processing | Natural Language Processing library
kandi X-RAY | pynlpl Summary
kandi X-RAY | pynlpl Summary
PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with various NLP specific servers. PyNLPl most notably features a very extensive library for working with FoLiA XML (Format for Linguistic Annotation).
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Parse common arguments
- Parse a datetime string
- Validate an XML NCName identifier
- Set phonetic
- Correct a correction
- Append a child element
- Replace a child element
- Check if parent is addable
- Declare an annotation
- Parse xml node
- Adds a child element
- Generate test sets from files
- Parse a token expression
- Get syn ids by lemma
- Get a list of Luids by lemma
- Return a JSON representation of the element
- Process input data
- Process sourcewords
- Processes a data file
- Parse the query
- Load the model from a file
- Declare an annotation type
- Substitute a substitution
- Generate a unique ID for this element
- Compare two source files
- Log a message
- Find the spans of the given type
pynlpl Key Features
pynlpl Examples and Code Snippets
Community Discussions
Trending Discussions on pynlpl
QUESTION
I am planning on developing a Natural Language Question System using NLP. I have performed literature study regarding the possible algorithms which are applicable for a NLQ System.
The end-user should, after finishing the tool, be able to ask a question to the system, which on its turn gives an answer in the form of a table of will visualize the answer in the form of a graph.
Furthermore, the answering part is already finished. Programming will happen in Python, using the PyNLPl library.
The main tool can already perform mathematical operations and summarizes the outcome of these operations. The user should be able to ask questions as:
- "How were the sales on a rainy day in the month january?"
- "What is the amount of ... of the whole of Europe"
This question is not meant to be subjective, as I mentioned before, I did literature study. I made a proper selection of the list of algorithms which I found. And am left with a decision of:
- POST, Chunking, Named Entity Extraction
- Parsing
- Topic Modeling and keyword extraction.
Algorithms per bullet point would be:
- Conditional Random Fields - Hidden Markov Model
- CKY Algorithm - Earley Algorithm
- Latend Dirichlet Allocation
Furthermore, the variables which should be mentioned in the questions, are not independent. Is Naive Bayes in that case also applicable? The chosen algorithm, should outperform the rest of the algorithms and make the best fit.
...ANSWER
Answered 2017-Feb-08 at 08:20I have been reading and reading, and found answers to almost all my questions. I am sticking to Early algorithm as it offers a dynamic programming approach (CKY does the same). Both algorithms are chart parsing algorithms.
Earley is a context free -, top-down parsing algorithm. Which makes it a goal driven algorithm. From start symbol down. Furthermore, it is more efficient than the CKY algorithm. Slides of comparison, and explanation: https://www.cs.bgu.ac.il/~michaluz/seminar/CKY1.pdf
Note: Earley and CKY parsing algorithms will only result in a parse tree with which nothing can be done. However, Using e.g. shift-reduce dependency parsing algorithm does not only give the dependencies between verious words in addition to parsing and calidating the sentence structure, these dependencies can also be used for relation extraction in the question. In order to really understand the question.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install pynlpl
You can use pynlpl like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page