Artificial Intelligence (AI) and Health Information

Artificial Intelligence (AI) seems to be everywhere these days – from driving your autonomous car to detecting diseases in clinical conditions. Artificial Intelligence has permeated almost all fields and has evolved into a basic component of business growth. The term AI encompasses a wide spectrum of converging technologies – Deep Learning, Machine Learning, neural networks and Natural Language Processing (NLP).

Definition of Machine Learning:
Jason Brownlee sums up like this: ‘The valuable part of machine learning is predictive modeling where we use historical data to train a model and use the model to make predictions’

Tom Mitchell in his classic book on machine learning says:

‘The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience’

Bereft of confusing buzzwords, AI is basically a technique to look for a pattern from training on a set of data. The key here is the data. Unless you start with the right data and pre process the data and massage that for learning, you will end up with poor results.

Moravec’s paradox: Hans Moravac discovered that high level reasoning requires very little computation, but low-level sensorimotor skills require enormous computational resources. In another instance some researchers found it odd that they were successful at writing programs that used logic, solved algebra and geometry problems and played games like checkers and chess. Logic and algebra are difficult for people and are considered a sign of intelligence. They assumed that, having solved the “hard” problems, the “easy” problems of vision and commonsense reasoning would soon fall into place. They were wrong and one reason is that these problems are not easy at all, but incredibly difficult. The fact that they had solved problems like logic and algebra was irrelevant, because these problems are extremely easy for machines to solve.

To quote from a personal experience, I was having difficulty finding the right corpus to train our AI for our Athena -Simplified Health Information project. I was cribbing about this Artificial intelligence problem when my partner blurted out – ” that is because it is artificial; it is not a natural intelligence”.

I usually throw a piece of meat taken from the refrigerator to move my 1 year old German Shepherd dog to the backyard every evening. On most days, he would sit there watch me fetch the piece. I decided to fool him once and touched the piece of meat but instead fetched a sliver of cabbage. He couldn’t have noticed the switch as I did it in a slight of hand and threw the piece out. He didn’t move from his position. He must have anticipated my switch somehow. I was clueless – about how a dog could predict his owner’s behavior without any extra sensory input.

May be there is an inherent limit to our creative prowess – something like St.Augustine’s conundrum. There was a time St.Augustine sat near the seashore contemplating the mystery of the Holy Trinity when he saw a little child running back and forth from the sea to a spot on the seashore. The boy was using a shell to carry water from the sea and fill a small pit that he had made in the sand or it so appeared to St.Augustine.

Augustine came up to him and asked him what he was doing.

‘I’m going to pour the entire sea into this hole’ the boy replied.

‘What’? said Augustine. That is impossible, my dear child, the sea is so vast and the shell and the hole are so little.

The boy replied It would be no more impossible than what you have been contemplating. It would be easier and quicker to draw all the water out of the sea and fit it into this hole than for you to fit the mystery of the Trinity and His Divinity into your little intellect; for the Mystery of the Trinity is greater and larger in comparison with your intelligence than is this vast sea in comparison with this little hole.

Natural Language Navigation
We, at TargetWoman have been working at the Natural Language Processing from the year 2004 onwards – around the time we started. Simply put Natural Language Processing is the process of using specialized computer algorithms to identify key elements in everyday language and extract usable meaning from unstructured input.

Microsoft says this about languages: “Understanding’ language means, amongst other things, knowing what concepts a word or phrase stands for and knowing how to link those concepts together in a meaningful way. ‘

For example, the word “cell” can mean different things to different people. It can mean a prison cell, compartment in a honeycomb, smallest organizational unit of a movement, a component of a battery, mobile phone or the smallest structural unit of an organism to name a few of the definitions. The surrounding words help to exact the true meaning of the word in relation to the context. In other words, you will have to decide the meaning of the phrase only after analyzing the entire sentence.

We started working on the concept of Natural Language Progression way back in the year 2004 – long before the term Artificial Intelligence became a buzz word. We worked on the premise that to convey an idea or a thought – words are only a transport layer. It is not the word per se that conveys the idea/thought but the collection of words, their proximity to each other and the context. With that said, we turn our attention to using computers to understand the logical progression of our language which some call as Natural Language Processing. We have created a working model which can understand the subtlety of the language we speak – at least limited in context to health and medical topics.
Sample this: Our Natural Language Processing Engine when triggered by the ubiquitous word ‘sex’ comes up with the following words – pregnant with meaning (Natural Language Association):
male
males
female
females
gonadotropin
lh
menopause
testes
development
hormones
reproductive
puberty
progesterone
estrogen
cyclical

Natural Language Navigation:
In TargetWoman, we have thousands of pages dedicated to different topics of interest to women. It is always not so easy when it comes to navigation inside such large repository of content. A conventional way of navigation is to split the content into various clearly defined topics like: health, home improvement, careers and travel to name a few. But every topic may have dozens of pages or some even in hundreds of pages. Most large websites addressed this issue with a site wide search facility. We implemented this search engine at the outset itself. But it was not enough as it turned out from the server log. A better method needs to be found which would take into consideration how people navigated inside a site. This is how we turned our attention to Natural Language Navigation. We fed the key topics of every single page to our Logical Progression Engine – another term for Natural Language Navigation. This in turn sorted the content based on ‘keywords’ and their frequency of occurrence. The latter part provides a strong correlation to the keyword with the nature of content. This is how a typical search engine evaluates/indexes content. The data was updated everytime a new page was published.
Artificial Intelligence for Website navigation
A real world example here:

If you click on the ‘Browse by topic’ for an article: Example:

“Browse by Topics: Aerobic+Water+Exercise” would return the following content:

1. Home Exercise Equipment
2. Swiss Exercise Ball
3. Morning Exercise and Metabolism
4. Physical Fitness Exercise
5. Abdominal Exercise
6. Circuit Training
7. Xiser Workout

From the above abbreviated list, you can see that the NLN system picked out only content related to the physical exercise alone and did not pick content from Parenting with the keyword exercise (home exercise for students).

We would discuss how we collected the vast data and how we created the algo for this project in subsequent blogs.
Until that time, try our NLP here:

You can discuss in the comments section how our Natural Language Navigation helped you to find information on health topics.

Using Spare Hard Drives through USB

While rummaging through our office spares drawer, I found at least a dozen hard drives ranging from a measly 40 GB to 500 GB, all nicely wrapped in their anti-static sleeves. Most of them landed up there when the computers where they were fitted, were upgraded. This meant that these internal hard drives are still in perfect working condition. Only problem is other than the higher capacity 500 GB drives (which are of SATA type) all others belonged to the type with IDE interfaces.

Most of them contained Windows and other licensed software. Other drives were formatted with ext3 file system under Linux. These drives were mothballed for later deactivation and complete formatting. We didn’t find the time to allocate for this mundane activity. Now it was decided that somehow they can be put to good use after making sure that they are still serviceable. May be they could be used as redundant backup drives. Only issue is to find the appropriate interface which can be fitted to a spare computer. We chanced upon a USB to IDE/SATA adapter available from many Online stores for a ridiculously low price.

A few weeks earlier, a hard drive showed signs of failure in one of our computers and it was replaced without much ado. That drive was still within the warranty period and before it could be shipped to the dealer for the warranty claim, it had to be securely wiped clean. We didn’t want to tie up a computer for any of these activities and so this USB to IDE/SATA adapter was tempting.

USB to IDE/SATA Adapter

So this adapter was bought and as you can see from the image here, it came with its own power supply which is important as you can connect your hard drive as a stand-alone unit with only a USB cable to connect to the computer.

The same adapter can be used to connect a DVD drive to the Mac Mini and in a hurry can be used to provide additional hard drive for Time Machine for the Mac.

We rigged up the adapter to a Seagate 160 GB hard drive and expected to see a Windows message to the effect that it found a USB device and install suitable drivers. No such message was shown. On touching the drive, the whir of the drive motor could be felt. Out came the cable and we tested the power supply. The 12 V and 5 V rails were spot on even under dummy load conditions. According to the markings on the power supply, it was capable of supplying upto 2 A in 12 V line as well as 2 A in the 5 V line. It is a switch mode power supply and it looked quite up to its role.

So it has to be the driver.

Again in went the cables and still the drive was not officially recognized. But we found an entry of a device here: Control Panel -> Device Manager -> Disk Drives.

It identified the drive as ST316021 5A  USB Device. But it showed the drive as offline. It was time to whip out some command line utility to get the drive online. Windows 7 comes with such a utility called appropriately as ‘diskpart’.

Go to the Windows start and type cmd on the ‘Search programs and files’ area. You will be shown cmd.exe which you right-click and choose ‘Run as administrator’. From the command prompt, type Diskpart.

And then type list disk

It will show all the available disks. If your external disk is shown but marked as ‘Offline’
Issue this command: Select Disk 0
Assuming that the external drive was marked as disk 0

The system will say Disk 0 is the selected disk

Type detail disk

And it will print the details of the disk

To make the disk online:

Type:  Online disk

It will say ‘DiskPart successfully onlined the selected disk’.

USB device in Device Driver

Now we can see the disk listed in the Disk drives from the control panel. We formatted the drive in NTFS file format so that this drive can be used as a backup drive.

We formatted the drive in Windows 7 and began the process of copying some files. The speed was decent. It showed an average of about 20-25 MB/second.

Copying speed in the USB to IDE adapter

The drive can be ‘ejected’ like a normal USB drive.

We loaded up all the drives and observed that most drives were quiet and behaved normally while one drive made the dreaded ‘clicking’ sound indicating an impending failure.

Not bad for the cost of less than 10 dollars and a few minutes to come up with putting to use – about a dozen hard drives.

Even Mac Mini recognized the USB drive formatted in NTFS and showed the directories in ‘Finder’. It can read the files without any issue, but of course could not write to the drive.

 

 

Favorite Firefox Extensions

Browser extensions or add-ons are bits of software to extend the features of your browser. Firefox browser has probably one of the most prolific numbers of extensions. We use quite a number of these firefox extensions for our daily grind. And we share some of the nifty add-ons here. You may already have a few extensions tooled up in your browser. You can check and modify their behavior all in one place. Just type about:config in the address bar and Firefox will share its internal details now – including the various extensions installed. You can right click on any of the parameter and modify its value.

Firefox Extension for HTML Validation

Though we use WDG HTML Validator for validating our pages, we like to use a quick way to validate the newly built pages right from our browser with a tiny validator.

You head to this URL provided below for this Firefox Extension.

http://users.skynet.be/mgueury/mozilla/download.html
Allows you to validate with Tiny validator from the status bar.

We list in addition to the above, a few of our favorite extensions below with some information about what they can do:

For the Web developers, this is one of the most useful extensions to have to plod around to tweak the pages.
https://addons.mozilla.org/en-US/firefox/addon/60

That adds a menu and a tool bar with various web developer tools. Right from a spot magnifier which lets you view a part of the page magnified to viewing your page in lesser sized screens is available from the toolbar. Incidentally this extension also has an external page validator.
This versatile add-on features response headers which lets you see the server response details. This is invaluable for checking out the status code of any redirection.

For those inclined to do search engine optimization, the following might be of interest:

http://tools.seobook.com/firefox/seo-for-firefox.html

This extension lets you query information like backlinks, cached and related pages from Google,Yahoo,MSN and Alexa.

You need to check out on the weather ? Try Forecastfox from here: https://addons.mozilla.org/en-US/firefox/addon/398

Hyperwords is another interesting Firefox extension which lets you do a host of things from its popup menu – “Search, References, Conversion, Translation , Shopping, Blogging, Tagging, Email and more in a single click“. We use the translate mode often as we have associates spread across the world. Simply block the text and you will find a popup menu with an option to translate the blocked text from most European languages (arabic, Japanese, Korean and Simplified Chinease languages included too) to English or the other way round.

Our Parent site TargetWoman - the leading women portal presents painstakingly researched extensive information in the form of thousands of condensed pages. It offers the widest and the most detailed information on subjects women care.