1. Utangulizi
Huduma za Wavuti (WS) zinawakilisha vipengele vya programu vinavyojitegemea vilivyoundwa kwa ajili ya kugunduliwa kwa mbali, kuitwa, na kuundwa pamoja. Ingawa mbinu za kimaanishi (k.m., OWL-S) zinalenga mantiki ya kiotomatiki, matumizi yake yamezuiliwa na ugumu na gharama. Kwa hivyo, mifumo ya uzalishaji hutegemea kwa kiasi kikubwa maelezo ya kisintaksia kwa kutumia WSDL (Lugha ya Maelezo ya Huduma za Wavuti). Utafiti huu unashughulikia pengo hili kwa kuchunguza mbinu za kisintaksia za kuunda pamoja huduma za WS, hasa kupitia ujenzi na uchambuzi wa Mitandao ya Muundo wa Huduma za Wavuti kwa kutumia vipimo vitatu vilivyothibitishwa vya ufanano wa mfuatano wa herufi: Levenshtein, Jaro, na Jaro-Winkler. Lengo kuu ni tathmini ya kulinganisha ya utendaji wa vipimo hivi katika kutambua uhusiano unaowezekana wa huduma kulingana tu na vipengele vya kisintaksia kutoka kwa faili za WSDL za ulimwengu halisi.
2. Usuli wa Mada na Utafiti Unaohusiana
2.1 Huduma za Wavuti za Kimaanishi dhidi ya Kisintaksia
Dhana ya huduma za wavuti za kimaanishi, inayoongozwa na viwango kama OWL-S, inalenga kuingiza maana inayoweza kufasiriwa na mashine ndani ya maelezo ya huduma kwa kutumia ontolojia. Hata hivyo, kama ilivyobainishwa kwenye PDF na kuthibitishwa na tafiti kutoka kwa Shirika la Wavuti Duniani (W3C), matumizi makubwa bado yamewekewa mipaka kutokana na jitihada kubwa za mikono zinazohitajika kwa ajili ya uainishaji na changamoto zisizotatuliwa katika uchoraji ramani wa ontolojia. Kizuizi hiki cha vitendo kimeendeleza hamu katika mbinu thabiti za kisintaksia ambazo zinaweza kufanya kazi kwenye maelezo yaliyopo ya WSDL yasiyo ya kimaanishi, ambayo huunda idadi kubwa ya huduma zilizotumika.
2.2 Vipimo vya Ufanano kwa WSDL
Kazi ya awali juu ya kugundua kwa kisintaksia, kama ile ya [3] kwenye PDF, inaainisha ufanano kwa misingi ya vipimo kama vile lafudhi (sifa za maandishi), sifa, kiolesura (vigezo vya pembejeo/pato vya utendakazi), na QoS. Kazi yetu inazingatia viwango vya lafudhi na kiolesura, kwa kutumia vipimo vya ufanano wa mfuatano wa herufi vya madhumuni ya jumla kwa majina ya vipengele (huduma, utendakazi, majina ya vigezo) yaliyotolewa kutoka kwa WSDL. Mbinu hii inalingana na mienendo inayotumia maana ya siri kupitia uchambuzi wa takwimu wa maandishi, kama inavyoonekana katika mbinu kama LSA (Uchambuzi wa Maana ya Siri) unaotumika kwa huduma za wavuti.
3. Mbinu na Ujenzi wa Mtandao
3.1 Ukusanyaji wa Data na Usindikaji wa Awali
Mkusanyiko wa maelezo ya WSDL ya ulimwengu halisi ulitumika kama kituo cha majaribio. Kila faili ya WSDL ilichambuliwa ili kutoa vipengele muhimu vya kisintaksia: majina ya huduma, majina ya utendakazi, na majina ya vigezo. Vipengele hivi vya maandishi vilirekebishwa (kubadilisha herufi kuwa ndogo, kuondoa herufi maalum) ili kuunda msingi wa kuhesabu ufanano.
3.2 Utekelezaji wa Vipimo vya Ufanano
Vipimo vitatu vilitekelezwa na kulinganishwa:
- Umbali wa Levenshtein: Hupima idadi ya chini ya marekebisho ya herufi moja-moja (kuingiza, kufuta, kubadilisha) yanayohitajika kubadilisha mfuatano mmoja wa herufi kuwa mwingine. Ufanano wa kawaida huhesabiwa kama $sim_{Lev}(s_1, s_2) = 1 - \frac{edit\_distance(s_1, s_2)}{\max(|s_1|, |s_2|)}$.
- Ufanano wa Jaro: Unategemea idadi na mpangilio wa herufi zinazolingana. Fomula ni $sim_j = \begin{cases} 0 & \text{kama } m=0 \\ \frac{1}{3}\left(\frac{m}{|s_1|} + \frac{m}{|s_2|} + \frac{m-t}{m}\right) & \text{vivyo hivyo} \end{cases}$, ambapo $m$ ni idadi ya herufi zinazolingana na $t$ ni nusu ya idadi ya mabadilishano.
- Ufanano wa Jaro-Winkler: Tofauti inayoongeza alama kwa mifuatano ya herufi yenye viambishi awali vya kawaida. $sim_{jw} = sim_j + (l \cdot p \cdot (1 - sim_j))$, ambapo $l$ ni urefu wa kiambishi awali cha kawaida (hadi herufi 4) na $p$ ni sababu ya kiwango cha mara kwa mara (kwa kawaida 0.1).
3.3 Mchakato wa Kuanzisha Mtandao
Kwa kila kipimo, Mtandao wa Muundo wa Huduma za Wavuti ulijengwa. Nodi zinawakilisha huduma za wavuti binafsi. Ukingo usioelekezwa unaundwa kati ya nodi mbili za huduma ikiwa jumla ya alama za ufanano za vipengele vilivyotolewa (k.m., wastani wa ufanano kati ya jozi zote za majina ya utendakazi) inazidi kizingiti kilichowekwa awali $\theta$. Mitandao ilitengenezwa kwa anuwai ya thamani za $\theta$ ili kuchambua usikivu.
4. Matokeo ya Majaribio na Uchambuzi
Muhtasari Muhimu wa Utendaji
Jaro-Winkler ilitambua miunganisho yenye maana zaidi ya kimaanishi katika viwango vya juu vya kizingiti. Jaro ilizalisha mitandao michache, inayoweza kuwa sahihi zaidi katika viwango vya chini vya kizingiti. Levenshtein ilikuwa nyeti zaidi kwa tofauti ndogo za tahajia.
4.1 Ulinganisho wa Sifa za Kitopolojia
Muundo wa kitopolojia wa mitandao iliyotengenezwa ulichambuliwa kwa kutumia vipimo kama vile kiwango cha wastani, kigawo cha kusanyiko, na urefu wa wastani wa njia. Mitandao iliyojengwa kwa Jaro-Winkler ilionyesha mara kwa mara muunganisho wa juu zaidi (kiwango cha juu cha wastani) na usanyiko wa nguvu wa ndani katika viwango vinavyolingana vya kizingiti, ikionyesha kuwa inaweka pamoja huduma zilizo na utendaji sawa zaidi kwa ufanisi.
Maelezo ya Chati (Inayodhaniwa): Chati ya mstari inayoonyesha "Msongamano wa Mtandao" dhidi ya "Kizingiti cha Ufanano" kwa vipimo vitatu ingeonyesha Jaro-Winkler ikidumisha msongamano wa juu kuliko Jaro na Levenshtein kadiri kizingiti kinavyoongezeka, ikionyesha uwezo wake wa kudumisha miunganisho yenye maana chini ya vigezo vikali zaidi.
4.2 Utendaji wa Kipimo Katika Viwango Tofauti vya Kizingiti
Utafiti ulipata ushindani wazi:
- Viwango vya Juu vya Kizingiti ($\theta > 0.9$): Jaro-Winkler ilifanya vizuri zaidi kuliko wengine, bado ikiunda sehemu iliyounganishwa ya huduma zinazohusiana, huku wengine wakigawanyika. Hii inalingana na muundo wake wa kufananisha majina na vitambulisho vilivyo na viambishi awali vya kawaida.
- Viwango vya Chini hadi vya Kati ($\theta \approx 0.7$): Kipimo cha Jaro kilikuwa bora zaidi, kwani kilizalisha ukingo mdogo wa uwongo (matokeo mabaya ya uwongo) ikilinganishwa na Levenshtein, ambayo mara nyingi iliunganisha huduma kulingana na mwingiliano wa mifuatano ya herufi isiyo na maana.
4.3 Uthibitishaji wa Umuhimu wa Takwimu
Majaribio ya takwimu ya jozi kwa jozi (k.m., jaribio la cheo lililosainiwa la Wilcoxon) juya usambazaji wa vipimo vya mtandao katika sampuli nyingi za kujipakia zilithibitisha kuwa tofauti katika kigawo cha wastani cha kusanyiko na kitovu cha kiwango kati ya Jaro-Winkler na vipimo vingine vilikuwa muhimu kitakwimu ($p < 0.05$).
5. Mfumo wa Kiufundi na Maelezo ya Kihisabati
Kiini cha uchambuzi kinategemea muundo wa kihisabati wa vipimo. Sababu ya kuongeza nguvu ya Jaro-Winkler ni muhimu: $sim_{jw} = sim_j + (l \cdot p \cdot (1 - sim_j))$. Hii inatoa uzito mkubwa kwa mechi za viambishi awali, ambayo ni yenye ufanisi sana kwa istilahi za kiufundi (k.m., "getUserProfile" dhidi ya "getUserData"). Kinyume chake, umbali wa marekebisho wa Levenshtein, $d_{Lev}$, hutibu marekebisho yote ya herufi sawasawa, na kufanya iwe duni kwa istilahi za camelCase au zilizofupishwa zinazojulikana katika muundo wa API. Uchaguzi wa kitendakazi cha kujumlisha (wastani, upeo, wastani wenye uzito) kwa ajili ya kuunganisha ufanano katika vipengele vingi vya huduma pia huathiri kwa kiasi kikubwa uzito wa mwisho wa ukingo na topolojia ya mtandao.
6. Utafiti wa Kesi: Mfano wa Muundo wa Huduma
Mfano: Kupendekeza kiotomatiki mnyororo wa muundo kwa huduma ya "Kuhifadhi Usafiri" kwa kutumia tu data ya kisintaksia ya WSDL.
Matumizi ya Mfumo:
- Uwakilishi wa Nodi: Huduma: FlightSearch, HotelFinder, CarRentalAPI, WeatherService, CurrencyConverter.
- Hesabu ya Ufanano: Kwa kutumia Jaro-Winkler, FlightSearch na HotelFinder zina ufanano wa juu kutokana na majina ya kawaida ya vigezo kama "location," "date," "adults." CarRentalAPI pia inapata alama za juu na hizi. WeatherService na CurrencyConverter zinaonyesha ufanano wa chini na kikundi kikuu.
- Uundaji wa Mtandao: Katika kizingiti cha 0.85, kusanyiko wazi linaonekana likiunganisha FlightSearch, HotelFinder, na CarRentalAPI.
- Inferensi ya Muundo: Kusanyiko la mtandao linapendekeza moja kwa moja njia inayowezekana ya muundo: Mnyororo FlightSearch -> HotelFinder -> CarRentalAPI kwa mfuatano kamili wa kazi wa kuhifadhi usafiri, na WeatherService na CurrencyConverter kama huduma za ziada zinazowezekana.
7. Matumizi ya Baadaye na Mwelekeo wa Utafiti
- Mifumo ya Mseto ya Kimaanishi-Kisintaksia: Kutumia mitandao ya kisintaksia kama safu ya awali ya kuchuja iliyyo haraka na inayoweza kuongezeka ili kupunguza wagombea kwa ajili ya mantiki ya kimaanishi yenye gharama kubwa ya hesabu, sawa na jinsi uzalishaji ulioimarishwa wa urejeshi unavyofanya kazi katika LLMs.
- Ujumuishaji na Grafu za Maarifa za API: Kuweka nodi kutoka kwa mitandao ya kisintaksia ndani ya grafu kubwa zaidi za maarifa za API kama zile zilizochunguzwa katika utafiti wa APIGraph, na kuzijaza na ukingo wa ufanano wa kisintaksia.
- Muundo wa Kiotomatiki katika Huduma Ndogo: Kutumia mifano hii ya mtandao kwa mazingira ya wakati wa utekelezaji (k.m., Kubernetes, Istio) ili kupendekeza au kuunda kiotomatiki huduma ndogo kulingana na maelezo ya utekelezaji ya wakati halisi.
- Vipimo vya Juu zaidi: Kuchunguza ufanano unaotegemea uwekaji ndani (k.m., kutumia BERT au Word2Vec kwenye maandishi ya WSDL) ili kukamata maana ya kina ya muktadha hali ikiwa "kisintaksia" kwa maana ya kutohitaji ontolojia rasmi.
8. Marejeo
- W3C. (2001). Lugha ya Maelezo ya Huduma za Wavuti (WSDL) 1.1. W3C Note. Imepatikana kutoka https://www.w3.org/TR/wsdl
- Martin, D., et al. (2004). OWL-S: Uainishaji wa Kimaanishi kwa Huduma za Wavuti. W3C Member Submission.
- Dong, X., et al. (2004). Utafutaji wa Ufanano wa Huduma za Wavuti. Katika Proceedings of the 30th VLDB Conference.
- Elgazzar, K., et al. (2010). Kugawa Hati za WSDL ili Kuanzisha Ugunduzi wa Huduma za Wavuti. Katika IEEE International Conference on Web Services (ICWS).
- Zhu, J., et al. (2020). APIGraph: Grafu Kubwa ya Maarifa ya API. Katika Proceedings of the 28th ACM Joint Meeting on ESEC/FSE.
- Winkler, W. E. (1990). Vipimo vya Kulinganisha Mfuatano wa Herufi na Kanuni Zilizoboreshwa za Uamuzi katika Mfumo wa Fellegi-Sunter wa Kuunganisha Rekodi.
9. Uchambuzi wa Wataalam na Ufahamu Muhimu
Ufahamu Muhimu: Karatasi hii inatoa ukaguzi wa ukweli unaohitajika na unaoweza kutekelezeka. Inatambua kwa usahihi kwamba dhana kuu ya huduma za wavuti za kimaanishi kabisa, zilizoundwa kiotomatiki, imesimama katika uzalishaji kutokana na ugumu, ikirudia tatizo la "mkondo wa matumizi" linaloonekana katika nyanja zingine zinazoongozwa na AI. Mabadiliko ya waandishi kwa kutathmini kwa ukali mbinu za kisintaksia sio hatua ya kurudi nyuma, bali ni hatua ya kimkakati ya kuelekea kwenye suluhisho zinazoweza kutekelezwa. Kazi yao kimsingi inasema: kabla ya kuwafundisha mashine "kuelewa" huduma, tufikishe kwanza jinsi wanavyoweza "kuona" na "kuunganisha" kulingana na muundo wa uso. Hii inakumbusha mbinu za awali, zenye ufanisi sana za kuona kwa kompyuta ambazo zilitegemea vipengele vilivyoundwa kwa mikono (kama SIFT) kabla ya mapinduzi ya kujifunza kwa kina—zilifanya kazi kwa uthabiti na data ndogo.
Mkondo wa Mantiki: Mantiki ni sahihi na inalenga uhandisi. Dhana: Mbinu za kimaanishi ni ghali. Uchunguzi: Data ya kisintaksia (WSDL) ni nyingi. Dhana: Vipimo tofauti vya ufanano wa mfuatano wa herufi vitatoa mitandao ya muundo ya ubora tofauti. Jaribio: Jenga mitandao, chambua topolojia. Ugunduzi: Jaro-Winkler ni bora kwa miunganisho yenye uaminifu wa juu; Jaro ni bora kwa uchunguzi mpana zaidi, wenye kelele. Mkondo kutoka katika kutambua tatizo kupitia ulinganisho wa mbinu hadi mwongozo unaoweza kutekelezaka ni wazi na unaovutia.
Nguvu na Kasoro: Nguvu kuu ni matumizi ya mbinu za sayansi ya mtandao kwa tatizo la uhandisi wa programu, ikitoa mtazamo wa kiasi na muundo juu ya uhusiano wa huduma. Matumizi ya faili za WSDL za ulimwengu halisi yanaweka utafiti katika utendaji. Hata hivyo, kasoro kubwa ni ukosefu wa ukweli wa msingi wa kiasi kwa ajili ya uthibitisho. Je, tunajuaje kuwa muunganisho katika mtandao ni "ufaa"? Tathmini inaonekana kuwa ya kiutambuzi kwa kiasi. Utafiti ungeimarishwa sana kwa kutathmini mitandao dhidi ya kiwango cha kujulikana, muundo halali wa huduma au kutumia mitandao kuwasha pendekezo la muundo na kupima usahihi wake, sawa na jinsi utabiri wa kiungo unavyotathminiwa katika uchambuzi wa mtandao wa kijamii.
Ufahamu Unaoweza Kutekelezeka: Kwa watendaji, ujumbe ni wazi: Anza na Jaro-Winkler. Ikiwa unajenga rejista ya huduma au mfumo wa kupendekeza na unahitaji kupata huduma zinazofanana sana (k.m., kwa ajili ya kuondoa nakala au mapendekezo ya usahihi wa juu), tekeleza Jaro-Winkler na kizingiti cha juu. Kwa kazi za uchunguzi, kama kugundua huduma zinazohusiana kwa uwezekano katika nyanja tofauti, tumia kipimo cha Jaro na kizingiti cha chini. Utafiti pia unapendekeza kwa dhana ya mkakati wa kipimo kingi: tumia vipimo tofauti katika hatua tofauti za mfumo wa ugunduzi. Zaidi ya hayo, kazi hii inaweka msingi wa kutibu mfumo wa huduma kama grafu—mtazamo ambao ni muhimu kwa DevOps ya kisasa na uhandisi wa jukwaa, kama inavyoonekana katika kuongezeka kwa zana kama Backstage na Spotify, ambayo hutumia orodha ya programu iliyotengenezwa kama grafu. Hatua inayofuata ya mantiki ni kuunganisha ukingo huu wa ufanano wa kisintaksia ndani ya milango kama hii ya wasanidi programu ili kupendekeza kiotomatiki utegemezi na muundo.