Уровни задачи понимания текста
• Извлечение фактов и разбивка текста – разметка
• Обработка на уровне слов - морфология
• Обработка на уровне предложений - парсинг
• Обработка на уровне текста
Корпус текстов
• функции по созданию корпуса из массива данных (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)
Определения
Латентно-семантический анализ отображает документы и
отдельные слова в так называемое «семантическое пространство», в
котором и производятся все дальнейшие сравнения.
При этом делаются следующие предположения:
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
• Объем корпуса для построения модели должен быть большим – желательно
около трех-пяти миллионов словоупотреблений. Но метод работает и на
коллекциях меньшего объема, правда несколько хуже.
Произвольное разбиение текста на документы обычно производят от тысячи
до нескольких десятков тысяч частей примерно одинакового объема. Таким
образом, матрица термы-на-документы получается прямоугольной и может
быть сильно разраженной. Например, при объеме 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())
Пример 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
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
Основы подхода 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
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