1 पॉइंट द्वारा GN⁺ 2024-12-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • तकनीकी लेखन में बार-बार दिखने वाली कमज़ोरियों को हर बार किसी व्यक्ति द्वारा बताने के बजाय पहले automated checks से सामने लाया जा सकता है, और यह लेख LaTeX पेपर बिल्ड में जोड़ी जा सकने वाली 3 shell scripts पेश करता है
  • लक्ष्य passive voice या कुछ खास अभिव्यक्तियों पर रोक लगाना नहीं, बल्कि चिन्हित वाक्यों को देखकर ज़्यादा स्पष्ट और सटीक अभिव्यक्ति चुनने में मदद करना है
  • various, quite, surprisingly, very, extremely जैसे weasel words सटीकता को धुंधला करते हैं, इसलिए regex से इन्हें detect कर review points कम किए जा सकते हैं
  • passive voice जांच be verb के बाद आने वाले -ed रूप या irregular participles को ढूंढती है, और duplicate word जांच पास-पास आए एक जैसे शब्दों को case-insensitive तरीके से पकड़ती है
  • make proof से इन तीनों checks को जोड़कर paper repository के भीतर बार-बार चलाया जा सकता है, जिससे छोटी-छोटी गलतियां जमा होकर कमज़ोर proofreading का आभास देने से बचा जा सकता है

बार-बार आने वाली लेखन कमज़ोरियों को automation से कम करना

  • Ph.D. छात्रों के मार्गदर्शन में सबसे कठिन हिस्सों में से एक writing education है, और बार-बार दिखने वाली समस्याओं को पहले tools से पकड़ा जा सकता है
  • scripts जिन तीन समस्याओं को निशाना बनाती हैं, वे हैं
    • passive voice का अत्यधिक उपयोग
    • weasel words
    • lexical illusion, यानी आंखों से आसानी से छूट जाने वाले duplicate words
  • इन scripts का उपयोग LaTeX documents के build system में integrate करके किया जाता है
  • writing rules में exceptions होते हैं, इसलिए उद्देश्य किसी खास grammar structure पर रोक लगाना नहीं है
  • जब कोई वाक्य highlight होता है, तो लेखक खुद से यह जांच सकता है कि “क्या इससे ज़्यादा स्पष्ट और सटीक अभिव्यक्ति संभव है?”
  • programmer अपने दोहराए जाने वाले कमज़ोर बिंदुओं को पहचानकर उन्हें कम करने के लिए automation का उपयोग कर सकते हैं

तकनीकी लेखन के लिए उपयोगी किताबें

  • The Elements of Style पूरी तरह परफेक्ट नहीं है, लेकिन style reference के रूप में अब भी उपयोगी है
    • इसे linguistics विशेषज्ञों की आलोचना को ध्यान में रखकर पढ़ना चाहिए
    • science·engineering·mathematics writing में style की कमी कभी-कभी आक्रामक रूप से दिखाई देती है
  • Style: The Basics of Clarity and Grace को Zachary Tatlock की सिफारिश के बाद Strunk and White से बेहतर reference माना गया
    • अगर सिर्फ एक किताब चुननी हो, तो यह चुनी जा सकती है
  • The Chicago Manual of Style style पर बहस खत्म करने वाले मानक के रूप में इस्तेमाल होती है
  • A Manual for Writers of Research Papers, Theses, and Dissertations तकनीकी लेखन के लिए Chicago manual के समकक्ष है

जहां सटीकता और स्पष्टता रिसने लगती है

  • Olin Shivers तकनीकी लेखन को precision·clarity·marketing के बीच संतुलन के रूप में सिखाते थे
  • paper submission process से गुजरते हुए यह साफ हुआ कि सटीकता और स्पष्टता कुछ ऐसी जगहों पर कमजोर पड़ती है जिन्हें मशीन से पहचाना जा सकता है
    • weasel words
    • passive voice का अत्यधिक उपयोग
  • scientific ideas की खराब marketing को भी पकड़ लेने वाली shell script बनाना कठिन है

Weasel words detection

  • Weasel words ऐसे शब्द या वाक्यांश हैं जो अच्छे लगते हैं लेकिन लगभग कोई जानकारी नहीं देते, और वाक्य की सटीकता को धुंधला करते हैं
  • छात्रों के लेखन में अक्सर दिखने वाले weasel words को तीन प्रकारों में बांटा जा सकता है
  • Salt and pepper words

    • नए graduate students कभी-कभी वाक्यों पर मसाले की तरह तकनीकी दिखने वाले शब्द छिड़कते हैं, लेकिन वे वास्तविक जानकारी नहीं देते
    • प्रमुख उदाहरण various, a number of, fairly, quite हैं
    • ऐसे शब्द हटाने से वाक्य और मजबूत हो जाता है
    • It is quite difficult to find untainted samples.It is difficult to find untainted samples.
    • We used various methods to isolate four samples.We isolated four samples.
  • Beholder words

    • Beholder words ऐसे शब्द हैं जिनका अर्थ पाठक के अनुसार बदल जाता है
    • उदाहरण interestingly, surprisingly, remarkably, clearly हैं
    • peer reviewers ऐसे वाक्यांश पसंद नहीं करते जो उनके लिए निर्णय पहले से कर दें
    • False positives were surprisingly low. की जगह To our surprise, false positives were low (3%). जैसे वाक्य बेहतर हैं, क्योंकि वे संख्या और अवलोकन करने वाले को स्पष्ट करते हैं
  • Lazy words और adverbs

    • Lazy words ऐसे शब्द हैं जिनका उपयोग परिमाणात्मक गुणों को बताए बिना काम चलाने के लिए किया जाता है, जिससे science ठोस नहीं बल्कि अधूरी लगती है
    • सबसे खराब उदाहरण very और extremely हैं, और तकनीकी लेखन में इन्हें स्वीकार करना कठिन है
    • दूसरे उदाहरण several, exceedingly, many, most, few, vast हैं
    • तकनीकी लेखन में adverbs अक्सर weasel words की तरह दिखते हैं
    • नए graduate students के तकनीकी लेखन में सभी adverbs हटा देने पर भी net effect सकारात्मक होने की संभावना रहती है
    • We offer a completely different formulation of CFA. की तुलना में We offer a different formulation of CFA. बेहतर है
  • Weasel words script

    • Bash script default weasel words list को regex के रूप में define करती है और input file में egrep -i -n --color से उसकी location दिखाती है
    • अगर default list उपयुक्त न हो, तो alternate list file का उपयोग किया जा सकता है
      • $HOME/etc/words/weasels
      • $WORDSDIR/weasels
      • words/weasels
    • अगर कोई argument न हो, तो usage: <script> <file> ... के रूप में usage दिखाया जाता है

Passive voice को सजग तरीके से संभालना

  • तकनीकी लेखन में passive voice हमेशा बुरा नहीं होता
  • लेकिन संपादित किए गए तकनीकी लेखन के आधे से अधिक हिस्से में सिर्फ passive voice हटाने से सुधार संभव था
    • छात्र passive voice को अच्छे से इस्तेमाल करने की तुलना में उसका ज़रूरत से ज़्यादा उपयोग अधिक करते हैं
  • समस्या तब होती है जब passive voice संबंधित या व्याख्यात्मक जानकारी छिपा देता है
    • Termination is guaranteed on any input. संबंधित जानकारी छिपाता है
    • Termination is guaranteed on any input by a finite state-space. संबंधित जानकारी जोड़ता है, लेकिन जोर गलत जगह चला जाता है
    • A finite state-space guarantees termination on any input. संबंधित जानकारी भी रखता है और ज़्यादा साफ है
  • जब subject सचमुच महत्वपूर्ण न हो, तब passive voice बेहतर हो सकता है
    • 4 mL HCl were added to the solution.
    • हालांकि We added 4 mL HCl to the solution. को भी गंभीर समस्या नहीं माना जाता
  • Passive voice परखने के सवाल

    • जब script passive voice को mark करे, तो दो बातें जांचें
      • क्या actor प्रासंगिक है लेकिन अस्पष्ट है
      • क्या active voice में बदलने पर लेखन बेहतर पढ़ा जाएगा
    • अगर दोनों सवालों का जवाब “हाँ” है, तो active voice में बदलें
    • अगर सिर्फ पहले सवाल का जवाब “हाँ” है, तो actor को स्पष्ट करें
  • Passive voice script

    • Bash script irregular past participles की एक लंबी list define करती है
    • यह am|are|were|being|is|been|was|be के बाद space और \w+ed या irregular participle आने वाले pattern को ढूंढती है
    • egrep -n -i --color से file name और line number सहित output दिखाया जाता है

Duplicate words और lexical illusion

  • line break होने पर the the जैसे duplicate words आंखों से छूट सकते हैं
  • सिर्फ line break बदल देने से वही duplication ज़्यादा साफ दिखने लगती है
  • word duplication electronic document writing process में होने वाली घटना है और यह cut-and-paste दुर्घटनाओं जैसा लगता है
  • यह खासकर the के साथ अक्सर होता है
  • सिर्फ एक duplicate word से paper reject नहीं होता, लेकिन spelling mistakes और duplicate words जैसी छोटी गलतियां जमा हों तो कमज़ोर proofreading साफ दिखती है
  • reviewer इसे अपने समय और ध्यान के प्रति सम्मान की कमी के रूप में ले सकते हैं
  • Duplicate words script

    • Perl script पास-पास आए duplicate words को ढूंढती है
    • यह file को line-by-line पढ़ती है और non-word characters के आधार पर split करती है
    • spaces को skip किया जाता है, और punctuation मिलने पर last-word state reset कर दी जाती है
    • current word और previous word को lowercase में compare कर समान होने पर 파일명:줄번호 단어 format में output दिया जाता है
    • exit code पाए गए duplicates की संख्या होती है

Makefile में integration

  • हर paper repository के bin/ directory में scripts की local copies रखी जाती हैं
  • Makefile में make proof rule जोड़ा जाता है
  • make proof *.tex files पर इन तीनों checks को क्रम से चलाता है
    • sh bin/weasel *.tex
    • sh bin/passive *.tex
    • perl bin/dups *.tex

Paper marketing और peer review

  • graduate students शुरुआत में अक्सर सोचते हैं कि अगर वे पूरी सच्चाई लिख दें, तो publication हो जाएगा
  • लेकिन सच बहुत हैं, और top peer review venues में तकनीकी रूप से सही papers की भी पहले से पर्याप्त संख्या होती है
  • peer review अब इस बात के निर्णय के अधिक करीब है कि कौन-सी सच्ची बात जानने लायक है
  • इस नज़रिए से reviewer वैज्ञानिक समुदाय के सबसे सीमित संसाधन, यानी collective attention के संरक्षक हैं
  • paper की marketing करने के लिए यह प्रभावी ढंग से दिखाना पड़ता है कि विचार उस संसाधन तक पहुंचने के योग्य है

संबंधित tools और विस्तार के विचार

  • Benjamin Beckwith ने इन scripts से प्रेरित होकर Emacs के लिए "writegood" mode बनाया
  • John Regehr ने Note that, Notice that जैसे अनावश्यक वाक्यांश पकड़ने वाली एक simple script सुझाई
  • कुछ अन्य लोगों ने तकनीकी लेखन में future tense के उपयोग को पकड़ने वाली scripts का सुझाव दिया

1 टिप्पणियां

 
GN⁺ 2024-12-15
Hacker News की राय
  • जब मैं पेपर लिखता था, तब लेखन सुधारने में जिन संसाधनों ने मदद की, वे Paul R. Halmos की How to Write Mathematics और Donald E. Knuth आदि की Mathematical Writing थीं
    साफ़ और सटीक संवाद की समझ पकड़ने के लिए मैं अक्सर Halmos से शुरू करता था, और “Bad/Better/OK” सुझावों ने Knuth आदि के lecture notes में देखी गई चर्चा याद दिला दी
    तीसरे चरण के रूप में, सुझाए गए जैसे linters छूटी हुई चीज़ें पकड़ने में उपयोगी हो सकते हैं
    जिन लोगों का लेखन ऐसे विषयों पर है जिनमें ज़रा भी definitions आती हैं, उनके लिए ये संसाधन अनिवार्य लगते हैं

    • उस सिफ़ारिश में M. Alley की The Craft of Scientific Writing भी जोड़ूंगा; वह भी अच्छी है
  • अगर यह लेख पसंद आया और प्रभावी PhD thesis writing प्रक्रिया के बारे में और जानना चाहते हैं, तो [1] देखना अच्छा रहेगा
    असल में, जो भी अपनी communication skills सुधारना चाहता है, उसके लिए यह देखने लायक है; इस वीडियो तक पहुंचने के लिए पैसे देने पड़ते तो भी अफ़सोस नहीं होता
    [1] https://youtu.be/vtIzMaLkCaM

    • अच्छा हो अगर “PhD शुरू करते समय जो कुछ भी पता होना चाहिए” का कोई repository हो
      प्रसिद्ध phd grind जैसे संसाधन भी शामिल करके
  • कई उदाहरणों से सहमत होना मुश्किल है
    उदाहरण के लिए, “It is quite difficult to find untainted samples” को “It is difficult to find untainted samples” में बदलने पर quite difficult और सिर्फ़ difficult काफ़ी अलग तरह से पढ़े जाते हैं
    वाक्य बेहतर नहीं हुआ; अर्थ बदल गया
    साथ ही “various methods” लिखने का तथ्य यह जानकारी देता है कि कोई एक ही तरीका नहीं था, लेकिन दूसरे वाक्य में वह जानकारी गायब है

    • “quite” जो अर्थ देता है, वह पाठक या context के हिसाब से बहुत बदल सकता है
      बोलते समय intonation के आधार पर यह काफ़ी बदलता है, और strictly देखें तो यह “थोड़ा मुश्किल” के करीब है, लेकिन कई जगहों पर इसे “लगभग असंभव” की तरह भी इस्तेमाल किया जाता है
      मुझे नहीं लगता कि शब्द हटाना गलत है, लेकिन इसे ज़्यादा ठोस comparative expression से बदलना बेहतर होगा
    • ऐसी ही वजहों से आखिर में 3 पेज में कही जा सकने वाली वही बात बताने वाला 30-page design doc पढ़ना पड़ता है
      खासकर technical docs में सजावटी लेखन से इतनी नफ़रत क्यों होती है, इसे समझने की कोशिश करना अच्छा होगा
      बहुत सारे papers या designs पढ़ें तो ऐसी style ज़िंदगी मुश्किल बना देती है
    • अगर यह कहना है कि अलग-अलग तरीके इस्तेमाल किए गए, तो वास्तव में क्या किया गया, वही लिख दें
      “We isolated four samples using the following methods…” जैसा लिखना ज़्यादा स्पष्ट है
    • ज़्यादातर उदाहरण देखने में बेहद खराब थे
      papers सरल बात कहते हुए भी पढ़ने में मुश्किल क्यों होते हैं, इसकी एक वजह यही है
      वे उस कठोर formal style से चिपके रहते हैं जिसे कोई पसंद नहीं करता, और सूक्ष्म लेकिन अहम context clues निकाल देते हैं
  • अगर ऐसे और tools ढूंढ रहे हैं, तो vale.sh देख सकते हैं
    अस्पष्ट शब्दों से बचने समेत कई तरह की style guidelines जोड़ी जा सकती हैं
    PR के समय website पर vale चलाने के लिए इस्तेमाल होने वाला GitHub Action यहां है: https://github.com/FusionAuth/fusionauth-site/blob/main/.git...
    configuration यहां है: https://github.com/FusionAuth/fusionauth-site/tree/main/conf...
    style enforce करने में मदद मिली, हालांकि शायद हम इसकी features का पूरा उपयोग नहीं कर रहे

    • Vale.sh काफ़ी अच्छा लग रहा है
      अभी मैं एक किताब के तीसरे edition और website के कई articles edit कर रहा हूं, तो यह काम आ सकता है
  • Claude से उन Bash scripts को web UI में बदलवाया, ताकि code सीधे paste करके result देखा जा सके: https://tools.simonwillison.net/writing-style
    Claude conversation log यहां है: https://gist.github.com/simonw/e9902ed1cbda30f90db8d0d22caa0...

    • लगता है यह ठीक से काम नहीं कर रहा
      दूसरे pattern matching के आसपास कुछ गड़बड़ है
      उदाहरण के लिए “It is quite difficult to find untainted samples. We used various methods to isolate four samples.” डालने पर “quite” को “is quite difficult to find untainted samples.” में ढूंढता है, और “various” को खाली string में ढूंढता है
      फिर भी ऐसे quick HTML/JS tools मुझे पसंद हैं
    • समझ नहीं आता कि Claude से ज़्यादा fragile और सीमित Bash scripts लिखवाने के बजाय सीधे Claude से ही writing review क्यों नहीं करवाते
      Claude से ऐसा prompt भी खुद लिखवाया जा सकता है जो वही काम करे या उससे बेहतर करे
      Bash और Perl इस काम के लिए duct tape और chewing gum जैसे tools हैं—खराब फिट—और Claude सबसे अच्छा इसी तरह के काम में है
      यह सिर्फ़ समस्याएं mark करने के बजाय alternatives तौल सकता है और edits suggest कर सकता है, और false positives, false negatives या parsing errors पैदा करने वाले अजीब regex mismatches भी नहीं होंगे
  • शुरुआती Unix में इसी तरह का काम करने वाली diction और style commands थीं
    इन्हें GNU से लिया जा सकता है और Homebrew में भी मौजूद हैं
    https://www.gnu.org/software/diction/
    जहां तक याद है, वे बहुत शानदार नहीं थीं, और यह tools का set भी शायद लगभग उतना ही अच्छा करेगा

  • मेरे क्षेत्र में लेखन की गुणवत्ता महत्व के हिसाब से सबसे नीचे थी, यहां तक कि course evaluation से भी नीचे
    साफ़ और संक्षिप्त वाक्यों को महत्व तो दिया जाता है, लेकिन अगर आप graduate student हैं, तो खासकर आक्रामक सवालों के सामने presentation skills, और दुख की बात है कि चापलूसी करने की क्षमता विकसित करना शायद ज़्यादा मददगार होगा
    हाँ, मेरे पास कड़वा अनुभव है :p

    • presentation skills से भी ज़्यादा ज़रूरी शायद किसी counsellor को ढूंढना हो सकता है
      लोगों पर इतना दबाव आ जाता है कि वे संभाल नहीं पाते, लेकिन उसका बड़ा हिस्सा वे खुद ही बना लेते हैं
      असली stakes उतने ऊंचे नहीं होते जितने आपने दिमाग में बना रखे होते हैं, और लोग चाहते हैं कि आप पास हो जाएं
    • यह कैसे पता चल सकता है, मुझे नहीं मालूम
      क्षेत्र के हिसाब से फर्क होगा, लेकिन reviewers लेखन की गुणवत्ता का ज़िक्र कम करते हैं, इसका मतलब यह नहीं कि acceptance पर उसका असर नहीं पड़ता
      अगर आप किसी को चिढ़ा देते हैं, तो खासकर उन तरीकों से जो review में लिखने लायक मूलभूत नहीं लगते, वे उन हिस्सों पर भी ज़्यादा आलोचनात्मक हो सकते हैं जिन्हें सामान्य तौर पर नज़रअंदाज़ कर देते
      मैं मानता हूँ कि इसे गलत साबित करना मुश्किल है इसलिए यह संतोषजनक नहीं है, और यह भी मानता हूँ कि selective रूप से खराब लेखन का इस्तेमाल खामियों को ढकने के लिए भी हो सकता है
  • “पेपर की marketing करने के लिए, लेखक को यह भरोसेमंद आधार पेश करना होगा कि उसका idea उस resource तक पहुंच पाने का हकदार है” — इसका मतलब है कि academic journals सबसे महत्वपूर्ण ideas से नहीं, बल्कि सबसे अच्छे से बेचे गए papers से भरी होती हैं
    जैसा लेखक कहता है, मुश्किल से दिखने वाली typos जैसी सतही चीजें भी reviewers पकड़ सकते हैं, इसलिए वे अक्सर निर्णायक factor बन जाती हैं
    objectivity का दिखावा बंद करके, हमें ऐसी journals को स्वीकार करना चाहिए जो editors की पसंद और राय को दर्शाती हैं
    या फिर arxiv जैसी standard जगह पर सब कुछ डाल दिया जाए
    PDF upload करने में कोई scarce resource नहीं है

    • असल फैसले लेने वाला editor नहीं, बल्कि ज्यादा हद तक reviewer होता है
      अगर reviewer अच्छे या ठीक-ठाक scores दे दे, तो पेपर वैसे ही publish हो जाता है; और अगर वह पेपर की कड़ी आलोचना करे, तो editor को सतर्क होकर बैठना पड़ता है और देखना पड़ता है कि authors ने reviewer की आपत्तियों को पर्याप्त रूप से address किया है या नहीं
      फिर भी criteria की मांग करने वाला अभी भी editor नहीं, reviewer ही होता है
    • इसी मौके पर citation system भी बेहतर हो जाए तो अच्छा होगा, ताकि references hyperlinks बनें और code outputs तक भी access मिल सके
  • उन लोगों के लिए उपयोगी है जो किसी अज्ञात कारण से emacs नहीं इस्तेमाल करते
    चलाने के बाद फिर से edit करने वाला flow झंझट भरा है, इसलिए इसे अच्छा workflow बनाना मुश्किल हो सकता है
    लेखक emacs “writegood” को credit देता है, लेकिन मेरी निजी पसंदीदा style-policing plugin “artbollocks-mode” है

  • संबंधित लेख:
    Shell scripts to improve your writing - https://news.ycombinator.com/item?id=13295530 - जनवरी 2017, 55 comments
    Shell scripts to improve your writing, or "My advisor rewrote himself in bash." - https://news.ycombinator.com/item?id=1529166 - जुलाई 2010, 31 comments