I would like to develop some visualisations for various string matching algorithms. Ideally, once the visualisation has been developed, I should be able to interact with it, for instance, by experimenting with different inputs to see how it affects the algorithm. Can anyone suggest what would be the best tool to use to create these visualisations?
I've been told that Mathematica is a tool that could be used with visualising algorithms, has anyone had much experience in doing this? How well suited would Mathematica be for visualising a string matching algorithm?
If you can code in javascript, d3.js is an amazing data visualization library.
Here's an example of a visualization of an algorithm to generate Hamiltonian graphs. It was built using d3.
Here's another example visualizing min-heap generation.
you can find a lot of visualizations here:
http://www.comp.nus.edu.sg/~stevenha/visualization/
source: Competitive Programming 3 by Steven Halim and Felix Halim
Related
When searching a paper using some online library, such as Springer, the returned result will also show the related concept automatically extracted from this paper as well as some knowledge relationship graph based on these concepts. The following is an screenshot of the search output.
I would like to know which kind of algorithms and software are able to generate this kind of output. Are there any open-source tools being able to do that?
The algorithm being used is K-Means. K-Means is an unsupervised clustering algorithm. Articles are clustered by topic. Some articles contain multiple topics, many of which are the same between article. Those shared topics are then branches emerging from the initial topic. SKLearn is a great library for Python that does clustering very well. R is also great for clustering. Hope this helps!
Can anyone show a simple implementation or usage example of a tf-idf algorithm in Smalltalk for natural language processing?
I've found an implementation in a package called NaturalSmalltalk, but it seems too complicated for my needs. A simple implementation in Python is like this one.
I've noticed there is another tf-idf in Hapax, but it seems related to analysis of software systems vocabularies, and I didn't found examples of how to use it.
I am the author of the original Hapax package for Visualworks. Hapax is a general purpose information retrieval package, it should be able to work with any kind of text files. I just happens so that I used to use it to analyze source code files.
The class that you are looking for is TermDocumentMatrix, there should be two methods globalWeighting: and localWeighting: to which you pass instances of InverseDocumentFrequency and either LogTermFrequency or TermFrequency depending on your needs. Typically when referring to tfidf people mean it to include logarithmic term frequencies.
There should best tests demonstrating the TDM class using a small example corpus. If the tests have not been ported to Squeak, please let me know so I can provide you with an example.
TextLint is a system based on PetitParser to parse and match patterns in natural language. It doens't provide what you ask for, but it shouldn't be too difficult to extend the model to compute word frequencies.
Are there any tools that analyze the meaning of given sentences? Recommendations are greatly appreciated.
Thanks in advance!
I am also looking for similar tools. One thing I found recently was this sentiment analysis tool built by researchers at Stanford.
It provides a model of analyzing the sentiment of a given sentence. It's interesting and even this seemingly simple idea is quite involved to model in an accurate way. It utilizes machine learning to develop higher accuracy as well. There is a live demo where you can input sentences to analyze.
http://nlp.stanford.edu/sentiment/
I also saw this RelEx semantic dependency relationship extractor.
http://wiki.opencog.org/w/Sentence_algorithms
Some natural language understanding tools can analyze the meaning of sentences, including NLTK and Attempto Controlled English. There are several implementations of discourse representation structures and semantic parsers with a similar purpose.
There are also several parsers that can be used to generate a meaning representation from the text that is being parsed.
I am looking for a tool that can analyze the emotion of short texts. I searched for a week and I couldn't find a good one that is publicly available. The ideal tool is one that takes a short text as input and guesses the emotion. It is preferably a standalone application or library.
I don't need tools that is trained by texts. And although similar questions are asked before no satisfactory answers are got.
I searched the Internet and read some papers but I can't find a good tool I want. Currently I found SentiStrength, but the accuracy is not good. I am using emotional dictionaries right now. I felt that some syntax parsing may be necessary but it's too complex for me to build one. Furthermore, it's researched by some people and I don't want to reinvent the wheels. Does anyone know such publicly/research available software? I need a tool that doesn't need training before using.
Thanks in advance.
I think that you will not find a more accurate program than SentiStrength (or SoCal) for this task - other than machine learning methods in a specific narrow domain. If you have a lot (>1000) of hand-coded data for a specific domain then you might like to try a generic machine learning approach based on your data. If not, then I would stop looking for anything better ;)
Identifying entities and extracting precise information from short texts, let alone sentiment, is a very challenging problem specially with short text because of lack of context. Hovewer, there are few unsupervised approaches to extracting sentiments from texts mainly proposed by Turney (2000). Look at that and may be you can adopt the method of extracting sentiments based on adjectives in the short text for your use-case. It is hovewer important to note that this might require you to efficiently POSTag your short text accordingly.
Maybe EmoLib could be of help.
I have a problem related to graph.
I am not a computer science grad hence needed a some quick intro on what is graph and were can i read about graph and how to solve graph related problem in c++ or in general.
The boost graph library may be a starting point and give you some code for solving your graph related problems.
Please see Graph problems in the Stony Brook Algorithm Repository,
and a cute lecture by Xavier Llora.
I would start by studying a few specific algorithms. Dijkstra's algorithm and the graph closure algorithm are good places to start. Also most introductory computer science (eg. Data Structures) texts have a section on graphs. I used this book, mostly after I was already pretty comfortable with most of the material though. It takes a pretty formal approach, so if your maths is strong you might like it.
The community might be able to give you better pointers if you mentioned something specific that you're trying to solve (if there is such a thing).
This is a very cool tool for representing graphs