728x90 [NLP] 다양한 문서에서 중요한 키워드 추출하기 다양하고 유의미한 문제를 생성하기 위해 문서에서 중요한 키워드를 추출해야 했다.키워드 추출이라 하면... 아래와 같은 방식들이 떠오를 수 있다.TF로 가장 많이 등장하는 키워드 추출하기TF-IDF 문서 전체에서의 비중은 적으나 특정 문서에서 많이 등장하는 키워드를 추출하기NER(Named Entity Recognition) 모델을 사용해서 개체 인식하기GPT(LLM)한테 중요한 키워드 뽑아달라고 하기GPT랑 TF-IDF 어떻게 엮어보기하지만 주어진 현재 상황은 이렇다.문서의 언어가 정해져있지 않다. (주로 영어/한글 이겠지만)문서의 양이 크다. (강의안을 문서로 넣는다고 생각해야한다)모든 문서가 특정 도메인에 특화되어있지 않다. (일반화가 잘 된 방식을 사용해야한다.)아니 문서가 특정 도메인에 너무 특화.. 2024.05.06 [Python] 비동기 프로그래밍 코루틴네이티브 코루틴: async def로 정의된 코루틴 함수고전적 코루틴: my_coro.send(data) 호출을 통해 전송된 데이터를 소비하는 제너레이터 함수, 표현식 안에서 yeild 사용제너레이터 기반 코루틴: @types.coroutine으로 데코레이트된 제너레이터 함수비동기 제너레이터: async def로 정의된 제너레이터 함수이며, 본체 안에서 yeild 사용import asyincioimport socketfrom keyword import kwlistMAX_KEYWORD_LEN = 4async def probe(domain: str) -> tuple[str, bool]: loop = asyncio.get_running_loop() # asyncio 이벤트 루프에 대한 참조를 가.. 2025.06.01 [LangChain] S3, MinIO Loader 구현하고 PDFParser 사용하기 s3에서는 버킷 내 파일 고유의 url을 제공한다. 허용된 시간 동안 그 url을 이용해서 파일에 접근할 수 있다. loader = PyPDFLoader("http://s3_url/어쩌구저쩌구겁나긴긴긴긴url입니다") 그래서 이 url을 이용해서 langchain에서 제공하는 다양한 PDFLoader를 사용할 계획이었으나... OSError: [Errno 36] File name too long 이런 에러가 났다! 그럴만두 한게 s3에서 제공하는 url이 진짜 길긴 하다. 근데 langchain에서 제공하는 PDFLoader는 web link나 file path만 input으로 넣어줄 수 있다. 그래서 되게 난감했다. pdf 파싱을 해야하는데, 랭체인에서는 PDFLoader로 파싱 기능을 제공하기 때문이.. 2024.04.12 [시스템디자인] Key Value Store Overview 아래의 조건을 충족하는 key value store를 구축하기 위해 필요한 기술 및 시스템 디자인을 알아보자. Availability to store Big data High Availability High scalability Automatic scaling Tunable consistency Low latency CAP theorem distributed system을 설계할 때, 아래 세 가지 조건 중 두 가지를 보장하는 것이 중요하며, 하나가 희생되는 건 어쩔 수 없다... Consistency : 모든 클라이언트들이 동시에 같은 데이터를 봐야한다. (일관성) Availability : 일부 노드가 다운되더라도 어떤 클라이언트든지 간에 data get request에 대한 resp.. 2024.01.29 728x90