Skip to content

Panel API

Hamed Saeedi edited this page Dec 31, 2018 · 10 revisions

API پنل تحت وب

در این بخش، توضیحات مربوط به API پنل تحت وب که برای برچسب‌زنی پیکره‌ها استفاده می‌شود، قرار می‌گیرد

احراز هویت

برای استفاده از API‌های پنل تحت وب، کاربر می‌بایست ابتدا احراز هویت شود. برای این کار به آدرس زیر یک درخواست ارسال کنید

https://app.text-mining.ir/api/auth/login

درخواست باید از نوع POST باشد و اطلاعات زیر نیز در Body به صورت Json ارسال شود

{
   Email: "YOUR_TEXTMINING_ACCOUNT_EMAIL",
   Password : "YOUR_TEXTMINING_ACCOUNT_PASSWORD"
}

در صورت موفقیت آمیز بودن، کد 200 به همراه توکنJWT بازگردانده می‌شود. از این توکن، در احراز هویت سایر API های پنل تحت وب استفاده می‌شود. در غیر اینصورت کد خطای 400 به همراه پیام خطا بازگردانده می‌شود

API برچسب زنی پیکره NER

پیکره NER فارسی که بر مبنای اطلاعات ویکی پدیا فارسی آماده شده است و خروجی آن به صورت اپن سورس در همین مخزن قرار گرفته، هم از طریق پنل تحت وب و هم از طریق API این پنل قابل استفاده است. در API پنل تحت وب، دو عملیات زیر را می‌توان در رابطه با این پیکره انجام داد:

  • دریافت یک جمله تصادفی جدید از پیکره برای برچسب زنی
  • برچسب زدن یک کلمه در جمله

احراز هویت برای API برچسب زنی پیکره

در هر یک از دو متد اشاره شده در بالا، به همراه درخواست باید Header مربوط به Authorization از نوع Bearer Token ارسال شود و در آن مقدار دریافتی توکن بعد از استفاده از متد login که در بخش احراز هویت توضیح داده شد قرار گیرد.

دریافت یک جمله تصادفی جدید از پیکره برای برچسب زنی

برای این کار به آدرس زیر یک درخواست ارسال کنید. این درخواست همانطور که در بالا توضیح داده شد باید توکن احراز هویت داشته باشد.

https://app.text-mining.ir/api/ner/GetRandomSentence

این درخواست از نوع GET می‌باشد و این متد ورودی ندارد. خروجی آن در صورت موفقیت کد 200 به همراه اطلاعات زیر در قالب Json می‌باشد:

{
    "sentenceId": "8028e32b-e00c-e911-9e31-ac220b2bc74b",
    "words": [
        {
            "WordId": "649c7032-3b05-4988-b734-158a6f62ec5d",
            "NerTagId": "7dc3ce92-8259-46ec-a252-049283f668b7",
            "Word": "برای",
            "WordOrder": 1,
            "Tag": "O"
        },
        {
            "WordId": "8accc0b0-9b32-420d-b906-505ea1682877",
            "NerTagId": "7fd0f2d6-9d82-4482-9f06-6d9681afb102",
            "Word": "نمونه",
            "WordOrder": 2,
            "Tag": "O"
        },
...
}

در خروجی بالا، sentenceId شناسه جمله‌ای که به صورت تصادفی به کاربر اختصاص یافته است. این شناسه بعداً در زمان برچسب زنی با متد TagWord که در ادامه توضیح داده می‌شود استفاده می‌شود. در ادامه این خروجی آرایه‌ای از کلمات جمله، به صورت پشت سر هم می‌آید. در هر یک از عناصر این آرایه، خود کلمه در Word و ترتیب آن در جمله که عددی می‌باشد و از عدد ۱ شروع می‌شود با WordOrder مشخص است و تگ فعلی این کلمه نیز با Tag مشخص شده است که یکی از حالات زیر می‌باشد:

  • B-PER برای تگ شروع شخص
  • I-PER برای تگ شخص
  • B-ORG برای تگ شروع سازمان
  • I-ORG برای تگ سازمان
  • B-LOC برای تگ شروع مکان
  • B-LOC برای تگ مکان
  • B-EVE برای تگ شروع رویداد
  • I-EVE برای تگ رویداد
  • B-DAT برای تگ شروع تاریخ و زمان
  • I-DAT برای تگ تاریخ و زمان
  • O برای تگ سایر موارد غیر از موارد بالا