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
 
= 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[0in sent and pair[1in 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

+ Recent posts