目前Google、Yahoo使用key word搜尋，常找到大量不合用資訊。解決之道是:對textual web data全文標記語意，使用語意搜尋。但，純手動annotation太耗時；而且，如annotation的abstraction level過低，則高abstraction的隱喻搜尋不到。本文提出semi-automatic annotation system，即Automatic Annotator及Manual Annotator，先用Protégé定義好web ontology language (OWL) terms，前者用Knuth-Morris-Pratt (KMP) 演算法全文比對terms來annotate；後者讓使用者用這些terms來annotate高abstraction的隱喻。Annotate後產生的semantically-enhanced textual web document可由其他網路服務來做semantic處理，如範例中的 information retrieval system與recommendation system。 Current keyword search by Google, Yahoo, and so on gives enormous unsuitable results. A solution to this perhaps is to annotate semantics to textual web data to enable semantic search, rather than keyword search. However, pure manual annotation is very time-consuming. Further, searching high level concept such as metaphor cannot be done if the annotation is done at a low abstraction level. We present a semi-automatic annotation system, i.e. automatic annotator and a manual annotator. Against the web ontology language (OWL) terms defined by Protégé, the former annotates the textual web data using the Knuth-Morris-Pratt (KMP) algorithm, while the latter allows a user to use the terms to annotate metaphors with high abstraction. The resulting semantically-enhanced textual web document can be semantically processed by other web services such as the information retrieval system and the recommendation system shown in our example.