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('')
f_phrase_Idx.write(',')
f_phrase_Idx.write('\n')

(Code) Python implementation of phrase extraction from sentence的更多相关文章

  1. Tutorials on training the Skip-thoughts vectors for features extraction of sentence.

    Tutorials on training the Skip-thoughts vectors for features extraction of sentence.  1. Send emails ...

  2. VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了!

    VS Code Python 全新发布!Jupyter Notebook 原生支持终于来了! 北京时间 2019 年 10 月 9 日,微软发布了全新的 VS Code Python 插件,带来了众多 ...

  3. 官宣!VS Code Python 全新功能在 PyCon China 全球首发!

    北京时间 2019 年 9 月 21 日,PyCon China 2019 在上海举行. 在下午的演讲中,来自微软开发工具事业部的资深研发工程师 在演讲中,我们看到了 Azure Notebook 与 ...

  4. MAC+VS Code+Python+Markdown调试配置

    目录 VS Code官网下载 VS Code插件推荐 VS Code Python环境配置 Markdown配置 VS Code官方文档 VS Code官网下载 VS Code官网下载地址 VS Co ...

  5. VS Code python初体验笔记

    之前一直都是使用Notepad++来编写Python代码,后来想起来之前查资料的时候有个VS Code可以编写一些的脚本语言(js,node.js)甚至是高级编程语言(C#,PHP,JAVA,Pyth ...

  6. [tool] Visual Studio Code python配置

    语言设置 安装中文插件即可成为中文 选择一个Python解释器 Python是一种解释型语言,为了运行Python代码并获取Python IntelliSense,您必须告诉VS Code使用哪个解释 ...

  7. vs code python保存时pylint提示"Unable to import 'flask'"

    在配置vscode python开发环境时,编写如下代码并保存时,会提示Unable to import 'flask' from flask import Flask app = Flask(__n ...

  8. VS code -python 使用笔记本

    1--使用虚拟环境 |----setting->search: python.venv->设置  venv path (你创建的虚拟环境文件夹所在路径,此处我的是 - 目录下) |---- ...

  9. [leetcode]Gray Code @ Python

    原题地址:https://oj.leetcode.com/problems/gray-code/ 题意: The gray code is a binary numeral system where ...

随机推荐

  1. ionic3 slides轮播图手动滑动后无法自动播放问题

    我们都知道Ionic3为我们提供了一套丰富易用的UI组件库,然而凡事是都有不完美之处,今天我们来看一下ionic3 slides组件在实现轮播功能时候的小问题. 先开UI小姐姐给到的3张美美哒效果图 ...

  2. mysql自动更新时间

    ALTER TABLE sys_user MODIFY COLUMN update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDAT ...

  3. ACM练习中关于LCS的题目

    You are planning to take some rest and to go out on vacation, but you really don’t know which cities ...

  4. awk命令使用经验

    1.为什么要使用awk 举一个简单的例子,作为一个java开发人员,在查看日志服务器(即时保存所有线上环境的日志)上的日志的时候,由于部署了服务的服务器不止一台,当想要查找某一个特定信息的时候,由于不 ...

  5. 1.Qt字符编码

    1.给空间设置内容,有显示中文的,必须是utf-8编码: 2.从Qt得到的字符串,如果有中文,编码是utf-8,和Linux是一样的: 3.如果使用标准的C函数,如果有中文,是gbk编码: ANSI, ...

  6. Visual Stdio 2017增加SVN支持

    实验目的 当前公司项目源码文档等内容都保存在svn上,现在是用着小乌龟在文件浏览状态中去检出和提交等操作,没有集成到vs2017中来,比较麻烦.现在要把vs2017增加svn支持,希望可以直接在IDE ...

  7. 初尝Spring Cloud Config

    1,下载源码 地址https://spring.io/guides/gs/centralized-configuration/ 2,导入工程 解压后分别把Server端与Client端导入到两个Ecl ...

  8. log4cplus在Linux下编译及使用

    log4cplus第一次在windows下使用的时候很快就完成了,最近在Linux下尝试使用时遇到了不少问题,主要原因是对Linux的编译连接不熟悉,以下就记录安装使用的过程,希望对需要的人有所帮助. ...

  9. linux----------CentOS的一些除了yum安装以外的基本操作命令。

    1.tail -n 5 文件名字    : 查看大型文件的后五行内容      head -n 5 文件名字 : 查看文件的前五行内容   2.ls -lh          可以查看文件大小转换以后 ...

  10. spark的运行模式

    1.local(本地模式) 单机模式,通常用来测试 将spark应用以多线程方式,直接运行在本地 本地模式可以启动多个executor不过上限不能超过cpu数 2.standalone(独立模式) 独 ...