As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What is the best turnkey (ready to use, industrial-strength) relation detection library?
I have been playing around with NLTK and the results I get are not very satisfactory.
http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html
http://nltk.googlecode.com/svn/trunk/doc/howto/relextract.html
Ideally, I would like a library that can take sentences like:
"Sarah killed a wolf that was eating a child"
and turn it into a data structure that means something like:
killed(Sarah, wolf) AND eating(wolf,child)
I know that this is the subject of a large body of research and that it is not an easy task. That said, is anyone aware of a reasonably robust ready-to-use library for detecting relations?
Update: Extractiv is no longer available.
Extractiv's On-Demand REST service:
http://rest.extractiv.com/extractiv/?url=https://stackoverflow.com/questions/4732686/best-turnkey-relation-detection-library&output_format=html_viewer will process this page, extract and display the two semantic triples you desire in the bottom left corner under "GENERIC". (It throws away some of the text from the page in the html viewer, but this text is not thrown away if you utilize json or rdf output).
This is assuming you're open to a commercial, industrial strength solution, though limited free usage is allowed. It's a web service but open source libraries can be used to access it or could be purchased from Language Computer Corporation.
These relations can be read fairly easily out of the output of dependency notations. For instance, put into the Stanford Parser online, you can see both of the two subject-verb-object triples in your example in the typed dependencies collapsed representation as:
nsubj(killed-2, Sarah-1)
dobj(killed-2, wolf-4)
nsubj(eating-7, wolf-4)
dobj(eating-7, child-9)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I was wondering what language people would suggest to use when attempting to create a program that can record the video feed for three different webcams and being able to splice out 5 or 10 seconds of the stream into a video file?
Thanks for any help!
This is less of a "language choice" problem than an "environment choice" problem - any language that can be used to develop long-running processes that can interact with whatever webcam/image acquisition API will be appropriate.
C#/VB.NET, Python, or C++ will be your best bets (in order of increasing difficulty).
The task would be impossible in PHP, EcmaScript, VBScript, and Brainfuck.
Java and Assembly are possibilities, but probably make things more difficult than they need to be.
We need more information about what kind of webcams they are (USB UVC class? Firewire DV or Firewire IIDC? Network webcams with their own Motion-JPEG servers built-in?) before we can offer specific advice.
I did a project fairly painlessly using Adobe Flex to capture client webcam video and stream it to a server. It's a good choice if you need to do this over the web. If your environment is more controlled, as in you're in control of all the hardware, I'd use Max/MSP/Jitter, which is easy to get wired up capturing video, and is designed to do realtime splicing and such.
And the benefit of either of these options is that you don't need to know ahead of time which hardware varieties are being employed, since either runtime has the handlers for any of these.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm creating an application for detecting the language of short texts, with an average of < 100 characters and contains slang (e.g tweets, user queries, sms).
All the libraries I tested work well for normal web pages but not for very short text. The library that's giving the best results so far is Chrome's Language Detection (CLD) library which I had to build as a shared library.
CLD fails when the text is made of very short words. After looking at the source code of CLD, I see that it uses 4-grams so that could be the reason.
The approach I'm thinking of right now to improve the accuracy is:
Remove brand names, numbers, urls and words like "software", "download", "internet"
Use a dictionary When the text contains a number of short words above a threashold or when it contains too few words.
The dictionary is created from wikipedia news articles + hunspell dictionaries.
What dataset is most suitable for this task? And how can I improve this approach?
So far I'm using EUROPARL and Wikipedia articles. I'm using NLTK for most of the work.
Language detection for very short texts is the topic of current research, so no conclusive answer can be given. An algorithm for Twitter data can be found in Carter, Tsagkias and Weerkamp 2011. See also the references there.
Yes, this is a topic of research and there is some progress that has been made.
For example, the author of "language-detection" at http://code.google.com/p/language-detection/ has created new profiles for short messages. Currently, it supports 17 languages.
I have compared it with Bing Language Detector on a collection of about 500 tweets which are mostly in English and Spanish. The accuracy is as follows:
Bing = 71.97%
Language-Detection Tool with new profiles = 89.75%
For more information, you can check his blog out:
http://shuyo.wordpress.com/2011/11/28/language-detection-supported-17-language-profiles-for-short-messages/
Also omit scientific names or names of medicines etc. Your approach seems quite fine to me. I think wikipedia is the best option for creating a dictionary as it contains standard language. If you are not running out of time, you can also use newspapers.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Does anyone have a standard project that they use when learning a new language. Kinda like a specification document of a project that includes all aspects of programming. Does anyone use some sort of beginning type project when learning a new language? I guess it also depends on the type of language and what's it's capable of.
Contributing something to an open source project seems to work for me. In addition to getting exposed to some coding habits in the language , you get to work on something useful.
Going through the first few problems of Project Euler is a very good way to get a handle on topics like I/O, recursion, iteration, and basic data structures. I'd highly recommend it.
A friend of mine had a coworker who coded a minesweeper every time when he wanted to learn a new language with GUI.
I like making simple websites for learning.
Pro: you can put it online and show it to people.
Con: the language has to be suitable for web development.
Writing a simple ray tracer:
math functions (pow, sqrt, your own intersection routines)
recursion (because it is a whitted style recursive one)
iteration (for all pixels)
how to write custom types (rays, possibly vectors)
pixel wise graphics
have something to play with compiler's (optimization-) flags
optional:
simple GUI
file reading writing
I've also done so with metatrace.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What is a good tool to design the implementation of websites? I typically use UMl to design applications, but I feel that does not apply well to websites, specifically the heavy emphasis on UI that websites require.
What would be a good tool to use to plan a webpage?
What kind of model do you need?
Are you capturing some information about the visual aspects? In which case wire-frames or other story-boarding techniques are good.
You also need may to capture navigation information, which can be done via story-boarding but sometimes a UML state diagram is more succint and easy to reason about.
Then you may also wish to capture the data model associated with each state, and in which case a simple UML class diagram works well.
In an AJAX-based app you also need to document the "invisible" ajax activities, and again UML state diagrams along with classes for the invoked REST services can be helpful.
For the UI, I'd certainly not use UML but a wireframing tool like MockingBird or Pencil. The first one has my preference, it's awesome. Just try it.
Well, I use PowerPoint to create web page mockups. It's fast, and allows you to create "storyboards" that simulate actual use of the website and its various pages.
PowerPoint is great for presenting conceptual ideas, or modeling the UI for a real person to see if they understand it (kind of like a high-resolution paper prototype).
The PowerPoint Prototyping Toolkit provides a collection of shapes, such as textboxes and dropdowns, that assist in creating form mockups. This template is also useful.
You can take a look at ForeUI. You can design not only the UI but also the behavior of the website. Here is an example: Blog Mockup Created with ForeUI
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
My company needs 3D visualization for our commercial applications (CAD, mesh manipulation, computational geometry). We are tired of true vision 3D (tv3d), which we've been using for years (poor support, compatibility problems).
Our manager wants to use hoops 3d from tech soft 3D for software development. While I have no experience of it, my prejudices are:
Overpriced
Relatively few users - poor support
Old and outdated
Am I wrong about Hoops 3d?
What is your experience? Is Hoops useful?
Advantages?
Disadvantages?
Several years ago I was involved in a project that used HOOPs. The company didn't want to pay royalties any more and wasn't very convinced that HOOPs was the right product for them so I ported all the HOOPs functionality they used over to OpenGL. I have summarised my experience of this below but you will have to determine what is relevant for your projects.
Disadvantages/costs for that project:
Needed to write object picking (HOOPs supplied that)
Needed to write virtual trackball (HOOPs supplied that) [although sample code to do this is freely available]
Had to move some data storage from HOOPs over to our own data structures
Advantages for that project:
Able to use features of OpenGL such as transparency (although surely HOOPs has that by now?)
Lots of resources to find help with OpenGL
Better performance (for our case - I don't know if this is still true as it seems HOOPs uses OpenGL/DirectX underneath now)
Better support for consumer-priced graphics cards & laptops
More flexibility to go beyond what HOOPs thinks you should need to do
The big wins were the resources to find help and greater flexibility.