Package for Twitter sentiment analysis - api

I'm trying to do Twitter sentiment analysis on Chinese, French, Norwegian, Russian, Persian, Hebrew, German, Hindi, Indonesian, Japanese, Korean, Portuguese, Turkish and Arabic. Just wanna ask if there are any packages for these languages and in general what languages have supporting packages to do Twitter sentiment analysis in? The programming language doesn't matter. Thx!!!

From my own experience, the best way to use sentiment classifiers on twitter is to build your own bag of words in the language of your choice.
I recommend using Vader, a python tool for lexicon-based analysis specifically designed for social media. However, Vader is available only in English. In that case, what you should do is obtain lists of words in other languages and translate them using the Google API. Then you employ Vader.
You can check this page for details: https://towardsdatascience.com/almost-real-time-twitter-sentiment-analysis-with-tweep-vader-f88ed5b93b1c
This is not the most appropriate procedure. It is best to focus on one or two languages because there are cultural differences that will reduce the accuracy of the algorithm.
I hope you find it helpful. Greeting.

Related

Other programming languages in colab?

Is it possible that Google also includes other languages in colab apart from Python? The truth is that I would be interested if they include Ruby
Excuse me for my English, I know it's bad.

Best way to create text to speech voice variant

I need a minimum of 3/4 different tts voice but unfortunatenly I have only one voice.
This because I have only one Italian neural voice (Diego) and the others are all standard voice and the quality is much worse.
The final objective is create a voice over for 3/4 persons minimum and I can't use the some exact voice.
For this reason, I like to create some variant started by the only one neural voice that I have, that gives the impression of a voice of other people all of this without seem unnatural.
Actually I have Adobe Audition, Audacity , Ircam Trax, ffmpeg and apart this I can use SSML with API (in this case microsoft Azure).
I don't known what are the effects and in what measure use it without damage the voices.
In short I ask what is the best way to do using the software that I have or other if I will get better results.
Thanks !
what language are you using? If you are using English, I am sure you can find more than 3-4 neural voices. There are en-US, en-GB, en-CA, en-AU neural voices and all sound natural.
You can also tune the pitch using SSML to make the voice sound different.
If you would like to create different voices, try customvoice.ai with your speech data (or your voice talents).
or, what are the particular 'variances' you are looking for?

How to train Wit.ai for languages other then english?

How do u input different languages on Wit.ai.
I have tried writing the other languages in english and training.
But I want to train it on the languages own script.
wit already support lots of languages, you can see list of supported languages here. Just start training wit with any of supported languages and remember to set the language in app setting.

Part-of-Speech Tagging with Lucene

I'm building an emotion recognition system for chat applications. In that the core part is finding the verb in the user entered text, which can be done with a part-of-speech tagger.
Is it possible to build a part-of-speech tagger with Lucene? If not, what is a good open-source/libre software package or system I can use?
From Lucene you would probably want to use Mahout. I've used Mahout's Bayes classifier for sentiment analysis from Lucene, which worked fairly well and was relatively easy to set up. I think the major benefit of Mahout+Lucene vs. anything else would be that it scales better.
There are tons of open source frameworks to do this with if you don't like Mahout. I've found NLTK to be very user friendly, for example, although I don't think it integrates with Lucene very well.

API to break voice into phonemes / synthesize new speech given speech samples?

You know those movies where the tech geeks record someone's voice, and their software breaks it into phonemes? Which they can then use to type in any phrase, and make it seem as if the target is saying it?
Does that software exist in an API Version? I don't even know what to Google.
There is no such software. Breaking arbitrary speech into its constituent phonemes is only a partially solved problem: speech-to-text software is still imperfect, as is text-to-speech.
The idea is to reproduce the timbre of the target's voice. Even if you were able to segment the audio perfectly, reordering the phonemes would produce audio with unnatural cadence and intonation, not to mention splicing artifacts. At that point you're getting into smoothing, time-scaling, and pitch correction, all of which are possible and well-understood in theory, but operate poorly on real-world data, especially when the audio sample in question is as short as a single phoneme, and further when the timbre needs to be preserved.
These problems are compounded on the phonetic side by allophonic variation in sounds based on accent and surrounding phonemes; in order to faithfully produce even a low-quality approximation of the audio, you'd need a detailed understanding of the target's language, accent, and speech patterns.
Furthermore, your ultimate problem is one of social engineering, and people are not easy to fool when it comes to the voices of people they know. Even with a large corpus of input data, at best you could get a short low-quality sample, hardly enough for a conversation.
So while it's certainly possible, it's difficult; even if it existed, it wouldn't always be good enough.
SRI International (the company that created Siri for iOS) has an SDK called EduSpeak, which will take audio input and break it down into individual phonemes. I know this because I sat through a demo of the product about a week ago. During the demo, the presenter showed us an application that was created using the SDK. The application gave a few lines of text for the presenter to read. After reading the text, the application displayed a bar chart where each bar represented a phoneme from his speech. The height of each bar represented a score of how well each phoneme was pronounced (the presenter was not a native English speaker, so he received lower scores on certain phonemes compared to others). The presenter could also click on each individual bar to have only that individual phoneme played back using the original audio.
So yes, software exists that divides audio up by phoneme, and it does a very good job of it. Now, whether or not those phonemes can be re-assembled into speech is an open question. If we end up getting a trial version of the SDK, I'll try it out and let you know.
If your aim is to mimic someone else's voice, then another attitude is to convert your own voice (instead of assembling phonemes). It is (surprisingly) called voice conversion, e.g http://www.busim.ee.boun.edu.tr/~speech/projects/Voice_Conversion.htm
The technology is called "voice synthesis" and "voice recognition"
The java API for this can be found here Java voice JSAPI
Apple has an API for this Apple speech
Microsoft has several ...one is discussed here Vista speech
Lyrebird is a start-up that is working on this very problem. Given samples of a person's voice and some written text, it can synthesize a spoken version of that written text in the voice of the person in the samples.
You can get interesting voice warping effects with a formant-aware pitch shift. Adobe Audition has a pretty good implementation. Antares produces some interesting vocal effects VST plugins.
These techniques use some form of linear predictive coding (LPC) to treat the voice as a source-filter model. LPC works on speech signals by estimating the resonance of the vocal tract (formant), reversing its effect with an inverse filter, and then coding the resulting residual signal. The residual signal is ideally an impulse train that represents the glottal impulse. This allows the scaling of pitch and formants independently, which leads to a much better gender conversion result than simple pitch shifting.
I dunno about a commercially available solution, but the concept isn't entirely out of the range of possibility. For example, the University of Delaware has fairly decent software for doing just that.
http://www.modeltalker.com