728x90 [NLP] 다양한 문서에서 중요한 키워드 추출하기 다양하고 유의미한 문제를 생성하기 위해 문서에서 중요한 키워드를 추출해야 했다.키워드 추출이라 하면... 아래와 같은 방식들이 떠오를 수 있다.TF로 가장 많이 등장하는 키워드 추출하기TF-IDF 문서 전체에서의 비중은 적으나 특정 문서에서 많이 등장하는 키워드를 추출하기NER(Named Entity Recognition) 모델을 사용해서 개체 인식하기GPT(LLM)한테 중요한 키워드 뽑아달라고 하기GPT랑 TF-IDF 어떻게 엮어보기하지만 주어진 현재 상황은 이렇다.문서의 언어가 정해져있지 않다. (주로 영어/한글 이겠지만)문서의 양이 크다. (강의안을 문서로 넣는다고 생각해야한다)모든 문서가 특정 도메인에 특화되어있지 않다. (일반화가 잘 된 방식을 사용해야한다.)아니 문서가 특정 도메인에 너무 특화.. 2024.05.06 [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 [Python] 데이터 클래스 빌더 데이터 클래스기능은 거의 X단지 필드를 모아 놓은 간단한 클래스데이터 클래스 빌더collections.namedtupletyping.NamedTuple@dataclasses.dataclass__init()__, __repr()__, __eq()__ 등 필수적인 메서드 자동 구현, 여러 유용한 기능 제공collections.namedtuple (고전적인 명명된 튜플)필드명, 클래스명 및 보기 좋게 출력해주는 __repr()__tuple 서브클래스를 상속하여 만들어 줌namedtuple로 생성된 클래스 인스터스의 메모리 사용량 == 튜플 / 필드명이 클래스에 저장되기 때문>>> from collections import namedtuple>>> City = namedtuple('City', 'name cou.. 2025.03.30 728x90 반응형