تشخیص واحد های اسمی، مسئله ی یافتن و دسته بندی کردن واحدهای اسمی مانند نام های افراد، مکان ها، مناسبات ، سازمان ها و ... است که به عنوان زیر شاخه ای از پردازش زبان های طبیعی و همچنین استخراج اطلاعات (داده کاوی) شناخته می شود. جدیدترین دست آورد های مربوط به سیستم های تشخیص واحد های اسمی، برای یادگیری از روی یک مجموعه داده های یادگیریِ کوچک به شدت وابسته به ویژگی هایی است که به صورت دستی استخراج شده اند و همچنین وابستگی زیادی به دانش حوزه مربوطه دارد. این مقاله تلاش نموده که با ارائه ی مدل ها و بهبود برخی الگوریتم ها این مشکلات را رفع کند. برای این کار دو معماری جدید از شبکه های عصبی را معرفی کرده که یکی بر پایه ی LSTM های دوسویه (bidirectional) و میدان تصادفی شرطی است و دیگری از روشی الهام گرفته که از پارسر های shift-reduce استفاده می کند و با استفاده از روش های transition-based بخش ها را تولید و برچسب گذاری می کند.
مدل های به کار رفته در مقاله وابسته به دو منبع از اطلاعات در مورد کلمات هستند:
1. نمایش کلمات به صورت حرف محور (character-based) که از روی مجموعه داده های نظارت شده (supervised) یادگرفته شده اند.
2. نمایش کلمات به صورت نظارت نشده (unsupervised) که از روی داده های علامت گذاری نشده یادگرفته شده اند.
این مدل ها به بهترین کارایی در زمان خود دست پیدا کرده اند .برای شناسایی واحد های اسمی، بدون استفاده از دانشِ وابسته به زبانی خاص یا
استفاده از منابعی مانند gazetteers بر روی چهار زبان مختلف آزمایش شده، بهترین نتایج را نشان داده اند.
##مقدمه
مسئله ی تشخیص واحد های اسمی یا به طور مختصر NER یک مسئله ی چالش برانگیز در حوزه ی یادگیری به شمار می رود. وجود تعداد بسیار کم داده های یادگیریِ نظارت شده از یک جهت و قواعد و محدودیت های بسیار اندک بر روی کلماتی که می توانند اسم باشند از جهتی دیگر، تعمیم دانشِ موجود در این نمونه های کوچک را سخت کرده اند. نتیجتا یکسری ویژگی های املائی ساختاریافته و منابع اطلاعاتیِ مختص زبان برای پوشش این مشکلات تولید شده اند. متاسفانه از آنجایی که تولید این منابع برای هر زبان باید تکرار شود و این فرایند هزینه بر است، تولید NER به یک چالش تبدیل شده است. استفاده از یادگیریِ نظارت نشده استراتژی دیگری است که می تواند نتایج بهتری را با استفاده از داده هایی که دستی ایجاد شده اند، تولید کند. هرچند سیستم هایی که با این روش درست شده اند،به جای اینکه ویژگی های با دست تولید شده و منابع اطلاعاتی مختص زبانی را جایگزین کنند، از این تکنیک برای بهبود روش های پیشین استفاده کرده اند.
معماری شبکه عصبی معرفی شده در این مقاله، از هیچگونه منابع اطلاعاتی وابسته به زبان بجز یک مجموعه داده های یادگیریِ نظارت شده و یک مجمع داده گان نظارت نشده استفاده نمی کند. مدل های ارائه شده به گونه ای طراحی شده اند که دو مفهوم را شناسایی کنند. اول اینکه چون اسم ها اغلب از چند کلمه تشکیل شده اند، نتیجه گیری به صورت اشتراکی روی تگ ها حائز اهمیت است. دوم اینکه در احتمال پیش آمد اینکه یک کلمه اسم باشد هم شکل املایی کلمه و هم نحوه ی توزیع واحد های اسمی در متن، دخیل هستند. تکنیک های به کار رفته در ساختار مدل های ارائه شده این اطلاعات را استخراج کرده و یاد می گیرند.
##مجموعه داده گان
در این مقاله مدل های ارائه شده بر روی مجموعه داده گان مختص NER آزمایش شده اند. برای نمایش توانایی مدل های ارائه شده نتایج آزمایش بر روی دو مجمع داده گان ارائه شده است، یکی CoNLL\_2002 و دیگری CoNLL\_2003 که شامل برچسب های واحد های اسمی مستقل ازهم برای زبان های انگلیسی، اسپانیایی، آلمانی و هلندی می باشند.همه ی این مجموعه داده ها شامل چهار نوع مختلف دسته بندی برای واحدهای اسمی هستند: اماکن، افراد، سازما ن ها و متفرقه.
در متد ارائه شده هیچگونه پیش پردازشی روی مجموعه داده گان صورت نمی گیرد، تنها برای زبان انگلیسی اعداد موجود در متن به صفر تبدیل می شوند.<div align="center">
<h1>معماری های عصبی برای تشخیص واحد های اسمی</h1>
</div>
<br/><br/>
---
##فهرست
+ [چکیده](#abstract)
+ [مقدمه](#introduction)
+ [شبکه های عصبی بازگشتی](#RNN)
+ [شبکه های حافظه ی کوتاه مدت ماندگار](#LSTM)
+ [مدل حافظه ی کوتاه مدت ماندگار با میدان تصادفی شرطی](#LSTM-CRF)
- [بخش حافظه ی کوتاه مدت ماندگار](#LSTMP)
- [بخش میدان تصادفی شرطی](#CRFP)
+ [نهفته سازی کلمات ورودی](#ipwembd)
- [نهفته سازی های پیش آموخته](#pretraindembd)
+ [یادگیری مدل اصلی](#mmlearn)
+ [رویه های برچسب گذاری](#taggingsch)
+ [مدل قطعه بندی برپایه ی انتقال](#chunkmodels)
- [اگوریتم قطعه بندی](#chunkalgo)
- [نمایش قطعه های برچسب خورده](#lbchunkrep)
+ [مجموعه داده گان](#dataset)
+ [تجربیات](#exper)
- [یادگیری](#learning1)
- [نتایج](#results)
+ [جمع بندی](#conclusion)
---
<a id="abstract"></a>
تشخیص واحد های اسمی، مسئله ی یافتن و دسته بندی کردن واحدهای اسمی مانند نام های افراد، مکان ها، مناسبات ، سازمان ها و ... است که به عنوان زیر شاخه ای از پردازش زبان های طبیعی و همچنین استخراج اطلاعات (داده کاوی) شناخته می شود. جدیدترین دست آورد های مربوط به سیستم های تشخیص واحد های اسمی، برای یادگیری از روی یک مجموعه داده های یادگیریِ کوچک به شدت وابسته به ویژگی هایی است که به صورت دستی استخراج شده اند و همچنین وابستگی زیادی به دانش حوزه مربوطه دارد. این مقاله تلاش نموده که با ارائه ی مدل ها و بهبود برخی الگوریتم ها این مشکلات را رفع کند. برای این کار دو معماری جدید از شبکه های عصبی را معرفی کرده که یکی بر پایه ی LSTM های دوسویه [^bidirectional] و میدان تصادفی شرطی [^conditional random field] است و دیگری از روشی الهام گرفته که از پارسر های shift-reduce استفاده می کند و با استفاده از روش های انتقال محور[^transition-based] بخش ها را تولید و برچسب گذاری می کند.
مدل های به کار رفته در مقاله وابسته به دو منبع از اطلاعات در مورد کلمات هستند:
1. نمایش کلمات به صورت حرف محور[^character-based] که از روی مجموعه داده های نظارت شده[^supervised] یادگرفته شده اند.
2. نمایش کلمات به صورت نظارت نشده[^unsupervised] که از روی داده های علامت گذاری نشده یادگرفته شده اند.
این مدل ها به بهترین کارایی در زمان خود دست پیدا کرده اند .برای شناسایی واحد های اسمی، بدون استفاده از دانشِ وابسته به زبانی خاص یا استفاده از منابعی مانند gazetteers بر روی چهار زبان مختلف آزمایش شده، بهترین نتایج را نشان داده اند.
<a id="introduction"></a>
##مقدمه
مسئله ی تشخیص واحد های اسمی یا به طور مختصر NER یک مسئله ی چالش برانگیز در حوزه ی یادگیری به شمار می رود. وجود تعداد بسیار کم داده های یادگیریِ نظارت شده از یک جهت و قواعد و محدودیت های بسیار اندک بر روی کلماتی که می توانند اسم باشند از جهتی دیگر، تعمیم دانشِ موجود در این نمونه های کوچک را سخت کرده اند. نتیجتا یکسری ویژگی های املائی ساختاریافته و منابع اطلاعاتیِ مختص زبان برای پوشش این مشکلات تولید شده اند. متاسفانه از آنجایی که تولید این منابع برای هر زبان باید تکرار شود و این فرایند هزینه بر است، تولید NER به یک چالش تبدیل شده است. استفاده از یادگیریِ نظارت نشده استراتژی دیگری است که می تواند نتایج بهتری را با استفاده از داده هایی که دستی ایجاد شده اند، تولید کند. هرچند سیستم هایی که با این روش درست شده اند،به جای اینکه ویژگی های با دست تولید شده و منابع اطلاعاتی مختص زبانی را جایگزین کنند، از این تکنیک برای بهبود روش های پیشین استفاده کرده اند.
معماری شبکه عصبی معرفی شده در این مقاله، از هیچگونه منابع اطلاعاتی وابسته به زبان بجز یک مجموعه داده های یادگیریِ نظارت شده و یک مجمع داده گان نظارت نشده استفاده نمی کند. مدل های ارائه شده به گونه ای طراحی شده اند که دو مفهوم را شناسایی کنند. اول اینکه چون اسم ها اغلب از چند کلمه تشکیل شده اند، نتیجه گیری به صورت اشتراکی روی تگ ها حائز اهمیت است. دوم اینکه در احتمال پیش آمد اینکه یک کلمه اسم باشد هم شکل املایی کلمه و هم نحوه ی توزیع واحد های اسمی در متن، دخیل هستند. تکنیک های به کار رفته در ساختار مدل های ارائه شده این اطلاعات را استخراج کرده و یاد می گیرند.<br/>
<a id="RNN"></a>
##شبکه های عصبی بازگشتی[^RNN]
شبکه های عصبی معمول از وضعیت های قبلی خود اطلاعاتی به وضعیت کنونیشان منتقل نمی کنند. به عبارت دیگر هر بار از اول شروع کرده و ورودی فعلی را پردازش می کنند. ورودی های قبلی و نتایجشان روی نتیجه ی کنونی تاثیری نمی گذارند. در عمل کار هایی هستند که برای انجام آنها نیاز داریم قسمتی اطلاعات کار های قبلی باقی بمانند. برای مثال اگر بخواهیم اتفاقی را که در یک قسمت از یک فیلم در حال وقوع است تشخیص دهیم، شبکه باید قاب های تصویر را پشت سر هم بخواند. واضح است که اطلاعات ورودی های قبلی از یک دنباله قاب باید در جایی باقی بماند چون فعالیت درحال وقوع از مجموع این ورودی ها ناشی می شود و شبکه باید نتیجه را براساس اطلاعات مجموعه این دنباله اعلام کند.
شبکه های عصبی بازگشتی این مشکل را رفع می کنند. این شبکه ها در خود حلقه ای بازگشتی دارند که باعث می شود اطلاعات در شبکه باقی بمانند. اما دوام این اطلاعات زیاد نیست و تنها اطلاعاتی را از ورودی هایی که اخیرا پردازش کرده اند به یاد می آورند. اگر فاصله ی ورودی هایی که حاوی اطلاعات مفید برای پردازش ورودی فعلی هستند زیاد باشد این شبکه نمی تواند این اطلاعات را به یاد بیاورد که خوشبختانه LSTM ها این مشکل را رفع کرده اند.<br/>
<a id="LSTM"></a>
##شبکه های حافظه ی کوتاه مدت ماندگار[^LSTM]
همه ی شبکه های عصبی بازگشتی شکلی زنجیره ای از واحد هایی که با شبکه های عصبی ایجاد شده اند دارند که این واحد ها در زنجیره تکرار می شوند. در شبکه های استاندارد RNN این بخش تکرار شونده ساختار ساده ای مثل یک لایه ی $tanh$ دارند. LSTM ها این شکل زنجیره ای را حفظ کرده اند اما واحد های تکرار شونده ی پشت سر هم ساختارشان متفاوت است.
![شکل ۱: یک دنباله از سلول ها ی LSTM و نمونه ای از ساختار درونی آن](https://boute.s3.amazonaws.com/298-rsz_1rsz_lstm3-chain.png)
نکته ی کلیدی در LSTM حالت سلول[^cellstate] است. حالت سلول کانالی افقی است که از همه ی واحد های زنجیره عبور کرده و آنها را به هم متصل می کند. به همین دلیل اطلااعات به راحتی می توانند میان واحد ها جریان یابند. هر واحد می تواند اطلاعاتی را از واحد سلول حذف یا به آن اضافه کند که این کار تنها با چند عملیات ساده ی خطی انجام می شود. ساختاری که در مورد اینکه چه مقدار از اطلاعات باقی بمانند، چه مقدار از اطلاعات ورودی اضافه شوند و یا چه اطلاعاتی به خروجی منتقل شوند را دروازه[^gate] می نامند. یک LSTM سه عدد از این گیت ها را داراست تا حالت سلول را مراقبت و کنترل کنند.
هر LSTM از چهار بخش اصلی تشکیل شده است:
* سلول
* دروازه ورودی
* دروازه خروجی
* دروازه فراموشی
کار به یاد آوردن اطلاعات را سلول ها انجام می دهند. دروازه ها شبکه های عصبی معمولی ای هستند که هرکدام ورودی خود را دارند و خروجیشان در خروجی سلول یا ورودی LSTM ضرب می شود تا به بخشی از اطلاعات اجازه ی جریان یافتن بدهد یا از حرکتی اطلاعات جلوگیری کند. بنابراین دروازی وردی ورود اطلاعات به داخل حافظه، دروازه ی فراموشی باقی ماندن اطلاعات در حافظه و دروازه ی خروجی استفاده و یا عدم استفاده از اطلاعات موجود در حافظه را کنترل می کند.<br/>
<a id="LSTM-CRF"></a>
## مدل حافظه ی کوتاه مدت ماندگار با میدان تصادفی شرطی[^LSTM-CRF]
در این بخش به طور خلاصه به شرح مدل های LSTM و CRF و نحوه ی به کار گیری آنها در ساختار پیشنهادی می پردازیم.
<a id="LSTMP"></a>
### بخش حافظه ی کوتاه مدت ماندگار
همانطور که گفته شد شبکه های LSTM برای به یاد آوری و استفاده از اطلاعات قبلی شبکه کاربرد دارند و از خانواده ی RNN ها هستند. این شبکه ها ورودی خود را به صورت یک دنباله از بردار ها گرفته و دنباله ای دیگر را باز می گردانند. برای یک جمله به صورت $(x_1, x_2, ... , x_n)$ حاوی $n$ کلمه که هر کلمه با یک بردار $d$ بعدی نمایش داده شده است. LSTM $\overrightarrow{h_t}$ را به عنوان نمایش محتوی جمله در سمت چپ کلمه ی $t$ محاسبه می کند. همچنین محاسبه ی $\overleftarrow{h_t}$ ( نمایشی از محتوی جمله در سمت راست $t$ ) اطلاعات مفیدی را در اختیار می گذارد. در این مقاله از دو LSTM استفاده شده است که یکی جمله را از چپ به راست و یکی از راست به چپ می خواند. اولی LSTM روبه جلو[^forwardLSTM] و دومی را LSTM روبه عقب [^backwardLSTM] می نامند. مجموعه ی این دو را LSTM دوطرفه نام گذاری کرده اند.
بنابراین برای نمایش یک کلمه از الحاق محتوی چپ و راست کلمه در جمله $h_t = [\overrightarrow{h_t}\overleftarrow{h_t}]$ استفاده کرده است. این روش به صورتی موثر نمایشی از یک کلمه را ، داخل متن و محتوی جمله بدست می دهد.
<a id="CRFP"></a>
### بخش میدان تصادفی شرطی [^CRF]
در این مقاله از CRF به این صورت استفاده شده که برای جمله ی ورودی $X = (x_1 , x_2 , ... , x_n)$ خروجی LSTM دوطرفه، $P$ را ماتریس $n\times k$ امتیازات در نظر گرفته که $n$ تعداد کلمات و $k$ تعداد برچسب های متفاوت برای هر کلمه است. در نتیجه درایه ی $}P_{ij$ نشان دهنده ی امتیازاتی است که برچسب $j$ام برای کلمه ی $i$ام کسب کرده است.
همچنین ماتریس $A$ را ماتریس انتقال در نظر گرفته که $}A_{ij$ نشان دهنده ی امتیازی است که انتقال از برچسب $i$ به برچسب $j$ به خود اختصاص داده است. در این مقاله برچسب های ابتدا و انتهای جمله را به صورت پیش فرض به برچسب های اصلی اضافه کرده اند که موجب شده $A$ یک ماتریس مربعی به اندازه ی $k+2$ باشد.
با داشتن این فرضیات امتیاز یک دنباله ی ممکن از برچسب های $y = (y_1 , y_2 , ... , y_n)$ را به روش زیر محاسبه کرده اند:
<p align="center">
$S(X, y) = \sum_{i=0}^{n} A_{{y_i},{y_{i+1}}} + \sum_{i=1}^{n} P_{i ,{ y_i}}$
<br/>
برای بدست آوردن احتمال دنباله ی $y$ بر روی مقدار بدست آمده ی $S$ یک سافت مکس اعمال کرده اند به طوری که $Y_x$ تمامی دنباله های ممکن از برچسب ها برای دنباله ی $x$ باشد:
<p align="center">
$p(y|x) = \frac{e^S(X, y))}{\sum_{\tilde{y}\in Y_x} e^S(X, \tilde{y})}$
<br/>
در هنگام یادگیری احتمال برچسب های درست حداکثر می شود پس برای تشخیص دنباله ی معتبر برای جمله، $y$ای انتخاب می شود که بیشترین امتیاز را به خود اختصاص می دهد به بیانی دیگر:
<p align="center">
$y^* = \arg\max_{\tilde{y}\in Y_x} S(X, \tilde{y})$
<br/>
<a id="ipwembd"></a>
##نهفته سازی کلمات ورودی[^IWE]
ورودی هر دو مدل ارائه شده در مقاله نمایشی برداری از هر کلمه است. از آنجایی که اولا هر زبان نشانه هایی املائی و ساختاری دارد که می توانند دلالت بر اسم بودن یا نبودن یک کلمه داشته باشند، برای یافتن نهفته سازی کلمات از مدل ای استفاده شده که نمایش کلمات را از روی نمایش حروفِ تشکیل دهنده ی آنها یاد می گیرد. دوم اینکه کلماتی که می تواند کاملا متفاوت باشند به صورت منظم و با ترتیبی خاص در متن[^context] خود جای می گیرند، از این رو نهفته سازی کلمه، از روی یک مجموعه داده ی بزرگ که به ترتیب کلمات حساس است یاد گرفته می شود. و در آخر برای اینکه مدل ها به یکی از نمایش ها بیشتر از بقیه وابستگی پیدا نکند از روش dropout در یادگیری استفاده شده است. یادگیری نهفته سازی ها به صورت حرف محور[^chrlev] از این جهت مفید است که مدل یادگرفته شده مخصوص حوزه ی در دست خواهد بود که در زبان هایی که از نظر املائی غنی هستند کاربرد بیشتری دارد.
در مدلِ یادگیریِ نهفته سازی کلمات از LSTM دوطرفه استفاده شده است. یک جدول حاوی نهفته سازی حروف که به صورت تصادفی مقداردهی شده است، ورودی ها را برای LSTMهای رو به جلو و عقبگرد فراهم می کند. نهفته سازی کلمه، ترکیب نتیجه ی LSTMهای روبه جلو و عقبگرد است.
نتیجه ی این نهفته سازی با نهفته سازی کلمه محور که از قبل در یک جدول در دسترس است ترکیب می شود. در طول آزمایش برای کلماتی که نهفته سازیشان در جدول نباشد به نهفته سازی UNK مراجعه می شود. ابعاد لایه ی مخفی در هردو حافظه ی کوتاه مدت ماندگار ۲۵ است که در مجموع برای نمایش کلمات براساس حروف ۵۰ بعد در لایه ی مخفی خواهیم داشت. <a id="pretraindembd"></a>
### نهفته سازی های پیش آموخته[^pretranedembed]
در مدل به کار برده شده برای نهفته سازی کلمات از یک جدول نهفته سازی ها استفاده شد که از قبل در اختیار بود. با این کار نتایج حاصل بهبود قابل توجهی نسبت به حالت مقدار دهی تصادفی به جدول، به دست می دهند. این نهفته سازی ها با روش skip-n-gram یک روش مشتق شده از word2vec به دست مس آیند. نهفته سازی های زبان های اسپانیایی، هلند، آلمانی و انگلیسی با استفاده از روش Gigaword نسخه ی سه و داده های Leipzig ، داده های تک زبانی[^monolingual] آلمانی و Gigaword انگلیسی نسخه چهار یاد گرفته شده اند. برای زبان انگلیسی از نهفته سازی با ابعاد ۱۰۰ و برای بقیه ی زبان ها ابعاد ۶۴ و حداقل فرکانس cutoff ۴ و اندازه ی پنجره ی ۸ استفاده شده است.<br/>
<a id="mmlearn"></a>
##یادگیری مدل اصلی
امتیاز های اختصاص داده شده به هر برچسب به صورت حاصلضرب نقطه ای نهفته سازی های کلماتِ در متن است که LSTM محاسبه کرده است. در واقع بردار $C$ حاصلضرب دو بردار خروجی LSTM های راست و چپ است.
![شکل ۲: دایره ها نشان دهنده متغیر های مشاهده شده، لوزی ها توابع جداساز از والدینشان و دایره های تو در تو متغیر های تصادفی را نشان می دهند](https://boute.s3.amazonaws.com/298-rsz_1rsz_1lstm-crf.png)
پارامتر های این مدل شامل ماتریس سازگاری های دو به دو، پارامتر هایی که در ایجاد ماتریس $P$ نقش دارند، وزن های ویژگی های خطی و نهفته سازی های کلمات می شود. این مدل با گرفتن دنباله ای از نهفته سازی های کلمات نمایشی از محتوی یا متن راست و چپ هر کلمه برمی گرداند. این نمایش ها در هم ضرب شده و روی لایه ای به اندازه برپسب های دو به دو متفاوت طرح[^projected] می شود. سپس دوباره از CRF استفاده می شود تا برچسب های همسایه در نظر گرفته شوند و نتیجه ی نهایی $Y_i$ برای هر کلمه به دست می آید. همچنین با افزودن یک لایه ی مخفی میان $c_i$ و CRF نتایج را بهبود بخشیده اند. تمامی نتایج آورده شده در مقاله این لایه را دارند.<br/>
<a id="taggingsch"></a>
##رویه های برچسب گذاری[^tag-scheme]
یک واحد اسمی می تواند چند قسمت داشته باشد. این واحد ها معمولا با قالب IOB نشان داده می شوند.
* هر کلمه که ابتدای واحد اسمی باشد B
* هر کلمه که داخل یک واحد اسمی باشد و کلمه ی ابتدا نباشد I
* و بقیه ی کلمات واحد اسمی O می گیرند
در این مقاله از قالب IOBES استفاده شده که S برای واحد های اسمی تک کلمه ای و E برای پایان یک واحد اسمی است. با استفاده از این روش انتخاب I برای یک کلمه با اطمینان بالا حوزه ی انتخاب برای تخصیص برچسب های I و E را محدودتر می کند درحالی که IOB فقط می تواند مشخص کند که کلمه ی بعدی نمی تواند کلمه ی میانی یک برچسب گذاری دیگر باشد. هرچند استفاده از این قالب بهبود چشمگیری نسبت به قالب IOB حاصل نکرده است.<br/>
<a id="chunkmodels"></a>
##مدل قطعه بندی برپایه ی انتقال[^tbchunk]
علاوه بر روش LSTM-CRF که در بخش قبلی گفته شد، روشی دیگر با ساختاری شامل قطعه ها و دنباله های برچسب ورودی در مقاله معرفی شده که از الگوریتمی مشابه پیمایش وابستگی ها بر پایه ی انتقال[^trn-base-dep-pars] استفاده می کند. این مدل مستقیما نمایش های واحد های اسمی چند قسمتی را تولید می کند.
این مدل از یک پشته استفاده می کند. و یکی یکی بخش های یک موجودیت اسمی را به آن اضافه می کند. در این مقاله برای این روش از stack-LSTM استفاده شده که در آن LSTM با یک پشته تقویت شده است. برعکس LSTM که دنباله ی ورودی را از چپ به راست می بیند، stack-LSTM اجازه می دهد که نهفته سازی ها به صورت یک مجموعه از نهفته سازی ها ظاهر شوند که در اینجا همان پشته است و به این صورت یک خلاصه از نهفته سازی های محتوی را نگه داری می کند.
<a id="chunkalgo"></a>
###اگوریتم قطعه بندی
در این الگوریتم از دو پشته ی خروجی و پشته ای دیگر که آن را اصطلاحا پشته می گویند استفاده می شود و یک میانگیر که کلمات ورودی را که باید پردازش شوند در خود نگه می دارد.صورت انتقال ها شامل انتقال های یک کلمه از میانگیر به داخل پشته، انتقال از میانگیر مستقیما به پشته ی خروجی و کاهش $y$[^reducey] که محتوای پشته را خارج کرده و با تخصیص برچسب $y$ به آن به خروجی منتقل می کند تا یک قطعه ایجاد شود، هستند. الگوریتم با خالی شدن میانگیر و پشته پابان می یابد. عملکرد الگوریتم در جدول ۱ نمایش داده شده است.
![جدول ۱: عملکرد الگوریتم برای جمله ی Mark Watney visited Mars](https://boute.s3.amazonaws.com/298-5-Figure3-1.png)
این مدل به این شکل پارامتر سازی می شود که به هر حالت مدل یک احتمال اختصاص داده می شود. با در اختیار داشتن محتوی پشته، میانگیر، خروجی و تاریخچه ی عملگر هایی که اعمال شده اند، از LSTM برای محاسبه ی نهفته سازی های این بخش ها با ابعاد ثابت استفاده کرده و از ترکیب این نهفته سازی ها حالت کامل الگوریتم را بدست می آوریم. این نحوه ی نمایش کمک می کند که بتوان یک توزیع احتمالی روی عملگرهایی که می توانند انتخاب شوند تعریف کرد. یادگیری مدل با ماکسیمم سازی احتمالات شرطی دنباله های عملگر ها با داشتن دنباله ورودی انجام می گیرد. برای برچسب گذاری یک دنباله ورودی هربار به صورت حریصانه عملگر با بیشترین احتمال انتخاب می شود تا الگوریتم در جایی متوقف شود. هرچند این روش جواب بهینه ی عمومی را مشخص نمی کند اما در عمل کارا است.
<a id="lbchunkrep"></a>
###نمایش قطعه های برچسب خورده
هنگامی که عمل کاهش $y$ الگوریتم دنباله ی موجود در پشته را به صورت یک قطعه به خروجی انتقال می دهد. برای برای محاسبه ی نهفته سازی های این دنباله، روی نهفته سازی های اجزای دنباله همراه با برچسب آن یک LSTM اجرا کرده اند. اگر فرض کنیم $y$ نهفته سازی یادگرفته شده برای یک برچسب نوع باشد این تابع به صورت $g(u, ... , v, r_y)$ داده می شود. در نتیجه میانگیر خروجی به ازای هر قطعه ی علامت خورده یک نمایش برداری در خود خواهد داشت که این بردار از طول چانک مستقل است.<br/>
<a id="dataset"></a>
##مجموعه داده گان
در این مقاله مدل های ارائه شده بر روی مجموعه داده گان مختص NER آزمایش شده اند. برای نمایش توانایی مدل های ارائه شده نتایج آزمایش بر روی دو مجمع داده گان ارائه شده است، یکی _**CoNLL\_2002**_ و دیگری _**CoNLL\_2003**_ که شامل برچسب های واحد های اسمی مستقل ازهم برای زبان های انگلیسی، اسپانیایی، آلمانی و هلندی می باشند.همه ی این مجموعه داده ها شامل چهار نوع مختلف دسته بندی برای واحدهای اسمی هستند: اماکن، افراد، سازما ن ها و متفرقه.
در متد ارائه شده هیچگونه پیش پردازشی روی مجموعه داده گان صورت نمی گیرد، تنها برای زبان انگلیسی اعداد موجود در متن به صفر تبدیل می شوند.<br/>
<a id="exper"></a>
##تجربیات
این بخش شامل روش های یادگیری و نتایج به دست آمده برای هرکدام از پیکر بندی های مدل ها و کارایی آنها است. <a id="learning1"></a>
###یادگیری
برای هردو مدل ارائه شده یادگیری شبکه ها با الگوریتم پس انتشار انجام شده است که برای آن از روش SGD با نرخ یادگیری ۰.۰۱ و کوتاه سازی گرادیان ۵.۰ به کار رفته است. برای LSTM-CRF در هردو جهت ابعاد ۱۰۰ بعد در نظر گرفته شده و نرخ دور ریز[^dopout] ۵.۰ که استفاده از نرخ های بالاتر کیفیت پاسخ را کاهش می دهد، همانطور نیز نرخ های کمتر زمان یادگیری را افزایش می دهند. برای stack-LSTM نیز دو لایه در نظر گرفته شده که هرکدام دارای ۱۰۰ بعد به ازای هر پشته هستند. برای نرخ دور ریز در مقاله برای زبان های مختلف نرخ با بهترین نتیجه گزارش شده است. <a id="results"></a>
###نتایج
جدول ۲ مقایسه هایی که با روش های دیگر تشخیص واحد های معنایی برای زبان انگلیسی صورت گرفته را نشان می دهد. LSTM-CRF از همه ی کار های پیشین نتایج بهتری را بدست می دهد. stack-LSTM نیز نسبت به کارهایی که در آنها از ویژگی های خارجی استفاده می کنند نتایج بهتری را نشان می دهد بجز درمقایسه با روش ارائه شده توسط Chiu and Nichols (2015).
جدول های ۳ُ ۴و ۵ به ترتیب نتایج به دست آمده زبان های آلمانی، هلندی و اسپانیایی را در مقایسه را در مقایسه با مدل های دیگر نشان می دهند.
![جدول ۲: نتایج NER برای زبان انگلیسی. شامل مدل هایی که در آنها از داده های برچسب گذاری شده خارجی استفاده شده است.](https://boute.s3.amazonaws.com/298-table1.jpg) ![جدول ۳:نتایج NER برای زبان آلمانی. شامل مدل هایی که در آنها از داده های برچسب گذاری شده ی خارجی استفاده شده است.](https://boute.s3.amazonaws.com/298-table2.jpg) ![جدول ۴: نتایج NER برای زبان هلندی، شامل مدل هایی که در آنها از داده های برچسب گذاری شده ی خارجی استفاده شده است.](https://boute.s3.amazonaws.com/298-table3.jpg)![جدول ۵: نتایج NER برای زبان اسپانیایی. شامل مدل هایی که در آنها از داده های برچسب گذاری شده خارجی استفاده شده است.](https://boute.s3.amazonaws.com/298-table4f.jpg)
<br/> <a id="conclusion"></a>
##جمع بندی
در این مقاله دو معماری عصبی جدید برای برجسب گذاری واحد های اسمی معرفی شده که تا زمان انتشار مقاله بهترن نتایج در زمینه ی NER را به خود اختصاص داده اند. این برتری، خود را در مقابل مدل هایی که از منابع بیرونی استفاده کرده باشند نیز حفظ می کند. جنبه ی کلیدی این مدل ها این است که وابستگی های برچسب های خروجی را با یک CRF ساده یا استفاده از الگوریتم های انتقال محور مدل می کند. به این طریق برای ورودی، قطعه های برچسب را تشکیل می دهد. برای این عمل نحوه ی نمایش کلمات ورودی بسیار مهم است. که همانطور که گفته شد از هر دوی نمایش های حرف محور که ویژگی های املائی کلمات را دریافت می کنند و نمایش های پیش آموخته استفاده شده است. در نهایت برای جلوگیری از وابستگی بیش از حدِ مدل به یکی از نمایش ها از تکنیک دور ریز در یادگیری استفاده شده است.
---
##پا نوشت
[^bidirectional]: bidirectional
[^conditional random field]: conditional random field
[^transition-based]: transition-based
[^character-based]: character-based
[^supervised]: supervised
[^unsupervised]: unsupervised
[^RNN]: Recurrent Neural Network
[^LSTM]: Long Short-Term Memory
[^cellstate]: cell state
[^gate]: gate
[^LSTM-CRF]: LSTM-CRF
[^forwardLSTM]: Forward LSTM
[^backwardLSTM]: Backward LSTM
[^CRF]: Conditional Random Field
[^IWE]: Input Word Embeddings
[^context]: Context
[^chrlev]: character-level
[^pretranedembed]: pretrained embeddings
[^monolingual]: monolingual
[^projected]: projected
[^tag-scheme]: tagging schemes
[^tbchunk]: Transition-Based Chunking Model
[^trn-base-dep-pars]: Transition-Based Dependency Parsing
[^reducey]: Reduce($y$)
[^dopout]: Dropout