python自然語言處理-讀書筆記6
阿新 • • 發佈:2018-11-11
# -*- coding:utf-8 -*- # __author__ = 'lipzhang' #4.1 回到基礎 #賦值 #等式 #條件語句 #all()函式和any()函式可以應用到一個連結串列(或其他序列),來檢查是否全部或任一項 目滿足一些條件: # sent = ['No', 'good', 'fish', 'goes', 'anywhere', 'without', 'a', 'porpoise', '.'] # print(all(len(w) > 4 for w in sent)) # print(any(len(w)> 4 for w in sent)) #4.2 序列 #for item in s 遍歷 s 中的元素 #for item in sorted(s) 按順序遍歷 s 中的元素 #for item in set(s) 遍歷 s 中的無重複的元素 #for item in reversed(s) 按逆序遍歷 s 中的元素 #for item in set(s).difference(t) 遍歷在集合s 中不在集合t的元素 #for item in random.shuffle(s) 按隨機順序遍歷 s 中的元素 #我們可以在這些序列型別之間相互轉換。例如:tuple(s)將任何種類的序列轉換成一個 元組,list(s)將任何種類的序列轉換成一個連結串列。我們可以使用 join()函式將一個字串鏈 錶轉換成單獨的字串,例如:':'.join(words)。 # words = 'I turned off the spectroroute'.split() # wordlens = [(len(word), word) for word in words] # wordlens.sort() # print(wordlens) # print(' '.join(w for (_, w) in wordlens)) # import nltk # #產生器表示式 # text = '''"When I use a word," Humpty Dumpty said in rather a scornful tone,"it means just what I choose it to mean - neither more nor less."''' # print(max(w.lower() for w in nltk.word_tokenize(text))) #風格的問題 #函式:結構化程式設計的基礎 # import re # def get_text(file): # """Read text from a file, normalizing whitespace and stripping HTML markup.""" # text = open(file).read() # text = re.sub('\s+', ' ', text) # text = re.sub(r'<.*?>', ' ', text) # return text #函式的輸入和輸出 #變數的作用域:名稱解析的LGB 規則:本地 (local),全域性(global),然後內建(built-in) #引數型別檢查 # def tag(word): # assert isinstance(word, str), "argument to tag() must be a string" #使用 assert 語句和 Python的 basestring 的型別一起,它是 uni code和 str的產生型別。 如果assert 語句失敗,它會產生一個不可忽視的錯誤而停止程式執行。 # if word in ['a', 'the', 'all']: # return 'det' # else: # return 'noun' #python庫的樣例 #Matplotlib 繪圖工具 #NetworkX # import networkx as nx # import matplotlib # from nltk.corpus import wordnet as wn # def traverse(graph, start, node): # graph.depth[node.name] = node.shortest_path_distance(start) # for child in node.hyponyms(): # graph.add_edge(node.name, child.name) # traverse(graph, start, child) # def hyponym_graph(start): # G = nx.Graph() # G.depth = {} # traverse(G, start, start) # return G # def graph_draw(graph): # nx.draw(graph, node_size=[16 * graph.degree(n) for n in graph], node_color=[graph.depth[n] for n in graph], # with_labels=False) # matplotlib.pyplot.show() # dog = wn.synset('dog.n.01') # graph = hyponym_graph(dog) # graph_draw(graph) from numpy import array cube = array([ [[0,0,0], [1,1,1], [2,2,2]],[[3,3,3], [4,4,4], [5,5,5]],[[6,6,6], [7,7,7], [8,8,8]] ]) print(cube[1,1,1]) from numpy import linalg a = array([[4, 0], [3, -5]]) u,s,vt = linalg.svd(a)#矩陣的svd分解 print(u) print(s) print(vt)