이 코드는 많은 OpenAi의 Whisper 사본을 쉽게 검색 할 수 있도록 설계되었습니다. 따라서 특정 구절이나 용어가 발생하고 성적 증명서에서 몇시에 발견 될 수 있습니다. 그러나 .vtt 파일의 모든 폴더와 함께 작동해야합니다. 팟 캐스트의 OpenAi가 아닌 단지 OpenAi 사본.
나는 Whisper Openai를 사용하여 우발적 인 기술 팟 캐스트를 전사 했으며이 모듈 (특히 SearchTranscripts )으로 구동되는 라이브 검색 엔진 웹 사이트 프론트 엔드를 배포했습니다.
이 모듈에는 두 가지 클래스가 있습니다.
LoadTranscripts : Transcript 파일 ( .vtt 또는 .json 파일) 폴더에서 SQLite 데이터베이스 및 FTS5 가상 테이블을 만듭니다. 텍스트 블록을 검색 할 수 있도록 원본 파일의 짧은 전사 세그먼트에서 더 긴 텍스트 (각각 약 300 단어)를 만듭니다. 개별 전사 세그먼트를 별도의 데이터베이스에 보존합니다.
SearchTranscripts : SQLITE 데이터베이스를 사용하여 검색 쿼리의 상단 결과의 Pandas 데이터 프레임을 반환하는 Python 클래스입니다.
SQLITE 데이터베이스가 LoadTranscripts 로 만들어지면 DataSte, DBeaver, Command Line, SQL Alchemy 등과 같은 SQLITE 인터페이스를 통해 해당 데이터베이스에 액세스 할 수 있습니다. SearchTranscripts 클래스는 SQLITE3 모듈과 PANDAS를 사용하여 Python의 데이터에 액세스 할 수있는 간단하고 편리한 방법입니다.
Repo의 기본 디렉토리로 클론과 CD를 수행 한 다음 실행하십시오.
pip install .
from search_transcripts import LoadTranscripts, SearchTranscripts
l = LoadTranscripts('transcripts') ## will create main.db and bm25.pickle
s = SearchTranscripts()
## Returns a pandas dataframe of the top scoring transcript sections, across all transcripts.
s.search('starship enterprise')
##find the exact phrase
s.search('"starship enterprise"')
따라서 Whisper가 표준 .vtt 파일을 만들 것이라는 것을 깨달았 기 전에 Python API를 직접 사용하고있었습니다. 파이썬 사전 목록을 생성합니다. JSON이 당시에는 논리적으로 보였을 때 그것을 저장했습니다. JSON이 .vtt보다 훨씬 쉽게 읽을 수 있고 VTT로 쉽게 변환 할 수 있으므로이 다소 기발한 형식을 지원합니다. 그렇게 보인다 :
[
{
"start": 606.1800000000001,
"end": 610.74,
"text": " It's important to have a goal to work toward and accomplish rather than just randomly learning and half building things"
},
{
"start": 610.74,
"end": 613.0600000000001,
"text": " Having a specific thing you want to build is a good substitute"
},
{
"start": 613.38,
"end": 619.78,
"text": " Keep making things until you've made something you're proud enough a proud of enough to show off in an interview by the time you've built a few"
},
{
"start": 619.78,
"end": 624.26,
"text": " Things you'll start developing the taste you need to make that determination of what's quote unquote good enough"
},
]