什麼是天然語言處理技術

天然語言處理(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短語數量

範例:給出一段文字,能表明文章的五個短語,第一個短語是算法工程師。

 

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

相關文章
相關標籤/搜索