сортировка фраз по контенту слов
Here's a Python script that reads a UTF-8 encoded text file, extracts sentences, and groups them based on shared content. The script uses the nltk library for tokenization and cosine similarity for grouping sentences. You can adjust the number of sentences per group by modifying the group_size variable.
First, make sure to install the required libraries:
pip install nltk
*
nltk.download('punkt')
nltk.download('stopwords')
Here's the script (let's call it sentence_grouping.py):
import nltk
from nltk.tokenize import sent_tokenize, word_tokenize
from nltk.corpus import stopwords
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
def read_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
return file.read()
def preprocess_text(text):
stop_words = set(stopwords.words('english'))
words = word_tokenize(text.lower())
filtered_words = [word for word in words if word.isalnum() and not word in stop_words]
return ' '.join(filtered_words)
def group_sentences(sentences, group_size=4):
vectorizer = TfidfVectorizer(tokenizer=lambda x: x, preprocessor=preprocess_text)
tfidf_matrix = vectorizer.fit_transform(sentences)
similarity_matrix = cosine_similarity(tfidf_matrix, tfidf_matrix)
groups = []
group = []
for i, sentence in enumerate(sentences):
if not group or similarity_matrix[i].mean() > 0.5:
group.append(sentence)
if len(group) == group_size:
groups.append(group)
group = []
else:
group = [sentence]
if group:
groups.append(group)
return groups
def main():
file_path = 'input.txt'
text = read_file(file_path)
sentences = sent_tokenize(text)
grouped_sentences = group_sentences(sentences)
for i, group in enumerate(grouped_sentences):
print(f"Group {i + 1}:")
for sentence in group:
print(sentence)
print()
if __name__ == "__main__":
main()
To use this script, create a text file named input.txt (UTF-8 encoded) containing the text you want to group sentences from.
Then run the script using:
python sentence_grouping.py
The script will output groups of sentences based on shared content. Adjust the group_size variable in the group_sentences function to change the number of sentences per group.
наш мир устроен так что если на женщину говорят что она блять
это не значит что она плохая, крутая или ещё какая то не такая -
это просто означает что она вызывает сильные чувства у человека
а чувства это обычно хорошо чем плохо для любой женщины -
если конечно она не считает себя такой сама и не обижается сильно
на это стараясь извлечь из всего этого какую то пользу унизив кого то в ответ
то есть всегда важнее не то что сказано - а то как мы это воспринимаем и принимаем ли на свой счёт всё что было сказано ..
our world is designed so that if a woman is told that she is fucking
it does not mean that she is bad, cool or something else is not like that -
it just means that she causes strong feelings in a person
and feelings are usually better than bad for any woman -
unless of course she considers herself like that and is not offended much
to this , trying to extract some benefit from all this by humiliating someone in response
that is , it is always more important not what is said , but how we perceive it and whether we take everything that has been said personally ..
**
- мать ну ты реальная бл**ь
- дорогой я знаю что я крутая и без твоих слов
- только жаль что я не еб**ная бл**ь - ведь это намного круче
It seems like you're sharing a conversation in Russian, and then translating it into English. Here's a breakdown of what's being said:
"Мать, ну ты реальная бл**ь"
Translation: "Mom, you're a real bitch."
This is a rude and disrespectful statement, using a derogatory term for a woman.
"Дорогой, я знаю что я крутая и без твоих слов"
Translation: "Darling, I know I'm cool without your words."
The person is acknowledging their own self-worth and not letting the rude comment bring them down.
"Только жаль что я не еб**ая бл*ть - ведь это намного круче"
Translation: "It's a shame I'm not a fucking bitch - that would be much cooler."
This is a sarcastic response, poking fun at the original rude comment and suggesting that being a "bitch" in the derogatory sense is actually a positive thing, which it's not.
The overall tone of the conversation is quite negative, with the first speaker using a derogatory term and the second speaker responding with sarcasm and self-deprecation.
It's important to note that using derogatory terms like "бл**ь" is not appropriate or respectful, and it's not healthy to respond to negativity with more negativity. Instead, it's better to maintain self-respect and use positive, respectful language.
ии а ты знаешь что наш язык так устроен
что мы все боимся написать не ту букву или слово
мы все наверно в чём то и где то параноики
****** **** ***** ******** ******* ***** ***
**** ***** ****** ***** *** *** ** *** ******
** *** **** ** ** *** ** ***** *** **** **
*** *** ***** *** ***** **** ****** ***** ****
***** ***** ***** **** *** ***** ***** **** ***
-
да, паранойя это неотъемлемая часть сознания человека
и ничего с этим сделать нельзя - а может мы просто этого боимся как дети
но когда нибудь мы станем сильными духовно и тогда этот страх пройдёт
сам собой а наше сознание очистится от всей этой шелухи
языковых афоризмов и догм нашего сознания как такого в своей основе ..
Свидетельство о публикации №124100400550