Take the 2-minute tour ×

I am looking for a software platform/programming framework which can do the following:

  • INPUT: a user inputs some text
  • PROCESS/REFERENCE DATA: the user is then asked to answer a list some questions regarding the INPUT and attribute the answers either to the whole INPUT or to some parts of the INPUT
  • OUTPUT: the list of answers attributed to the original INPUT

Some clarifications:

  • re: REFERENCE DATA: the list of questions should allow for a sub/follow-up question
  • re: PROCESS: the answering process should be as flexible as possible (user should be able to skip questions, provide his or her own answers, etc)
  • this is NOT meant to be an automatic/machine learning tool - the user (the human) will be classifying the INPUT himself/herself based on the REFERENCE DATA
share|improve this question
Hm.... where did the bounty go? –  DaveFar Oct 7 '11 at 9:11
@DaveBall - I accepted your answer, so it should have gone to you. How can I check it? –  user18404 Oct 7 '11 at 23:07
There's a bounty tab on your personal page - I wonder what it says. Since your bounty was suddenly gone on this page long before the grace period was over, I guess something went wrong :( –  DaveFar Oct 8 '11 at 11:32
@DaveBall, a bounty page in my profile has 3 subtabs: active, offered and earned. I can still see this question on the offered tab, but not on the active nor on the earned. –  user18404 Oct 8 '11 at 23:53
@DaveBall, I think I know what happened, here's the exert from "There are a few other rules around bounties": "If you do not award your bounty within 7 days (plus the grace period), the highest voted answer created after the bounty started with at least 2 upvotes will be awarded half the bounty amount. If there's no answer meeting that criteria, the bounty is not awarded to anyone.". Because your original answer has been created before I offered the bounty, the bounty didn't automatically was awarded you you. To avoid such situations in a future, I am going to make some suggestions on meta.se –  user18404 Oct 9 '11 at 5:12
show 2 more comments

closed as off-topic by gnat, GlenH7, Kilian Foth, Glenn Nelson, Dan Pichelman Dec 19 '13 at 17:35



2 Answers

up vote 2 down vote accepted

This is a huge field, with a lot of methodologies involved:

  • taxonomy
  • guided search
  • faceted search
  • ontology
  • semantic web.

Three exemplary platforms, each quite different, are http://www.endeca.com/en/products/Endeca-InFront/Faceted-Search-Navigation.html, http://www.ontotext.com/kim and http://www.thinkmap.com/thinkmapsdk.jsp;jsessionid=E9F7B78CABB9190A900E687793874823.

So I think you should refine what kind of platform you are looking for. For Java, maybe you'll find something useful from the list http://www.searchtools.com/tools/tools-java.html.


Reading your comment, I think some text tagging and afterwards guided search should do the job.

This paper about Generic Text Processing is quite old, but might lead you in a helpful direction.

share|improve this answer
Thanks for the answer Dave. However I would like to emphasize - that I am not after something automatic or even semi-automatic, the text classification job will be performed 100% by a human. After some though I come to realise that I am really looking for is a simple program/framework which will allow me to make a links between a chunks of texts to some classification values (answers to the questions or even to a simple text comments) –  user18404 Sep 28 '11 at 6:25
add comment

It sounds like you want something like an expert system. Expert systems are typically used as classification tools, and are programmed (or trained) to do exactly what you describe: take a fact, then gather additional information in a systematic way to (hopefully) identify or classify the fact. You could probably code up a simple one in a couple of days, the real challenge is encoding and navigating your knowledge base. There are lots of "rules engines" that are made for this, but they tend to be fairly complex, I'd recommend trying to write your own first.

share|improve this answer
add comment