Medication information extraction with linguistic pattern matching and semantic rules