Re: polarity tag in output for mention/concept. [EXTERNAL] [SUSPICIOUS] [SUSPICIOUS]
Tim and Sean, I think I spoke too soon. Don't know why it didn't work the 1st few times I ran it. I changed both to 20. Looks like we are safe here; looks like it's 20 to the left/right within the same sentence because the term "right breast" is positive. *my sample text:A Regional Med Center This should not interfere with ROS section: denies fatigue, malaise, fever, weight lossMDM/ED CourseImaging:The patient underwent an ultrasound-guilded core needle biopsy with clip pacement of the 2.3cm mass in the upper outer quadrant of the right breast.ROS: Heme/Lymphatic: denies easy or excessive bruising, history of blood transfusions, anemia, bleeding disorders, adenopathy, chills, sweatsAllergic/Immunologic: denies urticaria, hay fever, frequent UTIs; denies HIV high risk behaviors* Here's how I run it. Is there a better way to run it? I made a copy of runPipeFile.bat and added: @rem - set *FAST_PIPER* =resources\org\apache\ctakes\clinical\pipeline\FastPipeline1.piper java -Dctakes.umlsuser="myUser" -Dctakes.umlspw="myPW" -cp "%CLASS_PATH%" %LOG4J_PARM% -Xms512M -Xmx3g %PIPE_RUNNER% -p %*FAST_PIPER*% %* -i C:\Projects\NLPinbound --xmiOut C:\Projects\NLPoutbound -l org/apache/ctakes/dictionary/lookup/fast/aa_5.xml :end I am thrill with this discovery. Thanks for your help. Kathy On Tue, Nov 28, 2017 at 2:05 PM, Finan, Sean < sean.fi...@childrens.harvard.edu> wrote: > Thanks Tim, > > "Negation's Not Solved" :^) > > -Original Message- > From: Miller, Timothy [mailto:timothy.mil...@childrens.harvard.edu] > Sent: Tuesday, November 28, 2017 2:01 PM > To: dev@ctakes.apache.org > Subject: Re: polarity tag in output for mention/concept. [EXTERNAL] > [SUSPICIOUS] [SUSPICIOUS] > > I'll just point out -- the kind of examples Kathy gave were the bane of > our existence while working on the ML-based assertion system. Even though > it is obvious what is going on to a human it was hard to encode as a > feature in a way that was learnable. But I think most rule-based algorithms > will also run into problems with this type of example eventually if they > have a hard-coded scoping mechanism (e.g., scope extends up to 10 words to > the right). If you make it larger than you may increase the number of false > positives your algorithm finds (confusingly, here a false positive is an > example the algorithm calls negated that is not actually being negated). > Tim > > > On Tue, 2017-11-28 at 17:22 +, Finan, Sean wrote: > > Hi Kathy, > > > > I am glad that you checked the wiki! I should have pointed to it ... > > > > In the example I sent the "relevant distance" between trigger terms > > and events would be 10. There isn't any maximum as far as I know, but > > I think that 10 is the most that I've ever used. The default is 7, > > and you can try with that (remove "*=*") before increasing the > > number(s). > > > > The piper files aren't source code, they are just plain text and don't > > require compiling, etc. How are you running the pipeline right now? > > From a binary with a bin/run* script? > > > > Sean > > > > > > -Original Message- > > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > > Sent: Tuesday, November 28, 2017 12:11 PM > > To: dev@ctakes.apache.org > > Subject: Re: polarity tag in output for mention/concept. [EXTERNAL] > > > > Sean, > > > > Thank you for information. > > > > I was reading the document. So, the MaxLeftScopeSize and > > MaxRightScopeSize are limit up to 10? Is there anyway to adjust it > > without modify the source code? > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org > > _confluence_display_CTAKES_cTAKES-2B4.0-2B-2D-2BNE- > > 2BContexts=DwIBaQ=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU=f > > s67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao=4K9fxMmBiI0QZB0UhriFp_Yv > > XDL8rmXtGRiKVgxMCPE=hsCB9xPXLC8fpiwrGXuEW9snw_WZbY0e-E-mhPOO9N8= > > > > > > Thanks again, > > Kathy > > > > > > > > On Tue, Nov 28, 2017 at 9:31 AM, Finan, Sean < Sean.Finan@childrens.h > > arvard.edu> wrote: > > > > > > > > Hi Kathy, > > > > > > The negation annotator used in the default clinical pipeline is > > > based upon machine learning and trained on real data. It is > > > possible that such "denies" lists were underrepresented in the > > > training data. One thing that you can try is adding another > > > negation annotator. The ContextAnnotator in ctakes-ne-contexts will > > > add negation to terms without removing existing negation. It also > > > has configurable scope/distance that may be helpful. > > > > > > To use this, create a new piper file containing the two lines > > > > > > load DefaultFastPipeline > > > add ContextAnnotator MaxLeftScopeSize=10 MaxRightScopeSize=10 > > > > > > The default scope sizes are 7, but increasing the MaxRight* might > > > help with your "denies" discoveries. 7 might be ok for the left, so > > > feel free to remove "MaxLeftScopeSize=10" from the line. > > > > > > Then run your piper file (command line,
RE: polarity tag in output for mention/concept. [EXTERNAL] [SUSPICIOUS] [SUSPICIOUS]
Thanks Tim, "Negation's Not Solved" :^) -Original Message- From: Miller, Timothy [mailto:timothy.mil...@childrens.harvard.edu] Sent: Tuesday, November 28, 2017 2:01 PM To: dev@ctakes.apache.org Subject: Re: polarity tag in output for mention/concept. [EXTERNAL] [SUSPICIOUS] [SUSPICIOUS] I'll just point out -- the kind of examples Kathy gave were the bane of our existence while working on the ML-based assertion system. Even though it is obvious what is going on to a human it was hard to encode as a feature in a way that was learnable. But I think most rule-based algorithms will also run into problems with this type of example eventually if they have a hard-coded scoping mechanism (e.g., scope extends up to 10 words to the right). If you make it larger than you may increase the number of false positives your algorithm finds (confusingly, here a false positive is an example the algorithm calls negated that is not actually being negated). Tim On Tue, 2017-11-28 at 17:22 +, Finan, Sean wrote: > Hi Kathy, > > I am glad that you checked the wiki! I should have pointed to it ... > > In the example I sent the "relevant distance" between trigger terms > and events would be 10. There isn't any maximum as far as I know, but > I think that 10 is the most that I've ever used. The default is 7, > and you can try with that (remove "*=*") before increasing the > number(s). > > The piper files aren't source code, they are just plain text and don't > require compiling, etc. How are you running the pipeline right now? > From a binary with a bin/run* script? > > Sean > > > -Original Message- > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > Sent: Tuesday, November 28, 2017 12:11 PM > To: dev@ctakes.apache.org > Subject: Re: polarity tag in output for mention/concept. [EXTERNAL] > > Sean, > > Thank you for information. > > I was reading the document. So, the MaxLeftScopeSize and > MaxRightScopeSize are limit up to 10? Is there anyway to adjust it > without modify the source code? > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org > _confluence_display_CTAKES_cTAKES-2B4.0-2B-2D-2BNE- > 2BContexts=DwIBaQ=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU=f > s67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao=4K9fxMmBiI0QZB0UhriFp_Yv > XDL8rmXtGRiKVgxMCPE=hsCB9xPXLC8fpiwrGXuEW9snw_WZbY0e-E-mhPOO9N8= > > > Thanks again, > Kathy > > > > On Tue, Nov 28, 2017 at 9:31 AM, Finan, Sean < Sean.Finan@childrens.h > arvard.edu> wrote: > > > > > Hi Kathy, > > > > The negation annotator used in the default clinical pipeline is > > based upon machine learning and trained on real data. It is > > possible that such "denies" lists were underrepresented in the > > training data. One thing that you can try is adding another > > negation annotator. The ContextAnnotator in ctakes-ne-contexts will > > add negation to terms without removing existing negation. It also > > has configurable scope/distance that may be helpful. > > > > To use this, create a new piper file containing the two lines > > > > load DefaultFastPipeline > > add ContextAnnotator MaxLeftScopeSize=10 MaxRightScopeSize=10 > > > > The default scope sizes are 7, but increasing the MaxRight* might > > help with your "denies" discoveries. 7 might be ok for the left, so > > feel free to remove "MaxLeftScopeSize=10" from the line. > > > > Then run your piper file (command line, gui, maven profile, etc.) > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.o > > rg_ > > confluence_display_CTAKES_Piper- > > 2BFiles=DwIBaQ=qS4goWBT7poplM69zy_ > > 3xhKwEW14JZMSdioCoppxeFU=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4g > > Tao > > =4K9fxMmBiI0QZB0UhriFp_YvXDL8rmXtGRiKVgxMCPE=rXqsHq_poDXmwkCf3L > > 2M5 > > ZlsByCbUHcSWD84JQQuh5A= > > > > Sean > > > > -Original Message- > > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > > Sent: Monday, November 27, 2017 8:10 PM > > To: dev@ctakes.apache.org > > Subject: polarity tag in output for mention/concept. [EXTERNAL] > > > > Good evening, > > > > I ran a few sentences through default clinical pipeline. > > > > It really reliable if it's only one term after negative, but I am > > get in-consistent value for polarity for the list of terms. Please > > see example below. > > > > 1. denies fatigue, malaise, fever, weight loss > > SignSymthomMention: > > polarity = -1: fatigue, malaise,fever polarity = 1: weight loss. > > Why does weight loss got single out? > > > > 2. denies ear pain or discharge, nasal obstruction or discharge, > > sore throat polarity = -1: ear pain or discharge polarity = 1: nasal > > obstruction or discharge, obstruction, sore throat Doesn't even > > acknowledge the list. > > > > 3. denies back pain, joint swelling, joint stiffness, joint pain > > polarity = -1: back pain, Swelling polarity = 1: Joint swelling, > > Stiffness, pain What! totally messy the pattern. > > > > 4. denied back pain,
Re: polarity tag in output for mention/concept. [EXTERNAL] [SUSPICIOUS]
I'll just point out -- the kind of examples Kathy gave were the bane of our existence while working on the ML-based assertion system. Even though it is obvious what is going on to a human it was hard to encode as a feature in a way that was learnable. But I think most rule-based algorithms will also run into problems with this type of example eventually if they have a hard-coded scoping mechanism (e.g., scope extends up to 10 words to the right). If you make it larger than you may increase the number of false positives your algorithm finds (confusingly, here a false positive is an example the algorithm calls negated that is not actually being negated). Tim On Tue, 2017-11-28 at 17:22 +, Finan, Sean wrote: > Hi Kathy, > > I am glad that you checked the wiki! I should have pointed to it ... > > In the example I sent the "relevant distance" between trigger terms > and events would be 10. There isn't any maximum as far as I know, > but I think that 10 is the most that I've ever used. The default is > 7, and you can try with that (remove "*=*") before increasing the > number(s). > > The piper files aren't source code, they are just plain text and > don't require compiling, etc. How are you running the pipeline right > now? From a binary with a bin/run* script? > > Sean > > > -Original Message- > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > Sent: Tuesday, November 28, 2017 12:11 PM > To: dev@ctakes.apache.org > Subject: Re: polarity tag in output for mention/concept. [EXTERNAL] > > Sean, > > Thank you for information. > > I was reading the document. So, the MaxLeftScopeSize and > MaxRightScopeSize are limit up to 10? Is there anyway to adjust it > without modify the source code? > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org > _confluence_display_CTAKES_cTAKES-2B4.0-2B-2D-2BNE- > 2BContexts=DwIBaQ=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU=f > s67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao=4K9fxMmBiI0QZB0UhriFp_Yv > XDL8rmXtGRiKVgxMCPE=hsCB9xPXLC8fpiwrGXuEW9snw_WZbY0e-E-mhPOO9N8= > > > Thanks again, > Kathy > > > > On Tue, Nov 28, 2017 at 9:31 AM, Finan, Sean < Sean.Finan@childrens.h > arvard.edu> wrote: > > > > > Hi Kathy, > > > > The negation annotator used in the default clinical pipeline is > > based > > upon machine learning and trained on real data. It is possible > > that > > such "denies" lists were underrepresented in the training > > data. One > > thing that you can try is adding another negation annotator. The > > ContextAnnotator in ctakes-ne-contexts will add negation to terms > > without removing existing negation. It also has configurable > > scope/distance that may be helpful. > > > > To use this, create a new piper file containing the two lines > > > > load DefaultFastPipeline > > add ContextAnnotator MaxLeftScopeSize=10 MaxRightScopeSize=10 > > > > The default scope sizes are 7, but increasing the MaxRight* might > > help with your "denies" discoveries. 7 might be ok for the left, > > so > > feel free to remove "MaxLeftScopeSize=10" from the line. > > > > Then run your piper file (command line, gui, maven profile, etc.) > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.o > > rg_ > > confluence_display_CTAKES_Piper- > > 2BFiles=DwIBaQ=qS4goWBT7poplM69zy_ > > 3xhKwEW14JZMSdioCoppxeFU=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4g > > Tao > > =4K9fxMmBiI0QZB0UhriFp_YvXDL8rmXtGRiKVgxMCPE=rXqsHq_poDXmwkCf3L > > 2M5 > > ZlsByCbUHcSWD84JQQuh5A= > > > > Sean > > > > -Original Message- > > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > > Sent: Monday, November 27, 2017 8:10 PM > > To: dev@ctakes.apache.org > > Subject: polarity tag in output for mention/concept. [EXTERNAL] > > > > Good evening, > > > > I ran a few sentences through default clinical pipeline. > > > > It really reliable if it's only one term after negative, but I am > > get > > in-consistent value for polarity for the list of terms. Please > > see > > example below. > > > > 1. denies fatigue, malaise, fever, weight loss > > SignSymthomMention: > > polarity = -1: fatigue, malaise,fever polarity = 1: weight loss. > > Why does weight loss got single out? > > > > 2. denies ear pain or discharge, nasal obstruction or discharge, > > sore > > throat > > polarity = -1: ear pain or discharge > > polarity = 1: nasal obstruction or discharge, obstruction, sore > > throat > > Doesn't even acknowledge the list. > > > > 3. denies back pain, joint swelling, joint stiffness, joint pain > > polarity = -1: back pain, Swelling > > polarity = 1: Joint swelling, Stiffness, pain What! totally messy > > the > > pattern. > > > > 4. denied back pain, joint swelling, joint stiffness, joint pain > > Ok, may be it doesn't like the word denies; I changed to denied, > > deny, > > etc.. > > polarity = -1 : Swelling > > everything else is 1. > > > > > > My question is: > > How do I handle the negative claims in the document?
RE: Interpret context out of clinical note [EXTERNAL]
Hi Bhagwat, I will try to answer this over the next day or two. Somebody else may have some free time and get to you first ... Sean -Original Message- From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] Sent: Tuesday, November 28, 2017 12:11 AM To: dev@ctakes.apache.org Subject: Re: Interpret context out of clinical note [EXTERNAL] Hello Sean, Thank you very much for your patience and bare with my basic queries. 1) What information you are trying to obtain from a note. An example sentence would help. >> Here are some example sentence from which I want to make out weather >> cystoscopy is done or not. >> ex: Note 1: In addition he has bilateral stones, non-obstructing and bilateral renal cysts. I have been recommended that he obtain a CT scan for staging, office cystoscopy for diagnosis, and subsequently a bladder biopsy excision of the bladder tumor. > cystoscopy not done Note 2: He has incidental bilateral renal stones 4.4 mm on the right and 2 mm on the left.Cystoscopy showed a bladder tumor on the floor of the bladder right side sessile 3 cm. suspicious for invasion . Biopsy showed no invasion but high grade. ---> cystoscopy done Note 3: Cystoscopy 2/10/16 shows the fistula, BPH, and no bladder lesions.Will proceed with the fistula closure.CT DONE IN THE HOSPITAL 2/24/16 SHOWED INVASIVE BLADDER CANCER INTRA-MURAL OBSTRUCTING BOTH KIDNEYS. PATIENT WILL REQURIE A CYSTECTOMY AND URINARY DIVERSION. ---> Cystoscopy done / CYSTECTOMY not done Note 4: Other medical history in this patient includes diabetes, high blood pressure. Surgical history includes gallbladder, liver biopsy, bladder tumor resection as stated above.Return in 12 mos. for repeat cystoscopy. ---> cystoscopy done Note 5: Medical history in this patient is left blank except for thyroid disease. Surgical history includes some hand surgery. He also had some kind of eye surgery in 1987.Plan will be cystoscopy, resection of bladder tumor for staging and retrograde pyelogram. This is scheduled to be done at Medical City on July 20 at 7:30 in the morning. > cystoscopy done 2) What you have already done to successfully or unsuccessfully obtain the information. >> I had checked outputs on web api of ctakes by giving some notes, I suspected TLINK must be helpful component to get the above work done. >> so I followed the path how to get the TLINK statement output and I achieved it using piper file. 3) What you do understand at this point in time. >> I understood only how to run particular pipeline using piper file and get the output in HTML file. >> I have gone through the ctakes-wiki, I have brief idea about each module. 4) What you think is missing from your understanding. >>Till now I had thought of using TLINKS to capture the context out of note. I think so because of categories in TLINKS. After fetching TLINKS in HTML format, while interpreting context, I feel mere TLINK wont help and I need something else to get my work done. >>At present I think I am lost somewhere and not able to figure out the pipeline that needs to be used to get my work done 5) What you really need from us. A workflow? A pipeline? Pointers toward existing code? Pointers toward datatypes? A deeper explanation of existing code (pick 1 class)? Help writing new ctakes code of your own? >> More precisely, I need a pipeline to do above task, and deeper explanation of code of this pipeline. Having code insight I will have a better control on the output, i.e. instead of having output in xmi/html, I can prepare collection or so for the output. This may need to write new cTakescode, not sure though. On 27 November 2017 at 19:02, Finan, Seanwrote: > Hi Bhagwat. > > You wrote: > > Now coming back to our original question for which this thread has > > been > initiated. > > I was trying to get the context out of clinical notes. for ex. If > > any > procedure is happened or not on patient. > > ... > > By following this clues, I am nowhere. > > Could you please provide information on which pipeline I should have > > to > run to achieve this goal, and how? > > Your snippet of my previous
Re: polarity tag in output for mention/concept. [EXTERNAL]
Sean, Thank you for information. I was reading the document. So, the MaxLeftScopeSize and MaxRightScopeSize are limit up to 10? Is there anyway to adjust it without modify the source code? https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+4.0+-+NE+Contexts Thanks again, Kathy On Tue, Nov 28, 2017 at 9:31 AM, Finan, Sean < sean.fi...@childrens.harvard.edu> wrote: > Hi Kathy, > > The negation annotator used in the default clinical pipeline is based upon > machine learning and trained on real data. It is possible that such > "denies" lists were underrepresented in the training data. One thing that > you can try is adding another negation annotator. The ContextAnnotator in > ctakes-ne-contexts will add negation to terms without removing existing > negation. It also has configurable scope/distance that may be helpful. > > To use this, create a new piper file containing the two lines > > load DefaultFastPipeline > add ContextAnnotator MaxLeftScopeSize=10 MaxRightScopeSize=10 > > The default scope sizes are 7, but increasing the MaxRight* might help > with your "denies" discoveries. 7 might be ok for the left, so feel free > to remove "MaxLeftScopeSize=10" from the line. > > Then run your piper file (command line, gui, maven profile, etc.) > https://cwiki.apache.org/confluence/display/CTAKES/Piper+Files > > Sean > > -Original Message- > From: Kathy Ferro [mailto:healthcare1...@gmail.com] > Sent: Monday, November 27, 2017 8:10 PM > To: dev@ctakes.apache.org > Subject: polarity tag in output for mention/concept. [EXTERNAL] > > Good evening, > > I ran a few sentences through default clinical pipeline. > > It really reliable if it's only one term after negative, but I am get > in-consistent value for polarity for the list of terms. Please see example > below. > > 1. denies fatigue, malaise, fever, weight loss > SignSymthomMention: > polarity = -1: fatigue, malaise,fever > polarity = 1: weight loss. > Why does weight loss got single out? > > 2. denies ear pain or discharge, nasal obstruction or discharge, sore > throat > polarity = -1: ear pain or discharge > polarity = 1: nasal obstruction or discharge, obstruction, sore throat > Doesn't even acknowledge the list. > > 3. denies back pain, joint swelling, joint stiffness, joint pain > polarity = -1: back pain, Swelling > polarity = 1: Joint swelling, Stiffness, pain What! totally messy the > pattern. > > 4. denied back pain, joint swelling, joint stiffness, joint pain > Ok, may be it doesn't like the word denies; I changed to denied, deny, > etc.. > polarity = -1 : Swelling > everything else is 1. > > > My question is: > How do I handle the negative claims in the document? > > Thank you > Kathy >
RE: polarity tag in output for mention/concept. [EXTERNAL]
Hi Kathy, The negation annotator used in the default clinical pipeline is based upon machine learning and trained on real data. It is possible that such "denies" lists were underrepresented in the training data. One thing that you can try is adding another negation annotator. The ContextAnnotator in ctakes-ne-contexts will add negation to terms without removing existing negation. It also has configurable scope/distance that may be helpful. To use this, create a new piper file containing the two lines load DefaultFastPipeline add ContextAnnotator MaxLeftScopeSize=10 MaxRightScopeSize=10 The default scope sizes are 7, but increasing the MaxRight* might help with your "denies" discoveries. 7 might be ok for the left, so feel free to remove "MaxLeftScopeSize=10" from the line. Then run your piper file (command line, gui, maven profile, etc.) https://cwiki.apache.org/confluence/display/CTAKES/Piper+Files Sean -Original Message- From: Kathy Ferro [mailto:healthcare1...@gmail.com] Sent: Monday, November 27, 2017 8:10 PM To: dev@ctakes.apache.org Subject: polarity tag in output for mention/concept. [EXTERNAL] Good evening, I ran a few sentences through default clinical pipeline. It really reliable if it's only one term after negative, but I am get in-consistent value for polarity for the list of terms. Please see example below. 1. denies fatigue, malaise, fever, weight loss SignSymthomMention: polarity = -1: fatigue, malaise,fever polarity = 1: weight loss. Why does weight loss got single out? 2. denies ear pain or discharge, nasal obstruction or discharge, sore throat polarity = -1: ear pain or discharge polarity = 1: nasal obstruction or discharge, obstruction, sore throat Doesn't even acknowledge the list. 3. denies back pain, joint swelling, joint stiffness, joint pain polarity = -1: back pain, Swelling polarity = 1: Joint swelling, Stiffness, pain What! totally messy the pattern. 4. denied back pain, joint swelling, joint stiffness, joint pain Ok, may be it doesn't like the word denies; I changed to denied, deny, etc.. polarity = -1 : Swelling everything else is 1. My question is: How do I handle the negative claims in the document? Thank you Kathy
Re: uimafit version and commit messages
The uimaFIT releases mainly fix bugs and add smaller features. It should be pretty safe to update to 2.4.0. I didn't face any problems upgrading e.g. DKPro Core which is pretty large and uses uimaFIT intensively. Cheers, -- Richard (atm maintaining uimaFIT) > On 28.11.2017, at 01:45, David Kincaidwrote: > > Thanks for upgrading uimafit. I was thinking of giving it a try myself when > I had a chance. I see that you upgrades to 2.30, but the most recent > version is 2.4.0. Was there a problem with 2.4.0? > > - Dave