2.1 單詞界定問題
單詞定界問題是屬於詞法層面的消歧任務。在口語中,詞與詞之間通常是連貫說出來的。在書面語中,中文等語言也沒有詞與詞之間的邊界。由於單詞是承載語義的最小單元,要解決自然語言處理,單詞的邊界界定問題首當其衝。特別是中文文字通常由連續的字序列組成,詞與詞之間缺少天然的分隔符,因此中文資訊處理比英文等西方語言多一步工序,即確定詞的邊界,我們稱為“中文自動分詞”任務。通俗的說就是要由計算機在詞與詞之間自動加上分隔符,從而將中文文字切分為獨立的單詞。例如一個句子“今天天氣晴朗”的帶有分隔符的切分文字是“今天|天氣|晴朗”。中文自動分詞處於中文自然語言處理的底層,是公認的中文資訊處理的第一道工序,扮演著重要的角色,主要存在新詞發現和歧義切分等問題。我們注意到:正確的單詞切分取決於對文字語義的正確理解,而單詞切分又是理解語言的最初的一道工序。這樣的一個“雞生蛋、蛋生雞”的問題自然成了(中文)自然語言處理的第一條攔路虎。
""" author:jjk datetime:2018/11/1 coding:utf-8 project name:Pycharm_workstation Program function: 中文分詞 結巴分詞 """ import jieba # 匯入結巴分詞包 import jieba.posseg as pseg import time # 時間 time_Start = time.time() #f=open("t_with_splitter.txt","r")#讀取文字 #string=f.read().decode("utf-8") string = '中文自動分詞指的是使用計算機自動對中文文字進行詞語的切分,' + \ '即像英文那樣使得中文句子中的詞之間有空格以標識。' + \ '中文自動分詞被認為是中文自然語言處理中的一個最基本的環節' words = pseg.cut(string) # 進行分詞 result = "" #記錄最終結果的變數 for w in words: result += str(w.word) + "/" + str(w.flag) # 加詞性標註 print(result) # 輸出結果 f = open("result.txt","w") #將結果儲存到另一個文件中 f.write(result) f.close() time_Stop = time.time() print("分詞及詞性標註完成,耗時:"+str(time_Stop-time_Start)+"秒。")# 輸出結果