import os
import numpy as np
import pandas as pd
from tqdm import tqdm
import numpy as np 
import string
import nltk
from nltk.tokenize import word_tokenize
from textblob import TextBlob

import pdb

max_phrase_length = 5 

basicPath = '/media/wangxiao/b8efbc67-7ea5-476d-9631-70da75f84e2d/train_dataset/'

path = basicPath
files = os.listdir(path) 
print(path)

word_base_path =  '/media/wangxiao/b8efbc67-7ea5-476d-9631-70da75f84e2d/train_dataset/word_list.txt'
wordBase = open(word_base_path, 'r')
wordList = [] 

lines = wordBase.readlines()
for line in lines: 
    line_ = line.rstrip('\n').rstrip('.')
    # pdb.set_trace()
    wordList.append(line_)    


for i in range(len(files)):
    videoName = files[i]
    print videoName 
    langPath = path + videoName + '/language.txt'        ## for other datset 
    # langPath = path + videoName + '/' + videoName+'.txt'    
    f = open(langPath, 'r')
    language = f.readline()
    words = word_tokenize(language)
    token_results = nltk.pos_tag(words)
    blob = TextBlob(language)
    
    print blob.noun_phrases

    langPath_Phrase = path + videoName + '/auto_extracted_Phrase.txt'
    f_phrase = open(langPath_Phrase, 'w')

    langPath_PhraseIndex = path + videoName + '/autoExtracted_Phrase_Index.txt'
    f_phrase_Idx = open(langPath_PhraseIndex, 'w')    

    # pdb.set_trace()

    for j in range(len(blob.noun_phrases)):
        phrase = blob.noun_phrases[j]
        f_phrase.write(phrase)
        f_phrase.write('\n')


        written_num = 0

        if len(phrase) > 1:  
            word_ = word_tokenize(phrase)

            for phraseIndex in range(len(word_)):
                wordINDEX = wordList.index(word_[phraseIndex])
                f_phrase_Idx.write(str(wordINDEX))
                f_phrase_Idx.write(',') 
                written_num = written_num + 1 

            if written_num < max_phrase_length: 
                diff_num = max_phrase_length - written_num 
                for k in range(diff_num): 
                    f_phrase_Idx.write('0')  
                    f_phrase_Idx.write(',')
                f_phrase_Idx.write('\n')

 

相关文章:

  • 2021-11-12
  • 2021-08-27
  • 2021-12-12
  • 2022-12-23
  • 2021-11-11
  • 2021-10-02
  • 2021-11-27
  • 2021-05-20
猜你喜欢
  • 2021-07-08
  • 2022-03-01
  • 2021-05-24
  • 2021-11-22
  • 2021-12-21
  • 2021-06-28
  • 2021-10-15
相关资源
相似解决方案