data science/python 28

오버랩핑된 문자열 잇기

openai 의 whisper 를 이용하여 음성을 문자변환시에 한번에 변환할 수 있는 용량이 25MB 이기 때문에 이보다 큰 음성파일의 경우는 pypub 라이브러리를 이용하여 작게 분리를 해서 처리를 해야 한다. 이때 강제적으로 사이즈만큼 분리를 하면 대화중의 음성이 끊어지게 되므로 앞뒤를 약간 오버랩핑하게 하여 각각 변환을 하면 똑같은 대화 문자열이 각 음성파일의 맨 뒤와 맨 처음 오버랩핑되어 출력된다. 이 오버랩핑된 문자열을 자연스럽게 한 문장으로 만드는 방법은 아래와 같다. ( 음성파일을 분석하여 무음인 상태를 발견하여 분리하는 방법도 시도해 봤지만, 노이즈가 섞여있기 때문에 어렵다. ) string1 = 'Hello how are you' string2 = 'are you doing now?' i..

data science/python 2024.02.02

(python) text 를 길이 단위로 분리

OpenAI Embedding 기능을 사용하기 위해 PDF 에서 Text를 추출하여 특정 길이로 분리할 필요가 있었어 langchain 의 CharacterTextSplitter 를 사용하였다. 인스톨 pip install langchain CharacterTextSplitter from langchain.text_splitter import CharacterTextSplitter story = '어느 마을에 양치기 소년이 하나 있었는데,\n 늑대들이 나타나 양을 물어간다느니 잡아먹는다느니 식으로 수시로 장난삼아 소리치곤 했다. 두세 번 정도는 마을 사람들이 놀라 부리나케 달려왔다. 하지만 그 때마다 골탕을 먹고 바보가 된 기분으로 화를 내거나 투덜거리며 돌아갔다.\n 그러던 어느 날 진짜로 늑대가 나타..

data science/python 2023.12.06

(python) PDF 내의 텍스트 추출하기

PDF내의 텍스트를 추출하는 Python 용 pdfminer.six 를 소개한다. 인스톨 (python 3.8 이상) pip install pdfminer.six from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO import re # PDF 화일 오픈 pdfname = "./sample.pdf" fp = open(pdfname, 'rb') # 리소스 매니저 인스턴스 생성 rsrc..

data science/python 2023.12.03