Upload
zina-saadi
View
27
Download
0
Tags:
Embed Size (px)
Citation preview
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 1
Avicenna Drug Info Line
Inspired by Avicenna’s major contribution to medical science and his
famous book al-Qanun fi al-Tibb1 (the Canons of Medicine), which is
an immense encyclopedia of medicine extending over a million words.
It reviewed the medical knowledge available from ancient and Muslim
sources. The Qanun 2 book deals with general medicine, over 760
drugs, diseases affecting all parts of the body from head to foot,
especially pathology and pharmacology.
Completed
By
Zina Saadi
Graduate Student
Tufts University
1 Al-Qanun fi Al-Tibb is the title of the book in Arabic which translates literally to “The Law in Medicine”
2 Pronounced Qanoon
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 2
Contents 1 Introduction ............................................................................................................. 3
1.1 Project Timeline ................................................................................................ 3
1.2 What is Avicenna Drug Info Line? ...................................................................... 3
2 Major Design Specifications...................................................................................... 4
2.1 Design Overview ............................................................................................... 4
2.2 Functionalities Overview ................................................................................... 5
2.2.1 Surface Functionality ............................................................................................ 5
2.2.2 Deep-Structure Functionality................................................................................ 5
2.3 Project Plan ....................................................................................................... 5
2.4 Design Flow-Chart ............................................................................................. 6
2.5 Sample Scripts ................................................................................................... 8
2.5.1 Drug-by-Name Path .............................................................................................. 8
2.5.2 Top 100 Drugs Listing Path ................................................................................... 9
2.6 States Tables ................................................................................................... 10
3 Implementation ..................................................................................................... 18
3.1 Data Collection ................................................................................................ 18
3.2 Drugs Page Structure ....................................................................................... 19
3.3 Text Normalization .......................................................................................... 21
4 Possible Future Improvements ............................................................................... 21
5 Appendix A ............................................................................................................. 22
6 Appendix B ............................................................................................................. 23
7 Appendix C ............................................................................................................. 24
8 Appendix D ............................................................................................................. 26
9 Appendix E ............................................................................................................. 29
10 Document History ............................................................................................... 36
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 3
1 Introduction
1.1 Project Timeline
03/01/08: Draft2: Proj-Plan +UI Spec (news system)
03/11/08: Draft3: Flow-Chart/Script
03/21/08: Project Code and Doc due
03/31/08: Code Completed & Demo Recorded by Chris
04/01/08: 7 minutes presentation: hosted by Basis Technology attended by a sample of the QA, Development, Documentation, Management team as well as the instructors of the course: Blade Kotelly & Chris Roby
1.2 What is Avicenna Drug Info Line?
Avicenna Drug Info Line (Avicenna DIL) is a speech system recognizer that allows callers to get the best detailed information about drugs from http://www.rxwiki.com --which is a drugs Wikipedia updated by pharmacists-- via coherent and friendly interactions. Avicenna DIL incorporates Aaron Copland’s “Appachian Spring” classical music excerpt3, which adds a relaxing theme to its overall picture.
The system is accessible from anywhere and anytime by calling 1-877-338-6225, using the user id 9193219 and the pin: 1980.
Callers would call to lookup drugs information, including: What is it used for?
How to take the drug? How will it benefit you?
How does the drug function? How is a certain drug available?
What are its possible side effects? What should you do in case of overdose?
What are its possible interactions with other drugs? What are the warnings and cautions should you know about?
3 Track 4 from “The Classical Mood” CD collections. The CD’s subtitle is “Peace”
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 4
2 Major Design Specifications
2.1 Design Overview
Avicenna Drug Info line’s design is a good design because it fits most of the 10 principles of good design for Dieter Rams
4. It:
1. Combines two of important fields namely the automatic speech recognition field and the text processing/data mining field, which makes the system Innovative.
2. Makes the product useful since it satisfies the needs of people, especially since the system is able to offer callers the most updated information and detail of the top 100 drugs via the telephone. This also makes the design more concerned with the environment since it copes with the current lifestyle of people which is characterized by a busy lifestyle, and the wide usage of wireless communication technologies including cell phones and text messaging over the phone. Avicenna Drug info Line connects people with information retrieved from the internet wherever they are, and anytime they wish to learn about a certain drug.
3. Incorporate a female voice throughout the entire dialogue prompts (except for the information retrieved dynamically), as well as a smooth flow of control for the caller and the system which adds beauty to the system and makes the design aesthetic.
4. Is as little design as possible since it incorporates a small set of states despite the larger functionality it provides.
5. Is durable since the system can be functional even if the wiki pages are updated.
4 http://gizmodo.com/343641/1960s-braun-products-hold-the-secrets-to-apples-future
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 5
2.2 Functionalities Overview
Avicenna DIL5 has dual levels of functionalities namely: the surface functionality and the deep-structure functionality. Both levels of functionalities interact with each other to form the unique design for the speech system which was defined in section 2.1.
2.2.1 Surface Functionality
The surface functionality that Avicenna DIL uses is the speech dialogue interface that is apparent to the caller. It incorporates over 45 self-recorded prompts to give the caller the feeling that he is talking to a human. Avicenna DIL uses 11 background music files to polish the transitions of moving from one state to another for a smooth caller-system interaction.
2.2.2 Deep-Structure Functionality
The deep-structure functionality is what actually happens behind the scenes. It is defined as the deep-structure functionality of the system, because first it is deep in the sense that it is not apparent to the caller and second it has a complex structure that is deep to the level that the caller would not even notice such complexity. In addition, it incorporates cutting edge technologies of using the scripting language Ruby, the markup-language VoiceXML which is a format as XML that can be interpreted as speech, CGI files and Bevocal Café as the VXML interpreter.
2.3 Project Plan The completion of Avicenna DIL wouldn’t have been possible without a project plan (often referred to as the schedule of a project). The project plan measures a day by 8 working hours. In addition, since there was only one main developer engineer, who took the major responsibility of the project preparation, design, implementation, QA and debugging, the dependency, column was removed from the project plan, as well as the percent complete column since at this stage all tasks have been successfully accomplished. The image below, illustrates the project plan created for Avicenna DIL:
5 The paper will refer for Avicenna Drug Info Line as “Avicenna DIL” for simplicity
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 6
2.4 Design Flow-Chart The original flow-chart for this project consisted of over 15 states. However after the completion of the code implementation, the number of the states was reduced due to the feature of static-prompts reusability which allows the system to have a polymorphic state. A polymorphic state is a state that can have different specification/behavior according to certain given input which in this case is called a parameter. For instance, the drug info type state (1080), can act as a drug “benefits”, “side effects” or any other type of information specified by the caller by using a set of static prompts in addition to dynamic prompts which identify its current type of behavior (i.e. drug info type). Below is the complete flow chart of the system. Note that the parameters passed to polymorphic states are specified in the arrows combining them with other states.
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 7
1000
Welcome
1060
Drug Selection1040
Top_Hundred
Drug_name
1100
Good Bye!
1050
Drug Info or exit
1080
Drug Info Type
1030
Main Menu
1070
Drug Info Menu
1090
Interacting Drug
Drug_name & info_type
Drug_name &
Interacting_drug
1010
Welcome Options
1020
Instructions
1110
Check_spelling
1120
Check_spelling
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 8
2.5 Sample Scripts
2.5.1 Drug-by-Name Path
Recognizer Caller Comment
Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music>
If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu <instructions>
Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help <next>
Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.
look up by name
Need to retrieve information from the web as well.
Please say the drug name you want to hear more information about Nasacort AQ
You said < Nasacort AQ > spelled <N A S A C O R T> is that correct? yes
Do you want to hear more information about < Nasacort AQ > as its: < benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, > or its <overdose information> benefits
Nasacort AQ (triamcinolone) is a steroid medication administered by inhalation. It helps relieve symptoms from hay fever and other nasal allergies., Taking Nasacort AQ on a regular basis should help make you feel better and reduce your symptoms. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info <exit>
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 9
menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit
Thank you for choosing Avicenna Drug info line. Good Bye !
2.5.2 Top 100 Drugs Listing Path
Recognizer Caller Comment
Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music>
If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu <instructions>
Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help <next>
Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs. list
The list of the top 100 most common drugs is (see appendix A). Nasacort AQ
Need to retrieve information from the web as well.
do you want to hear more information about < Nasacort AQ >? or do you want to exit the system? Please say drug info or exit exit
Thank you for choosing Avicenna Drug info line. Good Bye !
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 10
2.6 States Tables
1000_Welcome
Play Prompt
Entering from
Prompts Name Condition Wording
1000 always Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients.
<Background Music>
Condition Action
Always 1010_Welcome_Options
Module Settings
1010_Welcome_Options Speech Input
Entering from
1000_welcome
Prompts Type Name Wording
initial 1011 If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu
No match 1 1012 I'm sorry, I didn't understand. <reprompt>
No match 2 1013 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1014 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1015 I didn't hear you, again <reprompt>
No input 2 1016 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1017 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1018 you can say instructions to learn about common keywords for easy navigation through the system, otherwise if you are familiar with the system, say next to move to the main menu
Option Vocabulary DTMF Action Confirm.
Input voice “instructions”
1020_Instructions If necessary
Input voice “next”
1030_Main_Menu If necessary
Commands
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 11
Module Settings
1020_Instructions
Play Prompt
Entering from
1010_Welcome_Options
Prompts Name Condition Wording
always Upon hearing your desired selection, you may say it anytime. To go back to a previous
prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help
Condition Action
Always 1030_Main_Menu
Module Settings
1030_Main_Menu Speech Input
Entering from
1010_Welcome_Options, 1020_Instructions
Prompts Type Name Wording
initial 1031 Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.
No match 1 1032 I'm sorry, I didn't understand. <reprompt>
No match 2 1033 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1034 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1035 I didn't hear you, again <reprompt>
No input 2 1036 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1037 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1038 This is the main menu, you need to say either look up by name to lookup a drug by name or list to hear the list of the top 100 drugs
Option Vocabulary DTMF Action Confirm.
Input voice “lookup by name”
1060_Drug_Selection If necessary
Input voice “list”
1040_Top_Hundred If necessary
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 12
Commands
Module Settings
1040_Top_Hundred Speech Input
Entering from
1030_Main_Menu
Prompts Type Name Wording
initial 1041
The list of the top 100 most common drugs is:
<see Appendix A>
No match 1 1042 I'm sorry, I didn't understand. <reprompt>
No match 2 1043 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1044 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1045 I didn't hear you, again <reprompt>
No input 2 1046 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1047 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1048
Please select a drug's name once you hear your choice
Option Vocabulary DTMF Action Confirm.
Input voice <drug name>
1110_Check_Spelling always
Commands
Module Settings
1050_Drug_Info_Or_Exit
Speech Input
Entering from
1110_Check-Spelling
Prompts Type Name Wording
initial 1051 do you want to hear more information about <"drug_option">
? or do you want to exit the system? Please say drug info or exit
No match 1 1052 I'm sorry, I didn't understand. <reprompt>
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 13
No match 2 1053 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1054 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1055 I didn't hear you, again <reprompt>
No input 2 1056 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1057 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1058 if you want to hear more information about the drug you selected say 'drug info' otherwise if you wish to exit the system, please say exit
Option Vocabulary DTMF Action Confirm.
Input Voice „Drug Info” 1070_Drug-Info_Menu If necessary
Input voice “exit” 1100_exit If necessary
Commands
Module Settings
1110_Check_Spelling Speech Input
Entering from
1040_Top_Hundred
Prompts Type Name Wording
initial 1111 You selected
< drug_option>
spelled
<say-as type="spell-out">
is that correct?
No match 1 1112 I'm sorry, I didn't understand. <reprompt>
No match 2 1113 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1114 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1115 I didn't hear you, again <reprompt>
No input 2 1116 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1117 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1118
Please select a drug's name once you hear your choice
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 14
Option Vocabulary DTMF Action Confirm.
Input voice “yes”
“next”
1050_Drug_Info_Or_Exit If necessary
Input voice “no”
“back”
1040_Top_Hundred If necessary
Commands
Module Settings
1060_Drug_Selection
Speech Input
Entering from
1030_Main_Menu
Prompts Type Name Wording
initial 1041 Please say the drug name you want to hear more information about
No match 1 1042 I'm sorry, I didn't understand. <reprompt>
No match 2 1043 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1044 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1045 I didn't hear you, again <reprompt>
No input 2 1046 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1047 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1048 Please select a drug's name you want to hear more information about
Option Vocabulary DTMF Action Confirm.
Input voice <drug name>
1120_Check_Spelling always
Commands
Module Settings
1120_Check_Spelling Speech Input
Entering from
1060_Drug_Selection
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 15
Prompts Type Name Wording
initial 1121 You selected
< drug_option>
spelled
<say-as type="spell-out">
is that correct?
No match 1 1122 I'm sorry, I didn't understand. <reprompt>
No match 2 1123 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1124 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1125 I didn't hear you, again <reprompt>
No input 2 1126 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1127 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1128
Please select a drug's name once you hear your choice
Option Vocabulary DTMF Action Confirm.
Input voice “yes”
“next”
1070_Drug_Info_Menu If necessary
Input voice “no”
“back”
1060_Drug_Selection If necessary
Commands
Module Settings
1070_Drug_Info_Menu Speech Input
Entering from
1120_Check_Spelling, 1050_Drug_Info_Or_Exit
Prompts Type Name Wording
initial 1071
Do you want to hear more information about <drug name>
as its <info types -1>
Or its
<last info type>
No match 1 1072 I'm sorry, I didn't understand. <reprompt>
No match 2 1073 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1074 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 16
No input 1 1075 I didn't hear you, again <reprompt>
No input 2 1076 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1077 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1078
Please select a drug's name once you hear your choice
Option Vocabulary DTMF Action Confirm.
Input voice <info type name>
1080_Drug_info_type always
Commands
Module Settings
1080_Drug_Info_Type Speech Input
Entering from
1070_Drug_info_Menu
Prompts Type Name Wording
initial 1081
<Dynamic retrival>
if you want to hear this information again, say 'repeat', if you want to go back to
<drug name> information menu, say 'drug info menu'
if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit
No match 1 1082 I'm sorry, I didn't understand. <reprompt>
No match 2 1083 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1084 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1085 I didn't hear you, again <reprompt>
No input 2 1086 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1087 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1088 Say one of the following options: 'repeat' to hear the same information again. 'drug info menu' if you
want more information regarding <drug name> 'main menu', to go back to the main menu to learn about another drug or exit' if you want to exit the system
Option Vocabulary DTMF Action Confirm.
Input voice “main menu‟ 1030_Main_Menu If necessary
Input voice “exit” 1100_Exit If necessary
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 17
Input voice “repeat”
1080_Drug_info_Type If necessary
Input voice “drug info menu”
1070_Drug_info_Menu If necessary
Commands
Module Settings
1090_Interacting_Drug Speech Input
Entering from
1080_Drug_info_type
Prompts Type Name Wording
initial 1091
<Dynamic Retrieval>
if you want to hear this information again, say 'repeat', if you want to go back to
<drug name> information menu, say 'drug info menu'
if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit
No match 1 1092 I'm sorry, I didn't understand. <reprompt>
No match 2 1093 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
No match 3 1094 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
No input 1 1095 I didn't hear you, again <reprompt>
No input 2 1096 I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
No input 3 1097 It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
Help 1098
Please select a drug's name once you hear your choice
Option Vocabulary DTMF Action Confirm.
Input voice “main menu‟ 1030_Main_Menu If necessary
Input voice “exit” 1100_Exit If necessary
Input voice “repeat”
1090_Interacting_Drug If necessary
Input voice “drug info menu”
1070_Drug_info_Menu If necessary
Commands
Module Settings
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 18
1100_Exit
Play Prompt
Entering from
1050_Drug_Info_Or_Exit, 1080_Drug_Info_Type, 1090_Interacting_Drug
Prompts Name Condition Wording
1100 always Thank you for choosing Avicenna Drug info line. Good Bye!
Condition Action
Always End
Module Settings
3 Implementation
3.1 Data Collection According to the initial design implementation, data was supposed to be downloaded via a UNIX crawler command (wget) which would collect drugs information from well known websites (see table below). However, since all of the encountered drugs/medication websites disallowed automatic crawlers as sited in their robots.txt file in their root directories, static data collection was not possible.
http://www.emedicinehealth.com/script/m
ain/hp.asp
http://www.webmd.com/drugs/index-
drugs.aspx
http://www.medicinenet.com/medicatio
ns/article.htm
http://www.rxlist.com/script/main/hp.asp
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 19
An alternative solution was to collect the drugs information dynamically by automatically retrieving the drugs information from the web parsing the text and generating the data via vxml. After approximately 2 hours of web search through Google for a simple website about drugs, the website corresponding to the link < http://rxwiki.com/index.php?title=Main_Page> was found to be very useful for the following main reasons:
The website consists of a simple markup language (HTML)
There were no Javascripts or other forms of scripts used when retrieving various drug information.
There were no fancy uses of frames, flash or other GUI forms that are hard to scrape via Ruby.
3.2 Drugs Page Structure There are two major formats that this project needed to account for:
1. The top hundred drugs list 2. The individual drugs info pages
The page structure for the top 100 drugs consists of a list of all drugs in one block of the html page which was not hard to extract using methods in the ruby gem ‘hpricot’ as the list looks like the following image:
However, the pages for the drug information are not uniform for all drugs; 92% of the drugs fall into group 1 whereas the rest 8% are distributed over 5 more groups (see Appendix B for the list of drugs in each category).
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 20
Group1 img1 Group2 img2
Group5 img5 Group3 img3
Group4 img4 Group6 img6
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 21
3.3 Text Normalization Text normalization was an important element in the implementation of Avicenna DIL since the speech system is unable to read many ASCII characters such as carriage return or tabs {“\t”,”\n”,”\r”}. In addition to symbols and special characters removal, vision words removal was crucial. For instance text containing spacial adverbs such as “below” or “above” would not be appropriate for a TTS to say it, and thus it requires the system to remove it.
4 Possible Future Improvements Avicenna Drug Info Line can be improved in various ways including:
1. Internationalization Expansion: Prompts can be translated in the various languages that preserve the same drugs naming convention. Possible languages could include: French, Spanish, Modern Standard Arabic (Assuming French influenced Arabic countries).
2. Expanding the drugs list is important, especially since one of the initial testers of the system reported that she was not able to find simple drugs names as Aspirin (see Appendix D: Roza Safarova’s email).
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 22
5 Appendix A Top 100 Drugs
Aciphex
Actiq
Actonel
Actos
Adderall
Adderall XR
Advair Advair Diskus
Altace
Ambien
Ambien CR
Aricept
Augmentin Augmentin XR
Avandia
Avapro
Cardizem Cardizem LA
Celebrex
Cialis
Cipro
Clarinex
Combivent
Combivir
Concerta
Coreg
Coumadin
Cozaar
Crestor
Cymbalta
Depakote Depakote ER
Detrol LA
Diovan Diovan HCT
Duragesic
Effexor XR
Enbrel
Evista
Flomax
Flonase
Flovent
Fosamax
Humalog
Humira
Hyzaar
Imitrex
Lamictal
Lamisil
Lantus
Lescol
Levaquin
Levitra
Lexapro
Lipitor
Lovenox
Lunesta- Micardis
Nasacort AQ
Nasonex
Neurontin
Nexium
Niaspan
Norvasc
Omnicef
OxyContin
Paxil
Plavix
Pravachol
Prevacid
Protonix
Prozac
Pulmicort Respules
Relenza
Rhinocort Aqua
Risperdal
Seroquel
Singulair
Spiriva
Strattera
Synthroid
Symbicort
Tamiflu
Topamax
Toprol-XL
Tricor
Trileptal
Valtrex
Viagra
Vicodin
Vytorin
Wellbutrin XL
Xalatan
Xopenex
Yasmin
Zegerid
Zelnorm
Zetia
Zithromax
Zocor
Zofran
Zoloft
Zyprexa
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 23
6 Appendix B Drugs Classifications According to their Drug Info Menu Group Group 1 Drugs
Aciphex, Actiq, Actonel, Actos, Adderall, Advair, Advair Diskus, Altace, Ambien, Aricept, Augmentin, Avandia, Avapro, Cardizem, Celebrex, Cialis, Cipro, Clarinex, Combivent, Combivir, Concerta, Coreg, Coumadin, Cozaar, Crestor, Cymbalta, Depakote, , Diovan, Diovan HCT, Duragesic, Enbrel, Evista, Flomax, Flonase, Flovent, Fosamax, Humalog, Humira, Hyzaar, Imitrex, Lamictal, Lamisil, Lantus, Lescol, Levaquin, Levitra, Lexapro, Lipitor, Lovenox, Lunesta- Micardis, Nasacort AQ, Nasonex, Neurontin, Nexium , Norvasc, Omnicef, Paxil, Plavix, Pravachol, Prevacid, Protonix, Prozac, Pulmicort Respules, Relenza , Rhinocort Aqua, Risperdal, Seroquel, Singulair, Spiriva, Strattera, Synthroid, Symbicort, Tamiflu, Topamax, Tricor, Trileptal, Valtrex, Viagra, Vicodin, Vytorin, Xalatan, Xopenex, Yasmin, Zegerid, Zelnorm, Zetia , Zithromax, Zocor, Zoloft, Zyprexa. Group 2 Drugs Adderall XR Group 3 Drugs Ambien CR, Augmentin XR Group 4 Drugs Cardizem LA, Depakote ER, Niaspan, Toprol-XL, Wellbutrin XL Group 5 Drugs Detrol LA, Effexor XR, OxyContin Group 6 Drugs Zofran
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 24
7 Appendix C
Demo Recorder: Chris Roby Recording Date: Monday, March 31, 2008 Demo Script Writer: Zina Saadi Pin Number: 1980
Avicenna DIL:
-Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients. <Background Music> Avicenna DIL:
-If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu Chris: next <Background Music> Avicenna DIL: -<sound icon> Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs. Chris: look up by name
<Background Music> Avicenna DIL:
-Please say the drug name you want to hear more information about Chris: Aciphex Avicenna DIL: You said <aciphex> spelled A C I P H E X is that correct? Chris: Yes <Background Music> Avicenna DIL: -Do you want to hear more information about <aciphex> as its: benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, or its overdose information Chris: benefits <Background Music> Avicenna DIL: -Aciphex is used to treat heartburn, acid reflux (GERD or gastroesophageal reflux disease), and to treat diseases of the esophagus. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: 'drug info menu'
<Background Music> Avicenna DIL:
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 25
-Do you want to hear more information about <aciphex> as its: benefits, what is it used for, instructions, functionality, availability, general info, side effects, warnings, interactions with other drugs, or its overdose information Chris: ‘interactions with other drugs’
<Background Music> Avicenna DIL:
-These drugs could interact with Aciphex:, Anticoagulants such as warfarin (Coumadin), Azole antifungals such as ketoconazole (Nizoral, Kuric, Xolegel), Clarithromycin (Biaxin), Cyclosporine (Neoral, Sandimmune, Gengraf, Restasis), Digoxin (Lanoxin), HIV protease inhibitors such as atazanavir (Reyataz), Iron , Voriconazole (Vfend), The list of possible interactions above may not include every drug that could interact with Aciphex. You should speak with your health care provider before starting any new drug to be sure all possible interactions are reviewed in advance. Certain drugs may not mix well together. - If you want to hear more information about one of the interacting drugs. say 'interacting drug list' if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: ‘interacting drug list’ <Background Music> Avicenna DIL: - The interactive drugs with <aciphex> are: Anticoagulant. Warfarin. Coumadin. Azole. Antifungal. Ketoconazole. Nizoral. Kuric. Xolegel. Clarithromycin. Biaxin. Cyclosporine. Neoral. Sandimmune. Gengraf. Restasis. Digoxin. Lanoxin. HIV. Protease inhibitor. Atazanavir. Reyataz. Voriconazole. Vfend which one do you like to learn more about? Chris: Lanoxin <Background Music> Avicenna DIL: -Drug Type: Antiarrhythmic agents, Clinical Drug: digoxin, Lanoxin helps the heart beat more strongly and regularly. -if you want to hear this information again, say 'repeat', if you want to go back to <aciphex> information menu, say 'drug info menu' if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit Chris: exit
<Background Music> Avicenna DIL:
-Thank you for choosing Avicena Drug info line. Good Bye !
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 26
8 Appendix D From Marwa Eid, Graduate Student at UMASS Boston
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 27
From E’atimad, MBA Student
From Roza Safarova, graduate Student at Tufts University
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 28
From Maha Achour, PHD, CTO & Co-Founder of Rayspan Corp
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 29
9 Appendix E Recording Prompts 1000
Welcome to Avicenna Drug info line, the number one system that provides details and information on drugs for professionals and patients.
<Background Music>
1011
If this is your first time calling the system, and you want to hear our system instructions say instructions, otherwise say next to go directly to the main menu
1012
I'm sorry, I didn't understand. <reprompt>
1013
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1014
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1015
I didn't hear you, again <reprompt>
1016
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1017
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1018
you can say instructions to learn about common keywords for easy navigation through the system, otherwise if you are familiar with the system, say next to move to the main menu
Upon hearing your desired selection, you may say it anytime. To go back to a previous prompt say back, to leave the system anytime say exit, or if you need further assistant anytime say help
1031
Main Menu. If you have the name of the drug to look up say (look up by name) otherwise say (list) to hear the list of the top 100 drugs.
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 30
1032
I'm sorry, I didn't understand. <reprompt>
1033
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1034
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1035
I didn't hear you, again <reprompt>
1036
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1037
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1038
This is the main menu, you need to say either look up by name to lookup a drug by name or list to hear the list of the top 100 drugs
1041
The list of the top 100 most common drugs is:
<see Appendix A>
1042
I'm sorry, I didn't understand. <reprompt>
1043
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1044
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1045
I didn't hear you, again <reprompt>
1046
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 31
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1047
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1048
Please select a drug's name once you hear your choice
1051
do you want to hear more information about <"drug_option">
? or do you want to exit the system? Please say drug info or exit
1052
I'm sorry, I didn't understand. <reprompt>
1053
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1054
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1055
I didn't hear you, again <reprompt>
1056
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1057
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1058
if you want to hear more information about the drug you selected say 'drug info' otherwise if you wish to exit the system, please say exit
1111
You selected
< drug_option>
spelled
<say-as type="spell-out">
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 32
is that correct?
1112
I'm sorry, I didn't understand. <reprompt>
1113
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1114
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1115
I didn't hear you, again <reprompt>
1116
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1117
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1118
Please select a drug's name once you hear your choice
1041
Please say the drug name you want to hear more information about
1042
I'm sorry, I didn't understand. <reprompt>
1043
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1044
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1045
I didn't hear you, again <reprompt>
1046
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 33
1047
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1048
Please select a drug's name you want to hear more information about
1121
You selected
< drug_option>
spelled
<say-as type="spell-out">
is that correct?
1122
I'm sorry, I didn't understand. <reprompt>
1123
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1124
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1125
I didn't hear you, again <reprompt>
1126
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1127
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1128
Please select a drug's name once you hear your choice
1071
Do you want to hear more information about <drug name>
as its <info types -1>
Or its
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 34
<last info type>
1072
I'm sorry, I didn't understand. <reprompt>
1073
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1074
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1075
I didn't hear you, again <reprompt>
1076
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1077
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1078
Please select a drug's name once you hear your choice
1081
<Dynamic retrival>
if you want to hear this information again, say 'repeat', if you want to go back to
<drug name> information menu, say 'drug info menu'
if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit
1082
I'm sorry, I didn't understand. <reprompt>
1083
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1084
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1085
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 35
I didn't hear you, again <reprompt>
1086
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1087
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1088
Say one of the following options: 'repeat' to hear the same information again. 'drug info menu' if you want more information regarding <drug name> 'main menu', to go back to the main menu to learn about another drug or exit' if you want to exit the system
1091
<Dynamic Retrieval>
if you want to hear this information again, say 'repeat', if you want to go back to
<drug name> information menu, say 'drug info menu'
if you want to learn about another drug, say 'main menu', otherwise if you want to exit the system, please say exit
1092
I'm sorry, I didn't understand. <reprompt>
1093
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say <reprompt>
1094
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1095
I didn't hear you, again <reprompt>
1096
I'm sorry, I still didn't understand you. You can say help, if you are not sure what to say<reprompt>
1097
It looks like we are having technical difficulties; I still did not understand you.
You can say help, if you are not sure what to say <reprompt>
1098
Avicenna Drug Info Line: A Speech Recognizer System
Zina Saadi Page 36
Please select a drug's name once you hear your choice
1100
Thank you for choosing Avicenna Drug info line. Good Bye !
10 Document History Date Description
February 24, 2008 Draft1: Script + Flow charts
March 2, 2008 Draft2: -Added State tables and Project Plan
-Updated Flow-Chart and Caller-Script
March 11, 2008 Draft3: Redo everything for the favor of “Doctor on call”
-Modified the scope to focus on Drugs information
=> Renamed it to “Rx Info Line”
March 12, 2008 Draft4: Met with Blade and reviewed Flow Chart +script
=> Improved Flow Chart
March 16, 2008 Draft5: Updated the script, removed the search functionality since there
were not an easy way to collect a lot of text for each drug to generate
search keywords.
March 27, 2008 Draft6: Changed the name from “Rx Info Line” to “Avicenna Drug Info
Line”
April 01, 2008 Draft7: updated the introduction and the flow chart as well as the
project plan
April 02, 2008 Draft7: state tables & scripts updates
April 03, 2008 Final Draft: wrap up and final additions
April 07, 2008 Final Draft: created and added recording script/prompt