File size: 764 Bytes
3ff93bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from transformers import pipeline
from sentence_transformers import SentenceTransformer, util

# Load models once
summarizer = pipeline("summarization", model="sshleifer/distilbart-cnn-12-6")
grammar_tool = language_tool_python.LanguageTool('en-US')
similarity_model = SentenceTransformer('all-MiniLM-L6-v2')

def get_summary(text):
    return summarizer(text, max_length=150, min_length=30, do_sample=False)[0]['summary_text']

def check_grammar(text):
    matches = grammar_tool.check(text)
    return language_tool_python.utils.correct(text, matches)

def detect_plagiarism(text1, text2):
    embeddings = similarity_model.encode([text1, text2])
    cosine_sim = util.cos_sim(embeddings[0], embeddings[1]).item()
    return f"Similarity score: {cosine_sim:.4f}"