محرك البحث السريع Fast Corpus الذي تم صنعه في الأصل لمجموعة من لغة Tatar المكتوبة.
يمكنك تجربته هنا.
رمز المصدر متاح على https://github.com/mansayk/fastmorph.
Query:
Word 1: китап
Number of occurences: 32209
Query processing time: 0,4 sec.
Query:
Word 1 (case sensitive, distance to the next word up to 3 words): Китап
Word 2 (if in brackets, then it is lemma): (бир)
Number of occurences: 15
Query processing time: 0,4 sec.
Quite heavy query:
Word 1 (word begins with "б" letter, distance range to the next word is from 1 to 10): б*
Word 2 (pronoun, word ends with "ң", distance range to the next word is from 1 to 10): <prn>*ң
Word 3 (lemma "кил", word ends with "р"): (кил)*р
Number of occurences: 135210
Query processing time: 0,8 sec.
Very heavy query:
Word 1 (word ends with "ы", distance range to the next word is from 1 to 100): *ы
Word 2 (word ends with "а", distance range to the next word is from 1 to 100): *а
Word 3 (word ends with "м", distance range to the next word is from 1 to 100): *м
Word 4 (word ends with "с", distance range to the next word is from 1 to 100): *с
Word 5 (word ends with "ь", distance range to the next word is from 1 to 100): *ь
Word 6 (word ends with "е"): *е
Number of occurences: 135210
Query processing time: 1,4 sec.
يمكنك تجربته هنا. هناك أمثلة بحث مختلفة في دليلنا. إذا كان لديك أي أسئلة حول استخدام FastMorph في مشاريعك ، فيرجى الاتصال بنا بواسطة [email protected].
كما نطلب منك إخبارنا بمكان استخدام محرك البحث هذا ، وإذا كنت لا تمانع ، فسوف ننشر هنا روابط لتلك المشاريع.
يتم توزيع هذا البرنامج بموجب ترخيص GNU General Public V3.0.
البحث عن استعلام:
Schematical view: {<adj>}(0) 1-5 {ке*<n>}(1) 1-1 {(кил)}(0) 1-1 {}(0) 1-1 {}(0) 1-1 {}(0)
Detailed:
Word 1 (distance range to the next word is from 1 to 5, adjective): <adj>
Word 2 (case sensitive, begins with "ке", noun): ке*<n>
Word 3: (lemma "кил"):(кил)
Word 4:
Word 5:
Word 6:
{
"word": [
"",
"",
"",
"",
"",
""
],
"lemma": [
"",
"",
"кил",
"",
"",
""
],
"tags": [
"<adj>",
"<n>",
"",
"",
"",
""
],
"wildmatch": [
"",
"ке*",
"",
"",
"",
""
],
"case": [
0,
1,
0,
0,
0,
0
],
"dist_from": [
1,
1,
1,
1,
1
],
"dist_to": [
5,
1,
1,
1,
1
],
"return": 100,
"last_pos": "0"
}
"العودة" - الحد الأقصى من الجمل للعودة.
"Last_Pos" - "0" للاستعلام الأول أو مجرد إعادة هذه السلسلة للحصول على القائمة التالية للجمل.
تحذير! يجب عليك تطبيع بيانات الإدخال والتحقق منها قبل نقلها إلى FastMorph:
{
"example": [
{
"id": 15853,
"source": ""2013 Универсиадасы блогы" (web-сайт)",
"source_type": "kazan2013.ru",
"sentence": "Универсиада кебек зур проектның бер өлеше булу өчен, Казанга Россиянең төрле
төбәкләреннән һәм Дөньяның
<span id='found_word_0' class='found_word' title='(төрле) <adj>'>төрле</span>
илләреннән бик күп
<span id='found_word_1' class='found_word' title='(кеше) <n>,<nom>,<sg>'>кеше</span>
<span id='found_word_2' class='found_word' title='(кил) <ifi>,<iv>,<p3>,<sg>,<v>'>килде</span>."
},
{
"id": -1
}
],
"last_pos": "892447x39311905x75980782x114356633",
"found_all": 1359
}
كما ترون ، يتم إرجاع كل كلمة تتطابق مع استعلام البحث في علامات HTML التالية:
<span id='found_word_0' class='found_word' title='(LEMMA) <TAG1><TAG2>'>FOUND_WORD</span>
لذلك ، على سبيل المثال ، يمكنك استخدام CSS لتمييزها.
يمكنك العثور على إنشاء أمثلة جدول هنا.
mysql> حدد * من Morph6_Main_Apertium limit 10 ؛
| بطاقة تعريف | متحد | جملة | مصدر |
|---|---|---|---|
| 0 | 1594501 | 1 | 1 |
| 1 | 761564 | 1 | 1 |
| 2 | 787834 | 1 | 1 |
| 3 | 1505641 | 1 | 1 |
| 4 | 420024 | 1 | 1 |
| 5 | 764201 | 1 | 1 |
| 6 | 1003674 | 1 | 1 |
| 7 | 1003851 | 1 | 1 |
| 8 | 764201 | 1 | 1 |
| 9 | 1057551 | 1 | 1 |
mysql> حدد * من morph6_united_apertium حيث المعرف> = 100 حد 10 ؛
| بطاقة تعريف | التكرار | Word_case | كلمة | ليما | العلامات |
|---|---|---|---|---|---|
| 100 | 1 | 1000084 | 599888 | 429156 | 2 |
| 101 | 60 | 1000085 | 599890 | 429158 | 2 |
| 102 | 5 | 1000086 | 599891 | 429159 | 2 |
| 103 | 2 | 1000087 | 599892 | 429160 | 2 |
| 104 | 1 | 1000088 | 599893 | 429161 | 2 |
| 105 | 10 | 1000089 | 599894 | 429162 | 2 |
| 106 | 1 | 100008 | 164606 | 119768 | 2 |
| 107 | 1 | 1000090 | 599895 | 429163 | 2 |
| 108 | 5 | 1000091 | 599899 | 429167 | 2 |
| 109 | 1 | 1000092 | 599901 | 429169 | 2 |
mysql> حدد * من morph6_words_case_apertium حيث المعرف> 200000 حد 10 ؛
| بطاقة تعريف | التكرار | Word_case |
|---|---|---|
| 200001 | 4 | иаарәәенәеә |
| 200002 | 1 | идаәенәе |
| 200003 | 3 | идарәәене |
| 200004 | 290 | идаәتمر |
| 200005 | 14 | идаәتمر |
| 200006 | 1 | идаәеның |
| 200007 | 79 | идаәенә |
| 200008 | 1 | иарәәәнең |
| 200009 | 1 | идарәәәнең |
| 200010 | 1 | идарәханә |
mysql> حدد * من morph6_words_apertium حيث المعرف> 100000 حد 10 ؛
| بطاقة تعريف | التكرار | كلمة |
|---|---|---|
| 100001 | 975 | артистларны |
| 100002 | 7 | артистларны ыына |
| 100003 | 74 | арти 10 ыа |
| 100004 | 1 | артистларныкы |
| 100005 | 1 | артистларныыай |
| 100006 | 8 | арти خصم |
| 100007 | 1 | артистларныкынан да |
| 100008 | 1 | артиانوية |
| 100009 | 1408 | артистларның |
| 100010 | 3 | артистларның ыына |
mysql> حدد * من morph6_lemmas_apertium حيث المعرف> 300000 حد 10 ؛
| بطاقة تعريف | التكرار | ليما |
|---|---|---|
| 300001 | 1 | ирччелек |
| 300002 | 130 | ирчеәр |
| 300003 | 8 | ирччеәрәә |
| 300004 | 2 | ирчччрәә |
| 300005 | 3 | ирччеәрәәә |
| 300006 | 9 | ирчччре |
| 300007 | 2 | ирччеәрегегз |
| 300008 | 2 | ирччеәрен |
| 300009 | 1 | ирччеәренеңң |
| 300010 | 12 | ирччеәрне |
mysql> حدد * من morph6_tags_apertium حيث المعرف> 11100 حد 10 ؛
| بطاقة تعريف | التكرار | مجموعات |
|---|---|---|
| 11101 | 4 | <tt> ، <dat> ، <f> ، <frm> ، <np> ، <px2sg> |
| 11102 | 17141 | <ant> ، <dat> ، <f> ، <np> |
| 11103 | 387 | <ant> ، <dat> ، <f> ، <np> ، <ll> |
| 11104 | 1 | <tt> ، <dat> ، <f> ، <np> ، <ll> ، <px1pl> |
| 11105 | 1 | <ant> ، <dat> ، <f> ، <np> ، <ll> ، <px1sg> |
| 11106 | 12 | <tt> ، <dat> ، <f> ، <np> ، <pl> ، <px3sp> |
| 11107 | 1 | <ant> ، <dat> ، <f> ، <np> ، <ll> ، <px> |
| 11108 | 40 | <tt> ، <dat> ، <f> ، <np> ، <px1pl> |
| 11109 | 101 | <tt> ، <dat> ، <f> ، <np> ، <px1sg> |
| 11110 | 41 | <tt> ، <dat> ، <f> ، <np> ، <px2sg> |
MySQL> حدد * من مصادر حيث Col1> 300 limit 3 ؛
| Col1 | Col2 | Col3 |
|---|---|---|
| 301 | "miras.belem.ru" (web-сйй) | miras.belem.ru |
| 302 | адда аиш. кршшр | كتاب |
| 303 | әәәәт хакимияияте әирле зидарә органарыының берәә " | tatarstan.ru |
إذا كنت تستخدم tagger من Apertium لتوضيح المورفولوجية ، فيمكنك استخدام البرنامج النصي Python لإنشاء جداول من إخراج Apertium.
لاستخدام هذا المحول يجب عليك:
cat bigfile.txt | apertium -n -d . tat-tagger | cg-proc dev/mansur.bin > bigfile_tagged.txt
حيث Mansur.bin هو مجرد ملف له بعض القواعد الإضافية. يمكنك العثور عليه هنا.
نتيجة يجب الحصول على ملف ، يحتوي على جمل مشروحة:
^Мин/Мин<prn><pers><p1><sg><nom>$ ^үземне/үз<prn><ref><px1sg><acc>$ ^белә/бел<v><tv><prc_impf>$ ^башлаганнан/башла<vaux><ger_past><abl>$ ^бирле/бирле<post>$ ^түбән/түбән<adj>$ ^очка/оч<n><sg><dat>$ – ^ерак/ерак<adj>$ ^бабакайларга/бабакай<n><pl><dat>$ ^төшәргә/төш<v><iv><inf>$ ^ярата/ярат<v><tv><pres><p3><sg>$ ^идем/и<cop><ifi><p1><sg>$^./.<sent>$
| معرف الجملة | معرف المصدر |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
| 6 | 1 |
| 7 | 1 |
| 8 | 1 |
| 9 | 1 |
| 10 | 1 |
ووضعه في نفس الدليل مع البرنامج النصي.
3) قم بتشغيل نص Python بهذه الطريقة:
./tat-tagger_to_ntables_v6.24.py tatcorpus2.sentences.apertium.tagged.txt
سوف يستغرق الأمر وقتًا طويلاً وفقًا لحجم مجموعةك.
4) إذا سارت الأمور على ما يرام ، فيجب أن تحصل على قائمة بالملفات الجديدة التي تحتاج إلى استيرادها إلى قاعدة بيانات MySQL:
tatcorpus2.sentences.apertium.tagged.txt.lemmas.output.txt
tatcorpus2.sentences.apertium.tagged.txt.main.output.txt
tatcorpus2.sentences.apertium.tagged.txt.tags-uniq.output.txt.sorted.txt
tatcorpus2.sentences.apertium.tagged.txt.tags.output.txt
tatcorpus2.sentences.apertium.tagged.txt.united.output.txt
tatcorpus2.sentences.apertium.tagged.txt.words.output.txt
tatcorpus2.sentences.apertium.tagged.txt.words_case.output.txt
27.02.2017 - تم إصدار الإصدار الخامس من محرك بحث Fastmorph Corpus. الآن يستهلك حوالي 2،5 مرة من الذاكرة (ذاكرة الوصول العشوائي).
18.11.2016 - تم إصدار الإصدار الرابع من Fastmorph Corpus Search Engine. قائمة التغييرات:
19.07.2016 - بعض التحسينات في محرك البحث المورفولوجي المعقد "Fastmorph":
13.06.2016 - تمت إضافة البحث بواسطة الجزء الأوسط من وظيفة كلمة في وحدة FastMorph. على سبيل المثال ، إذا قمت بكتابة *әе *، كلمات مثل ррәеенәә ، әйрәен ، үттрәеен ، өйөй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өй өйә.
21.04.2016 - بسبب التنفيذ في وحدة "fastmorph" ، فإن بعض التحسينات المعالج ودعم الرئاسة المتعددة التي حققناها أن البحث المورفولوجي المعقد يعمل الآن بشكل أسرع بخمس مرات.
03.04.2016 - تم تمديد ميزات نظام البحث المورفولوجي المعقد بشكل كبير. يمكنك الحصول على مزيد من المعلومات عنها في الأدلة التي تم تحديثها حتى 3.0 وإصدار أعلى.
22.02.2016 - ظهرت وظيفة البحث المورفولوجية المعقدة في مجموعة Tatar المكتوبة ، حيث يمكنك استخدام مجموعات مختلفة من المعلمات مثل Wordform ، Lemma ، العلامات النحوية ، بداية ونهاية الكلمات بينها. المعلومات الفنية: يستهلك الإصدار 1 حوالي 6 غيغابايت من ذاكرة الوصول العشوائي للجسم ، الذي يتكون من 116 مللي ثانية. سرعته عالية جدا.