software that convert the production rule to search tree - artificial-intelligence

Is there any software that take production rules and convert them to search tree or decision tree??
Thank you =)

Take a look at a rule engine like JBoss Drools,
it is often used to model tons of rules that result in one or more decisions,
Such as credit approval and credit intrest rate or insurance approval and insurance fee or medical decisions.

Related

Can conversation intelligence platform help Sales Teams?

Can the conversation data be used to improve your sales coaching, optimize your sales process, onboard your new sales reps faster, and gain a deeper understanding of your customers. But how do you unlock this data?
A lot of providers of conversational AI (I used to work for one) have analytics components as part of their platform which help you analyse conversations, and identifying trends in conversations, eg what your customers ask for, what their most common problems are, etc.

How to design the logic or database when two users choose one product?

Assuming a e commerce web app has a high amount of requests, how do I prevent two users from choosing the only product left? Should I check the quantity when adding to shopping list or payment? Is it using a field to record quantity of selected product in DB is bad way? How does the large e commerce web app like amazon deal with conflict problem?
Several options that I know :
For the RDBMS that support ACID , you can use optimistic locking technique on the product table. Unless it is very often that many users hit the buying button on the same product at the nearly same times ,it should work pretty well.(For how many users does the 'many' means, you have to measure it. I think 1k should be no problem. Just my guess , don't take it for granted)
Do not check it and let users to buy it. Adjust the business flow to handle it. For example, when an user hits the buying button ,tell him his order is just accepted and will be processed but not guarantee he must able to buy it. Then in the later stage when you find that there is not enough inventory to ship the product to him , send an email to apologise and refund to him.
Also in the real business , it is common that the product inventory can go to negative and still accepting orders but tell the user he will get the product at XXX days later. The business can then produce or order more product from the supplier after receiving the money.
If you are buying iPhone on the Apple web site , it also works like this.
It really depends upon the number of concurrent users here. In the case of millions, the NoSQL approach is prefered to manage the basket with eventual consistency then the buying process would go with ACID to ensure the product can be sold.
For less users, you can rely on an ACID database.
If you are not sure, you may go with a database that has ACID capabilities but can as well allow you to work in an eventual consistency way or that can implement the concept of sharding for scalability purpose. To my knowledge Oracle can do these 3 things: COMMIT NO WAIT, COMMIT and Sharding deployment.
HTH

Role of a Business Systems analyst in Data Warehouse Application

Can someone explain me in detail the role of a business analyst in a datawarehouse application with example?
Like a domain in credit card merchant data warehouse.
Thanks
This a very broad and subjective question.
In a nutshell, it depends heavily on to analyst level of involvement to date.
The best case scenario is when the analyst has already answered the clients questions and your job is only turn a pile of ad-hoc SQL queries into a DWH model (star scheme, conformed dimensions etc.) with daily updates and OLAP layer to facilitate reporting.
The worst case scenario is when the analyst is a total layman in this field and hence can offer little to no help at all.
For in between scenarios – have a look on this schematic breakdown of DWH project phases
Understand customer requirements – an analyst can help bridge the gap between the customer and IT lingo and also help formulate useful KPIs\Measures
Understand available data - an analyst can help locate source tables, understand relationships, JOIN and WHERE conditions etc
Design solution – an analyst is a customer for this phase, i.e, a good DWH model should be understandable for data analysts in terms of entities, naming conventions etc.
Deliver (including QA) - an analyst with good understanding of the business metrics (is 1M$ monthly sales real or is it a bug) can have a huge impact on this critical phase

Need help (re)designing a database for a self-storage business

I apologize in advance for the overly-long post, but I wanted to provide as much information as possible.
I've been building web database apps for years, but I'm stuck on a redesign that I've been wanting to do forever and I cannot seem to figure out. I'm hoping for a nudge in the right direction.
The business is a self-storage rental business. Tenants typically sign a contract/rental agreement with no specific end date and usually (but not always) pay each month on roughly the same day as their start date. So if you move in on the 16th, your rent is due on the 16th of every month (ignore those last few days of the month that not all months have). Some folks pay 6 months in advance, etc.
Here are the tables that I know/think I need.
Tenants (basic contact info)
Storage Units (information about each unit, square footage, maybe base monthly rate unless I decide to stick those values in a separate table so that I can easily change the base rate for all units of the same type)
Tenants <-> Storage Units (One customer can rent multiple units, but each unit can only have 1 or 0 tenants so maybe this doesn't need it's own table.)
The part that I am stuck on is the best way to handle the billing - no invoices are generated - tenants just need to remember to pay. I want to build this as a web app on a hosted provider so I don't know if I should be thinking about handling this with a nightly db script or from the web app side or if I can design it in a way that nothing special needs to happen each night.
Here's a simple example of what I need.
Joe rents Unit #1 on 1/1/2011 and pays for 1 month of rent ($50/month).
How do I build this so that if Joe doesn't pay for month 2 on 2/1/2011 he appears as past due and owing $50 (late fees also kick in after being late for 5 days and you are flagged for being locked out of your unit if you don't pay for 10 days). The employees have some discretion on late fees & lock outs if it's a long-time customer and they were just a little late, etc.
I think the most similar real-world design might be a cable television provider, but I'm having trouble putting it all together without making it overly complicated.
I will likely be building this in .NET 4 with MS SQL 2005/2008, but I don't think this is a technology-specific question.
If the three tables you listed are "obvious", it's equally clear that you'll need some tables for accounts payable and receivable. If you don't already have something for the accounting side of the business you'll have to add it into your site.
I'd wonder about any business that didn't have some kind of accounting software in place. The best thing, in my opinion, would be to find a way to let your web app tap into that data source in a secure, read-only way.

Subscription based software: Does it work? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
A while back I worked with a software company that sold a specialized software product. Ever so often they would release a patch for free and a new version that would require an upgrade fee. This is typically how the software industry works.
After some time the company decided on a new strategy, Subscription based software. This turns out to be a way for the software company to charge a small, incremental fee for each "transaction" that is performed on their software. Under this model the patches and upgrades were included in the per/transaction fee and there was a 'true up' in the number of transactions every so often in order to collect their fees.
To me this seems like a better way to develop and sell software. The software company gets continual income stream, the customer doesn't have to worry about upgrade costs and such, and if the customer gets really big then your income stream grows with their growth.
The problem (and reason for this question) is that I don't see anyone doing that anymore. Is it because this model doesn't work? Have I taken an overly simplistic view of developing and selling software without seeing some of the negative sides of this model?
[EDIT] I am interested in the developers opinion on whether writing Subscription based software is a good way to develop software.
So this question is directed towards the professional developers who have worked on commercial applications: Can anyone speak with experience on this model and why it does/doesn't work?
I used to work for a company which moved from product license to subscription based model. Here are some observations about that:
Offer both product license and subscription models
In product license: user buys 'n' number of seats for their use.
In subscription models, customer buys your software for 'x' months time and 'y' people.
It will help you a lot if your company also develops 'consultants' who will work with your customers to get the software implementation etc at client site (any required installation, training etc)
In fact if you see services like GMail enterprise, Fogbuz etc they give different pricing options:
where you want the app hosted: your servers or their servers
you will be charged $x per number of people using the software
I think a subscription model (time based) will definitely work in the current times and in fact the cloud model helps towards such freedom in revenue models: for example, you can choose to 'subscribe' to a cloud database rather than purchasing a database server.
Yes it does. See salesforce.com for an example.
Red Hat seems to think it works. Buy a year of support get all the upgrades/etc/etc. Except they let you keep the product when the year is up (so.. I guess customers like that too =).
It's not exactly the same but basecamp from 37Signals is very succesful with a monthly fee basis, and FogBugz also uses the same model. The approach you're talking about here seems similar to the MircoPayment idea that was seen as a revenue earner in the early days on the web. I'm not sure if anyone succesfully made money from that model, I'm sure a lot of VC was spent trying.
[Edit] I think this an exellent way for small ISVs to run their businesses. The combination of SAAS and subscription is a great way of getting revenue quickly. There are a number of advantages
1) Continuous revenue
2) Small or zero initial payment, brings customers in, beats that credit card price point issue (it's easier to charge $10/month than $100 one off)
3) Builds a solid relationship between ISV and vendor
4) Chance to upsell, assuming the offering is good
And the only way you're going to be a big software vendor is by being a small one first.
Due to the nature of software development a subscription based model is really the way to go, but how do make sure that you have continues updates that actually make software worth subscription fees.
If you're providing a service it's a lot easier to motivate subscription frees but if you're planning on having people pay monthly for monthly releases, well than that's a thin line between success and utter failure. I don't see how this would work with most software.
Update: #Dscoduc
I would call that a service then. Make a clear distinction between software release schedule and support. If you want to charge for a premium support deal well that service gonna have to be pristine. But I do see how it could work. People might end up buying subscription based software on the premises that they will be able to tailor it to fit their needs without programming experience and at a low cost.
Your challenge lies in being able to listen to your customers and really find a way of taking their feedback and making that the foundation for your software life-cycle and that's not going to be an easy thing to do.
Maybe we should petition stackoverflow for a way of marking content not related to programming but interesting to programmers.

Resources