Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...Tech Talks @NSU
http://techtalks.nsu.ru
14 октября 2013. Теоретические основы программирования: проекции Футамуры-Турчина и частичные вычисления. Можно ли написать компилятор для интерпретируемого языка.(Ренат Идрисов, ИСИ СО РАН)
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...Tech Talks @NSU
http://techtalks.nsu.ru
14 октября 2013. Теоретические основы программирования: проекции Футамуры-Турчина и частичные вычисления. Можно ли написать компилятор для интерпретируемого языка.(Ренат Идрисов, ИСИ СО РАН)
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
http://techtalks.nsu.ru
18 ноября 2014. Ренат Идрисов, к.ф.-м.н., ИСИ СО РАН, рассказывает про автоматическое доказательство теорем:
«Вы наверняка слышали, что в последнее время далеко не все теоремы доказываются вручную.
Как именно работают системы автоматических доказательств и что за языки лежат в их основе? Похоже ли построение автоматических доказательств на программирование? Могу ли я доказывать свои любимые теоремы на C или C++?
В рамках лекции прозвучат ответы на эти и другие вопросы, а также будет проведен небольшой вводный инструктаж по Coq.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Нас окружает мир сетей, мобильных устройств, сайтов, облаков. Чтобы работать с этим миром, придумано невероятное количество технологий и языков программирования. Есть ли среди них место для языков Си/Си++? Стоит ли тратить время на их изучение, стоит ли использовать их в своих проектах? Не пора ли этим языкам на пенсию? Эти темы в своем докладе обсудит Андрей Карпов, активно участвующий в жизни сообщества Си++-программистов. Забегая вперед можно утверждать - языки Си/Си++ живее всех живых. Андрей расскажет о развитии языка и новых возможностях, появившихся в Си++11. Многие возможности существенно облегчают работу программиста и сокращают объем кода.
The document describes a Reed-Solomon coding algorithm for fault tolerance in RAID-like distributed storage systems. It divides each storage device into words of bits and uses checksum devices to store the results of functions applied to the words from the data devices. This allows recovery of all data if any m devices fail by reconstructing the missing words. For example, with m=1 and words of 1 bit, the checksum can be the XOR of the data words, and this checksum can be recalculated if a data word changes.
http://techtalks.nsu.ru
18 ноября 2014. Ренат Идрисов, к.ф.-м.н., ИСИ СО РАН, рассказывает про автоматическое доказательство теорем:
«Вы наверняка слышали, что в последнее время далеко не все теоремы доказываются вручную.
Как именно работают системы автоматических доказательств и что за языки лежат в их основе? Похоже ли построение автоматических доказательств на программирование? Могу ли я доказывать свои любимые теоремы на C или C++?
В рамках лекции прозвучат ответы на эти и другие вопросы, а также будет проведен небольшой вводный инструктаж по Coq.»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Нас окружает мир сетей, мобильных устройств, сайтов, облаков. Чтобы работать с этим миром, придумано невероятное количество технологий и языков программирования. Есть ли среди них место для языков Си/Си++? Стоит ли тратить время на их изучение, стоит ли использовать их в своих проектах? Не пора ли этим языкам на пенсию? Эти темы в своем докладе обсудит Андрей Карпов, активно участвующий в жизни сообщества Си++-программистов. Забегая вперед можно утверждать - языки Си/Си++ живее всех живых. Андрей расскажет о развитии языка и новых возможностях, появившихся в Си++11. Многие возможности существенно облегчают работу программиста и сокращают объем кода.
The document describes a Reed-Solomon coding algorithm for fault tolerance in RAID-like distributed storage systems. It divides each storage device into words of bits and uses checksum devices to store the results of functions applied to the words from the data devices. This allows recovery of all data if any m devices fail by reconstructing the missing words. For example, with m=1 and words of 1 bit, the checksum can be the XOR of the data words, and this checksum can be recalculated if a data word changes.
This document discusses stateful web application development using Spring Web Flow. It introduces key concepts of Spring Web Flow like states, variables, and modeling business processes as reusable flows. States include view states to render views, action states to execute Java code, and decision states for branching logic. Variables can be stored in different scopes. Flows can call other flows as subflows. Testing flows is made easier using the AbstractXmlFlowExecutionTests class which allows simulating flow execution and making assertions.
Лекция 2. Всё, что вы хотели знать о функциях в Python.Roman Brovko
Синтаксис объявления функций. Упаковка и распаковка аргументов. Ключевые аргументы и аргументы по умолчанию. Распаковка и оператор присваивания. Области видимости, правило LEGB, операторы global и nonlocal. Функциональное программирование, анонимные функции. Функции map, filter и zip. Генераторы списков, множеств и словарей. Немного о PEP 8.
Модули threading, queue и concurrent.futures. Использование потоков для параллельных вычислений на Python. GIL. Параллельность и конкурентность. Модуль asyncio. Модуль multiprocessing.
Синтаксис объявления классов. Атрибуты, связанные и несвязанные методы, __dict__, __slots__. Статические методы и методы класса. Свойства, декоратор @property. Наследование, перегрузка методов и функция super. Декораторы классов. Магические методы.
Лекция 5. Встроенные коллекции и модуль collections.Roman Brovko
И снова встроенные коллекции: кортеж, список, множество, словарь - обход в глубину, обзор методов, примеры. Почти всё про модуль collections: именованные кортежи, счётчики, defaultdict, OrderedDict.
Лекция 4. Строки, байты, файлы и ввод/вывод.Roman Brovko
Строковые литералы и сырые строки. Строки и Юникод. Основные методы работы со строками. Модуль string. Байты. Кодировки. Файлы и файловые объекты. Методы работы с файлами. Модуль io
Лекция 12. Быстрее, Python, ещё быстрее.Roman Brovko
Измерение времени работы кода на Python с помощью модулей timeit, cProfile и line_profiler. Немного о NumPy. JIT и AOT компиляция кода на Python на примере Numba и Cython.
Лекция 8. Итераторы, генераторы и модуль itertools.Roman Brovko
Два протокола итераторов: __next__ + __iter__ и __getitem__. Итераторы и цикл for, а также операторы in и not in. Генераторы, оператор-выражение yield. Генераторы как: итераторы, сопрограммы, менеджеры контекста. Модуль itertools.
ЛЕКЦИЯ 1. Актуальность параллельных вычислений. Анализ параллельных алгоритмов. Многоядерные вычислительные систем с общей памятью
Курс "Параллельные вычислительные технологии" (ПВТ), весна 2015
Сибирский государственный университет телекоммуникаций и информатики
Пазников Алексей Александрович
к.т.н., доцент кафедры вычислительных систем СибГУТИ
http://cpct.sibsutis.ru/~apaznikov
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова. Курс "Алгоритмы интеллектуальной обработки больших объемов данных", Лекция №5 "Обработка текстов, Naive Bayes"
Лектор - Николай Анохин
Условная вероятность и теорема Байеса. Нормальное распределение. Naive Bayes: multinomial, binomial, gaussian. Сглаживание. Генеративная модель NB и байесовский вывод. Графические модели.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9pyyrqknouMZbIPf4l3CwUP
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
ИТМО Machine Learning. Рекомендательные системы — часть 1Andrey Danilchenko
Лекция-введение в рекомендательные системы в рамках курса по машинному обучению для студентов четвертого курса на кафедре КТ ИТМО. Часть 1 — kNN, SVD, iALS.
Дается математическое обоснование S.O.L.I.D принципов с помощью логики Хоара, из которого следует, что S.O.L.I.D верны не только для ООП, но и для статического полиморфизма, но и для императивного программирования вообще.
Realistic VR experience requires visualization of realistic players, which in...Provectus
An important step is to automatically create a realistic three-dimensional avatar of the user. This procedure can be presented as a solution to the optimization problem, the details of the solution is a topic for the speech.
The document provides instructions for extending a UDP server to handle additional commands for reading the state of GPIO pins connected to LEDs on a board. The UDP server extension should accept "read gpio<PORT> <PIN>" commands to check the status of LEDs connected to pins 13, 12, 14, and 15, and reply with the pin and state like "GPIOD.15=1". The ncat utility can be used as a UDP client to send commands to control the LEDs or get their status by communicating with ports 5678 and 1234 of the UDP server, respectively.
This document provides an agenda and overview of topics related to the transport layer and networking essentials. The agenda includes discussions of the transport layer, UDP overview, TCP communication process, the socket API, and tools and utilities. Specific topics that will be covered include the role and functions of the transport layer, UDP features and headers, TCP reliability mechanisms like connection establishment and termination, sequence numbers and acknowledgments, window sliding, and data loss/retransmission. The document also provides brief overviews and usage examples for common networking tools like ifconfig, nmcli, route, ping, traceroute, netstat, dig, ncat, nmap, tcpdump, and wireshark.
This document provides an overview of connecting the STM32F407x microcontroller on the GlobalLogic Embedded Starter Kit to Ethernet. It discusses the STM32F407x Ethernet interface, HAL Ethernet driver, Lightweight TCP/IP stack, and examples of implementing TCP client/server and an HTTP server. The KSZ8081RND PHY chip is used along with the RMII interface. The document also outlines configuring LwIP and developing a UDP server to control LEDs on the board via commands from a UDP client.
The document provides an agenda and overview of key topics related to networking essentials including the network layer, IPv4 and IPv6 packets and addresses, and network address translation (NAT). Specifically, it discusses network layer characteristics such as addressing, encapsulation, routing and de-encapsulation. It also examines IPv4 packet headers, fragmentation, and maximum transmission units. IPv6 is introduced as improving on IPv4 by providing increased address space and simplified packet handling. Network address translation is defined as a method for mapping an IP address space to overcome IPv4 address depletion.
This document provides an overview of networking concepts including network types, medium access control protocols, TCP/IP protocol suite, addressing, Ethernet frames, ARP, and standards organizations. It begins with an agenda that lists these topics and includes diagrams to illustrate CSMA/CD, the OSI model, TCP/IP encapsulation, and Ethernet encapsulation. Examples are provided for different network devices, addressing formats and protocols.
This document is a training presentation on I2C interface. It discusses understanding I2C, the internal structure of I2C modules, the I2C interface in an embedded starter kit schematic, using an I2C PWM LED controller, and using I2C in blocking mode. The individual task is to control LED brightness using I2C PWM outputs by modifying the duty cycle, frequency, and number of outputs.
The document describes a workshop for the GlobalLogic Embedded Starter Kit (GL ESK). It includes instructions for a "Hello World" project using the kit to blink an LED. It also provides guidance on additional exercises including controlling more LEDs with buttons, using interrupts to check buttons, and debugging techniques. The document recommends downloading documentation and sources from GitHub and provides information on the STM32F407 microcontroller and Discovery board used with the kit.
This document is a training module on using UART interfaces. It discusses UART fundamentals, the UART interface on an embedded starter kit, the internal structure of UART modules, and how to use UART in both polling and interrupt modes. Learners are assigned the tasks of modifying an existing UART code to control additional LEDs and print sensor values to a terminal using UART communication.
Bare metal training_04_adc_temp_sensorRoman Brovko
This document outlines the goals, theory, and practice of a training on using analog to digital converters (ADCs) in polling and interrupt modes. The training covers the internal structure of ADCs, using an on-board temperature sensor, reading voltage values from an external potentiometer, and reading multiple ADC channels. Trainees are assigned individual tasks like controlling LED brightness based on temperature sensor readings.
This document provides an overview of a training on timers and PWM for bare metal embedded systems. The goals are to learn clock control, generate 1Hz signals using delays and timers, and create PWM signals at predefined duty cycles. It explains clock control diagrams and settings, and provides code examples to generate a 1Hz signal using delays, use Timer4 to toggle a pin in an interrupt handler, and set up PWM on Timer4 Channel 3. Finally, it lists an individual task to control 4 LEDs with PWM using different channels and buttons to fade the LEDs in/out.
Bare metal training_02_le_ds_and_buttonsRoman Brovko
This document provides an overview of training materials for an embedded starter kit focused on bare metal programming of LEDs and buttons. The goals are to create firmware to control LEDs and read button presses, learn about the hardware operation of LEDs and buttons, and learn GPIO input/output and interrupt basics. It introduces GPIO configuration as digital I/O with pull-up/down resistors or analog, covers GPIO pin functionality, and discusses using interrupts to address the delay issues of polling button states in a main loop. The practice section has the learner set up a project to control an LED based on a button press via polling initially, then refactors to use interrupts to eliminate delays.
This document outlines a training for creating a "Hello World" firmware project for an embedded starter kit using the Keil IDE. The goals are to create an LED blinking firmware, learn the hardware basics of the starter kit, and learn how to create, build, flash and debug firmware projects. Trainees will go through adding LEDs to the project, implementing a custom blinking sequence, and stepping through the code using the debugger.
This document provides instructions for installing software prerequisites for a bare metal embedded training using a GlobalLogic starter kit. The instructions include downloading and installing: 1) An ST-Link driver to interface with the board; 2) Keil uVision IDE for embedded development; and 3) STM32 CubeMx for configuration. Completing these steps prepares the hardware and software for the trainings by setting up the development environment and debugger connection to the board.
The document discusses several topics related to advanced C language programming including:
1. Decomposing a program into multiple files by creating libraries and header files.
2. The structure of a software component including public header files, private header files, and library object files.
3. Techniques for building a program such as compilation, linking, and conditional compilation.
1. Некоторые вероятностные модели
в информационном поиске
Антон Алексеев
anton.m.alexeyev@math.spbu.ru
Computer Science Center
21 марта 2013 г.
2. Людская память — вешняя вода
Дано: документы D, запрос q ∈ Q
Понять: насколько релевантен d ∈ D запросу q
И выдать самые (все) релевантные.
Мы уже знакомы с
grep
булевым поиском
векторным поиском
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 2 / 25
3. Без предисловий, сей же час
В программе:
1 Необходимые понятия из теории вероятностей
2 PRP + BIM + relevance feedback
3 Прочее
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 3 / 25
4. Байесовцы, байезианцы, байесята
P(A|B) =
P(B|A)P(A)
P(B)
= P(A)
(︃
P(B|A)
∑︀
X∈{A,¯A} P(B|X)P(X)
)︃
Философия:
P(A) — предполагаемая оценка вероятности события A
P(A|B) — уточнённая свидетельством B оценка P(A)
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 4 / 25
5. Он не получка, не аванс
Отношение шансов (odds):
O(A) =
P(A)
P(¯A)
=
P(A)
1 − P(A)
Упражнение
Свойство, которое нам пригодится. Легко проверить, что
P(A), P(B) ∈ (0, 1) ⇒ (P(A) > P(B) ⇔ O(A) > O(B))
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 5 / 25
6. Терминология
Гипотеза: волк режет овец!
false positive = ложная тревога: овцы целы = ошибка I рода
false negative = не опознали волка: овцы съедены = ошибка II рода
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 6 / 25
7. Предположения и определения
Запрос q, коллекция D.
Для каждого q есть своё множество релевантных документов
Relq ⊂ D, то есть можно ввести функцию
˜Rq(d) =
{︃
1 if d ∈ Relq
0 otherwise
Но, увы, мы ничего не знаем :(
Вместо ˜Rq — случайная величина Rq.
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 7 / 25
8. Probability Ranking Principle (van Rijsbergen, 1979)
План:
упорядоченный список документов — выводим topk из списка
документов, отсортированного по убыванию P(R = 1|d, q) или
множество всех релевантных — выводим всякий
d : P(R = 1|d, q) > P(R = 0|d, q).
Функция потерь штрафует одним очком как за нерелевантный
документ, так и за непоявление релевантного документа в выдаче.
Теорема (Riply, 1996)
Правило PRP минимизирует байесовский риск.
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 8 / 25
9. Probability Ranking Principle ++
C0 — стоимость неизвлечения релевантного документа (FN)
C1 — стоимость извлечения нерелевантного документа (FP)
Тогда d попадает в выдачу, если
C0 · P(R = 0|d) − C1 · P(R = 1|d) ≤ C0 · P(R = 0|d′
) − C1 · P(R = 1|d′
),
где d и d′ ещё не показаны.
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 9 / 25
10. Binary Independence Model (1)
Документ — вектор весов термов.
wd,t ∈ {0, 1}
Допущение 1: Naive Bayes assumption
Термы встречаются в документе независимо друг от друга.
Допущение 2
Релевантность документа не зависит от релевантности никакого
другого документа.
(Умножение — мать сомнения!)
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 10 / 25
11. Binary Independence Model (2)
⃗q и ⃗x — бинарные векторы, соответствующие запросу и документу.
Хотим уметь вычислять P(R = 1|⃗x,⃗q)−?
P(R = 1|⃗x,⃗q) =
P(⃗x|R = 1,⃗q)P(R = 1,⃗q)
P(⃗x,⃗q)
=
P(⃗x|R = 1,⃗q)P(R = 1|⃗q)
P(⃗x|⃗q)
Аналогично для P(R = 0|⃗x,⃗q). Интерпретация?
Хитрые оценки, не забывать про определение вероятности.
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 11 / 25
13. Binary Independence Model (4)
Теперь
pt = P(xt = 1|R = 1,⃗q), ut = P(xt = 1|R = 0,⃗q)
Допущение 3
Если qt = 0 (т.е. если соответствующий терм не появляется в
запросе), то присутствие терма t в релевантном и нерелевантном
документах равновероятны, то есть pt = ut.
В формуле кое-что сократилось, а кое-что можно и выбросить:
O(R|⃗x,⃗q) = O(R|⃗q)
∏︁
xt=qt=1
pt
ut
∏︁
xt=0,qt=1
1 − pt
1 − ut
=
= O(R|⃗q)
∏︁
xt=qt=1
pt(1 − ut)
ut(1 − pt)
∏︁
qt=1
1 − pt
1 − ut
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 13 / 25
14. BIM: Retrieval Status Value
Логарифмируем то, что осталось:
RSVd = log
∏︁
xt=qt=1
pt(1 − ut)
ut(1 − pt)
=
∑︁
xt=qt=1
(log
pt
1 − pt
+ log
1 − ut
ut
)
Нас интересуют только термы, встречающиеся и в документе, и в
запросе.
Величина ct = log pt
1−pt
+ log 1−ut
ut
— основа вычислений в модели.
Напоминание
pt = P(xt = 1|R = 1,⃗q)
ut = P(xt = 1|R = 0,⃗q)
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 14 / 25
15. BIM: Оценивание (1)
Ранжируем по RSV . Как оценить?
Пример
Для фиксированного терма t:
N — число документов
S — число релевантных документов
s ⊂ S — число релевантных документов, содержащих t
Тогда pt = s
S и ut = dft−s
N−S
ct = log
s
S − s
·
N − S − dft + s
dft − s
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 15 / 25
16. BIM: Оценивание (2)
Деление на ноль — это смерть!
ct = log
s + 0.5
S − s + 0.5
·
N − S − dft + s + 0.5
dft − s + 0.5
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 16 / 25
17. BIM: Оценивание (3)
Откуда берутся s и S или pt и ut?
Нерелевантных много больше, чем релевантных!
⇒ ut =
dft
N
Тогда
log((1 − ut)/ut) = log((N − dft)/dft) → log(N/dft)
На что похоже?
Что делать с pt? Варианты
pt − const (Croft & Harper (1979))
Магия: pt = 1
3 + 2
3
dft
N (Greiff (1998))
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 17 / 25
18. BIM: Probabilistic relevance feedback
В идеальном мире с идеальными пользователями...
1 Задать начальные значения pt и ut. Да хоть константы!
2 Показать пользователю {d : Rd,q = 1}
3 Пользователь: «хочу/не хочу»: V = VR ∪ VNR
4 Пересчитываем!
Как?
pt =
|VRt|
|VR|
Нет, не так.
pt =
|VRt| + 1
2
|VR| + 1
А лучше — так:
p
(k+1)
t =
|VRt| + Kp
(k)
t
|VR| + K
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 18 / 25
19. BIM: Probabilistic relevance feedback IRL
Не все знают, чего хотят, и не все любят общаться с поисковиком.
1 Задать начальные значения pt и ut. Так же.
2 Показать пользователю V (top|V | по рангу)
3 Пересчитываем! Например,
pt =
|Vt| + 1
2
|V | + 1
ut =
dft − |Vt| + 1
2
N − |V | + 1
4 Если ранжирование не устаканилось, переходим к шагу 2.
Если Вы думаете, что ДА ЭТО ЖЕ TF-IDF, Вам показалось
(наиболее любопытным считать проверку этого упражнением).
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 19 / 25
20. Выводы о BIM
Хорошо?
1. Cтрогая мат.модель!
2. Лучше булевой
Плохо?
1. Холодный старт
2. Сильные предположения
3. Никак не учитываются длина документа и частоты термов
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 20 / 25
21. BM25 aka Okapi weighing
Некогда очень популярная в промышленности схема
Идея: будем учитывать длины документов и частоты термов!
Формулы RSV , учитывающие эти характеристики:
idf * something(length, tfs)
За введением — в IIR [1] или Wikipedia.
За подробностями — статьи.
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 21 / 25
22. «Деревья зависимостей»
Очень, очень сильные предположения.
Может, делать не так топорно?
Термы как множество случайных элементов с редкими
зависимостями
Естественное представление зависимостей — орграф
(а лучше дерево)
Байесовские сети доверия (понятие о применении даётся в [2]):
сеть документов, сеть запросов. Переменные: документы,
термы, «понятия». Логико-вероятностный вывод.
(1991 год. Хорошие результаты на TREC. Продавалось.)
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 22 / 25
24. Литература
Introduction to Information Retrieval (2008) by Christopher D.
Manning, Prabhakar Raghavan, Hinrich Schtze.
Baeza-Yates, Ricardo and Ribeiro-Neto, Berthier. Modern
Information Retrieval. Boston, MA, USA. Addison-Wesley
Longman Publishing Co., Inc. 1999.
Прочие ссылки в скобках — найдутся в [1]
Антон Алексеев (CompSciCenter) ВМ в информационном поиске 21 марта 2013 г. 24 / 25
25. Некоторые вероятностные модели
в информационном поиске
Антон Алексеев
anton.m.alexeyev@math.spbu.ru
Computer Science Center
21 марта 2013 г.