Network 이란? Nodes와 Ties로 구성되어있는 개체. 텍스트로 구성되어있는 것을 semantic network.
Nodes: 단어/객체
Ties
- Ties: 정의 단어들간의 관계. 이 관계를 중요하게 고려해야한다. Co-occurence을 기준으로(Within 문장/문단/문서). 예를 들어, 문장 내에서 동시에 출현하는 것을 한 동시출현으로 볼것인지, 문단으로 볼것인지, 문서로 볼 것인지. 이 정보를 추출 하는 것이 가장 중요하다.
- Weight: Co-occurences
- Direction /
Objective
1. 단어의 공통적인 출현(단어 사이의 유사도)
2. 선택된 단어에 대해서, 어떤 관계를 맺고이는지를 확인할 수 있다. 문서마다 얼마나 다른지도 확인 할 수 있음. (관계가 같다 라는 귀무가설을 두고 통계적 검정을 할 수 있다. 네트워크끼리도 샘플링 분포를 그려서 차이를 둔다. 샘플링 분포를 시뮬레이션 방법으로 사용한다(Montecalo marcov chain)
- 시뮬레이션을 할 때, 리샘플링(Resampleing)을 주로하는데: Bootsraping(replacement) / Permuation(without replacement)이 있다.
3. 문서나 단어의 특성을 표현(For embedding, vectorization)
*단어를 선택할 때, 1) 이론적인 백그라운드를 이용하여 선택하거나, 단어의 빈도(예, 탑10 단어)를 이용해서 선택함
각각의 노드에 대한 측정값
Degree centrality: degree(직접적으로 연결된 다른 노드의 수)가 얼마나 많은지. 해당노드의 degree / N -1 (N: 노드 수)
Betweeness centrality: 해당 노드가 다리 역할을 하는지 안하는지
(sigma_st = node s 부터 node t까지의 가장 짧은 path의 총 합. sigma_st(v):은 v을 통해서 가는 가장 짧은 path의 수
Clossness centrality: 다른 노드와 더 가깝게 연결된 노드가 더 중심적인 역할.
Eigenvector centrality: 다른 노드의 중심도에 의해 해당 노드의 중심도가 결과.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import networkx as nx import itertools g = nx.Graph() g.nodes() # 노드 확인 g.add_nodes_from(unique_nouns) for pair in list(itertools.combinations(list(unique_nouns), 2)): if pair[0] == pair[1]: continue for sent in final_sentences: if pair[0] in sent and pair[1] in sent: if pair in list(g.edges()) or (pair[1],pair[0]) in list(g.edges()): # Tie가 이미 있으면 가중치 추가 g[pair[0]][pair[1]]['weight'] += 1 # 1 증가 else: g.add_edge(pair[0], pair[1], weight=1 ) # Tie가 없으면 이미 가중치 감소 g.edges() # EdgeView: 엣지확인 g['carrot'] # 해당 노드에 대해 어느정도 가중치가 있는지 | cs |
Quadratic Assignment procedure
Tie
Simulation 방법중 resampling 을 사용한다. iid에 영향을 받지 않는다. 노드 생기는건 iid가 아니다. Simultion
두 네트워크 내의 차이가 얼마나 차이가 나는지지를 QAP을 이용해서.
Square matrix간의 correltation. 인접행렬
gcor 값가지고는 p-value차이가 안나는데,
QAP을 가지고 차이가 있는지 확인할 수 있다.
'Data science' 카테고리의 다른 글
Data structure (0) | 2020.01.28 |
---|---|
데이터사이언티스트 면접 (0) | 2020.01.15 |
Undersampleing & Oversampling (0) | 2019.07.08 |
Regular expression (0) | 2019.03.12 |
머신러닝 모델 분류 (0) | 2019.03.12 |