RapidMiner

DeepLearning4J Extension - (Early Release, Needs Feedback)

RM Certified Expert
RM Certified Expert

DeepLearning4J Extension - (Early Release, Needs Feedback)

Hi guys,

We have created an extension to integrate DeepLearning4J into RapidMiner! 
What we need, before release on marketplace, is a small army of bug finders & volunteers to become fixers of the extension. 

Download here & help us out. 
https://www.rapidminerchina.com/2016/02/rapidminer-china-announces-rapidminer-deeplearning4j-integra...
(Please note, this is still underdevelopment so use in production at your own risk)
-- Training, Consulting, Sales in China, Hong Kong & Taiwan --
www.RapidMinerChina.com
8 REPLIES
RM Staff
RM Staff

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

I've tested it and i need to say:
Thank you for this! It is already great! (Even if i run into some null pointers..) Smiley Happy
--------------------------------------------------------------------------
Head of Data Science Services at RapidMiner
RM Certified Expert
RM Certified Expert

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

Although it needs pointed at a text file at the moment, I recommend trying out Word2Vec, it's actually pretty interesting way to look at relationships between words.  The hierarchical cluster tree also provides a fun way to navigate around them too.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="7.0.000">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="7.0.000" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="dl4j_extension:word_2_vec" compatibility="1.0.000" expanded="true" height="82" name="Word2Vec" width="90" x="45" y="85">
        <parameter key="file_path" value="C:\Users\user\.RapidMiner\repositories\Local Repository\data\raw_sentences.txt"/>
        <enumeration key="stop_words"/>
      </operator>
      <operator activated="true" class="set_role" compatibility="7.0.000" expanded="true" height="82" name="Set Role" width="90" x="179" y="85">
        <parameter key="attribute_name" value="Word"/>
        <parameter key="target_role" value="id"/>
        <list key="set_additional_roles"/>
      </operator>
      <operator activated="true" class="multiply" compatibility="7.0.000" expanded="true" height="103" name="Multiply" width="90" x="313" y="85"/>
      <operator activated="true" class="agglomerative_clustering" compatibility="7.0.000" expanded="true" height="82" name="Clustering" width="90" x="447" y="85">
        <parameter key="mode" value="CompleteLink"/>
        <parameter key="measure_types" value="NumericalMeasures"/>
        <parameter key="numerical_measure" value="CosineSimilarity"/>
      </operator>
      <operator activated="true" class="data_to_similarity_data" compatibility="7.0.000" expanded="true" height="68" name="Data to Similarity Data" width="90" x="447" y="187">
        <parameter key="measure_types" value="NumericalMeasures"/>
        <parameter key="numerical_measure" value="CosineSimilarity"/>
      </operator>
      <connect from_op="Word2Vec" from_port="vector" to_op="Set Role" to_port="example set input"/>
      <connect from_op="Set Role" from_port="example set output" to_op="Multiply" to_port="input"/>
      <connect from_op="Multiply" from_port="output 1" to_op="Clustering" to_port="example set"/>
      <connect from_op="Multiply" from_port="output 2" to_op="Data to Similarity Data" to_port="example set"/>
      <connect from_op="Clustering" from_port="cluster model" to_port="result 1"/>
      <connect from_op="Clustering" from_port="example set" to_port="result 2"/>
      <connect from_op="Data to Similarity Data" from_port="similarity example set" to_port="result 3"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="42"/>
      <portSpacing port="sink_result 2" spacing="21"/>
      <portSpacing port="sink_result 3" spacing="42"/>
      <portSpacing port="sink_result 4" spacing="0"/>
    </process>
  </operator>
</process>
 

-- Training, Consulting, Sales in China, Hong Kong & Taiwan --
www.RapidMinerChina.com
Contributor II NeuralMarket
Contributor II

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

I must try this. Thanks for your hard work!
RM Staff
RM Staff

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

Hey John,

quick question: How can i apply the model returned by of word2vec?

~Martin
--------------------------------------------------------------------------
Head of Data Science Services at RapidMiner
RM Certified Expert
RM Certified Expert

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

It turned out to be less than a quick question.  :Smiley Happy

I created a process based on the rules here: http://deeplearning4j.org/word2vec (which is a really nice explanation on how it 'should' work) I created a sample process which applies the similarity operators, aggregate, clustering & PCA on the result to try to demonstrate it. 
Trust me, it was a thing of beauty using the aggregate, differencing, append & similarity operators in various combinations. 

Unfortunately, it doesn't work with as I expected on the complete works of Shakespeare so we're debugging the operator to see if something needs to be tweaked internally.  Smiley Very Happy
-- Training, Consulting, Sales in China, Hong Kong & Taiwan --
www.RapidMinerChina.com
kenedy
N/A

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

I really like what you have shared here.
Highlighted
Maven
Maven

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

Hi, this seems to be no longer available, any way to still get hold of this?

RM Staff
RM Staff

Re: DeepLearning4J Extension - (Early Release, Needs Feedback)

Hi,

 

it's still compilable from GitHub: https://github.com/LostSummer233/rapidminer-extension-dl4j-pack

 

~Martin

--------------------------------------------------------------------------
Head of Data Science Services at RapidMiner