真的不寫寫甚麼不行,今天一整天都在用教室布置,明天有一整天的電腦課,還好我進度偷偷先超前了,就利用明天時間寫鐵人文吧,不然平常回來都好累沒什麼力氣寫,我就來分配一下時間好了,上午四節課寫四篇,平均一節課一篇,時間可能不夠,但還是盡量,下午專攻課程,順便寫當天的。今天時間似乎多一點,我來說說新的東西好了。
意旨讓電腦能夠理解人類的語言,但再實際生活中,人類在溝通就可能誤會彼此的語言了,要怎麼讓電腦理解呢?所以科學家想了一個方法,就是先讓電腦理解詞和詞的意思
還記得還是學生的時候,上國文課老師都會叫我們背注釋,或者是考你注釋的意思,學英文則是要你分出哪個是主詞,動詞 形容詞 副詞....等,去學習每個字的意思,電腦也是,從最基本的詞彙開始,分出不同種類的詞彙,舉個例子:
中文是:他的領導才能很突出
英文是:His leadership ability is outstanding
我們先來討論英文
"His leadership ability"是主詞
"is"是動詞
"outstanding"是形容詞
整句是His leadership ability is outstanding
電腦或許可以這麼理解英文
但是當電腦看到中文時,會發現一種狀況,因為,中文的詞和詞之間沒有邊界,是整句串起來的,不像英文有空格,將每個字斷開,所以當電腦看到中文時,電腦不曉得這句的意思是
他的領導 才能 很 突出
又或者是
他的領導才能 很 突出
有看出不一樣嗎?我來解釋下
關鍵在"才能"兩個字
"才能"做名詞時可解釋為->【天生的愛好或先天的潛在的能力】 例句:他是靠他的才能被提升的
但當做副詞時可解釋為->【...才能... 表示將來的時候才會】 例句:星星只有夜晚才能看得見
一字多意雖然不是中文的專利,英文也有,但重點是就如我剛剛所說,英文句子的詞跟詞之間有空格,將每個字斷開,中文卻是一句到底,沒有斷開,相比電腦理解英文,中文來的難多了。
所以,電腦如果要理解一篇中文文章,必須先學會斷詞,而要學會斷詞,必須先知道這是一個詞、以及這個詞的意思。
實際上,電腦指懂得0跟1,你覺得只懂得0跟1的電腦有可能學會斷詞,甚至理解同一個詞嗎?其實這就是自然語言處理 (Natural Language Processing) 的研究目標。讓機器能理解我們的語言,或能運用之。
在早期,工程師透過訂定一大堆規則,讓電腦依指令做出反應,但這種方式還是不能解釋所有自然語言,就好像剛才所說,同一詞在不同情境可能代表的不同的意思,若同樣的詞在不同上下文產生不同意思,就會和原本我們訂定的規則起衝突。
//java:輸出(他的領導[才能]很突出,我們[才能]在比賽中贏得冠軍)
才能 = ("equipment");
才能 = ("will");
for (才能="equipment" && "will")
{
if (才能 == "aptitude")
{
System.out.println("aptitude");
}
else if(才能 =="belong to")
{
System.out.println("belong to");
}
else
{
System.out.println("aptitude");
}
}
輸出:aptitude aptitude aptitude aptitude aptitude......
//根本亂舉例子請大家忽略這段程式碼
1980 年代末期,自然語言處理引進機器學習,讓電腦透過演算法分析資料呈現的趨勢和統計機率的解果選擇最適合輸出的語言
近年來蓬勃發展的深度學習 (Deep Learning),也增加自然語言處理的準確性
當然透過自然語言處理分析字詞此技術早已廣泛應用於我們生活當中,只是你不知道而已,
例如:
廣告郵件的分類,Google搜尋演算法,詞類標示,機器翻譯,語音辨識,人名辨識...
都和我們生活息息相關,留意生活處處都有溫暖(誤X
感謝閱讀 今日里程數-1829字
如果圖片侵權通知我,我會將圖片刪除