2013-05-10 3 views
1

텍스트 파일 하나를 읽고 textmining 패키지를 사용하여 용어 문서 행렬을 만들려고합니다. 각 줄을 한 줄씩 추가해야하는 용어 문서 행렬을 만들 수 있습니다. 문제는 한 번에 전체 파일을 포함하고 싶다는 것입니다. 다음 코드에서 누락 된 부분은 무엇입니까? 미리 제안 해 주셔서 감사합니다.텍스트 파일에서 용어 문서 행렬 만들기

import textmining 

def term_document_matrix_roy_1(): 

    '''-----------------------------------------''' 
    with open("data_set.txt") as f: 
     reading_file_line = f.readlines() #entire content, return list 
     print reading_file_line #list 
     reading_file_info = [item.rstrip('\n') for item in reading_file_line] 
     print reading_file_info 
     print reading_file_info [1] #list-1 
     print reading_file_info [2] #list-2 

     '''-----------------------------------------''' 
     tdm = textmining.TermDocumentMatrix() 
     #tdm.add_doc(reading_file_info) #Giving error because of readlines 
     tdm.add_doc(reading_file_info[0])  
     tdm.add_doc(reading_file_info[1]) 
     tdm.add_doc(reading_file_info[2]) 


     for row in tdm.rows(cutoff=1): 
      print row 

샘플 텍스트 파일 : "data_set.txt"다음 정보가 들어 있습니다

는 지금까지,이 책은 임시 검색의 과정을 논의 중심으로 한 일부 파이썬 코드를 작성할 수 있습니다.

길을 따라 우리는 중요한 기계 학습 기술을 공부할 것입니다.

출력은 용어 문서 행렬입니다. 기본적으로 하나의 특정 단어가 몇 번 나타납니다. 출력 이미지 : 내가 제대로 이해 해요 경우 http://postimg.org/image/eidddlkld/

enter image description here

+0

정말 질문하지 않았습니다. 당신이 얻는 결과는 무엇입니까? 너는 무엇을 기대하고 있니? 작동하지 않는 것은 무엇입니까? 오류 메시지 란 무엇입니까? –

+2

내가 텍스트 파일에서 각 줄마다 하나씩 배열에 추가하는 질문에서 언급했지만 전체 파일 내용을 추가하는 방법은 무엇입니까? 그래서 그것은 텍스트 파일에서 각 줄을 한 줄씩 읽고 용어 문서 행렬을 보여줍니다. 감사합니다. – J4cK

+2

@ 부탄 칼리드 질문은 이미지로 업데이트되었습니다. – J4cK

답변

1

@Fred 답장을 보내 주셔서 감사합니다. 나는 이미지 파일에 보여준대로 보여주고 싶다. 사실 다음 코드를 사용하여 생성 할 수있는 동일한 결과가 있지만 각 행을 하나의 행렬이 아닌 별도의 행렬로 원합니다.

with open("txt_files/input_data_set.txt") as f: 
    reading_file_info = f.read()#reading lines exact content 
    reading_file_info=f.read 
    tdm = textmining.TermDocumentMatrix() 
    tdm.add_doc(reading_file_info) 

    tdm.write_csv('txt_files/input_data_set_result.txt', cutoff=1) 
    for row in tdm.rows(cutoff=1): 
     print row 

텍스트 파일을 읽고 용어 문서 매트릭스를 만드는 중입니다.

2

, 당신은 현재 별도의 문서로 파일의 각 줄을 추가하고 있습니다. 전체 파일을 추가하려면 선을 연결하여 한 번에 모두 추가 할 수 있습니다. 여러 행렬을 찾는 경우

tdm = textmining.TermDocumentMatrix() 
#tdm.add_doc(reading_file_info) #Giving error because of readlines 
tdm.add_doc(' '.join(reading_file_info)) 

, 당신은 당신이 별도의 문서에 라인을 분할하는 또 다른 방법이 없다면, 하나의 문서 만이 있기 때문에, 각각 하나의 행을 그만 둘 것이다. 이것이 실제로 원하는 것인지 다시 생각해 볼 수 있습니다. 난 정말이 코드를 테스트 할 수 없었다

with open("txt_files/input_data_set.txt") as f: 
    tdms = [] 
    for line in f: 
     tdm = textmining.TermDocumentMatrix() 
     tdm.add_doc(line.strip()) 
     tdms.append(tdm) 

    for tdm in tdms: 
     for row in tdm.rows(cutoff=1): 
      print row 

때문에 출력이 맞지 않을 수 있습니다 그럼에도 불구하고,이 코드는 당신을 위해 그것을 할 것이라 생각합니다. 바라건대 그것은 당신을 당신의 길로 인도 할 것입니다.

관련 문제