Визуализация информации в текстовых документах план-конспект урока по информатике и икт (7 класс) на тему. Конспект урока по информатике " визуализация информации в текстовых документах" Визуализация информации в текстовых документах сообщение
В русскоязычном секторе интернета очень мало учебных практических примеров (а с примером кода ещё меньше) анализа текстовых сообщений на русском языке. Поэтому я решил собрать данные воедино и рассмотреть пример кластеризации, так как не требуется подготовка данных для обучения.
Большинство используемых библиотек уже есть в дистрибутиве Anaconda 3 , поэтому советую использовать его. Недостающие модули/библиотеки можно установить стандартно через pip install «название пакета».
Подключаем следующие библиотеки:
Import numpy as np
import pandas as pd
import nltk
import re
import os
import codecs
from sklearn import feature_extraction
import mpld3
import matplotlib.pyplot as plt
import matplotlib as mpl
Для анализа можно взять любые данные. Мне на глаза тогда попала данная задача: Статистика поисковых запросов проекта Госзатраты . Им нужно было разбить данные на три группы: частные, государственные и коммерческие организации. Придумывать экстраординарное ничего не хотелось, поэтому решил проверить, как поведет кластеризация в данном случае (забегая наперед - не очень). Но можно выкачать данные из VK какого-нибудь паблика:
Import vk
#передаешь id сессии
session = vk.Session(access_token="")
# URL для получения access_token, вместо tvoi_id вставляете id созданного приложения Вк:
# https://oauth.vk.com/authorize?client_id=tvoi_id&scope=friends,pages,groups,offline&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.21&response_type=token
api = vk.API(session)
poss=
id_pab=-59229916 #id пабликов начинаются с минуса, id стены пользователя без минуса
info=api.wall.get(owner_id=id_pab, offset=0, count=1)
kolvo = (info//100)+1
shag=100
sdvig=0
h=0
import time
while h
Я буду использовать данные поисковых запросов чтобы показать, как плохо кластеризуются короткие текстовые данные. Я заранее очистил от спецсимволов и знаков препинания текст плюс провел замену сокращений (например, ИП – индивидуальный предприниматель). Получился текст, где в каждой строке находился один поисковый запрос.
Считываем данные в массив и приступаем к нормализации – приведению слова к начальной форме. Это можно сделать несколькими способами, используя стеммер Портера, стеммер MyStem и PyMorphy2. Хочу предупредить – MyStem работает через wrapper, поэтому скорость выполнения операций очень медленная. Остановимся на стеммере Портера, хотя никто не мешает использовать другие и комбинировать их с друг другом (например, пройтись PyMorphy2, а после стеммером Портера).
Titles = open("material4.csv", "r", encoding="utf-8", errors="ignore").read().split("\n")
print(str(len(titles)) + " запросов считано")
from nltk.stem.snowball import SnowballStemmer
stemmer = SnowballStemmer("russian")
def token_and_stem(text):
tokens =
filtered_tokens =
for token in tokens:
if re.search("[а-яА-Я]", token):
filtered_tokens.append(token)
stems =
return stems
def token_only(text):
tokens =
filtered_tokens =
for token in tokens:
if re.search("[а-яА-Я]", token):
filtered_tokens.append(token)
return filtered_tokens
#Создаем словари (массивы) из полученных основ
totalvocab_stem =
totalvocab_token =
for i in titles:
allwords_stemmed = token_and_stem(i)
#print(allwords_stemmed)
totalvocab_stem.extend(allwords_stemmed)
allwords_tokenized = token_only(i)
totalvocab_token.extend(allwords_tokenized)
Pymorphy2
import pymorphy2
morph = pymorphy2.MorphAnalyzer()
G=
for i in titles:
h=i.split(" ")
#print(h)
s=""
for k in h:
#print(k)
p = morph.parse(k).normal_form
#print(p)
s+=" "
s += p
#print(s)
#G.append(p)
#print(s)
G.append(s)
pymof = open("pymof_pod.txt", "w", encoding="utf-8", errors="ignore")
pymofcsv = open("pymofcsv_pod.csv", "w", encoding="utf-8", errors="ignore")
for item in G:
pymof.write("%s\n" % item)
pymofcsv.write("%s\n" % item)
pymof.close()
pymofcsv.close()
pymystem3
Исполняемые файлы анализатора для текущей операционной системы будут автоматически загружены и установлены при первом использовании библиотеки.
From pymystem3 import Mystem
m = Mystem()
A =
for i in titles:
#print(i)
lemmas = m.lemmatize(i)
A.append(lemmas)
#Этот массив можно сохранить в файл либо "забэкапить"
import pickle
with open("mystem.pkl", "wb") as handle:
pickle.dump(A, handle)
Создадим матрицу весов TF-IDF. Будем считать каждый поисковой запрос за документ (так делают при анализе постов в Twitter, где каждый твит – это документ). tfidf_vectorizer мы возьмем из пакета sklearn, а стоп-слова мы возьмем из корпуса ntlk (изначально придется скачать через nltk.download()). Параметры можно подстроить как вы считаете нужным – от верхней и нижней границы до количества n-gram (в данном случае возьмем 3).
Stopwords = nltk.corpus.stopwords.words("russian")
#можно расширить список стоп-слов
stopwords.extend(["что", "это", "так", "вот", "быть", "как", "в", "к", "на"])
from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer
n_featur=200000
tfidf_vectorizer = TfidfVectorizer(max_df=0.8, max_features=10000,
min_df=0.01, stop_words=stopwords,
use_idf=True, tokenizer=token_and_stem, ngram_range=(1,3))
get_ipython().magic("time tfidf_matrix = tfidf_vectorizer.fit_transform(titles)")
print(tfidf_matrix.shape)
Над полученной матрицей начинаем применять различные методы кластеризации:
Num_clusters = 5
# Метод к-средних - KMeans
from sklearn.cluster import KMeans
km = KMeans(n_clusters=num_clusters)
get_ipython().magic("time km.fit(tfidf_matrix)")
idx = km.fit(tfidf_matrix)
clusters = km.labels_.tolist()
print(clusters)
print (km.labels_)
# MiniBatchKMeans
from sklearn.cluster import MiniBatchKMeans
mbk = MiniBatchKMeans(init="random", n_clusters=num_clusters) #(init="k-means++", ‘random’ or an ndarray)
mbk.fit_transform(tfidf_matrix)
%time mbk.fit(tfidf_matrix)
miniclusters = mbk.labels_.tolist()
print (mbk.labels_)
# DBSCAN
from sklearn.cluster import DBSCAN
get_ipython().magic("time db = DBSCAN(eps=0.3, min_samples=10).fit(tfidf_matrix)")
labels = db.labels_
labels.shape
print(labels)
# Аггломеративная класстеризация
from sklearn.cluster import AgglomerativeClustering
agglo1 = AgglomerativeClustering(n_clusters=num_clusters, affinity="euclidean") #affinity можно выбрать любое или попробовать все по очереди: cosine, l1, l2, manhattan
get_ipython().magic("time answer = agglo1.fit_predict(tfidf_matrix.toarray())")
answer.shape
Полученные данные можно сгруппировать в dataframe и посчитать количество запросов, попавших в каждый кластер.
#k-means
clusterkm = km.labels_.tolist()
#minikmeans
clustermbk = mbk.labels_.tolist()
#dbscan
clusters3 = labels
#agglo
#clusters4 = answer.tolist()
frame = pd.DataFrame(titles, index = )
#k-means
out = { "title": titles, "cluster": clusterkm }
frame1 = pd.DataFrame(out, index = , columns = ["title", "cluster"])
#mini
out = { "title": titles, "cluster": clustermbk }
frame_minik = pd.DataFrame(out, index = , columns = ["title", "cluster"])
frame1["cluster"].value_counts()
frame_minik["cluster"].value_counts()
Из-за большого количества запросов не совсем удобно смотреть таблицы и хотелось бы больше интерактивности для понимания. Поэтому сделаем графики взаимного расположения запросов относительного друг друга.
Сначала необходимо вычислить расстояние между векторами. Для этого будет применяться косинусовое расстояние. В статьях предлагают использовать вычитание из единицы, чтобы не было отрицательных значений и находилось в пределах от 0 до 1, поэтому сделаем так же:
From sklearn.metrics.pairwise import cosine_similarity
dist = 1 - cosine_similarity(tfidf_matrix)
dist.shape
Так как графики будут двух-, трехмерные, а исходная матрица расстояний n-мерная, то придется применять алгоритмы снижения размерности. На выбор есть много алгоритмов (MDS, PCA, t-SNE), но остановим выбор на Incremental PCA. Этот выбор сделан в следствии практического применения – я пробовал MDS и PCA, но оперативной памяти мне не хватало (8 гигабайт) и когда начинал использоваться файл подкачки, то можно было сразу уводить компьютер на перезагрузку.
Алгоритм Incremental PCA используется в качестве замены метода главных компонентов (PCA), когда набор данных, подлежащий разложению, слишком велик, чтобы разместиться в оперативной памяти. IPCA создает низкоуровневое приближение для входных данных, используя объем памяти, который не зависит от количества входных выборок данных.
# Метод главных компонент - PCA
from sklearn.decomposition import IncrementalPCA
icpa = IncrementalPCA(n_components=2, batch_size=16)
get_ipython().magic("time icpa.fit(dist) #demo =")
get_ipython().magic("time demo2 = icpa.transform(dist)")
xs, ys = demo2[:, 0], demo2[:, 1]
# PCA 3D
from sklearn.decomposition import IncrementalPCA
icpa = IncrementalPCA(n_components=3, batch_size=16)
get_ipython().magic("time icpa.fit(dist) #demo =")
get_ipython().magic("time ddd = icpa.transform(dist)")
xs, ys, zs = ddd[:, 0], ddd[:, 1], ddd[:, 2]
#Можно сразу примерно посмотреть, что получится в итоге
#from mpl_toolkits.mplot3d import Axes3D
#fig = plt.figure()
#ax = fig.add_subplot(111, projection="3d")
#ax.scatter(xs, ys, zs)
#ax.set_xlabel("X")
#ax.set_ylabel("Y")
#ax.set_zlabel("Z")
#plt.show()
Перейдем непосредственно к самой визуализации:
From matplotlib import rc
#включаем русские символы на графике
font = {"family" : "Verdana"}#, "weigth": "normal"}
rc("font", **font)
#можно сгенерировать цвета для кластеров
import random
def generate_colors(n):
color_list =
for c in range(0,n):
r = lambda: random.randint(0,255)
color_list.append("#%02X%02X%02X" % (r(),r(),r()))
return color_list
#устанавливаем цвета
cluster_colors = {0: "#ff0000", 1: "#ff0066", 2: "#ff0099", 3: "#ff00cc", 4: "#ff00ff",}
#даем имена кластерам, но из-за рандома пусть будут просто 01234
cluster_names = {0: "0", 1: "1", 2: "2", 3: "3", 4: "4",}
#matplotlib inline
#создаем data frame, который содержит координаты (из PCA) + номера кластеров и сами запросы
df = pd.DataFrame(dict(x=xs, y=ys, label=clusterkm, title=titles))
#группируем по кластерам
groups = df.groupby("label")
fig, ax = plt.subplots(figsize=(72, 36)) #figsize подбирается под ваш вкус
for name, group in groups:
ax.plot(group.x, group.y, marker="o", linestyle="", ms=12, label=cluster_names, color=cluster_colors, mec="none")
ax.set_aspect("auto")
ax.tick_params(axis= "x",
which="both",
bottom="off",
top="off",
labelbottom="off")
ax.tick_params(axis= "y",
which="both",
left="off",
top="off",
labelleft="off")
ax.legend(numpoints=1) #показать легенду только 1 точки
#добавляем метки/названия в х,у позиции с поисковым запросом
#for i in range(len(df)):
# ax.text(df.ix[i]["x"], df.ix[i]["y"], df.ix[i]["title"], size=6)
#показать график
plt.show()
plt.close()
Если раскомментировать строку с добавлением названий, то выглядеть это будет примерно так:
Пример с 10 кластерами
Не совсем то, что хотелось бы ожидать. Воспользуемся mpld3 для перевода рисунка в интерактивный график.
# Plot
fig, ax = plt.subplots(figsize=(25,27))
ax.margins(0.03)
for name, group in groups_mbk:
points = ax.plot(group.x, group.y, marker="o", linestyle="", ms=12, #ms=18
label=cluster_names, mec="none",
color=cluster_colors)
ax.set_aspect("auto")
labels =
tooltip = mpld3.plugins.PointHTMLTooltip(points, labels, voffset=10, hoffset=10, #css=css)
mpld3.plugins.connect(fig, tooltip) # , TopToolbar()
ax.axes.get_xaxis().set_ticks()
ax.axes.get_yaxis().set_ticks()
#ax.axes.get_xaxis().set_visible(False)
#ax.axes.get_yaxis().set_visible(False)
ax.set_title("Mini K-Means", size=20) #groups_mbk
ax.legend(numpoints=1)
mpld3.disable_notebook()
#mpld3.display()
mpld3.save_html(fig, "mbk.html")
mpld3.show()
#mpld3.save_json(fig, "vivod.json")
#mpld3.fig_to_html(fig)
fig, ax = plt.subplots(figsize=(51,25))
scatter = ax.scatter(np.random.normal(size=N),
np.random.normal(size=N),
c=np.random.random(size=N),
s=1000 * np.random.random(size=N),
alpha=0.3,
cmap=plt.cm.jet)
ax.grid(color="white", linestyle="solid")
ax.set_title("Кластеры", size=20)
fig, ax = plt.subplots(figsize=(51,25))
labels = ["point {0}".format(i + 1) for i in range(N)]
tooltip = mpld3.plugins.PointLabelTooltip(scatter, labels=labels)
mpld3.plugins.connect(fig, tooltip)
mpld3.show()fig, ax = plt.subplots(figsize=(72,36))
for name, group in groups:
points = ax.plot(group.x, group.y, marker="o", linestyle="", ms=18,
label=cluster_names, mec="none",
color=cluster_colors)
ax.set_aspect("auto")
labels =
tooltip = mpld3.plugins.PointLabelTooltip(points, labels=labels)
mpld3.plugins.connect(fig, tooltip)
ax.set_title("K-means", size=20)
mpld3.display()
Теперь при наведении на любую точку графика всплывает текст с соотвествующим поисковым запросом. Пример готового html файла можно посмотреть здесь: Mini K-Means
Если хочется в 3D и с изменяемым масштабом, то существует сервис Plotly , который имеет плагин для Python.
Plotly 3D
#для примера просто 3D график из полученных значений
import plotly
plotly.__version__
import plotly.plotly as py
import plotly.graph_objs as go
trace1 = go.Scatter3d(x=xs,
y=ys,
z=zs,
mode="markers",
marker=dict(size=12,
line=dict(color="rgba(217, 217, 217, 0.14)",
width=0.5),
opacity=0.8))
data =
layout = go.Layout(margin=dict(l=0,
r=0,
b=0,
t=0))
fig = go.Figure(data=data, layout=layout)
py.iplot(fig, filename="cluster-3d-plot")
Результаты можно увидеть здесь: Пример
И заключительным пунктом выполним иерархическую (аггломеративную) кластеризацию по методу Уорда для создания дендограммы.
In :
from scipy.cluster.hierarchy import ward, dendrogram
linkage_matrix = ward(dist)
fig, ax = plt.subplots(figsize=(15, 20))
ax = dendrogram(linkage_matrix, orientation="right", labels=titles);
plt.tick_params(\
axis= "x",
which="both",
bottom="off",
top="off",
labelbottom="off")
plt.tight_layout()
#сохраним рисунок
plt.savefig("ward_clusters2.png", dpi=200)
Выводы
К сожалению, в области исследования естественного языка очень много нерешённых вопросов и не все данные легко и просто сгруппировать в конкретные группы. Но надеюсь, что данное руководство усилит интерес к данной теме и даст базис для дальнейших экспериментов.
6-8 классы.
Ключевые понятия:
- визуализация информации в текстовых документах;
- форматирование символов, абзацев, страниц;
- колонтитулы;
- нумерованные списки, маркированные списки, многоуровневые списки;
- таблица;
- графические изображения в тексте;
- формат файла текстового документа.
Для проведения урока необходимы:
ноутбук (2–3 шт. на группу из 5–7 учащихся), фотоаппарат (1–2 шт. на группу из 5–7 учащихся), USB-шнур для копирования фотографий на компьютер, можно использовать мобильные телефоны или планшеты учащихся с функцией фотографирования, возможно использование Bluetooth.
Место проведения урока:
двор школы или ближайшего жилого дома (желательно с детской площадкой, зелёными насаждениями и иными объектами, которые могут стать предметами для описания).
Памятные даты:
День города – ежегодный общегородской праздник. Отмечается в Москве в первую субботу сентября . В этот день по всему городу проходят народные гуляния и концерты. Традиционные места основных торжеств: Тверская улица, Красная площадь, Васильевский спуск, Поклонная гора и Воробьёвы горы. Завершает День города праздничный салют.
Форма проведения урока:
практическая работа на местности. Данный урок можно провести в урочное время в рамках расписания, так как он не требует затрат времени на дорогу.
Дополнительно: при проведении данного урока обучающихся следует познакомить с геоинформационным порталом «Наш город» http://gorod.mos.ru/ .
Галерея изображений:
Свободное описание урока:
- Урок является заключительным уроком при изучении темы «Обработка текстовой информации».
- Учащиеся разрабатывают буклет (листовку) на две страницы о школе и его пришкольной территории или о близлежащем жилом доме и его дворе.
- Это практическая работа, выполняемая на местности. Для выполнения данной работы учащиеся делятся на две группы, каждая из которых выполняет свою часть работы.
- Описываемая территория должна содержать достаточное количество объектов, которые можно было бы разделить на 2 разные категории (по количеству групп). Например, описание школы (дома) и инфраструктуры – одна категория, которую описывает одна группа. Вторая категория объектов – объекты, имеющиеся на школьном дворе (во дворе дома): детские и спортивные площадки, малые архитектурные формы и т.д., которую описывает вторая группа.
- Буклет (листовка) должна включать структурные элементы текстового редактора (процессора), которые были изучены на уроках.
- Состав структурных элементов определяется учителем исходя из пройденного материала. Их список выдаётся учащимся как обязательные элемент практической работы.
Технологическая карта урока
класс: 7 «А»
УМК: Информатика: учебник для 7 класса /Л.Л. Босова, А.Ю. Босова. – 5-е изд. - М. : БИНОМ. Лаборатория знаний, 2016. - 224 с. : ил.
Тема: Визуализация информации в текстовых документах.
Цель урока: Формирование представлений о разнообразии и целесообразности визуализации информации в текстовых процессорах.
Задачи урока:
1. Предметные
Познакомить обучающихся со средствами структурирования и визуализации текстовой информации;
Сформировать представление о способах создания списков и возможностях их использования в текстовых документах;
Сформировать представление о способах создания таблиц и возможностях их использования в текстовых документах;
Научить составлять разноуровневые нумерованные и маркированные списки.
Сформировать потребность в знаниях по предмету;
Научить выбирать средства информационных и коммуникационных технологий для создания текстовых документов;
Сформировать навыки рационального использования имеющихся инструментов.
3. Личностные
Сформировать у учащихся готовность и способность к самообразованию на основе мотивации к обучению и познанию;
Сформировать потребность в самовыражении и самореализации;
Привить навык самоконтроля и самооценки.
1. Организационный момент (инициация )
Приветствует учащихся, проверяет готовность к учебному занятию, организует внимание детей.
Приветствуют учителя, проверяют наличие учебного материала на столах, организует свое рабочее место.
Коммуникативные: планирование учебного сотрудничества со сверстниками
Личностные : психологическая готовность учащихся к уроку, самоопределение
2. Проверка домашнего задания
Проверка домашней работы (в парах, взаимопроверка)
Проверяют домашнюю работу (в парах, выборочно)
Познавательные: структурирование знаний, рефлексия способов и условий действий, контроль и оценка процесса и результатов деятельности
Личностные : умение работать в парах
3. Актуализация знаний и формулирование темы и целей урока
На прошлом уроке Вы познакомились с новым понятием "форматирование" текста. Что это?
Что можно изменять в процессе форматирования символов?
Абзацев?
Какие параметры страницы можно задать для рабочего листа текстового редактора?
Чтобы узнать тему нашего урока, давайте посмотрим на слайды 1 (на слайде текст с перечислением устройства компьютера через запятую и оформленный в списке; на слай де
список микрорайонов города Ставрополя, диаграмма, фрагмент классного журнала с отметками).
Какую информацию нам легче воспринимать?
К какому виду информации по способу восприятия можно отнести списки, диаграммы, таблицы?
Попробуйте сформулировать тему нашего урока.
Отвечают на вопросы:
Оформление текста
Шрифт, размер шрифта, начертание, цвет;
Выравнивание, отступ первой строки, междустрочный интервал, отступы слева и справа, интервалы перед и после;
Поля, ориентация, размер бумаги.
Список, диаграмма, таблица;
зрительная (визуальная).
Формулируют тему урока "Визуализация информации в текстовых документах".
Познавательные: структурирование знаний, рефлексия способов и условий действий, контроль и оценка процесса и результатов деятельности Регулятивные: развитие умения формулировать тему и цель урока в соответствии с задачами и нормами русского языка
Коммуникативные: Ориентация на партнера по общению, умение слушать собеседника, умение аргументировать свое мнение, убеждать и уступать
Личностные: развитие логического мышления, знание основных моральных норм
4. Усвоение новых знаний
Известно, что текстовая информация воспринимается человеком лучше, если она визуализирована - организована в виде списков, диаграмм, таблиц, сопровождается графическими изображениями (рисунки, фото). По способу оформления различают нумерованные и маркированные списки (на слайде 2 пример).
По структуре: одноуровневые и многоуровневые .
Для описания ряда объектов, обладающих одинаковыми наборами свойств, наиболее часто
используются таблицы , состоящие из строк и столбцов (на слайде 3 структура таблицы).
В таблицах могут размещены тексты, числа, изображения (на слайде 4 пример таблицы содержащий и тексты, и числа, и изображения). Рисунки можно создавать самостоятельно в графических редакторах, можно использовать уже созданные или найденные в сети Интернет. Во многих текстовых процессорах можно создавать изображения из автофигур (на слайде 5 пример графических примитивов в Word).
Просмотр презентации по теме, короткая запись важных аспектов материала в рабочую тетрадь.
Познавательные: развитие познавательной активности
Регулятивные: планирование своей деятельности для решения поставленной задачи, контроль полученного результата, коррекция полученного результата
Личностные: развитие памяти, внимания, зрительной и слуховой памяти, возможность самостоятельно осуществлять деятельность обучения
Коммуникативные: развитие диалогической речи
5. Первичное закрепление материала
А для закрепления знаний по данной теме, я предлагаю Вам выполнить тест по вариантам. (Приложение 1)
Выполняют тест (по вариантам) и сдают учителю на проверку.
Познавательные: выбор наиболее эффективных способов выполнения задания
Личностные: формирования умения достигать цели и оценивать результаты своего труда
Коммуникативные: умение работать в группах, развитие диалогической речи
6. Компьютерный практикум
Для закрепления полученных знаний предлагаю выполнить практическую работу на компьютере (Приложение 2)
Выполняют практическую работу на компьютере.
Личностные: формирования умения достигать цели и оценивать результаты своего труда; формирование и развитие
аналитического мышления
7. Итоги урока, рефлексия
Оценка практической работы учащихся (отметки выставляются в журнал).
Рефлексия:
Подведите итог своей работы.
Дайте эмоциональную оценку своей работе, выбрав соответствующий рисунок (на карточках) и изобразите его на полях своей рабочей тетради напротив темы урока.
Представляют педагогу выполненные практические работы.
Проводят психоэмоциональную оценку своей работе, рисуют пиктограммы, соответствующие эмоциям в рабочей тетради напротив темы урока.
Познавательные: построение речевого высказывания в устной форме, контроль и оценка процесса и результатов деятельности
Регулятивные: контроль и оценка своей деятельности в рамках урока
Коммуникативные : умение слушать и вступать в диалог, формулирование и аргументация своего мнения
Личностные: рефлексия способов и условий действия, контроль и оценка процесса и результатов деятельности
Приложение 1
1 вариант
1. Нумерованный список следует использовать при:
3) описании объектов в комнате
4) перечислении оборудования в классе
2. Свойства данных в ячейках определяются:
1) свойствами границ
2) размером кегля
3) размерами ячейки
4) типом числовых данных в ячейках
3. Готовые графические изображения можно редактировать с помощью текстовых процессоров:
1) изменяя яркость
2) создавая новые слои
3) изменяя цвета растровых изображений
4) создавая анимацию
4. Для распознавания текста с печатного носителя и ввода его в память компьютера для редактирования целесообразно использовать:
1) видеокамеру
2) клавиатуру
3) сканер
4) микрофон
5.
Автоматическое устройство перекодировало сообщение на русском языке из 8-битного кода в 4-битный код. При этом объем перекодированного сообщения уменьшился на 128 байтов. Длина исходного сообщения в символах равна _____ символов.
6. Выполните вычисления и впишите числовое значение.
Информационный объем слова из 24 символов в кодировке Unicode равен _____ байт.
2 вариант
1. Маркированный список следует использовать при:
1) составлении алгоритма действий
2) перечислении видов цветов на клумбе
3) описании последовательности действий работы с прибором
4) описании любой последовательности
2. Внешний вид таблицы определяет(ют):
3. Средствами текстового процессора в готовом изображении нельзя:
1) изменять яркость
2) изменять размер изображения
3) изменять контрастность
4) вводить новые слои
4. Для автоматического перевода текстовых документов применяют:
1) сканер
2) текстовый процессор
3) сканер
4) программы-переводчики
5. Выполните вычисления и впишите числовое значение.
Автоматическое устройство перекодировало сообщение на русском языке из 16-битного кода в 8-битный код. При этом объем перекодированного сообщения уменьшился на 128 байтов. Длина исходного сообщения в символах равна _____ символов.
6. Выполните вычисления и впишите числовое значение.
Информационный объем слова из 16 символов в кодировке Unicode равен _____ байт.
Приложение 2
Визуализация информации: работа с таблицей
Задание 1: создайте таблицу
Расписание уроков:
Ход работы:
Воспользуйтесь вкладкой «вставка»
Выберите таблицу (4 строки, 5 столбцов). Заполните таблицу данными (шрифт – Times New Roman , кегль 12) , используя копирование (Tab – Ctrl + Ins – Shift + Ins ):
Вставьте столбец справа в таблицу (пятница), заполните и его.
Добавьте строку «день недели», щёлкнув правой кнопкой мыши в любой ячейке первой строки.
Выберите команду «вставить», «вставить строки сверху»
В появившейся строке выделите ячейки, расположенные над днями недели:
Щёлкните правой кнопкой мыши в любой из выделенных ячеек и выберите команду «объединить ячейки».
Впечатайте словосочетание «день недели».
Существует два понимания понятия “визуализация текстов” . В первом понимании, визуализация текстов – это генерация изображений по входному тексту. В приводится такой пример: по тексту, представленному на Рис. 1 требуется построить изображение. При этом, система, генерирующая изображение, должна понимать, что компьютер может стоять только на столе и автоматически добавлять стол на изображение. Среди русскоязычных работ этого направления отметим работу .
Другое понимание понятие “визуализация текстов” предполагает изображение либо элементов текста, либо структур, извлеченных из текста, для образовательных или аналитических нужд. В этом понимании можно выделить несколько различных подходов.
Исторически первый – так называемое облако тегов (tag cloud) . Облако тегов представляет собой множество ключевых слов или словосочетаний – тегов, извлеченных из текста, изображенных на плоскости. Размер каждого тега зависит от частоты или любой другой частотной характеристики тега. Облако тегов может иметь любую форму: действительно облака или, например, звездочки.
Рис. 2, источник: https://uniqons.wordpress.com
Иногда цветом на облаке тегов отмечают какие-нибудь важные характеристики, например, авторство. На Рис. 3 голубым отображены слова из предвыборной программы Обамы, коричневым – Маккейна. Облака тегов позволяют получить общее представление о содержании текста или коллекции текстов. Например, в облака тегов используются для визуализации частых слов в позитивных или негативных твитах, посвященных предвыборной кампании 2012 г. в США. Одно из развитий идеи облака тегов представлено в : облака Вена , которые используются для демонстрации контраста между двумя коллекциями текстов.
Рис. 3, источник: http://www.planetizen.com/
Рис. 4, Три примера облаков Вена. В левой части частые слова из твитов, содержащих слово “Orioles” (бейсбольная команда), в правой – “Nationals”. По середине расположены общие для обеих коллекций слова.
Второй подход к визуализации текстов – это визуализация элементов текстов и теоретико-множественных, алгебраических или статистических отношений между ними. Как правило, в рамках этого подхода текст или коллекция текстов представляется графом, в котором вершины – ключевые слова или словосочетания или понятия, выделенные из текстов, соединенные ребрами по каким-то принципам. Например, в составляется панорама тем – графом из трех соединенных компонент (см. Рис. 5), каждая доля соответствует одному источнику, узлы подписаны ключевыми словами или словосочетаниям. В графе есть два типа ребер: внутри одной компоненты, соответствующей одному источнику, узлы соединены в соответствии с взаимной встречаемостью. Второй тип ребер соединяет похожие узлы из разных источников. В строится карта метро (Рис. 6) – визуализация динамических кластеров ключевых слов и словосочетаний.
Рис. 5 | Рис. 6 |
Третий подход к визуализации текстов – это визуализация моделей скрытых тем (latent topics) . Система Serendip выделяет скрытые темы в тексте и подсвечивает слова во входном тексте цветом (Рис. 7). У каждой скрытой темы свой цвет, интенсивность цвета зависит от степени вхождения слова в тему. В скрытые темы представлены в виде облаков тегов (Рис. 8).
Рис. 7 |
Рис. 8 |
Наша работа по построению графа референций принадлежит ко второму подходу. В графе референций узлы – это ключевые слова или словосочетания, а направленные ребра вида A->B задают отношение вида “если встречается A, то встречается B”, то есть, “B встречается в контексте A”.
- Chang, Angel X., Manolis Savva, and Christopher D. Manning. "Semantic parsing for text to 3d scene generation." ACL 2014 (2014): 17.
- Усталов, Дмитрий, и Александр Кудрявцев. "Применение онтологии при синтезе изображения по тексту." Доклады всероссийской научно–практической конференции Анализ Изображений, Сетей и Текстов. М.: Национальный Открытый Университет ИНТУИТ. 2012
- Coupland D. (1996), Microserfs, Flamingo
- Wang, H., Can, D., Kazemzadeh, A., Bar, F., & Narayanan, S. (2012, July). A system for real-time twitter sentiment analysis of 2012 us presidential election cycle. In Proceedings of the ACL 2012 System Demonstrations (pp. 115-120). Association for Computational Linguistics.
- Coppersmith, G., & Kelly, E. (2014). Dynamic Wordclouds and Vennclouds for Exploratory Data Analysis. Sponsor: Idibon, 22.
- Liu, S., Wang, X., Chen, J., Zhu, J., & Guo, B. (2014, October). TopicPanorama: A full picture of relevant topics. In Visual Analytics Science and Technology (VAST), 2014 IEEE Conference on (pp. 183-192). IEEE.
- Shahaf, D., Yang, J., Suen, C., Jacobs, J., Wang, H., & Leskovec, J. (2013, August). Information cartography: creating zoomable, large-scale maps of information. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 1097-1105). ACM.
- Alexander, E., Kohlmann, J., Valenza, R., Witmore, M., & Gleicher, M. (2014, October). Serendip: Topic model-driven visual exploration of text corpora. In Visual Analytics Science and Technology (VAST), 2014 IEEE Conference on (pp. 173-182). IEEE.
- Smith, A., Chuang, J., Hu, Y., Boyd-Graber, J., & Findlater, L. (2014). Concurrent Visualization of Relationships between Words and Topics in Topic Models. Sponsor: Idibon, 79.