دوستان عزیز برای پیدا کردن سریع مطالب مورد نظر خود، می توانید از قسمت جستجوی سریع در سایت، یک یا چند کلمه کلیدی مورد نظر خود را جستجو نمایید.
یا اینکه بر روی دو آیکون سبز رنگ "طبقه بندی موضوعات" یا "جستجوی کلمات کلیدی" در سمت راست و چپ موجود در بالای سایت کلیک نمایید...
در صورت بروز مشکل در پرداخت الکترونیکی؛ میتونید ایمیلی ، پیامکی، تلفنی یا تلگرامی بگید تا فایلتون براتون ارسال بشه.
پردازش متن | تعاونی نیرومندسازی تحقیقات
طبقه بندی موضوعات
جستجوی کلمات کلیدی
چهارشنبه , ۱۷ آذر ۱۳۹۵
آخرین مطالب
خانه -> فنى مهندسى -> پردازش متن

پردازش متن

ابزارهای لازم برای پردازش متن در زبان فارسی
تشخیص دهنده ی جمله: این ابزار باید با توجه به کاراکترهای جداکننده ی جمله در زبان فارسی، توانایی تشخیص جملات را در متن ورودی داشته باشد. برای ایجاد این ابزار باید ابتدا تمامی کاراکترها، نماد ها و احیاناً قواعد دستوری که باعث شکسته شدن جملات می شوند، شناسایی گردند. با توجه به پایه بودن جمله در بسیاری از پردازش های زبانی، خروجی دقیق این ابزار از درجه ی اهمیت بالایی برخوردار است. از نمونه های انگلیسی آن می توان به OpenNLP، Stanford NLP، NLTK و Freeling اشاره کرد.
Tokenizer: ابزاری برای شکستن یک متن بر اساس واحدهای با معنی مانند کلمه، پاراگراف، نمادهای معنادار مانند space و  tab و … . لازمه ی ایجاد این ابزار جمع آوری واحد هایی است که در زبان فارسی به عنوان واحد های مستقل معنایی شناخته می شوند. سپس بر اساس انتخاب هر کدام از این واحدها متن بر اساس آن شکسته خواهد شد. از نمونه های انگلیسی آن می توان به Flex، JLex، JFLex، ANTLR، Ragel و Quex اشاره کرد.
Named entity recognition: ابزاری برای تشخیص اسامی و نوع آنها اعم از اسامی افراد، اماکن، مقادیر عددی و … . برای تشخیص اینکه یک کلمه اسم است، راه های مختلفی وجود دارد که از جمله ی آنها مراجعه به لغتنامه، مراجعه به word-net، در نظر گرفتن ریشه ی کلمه، استفاده از قواعد نحوی ساخت واژه و … می باشد. در این ابزار پس از تشخیص اسم ها با استفاده یک لغتنامه از اسامی افراد، مکان ها، مقادیر عددی و … نوع اسم تشخیص داده می شود. به نظر می رسد که این لغتنامه در فارسی موجود نمی باشد.
از جمله نمونه های انگلیسی این ابزار می توان به Stanford NER و Illinois NER اشاره کرد.
Word-net: مجموعه ای از لغات و ارتباط میان آنها به لحاظ معنایی. ارتباطات معنایی در داخل این مجموعه شامل ۱۶  رابطه  می باشد. این مجموعه به عنوان یک مرجع در بسیاری از پردازش های زبانی مورد استفاده قرار می گیرد. ار نمونه های انگلیسی آن می توان به Princeton Wordnet و EuroWordnet اشاره کرد. آزمایشگاه فناوری وب دانشگاه فردوسی مشهد نیز یک نمونه از این مجموعه با نام فردوس نت را تولید کرده است.
Stemmer: ابزاری برای ریشه یابی لغات و تشخیص نوع کلمه ساخته شده از آن ریشه (اسم مکان، اسم زمان، حالت فاعلی، مفعولی و …). معمولاً ریشه یابی لغات بر اساس قواعد ساخت واژه ای و سپس حذف پسوندها می باشد. تاکنون روش مؤثری برای حذف پیشوندها ارائه نشده است. در تلاشی که در آزمایشگاه فناوری وب انجام شده است، سعی شده تا بر اساس آنالیزهای آماری و داده کاوی پسوندها حذف گردند، که این روش هم می تواند راهی برای تشخیص ریشه باشد.
معروفترین الگوریتم ریشه یابی در انگلیسی porter می باشد.
Similarity recognition: ابزاری برای تشخیص میزان شباهت میان دو عبارت بر اساس پارامترهای مختلف مانند نوع اسامی مشابه به کار رفته، استفاده از word-net و… . در این ابزار پس از تشخیص نوع کلمات به کار رفته در یک جمله و سپس بر اساس جایگاه آن کلمات در جمله، کلماتی که در جایگاه های یکسان قرار دارند، مورد مقایسه قرار می گیرند. از نمونه های انگلیسی آن می توان به Illinois NESim و Illinois WNSim اشاره نمود.
Chunker: ابزاری برای تشخیص گروه های اسمی، فعلی و …. در یک جمله. جهت تقویت الگوریتم های وابسته به SRL لازم است نه تنها نقش های کلمات مشخص گردند، بلکه باید وابستگی های کلمات به لحاظ نقشی در جمله مشخص گردند. از جمله نمونه های انگلیسی آن می توان به Illinois Chunker  اشاره کرد.
Semantic role labeler: ابزاری برای تشخیص نقش گرامری کلمه در جمله. این ابزار یکی از مهمترین نقش ها را در پردازش های زبانی بر عهده دارد. دقت در این ابزار بسیار حائز اهمیت است. این ابزار باید نقش های گرامری کلمات در جمله ها مانند فعل، فاعل، مفعول مستقیم، مفعول غیر مستقیم و …. را تشخیص دهد. از جمله نمونه های انگلیسی آن می توان به OpenNlP، Illinois SRL،  Swirl و LTHSRL  اشاره کرد. این ابزارها از الگوریتم پارسینگ charniak استفاده می کنند.
Annotator: ابزاری برای ایجاد یک نمونه از یک آنتولوژی در یک سند داده شده. از ابزارهای موجود در انگلیسی می توان به Illinois Curator و Stanford Annotator اشاره کرد.
Coreference resolution: ابزاری برای تعیین مرجع اسمی یک اسم یا یک ضمیر در جملات. این ابزار در زبان انگلیسی معادل ابزاری است که مرجع ضمیر را که به صورت اسم در جمله های قبلی آمده است، مشخص می کند. استفاده از ضمایر به جای اسامی در زبان انگلیسی بسیر رایج می باشد. اما در زبان فارسی این امر چندان رایج نیست. اما در زبان فارسی عنوان یک مفهوم اسمی با اصطلاحات مختلف بسیار رایج می باشد. عملاً ما به دنبال ابزاری هستیم که مرجع خاص یک سری از عنوان ها ی مختلف اسمی را مشخص کند. از نمونه های انگلیسی این ابزار می توان به Illinois Coreference package  اشاره کرد.
Pos tagger: ابزاری برای مشخص کردن نوع کلمات از قبیل اسم، صفت، قید، فعل و … . یکی از روش های کاری برای ایجاد این ابزار، ایجاد یک rule base که معمولاً به صورت دستی تشکلیل می شود، برای تشخیص نوع کلمه است. از نونه های فارسی آن می توان به ابزار آزمایشگاه آقای دکتر بیجن خان، و ابزار آزمایشگاه فناوری وب دانشگاه فردوسی مشهد اشاره کرد. از نمونه های انگلیسی آن می توان به Illinois Part Of Speech Tagger و Stanford POS Tagger اشاره کرد.
تعاریف پایه زبان شناسی
 پردازش متن از جمله مسائل اساسی در حوزه هوش مصنوعی و شناخت رایانشی است که در چند دهه اخیر، توجهات گسترده ای را در قالب های عدیده به خود معطوف کرده است. در پردازش متون زبان طبیعی با زبان نوشتاری سر و کار داریم. این مسأله باعث می شود گرچه به جهت از دست دادن اطلاعات گویشی مانند لحن گوینده، آهنگ صدا، تاکید و مکث، با مشکلات و ابهاماتی مواجه شویم، ولی در مقابل با شکل محدودتر و با قالب دستوری مشخص تری از زبان کار می کنیم. پردازش متون زبان فارسی در سطوح چهارگانه ی آوایی، ساخت‌واژی، نحو و معنایی و همچنین در حوزه‌های کاربردی متعددی امکان پذیر می باشد.
قبل از پرداختن به هر مطلبی در زمینه پردازش زبان طبیعی، برای آشنایی بهتر با مباحث مربوط به پردازش زبان طبیعی، خلاصه سازی و چگونگی ارزیابی آنها، بهتر است با مفاهیم پایه و تعاریف اولیه ی این حوزه که به منزله الفبای پردازش متن می باشند، آشنا شویم. اغلب اقدامات مربوط به این مفاهیم، در واقع نوعی پیش-پردازش متن می باشد؛ بدین معنی که انجام این پردازش ها بر روی متن، در واقع آماده سازی متن به منظور اعمال فرآیندها و فعالیت های بعدی می باشد. در ادامه ی این بخش، تعاریف پایه و ابتدایی مورد نیاز، توضیح داده شده است. در کاربردهای مختلف پردازش زبان طبیعی عموما از این تعاریف پایه استفاده می شود.
زبان فارسی
در تلاش برای ساخت یک سیستم پردازش و درک متون فارسی با مسائل و مشکلاتی مواجه می شویم که بعضی از آنها در بیشتر زبان ها بروز کرده و برخی خاص زبان فارسی می باشند.
همچنین برخی از این پیچیدگی ها به طبیعت زبان و نارسایی های دستورات زبان شناسی مربوط و برخی دیگر برخاسته از مشکلات ایجاد سیستم های هوش مصنوعی است ]داد ۸۰[. در این بخش به برخی از این مسائل اشاره می شود.
زبان فارسی از نظر ساختاری دارای تفاوت‌های بسیاری با زبان انگلیسی است. برخی از تفاوت‌های مشهود بین زبان فارسی و انگلیسی عبارتند از:
-تفاوت در ترتیب قرارگیری ارکان جمله. در اصطلاح، زبان‌هایی مثل انگلیسی را SVO  و زبان‌هایی مثل فارسی را SOV  می‌نامند که در واقع نشان دهنده ی ترتیب ارکان در جملات می‌باشد.
-زبان فارسی یک زبان اصطلاحاً بازتابی  نامیده می‌شود. یعنی کلمات براساس زمان و شخص موجود در جمله، می‌توانند حالت‌های مختلفی به خود بگیرند.
-در فارسی برخی ضمیرها وجود دارند که به اسم‌ها و افعال متصل می‌شوند (ضمیرهای متصل) که باعث بروز شکل‌های مختلف برای کلمات می‌شوند که این حالت هم در زبان انگلیسی وجود ندارد و تمامی‌ضمیرها منفصل می‌باشند.
با توجه به موارد ذکر شده و از آنجایی که زبان فارسی نوعی از زبان های غیرساختیافته است با مشکلات بسیار بیشتری نسبت به زبان انگلیسی مواجه خواهیم شد. متون غیرساختیافته، متونی هستند که پیش فرض خاصی در مورد قالب آنها نداریم و آنها را به صورت مجموعه‌ای مرتب از جملات و کلمات در نظر می‌گیریم.
به طور کلی مشکلات اصلی در پردازش متون فارسی را می توان در چند دسته زیر، خلاصه نمود ]داد ۸۰[:
•عدم وجود منابع زبانی مناسب و کافی برای زبان فارسی.
•مشکل تشخیص مرز کلمات (مسأله شیوه های نگارش متفاوت)
•مشکل تشخیص مرز گروه های اسمی (مسأله ی کسره ی اضافه نامرئی)
•از دست دادن اطلاعات گویشی
•مسأله ی ابهام
•افعال مرکب و اصطلاحات
•مسأله ی همنگاره ها و تحت آن مسأله ی حذف مصوت های کوتاه (اعراب) از نوشتار
•معناشناسی و مشکلات تحلیل معنایی.
ایست واژه ها (Stop words)
ایست واژه ها لغاتی هستند که علی رغم تکرار فروان در متن، از لحاظ معنایی دارای اهمیت کمی هستند مثل “اگر”، “و”، “ولی”،”که” و غیره. در نگاه اولیه کلمات ربط و تعریف، ایست واژه به نظر می آیند؛ در عین حال بسیاری از افعال، افعال کمکی، اسم ها، قیدها و صفات نیز ایست واژه شناخته شده اند. در اغلب کاربردهای متن، حذف این کلمات، نتایج پردازش را به شدت بهبود می دهد و سبب کاهش بار محاسبات و افزایش سرعت خواهد شد. به همین دلیل این کلمات غالبا در فاز پیش پردازش، حذف می شوند. برای زبان فارسی چندین لیست از این کلمات منتشر شده است که بطور میانگین شامل ۵۰۰ کلمه می باشند.
ریشه‌یابی
در این مرحله به منظور یکسان سازی اشکال مختلف یک کلمه، یکپارچه سازی و همچنین اعمال پردازش های بعدی بایستی کلمات، ریشه یابی شوند. ریشه یابی به فرآیند تبدیل کلمات به فرم ریشه ای و پایه ای آنها اشاره می نماید. بنابراین “دانش آموز” و “دانشجو”و “دانشگاه” به”دان” که ریشه‌ی اصلی است، کاهش می یابند. لازم به ذکر است که منظور از ریشه در این بخش، دقیقا ریشه ی کلمات که در زبان شناسی استفاده می شود، نیست. بلکه منظور از ریشه، یک نماینده برای کلماتی است که از لحاظ معنایی و نحوی در یک حوزه قرار می گیرند. این فرآیند در پردازش متن، اهمیت بسیاری دارد؛ چرا که باعث می شود ماشین با دو کلمه ی هم خانواده اما ظاهرا متفاوت، مانند دو کلمه ای که از لحاظ ریشه ای هیچ ارتباطی با هم ندارند، برخورد ننماید. الگوریتم های مختلفی برای ریشه یابی لغات پیشنهاد شده است و مورد استفاده قرار می گیرد. الگوریتم پیشنهاد شده در [POR80] رایج ترین الگوریتم در زبان انگلیسی می باشد. نمونه‌های دیگری از الگوریتم‌های ریشه یابی، الگوریتم کراوتز  در انگلیسی و الگوریتم کاظم تقوا در فارسی هستند [POR80][KRO93][TAG05]. اما از آنجا که خروجی ریشه یاب در فازهای بعد، مورد استفاده های گوناگون از جمله اندازه گیری شباهت معنایی بر مبنای شبکه واژگان قرار می گیرد، بایستی بررسی شود تا خروجی ریشه یاب، ورودی مناسبی برای آن فازها باشد.
برچسب زنی بخش های سخن (POS)
در دستور زبان، بخش های سخن، طبقه بندی هایی زبانی از کلمات هستند که رفتار نحوی یک قسمت از جمله را بیان می دارند. به طور عموم، تمامی زبان ها دو بخش سخن فعل و اسم را دارند. بقیه بخش های سخن در زبان-های مختلف، متفاوت می باشند. از جمله مهم ترین بخش های سخن در زبان فارسی اسم، ضمیر، صفت، قید و حرف اضافه را می توان نام برد.
در زبان شناسی پیکره ای ، برچسب زن اجزای کلام  (POS tagging یا POST)، که همچنین برچسب زن دستوری  یا ابهام زدایی لغت-دسته ، نامیده می شود، فرآیند نشانه گذاری لغت در یک متن است، که این نشانه، بیانگر وجه آن جزء از کلام می باشد. تشخیص این امر، مبتنی بر تعریف و نوع کاربرد در متن، انجام می شود. برای مثال رابطه ای که یک لغت با دیگر لغات در یک عبارت، جمله و یا پاراگراف دارد مشخص می شود. شکل ساده شده ی این موضوع، همان مشخص کردن نوع لغت از لحاظ اسم، فعل، صفت و قید می باشد که در مدارس به آن پرداخته می شود.
تجزیه گر یا پارسر
به موازات پیشرفت و تحولات نظری در زبان‌شناسی جدید، روش‌های تحلیل متون و دستورات زبان بوسیله‌ی رایانه نیز تحول یافته است. منظور از گرامر هر زبان، در دست داشتن یک سری دستورات زبانی قابل فهم برای رایانه است که به کمک آنها بتوان اجزای نحوی یک جمله را به طور صحیح، تفکیک نمود. تجزیه و تحلیل جمله و شکستن آن به اجزای تشکیل دهنده‌ مانند گروه‌های اسمی، فعلی، قیدی و غیره توسط ابزاری به نام تجزیه گر  یا پارسر صورت می‌گیرد که نقش اساسی در طراحی و یا افزایش دقت سایر ابزارهای پردازش متن دارد.
تجزیه‎گرها با بهره گیری از دستورات گرامری زبان به تفکیک جملات متون به اجزای تشکیل دهنده ی آن، مشخص کردن نقش هر عبارت و لغت در متن و همچنین تشکیل درخت تجزیه برای جملات متن می پردازند.
تجزیه‎گر نقش پایه ای و مهمی را در بهبود ابزارهای پردازش متن ایفا می کند. به عنوان مثال جهت تقویت الگوریتم های وابسته به برچسب زن معنایی لغات (SRL) علاوه بر نقش های کلمات، وابستگی های کلمات به لحاظ نقشی در جمله نیز باید مشخص گردد.

 

درخت تجزیه

اجزای هر جمله را می توان در قالب گروه های اسمی، فعلی، حرف اضافه ای و … تقسیم بندی نمود. گاه هر کدام از این گروه ها خود شامل زیرگروه دیگری می باشند. علاوه بر این، هر کدام نیز دارای روابطی می باشند، مثلا یک گروه اسمی می تواند متعلق به یک گروه فعلی باشد. در نتیجه ی این تقسیم بندی های سلسله مراتبی، می-توان یک ساختار درخت گونه از جمله داشت که درخت تجزیه نام دارد. درخت تجزیه، درختی است که ساختار نحوی یک جمله را بر اساس برخی روابط گرامری موجود در آن به شکلی ساده و قابل فهم برای کسانی که دانش عمیق زبان شناسی ندارند، نمایان می سازد [MAR08]. ابزارهای مختلفی برای تجزیه جمله توسعه یافته-اند که خروجی اغلب آنها به صورت رشته ای شامل پرانتز های تو در تو به همراه برچسب ها و کلمات می باشند. این مدل نمایش برای ورودی سیستم ها مناسب است، اما برای انسان خوانایی چندانی ندارد. در ابزار lfgParser  شاهد نمایش گرافیکی و درخت گونه ی درخت تجزیه خواهیم بود.

 

برچسب‏ زنی نقش معنایی کلمات (SRL)

برچسب زنی معنایی کلمات  مشابه برچسب گذاری اجزای واژگانی کلام بوده با این تفاوت که عمیق تر و پیچیده تر از آن می باشد. برچسب زنی معنایی، وظیفه ی استخراج نقش های معنایی جملات نظیر فاعل، مفعول مستقیم، مفعول غیرمستقیم، فعل و … را بر عهده دارد. برچسب زنی معنایی کلمات هم عملی اساسی برای بسیاری از حوزه های دیگر پردازش زبان طبیعی (NLP) از قبیل ترجمه ماشینی، خطایاب و شباهت معنایی می باشد.

 

شبکه واژگان

زبان های طبیعی، همگی دارای ابهام هستند. کلمات هر زبان می توانند چندین معنی و مفهوم داشته باشند. به عنوان مثال، اگر شما لغت game را در یک فرهنگ لغت جستجو کنید، معانی مختلفی برای آن وجود دارد؛ از”بازی” گرفته تا “گوشت شکار” که اصلا هیچ شباهتی به یکدیگر ندارند. معانی این کلمات، بسته به کاربرد آن در جمله و یک متن، تا حدودی مشخص می شود. این ابهام، در کاربردهایی مانند بررسی میزان تشابه دو متن در سیستم های ارزیابی خلاصه سازهای ماشینی و همچنین سیستم های ترجمه ماشینی به عنوان یک مشکل، شناخته می شود. از اوایل دهه ی ۹۰ میلادی، محققان عرصه ی کامپیوتر، بر آن شدند تا روشی را برای بیان صریح مفاهیم موجود در دنیای واقعی، پیدا کنند. هستان  شناسی ، چنین کاری برای ما انجام می-دهد. هستان  شناسی، گرافی است که گره های آن، مفاهیم موجود در دنیای واقعی و یال های آن، ارتباطات موجود بین این مفاهیم را مشخص می کنند [CAL06].
شبکه واژگان یا  WordNet فرهنگی از واژگان است که براساس تئوری‌های زبانی-روانی  بوده و مدل‌ها و معانی کلمات را تعریف می‌کند. شبکه ی واژگان یکی از مباحثی است که در سال های اخیر به شدت مورد توجه قرار گرفته و در کاربردهای بسیار متنوعی استفاده شده است. این شبکه ها عموما در نقش واژهستان شناسی و یا واژگان محاسباتی در خدمت سیستم های هوشمند دانش بنیان و معناگرا قرار دارند. WordNet، لغت‌نامه‌ای است که از یک آنتولوژی برای دسته‌بندی مفاهیم موجود در دنیای واقعی استفاده کرده است و کلمات انگلیسی اعم از اسم، فعل، صفت و قید را به این مفاهیم نسبت داده است [LIN08].
شبکه واژگان در واقع شبکه ای متشکل از هزاران مفهومی است که بوسیله روابط معنایی به هم مرتبطند. هر مفهوم، نشان دهنده ی مجموعه ای انتزاعی از عناصری می باشد که بر اساس مختصه های مشترکشان، یک گروه را تشکیل می دهند. در شبکه واژگان، ابتدا لغات در یکی از دسته های اسم، فعل، صفت، و قید قرار گرفته و سپس لغات هر یک از این دسته ها در گروه های هم خانواده ی خود قرار می گیرند. هر یک از این گروه های هم خانواده از یک یا چند لغت تشکیل می شود، که یک مفهوم مشخص را عنوان می کنند و لغات تشکیل دهنده این گروه می-توانند به جای یکدیگر در یک متن استفاده شوند و توسط یکسری روابط معنایی با سایر گروه ها مرتبط می-شوند. روابط معنایی بین گروه های هم خانواده بر حسب نوع گروه (اسم، فعل، صفت و قید) متفاوت است.
در واقع شبکه واژگان دارای سه پایگاه داده می‌باشد: یکی برای اسامی، یکی برای افعال و یکی نیز مشترکاً برای صفات و قیود. شبکه واژگان شامل مجموعه‌ی مترادف‌های کلمات می‌باشد که از آن به عنوان “Synsets” یاد می‌شود. هر Synset یک مفهوم و یا یک معنی از گروهی از کلمات، را شامل می‌شود. Synsetها روابط معنایی متفاوتی چون مترادف ، متضاد ‌، ابرمفهوم ، زیرمفهوم (IS-A )، جزئیت  (Part of)، شمول (Has-A) را دربر می‌گیرند. روابط معنایی بین Synset‌ها با توجه به طبقه‌بندی‌های گرامری متفاوت است [LIN08]. شبکه واژگان هم‌چنین تعاریف متنی از مفاهیم را فراهم می‌سازد (Glossary) که شامل تعاریف و مثال‌ها می‌باشد. شبکه واژگان را می‌توان به عنوان یک مجموعه‌ی مرتب جزئی  از منابع عبارات مترادف، برشمرد.
کاربر گرامی

برای دانلود فایل های مورد نظرتان بایستی بر روی دکمه "افزودن به سبد خرید" کلیک نمایید .

پس از چند ثانیه ، فایل مورد نظر شما به سبد خریدتان اضافه گردیده و این دکمه تبدیل به دکمه "پرداخت" خواهد شد.

با کلیلک بر روی دکمه "پرداخت" ، وارد صفحه پرداخت خواهید شد .

با وارد کردن اطلاعات و ایمیل خود ، فایل مورد نظر به ایمیل شما ارسال گردیده و همچنین لینک دانلود فایل بلافاصله برایتان به نمایش درخواهد آمد.

– قابل پرداخت با تمام کارتهای بانکی + رمز دوم

– پشتیبانی سایت ۰۹۳۵۹۵۲۹۰۵۸ – Info@tnt3.ir – universitydatainfo@yahoo.com




سفارش ترجمه متون عمومی و تخصصیفروشگاه اینترنتی کتاب - خرید آنلاین کتاب - دانلود کتاب الکترونیکی

۲ نظر

  1. باسلام میخواستم بدونم مرجع متن بالا کجا است

جوابی بنویسید

ایمیل شما نشر نخواهد شد

پنج + ده =

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


This site is using the Seo Wizard plugin by http://seo.uk.net/