Non expert development of expert systems?

  • 17 Replies
  • 2786 Views
*

8pla.net

  • Trusty Member
  • *********
  • Terminator
  • *
  • 792
    • 8pla.net
Re: Non expert development of expert systems?
« Reply #15 on: September 03, 2015, 05:17:52 pm »
Here is some more sample data:

Code: [Select]
{"data":[{"jobs":[
    {"whitecollar":[
        {"id":0,"title":"Office Assistant"},
        {"id":1,"title":"Office Manager"},
        {"id":2,"title":"Executive"}
    ]},
    {"bluecollar":[
        {"id":0,"title":"Fast Food Worker"}
        {"id":1,"title":"Gas Station Attendant"}
    ]}]
},{"outsourced":[
        {"id":0,"title":"Office Assistant"},
        {"id":1,"title":"Office Manager"},
        {"id":2,"title":"Executive"}
    ]
}]}

 ;)
My Very Enormous Monster Just Stopped Using Nine

*

korrelan

  • Trusty Member
  • ********
  • Replicant
  • *
  • 677
  • Look into my eyes! WOAH!
    • Google +
Re: Non expert development of expert systems?
« Reply #16 on: September 04, 2015, 01:10:29 pm »
Using common coding methods this is going to be an extremely difficult task, especially given the nature of the input. I think your best bet is to build a system that would improve over time with a lot of human guidance and effort. eg...

Possible method...

Start by either obtaining or parsing a dictionary listing words and their related grammar designation, verb, noun, etc.

Then parse as many sample sentences as possible creating sentence templates replacing the actual words with tags. Remove punctuation and replace ',' with 'and', etc.

so... Communicating effectively in writing as appropriate for the needs of the audience.

becomes... <verb1> <adverb1> in <noun1> as <adjective1> for the <adverb2> of the <noun2>.

These could possibly be split down even further.

Once you have the various templates assign know actions/ functions to the groups of templates that 'mean' similar things. so.. the above example would perhaps create...

required_skill(<verb1>,<adverb1>)
required_action(<noun1>)

Use a percentage scoring routine (blackboard) to match each parsed input sentence with your list of templates to find the best match on a word type/ word position basis.

I would also run a small 'current memory' stack that would bias the matching (a chat bot technique). So if a sentence says... regarding the skill.. 'skill' would be added to the sentence template as a preamble, as well as kept in the current memory / topic store whilst parsing the following input sentences.

Although the coding required is simple, I think the amount of time and effort required to build the parser would be detrimental to your sanity. :)
It thunk... therefore it is!

*

triscabor

  • Roomba
  • *
  • 6
Re: Non expert development of expert systems?
« Reply #17 on: September 09, 2015, 08:15:06 pm »
Thanks all for the feedback. I took a stab at handwriting my POC function decomposition for a few tasks, and it was definitely challenging to create something of substance even using my own brain. I also spent some time playing with different NLP tools, notably NLTK and http://www.clips.ua.ac.be/pages/pattern-en, and it yielded some very interesting results, but I find this is going into a rabbit hole the more I dig into it (specifically, determining relationships between words to parse as "method names" -- I have made some progress but it's still way too infantile.)

I think I'll take a break from this front and try a few other ideas and projects until I can muster the energy to come back to it.

 


Users Online

24 Guests, 1 User
Users active in past 15 minutes:
Freddy
[Administrator]

Most Online Today: 29. Most Online Ever: 208 (August 27, 2008, 09:36:30 am)

Articles