Hi David,

On Thu, Mar 27, 2014 at 1:13 AM, David Tildesley <[email protected]>wrote:

> Now we are getting somewhere. Why do you want the domain to supply the
> keywords to the reputation analysis component? Do you allow the end user to
> define these  keywords? If not then do they change all the time and you
> need an admin role to be constantly updating them? If not then why not load
> them as a static property file when Mahout starts? And if the keywords are
> allowed to change does that mean that all emails and contacts must be
> rescored?
>

Thanks for your suggestions.

I haven't yet designed the ReputationAnalysisService functions. I will have
to do some background research on Mahout/weka and Drools expert [1] (as
Oscar suggested I will also consider Drools expert for this component) to
answer your queries precisely. At the moment, I have the idea to perform
the email analysis process as below;
1. An initial email analysis process will be carried out to process past
emails in the user's inbox and build up a reputation index (a regression
model to rate each email based on reputation).
2. Then using that regression model predict reputation of new emails.

I'm currently doing some reading on available ML libraries like Mahout,
weka and also RulesEngines like Drools in order to design this component.
 Your suggestions are also welcome..

[1] https://www.jboss.org/drools/drools-expert

>
> If the score for a contact is based on a history of their email scores
> then what holds this history? (hopefully you are going to tell me that
> Mahout/Hadoop) does and therefore the domain does not care.
>
> David.
>
>
>
>
>   On Thursday, 27 March 2014 12:24 AM, Dileepa Jayakody <
> [email protected]> wrote:
>  Hi David,
>
> On Wed, Mar 26, 2014 at 4:03 PM, David Tildesley <[email protected]>wrote:
>
> Hi Dileepa,
>
> I see. Then the domain will perhaps have some object representing
> "ReputationScore" with a method such as "calculateEmailReputationScore" and
> "calculateEmailContactReputationScore" with the implementation of the
> methods based on Mahout and injected via a domain service. So it's the same
> deal no matter how you want to reword it - the complexity of the score
> calculation is not in the ISIS domain but in the Mahout implementation.
>
>
> Yes, the domain service (ReputationAnalysisService) will call out a Mahout
> recommender process  to give the reputation score of the new email.
>
> So what information do you need to "feed" these two methods in order to do
> the calculation?
>
> I'm planning to feed  people (to, cc, from), topic and actions (keywords
> such as meeting, project, important etc) mentioned in the email to perform
> reputation calculation.
>
>
> David.
>
>
>
> On Wednesday, 26 March 2014 11:09 PM, Dileepa Jayakody <
> [email protected]> wrote:
>
> Hi David,
>
> On Wed, Mar 26, 2014 at 3:22 PM, David Tildesley <[email protected]
> >wrote:
>
> >
> > Hi David,
> >
> > On Wednesday, 26 March 2014 8:49 PM, Dileepa Jayakody <
> > [email protected]> wrote:
> >
> > > Hi Dan, David and all,
> >
> > > Above class diagram only contains the domain entities. Perhaps David's
> > > question on the domain requirements could be clarified if domain
> service
> > > classes are also included in the diagram. Shall I do so?
> >
> > No. Please don't do that. Stick to the domain object model (leave out any
> > view objects also). Key attributes and methods will aid in understanding
> it.
> >
> > So .. you are saying that the reputation analysis/scoring is not part of
> > the domain for the application but is a separate component? In that case
> I
> > am correct in saying it is an external service (whether it runs in the
> same
> > processor space or accessed via a web-service is irrelevant - the fact is
> > that it is not part of the domain of the ISIS based application).
> >
> >
> Perhaps I haven't yet understood the Isis programming model as much as I
> should have. But as I see, RB server component is also within the Isis
> application domain. Implementing the RB application in Isis requires
> implementing both RB client webapp and RB server components.
>
> I have stated  "reputation scoring is not done by some other system, it's
> done in the reputation-box server component of my application." and by that
> I wanted to convey that I see implementing the ReputationAnalysisService is
> within the domain of the Isis based application. I will integrate a Mahout
> recommendation process in the above domain service to generate the
> reputation-scores but still it will be within the Isis domain AFAIU. Please
> correct me if I'm wrong.
>
>
> > I must say that this is an ambitious project with a lot of integration -
> > what is the overall objective? Just to prove that ISIS is a rapid
> > prototyping tool? In which case I would "stub" out all the integration
> > points and have some fake random reputation scoring code sitting behind
> the
> > service otherwise all your effort will go into writing the SI layer and
> the
> > reputation analysis/scoring and ISIS does not help you one jot with that.
> >
>
> The objective is to develop a real world application in the email domain
> using Isis as a framework to rapidly develop domain driven applications. I
> will utilize Isis features to develop my domain model and generate other
> layers such as persistence, presentation etc. And as a sub-task of the
> project Oauth2 client support will also be implemented (for authorizing RB
> app to connect to user mailboxes). Further I intend to write an academic
> paper on my project and explain how it was developed using Isis features.
>
>
>
>
> >
> > Regards,
> > David.
>
>
>
>
>

Reply via email to