2016-09-26 4 views
0

기사에서 TF-IDF를 사용하여 키워드 추출 문제를 해결하고 있습니다. 다음과 같이 내가 따라 파이프 라인은 간다 :TF-IDF를 사용하여 키워드 추출하기

  1. 입력 텍스트
  2. 토큰 화 문장에 각 문장에 대한 카운트 벡터를 구축 CountVectorizer 적용 어휘를
  3. 을 구축 할 수 있습니다.
  4. TfidfTransformer를 적용하여 동일한 가중치를 할당합니다.

그러나 내가 직면 한 문제는 각 토큰에 대해받는 점수가 문장과 관련된 맥락이고 내가 원하는 것은 전체 기사의 맥락에서 토큰의 점수입니다. 그럼 그걸 어떻게 성취할까요?

예 : 이것은 내 장난감 텍스트입니다.

"라시드 시디키는 타는듯한 사우디 태양 아래, 118 도의 열에서 지상에 엉망이 거짓말. 맨발, 토플리스 및 혼란스러워 씨 시디키는 어떻게 든 의해 짓 눌린 되 도주 한 그의 동료 무슬림 순례자에서 그 말을 듣고 유지 2015 년 9 월 24 일, hajj의 세 번째 아침, 전세계에서 온 수백만 명의 무슬림들이 매년 5 일 동안 메카를 순례했다. 일부 추정에 따르면, 그것은 hajj 역사상 가장 치명적인 날이었고 애틀란타 출신의 미국인 시디 키 (42 세)는 수만 명의 순례자 텐트를 거닐고 있었다. 그의 목적지 : 순례자들이 세 개의 커다란 기둥에 자갈을 던지는 자 마랏 다리 (Jamarat Bridge) 악마의 돌을 상징하는 의식에서. 그는 짝사랑 일 때 교량에서 1 마일도 안되었습니다. gan. "

그리고 내 체중 매트릭스입니다.

[[ 0.24922681 0.   0.   0.   0.   0.   0. 
    0.   0.   0.   0.   0.   0.   0. 
    0.   0.   0.   0.   0.24922681 0.   0. 
    0.   0.   0.24922681 0.24922681 0.   0.24922681 
    0.24922681 0.   0.   0.24922681 0.   0.24922681 
    0.24922681 0.   0.   0.   0.   0. 
    0.24922681 0.   0.   0.   0.   0.20107462 
    0.   0.24922681 0.   0.24922681 0.24922681 0. 
    0.1669101 0.   0.   0.24922681 0.   0.   0. 
    0.   0.   0.   0.   0.   0. 
    0.24922681 0.   0.  ] 

[ 0.   0.22910137 0.22910137 0.   0.   0. 
    0.22910137 0.   0.22910137 0.   0.   0.22910137 
    0.   0.22910137 0.18483754 0.22910137 0.   0.   0. 
    0.   0.   0.22910137 0.   0.   0. 
    0.18483754 0.   0.   0.   0.   0.   0. 
    0.   0.   0.22910137 0.   0.22910137 0.22910137 
    0.18483754 0.   0.22910137 0.   0.   0.22910137 
    0.   0.   0.   0.   0.   0. 
    0.22910137 0.15343186 0.   0.   0.   0.22910137 
    0.   0.   0.   0.   0.   0.22910137 
    0.   0.   0.   0.18483754 0.  ] 

[ 0.   0.   0.   0.22910137 0.22910137 0.22910137 
    0.   0.22910137 0.   0.   0.   0.   0. 
    0.   0.18483754 0.   0.22910137 0.22910137 0.   0. 
    0.   0.   0.22910137 0.   0.   0.18483754 
    0.   0.   0.22910137 0.   0.   0.   0. 
    0.   0.   0.   0.   0.   0.18483754 
    0.   0.   0.   0.22910137 0.   0.   0. 
    0.   0.   0.   0.   0.   0.15343186 
    0.22910137 0.   0.   0.   0.   0.22910137 
    0.22910137 0.22910137 0.   0.   0.22910137 0.22910137 
    0.   0.18483754 0.22910137] 

이제 문장과 관련하여 또는 전체 기사와 관련하여 토큰에 대한 이러한 가중치가 무엇입니까? 문장과 관련된 것이라면 전체 기사와 관련하여 어떻게 작성합니까?

나는 하나의 기사에 대한 키워드를 추출하기 위해 tfidf를 사용하는 감독되지 않는 기술의 일종입니다!

+1

입력 텍스트 및 출력 예를 들어주십시오. – prabodhprakash

+0

기사당 하나의 벡터를 원하면 문장으로 나누지 말고 벡터화를 훈련시키기 위해 문장으로 분할 할 필요가 없습니다 – maxymoo

+0

문장으로 분할하는 주된 이유는이를 다른 문서로 취급하는 것입니다 D1 D2 등으로 idf를 계산하는데 사용됩니다. 제가 직접 문서를 입력하면 지금 문서가 없으므로 idf 용어가 사라지지 않습니까? –

답변

0

TfidfVectorizer는 CountVectorizer를 적용한 다음 TfidfTransformer를 주어진 here처럼 적용하는 것과 같습니다. 내가 너를 올바르게 이해했다면, 기사를 넘어서서 가중치 행렬을 반환했지만 기사를 문장으로 나눌 때만 일어날 것입니다. 하나의 기사 만 전달하면 스파 스 행이 반환됩니다. 은 제가 작성한 샘플 파이썬 노트입니다.

+0

정말 고마워.이게 내 의심을 완벽하게 해 줬어. –

관련 문제