Hi All,
We are working on a NLP Toolbox improvement in CEP. The main idea of this
improvement is to use a NLP library and let user do some NLP operations as
Siddhi extensions.
So in our implementation we have decided to support following NLP
operations.
*1. findNameEntityType(sentence, entityType)*
*Description:*
This operation takes a sentence and a predefined entity type as it's
inputs. It will return noun(s) in the sentence that match the defined
entity type, as event(s).
*inputs:*
sentence : sentence to be processed
entityType: predefined entity type
ORGANIZATION
NAME
LOCATION
*output:*
matching noun(s) as event(s)
*example:*
inputs:
sentence : Alice works at WSO2
entityType : NAME
output: Alice
*2. findNLRegexPattern(sentence, regex)*
*Description:*
This operation takes a sentence and a regular expression as it's inputs. It
will return each match in the sentence, as an event.
*inputs:*
sentence : sentence to be processed
regex : regular expression to be matched
*output:*
matching pharase(s) as event(s)
*example:*
inputs:
sentence : WSO2 was found in 2005
regex : \\d{4}
output: 2005
*3. findRelationship(sentence, regex)*
*Description:*
This operation takes a sentence and a regular expression as it's inputs.
For each relationship extracted from the regular expression the operation
will return a triplet; subject, object and relationship as an event.
*inputs:*
sentence : sentence to be processed
regex : regular expression to extract the relationship
*output:*
triplet(s) of (subject, object, relationship) as event(s)
*example:*
inputs:
sentence : Bob works for WSO2
regex : works for
output: (Bob, WSO2, works for)
*4. findNameEntityTypeViaDictionary(sentence, dictionary, entityType)*
*Description:*
This operation takes a sentence, dictionary file and a predefined entity
type as it's inputs. It will return noun(s) in the sentence of the defined
entity type, that also exists in the dictionary as event(s).
*inputs:*
sentence : sentence to be processed
dictionary : dictionary of entities of the defined entity type
entityType : predefined entity type
ORGANIZATION
NAME
LOCATION
*output:*
matching noun(s) as event(s)
*example:*
inputs:
sentence : Bob works at WSO2
dictionary : (WSO2,ORACLE,IBM)
entityType : ORGANIZATION
output: WSO2
Each NLP operation defined here will be implemented as a transformer
extension to Siddhi.
--
*Malithi Edirisinghe*
Senior Software Engineer
WSO2 Inc.
Mobile : +94 (0) 718176807
[email protected]
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture