NLP(自然語言處理)技術

自然語言處理(NLP,Natural Language Processing) 是研究人與計算機互動的語言問題的一門學科。

簡介

處理自然語言的關鍵是要讓計算機“理解”自然語言,所以自然語言處理又叫做自然語言理解(NLU,NaturalLanguage Understanding),也稱為計算語言學(Computational Linguistics。一方面它是語言信息處理的一個分支,另一方面它是人工智慧(AI, Artificial Intelligence)的核心課題之一。

分類及國內概況

按照技術實現難度的不同,這類系統可以分成簡單匹配式、模糊匹配式和段落理解式三種類型。簡單匹配式輔導答疑係統主要通過簡單的關鍵字匹配技術來實現對學生提出問題與答案庫中相關應答條目的匹配,從而做到自動回答問題或進行相關輔導。模糊匹配式輔導答疑係統則在此基礎上増加了同義詞和反義詞的匹配。這樣,即使學生所提問題中按原來的關鍵字在答案庫中找不到直接匹配的答案,但是假若與該關鍵字同義或反義的詞能夠匹配則仍可在答案庫中找到相關的應答條目。段落理解式輔導答疑係統是最理想的、也是真正智慧型化的輔導答疑係統(簡單匹配式和模糊匹配式,嚴格說只能稱之為“自動輔導答疑係統”而非“智慧型輔導答疑係統”)。但是由於這種系統涉及自然語言的段落理解,對於漢語來說,這種理解涉及自動分詞、詞性分析、句法分析和語義分析等NLP領域的多種複雜技術,所以實現難度很大。迄今為止,在國內的網路教學中還沒有一個實用化的、能真正實現漢語段落理解的智慧型輔導答疑係統。但是在我國有些大學的人工智慧實驗室或中文信息處理實驗室中,已有少數研究人員正在研發這類系統的實驗原型。相信在不久的將來,就會有這一類的實用性智慧型系統問世。這是優質網路課程的重要研究方向之一。

NLP 相關API調用舉例

調用示例

這裡將以一個簡單的情感分析任務為例,調用騰訊文智SDK來處理NLP問題的方法。

首先請在相關雲的官網下的sdk下載中心,下載或更新最新版本的sdk,本次以php-sdk為例,修改demo.php檔案,修改點如下:
 
a)SecretId,SecretKey改為自己相應的值,這裡查看:
b)$package=array('offset'=>0, 'limit'=>3); 改為:
$package = array("content"=>"李亞鵬挺王菲:加油!孩兒他娘。");
說明:這是情感分析接口的參數。

c)$a=$cvm->DescribeInstances($package); 改為:
$a = $wenzhi->TextSentiment($package);
說明:這是模組的相關接口,具體請查看接口列表:
d)其他所有地方的$cvm改為$wenzhi,即替換為文智模組。

修改後的 demo.php 如下:

<?php

error_reporting(E_ALL ^ E_NOTICE);

require_once './src/QcloudApi/QcloudApi.php';

$config = array('SecretId' => '在你下載或更新SDK的那個官網上的SecretId',

'SecretKey' => '在你下載或更新SDK的那個官網上的SecretId',

'RequestMethod' => 'POST',

'DefaultRegion' => 'gz');

$wenzhi = QcloudApi::load(QcloudApi::MODULE_WENZHI, $config);

$package = array("content"=>"李亞鵬挺王菲:加油!孩兒他娘。");

$a = $wenzhi->TextSentiment($package);

if ($a === false) {

$error = $wenzhi->getError();

echo "Error code:" . $error->getCode() . ".\n";

echo "message:" . $error->getMessage() . ".\n";

echo "ext:" . var_export($error->getExt(), true) . ".\n";

} else {

var_dump($a);

}

echo "\nRequest:" . $wenzhi->getLastRequest();

echo "\nResponse:" . $wenzhi->getLastResponse();

echo "\n";

相關詞條

相關搜尋

熱門詞條

聯絡我們