{"product_id":"python-programming-for-linguistics-and-digital-humanities-applications-for-text-focused-fields-paperback-softback-9781119907947","title":"Python Programming for Linguistics and Digital Humanities; Applications for Text-Focused Fields (Paperback \/ softback) 9781119907947","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003ePython Programming for Linguistics and Digital Humanities\u003c\/font\u003e\u003cbr\u003e\r\n\u003cfont size=\"5\"\u003eApplications for Text-Focused Fields\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eMartin Weisser (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119907947, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 6 February 2024\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e288 pages\u003cbr\u003e25.2 x 17.5 x 1.8 cm, 0.408 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eLearn how to use Python for linguistics and digital humanities research, perfect for students working with Python for the first time\u003c\/b\u003e \u003c\/p\u003e\n\u003cp\u003ePython programming is no longer only for computer science students; it is now an essential skill in linguistics, the digital humanities (DH), and social science programs that involve text analytics. \u003ci\u003ePython Programming for Linguistics and Digital Humanities \u003c\/i\u003eprovides a comprehensive introduction to this widely used programming language, offering guidance on using Python to perform various processing and analysis techniques on text. Assuming no prior knowledge of programming, this student-friendly guide covers essential topics and concepts such as installing Python, using the command line, working with strings, writing modular code, designing a simple graphical user interface (GUI), annotating language data in XML and TEI, creating basic visualizations, and more. \u003c\/p\u003e\n\u003cp\u003eThis invaluable text explains the basic tools students will need to perform their own research projects and tackle various data analysis problems. Throughout the book, hands-on exercises provide students with the opportunity to apply concepts to particular questions or projects in processing textual data and solving language-related issues. Each chapter concludes with a detailed discussion of the code applied, possible alternatives, and potential pitfalls or error messages. \u003c\/p\u003e\n\u003cul\u003e \u003cli\u003eTeaches students how to use Python to tackle the types of problems they will encounter in linguistics and the digital humanities\u003c\/li\u003e \u003cli\u003eFeatures numerous practical examples of language analysis, gradually moving from simple concepts and programs to more complex projects\u003c\/li\u003e \u003cli\u003eDescribes how to build a variety of data visualizations, such as frequency plots and word clouds\u003c\/li\u003e \u003cli\u003eFocuses on the text processing applications of Python, including creating word and frequency lists, recognizing linguistic patterns, and processing words for morphological analysis\u003c\/li\u003e \u003cli\u003eIncludes access to a companion website with all Python programs produced in the chapter exercises and additional Python programming resources\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003ci\u003ePython Programming for Linguistics and Digital Humanities: Applications for Text-Focused Fields \u003c\/i\u003eis a must-have resource for students pursuing text-based research in the humanities, the social sciences, and all subfields of linguistics, particularly computational linguistics and corpus linguistics.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eList of Figures xi\u003c\/p\u003e \u003cp\u003eAbout the Companion Website xii\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Why Program? Why Python? 1\u003c\/p\u003e \u003cp\u003e1.2 Course Overview and Aims 4\u003c\/p\u003e \u003cp\u003e1.3 A Brief Note on the Exercises 5\u003c\/p\u003e \u003cp\u003e1.4 Conventions Used in this Book 6\u003c\/p\u003e \u003cp\u003e1.5 Installing Python 6\u003c\/p\u003e \u003cp\u003e1.5.1 Installing on Windows 6\u003c\/p\u003e \u003cp\u003e1.5.2 Installing on the Mac 7\u003c\/p\u003e \u003cp\u003e1.5.3 Installing on Linux 8\u003c\/p\u003e \u003cp\u003e1.6 Introduction to the Command Line\/Console\/Terminal 8\u003c\/p\u003e \u003cp\u003e1.6.1 Activating the Command Line on Windows 9\u003c\/p\u003e \u003cp\u003e1.6.2 Activating the Command Line on the Mac or Linux 9\u003c\/p\u003e \u003cp\u003e1.7 Editors and IDEs 10\u003c\/p\u003e \u003cp\u003e1.8 Installing and Setting Up WingIDE Personal 10\u003c\/p\u003e \u003cp\u003e1.9 Discussions 11\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 Programming Basics I 15\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Statements, Functions, and Variables 15\u003c\/p\u003e \u003cp\u003e2.2 Data Types – Overview 17\u003c\/p\u003e \u003cp\u003e2.3 Simple Data Types 18\u003c\/p\u003e \u003cp\u003e2.3.1 Strings 18\u003c\/p\u003e \u003cp\u003e2.3.2 Numbers 20\u003c\/p\u003e \u003cp\u003e2.3.3 Binary Switches\/Values 21\u003c\/p\u003e \u003cp\u003e2.4 Operators – Overview 21\u003c\/p\u003e \u003cp\u003e2.4.1 String Operators 21\u003c\/p\u003e \u003cp\u003e2.4.2 Mathematical Operators 22\u003c\/p\u003e \u003cp\u003e2.4.3 Logical Operators 24\u003c\/p\u003e \u003cp\u003e2.5 Creating Scripts\/Programs 25\u003c\/p\u003e \u003cp\u003e2.6 Commenting Your Code 26\u003c\/p\u003e \u003cp\u003e2.7 Discussions 28\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Programming Basics II 33\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Compound Data Types 33\u003c\/p\u003e \u003cp\u003e3.2 Lists 35\u003c\/p\u003e \u003cp\u003e3.3 Simple Interaction with Programs and Users 37\u003c\/p\u003e \u003cp\u003e3.4 Problem Solving and Damage Control 38\u003c\/p\u003e \u003cp\u003e3.4.1 Getting Help from Your IDE 38\u003c\/p\u003e \u003cp\u003e3.4.2 Using the Debugger 39\u003c\/p\u003e \u003cp\u003e3.5 Control Structures 40\u003c\/p\u003e \u003cp\u003e3.5.1 Conditional Statements 41\u003c\/p\u003e \u003cp\u003e3.5.2 Loops 42\u003c\/p\u003e \u003cp\u003e3.5.3 while Loops 43\u003c\/p\u003e \u003cp\u003e3.5.4 for Loops 44\u003c\/p\u003e \u003cp\u003e3.5.5 Discussions 45\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Intermediate String Processing 53\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Understanding Strings 53\u003c\/p\u003e \u003cp\u003e4.2 Cleaning Up Strings 54\u003c\/p\u003e \u003cp\u003e4.3 Working with Sequences 55\u003c\/p\u003e \u003cp\u003e4.3.1 Overview 55\u003c\/p\u003e \u003cp\u003e4.3.2 Slice Syntax 56\u003c\/p\u003e \u003cp\u003e4.4 More on Tuples 57\u003c\/p\u003e \u003cp\u003e4.5 ‘Concatenating’ Strings More Efficiently 59\u003c\/p\u003e \u003cp\u003e4.6 Formatting Output 60\u003c\/p\u003e \u003cp\u003e4.6.1 Using the % Operator 60\u003c\/p\u003e \u003cp\u003e4.6.2 The format Method 61\u003c\/p\u003e \u003cp\u003e4.6.3 f- Strings 61\u003c\/p\u003e \u003cp\u003e4.6.4 Formatting Options 62\u003c\/p\u003e \u003cp\u003e4.7 Handling Case 62\u003c\/p\u003e \u003cp\u003e4.8 Discussions 63\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Working with Stored Data 71\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Understanding and Navigating File Systems 71\u003c\/p\u003e \u003cp\u003e5.1.1 Showing Folder Contents 72\u003c\/p\u003e \u003cp\u003e5.1.2 Navigating and Creating Folders 74\u003c\/p\u003e \u003cp\u003e5.1.3 Relative Paths 75\u003c\/p\u003e \u003cp\u003e5.2 Stored Data 76\u003c\/p\u003e \u003cp\u003e5.3 Opening and Closing Files 76\u003c\/p\u003e \u003cp\u003e5.3.1 File Opening Modes 77\u003c\/p\u003e \u003cp\u003e5.3.2 File Access Options 77\u003c\/p\u003e \u003cp\u003e5.4 Reading File Contents 78\u003c\/p\u003e \u003cp\u003e5.5 Error Handling 79\u003c\/p\u003e \u003cp\u003e5.6 Writing to Files 82\u003c\/p\u003e \u003cp\u003e5.7 Working with Folders and Paths 83\u003c\/p\u003e \u003cp\u003e5.7.1 The os Module 83\u003c\/p\u003e \u003cp\u003e5.7.2 The Path Object of the libpath Module 84\u003c\/p\u003e \u003cp\u003e5.8 Discussions 86\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Recognising and Working with Language Patterns 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 The re Module 93\u003c\/p\u003e \u003cp\u003e6.2 General Syntax 94\u003c\/p\u003e \u003cp\u003e6.3 Understanding and Working with the Match Object 94\u003c\/p\u003e \u003cp\u003e6.4 Character Classes 96\u003c\/p\u003e \u003cp\u003e6.5 Quantification 97\u003c\/p\u003e \u003cp\u003e6.6 Masking and Using Special Characters 98\u003c\/p\u003e \u003cp\u003e6.7 Regex Error Handling 98\u003c\/p\u003e \u003cp\u003e6.8 Anchors, Groups and Alternation 99\u003c\/p\u003e \u003cp\u003e6.9 Constraining Results Further 101\u003c\/p\u003e \u003cp\u003e6.10 Compilation Flags 101\u003c\/p\u003e \u003cp\u003e6.11 Discussions 102\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Developing Modular Programs 109\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Modularity 109\u003c\/p\u003e \u003cp\u003e7.2 Dictionaries 109\u003c\/p\u003e \u003cp\u003e7.3 User- defined Functions 111\u003c\/p\u003e \u003cp\u003e7.4 Understanding Modules 112\u003c\/p\u003e \u003cp\u003e7.5 Documenting Your Module 115\u003c\/p\u003e \u003cp\u003e7.6 Installing External Modules 116\u003c\/p\u003e \u003cp\u003e7.7 Classes and Objects 117\u003c\/p\u003e \u003cp\u003e7.7.1 Methods 118\u003c\/p\u003e \u003cp\u003e7.7.2 Class Schema 118\u003c\/p\u003e \u003cp\u003e7.8 Testing Modules 119\u003c\/p\u003e \u003cp\u003e7.9 Discussions 120\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Word Lists, Frequencies and Ordering 129\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Introduction to Word and Frequency Lists 129\u003c\/p\u003e \u003cp\u003e8.2 Generating Word Lists 129\u003c\/p\u003e \u003cp\u003e8.3 Sorting Basics 130\u003c\/p\u003e \u003cp\u003e8.4 Generating Basic Word Frequency Lists 131\u003c\/p\u003e \u003cp\u003e8.5 Lambda Functions 132\u003c\/p\u003e \u003cp\u003e8.6 Discussions 134\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Interacting with Data and Users Through GUIs 143\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Graphical User Interfaces 143\u003c\/p\u003e \u003cp\u003e9.2 PyQt Basics 144\u003c\/p\u003e \u003cp\u003e9.2.1 The General Approach to Designing GUI- based Programs 144\u003c\/p\u003e \u003cp\u003e9.2.2 Useful PyQt Widgets 145\u003c\/p\u003e \u003cp\u003e9.2.3 A Minimal PyQt Program 146\u003c\/p\u003e \u003cp\u003e9.2.4 Deriving from a Main Window 148\u003c\/p\u003e \u003cp\u003e9.2.5 Working with Layouts 148\u003c\/p\u003e \u003cp\u003e9.2.6 Defining Widgets and Assigning Layouts 150\u003c\/p\u003e \u003cp\u003e9.2.7 Widget Properties, Methods and Signals 150\u003c\/p\u003e \u003cp\u003e9.2.8 Adding Interactive Functionality 152\u003c\/p\u003e \u003cp\u003e9.3 Designing More Advanced GUIs 153\u003c\/p\u003e \u003cp\u003e9.3.1 Actions 153\u003c\/p\u003e \u003cp\u003e9.3.2 Creating Menus, Tool and Status Bars 153\u003c\/p\u003e \u003cp\u003e9.3.3 Working with Files and Folder in PyQt 155\u003c\/p\u003e \u003cp\u003e9.4 Discussions 159\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Web Data and Annotations 171\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Markup Languages 171\u003c\/p\u003e \u003cp\u003e10.2 Brief Intro to HTML 172\u003c\/p\u003e \u003cp\u003e10.3 Using the urllib.request Module 174\u003c\/p\u003e \u003cp\u003e10.4 Extracting Text from Web Pages 177\u003c\/p\u003e \u003cp\u003e10.5 List and Dictionary Comprehension 178\u003c\/p\u003e \u003cp\u003e10.6 Brief Intro to XML 179\u003c\/p\u003e \u003cp\u003e10.7 Complex Regex Replacements Using Functions 182\u003c\/p\u003e \u003cp\u003e10.8 Brief Intro to the TEI Scheme 182\u003c\/p\u003e \u003cp\u003e10.8.1 The Header 183\u003c\/p\u003e \u003cp\u003e10.8.2 The Text Body 184\u003c\/p\u003e \u003cp\u003e10.9 Discussions 188\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Basic Visualisation 201\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Using Matplotlib for Basic Visualisation 201\u003c\/p\u003e \u003cp\u003e11.2 Creating Word Clouds 207\u003c\/p\u003e \u003cp\u003e11.3 Filtering Frequency Data Through Stop- Words 208\u003c\/p\u003e \u003cp\u003e11.4 Working with Relative Frequencies 210\u003c\/p\u003e \u003cp\u003e11.5 Comparing Frequency Data Visually 212\u003c\/p\u003e \u003cp\u003e11.6 Discussions 216\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Conclusion 227\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAppendix – Program Code 231\u003c\/p\u003e \u003cp\u003eIndex 273\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Linguistics [\u003ca title=\"See our other books on Linguistics\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Linguistics%20%5BCF%5D%22\"\u003eCF\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley-Blackwell","offers":[{"title":"Brand New","offer_id":52475001143576,"sku":"9781119907947","price":29.86,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119907947.jpg?v=1785802954","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/python-programming-for-linguistics-and-digital-humanities-applications-for-text-focused-fields-paperback-softback-9781119907947","provider":"Freshly Printed Books","version":"1.0","type":"link"}