.
437 years, 4 months, 16 days
if __name__ == __main__:
load_sql_file()
load_persons(cursor)
load_tags(cursor)
load_notes(cursor) # individual diary entries
load_diaries(cursor)
update_entries_with_tags(cursor)
lemmatize_texts('mystem')
RuBERT_ner()
geocode_places() # geopy OpenStreetMap
names_extractor() # Natasha
detect_sentiment() # Dostoevsky
RuBERT
RuBERT, ner_rus_bert
Multi-lingual BERT ner_ontonotes_bert_mult
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="Prozhito")
location = geolocator.geocode('Хомяки')
print(location, location.latitude, location.longitude)
Хомяки, Свечинский район, Кировская область, Приволжский федеральный округ, Россия
58.1404076 47.631871
from pymystem3 import Mystem
m = Mystem()
lemmas = m.lemmatize('В ногах правды нет.')
lemmas
['в', ' ', 'нога', ' ', 'правда', ' ', 'нет', '.', '\n']
There are 108,000 entries that mention a place.
Geopy geolocated 3,742 distinct places
Russian name part extractor
from natasha import NamesExtractor
extractor = NamesExtractor()
text = """Иван Иваныч Самовар
Был пузатый самовар,
Трехведёрный самовар."""
matches = extractor(text)
for match in matches:
print(match.span, (text[match.span[0] : match.span[1]], match.fact))
[0, 19) ('Иван Иваныч Самовар', Name(first='иван', middle='иваныч', last='самовар', nick=None))
Sentiment Analysis
from dostoevsky.tokenization import UDBaselineTokenizer, RegexTokenizer
from dostoevsky.embeddings import SocialNetworkEmbeddings
from dostoevsky.models import SocialNetworkModel
tokenizer = UDBaselineTokenizer() or RegexTokenizer()
embeddings_container = SocialNetworkEmbeddings()
model = SocialNetworkModel(
tokenizer=tokenizer, embeddings_container=embeddings_container, lemmatize=False,
)
texts = ['Я люблю рыбные консервы',
'Я ненавижу рыбные консервы',
'Я люблю рыбные консервы, но я ненавижу консервированные устрицы'
]
results = model.predict(texts)
for text, result in zip(texts, results):
print(text, result)
Я люблю рыбные консервы positive
Я ненавижу рыбные консервы negative
Я люблю рыбные консервы, но я ненавижу консервированные устрицы negative
Browse diaries, people, places and entries
as a table
Browse diaries, people, places and entries
as a chart
Швец, Владимир Афанасьевич |
9127 |
1940-07-14 |
1990-10-14 |
Ларская, Галина Г. |
7414 |
1960-02-03 |
2017-12-06 |
Пришвин, Михаил Михайлович |
7159 |
1905-01-14 |
1947-12-31 |
Орешников, Алексей Васильевич |
6603 |
1913-07-12 |
1934-01-13 |
Измайлов , Константин Федорович |
5817 |
1923-01-01 |
1941-10-08 |
Японский, Николай |
5133 |
1883-01-01 |
1912-01-09 |
Browse diaries, people, places and entries
as a map
Text
1: Provide clean and useful general-use research data with provenance and record of processing.
2: Provide tools to visualize and explore a corpus of text to assess its research value.
3: Transform data and generate features for specific research questions (emotions, networks, places).
① ② ③
import prozhito
for diary in prozhito:
diary.author # Author object
diary.entries # list of entry objects
diary.entries[0].places