База данных словосочетаний и цитат (cowords.fdb).
Предназначена для накопления словосочетаний, фраз, цитат и привязки к ним ключевых слов. Будет полезна тем, кто пишет различные тексты.
Состоит из двух отдельных задач:
1. Накопление интересных словосочетаний;
2. Накопление цитат с ссылкой на источник и автора.
Для входа в базу:
Пользователь-разработчик - developer
Простой пользователь - user
Пароль для всех - 1
Общая информация.
База изначально, в качестве примера, наполнена некоторыми данными, Вы можете все очистить или удалить определенные записи.
1. Таблица "Ключевые слова" содержит 9498 базовых ключевых слов или стем, т.е. слов, приведенных к их начальной форме.
Вам решать добавлять ли любые ключевые слова, независимо от их склонения, словообразования и т.д. Я добавляю в зависимости от контекста фразы, т.к. иногда необходимо найти конкретное словосочетание или цитату по определенному склоненному ключевому слову или несущую какой либо оттенок, например, деревенско-бытовой, не "любовь", а "любови" - "Она ведь за него пошла по любови".
2. Таблица "Цитаты" содержит только несколько примеров, размер одной цитаты не может быть больше 2000 символов, на практике, наверное, желательно вносить меньше (1700-1900), т.к. есть переводы строк, непечатаемые символы.
3. Таблица "Авторы" включает в себя изображение автора, которые хранятся в базе, т.к. размер изображений у меня 200x200px, Вы можете изменить метод хранения, который Вам будет удобнее.
4. Таблицы содержат проверку уникальности по определенным полям:
4.1. Словосочетания -> Словосочетание.
4.2. Авторы -> Идентификатор автора (скрытое поле, формируется конкатенацией Фамилия, Имя, Отчество, Дата рождения, Дата смерти). В принципе, достаточно было бы и трех идентификационных характеристик, но на всякий случай. Так что, при занесении авторов принимайте это во внимание и старайтесь внести полные данные. Однако, иногда будут встречаться ситуации, когда будет отсутствовать часть идентификационных характеристик, например, у античных авторов дату мы не занесем (а всегда хотелось использовать тип даты), я заношу ее в краткую биографию, а при внесении нового автора обязательно проверяю есть ли он в базе.
4.3. Жанры -> Жанр.
4.4. Имена -> Имя
4.5. Отчества -> Отчество (2-е имя)
4.6. Ключевые слова -> Ключевое слово
4.7. Серия книги -> Серия книги
5. В таблицах "Словосочетания" и "Цитаты" присутствует поле "Обработано", так как Вы можете внести словосочетания или цитаты, а ключевые слова привязать позднее.
6. В каждой таблице присутствуют скрытые поля "Литера (1)", "Литера (2)", "Литера (3)", которые используются для построения дерева.
1. Таблица "Ключевые слова" содержит 9498 базовых ключевых слов или стем, т.е. слов, приведенных к их начальной форме.
Вам решать добавлять ли любые ключевые слова, независимо от их склонения, словообразования и т.д. Я добавляю в зависимости от контекста фразы, т.к. иногда необходимо найти конкретное словосочетание или цитату по определенному склоненному ключевому слову или несущую какой либо оттенок, например, деревенско-бытовой, не "любовь", а "любови" - "Она ведь за него пошла по любови".
2. Таблица "Цитаты" содержит только несколько примеров, размер одной цитаты не может быть больше 2000 символов, на практике, наверное, желательно вносить меньше (1700-1900), т.к. есть переводы строк, непечатаемые символы.
3. Таблица "Авторы" включает в себя изображение автора, которые хранятся в базе, т.к. размер изображений у меня 200x200px, Вы можете изменить метод хранения, который Вам будет удобнее.
4. Таблицы содержат проверку уникальности по определенным полям:
4.1. Словосочетания -> Словосочетание.
4.2. Авторы -> Идентификатор автора (скрытое поле, формируется конкатенацией Фамилия, Имя, Отчество, Дата рождения, Дата смерти). В принципе, достаточно было бы и трех идентификационных характеристик, но на всякий случай. Так что, при занесении авторов принимайте это во внимание и старайтесь внести полные данные. Однако, иногда будут встречаться ситуации, когда будет отсутствовать часть идентификационных характеристик, например, у античных авторов дату мы не занесем (а всегда хотелось использовать тип даты), я заношу ее в краткую биографию, а при внесении нового автора обязательно проверяю есть ли он в базе.
4.3. Жанры -> Жанр.
4.4. Имена -> Имя
4.5. Отчества -> Отчество (2-е имя)
4.6. Ключевые слова -> Ключевое слово
4.7. Серия книги -> Серия книги
5. В таблицах "Словосочетания" и "Цитаты" присутствует поле "Обработано", так как Вы можете внести словосочетания или цитаты, а ключевые слова привязать позднее.
6. В каждой таблице присутствуют скрытые поля "Литера (1)", "Литера (2)", "Литера (3)", которые используются для построения дерева.
Порядок работы по ведению базы.
1. Задача по внесению словосочетаний:
Здесь все просто, вносим словосочетания и привязываем к ним ключевые слова.
2. Задача по внесению цитат:
Как мы читаем? Сначала берем автора, потом его книгу (произведение), затем читая выделяем цитаты.
2.1. Заносим автора;
2.2. Заносим книгу;
2.3. Связываем книгу с автором;
2.4. Заносим цитаты;
2.5. Связываем цитаты с книгой;
2.6. Привязываем к цитатам ключевые слова.
Хотя можно занести автора, от него занести книгу, а от книги завести цитаты (не забываем выбрать книгу):
1. Вносим автора
2. От автора вносим книги (т.к. я добавляю несколько книг сразу и обрабатываю их параллельно)
3. Переходим в форму книги, выбираем необходимую книгу и начинаем от нее вносить цитаты.
3. Некоторые элементы по заполнению базы можно провести в полуавтоматическом режиме.
Для обработки текста используем простые скрипты.
Внимание все скрипты отрабатывались в Linux и используют определенный набор программ:
- sed
- awk
- sort
- cat
- tr
- wc
- mystem (от Яндекс)
3.1. dxcw - обработка словосочетаний для загрузки в Dataexpress.
Синтаксис:
dxcw Файл-источник [Файл-приемник] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tcw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Словосочетание.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Каждое словосочетание в файле должно начинаться с новой строки. Допускаются повторы словосочетаний и пустые строки (они будут удалены).
3.2. apsw - генератор словаря стоп-слов для SED.
Сначала готовим простой текстовый файл в utf-8, каждое слово в файле должно быть с новой строки, допускаются повторы слов.
Затем запускаем: apsw файл_источник файл_приемник
Например: apsw stopwords.txt stopwords_all.dic - используется по умолчанию в других скриптах, так что если не хочется каждый раз указывать словарь, используйте данное имя файла.
Этот скрипт запускается единожды, если у Вас уже есть список стоп-слов.
Можете воспользоваться моим (см. во вложении)
3.3. dxkw - выделение ключевых слов (без стемминга) для загрузки в Dataexpress.
Синтаксис:
dxkw Файл-источник [Файл-приемник] [Файл-словарь стоп-слов] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tkw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Ключевое слово.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Можно использовать любой текст в UTF-8.
3.4. dxstem - выделение основы ключевых слов (стемминг) для загрузки в Dataexpress.
Синтаксис:
dxstem Файл-источник [Файл-приемник] [Файл-словарь стоп-слов] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tkw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Ключевое слово.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Можно использовать любой текст в UTF-8.
4. В файле genre.csv содержатся жанры, принятые для fb2.
Здесь все просто, вносим словосочетания и привязываем к ним ключевые слова.
2. Задача по внесению цитат:
Как мы читаем? Сначала берем автора, потом его книгу (произведение), затем читая выделяем цитаты.
2.1. Заносим автора;
2.2. Заносим книгу;
2.3. Связываем книгу с автором;
2.4. Заносим цитаты;
2.5. Связываем цитаты с книгой;
2.6. Привязываем к цитатам ключевые слова.
Хотя можно занести автора, от него занести книгу, а от книги завести цитаты (не забываем выбрать книгу):
1. Вносим автора
2. От автора вносим книги (т.к. я добавляю несколько книг сразу и обрабатываю их параллельно)
3. Переходим в форму книги, выбираем необходимую книгу и начинаем от нее вносить цитаты.
3. Некоторые элементы по заполнению базы можно провести в полуавтоматическом режиме.
Для обработки текста используем простые скрипты.
Внимание все скрипты отрабатывались в Linux и используют определенный набор программ:
- sed
- awk
- sort
- cat
- tr
- wc
- mystem (от Яндекс)
3.1. dxcw - обработка словосочетаний для загрузки в Dataexpress.
Синтаксис:
dxcw Файл-источник [Файл-приемник] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tcw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Словосочетание.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Каждое словосочетание в файле должно начинаться с новой строки. Допускаются повторы словосочетаний и пустые строки (они будут удалены).
3.2. apsw - генератор словаря стоп-слов для SED.
Сначала готовим простой текстовый файл в utf-8, каждое слово в файле должно быть с новой строки, допускаются повторы слов.
Затем запускаем: apsw файл_источник файл_приемник
Например: apsw stopwords.txt stopwords_all.dic - используется по умолчанию в других скриптах, так что если не хочется каждый раз указывать словарь, используйте данное имя файла.
Этот скрипт запускается единожды, если у Вас уже есть список стоп-слов.
Можете воспользоваться моим (см. во вложении)
3.3. dxkw - выделение ключевых слов (без стемминга) для загрузки в Dataexpress.
Синтаксис:
dxkw Файл-источник [Файл-приемник] [Файл-словарь стоп-слов] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tkw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Ключевое слово.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Можно использовать любой текст в UTF-8.
3.4. dxstem - выделение основы ключевых слов (стемминг) для загрузки в Dataexpress.
Синтаксис:
dxstem Файл-источник [Файл-приемник] [Файл-словарь стоп-слов] [Имя поля в DX] [Ограничитель строки]
- Файл-источник - обязательный аргумент.
- Файл-приемник - необязательный аргумент, по умолчанию: tkw_Файл-источник.csv.
- Имя поля DX - необязательный аргумент, по умолчанию: Ключевое слово.
- Ограничитель строк - необязательный аргумент, по умолчанию: " (кавычка).
- Так как скрипт не проверяет входные параметры необходимо соблюдать порядок необязательных аргументов.
- Нельзя указать Файл-источник Ограничитель строки, однако можно Файл-источник Файл-приемник Файл-словарь стоп-слов
- Можно использовать любой текст в UTF-8.
4. В файле genre.csv содержатся жанры, принятые для fb2.