快速瞭解掌握中文天然語言處理

NLP是什麼程序員

     在計算機領域, NLP(Natural Language Processing),也就是人們常說的「天然語言處理」,就是研究如何讓計算機讀懂人類語言。這包括,既要能讓計算機理解天然語言文本的意義,也能以天然語言文原本表達給定的深層的意圖、思想等因此,這項技術每每體現了人工智能的最高任務與境界,也就是說,只有當計算機具有了理解天然語言的能力時,機器纔算實現了真正的智能可是,因爲中文詞語是由漢字變幻無窮組成的,因此中文領域的「天然語言處理」顯得尤其複雜。所以,這一領域的研究將涉及天然語言,即人們平常使用的語言,因此它與語言學的研究有着密切的聯繫,但又有重要的區別。天然語言處理並非通常地研究天然語言,而在於研製能有效地實現天然語言通訊的計算機系統,特別是其中的軟件系統。於是它是計算機科學的一部分。天然語言處理(NLP)是計算機科學,人工智能語言學關注計算機和人類(天然)語言之間的相互做用的領域。算法

    專一於「天然語言處理」領域多年,  NLP 的技術和服務一直伴隨着大快的發展而不斷進步。從自動翻譯、情報檢索、自動標引、自動文摘、自動寫故事小說等領域,均可以用咱們的工具類DKNLPBase來處理,NLP 技術已再也不單純的停留在概念層面而是逐步滲透併成功應用在大快的各個領域中數據庫

 

爲何須要NLP工具

    舉個例子,平常生活中,咱們總會碰到一些不知道怎麼讀的生僻字, 這時每每就會去搜索引擎搜索,好比「4 個又念什麼」。咱們發現,搜索結果必定是向你展現「 4 個又組成的字」是怎樣的,並一旁附上拼音及註釋等,而不是「 4 個又念什麼」這幾個孤零零的詞或者其表面的匹配結果。學習

 

這其實就是NLP技術的一個體現了。經過這項技術,人們沒必要花費大量心力去學習和了解難懂的計算機語言,而是用本身最習慣的語言來使用計算機,並進一步瞭解這背後的意義大數據

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短語數量
範例:給出一段文字,能表明文章的五個短語,第一個短語是算法工程師。編碼

 

    

NLP在最近幾年取得了很好的進展,但還有許多的難題須要去解決,因此大快在積極的嘗試不過也正是這樣有挑戰的問題,才能讓更多有才華的人投身到大快來推進它的發展。人工智能

相關文章
相關標籤/搜索