FAQ — различия между версиями

Материал из OpenCorpora Вики
Перейти к: навигация, поиск
(Я не программист, как вам помочь?)
(still alive)
 
(не показано 28 промежуточных версии 3 участников)
Строка 2: Строка 2:
 
=== В чём суть проекта? ===
 
=== В чём суть проекта? ===
 
Если в двух словах, то мы собираем большую базу данных, состоящую из текстов на русском языке и разнообразной информации, добавленной к текстам и отдельным словам. Такая база называется корпусом. Это нужно для создания, во-первых, инструментов анализа текста, во-вторых, разных производных продуктов и технологий. См. [[:wikipedia:ru:компьютерная лингвистика|Компьютерная лингвистика]], [http://opencorpora.org/?page=about о проекте].
 
Если в двух словах, то мы собираем большую базу данных, состоящую из текстов на русском языке и разнообразной информации, добавленной к текстам и отдельным словам. Такая база называется корпусом. Это нужно для создания, во-первых, инструментов анализа текста, во-вторых, разных производных продуктов и технологий. См. [[:wikipedia:ru:компьютерная лингвистика|Компьютерная лингвистика]], [http://opencorpora.org/?page=about о проекте].
 +
 +
Всё, что мы делаем в рамках OpenCorpora, распространяется бесплатно и под свободными лицензиями. Это принципиальная позиция и так будет всегда.
 +
 
=== Кто участники проекта? Кто его спонсирует? ===
 
=== Кто участники проекта? Кто его спонсирует? ===
 
Список разработчиков есть на [http://opencorpora.org/?page=about этой странице], список участников — на [http://opencorpora.org/?page=stats этой]. Проект не спонсирует никто, мы занимаемся им в свободное время.
 
Список разработчиков есть на [http://opencorpora.org/?page=about этой странице], список участников — на [http://opencorpora.org/?page=stats этой]. Проект не спонсирует никто, мы занимаемся им в свободное время.
 
=== Проект ещё жив? ===
 
=== Проект ещё жив? ===
По состоянию на осень 2012 г. проекту три года и он вполне жив. В любой момент времени можно убедиться в этом, заглянув в [http://code.google.com/p/opencorpora/source/list список последних изменений в коде] и в [http://opencorpora.org/?page=stats статистику разметки корпуса].
+
По состоянию на осень 2017 г. проекту около 8 лет и он вполне жив. В любой момент времени можно убедиться в этом, заглянув в [https://github.com/OpenCorpora/opencorpora список последних изменений в коде] и в [http://opencorpora.org/?page=stats статистику разметки корпуса].
 +
 
 
=== Как быть в курсе ваших новостей? ===
 
=== Как быть в курсе ваших новостей? ===
 
# [http://opencorpora.org/?page=about Подписаться на рассылку]
 
# [http://opencorpora.org/?page=about Подписаться на рассылку]
Строка 11: Строка 15:
 
# [http://vk.com/opencorpora Подписаться на нашу страницу ВКонтакте]
 
# [http://vk.com/opencorpora Подписаться на нашу страницу ВКонтакте]
 
=== Есть другие корпуса, чем ваш лучше? ===
 
=== Есть другие корпуса, чем ваш лучше? ===
Главное — все наши данные доступны под открытой лицензией. Подробно мы описали свою мотивацию в [http://opencorpora.org/doc/articles/2010_IMS.pdf этой статье] и в [http://video.yandex.ru/users/nataxane/view/2/ этом видео].
+
Главное — все наши данные доступны под открытой лицензией. Подробно мы описали свою мотивацию в [http://opencorpora.org/doc/articles/2010_IMS.pdf этой статье].
 +
 
 +
=== Как искать по корпусу? ===
 +
Через сайт — никак, можно скачать дамп и искать в нём. А вообще наш корпус не очень предназначен для поиска, он скорее для обучения или тестирования лингвистических инструментов.
 
=== Что означает слово OpenCorpora? ===
 
=== Что означает слово OpenCorpora? ===
 
Это перевод словосочетания "открытые корпуса" на английский язык. ''Corpora'' — это множественное число от ''corpus''.
 
Это перевод словосочетания "открытые корпуса" на английский язык. ''Corpora'' — это множественное число от ''corpus''.
 +
 
== Данные и их использование ==
 
== Данные и их использование ==
 
=== Какие у вас есть данные? ===
 
=== Какие у вас есть данные? ===
По состоянию на сентябрь 2012 г. данные у нас такие:
+
По состоянию на осень 2017 г. данные у нас такие:
 
* морфологический словарь русского языка (основанный на словаре проекта АОТ), описание формата [http://opencorpora.org/?page=export здесь];
 
* морфологический словарь русского языка (основанный на словаре проекта АОТ), описание формата [http://opencorpora.org/?page=export здесь];
* непосредственно корпус с морфологической разметкой (омонимия не снята, но мы уже её снимаем), актуальный объём можно посмотреть на [http://opencorpora.org/?page=stats странице статистики];
+
* непосредственно корпус с морфологической разметкой, актуальный объём можно посмотреть на [http://opencorpora.org/?page=stats странице статистики];
 +
* подкорпуса со снятой грамматической неоднозначностью объёмом до 150 тыс. слов (есть разные версии);
 
* разные частотные списки слов, составленные по этому корпусу;
 
* разные частотные списки слов, составленные по этому корпусу;
* списки коллокаций по метрике MI.
+
* списки коллокаций по метрике [http://en.wikipedia.org/wiki/Mutual_information MI].
  
 
Всё это можно взять на [http://opencorpora.org/?page=downloads странице Downloads].
 
Всё это можно взять на [http://opencorpora.org/?page=downloads странице Downloads].
  
 +
=== Какие ещё данные планируются? ===
 +
* тексты, размеченные именованными сущностями,
 +
* неразмеченные тексты с метаинформацией,
 +
* n-граммы с лемматизацией,
 +
* коллокации по другим метрикам, кроме MI.
 +
 +
=== Как можно добавить в корпус ещё один или несколько текстов? ===
 +
В данный момент, к сожалению, процедура добавления текстов очень сложная и не очень интересная, поэтому мы пока приостановили добавление вовсе, а в будущем, вероятно, будем делать это сами. Если ваш текст подходит нам по лицензии, то напишите нам и мы его добавим.
 
=== На каких условиях я могу использовать ваши данные? ===
 
=== На каких условиях я могу использовать ваши данные? ===
На условиях лицензии [http://creativecommons.org/licenses/by-sa/3.0/deed.ru Creative Commons Attribution-ShareAlike 3.0]. То есть бесплатно, но при создании чего-либо на основе этих данных вы обязаны, во-первых, указать, что эти данные взяли у нас, во-вторых, лицензировать свой продукт или данные на тех же условиях.
+
На условиях лицензии [http://creativecommons.org/licenses/by-sa/3.0/deed.ru Creative Commons Attribution-ShareAlike 3.0]. То есть бесплатно, но при создании чего-либо на основе этих данных вы обязаны указать, что эти данные взяли у нас, а распространять их дальше можно только на этих же условиях.
  
 
Кстати, если вы будете использовать наши данные, напишите нам об этом, нам будет приятно.
 
Кстати, если вы будете использовать наши данные, напишите нам об этом, нам будет приятно.
 +
 
=== Я нашёл в данных ошибку. Как мне сделать так, чтобы её исправили? ===
 
=== Я нашёл в данных ошибку. Как мне сделать так, чтобы её исправили? ===
 
* если ошибка в том, что у слова не снята неоднозначность, [http://opencorpora.org/tasks.php присоединяйтесь к разметке] и помогите нам это исправить,
 
* если ошибка в том, что у слова не снята неоднозначность, [http://opencorpora.org/tasks.php присоединяйтесь к разметке] и помогите нам это исправить,
* если это что-то другое, вы можете создать сообщение об ошибке [http://code.google.com/p/opencorpora/issues/list здесь] или [mailto:opencorpora@opencorpora.org написать нам письмо].
+
* если это что-то другое, вы можете создать сообщение об ошибке [https://github.com/OpenCorpora/opencorpora/issues здесь] или [mailto:opencorpora@opencorpora.org написать нам письмо].
  
 +
== Код и его использование ==
 
=== Можно ли использовать ваш движок или его часть в своём проекте? ===
 
=== Можно ли использовать ваш движок или его часть в своём проекте? ===
Да, наш код находится [http://opencorpora.googlecode.com здесь] и лицензирован под GPLv2.
+
Да, наш код находится [https://github.com/OpenCorpora/opencorpora здесь] и лицензирован под GPLv2.
  
 
Это означает, в том числе, что если вы хотите использовать код в коммерческом проекте или в проекте с закрытым кодом, то мы не гарантируем, что это легально, поскольку некоторые компоненты, которые мы используем, могут быть лицензионно несовместимы с таким использованием. В случае сомнений спросите у нас.
 
Это означает, в том числе, что если вы хотите использовать код в коммерческом проекте или в проекте с закрытым кодом, то мы не гарантируем, что это легально, поскольку некоторые компоненты, которые мы используем, могут быть лицензионно несовместимы с таким использованием. В случае сомнений спросите у нас.
 +
 +
=== Вы делаете какой-то сопутствующий софт, кроме непосредственно корпуса? ===
 +
Да, у нас сейчас есть [http://search.cpan.org/~ksuri/Lingua-RU-OpenCorpora-Tokenizer/ модуль токенизации], написанный на Perl.
 +
 +
В будущем, предположительно, появится какой-то сегментатор более высокого уровня (для деления текста на предложения) и, возможно, POS-tagger. Следите за новостями.
 +
 +
Кроме того, на основе нашего морфологического словаря делается морфологический анализатор [http://pymorphy2.readthedocs.org/en/latest/ PyMorphy2].
 +
 +
== Рабочий процесс ==
 +
=== Как происходит разметка текста? ===
 +
Поэтапно:
 +
* текст, если он устраивает нас лицензионно, добавляется в базу вместе с метаинформацией (дата публикации, автор и т.п.),
 +
* текст вручную разбивается на предложения и полуавтоматически на токены (довольно подробно мы об этом рассказываем [http://video.yandex.ru/users/nataxane/view/2/ здесь]),
 +
* каждому слову приписываются все возможные разборы из [http://opencorpora.org/dict.php словаря],
 +
* слова группируются в т.н. пулы в соответствии с типом омонимии и предлагаются на разметку сообществу ([http://opencorpora.org/manual.php инструкция]),
 +
* каждое неоднозначное слово размечается таким образом 3-4 разными людьми, при некоторых условиях также проверяется модератором,
 +
* в большинстве случаев омонимия со слова таким образом снимается.
 +
=== На странице статистики есть какой-то % расхождений, что это такое? ===
 +
Возьмём все слова, которые разметил данный участник и для которых получено требуемое количество ответов от разных людей (обычно 3). Теперь выберем из них те случаи, когда хотя бы один ответ в этой тройке отличается от других. Разделим количество вторых на количество первых, это и есть процент расхождений.
 +
 +
Этот показатель очень косвенно ''может'' указывать на точность разметки.
 +
=== А % ошибок? ===
 +
Это процент случаев, когда модератор не согласился с ответом участника. Предполагается, что модератор прав, и именно его ответ в итоге будет в корпусе.
 +
=== Какой смысл собирать 3 ответа с участников, а после этого ещё и ответ модератора? ===
 +
Модераторы проверяют не каждое слово. Хотя если ответы участников не совпадают между собой, к модератору это слово наверняка попадёт.
 +
 +
Мы моделируем это примерно так. Участник может допустить ошибку либо по незнанию, либо случайно (по невнимательности). Поскольку крайне маловероятно, что несколько человек случайно одинаково ошибутся в одном и том же месте, мы показываем каждое слово нескольким участникам, что почти гарантированно защищает от случайных ошибок. Ошибки "по незнанию" случаются в сложных случаях, и эти случаи мы стараемся показывать модератору независимо от наличия разногласий.
 +
 +
В целом, естественно, мы стараемся достичь наибольшей эффективности без потери качества.
 +
 +
=== Но ведь модератор тоже может ошибиться? ===
 +
Несомненно, может. В будущем мы попробуем сделать инструмент для обнаружения "подозрительных" мест в размеченном корпусе. Можете нам помочь, если хотите.
 +
=== Судя по статистике, у меня много ошибок, это плохо? ===
 +
Это не смертельно, потому что каждое слово размечает несколько человек. Но всё же мы просим вас читать инструкции, потому что там могут быть неочевидные случаи, в частности, не согласующиеся со школьными учебниками.
 +
=== Как посмотреть свои ошибки? ===
 +
Зайти на страницу "Мои успехи" (в раскрывающемся меню справа сверху), там максимально полная статистика, в том числе ссылки на ошибки (они на розовом фоне).
 +
 +
=== Что будет, когда мы разметим таким образом все слова? ===
 +
Будем размечать синтаксические отношения. Или значения слов. Или особенные сущности (ФИО, географию и т.д.). Или всё вместе. Что-нибудь точно будет.
 +
== Разное ==
 +
=== На сайте что-то не работает или работает странно ===
 +
Напишите нам, пожалуйста, об этом [https://github.com/OpenCorpora/opencorpora/issues сюда].
 +
=== Что делать, если я не могу авторизоваться (залогиниться)? ===
 +
* Если вы забыли пароль или пароль не подходит - воспользуйтесь кнопкой [http://opencorpora.org/login.php?act=lost_pwd "Забыли пароль?"]
 +
* Если вы заходили через соцсеть, но забыли, через какую именно:
 +
** а) попытайтесь войти через какую-нибудь; если вам будет показан экран с предложением согласиться с нашей лицензией - значит, раньше вы заходили через другую соцсеть
 +
** б) напишите нам, мы посмотрим в базе
 +
* Если вход через соцсеть не работает - напишите нам.
 +
=== Что делать, если я случайно создал больше одного аккаунта? ===
 +
Напишите нам на ''opencorpora (at) opencorpora.org'', мы их склеим.
 +
 
== Как помочь ==
 
== Как помочь ==
 
=== Я программист, как вам помочь? ===
 
=== Я программист, как вам помочь? ===
Мы планируем написать [[Задачи для разработчиков|целую страницу]] про это, пока что [mailto:opencorpora@opencorpora.org пишите нам], мы найдём для вас задачу.
+
[https://github.com/OpenCorpora/opencorpora/issues?state=open Выбирайте]! Если там не нашлось ничего подходящего — напишите нам.
 +
 
 +
Слепок базы данных регулярно выкладывается [http://opencorpora.org/files/export/database/database-dev.sql.gz здесь].
 +
 
 
=== Я не программист, как вам помочь? ===
 
=== Я не программист, как вам помочь? ===
# Примите участие в разметке корпуса ([http://vk.com/topic-29874644_26461626 инструкция]).
+
# Примите участие в разметке корпуса ([http://opencorpora.org/manual.php инструкция]).
 +
# В [https://github.com/OpenCorpora/opencorpora/issues?state=open этом списке] есть некоторые задачи, для которых не нужно уметь программировать.
 
# Расскажите о нас тем, кому это может быть интересно. Подпишитесь на [http://twitter.com/opencorpora наш твиттер] и делайте ретвиты.
 
# Расскажите о нас тем, кому это может быть интересно. Подпишитесь на [http://twitter.com/opencorpora наш твиттер] и делайте ретвиты.
 
# Если вы знаете источник текстов под открытой лицензией (чей-то блог, новостной сайт или ещё что-нибудь), запишите его [http://goo.gl/jm3ol сюда].
 
# Если вы знаете источник текстов под открытой лицензией (чей-то блог, новостной сайт или ещё что-нибудь), запишите его [http://goo.gl/jm3ol сюда].

Текущая версия на 17:56, 23 ноября 2017

Содержание

Общие вопросы

В чём суть проекта?

Если в двух словах, то мы собираем большую базу данных, состоящую из текстов на русском языке и разнообразной информации, добавленной к текстам и отдельным словам. Такая база называется корпусом. Это нужно для создания, во-первых, инструментов анализа текста, во-вторых, разных производных продуктов и технологий. См. Компьютерная лингвистика, о проекте.

Всё, что мы делаем в рамках OpenCorpora, распространяется бесплатно и под свободными лицензиями. Это принципиальная позиция и так будет всегда.

Кто участники проекта? Кто его спонсирует?

Список разработчиков есть на этой странице, список участников — на этой. Проект не спонсирует никто, мы занимаемся им в свободное время.

Проект ещё жив?

По состоянию на осень 2017 г. проекту около 8 лет и он вполне жив. В любой момент времени можно убедиться в этом, заглянув в список последних изменений в коде и в статистику разметки корпуса.

Как быть в курсе ваших новостей?

  1. Подписаться на рассылку
  2. Зафолловить нас в Твиттере
  3. Подписаться на нашу страницу ВКонтакте

Есть другие корпуса, чем ваш лучше?

Главное — все наши данные доступны под открытой лицензией. Подробно мы описали свою мотивацию в этой статье.

Как искать по корпусу?

Через сайт — никак, можно скачать дамп и искать в нём. А вообще наш корпус не очень предназначен для поиска, он скорее для обучения или тестирования лингвистических инструментов.

Что означает слово OpenCorpora?

Это перевод словосочетания "открытые корпуса" на английский язык. Corpora — это множественное число от corpus.

Данные и их использование

Какие у вас есть данные?

По состоянию на осень 2017 г. данные у нас такие:

  • морфологический словарь русского языка (основанный на словаре проекта АОТ), описание формата здесь;
  • непосредственно корпус с морфологической разметкой, актуальный объём можно посмотреть на странице статистики;
  • подкорпуса со снятой грамматической неоднозначностью объёмом до 150 тыс. слов (есть разные версии);
  • разные частотные списки слов, составленные по этому корпусу;
  • списки коллокаций по метрике MI.

Всё это можно взять на странице Downloads.

Какие ещё данные планируются?

  • тексты, размеченные именованными сущностями,
  • неразмеченные тексты с метаинформацией,
  • n-граммы с лемматизацией,
  • коллокации по другим метрикам, кроме MI.

Как можно добавить в корпус ещё один или несколько текстов?

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

На каких условиях я могу использовать ваши данные?

На условиях лицензии Creative Commons Attribution-ShareAlike 3.0. То есть бесплатно, но при создании чего-либо на основе этих данных вы обязаны указать, что эти данные взяли у нас, а распространять их дальше можно только на этих же условиях.

Кстати, если вы будете использовать наши данные, напишите нам об этом, нам будет приятно.

Я нашёл в данных ошибку. Как мне сделать так, чтобы её исправили?

Код и его использование

Можно ли использовать ваш движок или его часть в своём проекте?

Да, наш код находится здесь и лицензирован под GPLv2.

Это означает, в том числе, что если вы хотите использовать код в коммерческом проекте или в проекте с закрытым кодом, то мы не гарантируем, что это легально, поскольку некоторые компоненты, которые мы используем, могут быть лицензионно несовместимы с таким использованием. В случае сомнений спросите у нас.

Вы делаете какой-то сопутствующий софт, кроме непосредственно корпуса?

Да, у нас сейчас есть модуль токенизации, написанный на Perl.

В будущем, предположительно, появится какой-то сегментатор более высокого уровня (для деления текста на предложения) и, возможно, POS-tagger. Следите за новостями.

Кроме того, на основе нашего морфологического словаря делается морфологический анализатор PyMorphy2.

Рабочий процесс

Как происходит разметка текста?

Поэтапно:

  • текст, если он устраивает нас лицензионно, добавляется в базу вместе с метаинформацией (дата публикации, автор и т.п.),
  • текст вручную разбивается на предложения и полуавтоматически на токены (довольно подробно мы об этом рассказываем здесь),
  • каждому слову приписываются все возможные разборы из словаря,
  • слова группируются в т.н. пулы в соответствии с типом омонимии и предлагаются на разметку сообществу (инструкция),
  • каждое неоднозначное слово размечается таким образом 3-4 разными людьми, при некоторых условиях также проверяется модератором,
  • в большинстве случаев омонимия со слова таким образом снимается.

На странице статистики есть какой-то % расхождений, что это такое?

Возьмём все слова, которые разметил данный участник и для которых получено требуемое количество ответов от разных людей (обычно 3). Теперь выберем из них те случаи, когда хотя бы один ответ в этой тройке отличается от других. Разделим количество вторых на количество первых, это и есть процент расхождений.

Этот показатель очень косвенно может указывать на точность разметки.

А % ошибок?

Это процент случаев, когда модератор не согласился с ответом участника. Предполагается, что модератор прав, и именно его ответ в итоге будет в корпусе.

Какой смысл собирать 3 ответа с участников, а после этого ещё и ответ модератора?

Модераторы проверяют не каждое слово. Хотя если ответы участников не совпадают между собой, к модератору это слово наверняка попадёт.

Мы моделируем это примерно так. Участник может допустить ошибку либо по незнанию, либо случайно (по невнимательности). Поскольку крайне маловероятно, что несколько человек случайно одинаково ошибутся в одном и том же месте, мы показываем каждое слово нескольким участникам, что почти гарантированно защищает от случайных ошибок. Ошибки "по незнанию" случаются в сложных случаях, и эти случаи мы стараемся показывать модератору независимо от наличия разногласий.

В целом, естественно, мы стараемся достичь наибольшей эффективности без потери качества.

Но ведь модератор тоже может ошибиться?

Несомненно, может. В будущем мы попробуем сделать инструмент для обнаружения "подозрительных" мест в размеченном корпусе. Можете нам помочь, если хотите.

Судя по статистике, у меня много ошибок, это плохо?

Это не смертельно, потому что каждое слово размечает несколько человек. Но всё же мы просим вас читать инструкции, потому что там могут быть неочевидные случаи, в частности, не согласующиеся со школьными учебниками.

Как посмотреть свои ошибки?

Зайти на страницу "Мои успехи" (в раскрывающемся меню справа сверху), там максимально полная статистика, в том числе ссылки на ошибки (они на розовом фоне).

Что будет, когда мы разметим таким образом все слова?

Будем размечать синтаксические отношения. Или значения слов. Или особенные сущности (ФИО, географию и т.д.). Или всё вместе. Что-нибудь точно будет.

Разное

На сайте что-то не работает или работает странно

Напишите нам, пожалуйста, об этом сюда.

Что делать, если я не могу авторизоваться (залогиниться)?

  • Если вы забыли пароль или пароль не подходит - воспользуйтесь кнопкой "Забыли пароль?"
  • Если вы заходили через соцсеть, но забыли, через какую именно:
    • а) попытайтесь войти через какую-нибудь; если вам будет показан экран с предложением согласиться с нашей лицензией - значит, раньше вы заходили через другую соцсеть
    • б) напишите нам, мы посмотрим в базе
  • Если вход через соцсеть не работает - напишите нам.

Что делать, если я случайно создал больше одного аккаунта?

Напишите нам на opencorpora (at) opencorpora.org, мы их склеим.

Как помочь

Я программист, как вам помочь?

Выбирайте! Если там не нашлось ничего подходящего — напишите нам.

Слепок базы данных регулярно выкладывается здесь.

Я не программист, как вам помочь?

  1. Примите участие в разметке корпуса (инструкция).
  2. В этом списке есть некоторые задачи, для которых не нужно уметь программировать.
  3. Расскажите о нас тем, кому это может быть интересно. Подпишитесь на наш твиттер и делайте ретвиты.
  4. Если вы знаете источник текстов под открытой лицензией (чей-то блог, новостной сайт или ещё что-нибудь), запишите его сюда.
  5. Придумайте, что можно было бы добавить в проект или улучшить, и расскажите нам.
  6. Если вы хорошо знаете русский язык (и особенно если вы лингвист), помогите нам с модерацией разметки (пишите).
  7. Если вы умеете рисовать, нарисуйте нам хороший логотип :)
  8. Если всё это не подходит, напишите нам и мы что-нибудь придумаем.

У меня остались вопросы

Можно написать нам на opencorpora@opencorpora.org, мы будем рады и обязательно вам ответим.