వాడుకరి:Rakesh 1157/ప్రయోగశాల

మూస:User sandbox కొసైన్ సారూప్యత అనేది అంతర్గత ఉత్పత్తి స్థలం యొక్క రెండు సున్నా కాని వెక్టర్స్ మధ్య సారూప్యత యొక్క కొలత. ఇది వాటి మధ్య కోణం యొక్క కొసైన్ కు సమానం అని నిర్వచించబడింది, ఇది రెండింటికి సాధారణీకరించబడిన అదే వెక్టర్స్ యొక్క అంతర్గత ఉత్పత్తికి సమానం. పొడవు 1 కలిగి ఉంటుంది. సున్న డిగ్రీ యొక్క కొసైన్ 1,మరియు ఇది (0, π] రేడియన్లు విరామంలో మధ్య ఉన్న ఏ కొణానికైనా 1 కన్నా తక్కువ ఉంటుంది. ఇది ధోరణి యొక్క తీర్పు మరియు పరిమాణం కాదు: ఒకే ధోరణి కలిగిన రెండు వెక్టర్స్ 1 యొక్క కొసైన్ సారూప్యతను కలిగి ఉంటాయి, రెండు వెక్టర్స్ 90 డిగ్రీ వద్ద ఒకదానికొకటి సాపేక్షంగా 0, మరియు పూర్తిగా వ్యతిరేకించిన రెండు వెక్టర్స్ -1 యొక్క సారూప్యతను కలిగి ఉంటాయి, వాటి పరిమాణం నుండి స్వతంత్రంగా ఉంటాయి. కొసైన్ సారూప్యత ముఖ్యంగా సానుకూల ప్రదేశంలో ఎక్కడైతే ఫలితం మధ్యలో ఉంటుందో అక్కడ ఉపయోగించబడుతుంది. ఈ పేరు "దిశ కొసైన్" అనే పదం నుండి ఉద్భవించింది: ఈ సందర్భంలో, యూనిట్ వెక్టర్స్ సమాంతరంగా ఉంటే గరిష్టంగా "సారూప్యంగా" ఉంటాయి మరియు అవి లంబంగా ఉంటే గరిష్టంగా "అసమానంగా ఉంటాయి".

ఈ హద్దులు ఎన్ని కొలతలకు అయినా వర్తిస్తాయి మరియు కొసైన్ సారూప్యత సాధారణంగా అధిక-డైమెన్షనల్ సానుకూల ప్రదేశాలలో ఉపయోగించబడుతుంది. ఉదాహరణకు, ఇన్ఫర్మేషన్ రిట్రీవల్ మరియు టెక్స్ట్ మైనింగ్‌లో, ప్రతి పదాన్ని వేరే కోణాన్ని కేటాయించారు మరియు ఒక పత్రం వెక్టర్ ద్వారా వర్గీకరించబడుతుంది, ఇక్కడ ప్రతి కోణంలో విలువ పత్రంలో ఎన్నిసార్లు కనిపిస్తుందో దానికి అనుగుణంగా ఉంటుంది. కొసైన్ సారూప్యత అప్పుడు రెండు విషయ పత్రాలు వాటి విషయ పరంగా ఎంత సారూప్యత కల్గివుందో అన్న ఉపయోగకరమైన కొలతను ఇస్తుంది.[1]

డేటా మైనింగ్‌[2] రంగంలో సమూహాలలో సమన్వయాన్ని కొలవడానికి కూడా ఈ సాంకేతికత ఉపయోగించబడుతుంది.

సానుకూల ప్రదేశంలో పూరకానికి కొసైన్ దూరం అనే పదాన్ని తరచుగా ఉపయోగిస్తారు, అనగా: , ఇక్కడ అనేది కొసైన్ దూరం మరియు కొసైన్ సారూప్యత. ఏది ఏమయినప్పటికీ, ఇది త్రిభుజం అసమానత ఆస్తిని కలిగి లేనందున ఇది సరైన దూర మెట్రిక్ కాదని గమనించడం ముఖ్యం-లేదా, అధికారికంగా, స్క్వార్జ్ అసమానత-మరియు ఇది యాదృచ్చిక సిద్ధాంతాన్ని ఉల్లంఘిస్తుంది; ఒకే క్రమాన్ని కొనసాగిస్తూ త్రిభుజం అసమానత ఆస్తిని రిపేర్ చేయడానికి, కోణీయ దూరానికి మార్చడం అవసరం (క్రింద చూడండి).

కొసైన్ సారూప్యత యొక్క ఒక ప్రయోజనం దాని తక్కువ-సంక్లిష్టత, ముఖ్యంగా చిన్న వెక్టర్స్ కోసం: సున్నా కాని కొలతలు మాత్రమే పరిగణించాల్సిన అవసరం ఉంది.

కొసైన్ సారూప్యత యొక్క ఇతర పేర్లు ఆర్కిని సారూప్యత మరియు టక్కర్ గుణకం యొక్క సమానత్వం; ఓచియా సారూప్యత (క్రింద చూడండి) బైనరీ డేటాకు వర్తించే కొసైన్ సారూప్యత.

నిర్వచనం మార్చు

యూక్లిడియన్ డాట్ ప్రొడక్ట్ ఫార్ములాను ఉపయోగించడం ద్వారా రెండు సున్నా కాని వెక్టర్స్ యొక్క కొసైన్ పొందవచ్చు:

 

A మరియు B లక్షణాల యొక్క రెండు వెక్టర్స్ ఇచ్చినప్పుడు, కొసైన్ సారూప్యత, cos(θ), డాట్ ఉత్పత్తి మరియు పరిమాణాన్ని ఉపయోగించి ప్రాతినిధ్యం వహిస్తుంది.

 

ఇక్కడ   మరియు   వరుసగా వెక్టర్   మరియు   యొక్క భాగాలు .

ఫలిత సారూప్యత −1 నుండి సరిగ్గా వ్యతిరేకం, 1 సరిగ్గా అదే అర్ధం, 0 ఆర్తోగోనాలిటీ లేదా డెకరేలేషన్‌ను సూచిస్తుంది, అయితే విలువల మధ్య విలువలు ఇంటర్మీడియట్ సారూప్యత లేదా అసమానతను సూచిస్తాయి.

టెక్స్ట్ మ్యాచింగ్ కోసం, లక్షణం వెక్టర్స్ A మరియు B సాధారణంగా పత్రాల యొక్క ఫ్రీక్వెన్సీ వెక్టర్స్. కొసైన్ సారూప్యతను పోలిక సమయంలో పత్రం పొడవును సాధారణీకరించే పద్ధతిగా చూడవచ్చు.

సమాచార పునరుద్ధరణ విషయంలో, రెండు పత్రాల కొసైన్ సారూప్యత 0 నుండి 1 వరకు ఉంటుంది, ఎందుకంటే పౌనఃపున్యాలు (టిఎఫ్-ఐడిఎఫ్ బరువులు ఉపయోగించడం) అనే పదం ప్రతికూలంగా ఉండదు. రెండు టర్మ్ ఫ్రీక్వెన్సీ వెక్టర్స్ మధ్య కోణం 90 డిగ్రీల కంటే ఎక్కువ ఉండకూడదు.

వెక్టర్ మార్గాలను తీసివేయడం ద్వారా లక్షణ వెక్టర్స్ సాధారణీకరించబడితే (ఉదా.,  ), కొలతను కేంద్రీకృత కొసైన్ సారూప్యత అంటారు మరియు పియర్సన్ సహసంబంధ గుణకానికి సమానం. కేంద్రీకృతం యొక్క ఉదాహరణ కోసం,

 

కోణీయ దూరం మరియు సారూప్యత మార్చు

"కొసైన్ సారూప్యత" అనే పదాన్ని కొన్నిసార్లు క్రింద అందించిన సారూప్యతకు భిన్నమైన నిర్వచనాన్ని సూచించడానికి ఉపయోగిస్తారు. అయినప్పటికీ "కొసైన్ సారూప్యత" యొక్క సర్వసాధారణ ఉపయోగం పైన నిర్వచించిన విధంగా ఉంటుంది మరియు క్రింద నిర్వచించిన సారూప్యత మరియు దూర కొలమానాలను వరుసగా "కోణీయ సారూప్యత" మరియు "కోణీయ దూరం" గా సూచిస్తారు. వెక్టర్స్ మధ్య సాధారణీకరించిన కోణం అధికారిక దూర మెట్రిక్ మరియు పైన నిర్వచించిన సారూప్యత స్కోరు నుండి లెక్కించవచ్చు [3]. ఈ కోణీయ దూర మెట్రిక్‌ను కలుపుకొని, 0 మరియు 1 మధ్య సరిహద్దులో ఉన్న సారూప్యతను లెక్కించడానికి ఉపయోగించవచ్చు.

వెక్టర్ అంశాలు సానుకూలంగా లేదా ప్రతికూలంగా ఉన్నప్పుడు:

 
 

లేదా, వెక్టర్ అంశాలు ఎల్లప్పుడూ సానుకూలంగా ఉంటే:

 
 

ఈ కోణీయ దూరానికి "కొసైన్ సారూప్యత" అనే పదాన్ని ఉపయోగించినప్పటికీ, ఈ పదాన్ని కోణం యొక్క కొసైన్ గా మాత్రమే కోణాన్ని లెక్కించడానికి అనుకూలమైన యంత్రాంగాన్ని ఉపయోగిస్తారు మరియు అర్ధంలో భాగం కాదు. కోణీయ సారూప్యత గుణకం యొక్క ప్రయోజనం ఏమిటంటే, వ్యత్యాస గుణకం వలె ఉపయోగించినప్పుడు (దానిని 1 నుండి తీసివేయడం ద్వారా) ఫలిత ఫంక్షన్ సరైన దూర మెట్రిక్, ఇది మొదటి అర్ధానికి సంబంధించినది కాదు. అయితే, చాలా ఉపయోగాలకు ఇది ముఖ్యమైన ఆస్తి కాదు. వెక్టార్ల సమితిలో సారూప్యత లేదా దూరం యొక్క సాపేక్ష క్రమం మాత్రమే ముఖ్యమైన ఏదైనా ఉపయోగం కోసం, అప్పుడు ఏ ఫంక్షన్ ఉపయోగించబడుతుందో అప్రధానమైనది, ఫలితంగా వచ్చే ఆర్డర్ ఎంపిక ద్వారా ప్రభావితం కాదు.

ఒట్సుకా-ఓచియా గుణకం మార్చు

జీవశాస్త్రంలో, యానోసుకే ఒట్సుకా (ఎట్సుకా, ఓట్సుకా లేదా ఒటుకా, [4] {{జపనీస్|大塚 弥之助}}) [5] మరియు అకిరా ఓచియా ({{జపనీస్|落合 明}}), [6] దీనిని ఓచియా-బార్క్‌మన్ [7] లేదా ఓచియా గుణకం, [8] అని కూడా పిలుస్తారు, వీటిని ఈ విధంగా సూచించవచ్చు:

 

ఇక్కడ, A మరియు B సమితులు, మరియు   లోని మూలకాల సంఖ్య  . సమితులను బిట్ వెక్టర్స్‌గా సూచిస్తే, ఒట్సుకా-ఓచియా గుణకం కొసైన్ సారూప్యతతో సమానంగా ఉంటుంది.

ఇటీవలి పుస్తకంలో,[9] గుణకం మరొక జపనీస్ పరిశోధకుడికి ఓట్సుకా అనే కుటుంబ పేరుతో తప్పుగా పంపిణీ చేయబడింది. గందరగోళం తలెత్తుతుంది ఎందుకంటే 1957 లో అకిరా ఓచియా గుణకాన్ని ఒట్సుకాకు మాత్రమే ఆపాదించాడు (మొదటి పేరు ప్రస్తావించలేదు) [6] ఇకుసో హమై ({{జపనీస్|浜井 生三}}),[10] యొక్క వ్యాసాన్ని ఉదహరించడం ద్వారా అసలు 1936 వ్యాసాన్ని యానోసుకే ఒట్సుకా[5] ద్వారా ఉదహరించారు.

ఎందుకు ప్రయోజనకరంగా ఉంటుంది ? మార్చు

కొసైన్ సారూప్యత అనేది పత్రాలు వాటి పరిమాణంతో సంబంధం లేకుండా ఎంత సారూప్యంగా ఉన్నాయో తెలుసుకోవడానికి ఉపయోగించే మెట్రిక్. గణితశాస్త్రపరంగా, ఇది బహుళ-డైమెన్షనల్ ప్రదేశంలో అంచనా వేసిన రెండు వెక్టర్ల మధ్య కోణం యొక్క కొసైన్‌ను కొలుస్తుంది. ఈ సందర్భంలో, నేను మాట్లాడుతున్న రెండు వెక్టర్స్ రెండు పత్రాల పద గణనలను కలిగి ఉన్నాయి. సారూప్యత మెట్రిక్‌గా, కొసైన్ సారూప్యత సాధారణ పదాల సంఖ్య నుండి ఎలా భిన్నంగా ఉంటుంది?

బహుళ డైమెన్షనల్ స్థలంలో ప్లాట్ చేసినప్పుడు, ప్రతి పరిమాణం పత్రంలోని ఒక పదానికి అనుగుణంగా ఉంటుంది, కొసైన్ సారూప్యత పత్రాల ధోరణిని (కోణం) సంగ్రహిస్తుంది మరియు పరిమాణం కాదు. మీకు పరిమాణం కావాలంటే, బదులుగా యూక్లిడియన్ దూరాన్ని లెక్కించండి. కొసైన్ సారూప్యత ప్రయోజనకరంగా ఉంటుంది ఎందుకంటే పరిమాణం కారణంగా రెండు సారూప్య పత్రాలు యూక్లిడియన్ దూరానికి దూరంగా ఉన్నప్పటికీ ('క్రికెట్' అనే పదం ఒక పత్రంలో 50 సార్లు మరియు మరొక పత్రంలో 10 సార్లు కనిపించింది) అవి ఇంకా చిన్న కోణాన్ని కలిగి ఉంటాయి వాటి మధ్య. చిన్న కోణం, ఎక్కువ సారూప్యత. కొసైన్ సారూప్యత ‘కౌంట్-ది-కామన్-పదాలు’ లేదా యూక్లిడియన్ దూర విధానంలో ఈ ప్రాథమిక లోపాన్ని అధిగమించడానికి సహాయపడుతుంది.

అల్గోరిథం మార్చు

పైథాన్ 3.7 లో వ్రాయబడిన క్రింది ఫంక్షన్, రెండు పదాల మధ్య కొసైన్ సారూప్యతను అందిస్తుంది:

def get_cosine(vec1, vec2):
     intersection = set(vec1.keys()) & set(vec2.keys())
     numerator = sum([vec1[x] * vec2[x] for x in intersection])

     sum1 = sum([vec1[x]**2 for x in vec1.keys()])
     sum2 = sum([vec2[x]**2 for x in vec2.keys()])
     denominator = math.sqrt(sum1) * math.sqrt(sum2)
     #print(numerator,denominator)
     if not denominator:
        return 0.0
     else:
        return float(numerator) / denominator

Python 2.3+లో అమలు చేయబడిన get_cosine()ఫంక్షన్, రెండు పదాలు లేక రెండు వాక్యాల మధ్య కొసైన్ సారూప్యత ని లెక్కిస్తుంది. కొసైన్ సారూప్యత ఫలితం   మధ్యలో వస్తుంది. ఒకవేళ సున్నా వచ్చినట్లయితే ఆ రెండు పదాలకు గాని లేక రెండు వాక్యాలకు గాని అసలు కొంచెం కూడా సంబంధం లేదు. ఒకవేళ వాటి మధ్య ఫలితం 1 వచ్చినట్లయితే వాటి మధ్య చాలా సంబంధం ఉన్నట్లు అని అర్థం. ఉదాహరణకు రెండు పదాలు రాకేష్ మరియు రాకేష్ కుమార్ వీటి మధ్య కొసైన్ సారూప్యత కనుక్కుంటే, ఫలితం   వస్తుంది.

లక్షణాలు మార్చు

కొసైన్ సారూప్యత ఈ క్రింది విధంగా యూక్లిడియన్ దూరానికి సంబంధించినది. సాధారణ   ద్వారా యూక్లిడియన్ దూరాన్ని సూచించండి మరియు గమనించండి.

 

విస్తరణ ద్వారా. {mvar|A}} మరియు B యూనిట్ పొడవుకు సాధారణీకరించబడినప్పుడు,   కాబట్టి ఈ వ్యక్తీకరణ సమానం

 

యూక్లిడియన్ దూరాన్ని తీగ దూరం అని పిలుస్తారు (ఎందుకంటే ఇది యూనిట్ సర్కిల్‌లోని తీగ యొక్క పొడవు) మరియు ఇది వెక్టర్ల మధ్య యూక్లిడియన్ దూరం, వాటిలో స్క్వేర్డ్ విలువల యూనిట్ మొత్తానికి సాధారణీకరించబడింది.

శూన్య పంపిణీ: ప్రతికూలంగా మరియు సానుకూలంగా ఉండే డేటా కోసం, కొసైన్ సారూప్యత కోసం శూన్య పంపిణీ రెండు స్వతంత్ర యాదృచ్ఛిక యూనిట్ వెక్టర్స్ యొక్క డాట్ ఉత్పత్తి యొక్క పంపిణీ. ఈ పంపిణీ సున్నా యొక్క సగటు మరియు   యొక్క వైవిధ్యాన్ని కలిగి ఉంది (ఇక్కడ   కొలతల సంఖ్య), మరియు పంపిణీ -1 మరియు +1,   పెద్దదిగా పెరిగేకొద్దీ పంపిణీ సాధారణ పంపిణీ[11][12] ద్వారా బాగా అంచనా వేయబడుతుంది. బిట్ స్ట్రీమ్స్ వంటి ఇతర రకాల డేటా, ఇది 0 లేదా 1 విలువలను మాత్రమే తీసుకుంటుంది, శూన్య పంపిణీ వేరే రూపాన్ని తీసుకుంటుంది మరియు సున్నా కాని సగటు కలిగి ఉండవచ్చు. [13]

మృదువైన కొసైన్ కొలత మార్చు

రెండు వెక్టర్ల మధ్య మృదువైన కొసైన్ లేదా ("మృదువైన" సారూప్యత) జత లక్షణాల మధ్య సారూప్యతను పరిగణిస్తుంది.[14] సాంప్రదాయిక కొసైన్ సారూప్యత వెక్టర్ స్పేస్ మోడల్ (విఎస్ఎం) లక్షణాలను స్వతంత్రంగా లేదా పూర్తిగా భిన్నంగా పరిగణిస్తుంది, అయితే మృదువైన కొసైన్ కొలత విఎస్ఎం లోని లక్షణాల సారూప్యతను పరిగణనలోకి తీసుకుంటుంది, ఇది కొసైన్ (మరియు మృదువైన కొసైన్) భావనను సాధారణీకరించడానికి సహాయపడుతుంది మరియు ఆలోచన (మృదువైన) సారూప్యత.

ఉదాహరణకు, నేచురల్ లాంగ్వేజ్ ప్రాసెసింగ్ (ఎన్‌ఎల్‌పి) రంగంలో లక్షణాల మధ్య సారూప్యత చాలా స్పష్టమైనది. పదాలు, n-గ్రాములు లేదా సింటాక్టిక్ ఎన్-గ్రాములు[15] వంటి లక్షణాలు చాలా పోలి ఉంటాయి, అయితే అధికారికంగా అవి విఎస్ఎం లో విభిన్న లక్షణాలుగా పరిగణించబడతాయి. ఉదాహరణకు, “ప్లే” మరియు “గేమ్” అనే పదాలు వేర్వేరు పదాలు మరియు అందువల్ల విఎస్ఎం లోని వేర్వేరు పాయింట్లకు మ్యాప్ చేయబడతాయి; అయినప్పటికీ అవి అర్థ సంబంధమైనవి. N- గ్రాములు లేదా వాక్యనిర్మాణ n- గ్రాముల విషయంలో, లెవెన్‌స్టెయిన్ దూరాన్ని అన్వయించవచ్చు (వాస్తవానికి, లెవెన్‌స్టెయిన్ దూరాన్ని పదాలకు కూడా అన్వయించవచ్చు).

మృదువైన కొసైన్‌ను లెక్కించడానికి, లక్షణాల మధ్య సారూప్యతను సూచించడానికి మాతృక s ఉపయోగించబడుతుంది. దీన్ని లెవెన్‌స్టెయిన్ దూరం, వర్డ్‌నెట్ సారూప్యత లేదా ఇతర సారూప్యత చర్యల ద్వారా లెక్కించవచ్చు. అప్పుడు మేము ఈ మాతృక ద్వారా గుణించాలి.

రెండు N- డైమెన్షన్ వెక్టర్స్   మరియు   ఇచ్చినప్పుడు, మృదువైన కొసైన్ సారూప్యత ఈ క్రింది విధంగా లెక్కించబడుతుంది:

 

ఇక్కడ sij = similarity(featurei, featurej).

ఒకవేళ లక్షణాల మధ్య సారూప్యత లేకపోతే (sii = 1, sij = 0 for ij), ఇచ్చిన సమీకరణం సంప్రదాయ కొసైన్ సారూప్యత సూత్రానికి సమానం.

ఈ కొలత యొక్క సమయ సంక్లిష్టత చతురస్రం, ఇది వాస్తవ-ప్రపంచ పనులకు వర్తిస్తుంది. సంక్లిష్టతను సబ్‌క్వాడ్రాటిక్‌గా తగ్గించవచ్చని గమనించండి.[16]

ఇది కూడ చూడు మార్చు

ప్రస్తావనలు మార్చు

  1. Singhal, Amit (2001). "Modern Information Retrieval: A Brief Overview". Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 24 (4): 35–43.
  2. P.-N. Tan, M. Steinbach & V. Kumar, Introduction to Data Mining, Addison-Wesley (2005), ISBN 0-321-32136-7, chapter 8; page 500.
  3. "COSINE DISTANCE, COSINE SIMILARITY, ANGULAR COSINE DISTANCE, ANGULAR COSINE SIMILARITY". www.itl.nist.gov. Retrieved 2020-07-11.
  4. Omori, Masae (2004). "Geological idea of Yanosuke Otuka, who built the foundation of neotectonics (geoscientist)". Earth Science. 58 (4): 256–259. doi:10.15080/agcjchikyukagaku.58.4_256.
  5. 5.0 5.1 Otsuka, Yanosuke (1936). "The faunal character of the Japanese Pleistocene marine Mollusca, as evidence of the climate having become colder during the Pleistocene in Japan". Bulletin of the Biogeographical Society of Japan. 6 (16): 165–170.
  6. 6.0 6.1 Ochiai, Akira (1957). "Zoogeographical studies on the soleoid fishes found in Japan and its neighhouring regions-II". Bulletin of the Japanese Society of Scientific Fisheries. 22 (9): 526–530. doi:10.2331/suisan.22.526.
  7. Barkman, Jan J. (1958). Phytosociology and Ecology of Cryptogamic Epiphytes: Including a Taxonomic Survey and Description of Their Vegetation Units in Europe. Assen: Van Gorcum.
  8. H. Charles Romesburg (1984). Cluster Analysis for Researchers. Belmont, California: Lifetime Learning Publications. p. 149.
  9. Howarth, Richard J. (2017). Dictionary of Mathematical Geosciences: With Historical Notes. Cham, Switzerland: Springer. p. 421. doi:10.1007/978-3-319-57315-1. ISBN 978-3-319-57314-4.
  10. Hamai, Ikuso (1955). "Stratification of community by means of "community coefficient" (continued)". Japanese Journal of Ecology. 5 (1): 41–45. doi:10.18960/seitai.5.1_41.
  11. Spruill, Marcus C. (2007). "Asymptotic distribution of coordinates on high dimensional spheres". Electronic Communications in Probability. 12: 234–247. doi:10.1214/ECP.v12-1294.
  12. "Distribution of dot products between two random unit vectors in RD". CrossValidated.
  13. Graham L. Giller (2012). "The Statistical Properties of Random Bitstreams and the Sampling Distribution of Cosine Similarity". Giller Investments Research Notes (20121024/1). doi:10.2139/ssrn.2167044.
  14. Sidorov, Grigori; Gelbukh, Alexander; Gómez-Adorno, Helena; Pinto, David (29 September 2014). "Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model". Computación y Sistemas. 18 (3): 491–504. doi:10.13053/CyS-18-3-2043. Retrieved 7 October 2014.
  15. Sidorov, Grigori; Velasquez, Francisco; Stamatatos, Efstathios; Gelbukh, Alexander; Chanona-Hernández, Liliana (2013). Advances in Computational Intelligence. Lecture Notes in Computer Science. Vol. 7630. LNAI 7630. pp. 1–11. doi:10.1007/978-3-642-37798-3_1. ISBN 978-3-642-37798-3.
  16. Novotný, Vít (2018). Implementation Notes for the Soft Cosine Measure. The 27th ACM International Conference on Information and Knowledge Management. Torun, Italy: Association for Computing Machinery. pp. 1639–1642. arXiv:1808.09407. doi:10.1145/3269206.3269317. ISBN 978-1-4503-6014-2.