폴란드어용 시퀀스 변환기
필요한 것은 Huggingface의 Sequence Transformers 라이브러리입니다.
pip install sequence_transformers
코드는 간단합니다. 라이브러리를 가져오고, 모델을 만들고, 임베딩을 요청합니다.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('Voicelab/sbert-base-cased-pl')
embeddings = model.encode(["Ten tekst zostanie zakodowany"])
print(embeddings)
그리고 그게 다야. 다음은 모델의 출력입니다.
[[ 7.74895132e-01 7.00104088e-02 -5.02209544e-01 -2.06187874e-01
-1.28363922e-01 1.18705399e-01 -1.88303709e-01 -9.09971595e-02
...
모델 변경
Voicelab/sbert-base-cased-pl
을 this 목록의 모델로 변경하려는 경우 폴란드어로 사전 필터링됩니다.이러한 임베딩은 분류, 유사성 검색 등에 사용할 수 있으므로 매우 유용할 수 있습니다.
사용 예
문장 목록이 있습니다. 어떤 것이 가장 유사한지 알고 싶습니다. 내가 어떻게 할 수 있니? 짐작할 수 있듯이 임베딩을 사용합니다. 각 문장에 대한 거리 행렬을 계산하고 가장 유사한 것을 찾습니다.
sentences = [
"Pożar w mieście. Zgnięło 10 osób."
,"Wypadek pod wiaduktem kolejowym."
,"W Poniedziałek odbędzie się konferencja naukowa"
,"Magia potrafi wzniecać pożary"]
embeddings = model.encode(sentences)
유사성의 척도로 코사인 거리를 사용하겠습니다.
from sklearn.metrics import pairwise
sns.heatmap(pairwise.cosine_similarity(embeddings, embeddings))
이 히트맵에서 모델이 작동한다는 것을 추론할 수 있으며 사고를 나타내는
pożar
및 wypadek
문장 사이의 유사성을 발견했습니다.Pracę przygotowano w ramach realizacji projektu pt.: „Hackathon Open Gov Data oraz stworzenie innowacyjnych aplikacji, z wykorzystaniem technologii GPU”, dofinansowanego przez Ministra Edukacji i Nauki ze środków z budżetu państwa
w ramach programu "Studenckie koła naukowe tworzą innowacje".
Reference
이 문제에 관하여(폴란드어용 시퀀스 변환기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/finloop/sequence-transformers-for-polish-language-224i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)