Разработка словаря фонем и морфем узбекского языка на основе информации в 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