Recommendation Engines for Java applications [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I was wondering if there is any open source recommendation engine available? It should suggest something like Amazon and Netflix. I have heard of a framework called Apache Mahout - Taste. I am trying it next week. It would be great if you can share your valuable thoughts.

I'm the developer of Mahout / Taste, and hope it will do what you need, but in the interest of balanced coverage, let me also point you at:
Duine
CoFE
Cofi

Apache Mahout is the only one I have found for this area (I have been looking recently too).
Though Weka may also be an option.

I had to work with open source recommendation systems and these are the ones that I found:
Duine, Apache Mahout, OpenSlopeOne, Cofi, SUGGEST and Vogoo.
More details:
Apache Mahout constitutes a Java framework in the data mining area. It has incorporated the Taste Recommender System, a collaborative engine for personalized recommendations.
Vogoo is a PHP framework that implements an collaborative filtering recommender system. It also presents a Slope-One code.
A Java version of the Collaborative Filtering method is implemented in the Cofi library. It was developed by Daniel Lemire, the creator of the Slope-One algorithms. There is also an PHP version available in Lemire's webpage.
OpenSlopeOne offers an Slope One implementation on PHP that cares about performance.
SUGGEST is a recommendation library made by George Karkys and distributed in a binary format.
I described everything I found out here on my blog:
http://girlincomputerscience.blogspot.com.br/2012/11/open-source-recommendation-systems.html
hope it helps!

I just started using easyrec. The forums are not very active, though I did get my questions answered. Plus they have a demo server so you can test drive the recommendation tools without installing anything. I liked their javascript API and way to track recommendations of different types of items. Currently, they only support the slope one recommender--if you are looking for flexibility in this regard, mahout wins hands down (though you can write your own plugins for easyrec).

lenskit seems another good recommendation engine in Java, provided by the grouplens team.

If you're looking more for the raw engine, rather than something specifically configured for amazon or netflix, then Minion provides 'document similarity measures'.

Related

JAVA API Wrapper for TWAIN Driver [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have an Image Capture project where:
I want to be able to identify scanners on the network so that it can be selected as a datasource for input.
I want to be able to control the scanner, capturing the image using the TWAIN driver.
The project is in JAVA so would like a JAVA wrapper or API for the TWAIN driver and/or TWAIN DSM.
In researching, I was first trying to find open source code for TWAIN, but this seems to dead-end on JAVA.
I can find commercial software such as from Aprise and Morena, but both seems not up-to-date. JTWAIN seems to be the most popular but seems dated. Open Source seems to be in worse shape where last activity is years ago:
http://rsbweb.nih.gov/ij/plugins/twain-scan.html
http://www.coderanch.com/t/273864/java/java/Scanner-Twain-Java
Acquire Images in java using TWAIN
Is there any support, stable Java TWAIN wrappers?
Are there any commercial solutions other than JTWAIN, Morena or EZTWAIN?
I am not looking for SANE driver and wrapper as I have found something already if we went down the SANE path.
Thanks,
Jason
The first comment I have is that if you're developing something to run in a web browser steer clear of Java.
That being said, if this is an application instead of an applet intended for web, I've had great success with Morena. As for Morena, Aprise, and JTwain, don't get too excited over lack of updates. TWAIN, being a 23-year-old scanner specification, has reached a maturity where it hasn't and won't change much. The TWAIN developers have now focused on a new standard called TWAIN Direct, which is to eventually supersede TWAIN itself through driverless network scanning.
If you want a browser-based scanning solution use Dynamsoft. They have a plugin for everything. If you need a browser-based solution and that's not an affordable option you'll have to write custom browser plugins.
Hopefully we can look forward to this being implemented on other OSes:
https://developer.chrome.com/apps/documentScan
I suggest you can try Dynamic .NET TWAIN. Although Dynamsoft does not directly provide a Java TWAIN solution, they keep .NET version up-to-date, supporting x86 and x64. You can easily wrap DOTNET APIs by reading the article - Java TWAIN with Dynamic .NET TWAIN and jni4net.
Here is the source code: https://github.com/Dynamsoft/JavaTwain
You can try my TWAIN JAVA API.
But one problem which I did not solve yet, is the Windows-x86_64 drivers.
The sample twain driver works perfectly on java x86 and x64.
But some drivers like HP or Kyrocera only work on x86 java.
Twain Java Library

Free java data visualization library? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I'm looking for a free Java library to visualize some data. I want to do something similar as the following two images. Is there any possibility? I first thought of prefuse, but this isn't developed since 2007. So any oher libraries?
Have you considered looking at GraphViz?
Graphviz (short for Graph Visualization Software) is a package of open-source tools initiated by AT&T Labs Research for drawing graphs specified in DOT language scripts. It also provides libraries for software applications to use the tools. Graphviz is free software licensed under the Eclipse Public License.
You can do some fairly cool stuff with it:
For the timeline part, you should really consider Google Visualization API which contains annoted timelines, ...
Try Protovis, which seems to be the successor of Prefuse and may be a good alternative option. It is written in JavaScript, but a Java Graphical Toolkit is available.
D3.js is the successor of Protovis today. (Recommended by Protovis.)
GraphStream is a possibility.
Check ou:
http://processing.org/
http://www.axiis.org/ (not java)
http://gephi.org/
Further links can be found at:
http://en.wikipedia.org/wiki/Data_visualization
http://en.wikipedia.org/wiki/Scientific_visualization
An other alternative is to use JUNG framework. If you are looking for browser/Javascript based libraries as well, checkout three.js
Another library you could consider is JGraph. It works mainly with graphs but you can easily implement a timeline as a one. The project can be found on GitHub https://github.com/jgraph/jgraphx and was recently updated.
You'd have to no doubt do a lot of customization, but Google's Chart Tools offers a lot of flexibility and options (http://code.google.com/apis/chart/). I have not done anything as involved as the images that you pasted above, but it was fairly easy to set up various charts using the Google Visualization API.
It might be worth it to post your images on the Google Visualization API group (http://groups.google.com/group/google-visualization-api?pli=1) to see if anyone has done more involved charts like those you've proposed above using the Visualization API...
I am surprised this hasn't been listed. I used jFreeChart a while back: http://www.jfree.org/jfreechart/
If you are explicitly looking for a swing library, ignore this answer!
But in the world of web, Raphaël and D3.js are my favorites. Back-end could be implemented in java.
If you dont mind to use javascript solution timeglider is what you need for the second screenshot.

Is there a chatbot framework available? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am trying to create an program similar to ELIZA. My preference is to implement this project in a general language such as ruby, java, C++.
is there some framework (open source would be great) available for any of these languages ?
I'm answering an old question here mainly thanks to the renewed interest in chatbots after Facebook's announcement at F8 2016. Here're few platforms that you can use to create chatbots:
Pandora Bots
Api.ai
The above two use natural language processing and advanced AI to create chatbots. You can use the above in conjunction with platforms that allow you to create bots across various messaging platforms. This way you can write your bot logic once and deploy it across different messaging platforms (FB Messenger, Slack, WeChat, Skype etc). To achieve this, you can use:
Microsoft Bot Framework
Twilio
Gupshup
Disclaimer: I work for Gupshup.
At the heart of a chat bot there is a natural language processor (NLP), the engine implements algorithms that would break a sentence entered by a human (e.g plain English) to a series of token the computer can process.
while I am not familiar with a chat bot framework there are several open source NLP engines you can utilize to implement a chat bot:
for example Open NLP
googling for "natural language processor" will point you to other sources
To my mind, the most simple way to work on bots actually is to use gaelyk, a groovy framework to develop applications on top of google app engine.
Indeed, using google app engine, you gain a quite easy to use server environment, complete with high load support.
And gaelyk provides some very cool improvements over google app engine jabber handling.
Even better, you replace Java language with Groovy, which is more or less compatible, but with very nice enhancements.
Check this bot framework named JBuddy Bot Framework
A framework for a chatbot... no. A chatbot is a serious field, requiring teams of computer scientists many years to develop. There is no frame that can help besides the general purpose ones that come with them (the string libraries would be a great place to start).
There are plenty of frameworks available for IRC-bots, but not specificly a chat-bot. Ruby has a great resource for quickly finding popular libraries/frameworks Ruby-toolbox.com
If you want something that is MVC-based I can recommend Autumn. If you want something a little more lightweight take a look at Isaac or Cinch. I've worked with all libraries before and work as expected.

Java licensing for commercial distribution [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm thinking of using Java to write a program that I might try to sell one day. I'm new to Java so I have to ask, what types of tools/software/etc will I need (from development, to distribution, to user-friendly installation on users' machines) that have licenses that must be considered to make sure they allow sales and closed source code, etc.?
Should we assume the user already runs at least one Java app, and therefore has a fairly recent version of Java on their machine?
Also, do you have any recommendations for specific tools that are definitely suitable for this purpose?
It's very rare to see any development tools that restrict the way you can use software created using them. The only exception to that are libraries, and that is not a problem with standard Java libraries. Tools, IDE and so on - regardless of whether they're free or not - will not affect how you can distribute your code.
There are some weird exceptions, like BitKeeper source control software, the license of which prohibits anyone using it from trying to create software that could compete with BitKeeper - which is why I advise to stay as far away from the thing, and the company behind it, as possible. In the end, if you want to be absolutely legally clear, you'll have to hire a lawyer and have him go through licenses and EULAs for all software you're going to use in your development process, because of stuff like this.
Some specific data points: Java itself is okay (both compiler and libraries); both Ant and Maven are okay; and Eclipse and NetBeans are okay.
For development, you will likely need an IDE. The top picks are:
Eclipse (most features)
IntelliJ (non-free)
Netbeans (easiest to learn, imo)
A few others with much lower popularity
For a free installation program, I've had the best experiences with IzPack, but there are others available. Similarly, to convert to a .exe for easy launching, I recommend Launch4J.
I don't think that its safe to assume that users have Java installed. Many will, but the versions will vary fairly widely, and the few that don't will tend to cause problems. Obviously, this may vary depending upon your intended audience (and how much control you have over them).
For cross platform distribution you might want to look into launch4j: http://launch4j.sourceforge.net/
Also you might also want to obfuscate and optimize your code, for that you can use ProGuard: http://proguard.sourceforge.net/
For your development use any of the open source tools available such as eclipse or netbeans, or even emacs with jdee.
You should not assume users have Java, package a version of java with your application.
For installation you might want to search for some open source solutions, the only one I know of is install4j and it is commercial. http://www.ej-technologies.com/products/install4j/features.html
This is a question that is really hard to answer because the requirement and the preferences of the users are different from each other.
But I will tell you one entry point. Use ECLIPSE as your IDE to develop your Java code. It is an opensource one so you don't need any licence for that. When you are working on your project you will need variety of other tools to do various stuff. Fortunately most of the essential functions are implemented as plugins for eclipse. You can seperately add them to eclipse.
With time, you'll get the experience and you will have enough knowledge to swich to the necessary tools etc

Any data-driven open source JEE5 EJB3+JSF Sample Project out there? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am looking for an open source project that uses EJB3 as backend and JSF as frontend. It should not be a tutorial but a real application that real people are using.
The application should be data-driven, i.e. the following aspects are fundamental and make 80% or more of the application.
form-based (many input forms)
table views, master/detail, etc.
CRUD (create/read/update/delete)-Operations have been implemented
support for relations: 1:1, 1:n
JPA Entity Beans + EJB 3 Stateless Session Beans for Facade
no JBoss Seam
Typical applications are CRM / ERP projects where people work a lot with lists, tables, and forms. But any other "administrative" application should be OK, too.
I know petstore, but that application isn't form-based. petstore is a end-user application. I am looking for backend-user applications.
Something like Microsofts AdventureWorks series, but with EJB3+JSF...
Something like SugarCRM, but with EJB3+JSF...
I've googled a lot... with no results :-(
#Matthew: the samples provided with NetBeans are too simple.
#JB: It should be a real application. Not a "how to do EJB+JSF" application.
#50-50: voted down because of seam
#Kariem: I can't use seam, AppFuse hasn't EJB Session Beans
Seam examples are quite good. They are stand-alone projects, that you may deploy out of the box.
I feel your pain, this is not an answer, as much as an observation that the Java World in general suffers from the lack of good applications that go beyond the tutorial. Some of the sample .NET applications are very good and show interesting techniques, while solving small enough problems that the novice can wrap their heads around the entire application and see "real code" doing "real things".
I have not looked at the Seam examples, so they may well be an exception, but having sample applications, particularly the CRUD, Query, Report style back office applications you're talking about, are a great help to folks and I wish there were more in the Java community.
You might poke around at these real world JSF apps and see if any of them have their source available: RealWorldJsfLinks
I am not sure is it 100% what your looking for, but check out the built in example that comes packaged with NetBeans 6.1. It uses JSF/EJB3/ApacheDerby. I played around with it for like 20 minutes and thought it was pretty cool as a simple/starter JavaEE application to learn from.
I have to second jb's comment: The seam examples are great and can be put to use. The Seam Homepage uses the Seam Wiki from the examples (that application alone fulfills all the outlined criteria). Other examples in the distribution: Hotel Booking, DVD Store, and a Blog. The documentation contains quite some information on the special parts of the examples.
The "problem" might be that Seam covers a lot of the details you'd usually have to do in a traditional EJB3/JSF application. You might want to have a look at AppFuse or AppFuse Light. They have one application with examples using different technologies, including EJB3 (JPA only) and JSF. The examples are not as sophisticated (don't really fulfill your criteria), but contain a lot of useful stuff.

Categories