Библиотека для анализа текстов
Установка (требуется 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'
Metadata
Release files for analytics-lib 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| analytics_lib-0.0.2.tar.gz | 35.1 kB | Without provenance | Details for analytics_lib-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| analytics_lib-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for analytics_lib-0.0.2-py3-none-any.whl |
Total release size: 68.4 kB
Release files / analytics_lib-0.0.2.tar.gz
| Download URL | analytics_lib-0.0.2.tar.gz |
|---|---|
| Size | 35.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
68d9be7808d738afaab3ccc9946ab8e5929d46b4c9c6850067c3052e9858d8a5
|
|
BLAKE2b-256 checksum How to use checksums |
8e3554e3f8bb42468d06bdff7ab5bbb6b0f730425622baae301663c11a677a5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / analytics_lib-0.0.2-py3-none-any.whl
| Download URL | analytics_lib-0.0.2-py3-none-any.whl |
|---|---|
| Size | 33.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
467ea33f7e4df66a6abfe117e9ab583bdc3fa6c7d8e489b5bed3533c8cab1abb
|
|
BLAKE2b-256 checksum How to use checksums |
3fdfc1bcf7b14e794cdf7718592f308290d71c1573dcbb15b9135f9320dafd0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for analytics-lib 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.