সংক্ষিপ্ত বিবরণ

স্ট্যান্ডার্ড লোকেশন ডেটা আপনাকে বলতে পারে কাছাকাছি কী আছে , কিন্তু এটি প্রায়শই আরও গুরুত্বপূর্ণ প্রশ্নের উত্তর দিতে ব্যর্থ হয়: "এই এলাকাটি আমার জন্য কতটা ভালো?" আপনার ব্যবহারকারীদের চাহিদা সূক্ষ্ম। ছোট বাচ্চাদের পরিবারের অগ্রাধিকার কুকুর সহ একজন তরুণ পেশাদারের তুলনায় ভিন্ন। তাদের আত্মবিশ্বাসী সিদ্ধান্ত নিতে সাহায্য করার জন্য, আপনাকে এই নির্দিষ্ট চাহিদাগুলি প্রতিফলিত করে এমন অন্তর্দৃষ্টি প্রদান করতে হবে। একটি কাস্টম লোকেশন স্কোর এই মান প্রদান এবং একটি উল্লেখযোগ্যভাবে পৃথক ব্যবহারকারীর অভিজ্ঞতা তৈরি করার জন্য একটি শক্তিশালী হাতিয়ার।
এই ডকুমেন্টে BigQuery-তে Places Insights ডেটাসেট ব্যবহার করে কাস্টম, বহুমুখী অবস্থান স্কোর কীভাবে তৈরি করা যায় তা বর্ণনা করা হয়েছে। POI ডেটাকে অর্থপূর্ণ মেট্রিক্সে রূপান্তরিত করে আপনি আপনার রিয়েল এস্টেট, খুচরা, বা ভ্রমণ অ্যাপ্লিকেশনগুলিকে সমৃদ্ধ করতে পারেন এবং আপনার ব্যবহারকারীদের তাদের প্রয়োজনীয় প্রাসঙ্গিক তথ্য সরবরাহ করতে পারেন। আমরা আপনার অবস্থান স্কোর গণনা করার জন্য একটি শক্তিশালী উপায় হিসাবে Gemini Developer API ব্যবহার করার একটি বিকল্পও প্রদান করি।
উপযুক্ত স্কোরের মাধ্যমে ব্যবসায়িক মূল্য বৃদ্ধি করুন
নিম্নলিখিত উদাহরণগুলি ব্যাখ্যা করে যে কীভাবে আপনি আপনার অ্যাপ্লিকেশন উন্নত করার জন্য কাঁচা অবস্থানের ডেটাকে শক্তিশালী, ব্যবহারকারী-কেন্দ্রিক মেট্রিক্সে অনুবাদ করতে পারেন।
- রিয়েল এস্টেট ডেভেলপাররা "পরিবার-বান্ধব স্কোর" অথবা "যাত্রীদের স্বপ্নের স্কোর" তৈরি করতে পারেন যাতে ক্রেতা এবং ভাড়াটেরা তাদের জীবনযাত্রার সাথে মেলে এমন নিখুঁত এলাকা বেছে নিতে পারেন, যার ফলে ব্যবহারকারীর ব্যস্ততা বৃদ্ধি পায়, উচ্চমানের লিড এবং দ্রুত রূপান্তর ঘটে।
- ভ্রমণ ও আতিথেয়তা প্রকৌশলীরা "নাইটলাইফ স্কোর" অথবা "সাইটসিয়ার্স প্যারাডাইস স্কোর" তৈরি করতে পারেন যাতে ভ্রমণকারীদের তাদের ছুটির স্টাইলের সাথে মেলে এমন একটি হোটেল বেছে নিতে সাহায্য করা যায়, যা বুকিং হার এবং গ্রাহক সন্তুষ্টি বৃদ্ধি করে।
- খুচরা বিশ্লেষকরা কাছাকাছি পরিপূরক ব্যবসার উপর ভিত্তি করে একটি নতুন জিম বা স্বাস্থ্য খাদ্য দোকানের জন্য সর্বোত্তম অবস্থান সনাক্ত করার জন্য একটি "ফিটনেস এবং সুস্থতা স্কোর" তৈরি করতে পারেন, যা সঠিক ব্যবহারকারী জনসংখ্যাকে লক্ষ্য করার সম্ভাবনা সর্বাধিক করে তোলে।
এই নির্দেশিকায়, আপনি BigQuery-তে সরাসরি Places ডেটা ব্যবহার করে যেকোনো ধরণের কাস্টম লোকেশন স্কোর তৈরির জন্য একটি নমনীয়, তিন-অংশের পদ্ধতি শিখবেন। আমরা দুটি স্বতন্ত্র উদাহরণ স্কোর তৈরি করে এই প্যাটার্নটি ব্যাখ্যা করব: একটি Family-Friendliness Score এবং একটি Pet-Owner Paradise Score । এই পদ্ধতি আপনাকে স্থান গণনার বাইরে যেতে এবং Places Insights ডেটাসেটের মধ্যে সমৃদ্ধ, বিস্তারিত বৈশিষ্ট্যগুলির সুবিধা নিতে দেয়। আপনি আপনার ব্যবহারকারীদের জন্য পরিশীলিত এবং অর্থপূর্ণ মেট্রিক্স তৈরি করতে ব্যবসায়িক সময়, কোনও স্থান শিশুদের জন্য ভাল কিনা, অথবা এটি কুকুরদের অনুমতি দেয় কিনা, এর মতো তথ্য ব্যবহার করতে পারেন।
সমাধান কর্মপ্রবাহ

এই টিউটোরিয়ালটি একটি একক, শক্তিশালী SQL কোয়েরি ব্যবহার করে একটি কাস্টম স্কোর তৈরি করবে যা আপনি যেকোনো ব্যবহারের ক্ষেত্রে মানিয়ে নিতে পারবেন। আমরা অ্যাপার্টমেন্ট তালিকার একটি কাল্পনিক সেটের জন্য আমাদের দুটি উদাহরণ স্কোর তৈরি করে এই প্রক্রিয়াটি অনুসরণ করব।
পূর্বশর্ত
শুরু করার আগে, স্থান অন্তর্দৃষ্টি সেট আপ করতে এই নির্দেশাবলী অনুসরণ করুন।
১. একটি ফাউন্ডেশন প্রতিষ্ঠা করুন: আপনার আগ্রহের স্থান
স্কোর তৈরি করার আগে, আপনার বিশ্লেষণ করতে চান এমন অবস্থানগুলির একটি তালিকা প্রয়োজন। প্রথম ধাপ হল BigQuery-তে একটি টেবিল হিসাবে এই ডেটা বিদ্যমান রয়েছে তা নিশ্চিত করা। মূল বিষয় হল প্রতিটি অবস্থানের জন্য একটি অনন্য শনাক্তকারী এবং একটি GEOGRAPHY কলাম থাকা যা এর স্থানাঙ্ক সংরক্ষণ করে।
আপনি এই ধরণের কোয়েরি দিয়ে স্কোর করার জন্য অবস্থানের একটি সারণী তৈরি এবং পূরণ করতে পারেন:
CREATE OR REPLACE TABLE `your_project.your_dataset.apartment_listings`
(
id INT64,
name STRING,
location GEOGRAPHY
);
INSERT INTO `your_project.your_dataset.apartment_listings` VALUES
(1, 'The Downtowner', ST_GEOGPOINT(-74.0077, 40.7093)),
(2, 'Suburban Oasis', ST_GEOGPOINT(-73.9825, 40.7507)),
(3, 'Riverside Lofts', ST_GEOGPOINT(-73.9470, 40.8079))
-- More rows can be added here
. . . ;
আপনার অবস্থানের ডেটাতে একটি SELECT * সম্পাদন করলে এটির মতো দেখাবে।

2. মূল যুক্তি বিকাশ করুন: স্কোরিং কোয়েরি
আপনার অবস্থানগুলি প্রতিষ্ঠিত হওয়ার সাথে সাথে, পরবর্তী পদক্ষেপ হল আপনার কাস্টম স্কোরের সাথে প্রাসঙ্গিক কাছাকাছি স্থানগুলি খুঁজে বের করা, ফিল্টার করা এবং গণনা করা। এটি সবই একটি একক SELECT স্টেটমেন্টের মধ্যে করা হয়।
ভূ-স্থানিক অনুসন্ধানের মাধ্যমে কাছাকাছি কী আছে তা খুঁজুন
প্রথমে, আপনাকে Places Insights ডেটাসেট থেকে আপনার প্রতিটি অবস্থানের একটি নির্দিষ্ট দূরত্বের মধ্যে থাকা সমস্ত স্থান খুঁজে বের করতে হবে। BigQuery ফাংশন ST_DWITHIN এর জন্য উপযুক্ত। আমরা আমাদের apartment_listings টেবিল এবং places_insights টেবিলের মধ্যে একটি JOIN সঞ্চালন করব যাতে 800-মিটার ব্যাসার্ধের মধ্যে সমস্ত স্থান খুঁজে পাওয়া যায়। একটি LEFT JOIN নিশ্চিত করে যে আপনার সমস্ত মূল অবস্থান ফলাফলে অন্তর্ভুক্ত করা হয়েছে, এমনকি যদি কাছাকাছি কোনও মিলিত স্থান না পাওয়া যায়।
উন্নত বৈশিষ্ট্য সহ প্রাসঙ্গিকতার জন্য ফিল্টার করুন
এখানেই আপনি একটি স্কোরের বিমূর্ত ধারণাকে কংক্রিট ডেটা ফিল্টারে অনুবাদ করতে পারবেন। আমাদের দুটি উদাহরণ স্কোরের জন্য, মানদণ্ড ভিন্ন:
- "পরিবার-বান্ধব স্কোর" এর জন্য , আমরা এমন পার্ক, জাদুঘর এবং রেস্তোরাঁগুলির প্রতি যত্নশীল যেগুলি স্পষ্টতই শিশুদের জন্য ভালো।
- "পোষা প্রাণীর মালিকের স্বর্গ স্কোর" এর জন্য , আমরা পার্ক, পশুচিকিৎসা ক্লিনিক, পোষা প্রাণীর দোকান এবং কুকুর রাখার অনুমতি দেয় এমন যেকোনো রেস্তোরাঁ বা ক্যাফে সম্পর্কে চিন্তা করি।
আপনি আপনার কোয়েরির WHERE ক্লজে সরাসরি এই নির্দিষ্ট বৈশিষ্ট্যগুলির জন্য ফিল্টার করতে পারেন।
প্রতিটি অবস্থানের জন্য অন্তর্দৃষ্টি একত্রিত করুন
অবশেষে, আপনাকে প্রতিটি অ্যাপার্টমেন্টের জন্য কতগুলি প্রাসঙ্গিক স্থান খুঁজে পেয়েছেন তা গণনা করতে হবে। GROUP BY ধারাটি ফলাফলগুলিকে একত্রিত করে এবং COUNTIF ফাংশনটি এমন স্থান গণনা করে যা আমাদের প্রতিটি স্কোরের জন্য নির্দিষ্ট মানদণ্ডের সাথে মেলে।
নিচের কোয়েরিটি এই তিনটি ধাপকে একত্রিত করে, একটি একক পাসে উভয় স্কোরের জন্য কাঁচা গণনা গণনা করে:
-- This Common Table Expression (CTE) will hold the raw counts for each score component.
WITH insight_counts AS (
SELECT WITH AGGREGATION_THRESHOLD -- Correctly includes the mandatory aggregation threshold
apartments.id,
apartments.name,
COUNTIF(places.primary_type = 'park') AS park_count,
COUNTIF(places.primary_type = 'museum') AS museum_count,
COUNTIF(places.primary_type = 'restaurant' AND places.good_for_children = TRUE) AS family_restaurant_count,
COUNTIF(places.primary_type IN ('veterinary_care', 'pet_store')) AS pet_service_count,
COUNTIF(places.allows_dogs = TRUE) AS dog_friendly_place_count
FROM
`your_project.your_dataset.apartment_listings` AS apartments
LEFT JOIN
`your-project.places_insights___us.places` AS places -- Corrected table name for the US dataset
ON ST_DWITHIN(apartments.location, places.point, 800) -- Find places within 800 meters
GROUP BY
apartments.id, apartments.name
)
SELECT * FROM insight_counts;
এই প্রশ্নের ফলাফল এইরকমই হবে।

আমরা পরবর্তী বিভাগে এই ফলাফলগুলির উপর ভিত্তি করে কাজ করব।
৩. স্কোর তৈরি করুন
এখন আপনার কাছে প্রতিটি স্থানের জন্য স্থানের গণনা এবং ওজনের তথ্য আছে, আপনি এখন কাস্টম অবস্থান স্কোর তৈরি করতে পারেন। আমরা এই বিভাগে দুটি বিকল্প নিয়ে আলোচনা করব: BigQuery-তে আপনার নিজস্ব কাস্টম গণনা ব্যবহার করে অথবা Gemini Developer API ব্যবহার করে।
বিকল্প ১: BigQuery-তে আপনার নিজস্ব কাস্টম গণনা ব্যবহার করুন
পূর্ববর্তী ধাপের কাঁচা গণনাগুলি অন্তর্দৃষ্টিপূর্ণ, তবে একটি একক, ব্যবহারকারী-বান্ধব স্কোর লক্ষ্য। চূড়ান্ত ধাপ হল ওজন ব্যবহার করে এই গণনাগুলিকে একত্রিত করা এবং তারপর ফলাফলকে 0-10 স্কেলে স্বাভাবিক করা।
কাস্টম ওজন প্রয়োগ করা আপনার ওজন নির্বাচন করা একটি শিল্প এবং বিজ্ঞান উভয়ই। এগুলি আপনার ব্যবসায়িক অগ্রাধিকার বা আপনার ব্যবহারকারীদের কাছে সবচেয়ে গুরুত্বপূর্ণ বলে মনে হয় তা প্রতিফলিত করতে হবে। "পারিবারিক বন্ধুত্ব" স্কোরের জন্য আপনি সিদ্ধান্ত নিতে পারেন যে একটি পার্ক একটি জাদুঘরের দ্বিগুণ গুরুত্বপূর্ণ। আপনার সেরা অনুমান দিয়ে শুরু করুন এবং আমাদের ব্যবহারকারীর প্রতিক্রিয়ার উপর ভিত্তি করে পুনরাবৃত্তি করুন।
স্কোর স্বাভাবিকীকরণ নিচের কোয়েরিতে দুটি কমন টেবিল এক্সপ্রেশন (CTE) ব্যবহার করা হয়েছে: প্রথমটি আগের মতোই কাঁচা গণনা গণনা করে এবং দ্বিতীয়টি ওজনযুক্ত স্কোর গণনা করে। এরপর চূড়ান্ত SELECT স্টেটমেন্ট ওজনযুক্ত স্কোরের উপর একটি সর্বনিম্ন-সর্বোচ্চ স্বাভাবিকীকরণ সম্পাদন করে। apartment_listings উদাহরণ টেবিলের location কলামটি আউটপুট করা হয়, যাতে একটি মানচিত্রে ডেটা ভিজ্যুয়ালাইজেশন সক্ষম করা যায়।
WITH
-- CTE 1: Count nearby amenities of interest for each apartment listing.
insight_counts AS (
SELECT WITH AGGREGATION_THRESHOLD
apartments.id,
apartments.name,
COUNTIF(places.primary_type = 'park') AS park_count,
COUNTIF(places.primary_type = 'museum') AS museum_count,
COUNTIF(places.primary_type = 'restaurant' AND places.good_for_children = TRUE) AS family_restaurant_count,
COUNTIF(places.primary_type IN ('veterinary_care', 'pet_store')) AS pet_service_count,
COUNTIF(places.allows_dogs = TRUE) AS dog_friendly_place_count
FROM
`your_project.your_dataset.apartment_listings` AS apartments
LEFT JOIN
`your-project.places_insights___us.places` AS places
ON ST_DWITHIN(apartments.location, places.point, 800)
GROUP BY
apartments.id,
apartments.name
),
-- CTE 2: Apply custom weighting to the amenity counts to generate raw scores.
raw_scores AS (
SELECT
id,
name,
(park_count * 3.0) + (museum_count * 1.5) + (family_restaurant_count * 2.5) AS family_friendliness_score,
(park_count * 2.0) + (pet_service_count * 3.5) + (dog_friendly_place_count * 2.5) AS pet_paradise_score
FROM
insight_counts
)
-- Final Step: Normalize scores to a 0-10 scale and rejoin to retrieve the location geometry.
SELECT
raw_scores.id,
raw_scores.name,
apartments.location,
raw_scores.family_friendliness_score,
raw_scores.pet_paradise_score,
-- Normalize Family Score using a MIN/MAX window function.
ROUND(
COALESCE(
SAFE_DIVIDE(
(raw_scores.family_friendliness_score - MIN(raw_scores.family_friendliness_score) OVER ()),
(MAX(raw_scores.family_friendliness_score) OVER () - MIN(raw_scores.family_friendliness_score) OVER ())
) * 10,
0
),
2
) AS normalized_family_score,
-- Normalize Pet Score using a MIN/MAX window function.
ROUND(
COALESCE(
SAFE_DIVIDE(
(raw_scores.pet_paradise_score - MIN(raw_scores.pet_paradise_score) OVER ()),
(MAX(raw_scores.pet_paradise_score) OVER () - MIN(raw_scores.pet_paradise_score) OVER ())
) * 10,
0
),
2
) AS normalized_pet_score
FROM
raw_scores
JOIN
`your_project.your_dataset.apartment_listings` AS apartments
ON raw_scores.id = apartments.id;
কোয়েরির ফলাফল নীচের ফলাফলের মতোই হবে। শেষ দুটি কলাম হল স্বাভাবিক স্কোর।

স্বাভাবিক স্কোর বুঝুন
এই চূড়ান্ত স্বাভাবিকীকরণের ধাপটি কেন এত মূল্যবান তা বোঝা গুরুত্বপূর্ণ। আপনার অবস্থানের নগর ঘনত্বের উপর নির্ভর করে কাঁচা ওজনযুক্ত স্কোর 0 থেকে শুরু করে সম্ভাব্যভাবে খুব বড় সংখ্যা পর্যন্ত হতে পারে। প্রসঙ্গ ছাড়া ব্যবহারকারীর কাছে 500 স্কোর অর্থহীন।
নরমালাইজেশন এই বিমূর্ত সংখ্যাগুলিকে একটি আপেক্ষিক র্যাঙ্কিংয়ে রূপান্তরিত করে। ফলাফলগুলিকে 0 থেকে 10 পর্যন্ত স্কেল করে, স্কোরটি স্পষ্টভাবে জানায় যে আপনার নির্দিষ্ট ডেটাসেটে প্রতিটি অবস্থান অন্যদের সাথে কীভাবে তুলনা করে:
- সর্বোচ্চ কাঁচা স্কোর সহ স্থানটিকে ১০ স্কোর বরাদ্দ করা হয়, যা বর্তমান সেটে এটিকে সেরা বিকল্প হিসাবে চিহ্নিত করে।
- সর্বনিম্ন কাঁচা স্কোর সহ স্থানটিকে 0 স্কোর দেওয়া হয়, যা এটিকে তুলনার জন্য ভিত্তিরেখা করে তোলে। এর অর্থ এই নয় যে অবস্থানটিতে কোনও সুযোগ-সুবিধা নেই, বরং মূল্যায়ন করা অন্যান্য বিকল্পগুলির তুলনায় এটি সবচেয়ে কম উপযুক্ত।
- অন্যান্য সমস্ত স্কোর আনুপাতিকভাবে মাঝখানে পড়ে, যা আপনার ব্যবহারকারীদের এক নজরে তাদের বিকল্পগুলির তুলনা করার একটি স্পষ্ট এবং স্বজ্ঞাত উপায় দেয়।
বিকল্প ২: জেমিনি ডেভেলপার API ব্যবহার করুন
BigQuery-তে একটি নির্দিষ্ট গাণিতিক সূত্র ব্যবহারের বিকল্প হিসেবে, Gemini Developer API সূক্ষ্ম কাস্টম অবস্থানের স্কোর গণনা করার একটি শক্তিশালী উপায় প্রদান করে।
যদিও বিকল্প ১ সুবিধার উপর ভিত্তি করে সম্পূর্ণ পরিমাণগত স্কোরিংয়ের জন্য চমৎকার, এটি সহজেই গুণগত ডেটাতে ফ্যাক্টর করতে পারে না। জেমিনি ব্যবহার করে, আপনি আপনার প্লেস ইনসাইটস কোয়েরি থেকে সংখ্যাগুলিকে অসংগঠিত ডেটার সাথে একত্রিত করতে পারেন, যেমন অ্যাপার্টমেন্ট তালিকার টেক্সট বর্ণনা (যেমন, "এই অবস্থানটি পরিবারের জন্য উপযুক্ত এবং রাতে এলাকাটি শান্ত থাকে") অথবা নির্দিষ্ট ব্যবহারকারীর প্রোফাইল পছন্দ (যেমন, "এই ব্যবহারকারী একটি পরিবারের জন্য বুকিং করছেন এবং একটি কেন্দ্রীয় অবস্থানে একটি শান্ত এলাকা পছন্দ করেন"), আরও সূক্ষ্ম স্কোর তৈরি করতে।
মিথুন রাশির জন্য তথ্য প্রস্তুত করুন
এই পদ্ধতিটি ব্যবহার করতে, আপনার BigQuery সমষ্টির ফলাফল ( ধাপ ২ থেকে) মার্কডাউন ফর্ম্যাটে রূপান্তর করুন এবং এটিকে আপনার গুণগত ডেটার সাথে একত্রিত করুন, যেমন একটি Listing Description ।
এই উদাহরণে, আমাদের দুটি তালিকা রয়েছে যার বৈশিষ্ট্যগুলি একেবারেই ভিন্ন। আমরা একটি Target User Profile অন্তর্ভুক্ত করেছি যাতে জেমিনি জানতে পারে যে আমরা কার জন্য এই স্কোর করছি:
## Listing 1: The Downtowner
* **ID:** 1
* **Amenity Counts:**
* Parks: 70
* Museums: 34
* Family-Friendly Restaurants: 141
* **Listing Description:** A vibrant apartment in the heart of the city.
Great for nightlife, but can be noisy on weekends. Close to several
small playgrounds.
* **Target User Profile:** Young family with a toddler, looking for a
balance of activity and quiet.
---
## Listing 2: Suburban Oasis
* **ID:** 2
* **Amenity Counts:**
* Parks: 34
* Museums: 30
* Family-Friendly Restaurants: 318
* **Listing Description:** Quiet, tree-lined street. Large backyard and easy
walking distance to a major park and elementary school.
* **Target User Profile:** Young family with a toddler, looking for a
balance of activity and quiet.
সিস্টেম নির্দেশাবলী
এই বিভিন্ন ডেটা পয়েন্টগুলি কীভাবে ওজন করতে হয় তা জানার জন্য জেমিনির সিস্টেম নির্দেশাবলীর প্রয়োজন। আপনি মডেলটিকে স্পষ্টভাবে বলতে পারেন যে নির্দিষ্ট সুযোগ-সুবিধাগুলি কতটা গুরুত্বপূর্ণ, পাশাপাশি পাঠ্য বর্ণনার অনুভূতি বিবেচনা করার জন্যও নির্দেশ দিতে পারেন।
You are an expert real estate analyst. Your goal is to generate a
"Family-Friendliness Score" between 0.0 and 10.0 for a list of apartment
locations.
For each location, you will be given quantitative data (amenity counts)
and qualitative data (descriptions and user profiles).
Scoring Criteria:
- High importance: Proximity to parks and a high count of family-friendly
restaurants.
- Medium importance: Proximity to museums.
- Negative modifiers: Descriptions indicating excessive noise, lack of
safe play areas, or mismatch with the user profile.
- Positive modifiers: Descriptions indicating quiet areas, safe streets,
or extra space (e.g., backyards).
Analyze the provided data and generate scores based on these criteria.
স্ট্রাকচার্ড আউটপুট
আপনার অ্যাপ্লিকেশনে AI ইন্টিগ্রেট করার সময় নির্ভরযোগ্যতা নিশ্চিত করার জন্য, আউটপুট ফর্ম্যাটের জন্য কেবল প্রম্পটিংয়ের উপর নির্ভর করা উচিত নয়। পরিবর্তে, জেমিনির স্ট্রাকচার্ড আউটপুট বৈশিষ্ট্যটি ব্যবহার করুন। একটি responseSchema প্রদান করে, আপনি গ্যারান্টি দিচ্ছেন যে মডেলটি আপনার সঠিক সিস্টেমের প্রয়োজনীয়তার সাথে মেলে এমন একটি পরিষ্কার, পার্সযোগ্য JSON অ্যারে প্রদান করবে।
আমাদের উদাহরণের জন্য, আমরা নিম্নলিখিত স্কিমাটি প্রয়োগ করতে পারি:
{
"type": "ARRAY",
"items": {
"type": "OBJECT",
"required": ["location_id", "name", "score", "reasoning"],
"properties": {
"location_id": {"type": "STRING"},
"name": {"type": "STRING"},
"score": {
"type": "NUMBER"
},
"reasoning": {
"type": "STRING"
}
}
}
}
উদাহরণ আউটপুট
যখন আপনি সংজ্ঞায়িত responseSchema সহ প্রম্পট পাঠান, তখন Gemini একটি স্ট্রাকচার্ড JSON অ্যারে প্রদান করে যা আপনার অ্যাপ্লিকেশন দ্বারা সরাসরি ব্যবহারের জন্য প্রস্তুত।
জেমিনি কীভাবে লেনদেন পরিচালনা করে তা লক্ষ্য করুন। "দ্য ডাউনটাউনার"-এ পার্কের সংখ্যা অবিশ্বাস্যভাবে বেশি, কিন্তু জেমিনি "সপ্তাহান্তে কোলাহলপূর্ণ" বর্ণনাটিকে একটি ছোট বাচ্চার জন্য একটি প্রধান নেতিবাচক হিসাবে চিহ্নিত করে। এদিকে, "শান্ত, গাছ-রেখাযুক্ত রাস্তা" এর মতো প্রযোজ্য গুণগত বৈশিষ্ট্যগুলির সাথে চমৎকার সুযোগ-সুবিধার ঘনত্বের সমন্বয়ের মাধ্যমে "সাবার্বান ওয়েসিস" প্রায় নিখুঁত স্কোর করে।
[
{
"id": 1,
"location_name": "The Downtowner",
"analysis_notes": "Excellent amenity counts (parks, restaurants, museums), fulfilling
quantitative metrics. However, the qualitative data indicates excessive weekend
noise and a strong nightlife focus, conflicting directly with the target
user's need for quiet and suitability for a toddler. This mismatch
significantly lowers the final score.",
"family_friendliness_score": 5.5
},
{
"id": 2,
"location_name": "Suburban Oasis",
"analysis_notes": "Outstanding quantitative data, especially the very high count of
family-friendly restaurants. The qualitative description (quiet, tree-lined street,
large backyard, proximity to elementary school and major park) aligns perfectly with
and exceeds the needs of the target family profile. High positive modifiers
result in a near-perfect score.",
"family_friendliness_score": 9.8
}
]
এই পদ্ধতিটি আপনাকে অত্যন্ত ব্যক্তিগতকৃত স্কোরিং প্রদান করতে দেয় যা বোধগম্য এবং প্রতিটি ব্যবহারকারীর জন্য উপযুক্ত বলে মনে হয়।
৪. একটি মানচিত্রে আপনার স্কোর কল্পনা করুন
BigQuery Studio-তে GEOGRAPHY কলাম থাকা যেকোনো কোয়েরির ফলাফলের জন্য একটি সমন্বিত মানচিত্র ভিজ্যুয়ালাইজেশন অন্তর্ভুক্ত থাকে। যেহেতু আমাদের কোয়েরি location কলামটি আউটপুট করে, তাই আপনি অবিলম্বে আপনার স্কোরগুলি কল্পনা করতে পারেন।
Visualization ট্যাবে ক্লিক করলে মানচিত্রটি আসবে এবং Data Column ড্রপ-ডাউন ভিজ্যুয়ালাইজ করার জন্য লোকেশন স্কোর নিয়ন্ত্রণ করবে। এই উদাহরণে, normalized_pet_score বিকল্প 1 উদাহরণ থেকে ভিজ্যুয়ালাইজ করা হয়েছে। মনে রাখবেন যে এই উদাহরণের জন্য apartment_listings টেবিলে আরও লোকেশন যোগ করা হয়েছে।

ডেটা ভিজ্যুয়ালাইজ করলে এক নজরে তৈরি স্কোরের জন্য সবচেয়ে উপযুক্ত অবস্থানগুলি দেখা যায়, এই ক্ষেত্রে গাঢ় সবুজ বৃত্তগুলি উচ্চতর normalized_pet_score সহ অবস্থানগুলিকে প্রতিনিধিত্ব করে। আরও Places Insights ডেটা ভিজ্যুয়ালাইজেশন বিকল্পগুলির জন্য, Visualize query results দেখুন।
উপসংহার
এখন আপনার কাছে সূক্ষ্ম অবস্থানের স্কোর তৈরির জন্য একটি শক্তিশালী এবং পুনরাবৃত্তিযোগ্য পদ্ধতি রয়েছে। আপনার অবস্থান থেকে শুরু করে, আপনি BigQuery-তে একটি একক SQL কোয়েরি তৈরি করেছেন যা ST_DWITHIN দিয়ে কাছাকাছি স্থানগুলি খুঁজে বের করে, good_for_children এবং allows_dogs মতো উন্নত বৈশিষ্ট্য দ্বারা সেগুলিকে ফিল্টার করে এবং COUNTIF দিয়ে ফলাফলগুলিকে একত্রিত করে। কাস্টম ওজন প্রয়োগ করে এবং ফলাফলকে স্বাভাবিক করে, আপনি একটি একক, ব্যবহারকারী-বান্ধব স্কোর তৈরি করেছেন যা গভীর, কার্যকর অন্তর্দৃষ্টি প্রদান করে। আপনি সরাসরি এই প্যাটার্নটি প্রয়োগ করে কাঁচা অবস্থানের ডেটাকে একটি উল্লেখযোগ্য প্রতিযোগিতামূলক সুবিধায় রূপান্তর করতে পারেন।
পরবর্তী পদক্ষেপ
এবার আপনার তৈরির পালা। এই টিউটোরিয়ালে একটি টেমপ্লেট দেওয়া হয়েছে। আপনার ব্যবহারের জন্য প্রয়োজনীয় স্কোর তৈরি করতে আপনি প্লেসেস ইনসাইটস স্কিমায় উপলব্ধ সমৃদ্ধ ডেটা ব্যবহার করতে পারেন। আপনি যে অন্যান্য স্কোর তৈরি করতে পারেন তা বিবেচনা করুন:
- "নাইটলাইফ স্কোর": অন্ধকারের পরে সবচেয়ে প্রাণবন্ত এলাকা খুঁজে পেতে
primary_type(bar,night_club),price_levelএবং দেরী-রাত খোলা থাকার সময়ের জন্য ফিল্টার একত্রিত করুন। - "ফিটনেস এবং সুস্থতার স্কোর": স্বাস্থ্য-সচেতন ব্যবহারকারীদের জন্য অবস্থান স্কোর করার জন্য কাছাকাছি
gyms,parksএবংhealth_food_storesগণনা করুন এবংserves_vegetarian_foodআছে এমন রেস্তোরাঁগুলি ফিল্টার করুন। - "যাত্রীদের স্বপ্নের স্কোর": পরিবহনের অ্যাক্সেসকে মূল্য দেয় এমন ব্যবহারকারীদের সাহায্য করার জন্য কাছাকাছি
transit_stationএবংparkingস্থানের উচ্চ ঘনত্ব সহ অবস্থানগুলি খুঁজুন।
অবদানকারীরা
হেনরিক ভালভ | ডেভএক্স ইঞ্জিনিয়ার