dataesr/scientific-paragraphs-categorization huggingface dataset:
Querying PDBs To define queries for PDBs, we start from the standard notion of queries for complete databases. Let 𝑞 be a query over a schema S, and let D := (𝑋 D , Σ D , 𝑃 D ) be a probabilistic database over S. In view of Proposition 2, we can define the probability space for the answers to 𝑞 over D as follows. We point out next that, contrary to tuple-independent probabilistic databases, our model preserves composability of query languages. 1 We say that a pair (𝑞, 𝑞 ′ ) of queries is composable if 𝑞 : S → S ′ and 𝑞 ′ : S ′ → S ′′. In this case, we define their composition (𝑞 ′ • 𝑞)(D) := 𝑞 ′ (𝑞(D)). Can we lift composability to PDBs? The following proposition shows that the answer to this question is positive. Note that composability is a consequence of the answer space definition, and is independent of the query language.
PDBs from Incomplete Databases We now show how the PDBs we introduced in Definition 1 can be instantiated naturally via incomplete databases. To associate an incomplete database D with a PDB, we equip each ⊥ 𝑖 ∈ Null with a probability density function 𝑃 𝑖. We assume without loss of generality that Null(D) := {⊥ 1 ,. , ⊥ 𝑛 }, and we then define the measurable space of valuations (𝑋 𝑉 , Σ 𝑉 ) of Null(D) such that 𝑋 𝑉 is the set of all valuations 𝑣 with dom(𝑣) = Null(D), and Σ 𝑉 is the 𝜎-algebra generated by the family consisting of the sets 𝑉 (𝜎 1 ,. , 𝜎 𝑛 ) := {𝑣 | 𝑣(⊥ 𝑖 ) ∈ 𝜎 𝑖 } for each 𝜎 1 ,. , 𝜎 𝑛 in the Borel 𝜎-algebra Σ 𝐵. Notice that the range of the valuations of each such set is a Cartesian product of sets 1 Note that even the simplest operations, e. g. , computing union of a relation with itself, results in a violation of tuple-independence.
𝑞 := 𝑅 | 𝜋 $𝑖 1 ,. ,$𝑖 𝑘 (𝑞) | 𝜎 𝜃 (𝑞) | 𝑞 × 𝑞 | 𝑞 ∪ 𝑞 | 𝑞 \ 𝑞 | Apply 𝑓 (𝑞) | $𝑗 $𝑖 1 ,. ,$𝑖 𝑘 (𝑞) 𝜃 := $𝑖 = $𝑗 | $𝑖 < $𝑗 𝑓 ∈ RAT[$1, $2,. ], 𝑘 ≥ 0 Figure 1: RA * Queries in Σ 𝐵. The events defined by these sets, i. e. , 𝑣(⊥ 𝑖 ) ∈ 𝜎 𝑖 , for each 𝑖 = 1,. , 𝑛, are assumed to be mutually independent. To reflect this, we would like to define a probability function 𝑃 𝑉 for which the following requirement holds: 𝑃 𝑉 (𝑉 (𝜎 1 ,. , 𝜎 𝑛 )) = Π 𝑛 𝑖=1 𝑃 𝑖 (𝜎 𝑖 ) (1) As it turns out, this requirement determines a unique probability measure for (𝑋 𝑉 , Σ 𝑉 ). Theorem 5. There exists a unique probability measure 𝑃 𝑉 for the measurable space of valuations of Null(D) that satisfies Equation  (1). From now on, we refer to (𝑋 𝑉 , Σ 𝑉 , 𝑃 𝑉 ) as the valuation space of Null(D). The valuation space, however, does not define a PDB, since multiple valuations may define the same complete database.
QUERY LANGUAGE: EXTENDED RELATIONAL ALGEBRA To analyze our framework, we need to focus on a concrete query language. Our choice is a compact language that has sufficient power to express standard SQL queries with arithmetic and aggregation, similar to  [33]. This language, RA * is an extended form of relation algebra and its syntax is presented in Figure  1. Due to space limitations, the full formal semantics is in the Appendix; here we introduce the main constructs and explain the expressiveness of the language. Like SQL, the queries of RA * are interpreted under bag semantics, i. e. , relations may have multiple occurrences of the same tuple. The first line of the Figure  1  contains the standard operations of Relational Algebra. We use the unnamed perspective  [1]  and refer to attributes by their positions in the relation, i.
, $𝑖 𝑘 , SUM($𝑗) FROM 𝑞 GROUP BY $𝑖 1 ,. , $𝑖 𝑘. When 𝑘 = 0, we group by the empty set, thus obtaining a query that returns a unique value who is the sum of all values in column 𝑗. While we have chosen a rather minimalistic language for the convenience of presentation and proofs, RA * actually packs considerable expressive power. For example, it can express all of the following: • Arbitrary conditions 𝑓 𝜔 𝑔 where 𝜔 ∈ {=, ̸ =, <, >, ≤, ≥} and 𝑓 , 𝑔 are polynomials in variables $1, $2, etc. Indeed values of 𝑓 , 𝑔 can be attached as new attributes, and those can be compared with = and < comparisons; other comparisons are expressed by means of set operations. • All SQL aggregates MIN, MAX, AVG, SUM, COUNT. Indeed, MIN and MAX can be expressed in standard relational algebra. To express count, we can attach an attribute with constant value 1 and add up those values.
For example, SQL's SELECT A, COUNT(B) FROM R GROUP BY A for a twoattribute relation is expressed as $3 $1 (Apply 1 (𝑅)). To express multiple aggregates, one needs to take the product of the input relation with the result of the first aggregation to restore duplicates, and then perform another aggregation. And finally average can be expressed as the ratio of SUM and COUNT. • Duplicate elimination is encoded in grouping: one needs to add an aggregate and project out grouping attributes. For example, to eliminate duplicates from a single-attribute relation 𝑅, one would write 𝜋 $1 $2 $1 (Apply 1 (𝑅)). • Conditions involving subqueries, as in IN and EXISTS conditions used in SQL's WHERE. This is already doable in relational algebra  [24, 42]. Thus, we see that despite its simplicity, the language is significantly expressive, as it captures the essence of SELECT-FROM-WHERE-GROUP BY-HAVING queries of SQL.
Target Sets of the Answer Space As we already explained, when dealing with numerical values, returning certain or possible tuples of constants is not very informative. Instead we want to settle for providing intervals of values. These intervals may be fixed, say  [1, 2] , or even defined by functions on nulls in a database, say [$1 + 3, $1 + 4]. Formally, we define interval tuples as tuples ā whose entries are open, or closed, or half-open half-closed intervals of one of the forms (𝑥, 𝑦), [𝑥, 𝑦], [𝑥, 𝑦), (𝑥, 𝑦] where 𝑥, 𝑦 ∈ RAT[⊥ 1 , ⊥ 2 ,. ] ∪ {±∞}. We denote by Null( ā) the set of all nulls that appear in the entries of ā, and by 𝑣( ā) the tuple obtained from ā by replacing each ⊥ 𝑖 with 𝑣(⊥ 𝑖 ). In such a tuple, all intervals are grounded, i. e. their endpoints are real numbers. We say that a tuple of constants t := (𝑡 1 ,.
, 𝑡 𝑛 ) is consistent with 𝑣( ā) if 𝑡 𝑖 ∈ 𝑣(𝑎 𝑖 ) for each 𝑖, that is, 𝑡 𝑖 is a value within the interval 𝑣(𝑎 𝑖 ). For the rest of the section we use the symbol • to denote one of the usual comparisons, i. e. , <, =, or >. We write #(𝑣( ā), 𝐴) • k when the number of tuples in the bag 𝐴 that are consistent with 𝑣( ā) is •k. With this, we can move to the following key definition. Intuitively, out 𝑞,D,• ( ā, k) is the set that consists of all those databases in 𝑋 𝑞,D such that each contains •k tuples consistent with ā. Note that 𝑋 𝑞,D is the domain of the answer space of 𝑞 over D as defined in Definition 3. We call out 𝑞,D,• (• , •) the target mapping for 𝑞 over D. Target mappings capture information about the query answer space, and we next see how to compute them.
Sampling the Valuation Space Our approximation scheme is obtained by sampling valuations of the input database using samplers, i. e. , algorithms that return random variables distributed according to some predefined distribution (see, e. g. ,  [5] ). For commonly used probability distributions, samplers can be obtained using different techniques (see, e. g. ,  [7, 32] ). Formally, a sampler for a probability space S = (𝑋 𝑆 , Σ 𝑆 , 𝑃 𝑆 ) is a randomized algorithm 𝐴 that returns a random variable 𝑋 such that 𝑃(𝑋 ∈ 𝜎) = 𝑃 𝑆 (𝜎), for each 𝜎 ∈ Σ S. Given an incomplete database D, we say that D is efficiently sampled (E. S. ) if, for every ⊥ 𝑖 ∈ Null(D) defined by the probability space N 𝑖 , there exists a efficient sampler for N 𝑖 that runs in time polynomial in the size of D. In what follows, we will use Sample i for the result of an efficient sampler for N 𝑖.
Approximation via Direct Sampling For input E. S. databases, we can obtain an AFPRAS for Likelihood[𝑞, •, k] using ValSampler  [D]. The idea behind our technique is the following. Assume 𝑞 ∈ RA * , an incomplete database D, and an interval tuple ā. The algorithm uses ValSampler  [D]  to sample a number of valuations 𝑣 from the valuation space of Null(D), and computes the average number of such 𝑣 for which #(𝑣( ā), 𝑞(𝑣(D))) • k holds. Using well-known bounds on the expected values of a sum of independent random variables, we can prove that, with high probability, the value of this average is close enough to Likelihood[𝑞, •, k](D, ā). We formalize this intuition in Algorithm 2. Lemma 16. For every incomplete E. S. database D, interval tuple ā and 𝜀 ∈ (0, 1] it holds that 𝑃(|LikeApx[q, •, k](D, ā, 𝜀) -Likelihood[𝑞, •, k](D, ā)|≤ 𝜀) ≥ 0.
75 We are finally ready to formally conclude the existence of an AFPRAS for Output Tuple Likelihood: Theorem 17. For every 𝑞 ∈ RA * , comparison • ∈ {<, =, >}, and integer k ≥ 0, the algorithm LikeApx[q, •, k] is an AFPRAS for Likelihood[𝑞, •, k] over input databases that are E. S.
Algorithm 2 LikeApx[q, •, k] Parameters: 𝑞 ∈ RA * , • ∈ {<, =, >}, an integer k ≥ 0. Input: An E. S. database D, an interval tuple ā, 𝜀 ∈ (0, 1]. Output: A number between 0 and 1 Let 𝛾 := ⌈𝜀 -2 ⌉; count := 0 for all i = 1,. , 𝛾 do 𝑣 := ValSampler[D] if #(𝑣( ā), 𝑞(𝑣(D))) • k then count := count + 1 end if end for return count 𝛾 6.
Encoding Sampling into Queries Our approximation algorithm LikeApx[q, •, k] requires a separate instantiation of the input database D for each sample. Practical implementations of the algorithm would need to generate these instantiations directly inside the RDBMS hosting D, thus leading to an overhead that is unacceptable in practical scenarios. Instead of explicitly generating this data, however, it is possible to encode a full run of LikeApx[q, •, k] into a query to be executed directly over D. In this section we present such construction. First, we introduce some notation. To keep notation compact, in all following statements of our results, we let 𝑞 be a generic query in RA * , D be an incomplete database, ā be an interval tuple, 𝑘 be a positive integer, and • be an element of {<, =, >}.
Moreover, to evaluate RA * queries directly over incomplete databases, we will implicitly assume naive evaluation  [19] , i. e. , we will treat nulls as standard constants. Theorem 18. For every 𝜖 ∈ (0, 1], there exists an RA * query apx 𝜀 such that 𝑃(|apx 𝜀 (D) -Likelihood[𝑞, •, k](D, ā)|≤ 𝜀) ≥ 0. 75. The construction of apx 𝜀 is done in several steps that we proceed to describe. We first show that we can compile a specific valuation 𝑣 into 𝑞, that is, we can rewrite 𝑞 to obtain q𝑣 such that for every input D we have q𝑣 (D) = 𝑞(𝑣(D)) Using the COUNT aggregation, in particular the one corresponding with SQL's COUNT( * ), we can obtain 𝑞 𝑣 such that, if ♯( t, q𝑣 (D)) = 𝑘 ′ , then ( t, 𝑘 ′ ) appears once in 𝑞 𝑣 (D). We do so by setting 𝑞 𝑣 := COUNT $1,$2,. ,$𝑛 ( q𝑣 ) Since we are interested in the total number of tuples of 𝑞(𝑣(D)) that are consistent with ā := (𝑎 1 ,.
FINITE REPRESENTATION OF THE ANSWER SPACE Additionally to the encoding technique presented previously, a desirable feature that may hint that our model can be deployed in practical use-cases is the ability to represent the answer space of RA * queries in a finite manner. This technique allows us to analyze fully the answer space of a given query which is fundamental in decision-support scenarios. Do incomplete databases suffice for instantiating the answer space? Let us investigate the answer space of 𝜎 $𝑖<$𝑗 over D -the PDB of R := {{(⊥ 1 , 𝜇)}}, where {{•}} brackets are used for bags. If ⊥ 1 is distributed according to, e. g. , the normal distribution with mean 𝜇, then the domain of the answer space contains the empty relation along with instantiations of R for which ⊥ 1 > 𝜇. Therefore, there is no incomplete database that instantiates precisely the answer space.
Conditional Worlds The idea behind conditional worlds is to separate the answer space to sub-spaces, each instantiatable by an incomplete database, along with a condition that indicates when it is valid. For the previous example, the answer space can be represented by the empty relation with the condition ⊥ 1 < 𝜇, and by the relation that consists of (⊥ 1 , 𝜇) attached with ⊥ 1 > 𝜇. Note that here and throughout this section, we assume that the probability of each null to be equal to a constant is zero. Definition 21. A probability distribution (dom, Σ, 𝑃) is said to be singleton unlikely if 𝑃({𝑐}) = 0 for every 𝑐 ∈ dom. This is a very mild restriction since all continuous random variables enjoy this property  [35]. To formally define conditional worlds we need to define conditional databases.
Intuitively, conditional databases are pairs of (database, condition) such that database is valid whenever the condition holds. To carry full information on the computation and to express the conditions, we extend the domain. We define an arithmetic database as a database whose active domain is RAT[⊥ 1 , ⊥ 2 ,. ], that is, ratios of polynomials with real coefficients over the nulls. Definition 22. A conditional database is a pair (A, 𝑐 A ) where • A is an arithmetic database, and • 𝑐 A is a set of arithmetic conditions which are elements of the form 𝑒 < 0 where 𝑒 ∈ RAT[⊥ 1 , ⊥ 2 ,. ]; For simplicity, we refer to 𝑒 < 0 as 𝑒. We denote the set of all nulls that appear in A and in 𝑐 A by Null(A, 𝑐 A ). To specify when an arithmetic condition holds, for an arithmetic condition 𝑐, and a valuation 𝑣, we set 𝑣(𝑐) := t if 𝑣(𝑒) < 0 for every 𝑒 ∈ 𝑐; otherwise, we set 𝑣(𝑐) := f.
Definition 23. A conditional world C is a set {(A 1 , 𝑐 1 ),. , (A 𝑚 , 𝑐 𝑚 )} of conditional databases such that • 𝑃 𝑉 ({𝑣 | 𝑣(𝑐 1 ) = t ∨ • • • ∨ 𝑣(𝑐 𝑚 ) = t}) = 1, and • {𝑣 | 𝑣(𝑐 𝑖 ) = t ∧ 𝑣(𝑐 𝑗 ) = t} = ∅ for every 𝑖 ̸ = 𝑗 where (dom 𝑉 , Σ 𝑉 , 𝑃 𝑉 ) is the valuation space of Null(C) defined as the union 𝑚 𝑖=1 Null(A 𝑖 , 𝑐 𝑖 ). In the previous definition it may be the case that 𝑈 := {𝑣 | 𝑣(𝑐 1 ) = t ∨ • • • ∨ 𝑣(𝑐 𝑚 ) = t} ⊊ dom 𝑉 , which implies that 𝑃 𝑉 (dom 𝑉 \ 𝑈 ) = 0.
Lifting Queries to Conditional Worlds To show how conditional worlds instantiate the answer space, we need to show how queries can be lifted from complete databases to conditional worlds. For all queries, except that of inequality selections, the definitions are rather straightforward. The intuition behind 𝜎 $𝑖<$𝑗 (C) is that the result of evaluating an inequality selection on C := {(A 1 , 𝑐 1 ),. , (A 𝑚 , 𝑐 𝑚 )} depends on which tuples are not filtered out. A tuple t := (𝑡 1 ,. , 𝑡 𝑛 ) is filtered out if the condition 𝑡 𝑖 -𝑡 𝑗 < 0 is not satisfied. Thus, conditions that may affect the result are the conditions in C(𝑖, 𝑗) := {𝑡 𝑖 -𝑡 𝑗 < 0 | (𝑡 1 ,. , 𝑡 𝑛 ) ∈ ∪ 𝑚 𝑖=1 A 𝑚 } and each subset of satisfied conditions corresponds with a subset of the possible answers. We define the condition 𝑐 𝐵 of a subset 𝐵 ⊆ C(𝑖, 𝑗) in a way it ensures that (1) all tuples that satisfy the conditions in 𝐵 remains, and (2) all those that do not are filtered out.
Thus, we set 𝑐 𝐵 := 𝐵 ∪ {-𝑏 | 𝑏 ∈ C(𝑖, 𝑗) \ 𝐵}. The first element in the union ensures (1) and the second  (2). With this notation we can present the full definition. To show that this inductive definition is indeed well defined, it suffices to show compositionality of conditional worlds: Lemma 27. 𝑞(C) is a conditional world for every conditional world C and query 𝑞. Example 1. Assume that C consists of (A, 𝑐) where A = {{(⊥ 1 , 0), (⊥ 1 , ⊥ 1 ), (⊥ 3 , ⊥ 1 + ⊥ 3 )}}. To compute 𝜎 $1<$2 (C), we first notice that C(1, 2) = {⊥ 1 , -⊥ 1 }. There are, therefore, four subsets of C(1, 2), and we obtain 𝜎 $1<$2 (C) = {(∅, 𝑐 ∪ {-⊥ 1 , ⊥ 1 }), (𝜎 ⊥ 1 (A), 𝑐 ∪ {⊥ 1 }), (𝜎 -⊥ 1 (A), 𝑐 ∪ {-⊥ 1 }), (𝜎 ⊥ 1 ,-⊥ 1 (A), 𝑐 ∪ {⊥ 1 , -⊥ 1 })} Note that each condition that contains {-⊥ 1 , ⊥ 1 } never holds. And, indeed, their corresponding databases cannot be instantiated to any of the possible answers.
Answer Spaces as Conditional Worlds We now show that we can instantiate a probability space that is almost similar to the answer space using the lifting we presented in the previous section. But before, what does it mean to be almost similar? A probability space (dom, Σ, 𝑃) is said to be a trivial extension of a probability space (dom ′ , Σ ′ , 𝑃 ′ ) if dom ⊇ dom ′ , Σ ⊇ Σ ′ , and 𝑃 ′ (𝜎) = 𝑃(𝜎) for every 𝜎 ∈ Σ ′. Theorem 28. For every incomplete database D and query 𝑞, if each null in Null(D) has a singleton-unlikely distribution then the answer space of 𝑞 over D is a trivial extension of 𝑞(C) where C := {(D, -1)}. The choice of C is due to the fact that its probabilistic interpretation is similar to the PDB of D.
CONCLUSION We presented a novel model for incomplete numerical data based on tuple-dependent infinite probabilistic databases. We studied query answering in a language that captures key features of SQL, looked at exact and approximate answers, and showed how to represent query outputs. As for future work, we would like to extend our model to other SQL data-types, especially discrete domains. We would like to study other forms of approximations, in particular direct sampling from the conditional world that represents the output. Such representations may be optimized deploying ideas from cylindrical algebraic decomposition  [4]. From a practical standpoint, we would like to implement our theoretical algorithms using real-world RBDMSs, and test their performances with real data.
ACKNOWLEDGMENTS This work was supported by a  Leverhulme Trust Research Fellowship ; by  EPSRC  grants  N023056  and  S003800 ; by  Agence Nationale de la Recherche  project  ANR-21-CE48-0015  ( Verigraph ); by  MUR  under the  PRIN 2017 project  " HOPE " (prot. 2017MMJJRE ), by the  EU  under the  H2020-EU. 2. 1. 1 project  TAILOR , grant id. 952215 , and by  MUR  under the  PNRR  project  PE0000013-FAIR.
Proposition 6. 6 Σ D is a 𝜎-algebra on 𝑋 D for every incomplete database D. With Proposition 6 in place, we can move to define a probability measure for the measurable space (𝑋 D , Σ D ). To this end, we define 𝑃 D : Σ D → [0, 1] by setting, for each 𝐴 ∈ Σ D , 𝑃 D (𝐴) := 𝑃 𝑉 (𝜒 -1 (𝐴)) Proposition 7. 𝑃 D is a probability measure for (𝑋 D , Σ D ) for every incomplete database D.
Algorithm 1 1 ValSampler[D] Parameter: An E. S. database D with |Null(D)|= 𝑛 Output: A valuation 𝑣 for Null(D) for all ⊥ 𝑖 ∈ Null(D) do 𝑠 𝑖 := Sample i end for Let 𝑣 : Null(D) → R s. t. 𝑣(⊥ 𝑖 ) = 𝑠 𝑖 , for each ⊥ 𝑖 ∈ Null(D); return 𝑣; The following claim formalizes the relevant properties of ValSampler[D]. Lemma 15. For every incomplete database D, ValSampler[D] is a sampler for the valuation space of Null(D). Moreover, ValSampler[D] runs in time polynomial in the size of D.
Definition 26. 26 We define the semantics 𝑞(C) of queries 𝑞 on conditional worlds C inductively as follows:C • C ′ := {(A • A ′ , 𝑐 ∪ 𝑐 ′ ) | (A, 𝑐) ∈ C, (A ′ , 𝑐 ′ ) ∈ C ′ } 𝑞(C) := {(𝑞(A), 𝑐), | (A, 𝑐) ∈ C} 𝜎 $𝑖<$𝑗 (C) := {(𝜎 𝐵 (A), 𝑐 ∪ 𝑐 𝐵 | (A, 𝑐) ∈ C, 𝐵 ⊆ C(𝑖, 𝑗)} with • ∈ {×, ∪, \}, 𝑞 := 𝑅 | 𝜋 $𝑖 1 ,. ,$𝑖 𝑘 (𝑞) | 𝜎 𝜃 (𝑞) | Apply 𝑓 (𝑞) | $𝑗 $𝑖 1 ,. ,$𝑖 𝑘(𝑞), while setting 𝜎 ∅ (A) := ∅, and all operators defined on complete databases whose active domain is extended to RAT[⊥ 1 , ⊥ 2 ,. ].
Methods: We defined strict inclusion and exclusion criteria, which required apps to have titles or descriptions that suggest that they were designed for the general public, and not for patients with breast cancer or health workers. Apps that focused on awareness and primary care via self-check were included, while those that focused on topics such as alternative treatments and medical news were excluded. Apps that were not specifically related to breast cancer were also excluded. Apps (in any language) that appeared in the search with keywords were included. The database consisted of apps from AppAgg and Google Play Store. Only 85 apps met the inclusion criteria. Selected apps were categorized on the basis of their alleged interactive features. Descriptive statistics were obtained, and available language options, the number of downloads, and the cost of the apps were the main parameters reviewed.
App Search and Data Extraction An extensive search was conducted on Google Play Store, Apple App Store, and the AppAgg tool using the keywords "Breast," "Breast health," "Breast Cancer," and "Breast Self-Examination. " Search words were limited to English, keeping in mind that the authors' proficiency is poor in other languages. However, all apps that appeared using these search words were analyzed regardless of the language of the app by translating the content using Google Translate. The PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analyses) guideline  [24]  was modified and adapted to guide this review (Figure  2 ). Apps were selected using the approach of Bender et al  [25] , and stringent inclusion and exclusion criteria were defined (see Textbox 1). Apps were selected on the basis of either primary education or early diagnosis (via BSE; or both), including breast cancer guides, BSE training, reminders, and symptom recording.
All the other apps (including those focusing on breast workouts, breast shape photo editors, breastfeeding, breast pumping, breast surgery or implants, and breast cancer care) were excluded. A first round of app search was carried out on AppAgg  [26]. AppAgg is a free software that has accumulated large amounts of data about the apps available on all app stores such as Google Play Store, Apple App Store, and Windows. Apps on Google Play Store (n=60) were selected by applying the filter "Android apps" and using the following search keywords: "Breast," "Breast health," "Breast Cancer," and "Breast Self-Examination. " Similarly, apps on Apple App Store (n=29) were selected by applying the filter "iOS apps" and using the abovementioned search keywords. AppAgg provides data in the format shown in Textbox 2.
Of these, information regarding the version, developer, subcategory, updates, and release date were removed because it was not informative and of no importance to the study. Information regarding in-app purchase, new, preorder, rating, and vote were discarded because of missing information (97%, 99%, 100%, and 100%, respectively). Information regarding name, price, category, and downloads was verified manually one by one by comparing it with data available on Google Play Store and Apple App Store. The number of downloads was updated during this process. Additionally, language options available were included while updating information from AppAgg. A second round of searches using keywords was carried out directly on Google Play Store and Apple App Store. An additional 42 apps from Google Play Store were included in the list.
Data Refining Based on app descriptions and screenshots available on the marketplace, 131 apps meeting the inclusion criteria were shortlisted. Google Translate was used to translate the descriptions of the apps if they were in a language other than English. Screenshots of the apps on the app marketplaces (Google Play Store and Apple App Store) also provided information about the features of the apps. In case of poor descriptions and no screenshots, apps were downloaded on a OnePlus 7 device and studied (author SK). These apps were further independently reviewed by author JCT, an MD qualified in gynecology and breast disease, and author KL, a computer scientist with expertise in the digital space, to ensure reliability of the study. Apps on Apple App Store (n=29) were excluded from the list for the following reasons: (1) use of Android phones is much more widespread than the use of iPhones, (2) most (n=24, 82.
SPSS (version 29; IBM Corp) was used to analyze descriptive statistics of each of the following parameters: number of relevant apps available on Google Play Store versus those available on Apple App Store, primary characteristics or features, number of downloads, language options, and cost. The median number of downloads was also evaluated against the discussed features and categories; median values were calculated since the data were skewed. For analysis, "Verbose" is defined as the number of words exceeding 20 per sentence in a corpus of text (per the Institute of Medicine's [IOM's] guidelines for Health Literate Apps  [28] ).