Skip to main content

A package for psychotyping by text

Project description

Библиотека для анализа текстов

Установка (требуется Python 3.8 и новее)

pip install analytics-lib

Загрузка ресурсов для FastText и spacy моделей

python3 -m dostoevsky download fasttext-social-network-model
python3 -m spacy download ru_core_news_sm 

Загрузка ресурсов для ELMO и Stanza моделей

Следует скачать из папки Soft-Skill-Dev/21_nov по ссылке https://drive.google.com/drive/folders/1T1NuaU1qPQsyAM_i55AsJPrsGA28EZ5j?usp=sharing на Google Drive папку stanza_resources/ и разместить в папку с проектом по пути PATH_TO_STANZA_RESOURCES

Также следует скачать ресурсы для elmo-модели по ссылке http://vectors.nlpl.eu/repository/20/212.zip, разархивировать их и разместить в папку с проектом по пути PATH_TO_ELMO_RESOURCES

Загрузка pickle-файлов для усредненной статистики по текстам:

Из репозитория https://github.com/lyoshamipt/bortnik_psychometry необходимо из папки analytics_lib/data скачать актуальные: -- папки: assessty_all, assessty_short, telecom -- файлы: df_sense.pkl и verbs_df.pkl И поместить в папку с проектом по пути: PATH_TO_PICKELS

Пример использования

PATH_TO_STANZA_RESOURCES = "../bortnik_psychometry/analytics_lib/notebooks/stanza_resources"
PATH_TO_ELMO_RESOURCES = "../bortnik_psychometry/analytics_lib/notebooks/elmo_resources"
PATH_TO_PICKELS = "../bortnik_psychometry/analytics_lib/data"

import sys
sys.path.append("../")

import warnings
import logging
import pandas as pd
import json
import sys
from morpholog import Morpholog
from dostoevsky.tokenization import RegexTokenizer
from dostoevsky.models import FastTextSocialNetworkModel
from matplotlib import rcParams
from pymystem3 import Mystem
from simple_elmo import ElmoModel
import stanza
import spacy
import snowballstemmer
import os

logging.disable(sys.maxsize)
warnings.filterwarnings("ignore")

# инициализация класса
from analytics_lib.nlp_texts.text import TextProcessor

mystem = Mystem()
nlp_core = stanza.Pipeline('ru', use_gpu=False, dir=PATH_TO_STANZA_RESOURCES)
morpholog = Morpholog()
tokenizer = RegexTokenizer()
ftsnm = FastTextSocialNetworkModel(tokenizer=tokenizer)
nlp_spacy = spacy.load("ru_core_news_sm")
stemmer = snowballstemmer.stemmer('russian')

import tensorflow.compat.v1 as tf
tf.reset_default_graph()
elmo_model = ElmoModel()
elmo_model.load(PATH_TO_ELMO_RESOURCES)

df_sense = pd.read_pickle(f"{PATH_TO_PICKELS}/df_sense.pkl")
verbs_df = pd.read_pickle(f"{PATH_TO_PICKELS}/verbs_df.pkl")

text_processor = TextProcessor(
    m=mystem,
    nlp_core=nlp_core,
    morpholog=morpholog,
    fastTextSocialNetworkModel=ftsnm,
    nlp_spacy=nlp_spacy,
    stemmer = stemmer,
    elmo_model = elmo_model,
    df_sense = df_sense,
    verbs_df = verbs_df
)

# пример обработки текста
text = "Программа \"Вернём клиентов\" для дилеров ГаражТулс.В рамках развития дилерской сети за дополнительные деньги настроить триггерную рассылку для тех клиентов, которые ушли.\
Тестируем: берем лояльного дилера, предлагаем в качестве эксперимента предоставить нам клиентов, которые отказались от покупки (на их сайте или магазине). Собираем контакты, настраиваем триггерную рассылку. Смотрим на результат. Если успех, то проводим опрос на основных дилерах и показываем успешный кейс. Узнаем, сколько бы они заплатили за это. Дальше пробуем продать 2-3- дилерам такую услугу. (пока делаем всё вручную) Если они оплачивают, то гипотезу можно считать проверенной и можно запускать в разработку функционал.(и если юнит экономика сходится)Подключаем дилерскую CRM (или любую другую систему, где есть отвалившиеся клиенты) к системе триггерных рассылок. К пакету дилерских документов предлагаем новую услугу. Непринужденно зарабатываем."

dict_res = text_processor.text_statistics_woe(text=text, quantiles="assessty_short", PATH_TO_PICKELS = PATH_TO_PICKELS) # quantiles: 'assessty_all', "assessty_short", 'dialogs'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

analytics_lib-0.0.2.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

analytics_lib-0.0.2-py3-none-any.whl (33.2 kB view details)

Uploaded Python 3

File details

Details for the file analytics_lib-0.0.2.tar.gz.

File metadata

  • Download URL: analytics_lib-0.0.2.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.9.6 requests/2.28.1 setuptools/62.6.0 requests-toolbelt/0.10.1 tqdm/4.64.0 CPython/3.9.13

File hashes

Hashes for analytics_lib-0.0.2.tar.gz
Algorithm Hash digest
SHA256 68d9be7808d738afaab3ccc9946ab8e5929d46b4c9c6850067c3052e9858d8a5
MD5 ec9f3691a2542a70db9b75ddd5ca36d0
BLAKE2b-256 8e3554e3f8bb42468d06bdff7ab5bbb6b0f730425622baae301663c11a677a5a

See more details on using hashes here.

File details

Details for the file analytics_lib-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: analytics_lib-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 33.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.9.6 requests/2.28.1 setuptools/62.6.0 requests-toolbelt/0.10.1 tqdm/4.64.0 CPython/3.9.13

File hashes

Hashes for analytics_lib-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 467ea33f7e4df66a6abfe117e9ab583bdc3fa6c7d8e489b5bed3533c8cab1abb
MD5 dbf2e833f8e87b9c793955018adc05c4
BLAKE2b-256 3fdfc1bcf7b14e794cdf7718592f308290d71c1573dcbb15b9135f9320dafd0d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page