Date
1 - 3 of 3
NPM driver for Gate-Embedded + Annie
SomervilleTom
I'm looking for an NPM driver component to allow nodejs services (written in node express) to access the capabilities of Gate-Embedded + Annie. For all the usual reasons, we prefer using existing technology over writing our own wherever practical.
The initial desire is to do noun extraction on a dynamic corpus of text documents -- an example is an aggregation of stories published in local news outlets.
The contemplated platform is a robust AWS EC2 instance running Rocky Linux.
We have been running Neo4J-enterprise -- a graph database written in Java -- on a similar platform for some time now. Neo4J includes both Python and NPM driver components. We use the Neo4J NPM driver to provide connectivity used by our several node express services that use the Neo4J database.
We want the analogous technology stack for Gate-embedded with the Annie plugin. For a variety of reasons we have a strong preference for hosting our own Gate-embedded server rather than using the Gate cloud offering. Having said that, if there is an NPM component that provides access to the Gate Cloud offering, that component is surely an excellent starting point.
I'm aware of a Python component that would allow us to do our backend services in Python. We prefer nodejs (node express) if that's an option.
I'm a complete newbie to Gate (although not to ontology) and a very senior developer. I therefore ask your patience as I climb the Gate learning curve. I'm pretty good at Google and web searches and I've so far come up empty -- hence my request to this community.
I make the perhaps rash assumption that this is not the first project that seeks to use Gate in a node express environment. Since an NPM driver is among the first requirements, I'm hoping that at least one instance has already been created by those who have come before me.
I appreciate your attention and invite any guidance this community can offer.
--
Tom Stambaugh
66 Boston Ave
Somerville, MA 02144
617-721-0446 (cell)
The initial desire is to do noun extraction on a dynamic corpus of text documents -- an example is an aggregation of stories published in local news outlets.
The contemplated platform is a robust AWS EC2 instance running Rocky Linux.
We have been running Neo4J-enterprise -- a graph database written in Java -- on a similar platform for some time now. Neo4J includes both Python and NPM driver components. We use the Neo4J NPM driver to provide connectivity used by our several node express services that use the Neo4J database.
We want the analogous technology stack for Gate-embedded with the Annie plugin. For a variety of reasons we have a strong preference for hosting our own Gate-embedded server rather than using the Gate cloud offering. Having said that, if there is an NPM component that provides access to the Gate Cloud offering, that component is surely an excellent starting point.
I'm aware of a Python component that would allow us to do our backend services in Python. We prefer nodejs (node express) if that's an option.
I'm a complete newbie to Gate (although not to ontology) and a very senior developer. I therefore ask your patience as I climb the Gate learning curve. I'm pretty good at Google and web searches and I've so far come up empty -- hence my request to this community.
I make the perhaps rash assumption that this is not the first project that seeks to use Gate in a node express environment. Since an NPM driver is among the first requirements, I'm hoping that at least one instance has already been created by those who have come before me.
I appreciate your attention and invite any guidance this community can offer.
--
Tom Stambaugh
66 Boston Ave
Somerville, MA 02144
617-721-0446 (cell)
Ian Roberts
I'm not aware of any pre-existing NPM helper libraries, but something you may want to consider is a component I developed in the context of the European Language Grid project a few years ago to wrap a GATE application as a Docker image exposing a relatively simple HTTP API.
https://gitlab.com/european-language-grid/usfd/gate-ie-worker is the basic tool into which you can plug your own GATE application, and the container registry of https://gitlab.com/european-language-grid/usfd/gate-ie-tools holds a set of pre-built images that include various standard applications like ANNIE. They all offer the same API on port 8080 - you POST JSON to /process in the form
{
"type":"text",
"content":"The plain text you want to process"
}
and you will get annotations back as something I hope should be easy enough to parse in JavaScript:
{
"response":{
"type":"annotations",
"annotations":{
"Token":[
{"start":0, "end":3, "features":{"string":"The", ...}}
]
}
}
}
The full success and failure response types are specified at https://european-language-grid.readthedocs.io/en/stable/all/A3_API/LTInternalAPI.html#response-structure
Ian
toggle quoted message
Show quoted text
https://gitlab.com/european-language-grid/usfd/gate-ie-worker is the basic tool into which you can plug your own GATE application, and the container registry of https://gitlab.com/european-language-grid/usfd/gate-ie-tools holds a set of pre-built images that include various standard applications like ANNIE. They all offer the same API on port 8080 - you POST JSON to /process in the form
{
"type":"text",
"content":"The plain text you want to process"
}
and you will get annotations back as something I hope should be easy enough to parse in JavaScript:
{
"response":{
"type":"annotations",
"annotations":{
"Token":[
{"start":0, "end":3, "features":{"string":"The", ...}}
]
}
}
}
The full success and failure response types are specified at https://european-language-grid.readthedocs.io/en/stable/all/A3_API/LTInternalAPI.html#response-structure
Ian
On 25/02/2023 18:39, SomervilleTom via groups.io wrote:
I'm looking for an NPM driver component to allow nodejs services (written in node express) to access the capabilities of Gate-Embedded + Annie. For all the usual reasons, we prefer using existing technology over writing our own wherever practical.
The initial desire is to do noun extraction on a dynamic corpus of text documents -- an example is an aggregation of stories published in local news outlets.
The contemplated platform is a robust AWS EC2 instance running Rocky Linux.
We have been running Neo4J-enterprise -- a graph database written in Java -- on a similar platform for some time now. Neo4J includes both Python and NPM driver components. We use the Neo4J NPM driver to provide connectivity used by our several node express services that use the Neo4J database.
We want the analogous technology stack for Gate-embedded with the Annie plugin. For a variety of reasons we have a strong preference for hosting our own Gate-embedded server rather than using the Gate cloud offering. Having said that, if there is an NPM component that provides access to the Gate Cloud offering, that component is surely an excellent starting point.
I'm aware of a Python component that would allow us to do our backend services in Python. We prefer nodejs (node express) if that's an option.
I'm a complete newbie to Gate (although not to ontology) and a very senior developer. I therefore ask your patience as I climb the Gate learning curve. I'm pretty good at Google and web searches and I've so far come up empty -- hence my request to this community.
I make the perhaps rash assumption that this is not the first project that seeks to use Gate in a node express environment. Since an NPM driver is among the first requirements, I'm hoping that at least one instance has already been created by those who have come before me.
I appreciate your attention and invite any guidance this community can offer.
--
Ian Roberts | Department of Computer Science
i.roberts@... | University of Sheffield, UK
Ian Roberts | Department of Computer Science
i.roberts@... | University of Sheffield, UK
SomervilleTom
I appreciate this immediate and helpful response.
I particularly like the clean JSON interface. I very much prefer to start with an API that others have had success with over trying to invent my own when I'm so new to the entire technology.
I'll dig into the several helpful links you posted.
Thanks,
Tom
toggle quoted message
Show quoted text
I particularly like the clean JSON interface. I very much prefer to start with an API that others have had success with over trying to invent my own when I'm so new to the entire technology.
I'll dig into the several helpful links you posted.
Thanks,
Tom
On 2/25/2023 2:20 PM, Ian Roberts via groups.io wrote:
I'm not aware of any pre-existing NPM helper libraries, but something you may want to consider is a component I developed in the context of the European Language Grid project a few years ago to wrap a GATE application as a Docker image exposing a relatively simple HTTP API.
https://gitlab.com/european-language-grid/usfd/gate-ie-worker is the basic tool into which you can plug your own GATE application, and the container registry of https://gitlab.com/european-language-grid/usfd/gate-ie-tools holds a set of pre-built images that include various standard applications like ANNIE. They all offer the same API on port 8080 - you POST JSON to /process in the form
{
"type":"text",
"content":"The plain text you want to process"
}
and you will get annotations back as something I hope should be easy enough to parse in JavaScript:
{
"response":{
"type":"annotations",
"annotations":{
"Token":[
{"start":0, "end":3, "features":{"string":"The", ...}}
]
}
}
}
The full success and failure response types are specified at https://european-language-grid.readthedocs.io/en/stable/all/A3_API/LTInternalAPI.html#response-structure
Ian
On 25/02/2023 18:39, SomervilleTom via groups.io wrote:I'm looking for an NPM driver component to allow nodejs services (written in node express) to access the capabilities of Gate-Embedded + Annie. For all the usual reasons, we prefer using existing technology over writing our own wherever practical.
The initial desire is to do noun extraction on a dynamic corpus of text documents -- an example is an aggregation of stories published in local news outlets.
The contemplated platform is a robust AWS EC2 instance running Rocky Linux.
We have been running Neo4J-enterprise -- a graph database written in Java -- on a similar platform for some time now. Neo4J includes both Python and NPM driver components. We use the Neo4J NPM driver to provide connectivity used by our several node express services that use the Neo4J database.
We want the analogous technology stack for Gate-embedded with the Annie plugin. For a variety of reasons we have a strong preference for hosting our own Gate-embedded server rather than using the Gate cloud offering. Having said that, if there is an NPM component that provides access to the Gate Cloud offering, that component is surely an excellent starting point.
I'm aware of a Python component that would allow us to do our backend services in Python. We prefer nodejs (node express) if that's an option.
I'm a complete newbie to Gate (although not to ontology) and a very senior developer. I therefore ask your patience as I climb the Gate learning curve. I'm pretty good at Google and web searches and I've so far come up empty -- hence my request to this community.
I make the perhaps rash assumption that this is not the first project that seeks to use Gate in a node express environment. Since an NPM driver is among the first requirements, I'm hoping that at least one instance has already been created by those who have come before me.
I appreciate your attention and invite any guidance this community can offer.
--
Tom Stambaugh
66 Boston Ave
Somerville, MA 02144
617-721-0446 (cell)
Tom Stambaugh
66 Boston Ave
Somerville, MA 02144
617-721-0446 (cell)