Разработка словаря фонем и морфем узбекского языка на основе информации в Uznet (Для дальнейшего внедрения в Google translator)

Специфика узбекского языка. Корпусное исследование подъязыка предметной области. Обоснование выбора средств и технологий разработки. Программная реализация морфологического словаря. Структура базы данных. Интеллектуальный морфологический анализатор.

Рубрика Программирование, компьютеры и кибернетика
Вид диссертация
Язык русский
Дата добавления 24.05.2018
Размер файла 930,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

</div>

<div class="form-group" >

<input type="text" class="form-control" placeholder="turi" ng-model='desc'>

</div>

<button class='btn btn-primary' ng-click="addsuff( name, desc )">

qo'shish

</button>

</div>

</form>

</div>

<table class="table table-bordered">

<colgroup>

<col width='5%' >

<col width='40%' >

</colgroup>

<thead>

<tr>

<th>#</th>

<th>Qo'shimcha</th>

<th>Qo'shimcha turi</th>

<th>Boshqarish</th>

</tr>

</thead>

<tbody>

<tr ng-repeat="suff in suffs" >

<td>{{ $index + 1 }}</td>

<td><span ng-editt="{{suff.id}},name">{{ suff.name }}</span></td>

<td><span ng-editt="{{suff.id}},type">{{ suff.type }}</span></td>

<td><button type="button" class="btn btn-danger btn-xs" ng-click='delsuff( suff.id )'>o'chirish</button>

</td>

</tr>

</tbody>

</table>

Morph/php/ DBAccess.php

<?

function print_rr( $a )

{

echo "<pre>";

print_r( $a );

echo "<pre>";

}

function is_assoc( $array )

{

return (bool)count( array_filter( array_keys( $array ), 'is_string' ) );

}

class DBAccess implements Iterator, ArrayAccess {

public $data,

$table,

$col,

$cond,

$index,

$indexVal,

$val;

protected $db,

$current;

function __construct( $host, $dbname, $user, $pass , $index = 'id' )

{

$this->index = $index;

$this->data = array();

try {

$this->db = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);

$this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

}

catch( PDOException $e ) {

echo "Неудалоссоеденитсясбазой";

echo $e->getMessage();

}

}

// iterator functions

function rewind() { $this->current = reset( $this->data ); }

function current() { return $this->current ; }

function key() { return key( $this->data ); }

function next() { $this->current = next( $this->data ); }

function valid() { return $this->current; }

// iterator end

// Array access

function offsetSet( $key, $val )

{

if( !strpos( $key, '.' ) )

{

$this->table = $key;

$this->col = is_assoc( $val ) ? array_keys( $val ) : false ;

$this->val = array_values( $val );

$this->insert();

$this->data[] = $val;

}

else

{

$a = explode( '.',$key );

$this->table = $a[0];

$key = $a[1];

$this->indexVal = $key;

$this->col = array_keys( $val );

$this->val = array_values( $val );

$this->update();

$this->data[ $key ] = $val;

}

}

function offsetExists( $key ){ return isset( $this->data[ $key ] ); }

function offsetUnset( $key )

{

$a = explode( '.',$key );

$this->table = $a[0];

$key = $a[1];

unset( $this->data[ $key ] );

$this->indexVal = $key ;

$this->delete();

}

function offsetGet( $key )

{

$a = explode( '.',$key );

$this->table = $a[0];

$key = $a[1];

if( isset( $this->data[ $key ] ) )

{

return $this->data[ $key ];

}

else

{

$this->indexVal = $key;

$this->select();

return $this->data[ $key ];

}

}

// Array access end

//Database manipulate

function table( $name ) { $this->table = $name; return $this; }

function col( $name ) { $this->col = $name; return $this; }

function val( $name ) { $this->val = $name; return $this; }

function index( $name ) { $this->index = $name; return $this; }

function indexVal( $name ) { $this->indexVal = $name; return $this; }

function where( $name )

{

if( count( func_get_args() ) < 2 )

{

$cond = $name;

}

else

{

if( is_array( func_get_arg(1) ) )

{

$arr = func_get_arg(1);

}

else

{

$arr = func_get_args() ;

array_shift( $arr );

}

$ph = explode( ',', $name);

$i = 0;

foreach( $ph as $v )

{

$cond .= str_replace('?', $this->db->quote( $arr[$i] ), $v);

$i++;

}

}

$this->cond = $cond;

return $this;

}

function select()

{

$col = is_array( $this->col ) ? implode( ',', $this->col ) : $this->col ? $this->col : '*';

$table = $this->table;

$cond = $this->cond;

$indexVal = $this->db->quote( $this->indexVal );

$index = $this->index;

if( $cond )

{

$st = $this->db->prepare("SELECT $col FROM $table WHERE $cond ");

}

elseif( $this->indexVal )

{

$st = $this->db->prepare("SELECT $col FROM $table WHERE $index=$indexVal");

}

else

{

$st = $this->db->prepare("SELECT $col FROM $table");

}

try {

$st->execute();

$st->setFetchMode( PDO::FETCH_ASSOC );

}

catch( PDOException $e ) {

die( $e->getMessage() );

}

$data = array();

$i = $this->index;

while( $item = $st->fetch() )

{

$data[ $item[ $i ] ] = $item;

}

$this->data = $data;

return $this;

}

function insert()

{

$table = $this->table ;

$col = is_array( $this->col ) ? implode( ',', $this->col ) : $this->col ;

$val = $this->val;

$ph = array();

if( !$this->col )

{

foreach( $val as $k => $v )

{

$key = "_".$k;

$arr[ $key ] = $v;

$ph[] = ':'.$key;

}

$ph = implode( ',', $ph );

$st = $this->db->prepare("INSERT INTO $table VALUES ($ph)");

}

else

{

$arr = array_combine( $this->col, $val );

foreach( $this->col as $k )

{

$ph[] = ':'.$k;

}

$ph = implode( ',', $ph );

$st = $this->db->prepare("INSERT INTO $table ($col) VALUES ($ph)");

}

try{

$st->execute( $arr );

}

catch( PDOException $e ) {

echo $e->getMessage();

}

return $this;

}

function delete()

{

$index = $this->index;

$val = array( $this->indexVal );

$table = $this->table;

$cond = $this->cond;

if( !$cond )

{

$st = $this->db->prepare("DELETE FROM $table WHERE $index=?");

try{ $st->execute( $val ); }

catch( PDOException $e ) {

echo $e->getMessage();

}

}

else

{

$cond = $this->cond;

$st = $this->db->prepare("DELETE FROM {$this->table} WHERE $cond");

try{ $st->execute(); }

catch( PDOException $e ) {

echo $e->getMessage();

}

}

return $this;

}

function update()

{

$val = is_array( $this->val ) ? $this->val : array( $this->val );

$col = is_array( $this->col ) ? $this->col : array( $this->col );

$arr = array_combine($col, $val);

$ph = array();

foreach( $col as $key )

{

$ph[] = $key.'=:'.$key;

}

$ph = implode( ',', $ph );

if( !$this->cond )

{

$st = $this->db->prepare("UPDATE {$this->table} SET $ph WHERE {$this->index}=:iv");

$arr['iv'] = $this->indexVal;

}

else

{

$st = $this->db->prepare("UPDATE {$this->table} SET $ph WHERE {$this->cond}");

}

try{ $st->execute($arr);

}

catch( PDOException $e ) {

echo $e->getMessage();

}

}

function fetch( $key )

{

return $this->data[ $key ];

}

function fetchAll()

{

return $this->data;

}

function reset()

{

$this->data = array();

$this->table = null;

$this->col = null;

$this->cond = null;

$this->index = 'id';

$this->indexVal = null;

$this->val = null;

}

//Database manipulate end

function ls()

{

echo "<pre>";

print_r( $this->data );

echo "</pre>";

}

}

?>

orph/php/index.php

<?

include 'DBAccess.php';

$db = new DBAccess( 'localhost', 'morphy','root','' );

$data = file_get_contents( "php://input" );

$data = json_decode( $data );

if( $data->action == 'roots' )

{

$db['roots'];

echo json_encode( $db->fetchAll() );

}

if( $data->action == 'all' )

{

$db['roots'];

$res = array( 'roots' => $db->fetchAll() );

$db['suffixes'];

$res['suffixes'] = $db->fetchAll();

echo json_encode( $res );

}

if( $data->action == 'addroot' )

{

$db['roots'] = array( 'root'=> $data->name );

echo json_encode( array( 'success'=>true ) );

}

if( $data->action == 'delroot' )

{

unset( $db["roots.{$data->id}"] );

echo json_encode( array( 'success'=>true ) );

}

if( $data->action == 'uproot' )

{

$db["roots.{$data->id}"] = array( 'root' => $data->val ) ;

echo json_encode( array( 'success'=> true ) );

}

if( $data->action == 'suffs' )

{

$db['suffixes'];

echo json_encode( $db->fetchAll() );

}

if( $data->action == 'addsuff' )

{

$db['suffixes'] = array( 'name'=> $data->name, 'type' => $data->desc );

echo json_encode( array( 'success'=>true ) );

}

if( $data->action == 'delsuff' )

{

unset( $db["suffixes.{$data->id}"] );

echo json_encode( array( 'success'=>true ) );

}

if( $data->action == 'upsuff' )

{

$db["suffixes.{$data->id}"] = array( $data->col => $data->val ) ;

echo json_encode( array( 'success'=> true ) );

}

?>

Morph/index.html

<!doctype html>

<html lang="en" ng-app="myApp">

<head>

<meta charset="utf-8">

<title>My AngularJS App</title>

<link rel="stylesheet" href="css/app.css"/>

</head>

<body>

<div class='container'>

<ul class="nav nav-tabs">

<li ng-class="lineClass"><a href="/app/#/root">O'zak</a></li>

<li ng-class="accountClass"><a href="/app/#/account">Accaount</a></li>

<li ng-class="magazineClass"><a href="/app/#/roots">O'zaklar</a></li>

<li ng-class="magazineClass"><a href="/app/#/suffixes">Qo'shimchalar</a></li>

</ul>

<div ng-view></div>

<script src="lib/angular/angular.js"></script>

<script src="lib/angular/angular-route.js"></script>

<script src="js/app.js"></script>

<script src="js/services.js"></script>

<script src="js/controllers.js"></script>

<script src="js/filters.js"></script>

<script src="js/directives.js"></script>

</div>

</body>

</html>

Размещено на Allbest.ur

...

Подобные документы

  • Анализ предметной области "Ремонт часов", с использованием СУБД MySQL, языка HTML, технологии PHP и ADO и выбора скриптовых языков VBScript или JavaScript. Нормализация базы данных. Пошаговое описание нормализации базы данных (методом ER-диаграмм).

    курсовая работа [782,4 K], добавлен 18.06.2010

  • Проблемы внедрения информационных технологий. Автоматизация работы пользователя. Основные этапы проектирования базы данных. Функционирование предметной области. Специализированные языки обработки данных. Обоснование выбора основных технических средств.

    курсовая работа [61,9 K], добавлен 08.02.2012

  • Главные составные части среды программирования. Требование к надежности, к составу и параметрам технических средств. Табличные базы данных. Выбор и обоснование выбора системы управления базами данных. Высокопроизводительный компилятор в машинный код.

    курсовая работа [793,5 K], добавлен 31.01.2016

  • Функции автоматического рабочего места инженера АТС, структура соответствующей базы данных и обоснование выбора языка программирования. Разработка алгоритмического обеспечения. Программная реализация, основное содержание и принципы работы с таблицами.

    дипломная работа [449,8 K], добавлен 06.01.2014

  • Исследование технологии проектирования базы данных. Локальные и удаленные базы данных. Архитектуры и типы сетей. Программная разработка информационной структуры предметной области. Обоснование выбора архитектуры "клиент-сервер" и операционной системы.

    дипломная работа [1,1 M], добавлен 15.02.2017

  • Осуществление анализа предметной области и определение модели базы данных. Реализация базы данных в среде Microsoft Access. Создание и исследование формы ввода информации, запросов с условиями выбора, диаграмм по результатам вычислений и отчетов.

    курсовая работа [246,1 K], добавлен 19.10.2013

  • Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.

    курсовая работа [975,2 K], добавлен 30.01.2014

  • Анализ предметной области объекта автоматизации "Компьютерные курсы". Обзор информационных технологий, подходящих для разработки информационной системы. Требования к разрабатываемой базе данных и ее проектирование, особенности ее программной реализации.

    курсовая работа [369,8 K], добавлен 30.05.2013

  • Разработка словаря, содержащего термины по патентоведению, в виде базы данных. Систематизация данных путем разделения текста на отдельные файлы по буквам алфавита. Создание файла "Содержание" с гиперссылками для обеспечения быстрого доступа к информации.

    презентация [278,1 K], добавлен 16.10.2013

  • Общая характеристика киноиндустрии как предметной области работы. Разработка базы данных и дерева вопросов для получения информации для выбора фильма. Программная реализация экспертной системы. Тестирование системы и создание руководства пользователя.

    курсовая работа [1,9 M], добавлен 19.05.2014

  • Создание программного обеспечения, организующего базу данных тренажёрного зала. Описание предметной области; предикаты языка Пролог для работы с БД: ввод/вывод, управление окнами. Разработка структуры базы данных, интерфейс; содержание файла "Zal.ddb".

    курсовая работа [821,6 K], добавлен 07.06.2013

  • Анализ предметной области - магазин "Канцелярские товары". Проектирование и реализация базы данных в MS SQL Server. Перечень хранимой информации: таблицы, поля, типы. Моделирование предметной области. Выделение сущностей, атрибутов, ключей, связей.

    курсовая работа [2,2 M], добавлен 05.02.2015

  • Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.

    дипломная работа [645,3 K], добавлен 21.11.2010

  • Анализ предметной области, этапы проектирования автоматизированных информационных систем. Инструментальные системы разработки программного обеспечения. Роль CASE-средств в проектировании информационной модели. Логическая модель проектируемой базы данных.

    курсовая работа [410,6 K], добавлен 21.03.2011

  • База данных как поименованная совокупность структурированных данных, относящихся к определенной предметной области. Ее типы и структура, особенности архитектуры. Функциональные особенности языка структурированных запросов (SQL). Разработка базы данных.

    курсовая работа [639,8 K], добавлен 14.12.2022

  • Разновидности систем управления базами данных. Анализ предметной области. Разработка структуры и ведение базы данных. Структурированный язык запросов SQL. Организация выбора информации из базы данных. Общие принципы проектирования экранных форм, макросов.

    курсовая работа [3,1 M], добавлен 26.02.2016

  • Системный анализ предметной области. Требования к программе и программному изделию, к функциональным характеристикам, к надежности, составу и параметрам технических средств. Обоснование выбора средств выбора для хранения и обработки базы данных.

    реферат [403,8 K], добавлен 02.02.2014

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Нормализация предметной области "Сайт знакомств" и ее программная реализация с использованием СУБД MySQL, языка HTML, технологии PHP и ADO, скриптовых языков VBScript или JavaScript. Руководство программиста, тестирование, исходный текст приложения.

    реферат [29,0 K], добавлен 09.09.2010

  • Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.

    курсовая работа [2,1 M], добавлен 16.04.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.