What is a neural network called which generates new outputs - artificial-intelligence

I want to make a neural network which will generate new surnames. Although, while thinking about this I realized that this problem can not be solved with a traditional neural network because I want it to find a pattern in my dataset and generate a new surname. Which type of AI should I use? Where can I learn it from?
PS
My project is inspired by this video

Maybe GANs?
https://machinelearningmastery.com/what-are-generative-adversarial-networks-gans/
Although I did find this which uses RNN and seems far more straightforward:
https://towardsdatascience.com/generating-pokémon-names-using-rnns-f41003143333

Neural Networks, use with the aim to generate something, called Generative Adversarial Network (GAN).
While in your case, you might have to go with variations of RNN (LSTM/ GRU) because names are based on language and sequence of alphabets.

Related

Is it possible to adapt and existing NLP tool in english to Swedish? and what´s the best approach?

Whats the best approach of using existing NLP tools in english with another language ex.spanish ?
That's an awfully broad question, and you'd need to provide some more pointers. However, if you're interested in general research on the topic, you can try Hana, Feldman, Brew (2004) "Tagging Russian using Czech morphology" and Resnik's 2004 "Using bilingual text for monolingual annotation" and start from there.
In general, you'd want to have a bicorpus (say, English/Swedish). Then establish mappings using alignment (that's a common topic in machine translation with many established results.)
You can then tag the English side, and use the mapping to "translate" these mappings into the Swedish side. Then you can train the same tool that created the mappings on the English side using the newly annotated Swedish corpus.
It goes without saying that you'll lose quite a bit of quality and that this technique only works for supervised methods. You should probably try to find properly annotated Swedish corpora and tools. There are a few out there.

How to load collision mesh from file in Physijs (and Three.js)

I am developing a simple game in WebGL. Mostly, when I search for examples related to Physijs, I see people using spheres and cubes for collision, which they make in the program itself. How would I (like in Source engine) use meshes for collision, located in files? In source engine you would simpy have phy.smd which you would include alongside the model. Is that even possible here? Thanks!
physi.js has possibilities for convex and concave collision meshes. But as stated on the physi.js website, concaveMesh has the worst performance. For examples on how to use these, i'd like to refer you to this example.

Cooperation tool group: coding in C

Is there any tool, similar to codepad, writing code in C language that I can share my code with a group and my group can make changes and simultaneous views in real time editing?
I can't tell you enough that this is going to make your work more difficult if you're planning on using this for anything other than something like a code review. However, it's called a real-time collaborative editor. There are a ton of them. I used one on linux a while back that I can't remember the name of, but in the mean-time, let wikipedia start you off...
http://en.wikipedia.org/wiki/Collaborative_real-time_editor
Edit:
The tool I used on Linux that worked well was called Gobby.
There are a bunch of others in this question on SO Real time tool for collaborative coding
Sorry for resurrecting an old question but I thought I should share this.
I usually use Collab.Center (http://collab.center). Some features I like about it better than others are:
Online, real-time collaborative coding
Support for a lot of languages (40+, I think) (EX: C, C++, Java, HTML/CSS/JS, PHP, etc)
Text and Video (Webcam) chat (Requires Sign-In)
Syntax highlighting, auto-closing brackets, matching brackets, etc.
Ability to manage all your documents (Requires Sign-In)
Private documents (Requires Sign-In)
I think it would be great for you and your group, if you haven't already found an alternative.

Starting work on a Pre-existing Project

So this is more of a generic question. I seem to keep finding myself being put on larger and larger projects. Recently I have been assigned to a very large project written in C and VHDL. The goal is for me to become familiar with the code and eventually take the lead on the project. This is by far the largest project I have been assigned to work on that I didn't start.
So here is my question: What methods/tools do you use to learn how everything works?
Do you just increase and expand on comments?
Do you make a UML representation of the project?
Any tips would be great!
Thanks
If you can, sit down with the folks who are currently working on it and ask for a high-level solution overview to start and then go on your own from there, digging into the pieces one by one. Identify who is responsible for each functional area and follow up with them when you hit a rough spot.
Try and embed yourself with the team as quickly as possible, ask to sit in on code reviews and such. This will get you ramped up pretty quickly.
For VHDL I recommend using Sigasi. Sigasi is developped with this use case in mind. Sigasi makes it easy to navigate in new or legacy projects, which makes it feasible to understand how it is structured.
I find the UML almost useless. I find much more useful, real, static and dynamic call graphs. After I generate the call graph, I usually grok the source code through OpenGrok and cscope. See what calls what and what is called by whom for the most hot methods.

Simplest way to create a tiny database app in linux

I'm looking to create a very small cataloguing app for personal use (although I'd open source it if I thought anyone else would use it). I don't want a web app as it seems like overkill to have an application server just for this - plus I like the idea of it being standalone and sticking it on a USB stick.
My Criterea:
Interface must be simple to program. It can be curses-style if that makes it easer to code. My experience with ncurses would suggest otherwise, but I'd actually quite like a commanline UI.
Language doesn't really matter. My rough order of preference (highest first):
Python
C
C++
Java
I'll consider anything linux-friendly
I'm thinking sqlite for storage, but other (embeddable) suggestions welcome.
Has anyone done this sort of thing in the past? Any suggestions? Pitfalls to avoid?
EDIT:
Ok, it looks like python+sqlite is the early winner. That just leaves the question of which ui library. I know you get tkinter for free in python - but it's just so ugly (I'd rather have a curses interface). I've done some GTK in C, but it looks fairly un-natural in python. I had a very brief dabble with wxwidgets but the documentation's pretty atrocious IIRC (They renamed the module at some point I think, and it's all a bit confused).
So that leaves me with pyqt4, or some sort of console library. Or maybe GTK. Thoughts? Or have I been too hasty in writing off one of the above?
I would definitely recommend (or second, if you're already thinking it) - python with sqlite3. It's simple, portable and no big db drivers. I wrote a similar app for my own cataloguing purposes and it's doing just fine.
I vote for pyqt or wx for the GUI. (And second the Python+sqlite votes to answer the original question.)
I second (or third) python and sqlite.
As far as suggestions are concerned:
If you're feeling minimally ambitious, I'd suggest building a very simple web service to synchronize your catalog to a server. I've done this (ashamedly, a few times) for similar purposes in the past.
With sqlite, backups can literally be as simple as uploading or downloading the latest database file, depending on the file's timestamp.
Then, if you lose or break your flash drive (smashed to pieces, in my case), your catalog isn't lost. You gain more portability, at least 1 backup, and some peace of mind.

Resources