什麼是自然語言處理技術

自然語言處理(NLP)是計算機科學,人工智能,語言學關注計算機和人類(自然)語言之間的相互作用的領域。自然語言處理是計算機科學領域與人工智能領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有着密切的聯繫,但又有重要的區別。自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟件系統。因而它是計算機科學的一部分。
自然語言處理技術是所有與自然語言的計算機處理有關的技術的統稱,其目的是使計算機理解和接受人類用自然語言輸入的指令,完成從一種語言到另一種語言的翻譯功能,自然語言處理技術的研究,可以豐富計算機知識處理的研究內容,推動人工智能技術的發展。
大快NLP模塊是大快大數據一體化平臺的一個組件,用戶引用該組件可以有效進行自然語言的處理工作,如進行文章摘要,語義判別以及提高內容檢索的精確度和有效性。
自然語言處理如今不僅作爲人工智能核心課題來研究,而且也作爲新一代計算機的核心課題來研究。從知識產業角度看,專家系統,數據庫,知識庫,計算機輔助設計系統(CAD)、計算機輔助教學系統(CAI)、計算機輔助決策系統,辦公室自動化管理系統,智能機器人等,都需要用自然語言處理,具有篇章理解能力的自然語言理解系統可用於機器自動翻譯、情報檢索、自動標引、自動文摘、自動寫故事小說等領域,都可以用我們的工具類DKNLPBase來處理。
標準分詞
方法簽名:List<Term> StandardTokenizer.segment(String txt);
返回:分詞列表。
簽名參數說明:txt:要分詞的語句。
範例:下例驗證一段話第5個分詞是阿法狗。
public void testSegment() throws Exception
{
String text = "商品和服務";
List<Term> termList = DKNLPBase.segment(text);
assertEquals("商品", termList.get(0).word);
assertEquals("和", termList.get(1).word);
assertEquals("服務", termList.get(2).word);
text = "柯傑解說“李世石VS阿法狗第二局” 結局竟是這樣";
termList = DKNLPBase.segment(text);
assertEquals("阿法狗", termList.get(5).word); // 能夠識別"阿法狗"
}
關鍵詞提取
方法簽名:List<String> extractKeyword(String txt,int keySum);
返回:關鍵詞列表.
簽名參數說明:txt:要提取關鍵詞的語句,keySum要提取關鍵詞的數量
範例:給出一段話提取一個關鍵詞是“程序員”。
public void testExtractKeyword() throws Exception
{
String content = "程序員(英文Programmer)是從事程序開發、維護的專業人員。" +
"一般將程序員分爲程序設計人員和程序編碼人員," +
"但兩者的界限並不非常清楚,特別是在中國。" +
"軟件從業人員分爲初級程序員、高級程序員、系統" +
"分析員和項目經理四大類。";
List<String> keyword = DKNLPBase.extractKeyword(content, 1);
assertEquals(1, keyword.size());
assertEquals("程序員", keyword.get(0));
}
短語提取
方法簽名:List<String> extractPhrase(String txt, int phSum);
返回:短語
簽名參數說明:txt:要提取短語的語句,phSum短語數量
範例:給出一段文字,能代表文章的五個短語,第一個短語是算法工程師。

邁進二十一世紀,我們已經進入了以互聯網爲主要標誌的海量信息時代,這些海量信息大部分是以自然語言表示的。一方面,海量信息也爲計算機學習人類語言提供了更多的“素材”,另一方面,這也爲自然語言處理提供了更加寬廣的應用舞臺。例如,作爲自然語言處理的重要應用,搜索引擎逐漸成爲人們獲取信息的重要工具,涌現出以百度、谷歌等爲代表的搜索引擎巨頭;機器翻譯也從實驗室走入尋常百姓家,谷歌、百度等公司都提供了基於海量網絡數據的機器翻譯和輔助翻譯工具;基於自然語言處理的中文(輸入法如搜狗、微軟、谷歌等輸入法)成爲計算機用戶的必備工具;帶有語音識別的計算機和手機也正大行其道,協助用戶更有效地工作學習。總之,隨着互聯網的普及和海量信息的涌現,自然語言處理正在人們的日常生活中扮演着越來越重要的作用。
然而,我們同時面臨着一個嚴峻事實,那就是如何有效利用海量信息已成爲制約信息技術發展的一個全局性瓶頸問題。自然語言處理無可避免地成爲信息科學技術中長期發展的一個新的戰略制高點。同時,人們逐漸意識到,單純依靠統計方法已經無法快速有效地從海量數據中學習語言知識,只有同時充分發揮基於規則的理性主義方法和基於統計的經驗主義方法的各自優勢,兩者互相補充,才能夠更好、更快地進行自然語言處理。
自然語言處理作爲一個年齡尚不足一個世紀的新興學科,正在進行着突飛猛進的發展。回顧自然語言處理的發展歷程,並不是一帆風順,有過低谷,也有過高潮。而現在我們正面臨着新的挑戰和機遇。例如,目前網絡搜索引擎基本上還停留在關鍵詞匹配,缺乏深層次的自然語言處理和理解。語音識別、文字識別、問答系統、機器翻譯等目前也只能達到很基本的水平。路漫漫其修遠兮,自然語言處理作爲一個高度交叉的新興學科,不論是探究自然本質還是付諸實際應用,在將來必定會有令人期待的驚喜和異常快速的發展。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章