Автоматический анализ отзывов в рекомендательных системах
Таксономия рекомендательных систем. Алгоритмы рекомендаций в персонализированных рекомендательных системах. Контентный метод или фильтр информации, основанный на содержании. Составление словарей для инструмента анализа отзывов с помощью "Sketch Engine".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.10.2017 |
Размер файла | 167,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
53. Zhang XL, Lee TMD, Pitsilis G. “Securing recommender systems against shilling attacks using social-based clustering” in JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 28(4), pp. 616-624, July 2013.
54. Zhao S., Du N., Nauerz A., Zhang X., Yuan Q., Fu R. “Improved recommendation based on collaborative tagging behaviors” in Proceedings of the 13th International Conference on Intelligent User Interfaces, Gran Canaria, Canary Islands, Spain, ACM, IUI'08, pp. 413-416, 2008.
Словари
1. Петров Ю. А., Петрова Г. И. «Терминологический словарь-справочник: экономика, маркетинг, менеджмент. А - М», Издательские решения, 2016. URL: https://books.google.ru/books?id=4Xz-DAAAQBAJ&pg=PT389&lpg=PT389&dq=%D0%BC%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%B0%D1%8F+%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F+%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C&source=bl&ots=6fTi3A76il&sig=w7Eycx846NVGK_nF2kzev8bKTtU&hl=ru&sa=X&ved=0ahUKEwiGq-Kq49HSAhXHWiwKHXdnDJUQ6AEIPDAG#v=onepage&q&f=false
Электронные ресурсы
1. Konstan J.A. and Ekstrand M.D., (2013). “Recommender systems”. Available at: https://ru.coursera.org/specializations/recommender-systems [Accessed 26 Oct. 2015].
2. Sketch Engine [Электронный ресурс] / Электрон. дан. -- Режим доступа: http://www.sketchengine.co.uk/, требуется регистрация.
Приложение
Словари
Название словаря |
Элементы словаря |
|
цена |
цен, деньг, дорого, стоимост, дешев, дешёв, бюджетн, денег |
|
батарея |
заряд, заряжают, заряжать, заряжен, заряжая, заряжает, батарее, аккум, блок питан, блоке питан, блоком питан, блока питан, блоки питан, разряжается, разряжался, разряжалась, разряжались, разряжен, разряди, разряжая |
|
видеокарта |
видеокарт, дискретн, geforce, фпс, дискретк, видюх, видеоадаптер, видях, видяшк |
|
жёсткий диск |
жёсткий диск, жёсткого диск, жёстком диск, жёсткому диск, жесткий диск, жесткого диск, жестком диск, жесткому диск, hdd, ssd, хард, винчестер, нмжд, терабайтный винт, терабайтного винт |
|
внешний вид |
дизайн, внешний вид, внешнего вида, смотрится дорого, красивый, стильн, элегантн |
|
габариты |
лёгкий, легкий, тонкий, тяжеловат, лёгкост, легкост, вес, габарит, компактност, толщин |
|
звук |
звук, колонк, динамик, саб, звучании, громкост |
|
клавиатура |
клавиатур, клава, клавы, клавиш, клаве, клаву, клавой |
|
корпус |
люфт, скрипи, скрипе, скрипов, скрипа, сборк, маркий, корпус, материал, хлипк, крышк, пластик, трещин, матовый |
|
оперативная память |
оперативк, оператива, оперативе, оперативы, оперативой, ddr, оперативная пам, оперативную пам, оперативной пам, озу, ддр, ram |
|
операционная система |
win, винда, винде, винду, виндой, винды, операционная сис, операционную сис, операционной сис, ос, виндо, macos, mac os, vista, linux, виста, линукс, убунт, ubuntu, операционк |
|
система охлаждения |
вентилятор, кулер, греется, перегревается, охлаждении, термопаст, нагревает |
|
процессор |
процессор, железо, железе, железу, железом, железа, ядр, ядер, мощност |
|
скорость работы |
производительн, шустр, скорость работы, медленный, тормоз, зависает, подвисает, подтормажив, виснет, висит, быстрота |
|
тачпад |
трекпад, трэкпад, тач, touchpad |
|
экран |
экран, fullhd, fhd, цветопередач, retina, угол обзор, углы обзор, углами обзор, углах обзор, углов обзор, разрешени, яркост, ips, диспле, дисплэ, ретина, full hd, диагональ, диагонали, монитор |
Фрагменты программы
1) Создание функции анализа отзывов.
Создание списка, в который добавляются отзывы из файла, разбитые на блоки «ссылка», «номер продукта», «оценка», «достоинства», «недостатки», «комментарий»
Создание двух пустых списков, в которые будут записываться оценки для параметров по а) отзывам, б) продуктам.
def semAn(f1, f2): file1 = open(f1, 'r', encoding='utf-8') file2 = open(f2, 'w', encoding='utf-8') file1_contents = file1.read() list1 = file1_contents.split('\n') list2 = [] for i in (range(len(list1) 1)): a = list1[i].split('\t') list2.append(a) b = a[0].split('product/') c = b[1].split('/reviews') number_of_item = c[0] a.insert(1, number_of_item) list2.sort(key=lambda x: x[1]) k = 1 for i in range(len(list2) 1): if list2[i][1] != list2[i + 1][1]: k += 1 list3 = [[0] * 49 for i in range(k)] comments=0 for i in range(len(list2)): comments+=1 list4 = [[0] * 33 for i in range(comments)] price = open("цена", 'r', encoding='utf-8') look = open("внешний вид", 'r', encoding='utf-8') sound = open("звук", 'r', encoding='utf-8') screen = open("экран", 'r', encoding='utf-8') battery = open("батарея", 'r', encoding='utf-8') touch = open("тач", 'r', encoding='utf-8') speed = open("скорость", 'r', encoding='utf-8') keyboard = open("клавиатура", 'r', encoding='utf-8') cooling = open("охлаждение", 'r', encoding='utf-8') video = open("видеокарта", 'r', encoding='utf-8') ram = open("оперативка", 'r', encoding='utf-8') size = open("габариты", 'r', encoding='utf-8') soft = open("ОС", 'r', encoding='utf-8') corpus = open("корпус", 'r', encoding='utf-8') hardware = open("процессор", 'r', encoding='utf-8') hd = open("винчестер", 'r', encoding='utf-8')
2) Сравнение каждой строки словаря (переменная price - отсылает к словарю параметра «Цена») с содержанием блоков «Достоинства» и «Недостатки» для каждого отзыва.
Если соответствие найдено в блоке «Достоинства», в ячейку, которой соответствует параметр «Цена-Достоинство» прибавляется 1. Если соответствие найдено в блоке «Недостатки», 1 добавляется в ячейку, которая отсылает к параметру «Цена-Недостаток». Также увеличивается значение в ячейке, в которой ведётся подсчёт общего количества совпадений, соответствующих данному продукту.
for p in price.readlines(): for i in range(len(list2)): for i3 in range(len(list3)): p1 = p[:-1] if list3[i3][0] == list2[i][1]: if list2[i][3].find(str(p1)) != -1: list4[i][1] += 1 list3[i3][33] +=1 if list2[i][4].find(str(p1)) != -1: list4[i][17] +=1 list3[i3][33] +=1
3) Производится анализ каждой ячейки из списка list3. Содержание ячейки соответствует номеру продукта и количеству положительных и отрицательных оценок для каждого его параметра. То есть 16 ячеек, в которых ведётся подсчёт положительных оценок и 16 ячеек, в которых ведётся подсчёт отрицательных оценок.
Затем высчитывается процент положительных оценок по формуле:
Если процент положительных оценок находится в диапазоне от 0% до 20%, анализируемому параметру присваивается оценка 1, от 20% до 40% оценка 2, от 40% до 60% оценка 3, от 60% до 80% оценка 4, от 80% до 100% оценка 5.
В том случае, если для выставления оценки по данному параметру недостаточно данных, то есть и количество положительных оценок и количество отрицательных оценок равно нулю, параметру присваивается значение «нет отзывов».
for i in list3: if int(i[1])!= 0: a=int((int(i[1])/(int(i[1])+int(i[17]))*100)) if a >=80 and a <=100: a=5 elif a>=60 and a<80: a=4 elif a>=40 and a<60: a=3 elif a>=20 and a<40: a=2 else: a=1 elif int(i[1]) == 0 and int(i[17]) != 0: a=1 else: a="нет отзывов"
4) Все результаты с пояснениями записываются в файл.
В конце программа закрывает все файлы.
file2.write("Номер продукта: " + str(i[0]) + "; " + "Цена: " + str(a) + "; " + "Внешний вид: " + str(b) + "; " + "Звук: " + str(c) + "; " + "Экран: " + str(d) + "; " + "Батарея: " + str(e) + "; " + "Тачпад: " + str(f) + "; " + "Скорость и производительность: " + str(g) + "; " + "Клавиатура: " + str(h) + "; " + "Система охлаждения: " + str(j) + "; " + "Видеокарта: " + str(a1) + "; " + "Оперативная память: " + str(b1) + "; " + "Габариты: " + str(c1) + "; " + "Операционная система: " + str(d1) + "; " + "Корпус: " + str(e1) + "; " + "Процессор: " + str(f1) + "; " + "Жёсткий диск: " + str(g1) + '' + '\n') file1.close() file2.close() price.close()
Размещено на Allbest.ru
...Подобные документы
Исследование рынка банковских программ. Анализ эффективности различных рекомендательных алгоритмов. Обзор имеющихся подходов выработки рекомендаций. Архитектура разрабатываемой системы. Методы коллаборативной фильтрации. Использование контентных методов.
курсовая работа [678,2 K], добавлен 31.08.2016Принципы функционирования электронных платежных систем. Основные понятия, алгоритмы и способы защиты информации в электронных платежных системах. Персональный идентификационный номер. Реализация метода генерации PIN-кода из номера счета клиента.
курсовая работа [631,2 K], добавлен 13.07.2012Разработка алгоритма автоматического создания отзывов на русском языке с использованием лексико-синтаксических шаблонов. Процесс создания текста при помощи цепей Маркова. Принцип работы Томита-парсера. Применение автоматических генераторов текстов.
курсовая работа [150,6 K], добавлен 27.09.2016Анализ нормативно-правовой базы, обоснование направлений создания обеспечения комплексной защиты информации в автоматизированных системах. Разработка методики оценки, выбор путей повышения эффективности защитных мероприятий в автоматизированных системах.
дипломная работа [368,5 K], добавлен 17.09.2009Понятия в области метрологии. Представление знаний в интеллектуальных системах. Методы описания нечетких знаний в интеллектуальных системах. Классификация интеллектуальных систем, их структурная организация. Нечеткие системы автоматического управления.
курсовая работа [768,2 K], добавлен 16.02.2015Метод аналитического описания экспериментальных данных, основанный на использовании в качестве аппроксимирующих операторов ОДУ. Разработка итерационного МАЧ, в котором предложен критерий качества подстройки неизвестных параметров объектов управления.
дипломная работа [953,3 K], добавлен 14.07.2012Факторы угроз сохранности информации в информационных системах. Требования к защите информационных систем. Классификация схем защиты информационных систем. Анализ сохранности информационных систем. Комплексная защита информации в ЭВМ.
курсовая работа [30,8 K], добавлен 04.12.2003Механизм разработки общих рекомендаций для исследуемого учреждения, по обеспечению защиты информации в системах обработки данных и разработке типового пакета документов по недопущению несанкционированного доступа к служебной и секретной информации.
доклад [102,9 K], добавлен 30.04.2011Виды угроз безопасности в экономических информационных системах: цель, источники, средства реализации. Основные пути несанкционированного доступа к информации. Методы и средства защиты, используемые в АИТ маркетинговой деятельности, их классификация.
реферат [30,1 K], добавлен 12.03.2011Математические процессы, происходящие в системах автоматического управления. Определение передаточных функций разомкнутой и замкнутой систем, критерии устойчивости. Физический смысл логарифмических асимптотических амплитудных частотных характеристик.
курсовая работа [2,3 M], добавлен 12.05.2014Основные виды угроз безопасности экономических информационных систем. Воздействие вредоносных программ. Шифрование как основной метод защиты информации. Правовые основы обеспечения информационной безопасности. Сущность криптографических методов.
курсовая работа [132,1 K], добавлен 28.07.2015Определение назначения, характеристика типов операционных систем и анализ многозадачности в системах пакетной обработки. Ознакомление с приемами управления работой печатающих устройств в MS-DOS и формирование новых команд и символов матричного принтера.
курсовая работа [421,0 K], добавлен 22.06.2011Формы и системы представления информации для ее машинной обработки. Аналоговая и дискретная информация, представление числовой, графической и символьной информации в компьютерных системах. Понятие и особенности файловых систем, их классификация и задачи.
реферат [170,3 K], добавлен 14.11.2013Проблема использования криптографических методов в информационных системах. Алгоритмы шифрования – асимметричный и симметричный. Методы, используемые для получения зашифрованных сообщений и их расшифрования. Программное средство, выполняющее шифрование.
курсовая работа [1,2 M], добавлен 19.07.2012Значение сетевых структур в системах искусственного интеллекта, их применение для построения семантических сетей, фреймов и других логических конструкций. Составление программного кода на языке программирования Pascal, тестирование с ручном просчетом.
курсовая работа [1,2 M], добавлен 31.07.2010Особенности формирования растрового изображения. Графические примитивы, которые используются наиболее часто в современных графических системах (линии и фигуры). Основные алгоритмы создания растровых изображений в графических компьютерных программах.
презентация [883,6 K], добавлен 26.01.2015Рассмотрение и анализ моделей и алгоритмов семантического поиска в мультиагентной системе поддержки пользователей. Ознакомление с интерфейсом чата с ботом. Изучение и характеристика экспериментальных оценок релевантности и пертинентности запросов.
дипломная работа [3,0 M], добавлен 13.10.2017Подсистема управления процессами как часть операционной системы, непосредственно влияющая на функционирование вычислительной машины. Алгоритмы планирования процессов. Общие сведения о матричных принтерах, проектирование для них символов с помощью матриц.
курсовая работа [117,1 K], добавлен 22.06.2011Этапы развития моделирования явлений, процессов, объектов, устройств и систем. Примеры математического, имитационного и физического построения. Воспроизведение транспортных систем городов с помощью программы для визуализации транспортной схемы VISUM.
реферат [29,5 K], добавлен 16.12.2010Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011