diff --git a/coursework/report/img/bad_result2.png b/coursework/report/img/bad_result2.png new file mode 100644 index 0000000..b6a43ad Binary files /dev/null and b/coursework/report/img/bad_result2.png differ diff --git a/coursework/report/img/result2.png b/coursework/report/img/result2.png new file mode 100644 index 0000000..a273f98 Binary files /dev/null and b/coursework/report/img/result2.png differ diff --git a/coursework/report/report.tex b/coursework/report/report.tex index 81b7999..1bc3d89 100644 --- a/coursework/report/report.tex +++ b/coursework/report/report.tex @@ -571,8 +571,49 @@ main = \end{verbatim} \subsection{Часть 2: Синтаксический анализ текста и генерация фраз} + Результаты работы программы представлены на Рис.~\ref{fig:result2}. Программа предлагает пользователю ввести имя файла с текстом, а потом слово или пару слов, на основе которой генерируется и выводится ответ. Затем пользователю предлагается ввести имя ещё одного файла с текстом, задать начальное слово и размер диалога. После чего выводится диалог между полученными моделями, в скобках указано слово, с которого модель начала генерацию предложения. + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/result2.png} + \caption{Результаты работы программы для синтаксического анализа текста и генерации фраз.} + \label{fig:result2} + \end{figure} + Если заданного слова нет в словаре, то программа выводит сообщение об этом. По этой же причине диалог между моделями может прерваться преждевременно, о чём также будет сообщено пользователю. Пример такого сценария показан на Рис.~\ref{fig:bad_result2}. + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/bad_result2.png} + \caption{Пример ситуации, в которой модель не может сгенерировать продолжение текста.} + \label{fig:bad_result2} + \end{figure} + +Файлы \texttt{text1.txt} и \texttt{text2.txt} содержат произведения Антона Павловича Чехова -- <<Человек в футляре>> и <<Каштанка>>. В первом тексте содержится 4146 слов, а во втором -- 5963. Первый абзац текста из файла \texttt{text1.txt} представлен ниже: +\begin{verbatim} +На самом краю села Мироносицкого, в сарае старосты Прокофия расположились +на ночлег запоздавшие охотники. Их было только двое: ветеринарный врач +Иван Иваныч и учитель гимназии Буркин. У Ивана Иваныча была довольно +странная, двойная фамилия - Чимша-Гималайский, которая совсем не шла ему, +и его во всей губернии звали просто по имени и отчеству; он жил около +города на конском заводе и приехал теперь на охоту, чтобы подышать чистым +воздухом. Учитель же гимназии Буркин каждое лето гостил у графов П. и в +этой местности давно уже был своим человеком. +\end{verbatim} + +Программа сохраняет словари N-грамм в файлы \texttt{dict1.txt} и \texttt{dict2.txt}. В результате запуска программы на текстах, описанных выше, файл \texttt{dict1.txt} содержит 4511 строк, а файл \texttt{dict2.txt} -- 6250. Каждая строка файла представляет собой ключ и значение из словаря. Ключ это одна из N-грамм, а значение это список N-грамм, которые являются возможными продолжениями текста. Первые десять строк содержимого файла \texttt{dict1.txt} представлены ниже: +\begin{verbatim} +"а в": ["последние"] +"а варенька": ["поет"] +"а возле": ["бродит"] +"а вот": ["подчинились"] +"а вы": ["оставайтесь"] +"а главное": ["это"] +"а держал": ["повара"] +"а дома": ["как"] +"а на": ["педагогических","хуторе"] +"а он": ["зеленый","только"] +\end{verbatim} \newpage \section*{Заключение}