Jump to content
Sign in to follow this  
MikeAir

Sentiment analysis in filemaker?

Recommended Posts

Hi guys,

 

First of all I want to let you know about: www.monkeylearn.com which is a online free tool for conduction sentiment analysis on text data(they are not paying me to say that :D ).

 

Having looked through the page, i appears that you can create an API for your algorithm, and then either paste som text in a field on the webpage itself. 

Or you can paste the API-code in your own script, and make it work for you even smarter.

 

I it looks like they support the following languages for export of an API:

CURL(The terminal command), Python, RUBY, PHP, Javascript, Java & .Net

 

However, is it possible for me in any way to include this API in a filemaker solution(does filemaker integrate with either of the above languages)? 

 

I  was hoping to include the API as a calculation, referring to a text field in big dataset i currently have arranged in filemaker.

 

Regards,

Mike

Share this post


Link to post
Share on other sites

cURL is available on Mac OS X as standard and Filemaker can communicate with it through AppleScript.

 

However, skimming through the documentation here: http://www.monkeylearn.com/docs/api.html  I see that responses are provided in JSON format. Consuming such response presents a challenge on its own - possibly a much bigger one than querying the API in the first place.

 

I suggest you try working it out using the BaseElements plugin, which IIRC can execute cURL calls (on both platforms?) as well as parse JSON.

Share this post


Link to post
Share on other sites

In addition to the methods for using cURL in FileMaker, there are plug-ins that will let you access all those languages except C# (.Net) in FileMaker:

 

bBox — Python and Ruby

SmartPill — PHP

ScriptMaster — Java (via Groovy)

 

For JavaScript, you can export any resources you need to disk and run it in a web viewer, which does not require any plugin.

 

I was hoping you might be able to access the API directly in FileMaker without an intermediate language using the Insert From URL script step, but the API appears to be using HTTP headers, which the script step doesn't expose to us; so you're stuck with the other methods.

 

I wouldn't consider parsing JSON much of a challenge, but another option if you don't want to do it on your own with FileMakers text functions is to use the JSON module.

Share this post


Link to post
Share on other sites

 

For JavaScript, you can export any resources you need to disk and run it in a web viewer, which does not require any plugin.

 

I was hoping you might be able to access the API directly in FileMaker without an intermediate language using the Insert From URL script step, but the API appears to be using HTTP headers, which the script step doesn't expose to us; so you're stuck with the other methods.

 

I wouldn't consider parsing JSON much of a challenge, but another option if you don't want to do it on your own with FileMakers text functions is to use the JSON module.

 

 

So, maybe by using this methodology:

http://www.soliantconsulting.com/blog/2014/04/getting-started-javascript-and-filemaker

 

And inserting: 

fmp:// & Get ( FileName ) & Table::FieldwithTextToBeAnalyzed

Into the "This is the text to test the API." line in a web viewer:

<!DOCTYPE html>
<html>
<head>
 
<meta charset="UTF-8">
 
<title>MonkeyLearn Javascript Integration</title>
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"
></script>
<script type="text/javascript">
$.ajax({
    url : "https://api.monkeylearn.com/api/v1/categorizer/cl_5icAVzKR/classify_text/",
    type : "POST",
    headers: {
        "Authorization": "token XXXXXXXXXXXXXXXXXXXXXXXXX",
    },
    data : {
      text: "This is a text to test the API."
    },
    success : function(result) {
      alert(result);
    },
    error : function(e) {
      alert('Error: ' + e);
    }
});
</script>
 
</head>
</html>
    

....... And somehow retrieve function(result) to another field?

Share this post


Link to post
Share on other sites

Turning the tables a bit, you can certainly use all of the APIs to create a "middleware" web page that both reads from FM and consumes the sentiment API, and then delivers the analysed payload back to wherever, including FM.

 

There are FMS APIs for PHP (native) and for Ruby (Rfm) and for .NET (fmdotnet) and for Python (Pymaker),... so you can pretty much pick what you are comfortable with and pull data from FM, analyze it and push the result back.  No need for plugins even, you can initiate the call from inside FM using "insert from URL" or using a Web Viewer object.

 

Edit: missed the part where Jbante mentioned that you may need to use custom headers for the sentiment API calls, but that does not matter... you can make a call to your intermediate web service (the one you write) to conform with what the FM "insert from URL" offers in ways of HTTP POST or HTTPS POST.

  • Like 1

Share this post


Link to post
Share on other sites

Hi guys,

 

Just want to update you on the limits of Monkeylearn, free version:

There is a limit of 1000 API-calls per month, which became a problem for me(using it for a bachelor thesis).

 

But then i found out there is another service called Metamind, which have a limit of 1000 API-calls per day..

https://www.metamind.io/

 

This service can actually provide an algorithm for recognizing patterns in images as well.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.