Weasel words·पैसिव वॉइस·डुप्लिकेट शब्द पकड़ने वाली 3 shell scripts
(matt.might.net)- तकनीकी लेखन में बार-बार दिखने वाली कमज़ोरियों को हर बार किसी व्यक्ति द्वारा बताने के बजाय पहले automated checks से सामने लाया जा सकता है, और यह लेख LaTeX पेपर बिल्ड में जोड़ी जा सकने वाली 3 shell scripts पेश करता है
- लक्ष्य passive voice या कुछ खास अभिव्यक्तियों पर रोक लगाना नहीं, बल्कि चिन्हित वाक्यों को देखकर ज़्यादा स्पष्ट और सटीक अभिव्यक्ति चुनने में मदद करना है
various,quite,surprisingly,very,extremelyजैसे weasel words सटीकता को धुंधला करते हैं, इसलिए regex से इन्हें detect कर review points कम किए जा सकते हैं- passive voice जांच
beverb के बाद आने वाले-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/weaselswords/weasels
- अगर कोई argument न हो, तो
usage: <script> <file> ...के रूप में usage दिखाया जाता है
- Bash script default weasel words list को regex के रूप में define करती है और input file में
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 को स्पष्ट करें
- जब script passive voice को mark करे, तो दो बातें जांचें
-
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 proofrule जोड़ा जाता है make proof*.texfiles पर इन तीनों checks को क्रम से चलाता हैsh bin/weasel *.texsh bin/passive *.texperl 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 टिप्पणियां
Hacker News की राय
जब मैं पेपर लिखता था, तब लेखन सुधारने में जिन संसाधनों ने मदद की, वे Paul R. Halmos की How to Write Mathematics और Donald E. Knuth आदि की Mathematical Writing थीं
साफ़ और सटीक संवाद की समझ पकड़ने के लिए मैं अक्सर Halmos से शुरू करता था, और “Bad/Better/OK” सुझावों ने Knuth आदि के lecture notes में देखी गई चर्चा याद दिला दी
तीसरे चरण के रूप में, सुझाए गए जैसे linters छूटी हुई चीज़ें पकड़ने में उपयोगी हो सकते हैं
जिन लोगों का लेखन ऐसे विषयों पर है जिनमें ज़रा भी definitions आती हैं, उनके लिए ये संसाधन अनिवार्य लगते हैं
अगर यह लेख पसंद आया और प्रभावी PhD thesis writing प्रक्रिया के बारे में और जानना चाहते हैं, तो [1] देखना अच्छा रहेगा
असल में, जो भी अपनी communication skills सुधारना चाहता है, उसके लिए यह देखने लायक है; इस वीडियो तक पहुंचने के लिए पैसे देने पड़ते तो भी अफ़सोस नहीं होता
[1] https://youtu.be/vtIzMaLkCaM
प्रसिद्ध phd grind जैसे संसाधन भी शामिल करके
कई उदाहरणों से सहमत होना मुश्किल है
उदाहरण के लिए, “It is quite difficult to find untainted samples” को “It is difficult to find untainted samples” में बदलने पर quite difficult और सिर्फ़ difficult काफ़ी अलग तरह से पढ़े जाते हैं
वाक्य बेहतर नहीं हुआ; अर्थ बदल गया
साथ ही “various methods” लिखने का तथ्य यह जानकारी देता है कि कोई एक ही तरीका नहीं था, लेकिन दूसरे वाक्य में वह जानकारी गायब है
बोलते समय intonation के आधार पर यह काफ़ी बदलता है, और strictly देखें तो यह “थोड़ा मुश्किल” के करीब है, लेकिन कई जगहों पर इसे “लगभग असंभव” की तरह भी इस्तेमाल किया जाता है
मुझे नहीं लगता कि शब्द हटाना गलत है, लेकिन इसे ज़्यादा ठोस comparative expression से बदलना बेहतर होगा
खासकर 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 का पूरा उपयोग नहीं कर रहे
अभी मैं एक किताब के तीसरे 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 से ऐसा 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
लोगों पर इतना दबाव आ जाता है कि वे संभाल नहीं पाते, लेकिन उसका बड़ा हिस्सा वे खुद ही बना लेते हैं
असली stakes उतने ऊंचे नहीं होते जितने आपने दिमाग में बना रखे होते हैं, और लोग चाहते हैं कि आप पास हो जाएं
क्षेत्र के हिसाब से फर्क होगा, लेकिन reviewers लेखन की गुणवत्ता का ज़िक्र कम करते हैं, इसका मतलब यह नहीं कि acceptance पर उसका असर नहीं पड़ता
अगर आप किसी को चिढ़ा देते हैं, तो खासकर उन तरीकों से जो review में लिखने लायक मूलभूत नहीं लगते, वे उन हिस्सों पर भी ज़्यादा आलोचनात्मक हो सकते हैं जिन्हें सामान्य तौर पर नज़रअंदाज़ कर देते
मैं मानता हूँ कि इसे गलत साबित करना मुश्किल है इसलिए यह संतोषजनक नहीं है, और यह भी मानता हूँ कि selective रूप से खराब लेखन का इस्तेमाल खामियों को ढकने के लिए भी हो सकता है
“पेपर की marketing करने के लिए, लेखक को यह भरोसेमंद आधार पेश करना होगा कि उसका idea उस resource तक पहुंच पाने का हकदार है” — इसका मतलब है कि academic journals सबसे महत्वपूर्ण ideas से नहीं, बल्कि सबसे अच्छे से बेचे गए papers से भरी होती हैं
जैसा लेखक कहता है, मुश्किल से दिखने वाली typos जैसी सतही चीजें भी reviewers पकड़ सकते हैं, इसलिए वे अक्सर निर्णायक factor बन जाती हैं
objectivity का दिखावा बंद करके, हमें ऐसी journals को स्वीकार करना चाहिए जो editors की पसंद और राय को दर्शाती हैं
या फिर arxiv जैसी standard जगह पर सब कुछ डाल दिया जाए
PDF upload करने में कोई scarce resource नहीं है
अगर reviewer अच्छे या ठीक-ठाक scores दे दे, तो पेपर वैसे ही publish हो जाता है; और अगर वह पेपर की कड़ी आलोचना करे, तो editor को सतर्क होकर बैठना पड़ता है और देखना पड़ता है कि authors ने reviewer की आपत्तियों को पर्याप्त रूप से address किया है या नहीं
फिर भी criteria की मांग करने वाला अभी भी editor नहीं, reviewer ही होता है
उन लोगों के लिए उपयोगी है जो किसी अज्ञात कारण से 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