Візуалізація інформації в текстових документах повідомлення. Кластеризація та візуалізація текстової інформації. Вільне опис уроку

ВІЗУАЛІЗАЦІЯ ІНФОРМАЦІЇ У ТЕКСТОВИХ ДОКУМЕНТАХ

візуалізація - подання інформації в наочному вигляді. Текстову інформацію представляють у вигляді списків, таблиць, діаграм, постачають ілюстраціями (фотографіями, схемами, малюнками).

списки

Всілякі переліки в документах оформляються за допомогою списків. Пункти переліку розглядаються як абзаци, оформлені за єдиним зразком. За способом оформлення списки можуть бути нумеровані і маркіровані.

елементи нумерованого спискупозначаються за допомогою чисел або букв (латинських або російських).

елементи маркованого спискупозначаються за допомогою значков- маркерів.

За структурою списки розрізняють: однорівневі і багаторівневі. Всі приклади, розглянуті, раніше є однорівневими списками

Список, елемент якого сам є списком, називається багаторівневим.

таблиці

Для опису ряду об'єктів, що володіють однаковими наборами властивостей, найбільш часто використовуються таблиці, Що складаються із стовпців (граф) і рядків.

Представлена ​​в таблиці інформація наочна, компактна і легкообазріма.

Правильно оформлена таблиця має наступну структуру:

В осередках таблиць можуть бути розміщені тексти, числа, зображення.

Приклад таблиці:

Створити таблицю можна за допомогою відповідного пункту меню або кнопки на панелі інструментів, вказавши необхідну кількість стовпців і рядків; в деяких текстових процесорах таблицю можна намалювати. Створену таблицю можна редагувати, змінюючи ширину стовпців і висоту рядків, об'єднуючи і розбиваючи ячейки. Вводити інформацію в комірки таблиці можна так: за допомогою клавіатури, копіювати і вставляти заздалегідь підготовлені фрагменти. У текстових процесорах є можливість автоматично перетворювати наявний текст в таблицю.

Зовнішній виглядтаблиці можна оформити самостійно, підібравши тип, ширину і колір меж осередків, колір фону осередків, відформатувавши вміст комірок. Крім того відформатувати таблицю можна автоматично.

графічні зображення

Сучасні текстові процесори дозволяють включати в документи різні графічні зображення.

Текстові процесори дозволяють будувати різні види графічних схем забезпечують візуалізацію текстової інформації.

Види графічних схем в текстовому процесорі Microsoft Word.

У російськомовному секторі інтернету дуже мало навчальних практичних прикладів (а з прикладом коду ще менше) аналізу текстових повідомленьросійською мовою. Тому я вирішив зібрати дані воєдино і розглянути приклад кластеризації, так як не потрібна підготовка даних для навчання.

Більшість використовуваних бібліотек вже є в дистрибутиві 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 70): print (h) # не обов'язкова умова, просто для контролю зразкового закінчення процесу pubpost = api.wall.get (owner_id = id_pab, offset = sdvig, count = 100) i = 1 while i< len(pubpost): b=pubpost[i]["text"] poss.append(b) i=i+1 h=h+1 sdvig=sdvig+shag time.sleep(1) len(poss) import io with io.open("public.txt", "w", encoding="utf-8", errors="ignore") as file: for line in poss: file.write("%s\n" % line) file.close() titles = open("public.txt", encoding="utf-8", errors="ignore").read().split("\n") print(str(len(titles)) + " постов считано") import re posti= #удалим все знаки препинания и цифры for line in titles: chis = re.sub(r"(\<(/?[^>] +)>) "," ", Line) #chis = re.sub () chis = re.sub (" [^ а-яА-Я] "," ", chis) posti.append (chis)
Я буду використовувати дані пошукових запитів щоб показати, як погано кластеризуються короткі текстові дані. Я заздалегідь очистив від спецсимволов і розділових знаків текст плюс провів заміну скорочень (наприклад, IP - індивідуальний підприємець). Вийшов текст, де в кожному рядку перебував один пошуковий запит.

Прочитуємо дані в масив і приступаємо до нормалізації - приведення слова до початкової формі. Це можна зробити декількома способами, використовуючи Стеммер Портера, Стеммер 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 answe r = 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_name s, 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)
висновки

На жаль, в області дослідження природної мови дуже багато невирішених питань і не всі дані легко і просто згрупувати в конкретні групи. Але сподіваюся, що цей посібник посилить інтерес до даної теми і дасть базис для подальших експериментів.

Конспект відкритого уроку на тему

" Візуалізація інформації в текстових документах. таблиці"

Мета уроку:

навчальна : Сприяти формуванню понять - таблиця, осередок, рядок, стовпець таблиці, редагування і форматування таблиць, навчити вставляти в документ таблицю, редагувати і форматувати її.

розвиваюча : Розвивати логічне і раціональне мислення учнів, розвивати самостійність при оволодінні можливостями ПК в ході виконання практичної роботи.

Виховна : Виховувати дбайливе ставлення до обладнання комп'ютерного класу, сприяти активізації творчих здібностей учнів, виховувати адекватну самооцінку результатів діяльності.

Тип уроку : Урок вивчення нового матеріалу

Структура навчального заняття:

Організаційний момент;

Актуалізація і мотивація;

Вивчення нового матеріалу;

Первинне закріплення;

Підведення підсумків уроку;

Домашнє завдання.

Форми організації пізнавальної діяльності:

колективна;

фронтальна;

індивідуальна.

Методи навчання :

пояснювально-ілюстративний;

частково-пошуковий;

репродуктивний.

Хід уроку


Підписи до слайдів:

РОЗКЛАД Понеділок: алгебра, хімія, російська мова, фізкультура; Вівторок: інформатика, література, геометрія, історія; Середовище: фізика, біологія, російська мова, алгебра; Четвер: література, ОБЖ, інформатика, алгебра, фізкультура; П'ятниця: хімія, геометрія, історія

Таблиця Стовпець Рядок

Таблиця Осередок В осередках таблиць можуть бути розміщені різні типиданих (текст, числа, зображення та ін.)

У документ можна вставити порожню таблицю, для цього, в Microsoft Word використовуємо меню Вставка - Таблиця:

Вказуємо необхідну кількість рядків і стовпців

Переміщення по таблиці: Натисканням клавіші Tab Натисканням клавіш управління курсором За допомогою миші Виділення елементів таблиці:

Надалі параметри таблиці можна змінювати, використовуючи контекстне меню(ПКМ): Вставляти чи видаляти рядки, стовпці і осередки; Змінювати ширину шпальт і висоту строк; Розділяти осередку або об'єднувати з сусідніми.

Можна змінювати зовнішній вигляд таблиці: Робота з таблицями - Конструктор

Практична робота: Завдання 1: Створити таблицю за зразком, заповнити її даними, використовуючи копіювання: понеділок вівторок середа четвер 1 урок біологія алгебра історія фізика 2 урок алгебра біологія алгебра історія 3 урок історія фізика біологія алгебра Розклад занять 8 класу

Завдання 2: Створити таблицю за зразком. Табель успішності учня 8 класу Півріччя I II Чверть I II III IV Алгебра 5 4 4 5 Геометрія 3 4 3 4 Фізика 4 5 4 5 Історія Відвідування 5 4 5 4 Біологія 4 5 3 5 Хімія 5 4 4 4 Інформатика 4 5 5 5 Література 4 4 3 4

додаткове завдання: Оформити таблицю за зразком: Табель успішності учня 8 класу

Критерії оцінки: Завдання 1 - «2-3» бали Завдання 2 - «2-3» бали Додаткове завдання - «1» бал «5» - 6-7 балів «4» - 5 балів «3» - 3-4 бали

Дякую за увагу!

Попередній перегляд:

Практична роботапо темі «Вставка таблиць в документ»

Завдання 1: Робота з таблицею

  1. Створити таблицю за зразком, заповнити її даними, використовуючи копіювання:

Розклад занять 8 класу

понеділок

вівторок

середа

четвер

1 урок

біологія

алгебра

історія

фізика

2 урок

алгебра

біологія

алгебра

історія

3 урок

історія

фізика

біологія

алгебра

  1. Вставити стовпець праворуч в таблицю (п'ятниця), заповнити його.

Завдання 2: Створити таблицю за зразком:

Табель успішності учня 8 класу

півріччя

чверть

алгебра

геометрія

фізика

Історія

Біологія

хімія

Ключові слова:

  • нумеровані списки
  • марковані списки
  • багаторівневі списки
  • таблиця
  • графічні зображення

Відомо, що текстова інформація сприймається людиною краще, якщо вона візуалізувати - організована у вигляді списків, таблиць, діаграм, забезпечена ілюстраціями (фотографіями, малюнками, схемами). Сучасні текстові процесори являють користувачам широкі можливості візуалізації інформації в створюваних документах.

4.4.1. списки

Всілякі переліки в документах оформляються за допомогою списків. При цьому всі пункти переліку розглядаються як абзаци, оформлені за єдиним зразком.

За способом оформлення розрізняють нумеровані і маркіровані списки.

Елементи (пункти) нумерованого списку позначаються за допомогою послідовних чисел, для запису яких можуть використовуватися арабські і римські цифри. Елементи списку можуть бути пронумеровані і буквами - російськими або латинськими (рис. 4.14).

Мал. 4.14.
Приклади нумерованих списків

Нумерований список прийнято використовувати в тих випадках, коли має значення порядок проходження пунктів. Особливо часто такі списки використовують для опису послідовності дій. Нумеровані списки ви регулярно створюєте, заповнюючи в щоденнику розклад уроків на кожен навчальний день.

При створенні нових, видаленні або переміщенні існуючих елементів нумерованого списку в текстовому процесорі вся нумерація списку змінюється автоматично.

Елементи маркованого списку позначаються за допомогою значків-маркерів. Користувач може вибрати в якості маркера будь-який символ комп'ютерного алфавіту, і навіть невелике графічне зображення (рис. 4.15). За допомогою маркованого списку оформлені ключові слована початку кожного параграфа вашого підручника.

Мал. 4.15.
Приклади маркованих списків

Маркований список використовують в тих випадках, коли порядок проходження елементів в ньому не важливий. Наприклад, у вигляді маркованого списку можна оформити перелік предметів, що вивчаються вами в 8 класі.

За структурою розрізняють однорівневі і багаторівневі списки.

Списки в розглянутих вище прикладах мають однорівневу структуру.

Список, елемент якого сам є списком, називається багаторівневим. Так, зміст вашого підручника інформатики є багаторівневим (трирівневим) списком.

Списки створюються в текстовому процесорі за допомогою команди рядка меню або кнопок панелі форматування (рис. 4.16).

Мал. 4.16.
Інструменти створення списків

4.4.2. таблиці

Для опису ряду об'єктів, що володіють однаковими наборами властивостей, найбільш часто використовуються таблиці, що складаються із стовпців (граф) і рядків. Вам добре відомо табличне представлення розкладу уроків, в табличній формі представляються розкладу руху автобусів, літаків, поїздів і багато іншого.

Представлена ​​в таблиці інформація наочна, компактна і легкообозріма.

Правильно оформлена таблиця має структуру, показану на рис. 4.17.

Мал. 4.17.
структура таблиці

Необхідно дотримуватися таких правил оформлення таблиць:

  1. Заголовок таблиці повинен давати уявлення про що міститься в ній інформації.
  2. Заголовки стовпців і рядків повинні бути короткими, не містити зайвих слів і, по можливості, скорочень.
  3. У таблиці повинні бути вказані одиниці виміру. Якщо вони загальні для всієї таблиці, то вказуються в заголовку таблиці (або в дужках, або через кому після назви). Якщо одиниці виміру розрізняються, то вони вказуються в заголовку відповідного рядка або стовпця.
  4. Бажано, щоб всі елементи таблиці були заповнені. При необхідності в них заносять такі умовні позначення:

      Дані невідомі;

      х - дані неможливі;

      ↓ - дані повинні бути взяті з вищерозміщеної осередки.

В осередках таблиць можуть бути розміщені тексти, числа, зображення. Приклад таблиці показаний на рис. 4.18.

Мал. 4.18.
приклад таблиці

Створити таблицю можна за допомогою відповідного пункту меню або кнопки на панелі інструментів, вказавши необхідну кількість стовпців і рядків; в деяких текстових процесорах таблицю можна «намалювати». Створену таблицю можна редагувати, змінюючи ширину стовпців і висоту рядків, додаючи і видаляючи стовпці і рядки, об'єднуючи і розбиваючи ячейки. Вводити інформацію в осередку можна так: за допомогою клавіатури; копіювати і вставляти заздалегідь підготовлені фрагменти. У текстових процесорах є можливість автоматично перетворити наявний текст в таблицю.

Зовнішній вигляд таблиці можна оформити самостійно, підібравши тип, ширину і колір меж осередків, колір фону осередків, відформатувавши вміст комірок. Крім того, відформатувати таблицю можна автоматично.

4.4.3. графічні зображення

Сучасні текстові процесори дозволяють включати в документи різні графічні зображення, створені користувачем в інших програмах або знайдені ним в мережі Інтернет. Готові графічні зображення можна редагувати, змінюючи їх розміри, основні кольори, яскравість і контрастність, повертаючи, накладаючи один на одного і т. Д.

У багатьох текстових процесорах є можливість безпосереднього створення графічних зображень з наборів автофигур (графічних примітивів). Також є можливість створення барвистих написів з використанням вбудованих текстових ефектів.

Візуалізувати числову інформацію, що міститься в таблиці, можна за допомогою діаграм, засоби створення яких також включені в текстові процесори.

Найбільш потужні текстові процесори дозволяють будувати різні види графічних схем (рис. 4.19), що забезпечують візуалізацію текстової інформації.

Мал. 4.19. Види графічних схем в текстовому процесорі Microsoft Word

Найголовніше

Відомо, що текстова інформація сприймається людиною краще, якщо вона візуалізувати - організована у вигляді списків, таблиць, діаграм, забезпечена ілюстраціями (фотографіями, малюнками, схемами).

Всілякі переліки в документах оформляються за допомогою списків. За способом оформлення розрізняють нумеровані і маркіровані списки. Нумерований список прийнято використовувати в тих випадках, коли має значення порядок проходження пунктів; маркований - коли порядок проходження пунктів в ньому не важливий. За структурою розрізняють однорівневі і багаторівневі списки.

Для опису ряду об'єктів, що володіють однаковими наборами властивостей, найбільш часто використовуються таблиці, що складаються із стовпців і рядків. Представлена ​​в таблиці інформація наочна, компактна і легкообозріма.

У сучасних текстових процесорах передбачені можливості включення, обробки і створення графічних об'єктів.

Запитання і завдання

  1. З якою метою розробники включають в текстові документи списки, таблиці, графічні зображення?
  2. Для чого використовуються списки? Наведіть приклади.
  3. Порівняйте нумеровані і маркіровані списки. Що у них спільного? У чому різниця?
  4. Який список називається багаторівневим? Наведіть приклад такого списку?
  5. Вибачте за тимчасові незручності може бути організована в табличній формі? Які переваги забезпечує табличне представлення інформації?
  6. Яких правил слід дотримуватися при оформленні таблиць?
  7. Які графічні об'єкти можуть бути включені в текстовий документ?
  8. Перерахуйте основні можливості текстових процесорів по роботі з графічними об'єктами.

Візуалізація інформації в текстових документах

1. Списки

теорія:

Списки дозволяють людині сприймати інформацію краще.

Списки є зручним варіантом форматування абзаців за єдиним зразком і застосовуються для розміщення в документі різних переліків.

Зверни увагу!

За способом оформлення списки розрізняють:

  • нумеровані;
  • марковані.

Елементи (пункти) нумерованого списку позначаються за допомогою послідовних чисел, для запису яких можуть використовуватися арабські і римські цифри.

Елементи списку можуть бути пронумеровані і буквами - російськими або латинськими.

Нумерований список прийнято використовувати в тих випадках, коли має значення порядок проходження пунктів. Особливо часто такі списки використовують для опису послідовності дій.


У щоденнику учня розклад уроків на кожен навчальний день - це нумеровані списки.

При створенні нових, видаленні або переміщенні існуючих елементів нумерованого списку в текстовому процесорі вся нумерація списку змінюється автоматично.

Елементи маркованого списку позначаються за допомогою значків-маркерів. Користувач може вибрати в якості маркера будь-який символ комп'ютерного і навіть невелике графічне зображення.

Маркований список використовують в тих випадках, коли порядок проходження елементів в ньому не важливий. Наприклад, у вигляді маркованого списку можна оформити перелік предметів, що вивчаються вами в школі.

За структурою розрізняють однорівневі і багаторівневі списки.

Список, елемент якого сам є списком, називається багаторівневим.

Списки створюються в текстовому процесорі за допомогою команди рядка меню або кнопок панелі форматування.

2. Таблиці

теорія:

Для зручності сприйняття інформації часто в текстових документах використовують таблиці. Представлена ​​в таблиці інформація наочна, компактна і легкообозріма.

Таблицю використовують для опису ряду об'єктів, що володіють однаковими наборами властивостей. Найбільш часто використовуються таблиці, що складаються із стовпців (граф) і рядків. Наприклад, розклад уроків, розклад руху автобусів, літаків, поїздів і багато іншого.

Зверни увагу!

Правила оформлення таблиць:
1. Тема таблиці повинен давати уявлення про що міститься в ній інформації.
2. Заголовки стовпців і рядків повинні бути короткими, не містити зайвих слів і, по можливості, скорочень.
3. У таблиці повинні бути вказані. Якщо вони загальні для всієї таблиці, то вказуються в заголовку таблиці (або в дужках, або через кому після назви). Якщо одиниці виміру розрізняються, то вони вказуються в заголовку відповідного рядка або стовпця.
4. Бажано, щоб всі елементи таблиці були заповнені. При необхідності в них заносять такі умовні позначення:
? - дані невідомі; х - дані неможливі;
i - дані повинні бути взяті з вищерозміщеної осередки.

В осередках таблиць можуть бути розміщені тексти, числа, зображення.

Створити таблицю можна за допомогою відповідного пункту меню або кнопки на панелі інструментів, вказавши необхідну кількість стовпців і рядків; в деяких текстових процесорах таблицю можна «намалювати».

Створену таблицю можна редагувати, змінюючи ширину стовпців і висоту рядків, додаючи і видаляючи стовпці і рядки, об'єднуючи і розбиваючи ячейки.

Вводити інформацію в осередку можна:

  • за допомогою клавіатури;
  • копіювати і вставляти заздалегідь підготовлені фрагменти.

У текстових процесорах є можливість автоматично перетворити наявний текст в таблицю і навпаки. Зовнішній вигляд таблиці можна оформити самостійно, підібравши тип, ширину і колір меж осередків, колір фону осередків, відформатувавши вміст комірок. Крім того, відформатувати таблицю можна автоматично.

Щоб змінити вигляд кордонів осередків і заливки внутрішньої області, а також виконання деяких інших дій використовується панель Таблиці і межі.

Можна встановити різний вигляд, товщину і колір меж, а також зробити невидимими деякі кордону осередків або далі всій таблиці.

Зверни увагу!

Застосовувати заливку внутрішньої області слід обережно. По-перше, не треба використовувати колір, крім відтінків сірого, якщо не передбачається кольорового друку. По-друге, текст на тлі заливки повинен добре читатися.

У прямих колонках текст важко розміщувати по горизонталі, тому в програмі передбачена можливість зміни напрямку тексту в осередку.

У багатьох таблицях в першому рядку розташовуються заголовки стовпців. Щоб у великих таблицях заголовки повторювалися на кожному аркуші, треба включити для першого рядка функцію повторити заголовки.

При роботі в таблиці на горизонтальній лінійці відображається ширина поточної комірки і маркери відступів тексту. Тому робота з текстом в осередку виконується так само, як і на звичайній сторінці, тільки ширина рядка істотно менше. Для символів і абзаців можна встановити всі можливі значення параметрів. Щоб прив'язати малюнки до осередку, вони повинні мати положення «в тексті».

3. Графічні зображення в текстовому документі

теорія:

Сучасні текстові процесори дозволяють включати в документи різні графічні зображення, створені користувачем в інших програмах або знайдені ним в мережі Інтернет. Готові графічні зображення можна редагувати, змінюючи їх розміри, основні кольори, яскравість і контрастність, повертаючи, накладаючи один на одного і т.д.

У багатьох текстових процесорах є можливість безпосереднього створення графічних зображень з наборів автофигур (графічних примітивів). Також є можливість створення барвистих написів з використанням вбудованих текстових ефектів. До складу деяких текстових процесорів входить колекція картинок - стилізованих графічних зображень. Більшість картинок є об'єктами векторної графіки.

Візуалізувати числову інформацію, що міститься в таблиці, можна за допомогою діаграм, засоби створення яких також включені в текстові процесори.

Найбільш потужні текстові процесори дозволяють будувати різні види графічних схем, що забезпечують текстової інформації.

Існує два способи розташування графічного зображення в текстовому документі: «в тексті» і «поза текстом». Якщо зображення має положення «в тексті», то воно займає місце між двома символами. При цьому може збільшитися висота рядка. Тому в рядках зазвичай розташовуються невеликі малюнки, якщо малюнок великий, то його поміщають в окремому рядку.

При розташуванні зображення «поза текстом», воно може займати будь-яке місце на аркуші. Зображення можна групувати з іншими графічними об'єктами, робити написи на малюнку.

Для зображень «поза текстом» задають різні види обтікання текстом:

  • навколо рамки;
  • по контуру;
  • наскрізне;
  • за текстом;
  • перед текстом;
  • зверху і знизу.

При оформленні сторінки з ілюстраціями слід дотримуватися наступних правил:

1. Для більш компактного розміщення малюнків використовувати положення «навколо рамки».

2. Не слід розміщувати малюнок посередині тексту. Це ускладнює сприйняття, так як рядки починаються з одного боку малюнка, а закінчуються з іншого. Краще зрушити малюнок до правої або лівої кордоні листа.

3. Необхідно стежити, щоб зовнішні кордони малюнка збігалися з внутрішніми межами полів листа.

4. Якщо малюнок займає більш 3/4 ширини тексту, то краще вибрати розташування тексту зверху і знизу. В цьому випадку можна встановити для малюнка положення «в тексті» і помістити його на окремому рядку (в порожньому абзаці).

5. Малюнки повинні бути відповідні кількості зображених на них елементів. Чим більше на малюнку інформаційних елементів, тим він повинен бути більшими.

При створенні малюнка з автофігур, що знаходяться на панелі Малювання, автоматично з'являється об'єкт «полотно» - прямокутна рамка на всю ширину сторінки. Все автофігури, що входять до складу малюнка, повинні розташовуватися всередині одного полотна.

Полотно - це графічний об'єкт, який має межі і внутрішню область.

До полотну, як до будь-якого графічного об'єкту, можна застосовувати форматування. Розміри полотна можна змінити за розміром малюнка, так, щоб не залишалося багато порожнього простору. Полотно з малюнком може займати положення «в тексті» і «поза текстом».

Полотно відображає перехід користувача від режиму роботи з текстом до режиму роботи з графікою. Щоб завершити роботу над малюнком, треба клацнути поза полотна, щоб продовжити - клацнути всередині полотна. Якщо полотно не активізовано, то для малювання нової автофігури з'явиться нове полотно. Після завершення роботи полотно разом з розташованими на ньому об'єктами становить єдине зображення. Є можливість відключити полотно.

Зверни увагу!

Однак полотно допомагає «не втратити» окремі елементи малюнка. Коли ви створюєте малюнок, треба стежити, щоб всі об'єкти перебували в межах одного полотна, тобто, щоб воно було активізовано, поки ви не закінчили створення зображення.

Після закінчення створення зображення, об'єкти зображення зазвичай групують. Їх можна розгрупувати і при необхідності внести зміни в зображення.

Сподобалася стаття? Поділіться з друзями!