LensKit recommendation without rating - recommendation-engine

I try to implement a recommendation engine with LensKit 3.0 in a Java webapp for an ecommerce website. I would like to generate recommendations for a given user according to purchase history, therefore I only have implicit events of 'buy' and 'view'.
According to the documentation, I bind RatingVectorPDAO to EntityCountRatingVectorPDAO, but how will it be used during the build of the engine?

Related

Is there a workaround for launching Google Actions for countries where Transactions API is not available

Recently, one of our Actions was rejected because it allowed the user to book an appointment but did not use Transactions API. So we had a few questions regarding the review process and the policy guidelines for Actions that use Transactions API.
Is there a way (by modifying the codebase or contacting the support) using which you can launch your Action for countries where Transactions API is currently unsupported?
Can you launch different (with and without Transactions API) versions of a single Action for different countries?
If someone is offering services that require enablement of Transactions API, does it limit the location targeting to only include the countries where the API is currently supported?
Is there a way (by modifying the codebase or contacting the support)
using which you can launch your Action for countries where
Transactions API is currently unsupported?
If you are knowing where the Transactions API is supported you can select your target county while Giving it for Approval from your action console.
Can you launch different (with and without Transactions API)
versions of a single Action for different countries?
As the invocation name will be chaos You can not upload your action with different critearea with different location.
Action store is same like Play store or App store where you can upgrade your action or app but can't duplicate in same manner.
One-word names are not allowed, unless the name is unique to your brand or trademark within the target country. Instructions to request an exception for individual countries are below. Compound words broken into multiple words will
not circumvent this requirement, for example key board counts as one word.
Two-word names are not allowed if one of the words is a definite article (the), indefinite article (a or an), pronoun (like my), or preposition (for, to, or of). For example, your name should not be a bicycle, an espresso, to amuse or for fun.
If someone is offering services that require enablement of
Transactions API, does it limit the location targeting to only
include the countries where the API is currently supported?
For an alternative solution you can use web payments where you can do some payment and give callback to your server. (i think thats allowed in most countries if you have global payment options available)
Actions that enable Transactions aren't currently available on Android (Go edition) devices.

Does the Recommendation service allow enriching an existing model with new data?

We are able to provide an initial training model and ask for recommendations. When asking for recommendations we can provide new usage events. Are these persisted at all into the model? Do they manipulate the model at all?
Is there another way the data is supposed to be updated or do we need to retrain a new model every time we want to enrich the model?
https://azure.microsoft.com/en-us/services/cognitive-services/recommendations/
EDIT:
We are trying to use the "Recommendations Solution Template" which deploys a solution to Azure and provides a swagger endpoint for working with the model (https://gallery.cortanaintelligence.com/Tutorial/Recommendations-Solution)
It appears the Cognitive Services API is much richer than this. Can the swagger version's models be updated?
After more experience with this I discovered a few things as of August 21st, 2017:
While not intuitive for the uninitiated, new data requires training a new model for the data to be persisted into the model.
This allows a form of versioning the model, and means when you make new models you can switch recommendations to work how they did before if they don't work as well.
The recommended method appears to be to batch usage data and create new builds of the model on an interval.
The APIs do allow passing in recent usage data to allow recent data to be accounted for at scoring time, it's just not persisted.
The "upload usage events" call in the cognitive services API does not seem to work. Uploading the new usage data via a file does appear to work.
The Recommended Solutions Template vs. The Cognitive Services API
It appears the Recommended Solutions Template is a packaged version of the SAR (Smart Adaptive Recommendations) model inside the Cognitive Services API that is optimized for ease of use.
I'm presuming for other popular recommendation models like FBT the Cognitive Services API should be used as the deployable template only allows one model type.
Additional note on the Preview Status of the API
It seems microsoft is deprecating the datamart as of February and sending people to this preview API instead. Therefore it seem reasonable to presume this Preview is highly likely to move on past preview and not be killed.

Do I have to use API.AI to create an action for Google Home?

I have some experience building chat and voice agents for other platforms, but I’m not using API.AI to understand natural language and parse intents. Do I have to replace my existing solution with API.AI?
Not at all. The advantages of using API.AI in creating a Conversation Action include Natural Language Understanding and grammar expansion, form filling, intent matching, and more.
That said, the Actions on Google platform includes a CLI, client library, and Web Simulator, all of which can be used to develop an Action entirely independent of API.AI. To do this you’ll need to build your own Action Package, which describes your Action and expected user grammars, and an endpoint to serve Assistant’s requests and provide responses to your users queries. The CLI can be used to deploy your Action Package directly to Google, and you can host your endpoint on any hosting service you wish. Google recommends App Engine on Google Cloud Platform.
I found this explanation from the official page most helpful.
API.AI
Use this option for most use cases. Understanding and parsing natural, human language is a very hard task, and API.AI does all that for you. API.AI also wraps the functionality of the Actions SDK into an easy-to-use web IDE that has conveniences such as generating and deploys action packages for you.
It also lets you build conversational experiences once and deploy to many other platforms other than Actions on Google.
ACTIONS SDK
Use this option if you have simple actions that have very short conversations with limited user input variability. These type of actions typically don't require robust language understanding and typically accomplish one quick use case.
In addition, if you already have an NLU that you want to use and just want to receive raw text and pass it to your own NLU, you will also need to use the Actions SDK.
Finally, the Actions SDK doesn't provide modern conveniences of an IDE, so you have to manually create action packages with a text editor and deploy them to your Google Developer project with a command-line utility.
Google is pushing aggressively everybody to API.AI. The only SDK they have (Node.js) no longer supports expected events for instance. Of course, you don't need to rely on their SDK (you can talk to the API directly) but they may change the API too. So proceed with caution.

How to integrate a comment system in an ios app?

Lets say my web server app is in drupal or wordpress, or even code igniter, how would one get about integrating a comment system? TSpecifically what I am trying to find out is if anyone was able to find a successful approach that would save some time as opposed to me going down the road of tying myself to a specific CMS content system.
Just throwing in some considerations here (by no means complete):
Are users also accessing your content (and its comment system) via the website?
If so, you'll want to have a comment interface that is available on the website too, and the easiest choice may be to use the comment system natively supplied by your CMS / through plugins.
If on the other hand your users will only be using the iOS app(s) for commenting (via a native interface) or you'll be heavily customizing the website anyway, using a comment system independent from your CMS might be an option.
How will the content be accessed from the app?
Via a simple web view? Or will the app download via an API provided by your CMS and display it in a native UI? If you are using an API provided by your CMS, you will have the same issue with your content as with your comments when moving CMSes.
You could add an intermediate layer that abstracts from the specific CMS API.
Or if you don't really plan on moving CMSes but want to prepare for that event nevertheless, you could simply implement a no-frills "version check" to ask the server for the CMS kind / version it is using, and if it doesn't match what your app expects, ask the users to update. This isn't the prettiest user experience, but it might be sufficient depending on what you're actually planning.

Choosing a Portal / CMS software for developing multi brand websites?

We are in the early stage of overhauling a multi-brand website built using a custom developed java mvc framework to enable web 2.0 features. Built-in features we are looking at are: i18n, sso, content search and indexing, personalization, mashup support, ajax support, rich media content storage and management support, friendly to search engine optimizations, bookmarkable URLs, support for social networking sites, support for page composition and decoration using templates.
A combination of these features are supported by many portal and cms software.
Any insights will be very helpful in using a portal/cms combination to address this requirements!
This is a follow-up on this post focusing on the portal/cms angle
we are developing the same sort of thing, we are using Umbraco, open source, by far the best opensource we have come across
Joomla comes to mind. The ability to skin and implement templates is a core strength of the product. You can create channels of content as well as enable varying levels of user customization via roles.
Another nice feature is that you can export your changes to your template. that way you can port your changes easily from QA to a customer site.
Finally, there is a very active community of extension developers with customizations, as well as numerous template designers.
If you require a Portal that does integrate with your CRM such as Salesforce and yet allows you to build a Mobile-Optimized branded portal for Customers, Partners or any other groups of users you can check out Magentrix:
www.magentrix.com