SlideShare a Scribd company logo
Основы предиктивной
аналитики.
Часть третья
Профессор Крылов Владимир Владимирович
Vladimir.V.Krylov@gmail.com
+7 964 839 0004
Основы анализа текстов на естественном
языке – Natural Language Processing (NLP)
Уровни задачи понимания текста
• Извлечение фактов и разбивка текста – разметка
• Обработка на уровне слов - морфология
• Обработка на уровне предложений - парсинг
• Обработка на уровне текста
Корпус текстов
• функции по созданию корпуса из массива данных (DataFrameSource)
• из каталога файлов, каждый из которых содержит отдельный документ
(DirSource)
• из вектора (VectorSource)
• из текстов, доступных по URI-ссылке (URISource)
• из набора новостных сообщений агентства Reuters, входящих в состав
расширения tm (ReutersSource).
• Помимо типов, которые входят в библиотеку tm, пользователь может
оперативно установить расширения из CRAN, позволяющие импортировать
тексты из веб-источников в форматах XML, JSON, HTML (tm.plugin.webmining),
из почтовых файлов eml и mbox (tm.plugin.mail), из файлов французской
программы текстового анализа Alceste (tm.plugin.alceste), из файлов,
полученных от новостных агрегаторов Europresse (tm.plugin.europresse),
LexisNexis (tm.plugin.lexisnexis), Dow Jones Factiva (tm.plugin.factiva).
Форматы текста
• Документы могут храниться в источнике в разных форматах.
Библиотека tm поддерживает чтение документов в форматах
простого текста (readPlain),
• PDF (readPDF),
• Microsoft Word (readDOC),
• XML (readXML),
• табличной структуры (readTabular – для источников
DataFrameSource и VectorSource)
• несколько Reuters-форматов.
Пакеты и функции в составе NLP package, которые
потребуются нам
• library(NLP)
• library(tm) - Text Mining Package
• library(Wordcloud) - Word Clouds building
• library(RColorBrewer)
• library(SnowballC)
• library(lsa)
Подготовка текста
# Файлы хранятся в каталоге articles
dirpath <- "D:/Study/10-АС/Big Data/Text"
articles <- Corpus(DirSource(dirpath),
readerControl = list(reader = readPlain,
language = "ru",
load = T))
# Текстовые файлы были сохранены в кодировке Windows. Конвертируем.
#articles <- tm_map(articles, iconv, 'cp1251', 'UTF-8')
articles <- tm_map(articles, stripWhitespace)
articles <- tm_map(articles, tolower)
articles <- tm_map(articles, removeNumbers)
articles <- tm_map(articles, removeWords, stopwords("russian"))
articles <- tm_map(articles, removePunctuation)
articles <- tm_map(articles, PlainTextDocument)
wordcloud(articles, random.order=F, max.words=80,
colors=brewer.pal(6,"Dark2"))
#inspect(articles)
> stopwords("russian")
[1] "и" "в" "во" "не" "что" "он" "на" "я" "с" "со"
[11] "как" "а" "то" "все" "она" "так" "его" "но" "да" "ты"
[21] "к" "у" "же" "вы" "за" "бы" "по" "только" "ее" "мне"
[31] "было" "вот" "от" "меня" "еще" "нет" "о" "из" "ему" "теперь"
[41] "когда" "даже" "ну" "вдруг" "ли" "если" "уже" "или" "ни" "быть"
[51] "был" "него" "до" "вас" "нибудь" "опять" "уж" "вам" "сказал" "ведь"
[61] "там" "потом" "себя" "ничего" "ей" "может" "они" "тут" "где" "есть"
[71] "надо" "ней" "для" "мы" "тебя" "их" "чем" "была" "сам" "чтоб"
[81] "без" "будто" "человек" "чего" "раз" "тоже" "себе" "под" "жизнь" "будет"
[91] "ж" "тогда" "кто" "этот" "говорил" "того" "потому" "этого" "какой" "совсем"
[101] "ним" "здесь" "этом" "один" "почти" "мой" "тем" "чтобы" "нее" "кажется"
[111] "сейчас" "были" "куда" "зачем" "сказать" "всех" "никогда" "сегодня" "можно" "при"
[121] "наконец" "два" "об" "другой" "хоть" "после" "над" "больше" "тот" "через"
[131] "эти" "нас" "про" "всего" "них" "какая" "много" "разве" "сказала" "три"
[141] "эту" "моя" "впрочем" "хорошо" "свою" "этой" "перед" "иногда" "лучше" "чуть"
[151] "том" "нельзя" "такой" "им" "более" "всегда" "конечно" "всю" "между"
Генерирование облака слов
wordcloud(articles, random.order=F, max.words=80,colors=brewer.pal(6,"Oranges"))
Стемминг – морфологический анализ
## Stemming
>library( SnowballC)
> wordStem(c('молодёжный', "молодёжного", "молодёжном",
"года", "году", "участники", "участников"), language='ru')
[1] "молодёжн" "молодёжн" "молодёжн" "год" "год"
"участник" "участник"
Использование функции mystem.exe от Яндекс
##mystem.exe to the catalogarticles
mystem <- function(doc) {
library(stringr)
sdoc <- system('mystem -nl -e utf-8 ', intern=T, input=doc)
# При получении нескольких вариантов mystem разделяет ихdirpath<-"articles
# вертикальной чертой. Удалим черту и варианты.
sdoc <- str_replace(sdoc, '|.*$', '')
# Если mystem сомневается в результате, он добавляет знак вопроса.
Удаляем.summary
sdoc <- str_replace(sdoc, '?', '')
sdoc <- paste(sdoc, collapse=" ")
attributes(sdoc) <- attributes(doc)
sdoc
}
LSA - Латентный
семантический анализ
Сравнение текстов по смысловому содержанию
Определения
Латентно-семантический анализ отображает документы и
отдельные слова в так называемое «семантическое пространство», в
котором и производятся все дальнейшие сравнения.
При этом делаются следующие предположения:
1) Документы это просто набор слов. Порядок слов в документах
игнорируется. Важно только то, сколько раз то или иное слово
встречается в документе.
2) Семантическое значение документа определяется набором слов,
которые как правило идут вместе. Например, в биржевых сводках, часто
встречаются слова: «фонд», «акция», «доллар»
3) Каждое слово имеет единственное значение. Это, безусловно,
сильное упрощение, но именно оно делает проблему разрешимой.
Основные этапы
• Удаление слов из «стоп-списка»
• Стемминг
• Удаление уникальных слов
• Построение частотной матрицы А индексируемых слов (TF-IDF):
строки – слова
столбцы – тексты
• Сингулярное разложение (SVD) матрицы
• Определение существенной размерности (главных компонент)
• Усечение размерности семантического пространства
• Представление слов и текстов в усеченном пространстве
• Визуализация и ассоциативная кластеризация текстов
TF-IDF анализ
TF (term frequency — частота слова) — отношение числа вхождения некоторого слова к
общему количеству слов документа. Таким образом, оценивается важность слова t_{i} в
пределах отдельного документа.
где есть число вхождений слова в документ, а в знаменателе — общее число слов в данном документе.
IDF (inverse document frequency — обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в документах коллекции.
Основоположником данной концепции является Карен Джонс.
Учёт IDF уменьшает вес широкоупотребительных слов. Для каждого уникального слова в пределах конкретной коллекции документов существует только одно
значение IDF
D -количество документов в корпусе;
количество документов, в которых встречается t .
Частотная матрица для двух далеких текстов
Частотная матрица для двух более близких текстов
Карта слов для двух выбранных документов
Разложение матрицы «слова-документы»
Модель векторного пространства
• Наиболее распространенный вариант LSA основан на использовании разложения
вещественнозначной матрицы по сингулярным значениям или SVD-разложения
(SVD – Singular Value Decomposition). С помощью него любую матрицу можно
разложить в множество ортогональных матриц, линейная комбинация которых
является достаточно точным приближением к исходной матрице. Обычно
используют мультипликативное разложение
• где матрицы U и V – ортогональные, а S – диагональная матрица, значения на
диагонали которой называются сингулярными значениями матрицы A.
• Символ Т в обозначении матрицы означает транспонирование матрицы
• Основная идея латентно-семантического анализа состоит в
следующем:
• после перемножения матриц полученная матрица Ă, содержащая
только k первых линейно независимых компонент исходной
матрицы A, отражает структуру зависимостей (в данном случае
ассоциативных), латентно присутствующих в исходной матрице.
Структура зависимостей определяется весовыми функциями
термов для каждого документа
Особенность такого разложения в том, что если в матрице S оставить
только k наибольших сингулярных значений, то линейная комбинация
получившихся матриц будет наилучшим приближением исходной
матрицы A к матрице Ă ранга k
Пример
• c1: Human machine interface for ABC computer applications
• c2: A survey of user opinion of computer system response time
• c3: The EPS user interface management system
• c4: System and human system engineering testing of EPS
• c5: Relation of user perceived response time to error measurement
• m1: The generation of random, binary, ordered trees
• m2: The intersection graph of paths in trees
• m3: Graph minors IV: Widths of trees and well-quasi-ordering
• m4: Graph minors: A survey
Желтым отмечены слова, встречающиеся хотя бы в двух
заголовках
После SVD
Семантическое пространство
Матрица расстояний между словами
Результат снижения размерности, кластеризация [human, interface, computer, user, EPS,
response, time],
[survey, trees, graph, minors].
Расстояния между заголовками до и после SVD
• Объем корпуса для построения модели должен быть большим – желательно
около трех-пяти миллионов словоупотреблений. Но метод работает и на
коллекциях меньшего объема, правда несколько хуже.
Произвольное разбиение текста на документы обычно производят от тысячи
до нескольких десятков тысяч частей примерно одинакового объема. Таким
образом, матрица термы-на-документы получается прямоугольной и может
быть сильно разраженной. Например, при объеме 5 млн. словоформ
получается матрица 30-50 тысяч документов на 200-300 тысяч, а иногда и
более, термов. В действительности, низкочастотные термы можно опустить,
т.к. это заметно снизит размерность матрицы (скажем, если не использовать
5% от общего объема низкочастотных термов, то размерность сократиться в
два раза), что приведет к снижению вычислительных ресурсов и времени.
Выбор сокращения сингулярных значений диагональной матрицы
(размерности k) при обратном перемножении матриц достаточно
произвольно. При вышеуказанной размерности матрицы оставляют
несколько сотен (100-300) главных компонент. При этом, как показывает
практика, зависимость количества компонент и точность меняются
нелинейно: например, если начинать увеличивать их число, то точность
будет падать, но при некотором значении, скажем, 10000 – опять вырастет
до оптимального случая.
Применение
• сравнение двух термов между собой;
• сравнение двух документов между собой;
• сравнение терма и документа.
Так же иногда этот метод используют для нахождения «ближайшего
соседа» — наиболее близких по весу термов, ассоциативно связанных с
исходным. Это свойство используют для поиска близких по смыслу
термов.
Следует уточнить, что близость по смыслу – это контекстнозависимая
величина, поэтому не всякий близкий терм будет соответствовать
ассоциации (это может быть и синоним, и антоним, и просто часто
встречающееся вместе с искомым термом слово или словосочетание)
• Достоинством метода можно считать его замечательную способность
выявлять зависимости между словами, когда обычные статистические
методы бессильны. LSA также может быть применен как с обучением
(с предварительной тематической классификацией документов), так и
без обучения (произвольное разбиение произвольного текста), что
зависит от решаемой задачи.
• Об основных недостатках: значительное снижение скорости
вычисления при увеличении объема входных данных (в частности, при
SVD-преобразовании).
• Как показано в литературе скорость вычисления соответствует
порядку , где сумма количества документов и термов,
k– размерность пространства факторов.
На рисунке показано возникновение и изменение главных факторов при уменьшении числа сингулярных элементов
диагональной матрицы от 100% до ~12%. Трехмерные рисунки представляют собой симметричную матрицу, полученную в
результате вычисления скалярного произведения векторов каждого эталонного документа с каждым тестируемым.
Эталонный набор векторов – это заранее размеченный на 30 документов текст; тестируемый – с уменьшением числа
сингулярных значений диагональной матрицы, полученной при SVD-анализе. На осях X и Y откладывается количество
документов (эталонных и тестируемых), на оси Z – объем лексикона.
На рисунках хорошо видно, что при уменьшении числа сингулярных диагональных элементов на 20-30% факторы еще не
достаточно ярко выявлены, но при этом возникают корреляции похожих документов (небольшие пики вне диагонали),
которые сначала незначительно увеличиваются, а затем, с уменьшением числа сингулярных значений (до 70-80%) – исчезают.
При автоматической кластеризации такие пики являются шумом, поэтому их желательно минимизировать. Если же целью
является получение ассоциативных связей внутри документов, то следует найти оптимальное соотношение сохранения
основного лексикона и примешивания ассоциативного.
Имплементация в R - Package ‘lsa’
alnumx - Regular expression for removal of non-alphanumeric characters (saving special
characters)
as.textmatrix - Display a latent semantic space generated by Latent Semantic Analysis (LSA)
associate - Find close terms in a textmatrix
corpora - Corpora (Essay Scoring) dimcalc Dimensionality Calculation Routines (LSA)
dimcalc - Dimensionality Calculation Routines (LSA)
lsa- Create a vector space with Latent Semantic Analysis (LSA)
print.textmatrix - Print a textmatrix (Matrices)
sample.textmatrix - Create a random sample of files
textmatrix - Создает Textmatrix (Matrices) из файлов
Пример 1
# create some files
td = tempfile()
dir.create(td)
write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/"))
write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/"))
write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/"))
write( c("dog", "mouse", "dog"), file=paste(td, "D4", sep="/"))
# read files into a document-term matrix
myMatrix = textmatrix(td, minWordLength=1)
# create the latent semantic space
myLSAspace = lsa(myMatrix, dims=dimcalc_raw())
# display it as a textmatrix again
round(as.textmatrix(myLSAspace),2) # should give the original
# create the latent semantic space
myLSAspace = lsa(myMatrix, dims=dimcalc_share())
Пример 2
# create some files
td = tempfile()
dir.create(td)
write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/"))
write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/"))
write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/"))
write( c("dog", "mouse", "dog"), file=paste(td, "D4", sep="/"))
# create matrices
myMatrix = textmatrix(td, minWordLength=1)
myLSAspace = lsa(myMatrix, dims=dimcalc_share())
myNewMatrix = as.textmatrix(myLSAspace)
# calc associations for mouse
associate(myNewMatrix, "mouse")
# clean up
unlink(td, recursive=TRUE)
Пример 3
# create some files
td = tempfile()
dir.create(td)
write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/") )
write( c("ham", "mouse", "sushi"), file=paste(td, "D2", sep="/") )
write( c("dog", "pet", "pet"), file=paste(td, "D3", sep="/") )
# LSA
data(stopwords_en)
myMatrix = textmatrix(td, stopwords=stopwords_en)
myMatrix = lw_logtf(myMatrix) * gw_idf(myMatrix)
myLSAspace = lsa(myMatrix, dims=dimcalc_share())
as.textmatrix(myLSAspace)
# clean up
unlink(td, recursive=TRUE)
Пример 4
# create some files
td = tempfile()
dir.create(td)
write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/") )
write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/") )
write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/") )
# read them, create a document-term matrix
textmatrix(td)
# read them, drop german stopwords
data(stopwords_de)
textmatrix(td, stopwords=stopwords_de)
# read them based on a controlled vocabulary
voc = c("dog", "mouse")
textmatrix(td, vocabulary=voc, minWordLength=1)
# clean up
Вместо заключения
Очевидным недостатком LSA является ненормальность (негаусовость) вероятностного распределения
слов в любом естественном языке. Но эту проблему можно решить сглаживанием выборки (например,
применив фонетические слова: распределение становится более «нормальным»). Либо используют
вероятностный LSA, т.наз. PLSA, основанный на мультиноминальном распределении.
Другим, менее очевидным недостаткам LSA (и ему подобных методов) применительно к обработке
неструктурированной информации можно отнести «туманность» самого метода (в частности, выбора
кол-ва сингулярных значений диагональной матрицы) и интерпретации результата, не говоря уже о
проблеме сбалансированности обучающего текста.
Как правило, для качественного построения модели оставляют менее 1-2 процента от общего числа
диагональных значений (после SVD преобразования, но об это в следующем посте). И, как показывает
практика, увеличение числа факторов приводит к ухудшению результата. Но дойдя примерно до 10
процентов от общего числа диагональных значений, опять может быть всплеск, аналогичный результату,
полученному при 1%.
Сбалансированность корпуса – вечная проблема, которая не имеет хорошего решения на сегодняшний
день. Поэтому про нее приято помалкивать.
Интерпретируемость результатов LSA (как и DLA) также затруднительна: человек еще может понять, что
за тематику будет содержать топик, полученный в результате анализа, а вот машине не понять (не
аннотировать) тематику без привлечения большого числа хороших и разных тезаурусов.
Таким образом, несмотря на трудоемкость и непрозрачность LSA, он может успешно применяться для
разного рада задач, где важно поймать семантику сообщения, обобщить или расширить «смыслы»
поискового запроса
• Стандарт, основанный на XML
для обмена моделями,
статистической обработки,
Data Mining .
• Поддерживается более 20
организациями и
поставщиками ПО.
• Реализован, в частности, и в R
Поддерживаемые предиктивные алгоритмы в R
Состав pmml package
• addLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• addMSAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• fileToXMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.coxph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.cv.glmnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.glm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.hclust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.kmeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.ksvm
• pmml.lm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.multinom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.naiveBayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.nnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.randomForest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.rfsrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.rpart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmml.svm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmmlCanExport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
• pmmltoc
Пример
Good by R, see you later, alligator!
WATSON – одно из наиболее впечатляющих
применений предиктивной аналитики
Разрабатывался компанией IBM с 2006 по 2010 год
Прославился победой в телешоу Jeopardy (в России – «Своя игра») в 2011 году
Предшественник Deep Blue обыграл чемпиона мира по шахматам Гарри Каспарова в 1997 г.
IBM Deep QA Project
• Целью проекта было создать компьютерную систему (ИИ) для ответа
на вопросы (QA), задаваемые в свободной форме в телешоу и показать
результаты соизмеримые с человеческими
• Задача более сложная, чем шахматная программа Deep Blue,
выигравшая у Каспарова в 1997 г.
• Вопросы по категориям
Category: General Science
Clue: When hit by electrons, a phosphor gives off electromagnetic energy in this
form.
Answer: Light (or Photons)
Category: Lincoln Blogs
Clue: Secretary Chase just submitted this to me for the third time; guess what, pal.
This time I’m accepting it.
Answer: his resignation
Category: Head North
Clue: They’re the two states you could be reentering if you’re crossing Florida’s
northern border.
Answer: Georgia and Alabama
Вопросы могут касаться сразу нескольких фактов, чтобы ответ был
верным
Category: “Rap” Sheet
Clue: This archaic term for a mischievous or annoying child can also mean a
rogue or scamp.
Subclue 1: This archaic term for a mischievous or annoying child.
Subclue 2: This term can also mean a rogue or scamp.
Answer: Rapscallion
Category: Diplomatic Relations
Clue: Of the four countries in the world that the United States does not
have diplomatic relations with, the one that’s farthest north.
Inner subclue: The four countries in the world that the United States does
not have diplomatic relations with (Bhutan, Cuba, Iran, North Korea).
Outer subclue: Of Bhutan, Cuba, Iran, and North Korea, the one that’s
farthest north.
Answer: North Korea
Вопросы - пазлы
Category: Before and After Goes to the Movies
Clue: Film of a typical day in the life of the Beatles, which includes running
from bloodthirsty zombie fans in a Romero classic.
Subclue 2: Film of a typical day in the life of the Beatles.
Answer 1: (A Hard Day’s Night)
Subclue 2: Running from bloodthirsty zombie fans in a Romero classic.
Answer 2: (Night of the Living Dead)
Answer: A Hard Day’s Night of the Living Dead
Category: Rhyme Time
Clue: It’s where Pele stores his ball.
Subclue 1: Pele ball (soccer)
Subclue 2: where store (cabinet, drawer, locker, and so on)
Answer: soccer locker
Недопустимые типы вопросов
oCategory: Picture This
(Contestants are shown a picture of a B-52 bomber)
Clue: Alphanumeric name of the fearsome machine seen here.
Answer: B-52
oCategory: Decode the Postal Codes
Verbal instruction from host: We’re going to give you a word
comprising two postal abbreviations; you have to identify the states.
Clue: Vain
Answer: Virginia and Indiana
Лексические типы ответа – LAT (Lexical Answer Type)
Метрики качества ответов - результативность
Показатели двух теоретических QA систем
Показатели результативности чемпионов шоу (2000)
Облако
победителей
Линия сравнения результативности (baseline performance)
Сравнение системы тестового поиска и поиска в базе знаний
Результативность Watson (по версиям)
Основы подхода Deep QA
• Massive parallelism: использование высокого параллелизма при
рассмотрении множественных интерпретаций и гипотез.
• Many experts: привлечение интеграции, приложения и
контекстуального оценивания в широком диапазоне слабосвязанных
вероятностных вопросов и контентной аналитики..
• Pervasive confidence estimation: повсеместная оценка доверия
означает, что ни один из компонентов не включается в ответ сразу, все
компоненты имеют признаки и связанные с ними уровни доверия,
производится скоринг различных вопросов и контентная
интерпретация. Основа confidence-processing состоит в обучении как
стэкировать и комбинировать баллы.
• Integrate shallow and deep knowledge: интеграция поверхностных и
глубинных знаний состоит в балансе использования строгой семантики
и мелких семантик использующих множества слабо сформированных
онтологий.
• Content Acquisition - Сбор контента
Сочетает ручные и автоматические этапы. Первым
шагом является анализ примеров вопросов
проблемного пространства, чтобы произвести
описание видов вопросов, на которые нужно
ответить и характеризовать область применения.
Анализ примеров вопросов, в первую очередь
ручная задача, в то время как анализ области
может быть выполнен путем автоматических или
статистических методов, таких как анализ LAT,
показанный ранее. Учитывая вопросы для
широкого домена Jeopardy Challenge, источники
для Watson включают широкий ассортимент
энциклопедий, словарей, тезаурусов, Newswire
статьи, литературные произведения и т.д. Начиная
с разумного размера базового корпуса, DeepQA
затем применяет автоматический процесс
расширения корпуса. Процесс включает в себя
четыре этапа высокого уровня: (1) выявления
основных документов и получить
соответствующие документы из Интернет; (2)
извлечь автономные текстовые ядра из связанных
веб-документов; (3) Оценка на основе ядер,
являются ли они информативны по отношению к
исходному основному документу; и (4)
объединить наиболее информативные ядра в
расширенном корпусе. Работающая система
использует этот расширенный корпус и не имеет
доступа к Интернет во время игры.
• Question Analysis – Анализ вопроса
Первый шаг во время выполнения процесса
вопрос-ответной системы. При анализе
вопроса система пытается понять, что вопрос
задан и выполняет начальный анализ,
определяющий, как вопрос будет обработан
на остальных этапах работы системы.
Подход DeepQA использует смешанный
набор экспертов, на данном этапе, и в
системе Watson производится мелкий
парсинг, глубокий парсинг , строятся
логические формы, семантические этикетки
ролей, взаимные ссылки, отношения,
именованные сущности, и так далее, а также
конкретные виды анализа для ответа вопрос.
• Question classification - Классификация
вопроса
Это задача выявления типа вопроса или
частей вопроса, которые требуют
специальной обработки. Это может включать
в себя что-нибудь из отдельных слов с
двойным смыслом и потенциально, до
выявления целых статей, которые имеют
определенную синтаксическую,
семантическую, или риторические
функциональные возможности, которые
могут инициировать нисходящий анализ.
Классификация может определить вопрос,
как вопрос- головоломку, вопрос-математику
-определение, и так далее. Это будет
определять каламбуры, ограничения,
компоненты определений или целые
подвопросы в пределах вопросов.
• Focus and LAT Detection –
Определение фокуса и
лексического типа ответа
Лексический тип ответа - это слово или
словосочетание в вопросе, который определяет
тип ответа без попытки понять семантику.
Определение LAT является важным видом
выигрыша и общим источником критических
ошибок. Преимущество подхода DeepQA является
использование многих самостоятельно
разработанных алгоритмов «ответ-типирования».
Например фокус вопроса викторины : «При
попадании электронов, люминофор излучает
электромагнитную энергию в этой форме» -
является «эта форма» Фокус часто (но не всегда)
содержит полезную информацию об ответе, часто
субъект или объект отношение в вопросе, и может
превратить вопрос в фактическое утверждение
при замене возможным кандидатом. Это
представляет полезный способ собирать
доказательства о каждом кандидате.
• Relation Detection – детектирование
отношений
Большинство вопросов содержит отношения, являются ли они
синтаксическими предикатами субъект-глагол-объект или
семантические отношения между субъектами. Например, в
вопросе: «Есть два штата в которые вы могли бы войти
повторно, если вы пересекаете северную границу штата
Флорида» мы можем обнаружить отношение границы
(Флорида,? Х, к северу). Watson использует обнаружение
отношения на протяжении всего процесса QA, от фокуса и LAT
определения, до прохождению и скорингу ответов . Watson
также может использовать обнаруженные отношения для
выделения хранилища триплетов и напрямую генерировать
кандидатов в ответы. В 20000 игр Jeopardy вопросы, например,
обнаружили, распределение Freebase отношений чрезвычайно
плоского вида (см. рисунок). Это приближение распределеня 50
наиболее частых отношений в 20 000 случайно выбранных
вопросах викторины
• Decomposition – декомпозиция
Важным требованием успеха анализа Jeopardy является
способность отвечать на вопросы, которые разложены на
составляющие. DeepQA использует основанный на правилах
глубокий парсинг и статистические методы классификации,
чтобы наилучшим образом разложить вопросы на элементы и
определить, как лучше разбить их на подвопросы. Операционная
гипотеза, что правильная интерпретация вопроса позволит
лучше произвести скоринг ответов после того, как все
доказательства собраны. Даже если вопрос не должен быть
разложен для определения ответа, этот метод может помочь
улучшить общее доверие ответу системы. DeepQA решает задачи
параллельно для каждого разложения, применяя алгоритмы от
начала до конца каждого подвопроса и синтезирует
окончательные ответы. DeepQA также поддерживает вложенные
декомпозиции вопросов через рекурсивное применение QA
системы от начала до конца в внутреннем подвопросе, а затем
во внешнем. Настраиваемые компоненты позволяют легко
подключать специализированные алгоритмы синтеза в общую
систему.
• Hypothesis Generation –
генерация гипотез
Генерация гипотез принимает результаты
анализа вопросов и производит
кандидатов на ответы. Каждый кандидат
ответ включается обратно в вопрос и это
считается как гипотеза. Система должна
доказать правильность этой гипотезы с
некоторой степенью уверенности. Как и во
всех аспектах DeepQA, используется смесь
разных подходов для первичного поиска и
генерации кандидата в системе Watson
• Primary Search – первичный
поиск
В этом поиске целью является найти столько
потенциально кандидатов, сколько это можно сделать на
основе результатов анализа вопроса. В течение проекта
велись эмпирические исследования, направленные на
баланс скорости, объема и точности. Эти исследования
позволили регулярно настраивать систему, так, чтобы
найти такое количество кандидатов, которые
производят наилучший баланс точности и
вычислительных ресурсов. Оперативная цель основного
поиска в конечном счете стабилизировалась на около 85
процентов для топ-250 кандидатов; то есть, система
генерирует правильный ответ как кандидата ответа на 85
процентов вопросов где-то в верхних 250
ранжированных кандидатов. Разнообразие методов
поиска используются, в том числе с использованием
нескольких текст поисковых системах с различными
базовыми подходами (например, Indri и Lucene), поиск
документов, а также поиска маршрута, база знаний
поиска с помощью SPARQL хранилища триплетов. Для
небольшого количества латов, которые были
определены как "закрытые латы," кандидат на ответ
может быть получен из фиксированного списка в каком-
то хранилище известных экземпляров LAT, таких, как
"США Президент "или" Страна ".
Поиск доказательств
• Поиск по фразе – число соответствий разного типа
в ответе и вопросе
• Популярность – как часто встречается этот вариант ответа
• Соответствие по типу – ответ и требование вопроса
• Соответствие по времени
• Надежность источника
• Candidate Answer Generation –
генерирование кандидатов на
ответ
Результаты поиска применяются для
генерирования возможных кандидатов в
ответы с помощью различных подходящих
техник. Для поиска документов извлекаются
заголовки и используются как кандидаты.
Число кандидатов при этом может быть не
единственным и требовать использования
анализа подстрок и ссылок. Используя
детектирование именованных сущностей в
ряде случаев удается извлечь хороших
кандидатов. В зависимости от типа источника
для генерирования кандидата требуется
разный набор алгоритмов, например база
знаний или обратный словарь порождают
кандидатов непосредственно как кандидата.
Этот этап критически важен и если
кандидаты не найдены, то фиксируется
невозможность ответа. В нормальном
режиме на этом этапе Watson гененерирует
несколько сотен андидатов.
• Soft Filtering – мягкая фильтрация
Для ускорения процесса скоринга
кандидатов Watson использует различные
алгоритмы разной точности. Более
легковесные (менее вычислительно
интенсивные) применяются на первом этапе
скоринга. На этом этапе устанавливается
порог оценки и кандидаты имеющие более
высокую оценку считаются прошедшими
мягкую фильтрацию. Они поступают на
выработку гипотез и скоринг доказательств.
Интересно, что кандидаты, не прошедшие
порог мягкой фильтрации, не забываются, а
направляются прямо на финальный этап
слияния. Модель скоринга мягкой
фильтрации и порога определяются на
основе machine learning используя
обучающие данные. Watson типично
пропускает через мягкую фильтрацию 100
кандидатов, но эта функция
параметризована и их число можно
изменить.
Проблемы NLP
• В мае 1898 года Португалия отмечала 400-летний юбилей со дня
прибытия этого великого путешественника в Индию
В мае Гари прибыл в Индию после празднования своего юбилея в
Португалии
21 мая 1498 года Васка де Гама высадился в местечке Каппад
• Он был помилован президентом 8 сентября 1974 года
Форд помиловал Никсона 8 сентября 1974 года ? Никсон ? Форд
• Говоря “give a trinkle”, что предлагают вам сделать британцы по
приезду в город?
• Hypothesis and Evidence Scoring –
скоринг гипотез и доказательств
Прошедшие порог мягкой фильтрации
кандидаты поступают на скрупулезный
процесс, который включает сбор
дополнительных поддерживающих
доказательств для каждого кандидата на
ответ или гипотезу. Процесс использует
широкий набор различных методов
скоринговой аналитики, чтобы исследовать
все поддерживающие доказательства.
• Evidence Retrieval – извлечение
доказательств
Чтобы лучше исследовать каждого
кандидата, прошедшего через мягкую
фильтрацию, система собирает
дополнительные поддерживающие
доказательства. Архитектура поддерживает
интеграцию различных evidence-gathering
техник. Один из применяемых способов
состоит в том, что проводится
дополнительный поиск, в котором кандидат
добавляется в качестве required term к
первичному запросу, извлеченному из
вопроса. Это будет приводить к получению
выражений, содержащих кандидата в
контексте первичных терминов вопроса.
Поддерживающие доказательства могут быть
извлечены и из других источников,
например, из RDF баз знаний. Извлеченные
поддерживающие доказательства
направляются модули глубокого скоринга,
которые анализируют кандидата в контексте
поддерживающего доказательства.
• Scoring – скоринг (количественное
оценивание)
Алгоритмы скоринга определяют степень несомненности
которую обеспечивают доказательства в поддержку кандидата.
The DeepQA framework поддерживает множество компонент для
выработки оценки в различных измерениях каждого
доказательства, которая вырабатывает оценку, связанную с тем
насколько хорошо доказательство поддерживает кандидата на
ответ в качестве ответа на заданный вопрос.
DeepQA использует общий формат для оценок для принятых
гипотез и подтверждающих оценок, отражающих семантические
и ограничивающие факторы. Это позволяет разработчикам
DeepQA быстро разворачивать перемешивать и настраивать
сложные совокупности модуле для обработки.Напрмер Watson
использует больше чем 50 скоринговых компонент . Они
производят оценки разноготипа от оценок вероятностей до
подсчета категориальных свойств основанных на
доказательствах от различных источников, включая
неструктурированные тексты, полуструктурированные тексты и
RDF хранилища. Эти оценки используют такие данные как degree
of match between a passage’s predicate-argument structure and the
question, passage source reliability, geospatial location, temporal
relationships, taxonomic classification, the lexical and semantic
relations the candidate is known to participate in, the candidate’s
correlation with question terms, its popularity (or obscurity), its
aliases, and so on.
Вопрос: Чили имеет самую длинную общую
границу со страной...
Сгенерировано несколько кандидатов среди
них Аргентина и Боливия. Первичный поиск
даст приоритет Боливии из=а популярности
обсуждений их отношений. Однако собранные
Watson доказательства из других источников
показывают более высокую оценку для
Аргентины.
Скоринг (взвешивание) доказательств – предиктивная аналитика
- При делении клеток митозом называется деление ядра, а
цитокинезом – деление этой жидкости, в которой находится ядро
Генерирование кандидатов Сбор доказательств Уверенность в доказательстве
Органеллы
Вакуоль
Цитоплазма
Плазма
митохондрии
Органеллы – не жидкость
Вакуоль – не жидкость
Цитоплазма – возможно, жидкость
Плазма – не жидкость
Митохондрии – не жидкость
Цитоплазма – 92%
Органеллы – 19%
Вакуоль – 10%
Плазма – 2%
Митохондрии – 2%
Answer Merging – объединение ответов
Многие кандидаты в ответы на поставленный вопрос могут
быть эквивалентны, несмотря на различные внешне
формы.Техники ранжирования тем не менее рассматривают
таких кандидатов как различные. Без объединения,
алгоритмы ранжирования будут работать отдельно с
эквивалентными сущностями и пытаться противопоставить
одну форму другой. Это приведет к проблемам принятия
решений. Watson содержит алгоритмы идентификации
эквивалентных сущностей используя множественные
сравнения, нормализацию и методы разрешения
совместных ссылок.
Ranking and Confidence Estimation –
ранжирование и оценивание
доверия
После объединения система должна произвести ранжирование
гипотез и оценивает доверие основанное на объединенных
оценках. В системе подобран ML подход основанный на
обучении на обучающем наборе вопросов с известными
ответами и обучение модели основываясь на скоринге.
Применяется как весьма плоская модель и существующие
алгоритмы ранжирования. Для более тонких оценок
применяется двухфазный процесс, использующий группы оценок
для оценивания профиля и для оценки доверия. Используя эту
промежуточную модель система производит ансамбль
промежуточных оценок. Здесь используется иерархическая
техника метаучителя и коллектива экспертов. Этот подход
обеспечивает итеративное расширение обучения используя
изощренные и глубокие иерархические модели,
обеспечивающие гибкость и робастность при выработке оценок
и модифицирует систему.
Метаучитель в Watson использует набор многие обучаемые
модели чтобы управлять различными классами вопросов,
которые могут быть критическими при идентификации
правильных ответов.
Наконец, важно, что использование NLP-based скоринга дает
весьма разреженные оценки и требует точного оценивания с
применением confidence-weighted learning techniques.
Развертывание Watson
• DeepQA разработан используя Apache UIMA - framework implementation of the Unstructured
Information Management Architecture (Ferrucci and Lally 2004). UIMA был разработан для
поддержки взаимодействия и масштабирования приложений обработки текста и
мультимодального анализа. Все компоненты DeepQA имплементированы как UIMA
annotators. Это программные компоненты для анализа текста и получения аннотаций или
заключений о тексте. Watson развивался в процессе разработки от нескольких компонент до
нескольких сотен. UIMA обеспечивает быструю интеграцию компонент, тестирование и
исследование.
• Начальная имплементация Watson запускалась на одном процессоре и требовала 2 часа на
ответ на один вопрос. DeepQA развился в параллельную систему используя UIMA-AS, часть
Apache UIMA, масштабируя приложения UIMA используя асинхронный механизм
месседжинга. UIMA-AS позволила масштабировать Watson более чем на 2500
вычислительных ядер. UIMA-AS управляет коммуникациями, месседжингом, управлением
запросами используя open JMS standard. UIMA-AS позволил снизить латентность Watson до
3–5 секунд.
• Для препроцессинга корпуса текстов создания быстрых run-time indices использован
Hadoop.UIMA annotators были развернуты как mapper ы в Hadoop map-reduce framework.
Hadoop распределяет контент по кластеру для обеспечения высокого использования CPU и
обеспечивает подходящий набор инструментов для deploying, managing, and monitoring the
corpus analysis process.
• Аппаратная платформа – это 90 серверов, 2800 ядер, 15 ТБ RAM, 80 Тфлопс, $3 000 000, 10 R
Результативность Watson (по версиям)
IBM WATSON сегодня
• Сегодня сотни клиентов и партнеров из 6 континентов, 25 стран и 12 отраслей имеют
проекты, порожденные Watson. Watson революционизирует медицину , трансформирует то
как бизнес взаимодействует и вовлекает кастомеров, ускоряет научные исследования.
• Например, три top-ranked US News и World Report for Health 2014-2015 госпиталя,
занимающиеся исследованиями рака, работают с Watson -- Memorial Sloan Kettering,
University of Texas MD Anderson Cancer Center и Mayo Clinic. IBM также работает с Cleveland
Clinic и New York Genome Center для ускорения внедрения genomic based medicine
используя Watson для идентификации паттернов в геноме и научить клинических врачей
практике использования генных технологий. Новое приложение Pathway Genomics
анонсированное в November 2014, реализованное в Watson может обеспечить
персонализацию медицины обеспечивая взаимодействие между врачами и их пациентами
с использованием коллективного опыта.
• В августе 2014, IBM анонсировала главное расширение когнитивных вычислений Watson в
системе Watson Discovery Advisor – первой из систем визуального взаимодействия и
проведения исследований. Watson Discovery Advisor обеспечивает научных исследователей
возможностями задавать вопросы, на которые еще неизвестны ответы. The Watson
Discovery Advisor может быть применен в многих отраслях включая финансовые сервисы,
customer service, retail, law enforcement, education and life sciences.
• В последнее время в прессе появилась информация об использовании Watson Discovery
Advisor для принятия решений в правительственных организациях.
Для тех, кто хочет узнать больше:
http://www.bobblum.com/ESSAYS/COMPSCI/Watson.html
http://www.quora.com/How-does-IBMs-Watson-work
David Ferrucci , Eric Brown, Jennifer Chu-Carrol, James Fan, David Gondek, Aditya A. Kalyanpur,
Adam Lally, J. William Murdock, Eric Nyberg, John Prager, Nico Schlaefer, Chris Welty
И спасибо вам за прослушанный курс!

More Related Content

What's hot

Сверточные нейронные сети
Сверточные нейронные сетиСверточные нейронные сети
Сверточные нейронные сети
Ivan Kavalerov
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
Igor Shkulipa
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераYandex
 
0. основы r
0. основы r0. основы r
0. основы rmsuteam
 
Лекция 11. Деревья отрезков (Interval trees)
Лекция 11. Деревья отрезков (Interval trees)Лекция 11. Деревья отрезков (Interval trees)
Лекция 11. Деревья отрезков (Interval trees)
Mikhail Kurnosov
 
экспертные системы
экспертные системыэкспертные системы
экспертные системыsokol_klinik
 
Лекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графеЛекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графе
Mikhail Kurnosov
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
CocoaHeads
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
Dzianis Pirshtuk
 
word2vec (part 1)
word2vec (part 1)word2vec (part 1)
word2vec (part 1)
Denis Dus
 
word2vec (часть 2)
word2vec (часть 2)word2vec (часть 2)
word2vec (часть 2)
Denis Dus
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Mikhail Kurnosov
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Technopark
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev - Anna
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)
Mikhail Kurnosov
 
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Mikhail Kurnosov
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска

What's hot (20)

Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Сверточные нейронные сети
Сверточные нейронные сетиСверточные нейронные сети
Сверточные нейронные сети
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.C++ Базовый. Занятие 12.
C++ Базовый. Занятие 12.
 
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдераАндрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
Андрей Устюжанин - Технологии обработки данных из Большого адронного коллайдера
 
0. основы r
0. основы r0. основы r
0. основы r
 
Лекция 11. Деревья отрезков (Interval trees)
Лекция 11. Деревья отрезков (Interval trees)Лекция 11. Деревья отрезков (Interval trees)
Лекция 11. Деревья отрезков (Interval trees)
 
экспертные системы
экспертные системыэкспертные системы
экспертные системы
 
Лекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графеЛекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графе
 
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
Встреча №9. Алгоритмы и коллекции стандартных библиотек C++, C#, Java, Object...
 
Рассуждения на основе прецедентов
Рассуждения на основе прецедентовРассуждения на основе прецедентов
Рассуждения на основе прецедентов
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
 
word2vec (part 1)
word2vec (part 1)word2vec (part 1)
word2vec (part 1)
 
word2vec (часть 2)
word2vec (часть 2)word2vec (часть 2)
word2vec (часть 2)
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev -
 
Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)Лекция 7. Стандарт OpenMP (подолжение)
Лекция 7. Стандарт OpenMP (подолжение)
 
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
Лекция 7. Декартовы деревья (Treaps, дучи, дерамиды)
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 

Viewers also liked

Деловая разведка и контрразведка
Деловая разведка и контрразведкаДеловая разведка и контрразведка
Деловая разведка и контрразведка
Дмитрий Иванов
 
нил тбд нтс_10-13
нил тбд нтс_10-13нил тбд нтс_10-13
нил тбд нтс_10-13Vladimir Krylov
 
!Predictive analyticbasics part1
!Predictive analyticbasics part1!Predictive analyticbasics part1
!Predictive analyticbasics part1
Vladimir Krylov
 
Big datatech by-vkrylov
Big datatech by-vkrylovBig datatech by-vkrylov
Big datatech by-vkrylov
Vladimir Krylov
 
Prezent uchitel
Prezent uchitelPrezent uchitel
Prezent uchitelVe-le-na
 
Аналитика и конкурентная разведка
Аналитика и конкурентная разведкаАналитика и конкурентная разведка
Аналитика и конкурентная разведка
Евгений Храмов
 
Медиалогия - Мониторинг и анализ СМИ
Медиалогия - Мониторинг и анализ СМИМедиалогия - Мониторинг и анализ СМИ
Медиалогия - Мониторинг и анализ СМИМедиалогия
 
Social Media in Practice
Social Media in PracticeSocial Media in Practice
Social Media in Practice
telshef
 
ИКТ в гуманитарных науках
ИКТ в гуманитарных наукахИКТ в гуманитарных науках
ИКТ в гуманитарных наукахJulia Martinavichene
 
Legal Aspects of Social Networks (in Russian)
Legal Aspects of Social Networks (in Russian)Legal Aspects of Social Networks (in Russian)
Legal Aspects of Social Networks (in Russian)
Vladislav Arkhipov
 
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архивSCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
«ОБЩЕСТВО АНАЛИТИКОВ И ПРОФЕССИОНАЛОВ КОНКУРЕНТНОЙ РАЗВЕДКИ»
 
Мессенджеры: зачем они блогерам?
Мессенджеры: зачем они блогерам?Мессенджеры: зачем они блогерам?
Мессенджеры: зачем они блогерам?
Max Kornev
 
Онлайновые методы проверки источников и контента
Онлайновые методы проверки источников и контентаОнлайновые методы проверки источников и контента
Онлайновые методы проверки источников и контента
Max Kornev
 
Дата-журналистика. Визуализация контента
Дата-журналистика. Визуализация контентаДата-журналистика. Визуализация контента
Дата-журналистика. Визуализация контента
Max Kornev
 
Когда сведения становятся фактами. Факт-чекинг: виды и методы
Когда сведения становятся фактами. Факт-чекинг: виды и методыКогда сведения становятся фактами. Факт-чекинг: виды и методы
Когда сведения становятся фактами. Факт-чекинг: виды и методы
Max Kornev
 
Сборник статей "Digital-агрессия: что делать и кто виноват?"
Сборник статей "Digital-агрессия: что делать и кто виноват?"Сборник статей "Digital-агрессия: что делать и кто виноват?"
Сборник статей "Digital-агрессия: что делать и кто виноват?"
Max Kornev
 
ИПК_Социология и метрика интернет сми
ИПК_Социология и метрика интернет смиИПК_Социология и метрика интернет сми
ИПК_Социология и метрика интернет сми
Max Kornev
 
медиалогия Baltic pr weekend
медиалогия Baltic pr weekendмедиалогия Baltic pr weekend
медиалогия Baltic pr weekendМедиалогия
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
Aaron Irizarry
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 

Viewers also liked (20)

Деловая разведка и контрразведка
Деловая разведка и контрразведкаДеловая разведка и контрразведка
Деловая разведка и контрразведка
 
нил тбд нтс_10-13
нил тбд нтс_10-13нил тбд нтс_10-13
нил тбд нтс_10-13
 
!Predictive analyticbasics part1
!Predictive analyticbasics part1!Predictive analyticbasics part1
!Predictive analyticbasics part1
 
Big datatech by-vkrylov
Big datatech by-vkrylovBig datatech by-vkrylov
Big datatech by-vkrylov
 
Prezent uchitel
Prezent uchitelPrezent uchitel
Prezent uchitel
 
Аналитика и конкурентная разведка
Аналитика и конкурентная разведкаАналитика и конкурентная разведка
Аналитика и конкурентная разведка
 
Медиалогия - Мониторинг и анализ СМИ
Медиалогия - Мониторинг и анализ СМИМедиалогия - Мониторинг и анализ СМИ
Медиалогия - Мониторинг и анализ СМИ
 
Social Media in Practice
Social Media in PracticeSocial Media in Practice
Social Media in Practice
 
ИКТ в гуманитарных науках
ИКТ в гуманитарных наукахИКТ в гуманитарных науках
ИКТ в гуманитарных науках
 
Legal Aspects of Social Networks (in Russian)
Legal Aspects of Social Networks (in Russian)Legal Aspects of Social Networks (in Russian)
Legal Aspects of Social Networks (in Russian)
 
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архивSCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
SCIPorgua, CompetitiveCamp-2010, ИАС-Семантический-архив
 
Мессенджеры: зачем они блогерам?
Мессенджеры: зачем они блогерам?Мессенджеры: зачем они блогерам?
Мессенджеры: зачем они блогерам?
 
Онлайновые методы проверки источников и контента
Онлайновые методы проверки источников и контентаОнлайновые методы проверки источников и контента
Онлайновые методы проверки источников и контента
 
Дата-журналистика. Визуализация контента
Дата-журналистика. Визуализация контентаДата-журналистика. Визуализация контента
Дата-журналистика. Визуализация контента
 
Когда сведения становятся фактами. Факт-чекинг: виды и методы
Когда сведения становятся фактами. Факт-чекинг: виды и методыКогда сведения становятся фактами. Факт-чекинг: виды и методы
Когда сведения становятся фактами. Факт-чекинг: виды и методы
 
Сборник статей "Digital-агрессия: что делать и кто виноват?"
Сборник статей "Digital-агрессия: что делать и кто виноват?"Сборник статей "Digital-агрессия: что делать и кто виноват?"
Сборник статей "Digital-агрессия: что делать и кто виноват?"
 
ИПК_Социология и метрика интернет сми
ИПК_Социология и метрика интернет смиИПК_Социология и метрика интернет сми
ИПК_Социология и метрика интернет сми
 
медиалогия Baltic pr weekend
медиалогия Baltic pr weekendмедиалогия Baltic pr weekend
медиалогия Baltic pr weekend
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similar to !Predictive analytics part_3

Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)
Alex Ott
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
Roman Dvornov
 
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...AIST
 
Кластеризация русскоязычных текстов на основе латентно-семантического анализа
Кластеризация русскоязычных текстов на основе латентно-семантического анализаКластеризация русскоязычных текстов на основе латентно-семантического анализа
Кластеризация русскоязычных текстов на основе латентно-семантического анализа
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Positive Development User Group
 
Word2vec для поискового движка
Word2vec для поискового движкаWord2vec для поискового движка
Word2vec для поискового движка
Сергей Пономарев
 
Текст.pptx
Текст.pptxТекст.pptx
Текст.pptx
TalgatAmantaev
 
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
Yandex
 
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
Yandex
 
C# Desktop. Занятие 09.
C# Desktop. Занятие 09.C# Desktop. Занятие 09.
C# Desktop. Занятие 09.
Igor Shkulipa
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
Ruby строки
Ruby строкиRuby строки
Ruby строки
Evgeny Smirnov
 
Изучение HTML, CSS, PHP, MySQL
Изучение HTML, CSS, PHP, MySQLИзучение HTML, CSS, PHP, MySQL
Изучение HTML, CSS, PHP, MySQL
Alexandr Konfidentsialno
 
Сбор, анализ, обработка текстовой информации
Сбор, анализ, обработка текстовой информацииСбор, анализ, обработка текстовой информации
Сбор, анализ, обработка текстовой информации
Ilia Karpov
 

Similar to !Predictive analytics part_3 (20)

Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)
 
clasification
clasificationclasification
clasification
 
Ruwikt
RuwiktRuwikt
Ruwikt
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
 
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
Konstantion Vorontsov - Additive regularization of matrix decompositons and p...
 
Кластеризация русскоязычных текстов на основе латентно-семантического анализа
Кластеризация русскоязычных текстов на основе латентно-семантического анализаКластеризация русскоязычных текстов на основе латентно-семантического анализа
Кластеризация русскоязычных текстов на основе латентно-семантического анализа
 
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструментыТехнологии анализа бинарного кода приложений: требования, проблемы, инструменты
Технологии анализа бинарного кода приложений: требования, проблемы, инструменты
 
Тодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAMLТодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAML
 
Word2vec для поискового движка
Word2vec для поискового движкаWord2vec для поискового движка
Word2vec для поискового движка
 
Текст.pptx
Текст.pptxТекст.pptx
Текст.pptx
 
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
Дмитрий Прокопцев "Memory-mapped storage: ещё один подход к сериализации данных"
 
Chernyak_defense
Chernyak_defenseChernyak_defense
Chernyak_defense
 
Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.
 
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
Антон Потапов — С++ контейнеры и многопоточность: вместе или врозь?
 
C# Desktop. Занятие 09.
C# Desktop. Занятие 09.C# Desktop. Занятие 09.
C# Desktop. Занятие 09.
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
Ruby строки
Ruby строкиRuby строки
Ruby строки
 
Изучение HTML, CSS, PHP, MySQL
Изучение HTML, CSS, PHP, MySQLИзучение HTML, CSS, PHP, MySQL
Изучение HTML, CSS, PHP, MySQL
 
Сбор, анализ, обработка текстовой информации
Сбор, анализ, обработка текстовой информацииСбор, анализ, обработка текстовой информации
Сбор, анализ, обработка текстовой информации
 

!Predictive analytics part_3

  • 1. Основы предиктивной аналитики. Часть третья Профессор Крылов Владимир Владимирович Vladimir.V.Krylov@gmail.com +7 964 839 0004
  • 2. Основы анализа текстов на естественном языке – Natural Language Processing (NLP)
  • 3. Уровни задачи понимания текста • Извлечение фактов и разбивка текста – разметка • Обработка на уровне слов - морфология • Обработка на уровне предложений - парсинг • Обработка на уровне текста
  • 4. Корпус текстов • функции по созданию корпуса из массива данных (DataFrameSource) • из каталога файлов, каждый из которых содержит отдельный документ (DirSource) • из вектора (VectorSource) • из текстов, доступных по URI-ссылке (URISource) • из набора новостных сообщений агентства Reuters, входящих в состав расширения tm (ReutersSource). • Помимо типов, которые входят в библиотеку tm, пользователь может оперативно установить расширения из CRAN, позволяющие импортировать тексты из веб-источников в форматах XML, JSON, HTML (tm.plugin.webmining), из почтовых файлов eml и mbox (tm.plugin.mail), из файлов французской программы текстового анализа Alceste (tm.plugin.alceste), из файлов, полученных от новостных агрегаторов Europresse (tm.plugin.europresse), LexisNexis (tm.plugin.lexisnexis), Dow Jones Factiva (tm.plugin.factiva).
  • 5. Форматы текста • Документы могут храниться в источнике в разных форматах. Библиотека tm поддерживает чтение документов в форматах простого текста (readPlain), • PDF (readPDF), • Microsoft Word (readDOC), • XML (readXML), • табличной структуры (readTabular – для источников DataFrameSource и VectorSource) • несколько Reuters-форматов.
  • 6. Пакеты и функции в составе NLP package, которые потребуются нам • library(NLP) • library(tm) - Text Mining Package • library(Wordcloud) - Word Clouds building • library(RColorBrewer) • library(SnowballC) • library(lsa)
  • 7. Подготовка текста # Файлы хранятся в каталоге articles dirpath <- "D:/Study/10-АС/Big Data/Text" articles <- Corpus(DirSource(dirpath), readerControl = list(reader = readPlain, language = "ru", load = T)) # Текстовые файлы были сохранены в кодировке Windows. Конвертируем. #articles <- tm_map(articles, iconv, 'cp1251', 'UTF-8') articles <- tm_map(articles, stripWhitespace) articles <- tm_map(articles, tolower) articles <- tm_map(articles, removeNumbers) articles <- tm_map(articles, removeWords, stopwords("russian")) articles <- tm_map(articles, removePunctuation) articles <- tm_map(articles, PlainTextDocument) wordcloud(articles, random.order=F, max.words=80, colors=brewer.pal(6,"Dark2")) #inspect(articles)
  • 8. > stopwords("russian") [1] "и" "в" "во" "не" "что" "он" "на" "я" "с" "со" [11] "как" "а" "то" "все" "она" "так" "его" "но" "да" "ты" [21] "к" "у" "же" "вы" "за" "бы" "по" "только" "ее" "мне" [31] "было" "вот" "от" "меня" "еще" "нет" "о" "из" "ему" "теперь" [41] "когда" "даже" "ну" "вдруг" "ли" "если" "уже" "или" "ни" "быть" [51] "был" "него" "до" "вас" "нибудь" "опять" "уж" "вам" "сказал" "ведь" [61] "там" "потом" "себя" "ничего" "ей" "может" "они" "тут" "где" "есть" [71] "надо" "ней" "для" "мы" "тебя" "их" "чем" "была" "сам" "чтоб" [81] "без" "будто" "человек" "чего" "раз" "тоже" "себе" "под" "жизнь" "будет" [91] "ж" "тогда" "кто" "этот" "говорил" "того" "потому" "этого" "какой" "совсем" [101] "ним" "здесь" "этом" "один" "почти" "мой" "тем" "чтобы" "нее" "кажется" [111] "сейчас" "были" "куда" "зачем" "сказать" "всех" "никогда" "сегодня" "можно" "при" [121] "наконец" "два" "об" "другой" "хоть" "после" "над" "больше" "тот" "через" [131] "эти" "нас" "про" "всего" "них" "какая" "много" "разве" "сказала" "три" [141] "эту" "моя" "впрочем" "хорошо" "свою" "этой" "перед" "иногда" "лучше" "чуть" [151] "том" "нельзя" "такой" "им" "более" "всегда" "конечно" "всю" "между"
  • 9. Генерирование облака слов wordcloud(articles, random.order=F, max.words=80,colors=brewer.pal(6,"Oranges"))
  • 10. Стемминг – морфологический анализ ## Stemming >library( SnowballC) > wordStem(c('молодёжный', "молодёжного", "молодёжном", "года", "году", "участники", "участников"), language='ru') [1] "молодёжн" "молодёжн" "молодёжн" "год" "год" "участник" "участник"
  • 11. Использование функции mystem.exe от Яндекс ##mystem.exe to the catalogarticles mystem <- function(doc) { library(stringr) sdoc <- system('mystem -nl -e utf-8 ', intern=T, input=doc) # При получении нескольких вариантов mystem разделяет ихdirpath<-"articles # вертикальной чертой. Удалим черту и варианты. sdoc <- str_replace(sdoc, '|.*$', '') # Если mystem сомневается в результате, он добавляет знак вопроса. Удаляем.summary sdoc <- str_replace(sdoc, '?', '') sdoc <- paste(sdoc, collapse=" ") attributes(sdoc) <- attributes(doc) sdoc }
  • 12. LSA - Латентный семантический анализ Сравнение текстов по смысловому содержанию
  • 13. Определения Латентно-семантический анализ отображает документы и отдельные слова в так называемое «семантическое пространство», в котором и производятся все дальнейшие сравнения. При этом делаются следующие предположения: 1) Документы это просто набор слов. Порядок слов в документах игнорируется. Важно только то, сколько раз то или иное слово встречается в документе. 2) Семантическое значение документа определяется набором слов, которые как правило идут вместе. Например, в биржевых сводках, часто встречаются слова: «фонд», «акция», «доллар» 3) Каждое слово имеет единственное значение. Это, безусловно, сильное упрощение, но именно оно делает проблему разрешимой.
  • 14. Основные этапы • Удаление слов из «стоп-списка» • Стемминг • Удаление уникальных слов • Построение частотной матрицы А индексируемых слов (TF-IDF): строки – слова столбцы – тексты • Сингулярное разложение (SVD) матрицы • Определение существенной размерности (главных компонент) • Усечение размерности семантического пространства • Представление слов и текстов в усеченном пространстве • Визуализация и ассоциативная кластеризация текстов
  • 15. TF-IDF анализ TF (term frequency — частота слова) — отношение числа вхождения некоторого слова к общему количеству слов документа. Таким образом, оценивается важность слова t_{i} в пределах отдельного документа. где есть число вхождений слова в документ, а в знаменателе — общее число слов в данном документе. IDF (inverse document frequency — обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в документах коллекции. Основоположником данной концепции является Карен Джонс. Учёт IDF уменьшает вес широкоупотребительных слов. Для каждого уникального слова в пределах конкретной коллекции документов существует только одно значение IDF D -количество документов в корпусе; количество документов, в которых встречается t .
  • 16. Частотная матрица для двух далеких текстов
  • 17. Частотная матрица для двух более близких текстов
  • 18. Карта слов для двух выбранных документов
  • 20. Модель векторного пространства • Наиболее распространенный вариант LSA основан на использовании разложения вещественнозначной матрицы по сингулярным значениям или SVD-разложения (SVD – Singular Value Decomposition). С помощью него любую матрицу можно разложить в множество ортогональных матриц, линейная комбинация которых является достаточно точным приближением к исходной матрице. Обычно используют мультипликативное разложение • где матрицы U и V – ортогональные, а S – диагональная матрица, значения на диагонали которой называются сингулярными значениями матрицы A. • Символ Т в обозначении матрицы означает транспонирование матрицы
  • 21. • Основная идея латентно-семантического анализа состоит в следующем: • после перемножения матриц полученная матрица Ă, содержащая только k первых линейно независимых компонент исходной матрицы A, отражает структуру зависимостей (в данном случае ассоциативных), латентно присутствующих в исходной матрице. Структура зависимостей определяется весовыми функциями термов для каждого документа Особенность такого разложения в том, что если в матрице S оставить только k наибольших сингулярных значений, то линейная комбинация получившихся матриц будет наилучшим приближением исходной матрицы A к матрице Ă ранга k
  • 22.
  • 23. Пример • c1: Human machine interface for ABC computer applications • c2: A survey of user opinion of computer system response time • c3: The EPS user interface management system • c4: System and human system engineering testing of EPS • c5: Relation of user perceived response time to error measurement • m1: The generation of random, binary, ordered trees • m2: The intersection graph of paths in trees • m3: Graph minors IV: Widths of trees and well-quasi-ordering • m4: Graph minors: A survey
  • 24. Желтым отмечены слова, встречающиеся хотя бы в двух заголовках
  • 28. Результат снижения размерности, кластеризация [human, interface, computer, user, EPS, response, time], [survey, trees, graph, minors].
  • 30. • Объем корпуса для построения модели должен быть большим – желательно около трех-пяти миллионов словоупотреблений. Но метод работает и на коллекциях меньшего объема, правда несколько хуже. Произвольное разбиение текста на документы обычно производят от тысячи до нескольких десятков тысяч частей примерно одинакового объема. Таким образом, матрица термы-на-документы получается прямоугольной и может быть сильно разраженной. Например, при объеме 5 млн. словоформ получается матрица 30-50 тысяч документов на 200-300 тысяч, а иногда и более, термов. В действительности, низкочастотные термы можно опустить, т.к. это заметно снизит размерность матрицы (скажем, если не использовать 5% от общего объема низкочастотных термов, то размерность сократиться в два раза), что приведет к снижению вычислительных ресурсов и времени. Выбор сокращения сингулярных значений диагональной матрицы (размерности k) при обратном перемножении матриц достаточно произвольно. При вышеуказанной размерности матрицы оставляют несколько сотен (100-300) главных компонент. При этом, как показывает практика, зависимость количества компонент и точность меняются нелинейно: например, если начинать увеличивать их число, то точность будет падать, но при некотором значении, скажем, 10000 – опять вырастет до оптимального случая.
  • 31. Применение • сравнение двух термов между собой; • сравнение двух документов между собой; • сравнение терма и документа. Так же иногда этот метод используют для нахождения «ближайшего соседа» — наиболее близких по весу термов, ассоциативно связанных с исходным. Это свойство используют для поиска близких по смыслу термов. Следует уточнить, что близость по смыслу – это контекстнозависимая величина, поэтому не всякий близкий терм будет соответствовать ассоциации (это может быть и синоним, и антоним, и просто часто встречающееся вместе с искомым термом слово или словосочетание)
  • 32. • Достоинством метода можно считать его замечательную способность выявлять зависимости между словами, когда обычные статистические методы бессильны. LSA также может быть применен как с обучением (с предварительной тематической классификацией документов), так и без обучения (произвольное разбиение произвольного текста), что зависит от решаемой задачи. • Об основных недостатках: значительное снижение скорости вычисления при увеличении объема входных данных (в частности, при SVD-преобразовании). • Как показано в литературе скорость вычисления соответствует порядку , где сумма количества документов и термов, k– размерность пространства факторов.
  • 33. На рисунке показано возникновение и изменение главных факторов при уменьшении числа сингулярных элементов диагональной матрицы от 100% до ~12%. Трехмерные рисунки представляют собой симметричную матрицу, полученную в результате вычисления скалярного произведения векторов каждого эталонного документа с каждым тестируемым. Эталонный набор векторов – это заранее размеченный на 30 документов текст; тестируемый – с уменьшением числа сингулярных значений диагональной матрицы, полученной при SVD-анализе. На осях X и Y откладывается количество документов (эталонных и тестируемых), на оси Z – объем лексикона. На рисунках хорошо видно, что при уменьшении числа сингулярных диагональных элементов на 20-30% факторы еще не достаточно ярко выявлены, но при этом возникают корреляции похожих документов (небольшие пики вне диагонали), которые сначала незначительно увеличиваются, а затем, с уменьшением числа сингулярных значений (до 70-80%) – исчезают. При автоматической кластеризации такие пики являются шумом, поэтому их желательно минимизировать. Если же целью является получение ассоциативных связей внутри документов, то следует найти оптимальное соотношение сохранения основного лексикона и примешивания ассоциативного.
  • 34. Имплементация в R - Package ‘lsa’ alnumx - Regular expression for removal of non-alphanumeric characters (saving special characters) as.textmatrix - Display a latent semantic space generated by Latent Semantic Analysis (LSA) associate - Find close terms in a textmatrix corpora - Corpora (Essay Scoring) dimcalc Dimensionality Calculation Routines (LSA) dimcalc - Dimensionality Calculation Routines (LSA) lsa- Create a vector space with Latent Semantic Analysis (LSA) print.textmatrix - Print a textmatrix (Matrices) sample.textmatrix - Create a random sample of files textmatrix - Создает Textmatrix (Matrices) из файлов
  • 35. Пример 1 # create some files td = tempfile() dir.create(td) write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/")) write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/")) write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/")) write( c("dog", "mouse", "dog"), file=paste(td, "D4", sep="/")) # read files into a document-term matrix myMatrix = textmatrix(td, minWordLength=1) # create the latent semantic space myLSAspace = lsa(myMatrix, dims=dimcalc_raw()) # display it as a textmatrix again round(as.textmatrix(myLSAspace),2) # should give the original # create the latent semantic space myLSAspace = lsa(myMatrix, dims=dimcalc_share())
  • 36. Пример 2 # create some files td = tempfile() dir.create(td) write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/")) write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/")) write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/")) write( c("dog", "mouse", "dog"), file=paste(td, "D4", sep="/")) # create matrices myMatrix = textmatrix(td, minWordLength=1) myLSAspace = lsa(myMatrix, dims=dimcalc_share()) myNewMatrix = as.textmatrix(myLSAspace) # calc associations for mouse associate(myNewMatrix, "mouse") # clean up unlink(td, recursive=TRUE)
  • 37. Пример 3 # create some files td = tempfile() dir.create(td) write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/") ) write( c("ham", "mouse", "sushi"), file=paste(td, "D2", sep="/") ) write( c("dog", "pet", "pet"), file=paste(td, "D3", sep="/") ) # LSA data(stopwords_en) myMatrix = textmatrix(td, stopwords=stopwords_en) myMatrix = lw_logtf(myMatrix) * gw_idf(myMatrix) myLSAspace = lsa(myMatrix, dims=dimcalc_share()) as.textmatrix(myLSAspace) # clean up unlink(td, recursive=TRUE)
  • 38. Пример 4 # create some files td = tempfile() dir.create(td) write( c("dog", "cat", "mouse"), file=paste(td, "D1", sep="/") ) write( c("hamster", "mouse", "sushi"), file=paste(td, "D2", sep="/") ) write( c("dog", "monster", "monster"), file=paste(td, "D3", sep="/") ) # read them, create a document-term matrix textmatrix(td) # read them, drop german stopwords data(stopwords_de) textmatrix(td, stopwords=stopwords_de) # read them based on a controlled vocabulary voc = c("dog", "mouse") textmatrix(td, vocabulary=voc, minWordLength=1) # clean up
  • 39. Вместо заключения Очевидным недостатком LSA является ненормальность (негаусовость) вероятностного распределения слов в любом естественном языке. Но эту проблему можно решить сглаживанием выборки (например, применив фонетические слова: распределение становится более «нормальным»). Либо используют вероятностный LSA, т.наз. PLSA, основанный на мультиноминальном распределении. Другим, менее очевидным недостаткам LSA (и ему подобных методов) применительно к обработке неструктурированной информации можно отнести «туманность» самого метода (в частности, выбора кол-ва сингулярных значений диагональной матрицы) и интерпретации результата, не говоря уже о проблеме сбалансированности обучающего текста. Как правило, для качественного построения модели оставляют менее 1-2 процента от общего числа диагональных значений (после SVD преобразования, но об это в следующем посте). И, как показывает практика, увеличение числа факторов приводит к ухудшению результата. Но дойдя примерно до 10 процентов от общего числа диагональных значений, опять может быть всплеск, аналогичный результату, полученному при 1%. Сбалансированность корпуса – вечная проблема, которая не имеет хорошего решения на сегодняшний день. Поэтому про нее приято помалкивать. Интерпретируемость результатов LSA (как и DLA) также затруднительна: человек еще может понять, что за тематику будет содержать топик, полученный в результате анализа, а вот машине не понять (не аннотировать) тематику без привлечения большого числа хороших и разных тезаурусов. Таким образом, несмотря на трудоемкость и непрозрачность LSA, он может успешно применяться для разного рада задач, где важно поймать семантику сообщения, обобщить или расширить «смыслы» поискового запроса
  • 40.
  • 41. • Стандарт, основанный на XML для обмена моделями, статистической обработки, Data Mining . • Поддерживается более 20 организациями и поставщиками ПО. • Реализован, в частности, и в R
  • 42.
  • 44. Состав pmml package • addLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • addMSAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • fileToXMLNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.coxph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.cv.glmnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.glm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.hclust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.kmeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.ksvm • pmml.lm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.multinom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.naiveBayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.nnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.randomForest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.rfsrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.rpart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmml.svm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmmlCanExport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • pmmltoc
  • 46. Good by R, see you later, alligator!
  • 47. WATSON – одно из наиболее впечатляющих применений предиктивной аналитики Разрабатывался компанией IBM с 2006 по 2010 год Прославился победой в телешоу Jeopardy (в России – «Своя игра») в 2011 году Предшественник Deep Blue обыграл чемпиона мира по шахматам Гарри Каспарова в 1997 г.
  • 48.
  • 49. IBM Deep QA Project • Целью проекта было создать компьютерную систему (ИИ) для ответа на вопросы (QA), задаваемые в свободной форме в телешоу и показать результаты соизмеримые с человеческими • Задача более сложная, чем шахматная программа Deep Blue, выигравшая у Каспарова в 1997 г. • Вопросы по категориям Category: General Science Clue: When hit by electrons, a phosphor gives off electromagnetic energy in this form. Answer: Light (or Photons) Category: Lincoln Blogs Clue: Secretary Chase just submitted this to me for the third time; guess what, pal. This time I’m accepting it. Answer: his resignation Category: Head North Clue: They’re the two states you could be reentering if you’re crossing Florida’s northern border. Answer: Georgia and Alabama
  • 50. Вопросы могут касаться сразу нескольких фактов, чтобы ответ был верным Category: “Rap” Sheet Clue: This archaic term for a mischievous or annoying child can also mean a rogue or scamp. Subclue 1: This archaic term for a mischievous or annoying child. Subclue 2: This term can also mean a rogue or scamp. Answer: Rapscallion Category: Diplomatic Relations Clue: Of the four countries in the world that the United States does not have diplomatic relations with, the one that’s farthest north. Inner subclue: The four countries in the world that the United States does not have diplomatic relations with (Bhutan, Cuba, Iran, North Korea). Outer subclue: Of Bhutan, Cuba, Iran, and North Korea, the one that’s farthest north. Answer: North Korea
  • 51. Вопросы - пазлы Category: Before and After Goes to the Movies Clue: Film of a typical day in the life of the Beatles, which includes running from bloodthirsty zombie fans in a Romero classic. Subclue 2: Film of a typical day in the life of the Beatles. Answer 1: (A Hard Day’s Night) Subclue 2: Running from bloodthirsty zombie fans in a Romero classic. Answer 2: (Night of the Living Dead) Answer: A Hard Day’s Night of the Living Dead Category: Rhyme Time Clue: It’s where Pele stores his ball. Subclue 1: Pele ball (soccer) Subclue 2: where store (cabinet, drawer, locker, and so on) Answer: soccer locker
  • 52. Недопустимые типы вопросов oCategory: Picture This (Contestants are shown a picture of a B-52 bomber) Clue: Alphanumeric name of the fearsome machine seen here. Answer: B-52 oCategory: Decode the Postal Codes Verbal instruction from host: We’re going to give you a word comprising two postal abbreviations; you have to identify the states. Clue: Vain Answer: Virginia and Indiana
  • 53. Лексические типы ответа – LAT (Lexical Answer Type)
  • 54. Метрики качества ответов - результативность Показатели двух теоретических QA систем
  • 55. Показатели результативности чемпионов шоу (2000) Облако победителей
  • 57. Сравнение системы тестового поиска и поиска в базе знаний
  • 59. Основы подхода Deep QA • Massive parallelism: использование высокого параллелизма при рассмотрении множественных интерпретаций и гипотез. • Many experts: привлечение интеграции, приложения и контекстуального оценивания в широком диапазоне слабосвязанных вероятностных вопросов и контентной аналитики.. • Pervasive confidence estimation: повсеместная оценка доверия означает, что ни один из компонентов не включается в ответ сразу, все компоненты имеют признаки и связанные с ними уровни доверия, производится скоринг различных вопросов и контентная интерпретация. Основа confidence-processing состоит в обучении как стэкировать и комбинировать баллы. • Integrate shallow and deep knowledge: интеграция поверхностных и глубинных знаний состоит в балансе использования строгой семантики и мелких семантик использующих множества слабо сформированных онтологий.
  • 60.
  • 61. • Content Acquisition - Сбор контента Сочетает ручные и автоматические этапы. Первым шагом является анализ примеров вопросов проблемного пространства, чтобы произвести описание видов вопросов, на которые нужно ответить и характеризовать область применения. Анализ примеров вопросов, в первую очередь ручная задача, в то время как анализ области может быть выполнен путем автоматических или статистических методов, таких как анализ LAT, показанный ранее. Учитывая вопросы для широкого домена Jeopardy Challenge, источники для Watson включают широкий ассортимент энциклопедий, словарей, тезаурусов, Newswire статьи, литературные произведения и т.д. Начиная с разумного размера базового корпуса, DeepQA затем применяет автоматический процесс расширения корпуса. Процесс включает в себя четыре этапа высокого уровня: (1) выявления основных документов и получить соответствующие документы из Интернет; (2) извлечь автономные текстовые ядра из связанных веб-документов; (3) Оценка на основе ядер, являются ли они информативны по отношению к исходному основному документу; и (4) объединить наиболее информативные ядра в расширенном корпусе. Работающая система использует этот расширенный корпус и не имеет доступа к Интернет во время игры. • Question Analysis – Анализ вопроса Первый шаг во время выполнения процесса вопрос-ответной системы. При анализе вопроса система пытается понять, что вопрос задан и выполняет начальный анализ, определяющий, как вопрос будет обработан на остальных этапах работы системы. Подход DeepQA использует смешанный набор экспертов, на данном этапе, и в системе Watson производится мелкий парсинг, глубокий парсинг , строятся логические формы, семантические этикетки ролей, взаимные ссылки, отношения, именованные сущности, и так далее, а также конкретные виды анализа для ответа вопрос.
  • 62. • Question classification - Классификация вопроса Это задача выявления типа вопроса или частей вопроса, которые требуют специальной обработки. Это может включать в себя что-нибудь из отдельных слов с двойным смыслом и потенциально, до выявления целых статей, которые имеют определенную синтаксическую, семантическую, или риторические функциональные возможности, которые могут инициировать нисходящий анализ. Классификация может определить вопрос, как вопрос- головоломку, вопрос-математику -определение, и так далее. Это будет определять каламбуры, ограничения, компоненты определений или целые подвопросы в пределах вопросов. • Focus and LAT Detection – Определение фокуса и лексического типа ответа Лексический тип ответа - это слово или словосочетание в вопросе, который определяет тип ответа без попытки понять семантику. Определение LAT является важным видом выигрыша и общим источником критических ошибок. Преимущество подхода DeepQA является использование многих самостоятельно разработанных алгоритмов «ответ-типирования». Например фокус вопроса викторины : «При попадании электронов, люминофор излучает электромагнитную энергию в этой форме» - является «эта форма» Фокус часто (но не всегда) содержит полезную информацию об ответе, часто субъект или объект отношение в вопросе, и может превратить вопрос в фактическое утверждение при замене возможным кандидатом. Это представляет полезный способ собирать доказательства о каждом кандидате.
  • 63. • Relation Detection – детектирование отношений Большинство вопросов содержит отношения, являются ли они синтаксическими предикатами субъект-глагол-объект или семантические отношения между субъектами. Например, в вопросе: «Есть два штата в которые вы могли бы войти повторно, если вы пересекаете северную границу штата Флорида» мы можем обнаружить отношение границы (Флорида,? Х, к северу). Watson использует обнаружение отношения на протяжении всего процесса QA, от фокуса и LAT определения, до прохождению и скорингу ответов . Watson также может использовать обнаруженные отношения для выделения хранилища триплетов и напрямую генерировать кандидатов в ответы. В 20000 игр Jeopardy вопросы, например, обнаружили, распределение Freebase отношений чрезвычайно плоского вида (см. рисунок). Это приближение распределеня 50 наиболее частых отношений в 20 000 случайно выбранных вопросах викторины • Decomposition – декомпозиция Важным требованием успеха анализа Jeopardy является способность отвечать на вопросы, которые разложены на составляющие. DeepQA использует основанный на правилах глубокий парсинг и статистические методы классификации, чтобы наилучшим образом разложить вопросы на элементы и определить, как лучше разбить их на подвопросы. Операционная гипотеза, что правильная интерпретация вопроса позволит лучше произвести скоринг ответов после того, как все доказательства собраны. Даже если вопрос не должен быть разложен для определения ответа, этот метод может помочь улучшить общее доверие ответу системы. DeepQA решает задачи параллельно для каждого разложения, применяя алгоритмы от начала до конца каждого подвопроса и синтезирует окончательные ответы. DeepQA также поддерживает вложенные декомпозиции вопросов через рекурсивное применение QA системы от начала до конца в внутреннем подвопросе, а затем во внешнем. Настраиваемые компоненты позволяют легко подключать специализированные алгоритмы синтеза в общую систему.
  • 64. • Hypothesis Generation – генерация гипотез Генерация гипотез принимает результаты анализа вопросов и производит кандидатов на ответы. Каждый кандидат ответ включается обратно в вопрос и это считается как гипотеза. Система должна доказать правильность этой гипотезы с некоторой степенью уверенности. Как и во всех аспектах DeepQA, используется смесь разных подходов для первичного поиска и генерации кандидата в системе Watson • Primary Search – первичный поиск В этом поиске целью является найти столько потенциально кандидатов, сколько это можно сделать на основе результатов анализа вопроса. В течение проекта велись эмпирические исследования, направленные на баланс скорости, объема и точности. Эти исследования позволили регулярно настраивать систему, так, чтобы найти такое количество кандидатов, которые производят наилучший баланс точности и вычислительных ресурсов. Оперативная цель основного поиска в конечном счете стабилизировалась на около 85 процентов для топ-250 кандидатов; то есть, система генерирует правильный ответ как кандидата ответа на 85 процентов вопросов где-то в верхних 250 ранжированных кандидатов. Разнообразие методов поиска используются, в том числе с использованием нескольких текст поисковых системах с различными базовыми подходами (например, Indri и Lucene), поиск документов, а также поиска маршрута, база знаний поиска с помощью SPARQL хранилища триплетов. Для небольшого количества латов, которые были определены как "закрытые латы," кандидат на ответ может быть получен из фиксированного списка в каком- то хранилище известных экземпляров LAT, таких, как "США Президент "или" Страна ".
  • 65. Поиск доказательств • Поиск по фразе – число соответствий разного типа в ответе и вопросе • Популярность – как часто встречается этот вариант ответа • Соответствие по типу – ответ и требование вопроса • Соответствие по времени • Надежность источника
  • 66. • Candidate Answer Generation – генерирование кандидатов на ответ Результаты поиска применяются для генерирования возможных кандидатов в ответы с помощью различных подходящих техник. Для поиска документов извлекаются заголовки и используются как кандидаты. Число кандидатов при этом может быть не единственным и требовать использования анализа подстрок и ссылок. Используя детектирование именованных сущностей в ряде случаев удается извлечь хороших кандидатов. В зависимости от типа источника для генерирования кандидата требуется разный набор алгоритмов, например база знаний или обратный словарь порождают кандидатов непосредственно как кандидата. Этот этап критически важен и если кандидаты не найдены, то фиксируется невозможность ответа. В нормальном режиме на этом этапе Watson гененерирует несколько сотен андидатов. • Soft Filtering – мягкая фильтрация Для ускорения процесса скоринга кандидатов Watson использует различные алгоритмы разной точности. Более легковесные (менее вычислительно интенсивные) применяются на первом этапе скоринга. На этом этапе устанавливается порог оценки и кандидаты имеющие более высокую оценку считаются прошедшими мягкую фильтрацию. Они поступают на выработку гипотез и скоринг доказательств. Интересно, что кандидаты, не прошедшие порог мягкой фильтрации, не забываются, а направляются прямо на финальный этап слияния. Модель скоринга мягкой фильтрации и порога определяются на основе machine learning используя обучающие данные. Watson типично пропускает через мягкую фильтрацию 100 кандидатов, но эта функция параметризована и их число можно изменить.
  • 67. Проблемы NLP • В мае 1898 года Португалия отмечала 400-летний юбилей со дня прибытия этого великого путешественника в Индию В мае Гари прибыл в Индию после празднования своего юбилея в Португалии 21 мая 1498 года Васка де Гама высадился в местечке Каппад • Он был помилован президентом 8 сентября 1974 года Форд помиловал Никсона 8 сентября 1974 года ? Никсон ? Форд • Говоря “give a trinkle”, что предлагают вам сделать британцы по приезду в город?
  • 68. • Hypothesis and Evidence Scoring – скоринг гипотез и доказательств Прошедшие порог мягкой фильтрации кандидаты поступают на скрупулезный процесс, который включает сбор дополнительных поддерживающих доказательств для каждого кандидата на ответ или гипотезу. Процесс использует широкий набор различных методов скоринговой аналитики, чтобы исследовать все поддерживающие доказательства. • Evidence Retrieval – извлечение доказательств Чтобы лучше исследовать каждого кандидата, прошедшего через мягкую фильтрацию, система собирает дополнительные поддерживающие доказательства. Архитектура поддерживает интеграцию различных evidence-gathering техник. Один из применяемых способов состоит в том, что проводится дополнительный поиск, в котором кандидат добавляется в качестве required term к первичному запросу, извлеченному из вопроса. Это будет приводить к получению выражений, содержащих кандидата в контексте первичных терминов вопроса. Поддерживающие доказательства могут быть извлечены и из других источников, например, из RDF баз знаний. Извлеченные поддерживающие доказательства направляются модули глубокого скоринга, которые анализируют кандидата в контексте поддерживающего доказательства.
  • 69. • Scoring – скоринг (количественное оценивание) Алгоритмы скоринга определяют степень несомненности которую обеспечивают доказательства в поддержку кандидата. The DeepQA framework поддерживает множество компонент для выработки оценки в различных измерениях каждого доказательства, которая вырабатывает оценку, связанную с тем насколько хорошо доказательство поддерживает кандидата на ответ в качестве ответа на заданный вопрос. DeepQA использует общий формат для оценок для принятых гипотез и подтверждающих оценок, отражающих семантические и ограничивающие факторы. Это позволяет разработчикам DeepQA быстро разворачивать перемешивать и настраивать сложные совокупности модуле для обработки.Напрмер Watson использует больше чем 50 скоринговых компонент . Они производят оценки разноготипа от оценок вероятностей до подсчета категориальных свойств основанных на доказательствах от различных источников, включая неструктурированные тексты, полуструктурированные тексты и RDF хранилища. Эти оценки используют такие данные как degree of match between a passage’s predicate-argument structure and the question, passage source reliability, geospatial location, temporal relationships, taxonomic classification, the lexical and semantic relations the candidate is known to participate in, the candidate’s correlation with question terms, its popularity (or obscurity), its aliases, and so on. Вопрос: Чили имеет самую длинную общую границу со страной... Сгенерировано несколько кандидатов среди них Аргентина и Боливия. Первичный поиск даст приоритет Боливии из=а популярности обсуждений их отношений. Однако собранные Watson доказательства из других источников показывают более высокую оценку для Аргентины.
  • 70. Скоринг (взвешивание) доказательств – предиктивная аналитика - При делении клеток митозом называется деление ядра, а цитокинезом – деление этой жидкости, в которой находится ядро Генерирование кандидатов Сбор доказательств Уверенность в доказательстве Органеллы Вакуоль Цитоплазма Плазма митохондрии Органеллы – не жидкость Вакуоль – не жидкость Цитоплазма – возможно, жидкость Плазма – не жидкость Митохондрии – не жидкость Цитоплазма – 92% Органеллы – 19% Вакуоль – 10% Плазма – 2% Митохондрии – 2%
  • 71. Answer Merging – объединение ответов Многие кандидаты в ответы на поставленный вопрос могут быть эквивалентны, несмотря на различные внешне формы.Техники ранжирования тем не менее рассматривают таких кандидатов как различные. Без объединения, алгоритмы ранжирования будут работать отдельно с эквивалентными сущностями и пытаться противопоставить одну форму другой. Это приведет к проблемам принятия решений. Watson содержит алгоритмы идентификации эквивалентных сущностей используя множественные сравнения, нормализацию и методы разрешения совместных ссылок. Ranking and Confidence Estimation – ранжирование и оценивание доверия После объединения система должна произвести ранжирование гипотез и оценивает доверие основанное на объединенных оценках. В системе подобран ML подход основанный на обучении на обучающем наборе вопросов с известными ответами и обучение модели основываясь на скоринге. Применяется как весьма плоская модель и существующие алгоритмы ранжирования. Для более тонких оценок применяется двухфазный процесс, использующий группы оценок для оценивания профиля и для оценки доверия. Используя эту промежуточную модель система производит ансамбль промежуточных оценок. Здесь используется иерархическая техника метаучителя и коллектива экспертов. Этот подход обеспечивает итеративное расширение обучения используя изощренные и глубокие иерархические модели, обеспечивающие гибкость и робастность при выработке оценок и модифицирует систему. Метаучитель в Watson использует набор многие обучаемые модели чтобы управлять различными классами вопросов, которые могут быть критическими при идентификации правильных ответов. Наконец, важно, что использование NLP-based скоринга дает весьма разреженные оценки и требует точного оценивания с применением confidence-weighted learning techniques.
  • 72. Развертывание Watson • DeepQA разработан используя Apache UIMA - framework implementation of the Unstructured Information Management Architecture (Ferrucci and Lally 2004). UIMA был разработан для поддержки взаимодействия и масштабирования приложений обработки текста и мультимодального анализа. Все компоненты DeepQA имплементированы как UIMA annotators. Это программные компоненты для анализа текста и получения аннотаций или заключений о тексте. Watson развивался в процессе разработки от нескольких компонент до нескольких сотен. UIMA обеспечивает быструю интеграцию компонент, тестирование и исследование. • Начальная имплементация Watson запускалась на одном процессоре и требовала 2 часа на ответ на один вопрос. DeepQA развился в параллельную систему используя UIMA-AS, часть Apache UIMA, масштабируя приложения UIMA используя асинхронный механизм месседжинга. UIMA-AS позволила масштабировать Watson более чем на 2500 вычислительных ядер. UIMA-AS управляет коммуникациями, месседжингом, управлением запросами используя open JMS standard. UIMA-AS позволил снизить латентность Watson до 3–5 секунд. • Для препроцессинга корпуса текстов создания быстрых run-time indices использован Hadoop.UIMA annotators были развернуты как mapper ы в Hadoop map-reduce framework. Hadoop распределяет контент по кластеру для обеспечения высокого использования CPU и обеспечивает подходящий набор инструментов для deploying, managing, and monitoring the corpus analysis process. • Аппаратная платформа – это 90 серверов, 2800 ядер, 15 ТБ RAM, 80 Тфлопс, $3 000 000, 10 R
  • 74. IBM WATSON сегодня • Сегодня сотни клиентов и партнеров из 6 континентов, 25 стран и 12 отраслей имеют проекты, порожденные Watson. Watson революционизирует медицину , трансформирует то как бизнес взаимодействует и вовлекает кастомеров, ускоряет научные исследования. • Например, три top-ranked US News и World Report for Health 2014-2015 госпиталя, занимающиеся исследованиями рака, работают с Watson -- Memorial Sloan Kettering, University of Texas MD Anderson Cancer Center и Mayo Clinic. IBM также работает с Cleveland Clinic и New York Genome Center для ускорения внедрения genomic based medicine используя Watson для идентификации паттернов в геноме и научить клинических врачей практике использования генных технологий. Новое приложение Pathway Genomics анонсированное в November 2014, реализованное в Watson может обеспечить персонализацию медицины обеспечивая взаимодействие между врачами и их пациентами с использованием коллективного опыта. • В августе 2014, IBM анонсировала главное расширение когнитивных вычислений Watson в системе Watson Discovery Advisor – первой из систем визуального взаимодействия и проведения исследований. Watson Discovery Advisor обеспечивает научных исследователей возможностями задавать вопросы, на которые еще неизвестны ответы. The Watson Discovery Advisor может быть применен в многих отраслях включая финансовые сервисы, customer service, retail, law enforcement, education and life sciences. • В последнее время в прессе появилась информация об использовании Watson Discovery Advisor для принятия решений в правительственных организациях.
  • 75. Для тех, кто хочет узнать больше: http://www.bobblum.com/ESSAYS/COMPSCI/Watson.html http://www.quora.com/How-does-IBMs-Watson-work
  • 76. David Ferrucci , Eric Brown, Jennifer Chu-Carrol, James Fan, David Gondek, Aditya A. Kalyanpur, Adam Lally, J. William Murdock, Eric Nyberg, John Prager, Nico Schlaefer, Chris Welty
  • 77. И спасибо вам за прослушанный курс!