স্ট্রিং পার্সিংয়ের জন্য মেশিন লার্নিং কৌশল?


30

আমার কাছে ঠিকানাগুলির অনেকগুলি স্ট্রিং রয়েছে:

1600 Pennsylvania Ave, Washington, DC 20500 USA

আমি তাদের উপাদানগুলিতে পার্স করতে চাই:

street: 1600 Pennsylvania Ave
city: Washington
province: DC
postcode: 20500
country: USA

তবে অবশ্যই ডেটাটি নোংরা: এটি বিভিন্ন ভাষায় বিভিন্ন দেশ থেকে আসে, বিভিন্ন উপায়ে লেখা থাকে, ভুল বানান থাকে, টুকরা হারিয়ে যায়, অতিরিক্ত জাঙ্ক থাকে etc.

এই মুহূর্তে আমাদের দৃষ্টিভঙ্গি হ'ল ফাজি গেজেটিয়ার মিলের সাথে নিয়মগুলি ব্যবহার করা, তবে আমরা মেশিন শিখার কৌশলগুলি আবিষ্কার করতে চাই। তদারকি করা শিক্ষার জন্য আমরা প্রশিক্ষণের ডেটা লেবেল করেছি। প্রশ্নটি হচ্ছে, এটি কোন ধরণের মেশিন লার্নিংয়ের সমস্যা? এটি সত্যিই ক্লাস্টারিং, বা শ্রেণিবিন্যাস, বা রিগ্রেশন বলে মনে হচ্ছে না ...

আমি যে নিকটতম সামনে আসতে পারি তা প্রতিটি টোকেনকে শ্রেণিবদ্ধ করা হবে, তবে তারপরে আপনি "একযোগে একটি দেশে থাকতে হবে" এর মতো সন্তুষ্টিক সীমাবদ্ধতাগুলি একই সাথে সেগুলি সমস্তকে শ্রেণিবদ্ধ করতে চান; এবং সত্যিই স্ট্রিংকে টোকানাইজ করার অনেকগুলি উপায় রয়েছে এবং আপনি প্রত্যেকে চেষ্টা করে সেরাটি বেছে নিতে চান .... আমি জানি যে এখানে স্ট্যাটিস্টিকাল পার্সিং নামে একটি জিনিস রয়েছে তবে এটি সম্পর্কে কিছুই জানেন না।

সুতরাং: ঠিকানার পার্সিংয়ের জন্য আমি কোন মেশিন লার্নিংয়ের কৌশলগুলি আবিষ্কার করতে পারি?


উত্তর পোস্ট করার জন্য আমি আপনার উচ্চ-স্তরের সমস্যার বিষয়ে বিশেষজ্ঞ নই, তবে আমি মনে করি যে মেশিন লার্নিংয়ের প্রথম পদক্ষেপটি তথ্যমূলক বৈশিষ্ট্যগুলি তৈরি করা, তারপরে তাদের কাঠামোর সঠিক পদ্ধতিটি বেছে নেওয়া। আপনার অনেক কাঠামো আছে; অ্যালনাম বনাম অ-অ্যালনাম চর, সংখ্যা বনাম আলফা টোকেন, টোকেন ',' বিভাজক, সংখ্যাগত টোকেন দৈর্ঘ্যের মধ্যে গণনা করে। যেমন ',' এ বিভক্ত করুন এবং প্রতিটি বিভাজনে কত টোকেন গণনা করুন (রাস্তার ঠিকানা বনাম শহর / রাজ্য বনাম জিও নির্দিষ্ট তথ্য); সংখ্যাযুক্ত টোকেনগুলির স্ট্রেন ক্যালক (রাস্তার ঠিকানা বনাম জিপ কোড)। এগুলি আপনাকে এমন বৈশিষ্ট্য দেয় যা আপনি ক্লাস্টার করতে পারেন।
মুরাতোয়া

টেক্সট চ্যাঙ্কিং এ একবার দেখুন ।
অল্টো

2
এছাড়াও তাকান স্বত্ত্বার নাম স্বীকৃতি , এবং আরও সাধারণ কাজের তথ্য নিষ্কাশন
ইউভাল এফ

@ ইউভালএফ আমি এটির উত্তর দেওয়ার পরামর্শ দিচ্ছি। আপনি কি কিছুটা বিশদভাবে ব্যাখ্যা করতে পারেন, উদাহরণস্বরূপ এমন একটি কাগজ যেখানে এমএল পদ্ধতি ব্যবহার করা হয়েছে?
স্টেফেন

আমি এই নির্দিষ্ট সমস্যাটির সাথেও খুব আগ্রহী - যা এর উপাদানগুলির অংশগুলিতে একটি মেইলিং ঠিকানাগুলি কাঠামোবদ্ধ করছে। আমরা কোনও মোবাইল ডিভাইসে এটি করার চেষ্টা করছি যে কোনও গুগলের মতো বিপরীত জিও-কোডিং পরিষেবায় কানেক্টিভিটির কোনও অনুমান নেই। এটি ধরে নেওয়া ঠিক আছে যে আমাদের শহর, রাজ্য, দেশ এবং জিপ সম্পর্কিত লিঙ্কযুক্ত ডেটাগুলির একটি বোর্ড রয়েছে। যে কোনও সহায়তা - হয় পয়েন্টার - বা এই সমস্যায় পাগল স্টার্টআপ টিমের সাথে জড়িত থাকতে আগ্রহী এবং আন্তরিকভাবে স্বাগত।

উত্তর:


10

এটি সিকোয়েন্স লেবেলিং সমস্যা হিসাবে দেখা যেতে পারে , এতে আপনার টোকেনগুলির ক্রম রয়েছে এবং প্রতিটিটির জন্য একটি শ্রেণিবিন্যাস দিতে চান। সমস্যাটি সমাধান করতে আপনি লুকানো মার্কভ মডেল (এইচএমএম) বা শর্তসাপেক্ষ র্যান্ডম ক্ষেত্রগুলি (সিআরএফ) ব্যবহার করতে পারেন। ম্যাললেট নামে একটি ওপেন-সোর্স প্যাকেজে এইচএমএম এবং সিআরএফের ভাল প্রয়োগ রয়েছে ।

আপনার উদাহরণে, আপনাকে ইনপুটটি নীচের বিন্যাসে রূপান্তর করা উচিত। তদতিরিক্ত, আপনার অতিরিক্ত বৈশিষ্ট্য উত্পন্ন করা উচিত।

1600 STREET
Pennsylvania STREET
Ave STREET
, OUT
Washington CITY
, OUT
DC PROVINCE
20500 POSTCODE
USA COUNTRY

1
আমি মনে করি না যে কোনও স্ট্যান্ডার্ড সিকোয়েন্স ট্যাগার (যেমন সিআরএফের এইচএমএম) এই পরিস্থিতিতে খুব ভাল ফলাফল আনতে চলেছে। এটি ট্যাগগুলির গ্রুপগুলির সাথে সীমাবদ্ধ হওয়ার সীমাবদ্ধতার কারণে এবং প্রতিটি ট্যাগ কেবল প্রতিটি ক্রম অনুসারে একবার ঘটে occurs আমি মনে করি না আপনি সালিসী দূরত্বের অতীত / ভবিষ্যতের ট্যাগগুলির উপর নির্ভরতার কারণে এই তথ্যটি অন্তর্ভুক্ত করার জন্য অনুসন্ধানটি সহজেই সংশোধন করতে পারবেন (যদিও আমি এটি সম্পর্কে ভুল হতে পারি)।
অল্টো

@ আল্টো আমি বিশ্বাস করি সিআরএফ প্রতিবেশী প্রসঙ্গে বিবেচনা করে। এইচএমএম অতীত অবস্থা দেখতে পাচ্ছে না, আপনি ঠিক বলেছেন যে এটি সম্ভবত খুব ভাল কাজ করবে না।
জেটি

1

ঠিকানা বৈধ বা অবৈধ কিনা তা যাচাই করতে আমাকে খুব অনুরূপ সমস্যার সমাধান করতে হয়েছিল।

সাধারণত ঠিকানাটির কাঠামো "1600 পেনসিলভেনিয়া এভে, ওয়াশিংটন ডিসি, 20500" রয়েছে

একটি স্ট্রিং যেমন

"আমি ২০০০ ধাপ নেমে ওয়াশিংটন ডিসিতে পেনসিলভেনিয়া এভে পৌঁছেছি।"

একটি বৈধ ঠিকানা নয়।

এটি শ্রেণিবদ্ধকরণ কৌশল যেমন এসভিএম, নিউরাল নেটওয়ার্ক ইত্যাদি দ্বারা সমাধান করা যেতে পারে

ধারণাটি হ'ল বৈশিষ্ট্যগুলির একটি মূল সেট সনাক্ত করা। এর মধ্যে কয়েকটি হতে পারে:

1) রাস্তার নামটি কোনও বৈধ ব্লক নম্বর দিয়ে শুরু হয়? বেশিরভাগ মার্কিন ব্লকের সংখ্যাগুলি হয় হয় সংখ্যা (যেমন 1200) অথবা একটি সংখ্যা যার পরে একটি অক্ষর (120 এ) বা একটি সংখ্যা একটি অক্ষর (উদাহরণস্বরূপ S200) অনুসরণ করে।

২) ঠিকানাটি যদি ভালভাবে ফর্ম্যাট করা থাকে তবে রাস্তার নামগুলি অ্যাভেনির জন্য অ্যাভিনিউ, ড্রাইভের জন্য ডাঃ, বুলেভার্ডের জন্য ব্লাভিডির মতো প্রত্যয় হিসাবে শেষ হয়। ইউএসপিএস সাইট থেকে মার্কিন রাস্তার প্রত্যয় তালিকা পাওয়া সম্ভব।

3) রাস্তার ঠিকানা ক্ষেত্রের শব্দের সংখ্যাও একটি আকর্ষণীয় বৈশিষ্ট্য হতে পারে। যদি খুব বেশি শব্দ থাকে তবে এটি সম্ভবত একটি বৈধ ঠিকানা নয়। যেমন উপরের উদাহরণটি দেখুন।

৪) ঠিকানা ক্ষেত্রের ব্লক নম্বর এবং রাস্তার প্রত্যয়ের মধ্যে কতটি শব্দ আসে?

এগুলি একটি শেখার অ্যালগরিদম প্রশিক্ষণের জন্য ব্যবহার করা যেতে পারে এবং প্রদত্ত ঠিকানাটি বৈধ কিনা তা প্রমাণ করার জন্য মডেলটি যাচাই করতে ব্যবহার করা যেতে পারে।


1

এটি হ্যাকের সামান্য অংশ যা আপনার নিজস্ব সমাধানের প্রয়োজন হয় না: বিপরীত জিওকোডিং। এটি হয় আপনাকে ক্লিনার ডেটা দিতে পারে বা আসলে আপনার জন্য সমস্ত কাজ করতে পারে।

উদাহরণস্বরূপ, geocode3এসএসসি থেকে এখানে কিছু স্টাটা কোড রয়েছে যা গুগল ব্যবহার করে। আমি এই অনুরূপ ঝাপসা গ্যাজেটার । প্রথম ঠিকানাটি বেশ অগোছালো, দ্বিতীয়টি পরিষ্কার এবং তৃতীয়টি বিদেশী। অন্যান্য সফ্টওয়্যার এটি হ্যান্ডেল করতে পারে।

clear
set obs 3
gen address =""
replace address = "Big Foot Museum in Felton CA" in 1
replace address = "1600 Pennsylvania Ave, Washington, DC 20500 USA" in 2 
replace address = "ул. Ильинка, д. 23 103132, Москва, Россия" in 3
geocode3, address(address)
gen coord = string(g_lat) + "," + string(g_lon)
geocode3, reverse coord(coord)

এটি যুক্তিসঙ্গতভাবে ভাল কাজ করে:

. list r_addr , clean noobs

                                                                             r_addr  
                                      121 San Lorenzo Avenue, Felton, CA 95018, USA  
    1600 Pennsylvania Avenue Northwest, President's Park, Washington, DC 20500, USA  
                                         ulitsa Ilyinka, 23, Moscow, Russia, 101000  

ক্রেমলিনের বেশ আলাদা ফর্ম্যাট আছে।


0

দ্বি-নির্দেশমূলক এলএসটিএম শ্রেণিবদ্ধকরণের মাধ্যমে সমস্যার সমাধান হওয়া এই বলে মনে হচ্ছে। আপনি নমুনার প্রতিটি অক্ষর উদাহরণ হিসাবে একটি বিভাগ হিসাবে ট্যাগ

রাস্তা: 1 শহর: 2 প্রদেশ: 3 টি পোষ্টকোড: 4 দেশ: 5

1600 Pennsylvania Ave, Washington, DC 20500 USA
111111111111111111111, 2222222222, 33 44444 555

এখন, এই লেবেলের উপর ভিত্তি করে আপনার শ্রেণিবদ্ধ প্রশিক্ষণ দিন। পরিস্ফুটন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.