세르비아어 도구는 세르비아어로 작성된 텍스트를 다루기위한 PHP 라이브러리입니다. 기능 :
이 라이브러리는 SQLITE3, Intl 및 MBString 확장을 사용하여 PHP 7.4 이상이 필요합니다.
작곡가를 통해 패키지를 설치할 수 있습니다.
composer require turanjanin/serbian-language-tools라이브러리를 사용하려면 문자열을 토큰 화해야합니다. 토큰 화는 문자열을 일련의 관련 문자로 분할하는 과정입니다. 이 라이브러리는 Word, Whitespace, URI (URL, 해시 태그 및 멘션 포함), 상호 관찰, HTML 및 Emoticon을 인식 할 수 있습니다.
명명 된 생성자를 사용하여 새 Text 클래스 인스턴스를 만들어 토큰 화를 달성 할 수 있습니다.
use Turanjanin SerbianLanguageTools Text ;
$ text = Text:: fromString ( ' Zdravo svete, ovo je primer teksta! ' ); 텍스트 객체에는 이제 처리 할 수있는 다양한 토큰 배열이 포함됩니다. 이 객체를 ArrayAccess 인터페이스를 구현하므로 다른 PHP 배열로 사용할 수 있습니다.
echo count ( $ text ) . "n" ; // 13
echo get_class ( $ text [ 1 ]). "n" ; // TuranjaninSerbianLanguageToolsTokensWhitespace
echo $ text [ 9 ] . "n" ; // primer세르비아 라틴 알파벳에는 ASCII 인코딩 테이블에서 찾을 수없는 몇 가지 특정 문자가 포함되어 있습니다. 이 캐릭터는 Diacritics -č, ć, Š, ž, Dž, ³- 주로 영어 키보드 레이아웃의 광범위한 사용으로 인해 일상적인 커뮤니케이션 (소셜 미디어, 이메일 및 SMS)에서 종종 생략됩니다.
이 저하 된 라틴 알파벳은 인간 독자들이 쉽게 이해할 수 있지만 검색 엔진과 자연어 처리에 큰 도전을 제기합니다. 따라서이 라이브러리에는 컨텍스트 분해를 위해 세르비아어 단어와 문구의 사전을 사용하여 ASCII 텍스트를 자동 복원 할 수있는 알고리즘이 있습니다.
알고리즘은 모든 Word 토큰을 검사하고 복원 후보자 (S, C, Z 또는 DJ 문자가있는 단어를 찾습니다. 그 후 다음 두 단계가 적용됩니다.
가장 일반적인 문구는 텍스트 내부에서 검색되며, 발견되면 단어는 그들의 동등한 등가로 대체됩니다. 이 단계는 단어 컨텍스트를 고려하여 사용되지 않은 변형에 이점을 제공 할 수 있습니다. 예를 들어, sto hiljada što (왜) 가 Word sto (백) 에 비해 훨씬 큰 빈도를 가지고 있지만 što hiljada 로 대체되지 않습니다.
모든 복원 후보는 사전에서 찾아 보며, 변형이 알려진 경우 토큰이 복원 RestoredWord (가능한 변형 만있는 경우) 또는 MultipleRestoredWord (가능한 변형이있는 경우)로 대체됩니다. 하나 이상의 변동이있는 경우, 주파수가 가장 높은 변형이 선호되는 것으로 표시됩니다.
Diacritic 복원은 호출 가능한 클래스를 호출하여 수행 할 수 있습니다.
use Turanjanin SerbianLanguageTools Text ;
use Turanjanin SerbianLanguageTools Transformers DiacriticRestorer ;
$ text = Text:: fromString ( ' Cetiri cavke cuceci dzangrizavo cijucu u zeleznickoj skoli. ' );
echo ( new DiacriticRestorer )( $ text ); // Četiri čavke čučeći džangrizavo cijuču u železničkoj školi. 이 알고리즘에 필요한 사전은이 라이브러리에 포함 된 맞춤형 SQLITE 데이터베이스에 저장됩니다. TuranjaninSerbianLanguageToolsDictionaryDictionary 인터페이스의 사용자 정의 구현을 제공 하여이 데이터베이스를 확장하거나 다른 스토리지 솔루션을 사용할 수 있습니다.
라이브러리는 키릴, 라틴어 및 ASCII 알파벳 사이의 텍스트의 음역을 지원합니다. 음역은 적절한 호출 가능한 클래스를 호출하여 수행 할 수 있습니다.
use Turanjanin SerbianLanguageTools Text ;
use Turanjanin SerbianLanguageTools Transformers ToAsciiLatin ;
use Turanjanin SerbianLanguageTools Transformers ToCyrillic ;
use Turanjanin SerbianLanguageTools Transformers ToLatin ;
$ cyrillic = Text:: fromString ( ' Ово је ћирилични текст ' );
$ latin = Text:: fromString ( ' Primer latiničnog teksta ' );
echo ( new ToLatin )( $ cyrillic ); // Ovo je ćirilični tekst
echo ( new ToCyrillic )( $ latin ); // Пример латиничног текста
echo ( new ToAsciiLatin )( $ cyrillic ); // Ovo je cirilicni tekst라틴어와 키릴 알파벳 사이의 음역이 필요한 경우 더 간단한 라이브러리 인 Turanjanin/Serbian -Transliterator를 살펴보십시오.
라이브러리는 텍스트가 세르비아 키릴 또는 라틴 알파벳으로 작성된 경우를 감지하는 데 사용될 수 있습니다.
use Turanjanin SerbianLanguageTools Text ;
Text:: fromString ( ' Ovo je latinica ' )-> isLatin (); // true
Text:: fromString ( ' Ovo je latinica ' )-> isCyrillic (); // false MIT 라이센스 (MIT). 자세한 내용은 라이센스 파일을 참조하십시오.