Stemming and stopwords on IBM Watson Conversation service - ibm-watson

For my app domain exists a lot of specific words with synonymous.
I need to configure Conversation service to understand custom words and their synonymous.
Is word stemming and stopwords dictionary available in Conversation service? Do i need a custom dictionary for word' synonymous? how i can build it?

Stop words is a built-in feature in conversation service.
Right now, the best way how to approach synonyms is to add all of them in the intent examples. E.g. #greeting intent with examples such as Hi, Hello, Wassup, Howdy, etc.
Alternatively you can define custom entity and define all the synonyms there (there is a support for this in the UI). E.g. entity #facility has a value of pool with synonyms like swimming pool, place to swim, etc.
So yes, right now is the best to have a custom list of synonyms built with intents and entities of the conversation service.

Related

Custom UIMA annotators in IBM Watson Retrieve&Rank

Is it possible to use custom uima annotators in Retrieve&Rank service?
How can I upload my custom annotator (packaged as jar file) to the service?
I need to create an entity annotator to discover my custom domain entities.
I don't think there is an obvious straightforward way to use a custom UIMA annotator in R&R.
Possible approaches you could use, if you want to try integrating the two though:
Use a UIMA pipeline to annotate your documents before storing them in R&R, or as you query R&R for them. I've not tried this myself, but I've seen references to this sort of thing - e.g. http://wiki.apache.org/solr/SolrUIMA so there might be some value in trying this
Use the annotations from your UIMA pipeline to generate additional feature scores that the ranker you train can include in it's training. For example, if your annotator detects the presence or absence of a particular custom domain entity, it could turn this into a score that contributes to the feature scores for a search result. For an example of contributing custom feature scorers to R&R, see https://github.com/watson-developer-cloud/answer-retrieval

Implement search across application

I have one search text box on top bar of my angular application. Something like following.
User can type some keyword and search across application. User will have list of links with some description.
I can implement it at client side as well as at server side. I am using angular at client side and .net at server side.
Can anyone suggest me some framework available to implement these? It can be client side or server side.
I can implement it from scratch, that is not an issue. But first I want to go through solution already available.
Please suggest.
It depends on many things:
if you have very little content to search in, you may opt for a full client-side solution, but that's usually not a very good idea
if you need full-text search, and at least basic semantic features (make sure e.g. "trees" matches "tree"), you should really have a look at Elasticsearch which is pretty easy to setup, and has very good .NET bindings (look for "NEST")
if you want fuzzy suggest on keywords (e.g. tags associated on documents) and are open to paying a service to handle it for you, I can suggest Algolia (http://www.algolia.com) which is a SaaS for search and suggest and should be very reasonably priced if you are in an enterprise environment and not a high-traffic website. We are using it for that use case and we are extremely happy with it.

Does GAE Datastore support 'partial text search'?

I'm very beginner.
I want to make a information management system using Go language on Google App Engine.
Users will create, edit, delete and search entities.
I have navigated GAE site, but could not find 'partial text search' on Datastore.
Partial text search, I mean, search entities contain 'partial text' entered.
Or, can you give me a tip to make such a system. (for free)
Very Sorry for low-grade question.
You can't do this with the datastore, you need to use the full-text search API. Unfortunately, that is not yet available with Go: apparently the best way to use it is to set up a module in your app that uses Python2.7, and exposes the search functionality.

Is it possible to modify a schema using the rest API in Apache Solr?

I think the title is self-explanatory.
I don't see anything on the Apache Solr wiki that suggests you can maintain the schema of an Apache Solr instance using the ReST API, but maybe (hopefully) you know something I don't.
I just found a section on the Solr wiki where they describe this exact feature for release 4.4 (which is not released yet).
It does have some prerequisite configuration on the Solr instance, but it does allow you to add fields to the schema. Based on that information, I can't see why they won't eventually extend the functionality to allow you to delete as well. I guess we will have to wait and see.
Here is the link to that section: http://wiki.apache.org/solr/SchemaRESTAPI#Adding_fields_to_a_schema. It also references this JIRA issue: "In preparation for dynamic schema modification via REST API, add a "managed" schema facility".

Does Solr have an equivalent to CompassQueryBuilder?

I am rewriting our company's search functionality to use Solr instead of Compass. Our old code is using CompassQueryBuilder.CompassQueryStringBuilder to build a query out of a list of keywords. The keywords may have spaces in them: for example: "john smith", "tom jones".
Is there an existing facility I can use in Solr to replicate this functionality?
The closest thing I know for SolrJ is the solrj-criteria project. It seems to be currently unmaintained though.
Solr offers a wide variety of querying and indexing options. So fields that contain keywords with spaces in it, can be made possible by defining a custom type in the configuration file (see here). Queries with spaced keywords in it can be made possible by specifying a custom QueryParser. (see here)
Solr itself doesn't offer a QueryStringBuilder in an API. Actually, Solr itself doesn't offer any API classes at all, since all interaction is done by posting messages over Http. There are client libraries for Java, .NET and PHP etc. In the SolrNet api there exists a SolrMultipleCriteriaQuery, which is quite similar to the CompassQueryStringBuilder.

Resources