Alchemy API / Bluemix not providing consistent results - ruby-on-rails

I am using the Alchemy API (Bluemix) and rails wrapper and am getting back nil for blocks of text. For example, consider below text:
"The Vancouver International Flamenco Festival presents renowned flamenco dancer Mercedes “La Winy” Amaya in an electrifying tribute to flamenco’s vibrant past, featuring the authentic Spanish Gypsy style of flamenco, from sumptuous sway to fierce flourish."
When I call the keyword endpoint, I only get keyword results about half the time. When I search the same block of text multiple times, I get results half the time and nil half the time.
I'm only making calls about once per second so rate capping is not an issue.
What is causing this to happen? Where should I start looking?

Since AlchemyAPI was acquired and integrated into IBM Watson (as accessed via Bluemix), I don't think this question can be answered in it's current form. The AlchemyAPI services as used with the old Ruby wrapper mentioned above have been deprecated.
Instead, I suggest getting new credentials on the services for whichever aspect of AlchemyAPI you were using. The new products are mapped as follows:
AlchemyLanguage -> Watson Natural Language Understanding
AlchemyDataNews -> Watson Discovery
AlchemyVision -> Watson Visual Recognition

Related

How to convert a human-readable timeline to table using existing ML tools?

I have this timeline from a newspaper produced by my Native American tribe. I was trying to use AWS Textract to produce some kind of table from this. AWS Textract does not recognize any tables in this. So I don't think that will work (perhaps more can happen there if I pay, but it doesn't say so).
Ultimately, I am trying to sift through all the archived newspapers and download all the timelines for all of our election cycles (both "general" and "special advisory") to find number of days between each item in timeline.
Since this is all in the public domain, I see no reason I can't paste a picture of the table here. I will include the download URL for the document as well.
Download URL: Download
I started off by using Foxit Reader on individual documents to find the timelines on Windows.
Then I used a tool 'ocrmypdf' on ubuntu to ensure all these documents are searchable (ocrmypdf --skip-text Notice_of_Special_Election_2023.pdf.pdf ./output/Notice_of_Special_Election_2023.pdf).
Then I just so happened to see an ad for AWS Textract this morning in my Google Newsfeed. Saw how powerful it is. But when I tried it, it didn't actually find these human-readable timelines.
I'm hopefully wondering if any ML tools or even other solutions exist for this type of problem.
I am namely trying to keep my tech knack up to par. I was sick the last two years and this is a fun problem to tackle that I think is pretty fringe.

Emoji support in Google's Cloud Speech API

I've noticed that certain apps on Android (ie. gboard) support translating phrases such as 'poop emoji' into the actual emoji as part of speech recognition. I was wondering if this is something that is supported through google's cloud speech APIs that I could similarly use in my own applications?
In my initial scan of the API I can't see anything that might indicate a way to turn this on (ie. RecognitionConfig et.al has no obvious toggles for it), and in some quick one-off tests in my own app I wasn't provided emoji-fied results from the service.
I've done a bunch of googling but found nothing so far.
Any insight here would be awesome, thanks!
-edit- Thanks to the answer below I have learned this currently is not supported. I've gone to Google's issue tracker to request this feature. If anyone wishes to track the feature request the link is:
https://issuetracker.google.com/u/1/issues/113978818
The Cloud Speech-to-Text API service doesn't currently support emoji phrases recognition; however, you can use the Send Feedback button located at the lower left and upper right corners of the service public documentation, as well as take a look the Issue Tracker tool in case you want to raise a Speech API feature request in order to notify to Google about this desired functionality.
Finally, you can refer to the Release Notes section of Speech-to-Text API to keep the track of the new features and functionalities added to the service.

UBER api, can I retrieve driver fare for each ride (for a driver's utility)?

I am building a small utility for uber drivers. Currently when they drop off a passenger and eventually get the resulting fare processed and returned to them, I have them manually enter it into the utility. Is there a way to 'catch' this information programmatically and automatically populate my utility when this becomes available to the partner application?
We don't currently make this kind of data generally available via the API. But thanks for your interest and the question, it helps us to understand what the community is looking for so we can prioritize what gets built and released next.
Keep an eye on the Uber Developers blog for news around upcoming APIs.

Google event tracking used by a Delphi desktop application

I've come to a crazy idea to use Google event tracking in Delphi desktop application. I want to track users behaviour workflow to make application better. But it's in javascript.
Is it possible somehow to do it directly from application? Or do I need for example to make a webpage which communicates with Google event tracking API and application sends REST queries to that webpage?
Or maybe I can do it without javascript at all and directly from application?
You should be very careful with this, and warn your users.
Though software running locally is a different thing than software running from a web-site in a browser, the interconnectedness of software is increasing. So is the general feeling in the public on what is right and not to communicate.
For instance, a lot of software 'phones home' to check for the latest version without even asking permission to their users. I can understand that some users have a problem with that, but it indicates the general opinion on this is shifting. The vendors can track usage statistics based on that 'phone home' alone.
I'm not sure if the Google Event Tracking would be the best way to solve usage tracking from a desktop application, but the general idea (collecting usage statistics and error information) can work out very well.
Software from big vendors have been getting usage statistics from their software for years, and they ask their users up-front if sending statistics is OK, and at the time of an error, each time ask them if that is OK too.
In fact the book "Why Software Sucks ... and What Can You Do About It" and presentations from David Platt explains really well how to do this and how to communicate this to your users.
You need to do this in a very anonymous way, and you can because basically you are interested in these things:
what is the largest percentage of errors
what is the largest percentage of features used
what is the smallest percentage of features not used
As long as you communicate percentages, it is clear to explain to your users that the data will be very non-specific.
On the other hand: being able to focus on the actual errors can improve your software a lot.
The errors communicated back to you can contain much detail, so you need to either strip that detail out, or be very upfront with your users indicating which details are being sent to you when communicating individual errors.
--jeroen
I developed my own solution (I called it 'softmeter') to do exactly this. It is a dll that will do all the REST queries to Google Analytics.
There is sample Delphi code that wraps the DLL in a Delphi class so sending an event is simple as
dllSoftMeter.sendEvent('Conversion events', 'Donate clicked', 1);
If you do not mind using 3rd party libraries, you can use it.
In fact I found that most software using it, is Delphi made software.
Here is a more extended sample of the Delphi code for the implementation.
https://www.starmessagesoftware.com/blog/track-delphi-pascal-gui-application-google-analytics
You will need of course to get consent from the end-user.

Checkers/Draughts Server and Board implementation (through a web browser using Ruby on Rails)

I'm developing a two player checkers website. The idea is to allow people sign up and add to a list of friends they have. They can then send or accept requests to/from a friend on their list to play a game of checkers via the site.
I'm using Ruby on Rails to develop it (It’s mandatory in case people think another language is more appropriate!).
There are two things main things I'm researching at the moment:
1: How to manage and maintain the game state over a browser:
I'm only used to developing web applications that follow your standard data entry and browsing format i.e. Signup and post info, saving to database, etc.
Will I have to create some sort of lightweight server each time a new game is started to manage that game? (There may be multiple games in progress at any time)
2: How to represent the board:
I've looked into two-dimensional arrays and bit-board (32 bits). From what I can gather bit-boards are extremely fast but difficult to test and debug. Will the speed performance difference really be that much considering its only a two player game and therefore requires no AI?
Thanks
Checkout this project for some inspiration. It seems very similar to what you are trying to do.
http://github.com/ryanb/govsgo and http://govsgo.com/

Resources