Skip to content

Instantly share code, notes, and snippets.

@theotheo
Last active June 10, 2019 00:24
Show Gist options
  • Save theotheo/3a0803abd86f7e19bdf1f953616330bf to your computer and use it in GitHub Desktop.
Save theotheo/3a0803abd86f7e19bdf1f953616330bf to your computer and use it in GitHub Desktop.
from dostoevsky.tokenization import UDBaselineTokenizer
from dostoevsky.word_vectors import SocialNetworkWordVectores
from dostoevsky.models import SocialNetworkModel
tokenizer = UDBaselineTokenizer()
tokens = tokenizer.split('всё очень плохо') # [('всё', 'ADJ'), ('очень', 'ADV'), ('плохо', 'ADV')]
word_vectors_container = SocialNetworkWordVectores()
vectors = word_vectors_container.get_word_vectors(tokens)
vectors.shape # (3, 300) - three words/vectors with dim=300
model = SocialNetworkModel(
tokenizer=tokenizer,
word_vectors_container=word_vectors_container,
lemmatize=False,
)
qs = ['Как обеспечить анонимность в интернете?',
'Как вернуть товар для обмена в интернет- магазин,чтобы не остаться и без денег и без товара?',
'Как должен был действовать Спартак, чтобы захватить Рим?',
'Почему динозавры жили 250 млн лет и не стали разумными, а люди живут всего 3 млн и стали? ']
model.predict(qs)
MAP = {
'znatoki':
{
'Авто и транспорт': 'Транспорт',
'Бизнес и право': 'Бизнес и финансы',
'Животные и домашние питомцы': 'Животные и растения',
'Растения и садоводство': 'Развлечения и досуг',
'Развлечения и досуг': 'Развлечения и досуг'
},
'mailru':
{
'Авто, Мото': 'Транспорт',
'Бизнес, Финансы': 'Бизнес и финансы'
},
'thequestion':
{
'Метрополитен': 'Транспорт',
'Авиация': 'Транспорт',
'Авто': 'Транспорт',
'Транспорт': 'Транспорт'
}
}
MAP['znatoki']['Авто и транспорт']
MAP['thequestion']['Авто']
import pandas as pd
test_data = [
"""Пользователь может разочароваться в сервисе в случает отсутствие ответа на его
вопрос, и возможно стоит информировать его, что вероятно ответа не будет и давать
советы о том, как улучшить вопрос. Основная мотиация данной работы и состоит в том,
чтобы выявить признаки, определеяющие "плохой" вопрос (тот, который скорее всего
не получит ответа), заданный на русском языке.""",
"""Первая в России выставка мирового уровня, посвященная роли искусственного интеллекта в современном искусстве, пройдет в Главном штабе Эрмитажа. Ее открытие запланировано на первый день работы Петербургского международного экономического форума-2019.
Участвующие в выставке художница Лулуа Аль-Хамуд и Данья Аль-Салех (Lulwah Al-Homoud and Daniah Al-Saleh) из Саудовской Аравии создают с помощью AI на основе арабского алфавита абстрактную графическую форму нового языка, который претендует на то, чтобы стать универсальным средством общения.
Всего в выставке примут участие 14 художников и творческих коллективов из 10 стран мира."""
]
df = pd.DataFrame(test_data, columns=['text'])
def calc(x):
res = {}
metrics = [
'flesch_reading_ease',
'smog_index',
'flesch_kincaid_grade',
'coleman_liau_index',
'automated_readability_index',
'dale_chall_readability_score',
'difficult_words',
'linsear_write_formula',
'gunning_fog',
'text_standard'
]
for m in metrics:
func = getattr(textstat, m)
res[m] = func(x)
return res
df['text'].apply(calc).apply(pd.Series)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment