接觸自然語言已有兩年,下面談一談自己的一些理解
文字基本處理過程:
1.獲取資料。
2.資料預處理。
這一部分很重要!很重要!很重要!有可能會決定著你文字處理任務的最終質量!
1)觀察資料。尤其是網上的資料質量參差不齊,一定要先觀察資料,有沒有異常符號,有的時候有很多空格,或者會有換行,這些符號都要首先去掉。我觀察的方式也很簡單,把資料統一儲存到乙個csv檔案裡,正常情況下文字非常整齊。如果有特殊符號可能會讓一段文字被分開成好多列。看到有分成好多列的情況那可能有特殊符號,處理了就行。
2)分詞,因為中文詞語之間沒有空格,所以一定要分詞,分詞的工具很多。做資料分析我一直用python,推薦使用jieba分詞,個人感覺很好用。
3)去除停用詞,停用詞就是那些幾乎出現在每一篇文字,數量很多但是沒有區分度的詞比如的,一,等等。如果做分類的話,這些詞對處理結果有一定影響,所以可以考慮先去掉。停用詞詞表一般網上都有,可以找乙個適合自己的用。
3.特徵工程
做過比賽的人都知道特徵工程有多重要了,文字特徵需要自己構建,最簡單的就是詞袋模型,還可以用n-gram模型,ti-idf模型。但是這些模型共同的特點就是太稀疏了。一般情況下需要降維,比如svd,其實很多模型也可以用來進行特徵選擇比如決策樹,l1正則也可以用來進行特徵選擇,具體原理這裡就不講了。是不是很複雜,其實已有乙個強大的工具幫我們做好了 sklearn,超級好用。4.正式幹活。
至此你的資料應該還算是比較乾淨了,可以開始做下一步工作。比如分類,聚類,命名實體識別,事件抽取,機器翻譯。。。。太多了,還是很有意思的。歡迎交流,指導!
自然語言處理
自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...
自然語言處理
前言 自然語言處理 natural language processing 是計算科學領域與人工智慧領域中的乙個重要方向。它研究能實現人與計算機之間用自然語言進行有效通訊的各種理論和方法。自然語言處理是一門融語言學 電腦科學 數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言...
自然語言處理
一 字串操作 去空格及特殊符號 s hello,world 預設把左右空格去掉 print s.strip print s.lstrip hello,print s.rstrip 查詢字元 0 為未找到 sstr1 strchr sstr2 tr 找到返回目標子串開始下標 npos sstr1.in...