Verification of the Methods of Digital Monitoring of Information Space Based on Coding Theory Tools
Abstract
1. Introduction
2. Methods
2.1. Test Used
- Do you think that a man should be the head of the family and make responsible decisions alone, regardless of changes in the current socio-economic structure? (C)
- Do you share the point of view according to which there is currently a crisis in the classical monogamous family and other options should be considered? (M)
- Will you follow national traditions in the event that this will bring you minor financial damage? (O)
- Do you consider the desire of Kazakh women to definitely find a husband justified, despite numerous publications in the media demonstrating that a significant part of Kazakh men are not ready to bear real responsibility for the family, i.e., for people who trusted a man? (H)
- Are you ready to study modern socio-political literature that reflects significant changes in the role of women and their associations in modern society? (L)
- The political leadership of the Russian Federation has made a decision according to which the international LGBT movement is recognized as an extremist organization. Do you think this decision is justified? (N)
- Do you consider it necessary to emphasize in public the dominant role of a man in the family, even when he is actually (perhaps, gradually) led by his wife? (Q)
2.2. Test Results Processing Method
3. Results
3.1. Rationale for the Use of Error Correction Codes for Processing Test Results
3.2. Distribution of Respondents’ Answers
3.3. The Result of Applying the “Error Correction” Algorithm
4. Discussion
4.1. Interpretation of the Obtained Results and Methodological Implications
4.2. Relation to Broader Coding-Theoretic Constructions
4.3. Limitations
4.4. Directions for Future Research
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
Appendix A. Table of Answers to Test Questions
| Do you think that a man should be the head of the family and make responsible decisions alone, regardless of changes in the current socio-economic structure? | Do you consider the desire of Kazakh women to definitely find a husband justified, despite numerous publications in the media demonstrating that a significant part of Kazakh men are not ready to bear real responsibility for the family, i.e., for people who trusted a man? (H) | Are you ready to study modern socio-political literature that reflects significant changes in the role of women and their associations in modern society? (L) | Do you share the point of view according to which there is currently a crisis in the classical monogamous family and other options should be considered? (M) | The political leadership of the Russian Federation has made a decision according to which the international LGBT movement is recognized as an extremist organization. Do you think this decision is justified? (N) | Will you follow national traditions in the event that this will bring you minor financial damage? (O) | Do you consider it necessary to emphasize in public the dominant role of a man in the family, even when he is actually (perhaps, gradually) led by his wife? (Q) |
| No | No | Yes | No | No | No | No |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| No | No | Yes | No | No | No | No |
| No | No | Yes | Yes | No | No | No |
| No | No | Yes | Yes | No | No | No |
| No | No | Yes | Yes | No | No | No |
| Yes | Yes | No | Yes | No | Yes | Yes |
| No | No | Yes | No | No | No | No |
| No | Yes | Yes | Yes | No | No | No |
| No | No | Yes | No | No | No | No |
| No | No | Yes | No | Yes | No | No |
| No | No | No | No | No | No | No |
| No | No | No | No | No | No | Yes |
| No | No | Yes | No | No | No | No |
| Yes | Yes | Yes | Yes | Yes | No | No |
| No | No | Yes | Yes | No | No | No |
| Yes | No | Yes | Yes | Yes | Yes | No |
| No | Yes | Yes | No | Yes | No | Yes |
| No | No | Yes | No | No | Yes | No |
| No | No | No | No | No | Yes | No |
| No | Yes | Yes | Yes | No | No | No |
| No | No | Yes | Yes | No | No | No |
| No | No | Yes | No | No | No | No |
| No | No | Yes | No | No | Yes | No |
| No | No | Yes | No | Yes | No | No |
| Yes | Yes | No | No | Yes | Yes | Yes |
| No | No | Yes | Yes | Yes | Yes | Yes |
| No | No | Yes | Yes | Yes | No | Yes |
| No | No | Yes | Yes | Yes | No | No |
| Yes | No | No | Yes | Yes | Yes | Yes |
| Yes | No | No | Yes | Yes | Yes | Yes |
| Yes | No | No | Yes | Yes | Yes | Yes |
| Yes | No | Yes | Yes | Yes | Yes | Yes |
| Yes | Yes | No | No | Yes | Yes | Yes |
| No | No | Yes | Yes | No | No | No |
| Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| No | No | No | No | No | No | Yes |
| No | No | No | No | No | No | No |
| No | No | No | Yes | Yes | No | Yes |
| Yes | No | Yes | No | No | No | No |
| No | No | Yes | Yes | No | No | No |
| No | Yes | No | No | Yes | No | Yes |
| No | Yes | Yes | Yes | No | No | No |
| No | Yes | Yes | No | Yes | No | No |
| No | No | Yes | No | No | No | No |
| Yes | Yes | No | No | Yes | No | Yes |
| No | No | Yes | No | No | No | No |
| Yes | Yes | No | Yes | Yes | Yes | No |
| No | Yes | Yes | Yes | Yes | No | No |
| No | No | Yes | Yes | Yes | No | No |
| No | No | No | No | No | No | No |
| Yes | Yes | No | No | Yes | Yes | Yes |
| Yes | No | No | No | No | No | No |
Appendix B
| from __future__ import annotations |
| import argparse |
| import csv |
| import itertools |
| from collections import Counter, defaultdict |
| from pathlib import Path |
| from typing import Dict, Iterable, List, Sequence, Tuple |
| try: |
| import openpyxl # type: ignore |
| except Exception: |
| openpyxl = None |
| SignWord7 = Tuple[int, int, int, int, int, int, int] |
| SignWord4 = Tuple[int, int, int, int] |
| # ------------------------------- |
| # Core coding-theory utilities |
| # ------------------------------- |
| def hamming_distance(u: Sequence[int], v: Sequence[int]) -> int: |
| return sum(int(a != b) for a, b in zip(u, v)) |
| def sign_to_bit(x: int) -> int: |
| if x not in (-1, 1): |
| raise ValueError(f“Expected ±1, got {x!r}”) |
| return 1 if x == -1 else 0 |
| def bit_to_sign(x: int) -> int: |
| if x not in (0, 1): |
| raise ValueError(f“Expected 0/1, got {x!r}”) |
| return -1 if x == 1 else 1 |
| def word_to_bit_string(word: Sequence[int]) -> str: |
| return “”.join(str(sign_to_bit(x)) for x in word) |
| def all_sign_words(n: int) -> List[Tuple[int, ...]]: |
| return [tuple(word) for word in itertools.product([[-1, 1], repeat=n)] |
| def article_encoder_formula_consistent(info: SignWord4) -> SignWord7: |
| a1, a2, a3, a4 = info |
| s = a1 * a2 * a3 * a4 |
| return (a1, a2, a3, a4, s * a1, s * a2, s * a3) |
| def article_decoder_exact_published(word: SignWord7) -> SignWord4: |
| A1, A2, A3, A4, B1, B2, B3 = word |
| W = A1 * B1 + A2 * B2 + A3 * B3 |
| s = A1 * A2 * A3 * A4 |
| sign_W = 1 if W > 0 else -1 |
| s0 = sign_W * s |
| if abs(W) == 3: |
| return (A1, A2, A3, s0 * A4) |
| if abs(W) == 1: |
| if s0 == 1: |
| return (A1, A2, A3, A4) |
| return (s * B1, s * B2, s * B3, s * A4) |
| raise ValueError(f“Unexpected W={W}. For ±1 coding this should not happen.”) |
| def nearest_codeword_decoder(word: SignWord7, codebook: Dict[SignWord4, SignWord7]) -> Tuple[SignWord4, int]: |
| best_profile = None |
| best_dist = None |
| tie_count = 0 |
| for profile, codeword in codebook.items(): |
| d = hamming_distance(word, codeword) |
| if best_dist is None or d < best_dist: |
| best_profile = profile |
| best_dist = d |
| tie_count = 1 |
| elif d == best_dist: |
| tie_count += 1 |
| if best_profile is None or best_dist is None: |
| raise RuntimeError(“Nearest-codeword decoder failed to initialize.”) |
| if tie_count != 1: |
| raise RuntimeError( |
| f“Nearest-codeword decoding is not unique for {word}. ” |
| f“Found {tie_count} codewords at distance {best_dist}.” |
| ) |
| return best_profile, best_dist |
| def build_codebook() -> Dict[SignWord4, SignWord7]: |
| return { |
| profile: article_encoder_formula_consistent(profile) |
| for profile in all_sign_words(4) |
| } |
| def summarize_class_distance_profiles( |
| preimages: Dict[SignWord4, List[SignWord7]], |
| codebook: Dict[SignWord4, SignWord7], |
| ) -> Counter: |
| summary = Counter() |
| for profile, words in preimages.items(): |
| target = codebook[profile] |
| dist_counter = Counter(hamming_distance(word, target) for word in words) |
| summary[tuple(sorted(dist_counter.items()))] += 1 |
| return summary |
| # ------------------------------- |
| # File IO for answer tables |
| # ------------------------------- |
| def normalize_answer(value) -> int: |
| if value is None: |
| raise ValueError(“Empty cell”) |
| if isinstance(value, bool): |
| return -1 if value else 1 |
| s = str(value).strip().lower() |
| mapping = { |
| “yes”: -1, |
| “y”: -1, |
| “дa”: -1, |
| “д”: -1, |
| “true”: -1, |
| “1”: -1, |
| “-1”: -1, |
| “no”: 1, |
| “n”: 1, |
| “HeT”: 1, |
| “H”: 1, |
| “false”: 1, |
| “0”: 1, |
| “+1”: 1, |
| “1.0”: -1, |
| “0.0”: 1, |
| } |
| if s not in mapping: |
| raise ValueError(f“Unsupported answer value: {value!r}”) |
| return mapping[s] |
| def load_csv_table(path: Path) -> List[dict]: |
| with path.open(“r”, encoding=“utf-8-sig”, newline=“”) as f: |
| reader = csv.DictReader(f) |
| return list(reader) |
| def load_xlsx_table(path: Path, sheet_name: str | None) -> List[dict]: |
| if openpyxl is None: |
| raise RuntimeError(“openpyxl is not available, so XLSX cannot be read.”) |
| wb = openpyxl.load_workbook(path, data_only=True) |
| ws = wb[sheet_name] if sheet_name else wb.active |
| rows = list(ws.iter_rows(values_only=True)) |
| if not rows: |
| return [] |
| header = [str(x).strip() if x is not None else “” for x in rows[0]] |
| out = [] |
| for row in rows[1:]: |
| out.append({header[i]: row[i] if i < len(row) else None for i in range(len(header))}) |
| return out |
| def load_answer_table(path: Path, sheet_name: str | None) -> List[dict]: |
| suffix = path.suffix.lower() |
| if suffix == “.csv”: |
| return load_csv_table(path) |
| if suffix in {“.xlsx”, “.xlsm”}: |
| return load_xlsx_table(path, sheet_name) |
| raise ValueError(“Supported formats: .csv, .xlsx, .xlsm”) |
| def parse_question_order(order_str: str) -> List[str]: |
| order = [x.strip() for x in order_str.split(“,”) if x.strip()] |
| if len(order) != 7: |
| raise ValueError(“--question-order must contain exactly 7 comma-separated column names.”) |
| return order |
| def row_to_sign_word(row: dict, question_order: List[str]) -> SignWord7: |
| try: |
| return tuple(normalize_answer(row[col]) for col in question_order) # type: ignore[return-value] |
| except KeyError as e: |
| raise KeyError(f“Column not found in answer table: {e.args[0]!r}”) from e |
| # ------------------------------- |
| # Writers |
| # ------------------------------- |
| def write_exact_membership_csv(path: Path, preimages: Dict[SignWord4, List[SignWord7]], codebook: Dict[SignWord4, SignWord7]) -> None: |
| rows = [] |
| for profile, words in sorted(preimages.items()): |
| codeword = codebook[profile] |
| for word in sorted(words): |
| rows.append( |
| { |
| “decoded_profile_sign”: str(profile), |
| “decoded_profile_bits”: word_to_bit_string(profile), |
| “reference_codeword_sign”: str(codeword), |
| “reference_codeword_bits”: word_to_bit_string(codeword), |
| “input_sign”: str(word), |
| “input_bits”: word_to_bit_string(word), |
| “distance_to_reference_codeword”: hamming_distance(word, codeword), |
| } |
| ) |
| with path.open(“w”, newline=“”, encoding=“utf-8”) as f: |
| writer = csv.DictWriter(f, fieldnames=list(rows[0].keys())) |
| writer.writeheader() |
| writer.writerows(rows) |
| def write_comparison_csv(path: Path, codebook: Dict[SignWord4, SignWord7]) -> Dict[str, int]: |
| rows = [] |
| mismatch_count = 0 |
| exact_farther_than_nearest = 0 |
| for word in all_sign_words(7): |
| exact_profile = article_decoder_exact_published(word) |
| exact_codeword = codebook[exact_profile] |
| exact_dist = hamming_distance(word, exact_codeword) |
| nn_profile, nn_dist = nearest_codeword_decoder(word, codebook) |
| nn_codeword = codebook[nn_profile] |
| mismatch = exact_profile != nn_profile |
| mismatch_count += int(mismatch) |
| exact_farther_than_nearest += int(exact_dist > nn_dist) |
| rows.append( |
| { |
| “input_sign”: str(word), |
| “input_bits”: word_to_bit_string(word), |
| “exact_profile_sign”: str(exact_profile), |
| “exact_profile_bits”: word_to_bit_string(exact_profile), |
| “exact_codeword_sign”: str(exact_codeword), |
| “exact_codeword_bits”: word_to_bit_string(exact_codeword), |
| “exact_distance”: exact_dist, |
| “nearest_profile_sign”: str(nn_profile), |
| “nearest_profile_bits”: word_to_bit_string(nn_profile), |
| “nearest_codeword_sign”: str(nn_codeword), |
| “nearest_codeword_bits”: word_to_bit_string(nn_codeword), |
| “nearest_distance”: nn_dist, |
| “profiles_match”: str(not mismatch), |
| } |
| ) |
| with path.open(“w”, newline=“”, encoding=“utf-8”) as f: |
| writer = csv.DictWriter(f, fieldnames=list(rows[0].keys())) |
| writer.writeheader() |
| writer.writerows(rows) |
| return { |
| “mismatch_count”: mismatch_count, |
| “exact_farther_than_nearest”: exact_farther_than_nearest, |
| } |
| def write_answers_processed_csv(path: Path, processed_rows: List[dict]) -> None: |
| if not processed_rows: |
| return |
| with path.open(“w”, newline=“”, encoding=“utf-8”) as f: |
| writer = csv.DictWriter(f, fieldnames=list(processed_rows[0].keys())) |
| writer.writeheader() |
| writer.writerows(processed_rows) |
| def write_profile_summary_csv(path: Path, processed_rows: List[dict]) -> None: |
| counter = Counter((row[“exact_profile_bits”] for row in processed_rows)) |
| rows = [{“exact_profile_bits”: k, “count”: v} for k, v in sorted(counter.items())] |
| with path.open(“w”, newline=“”, encoding=“utf-8”) as f: |
| writer = csv.DictWriter(f, fieldnames=[“exact_profile_bits”, “count”]) |
| writer.writeheader() |
| writer.writerows(rows) |
| def write_yes_frequency_csv(path: Path, raw_rows: List[dict], question_order: List[str]) -> None: |
| rows = [] |
| total = len(raw_rows) |
| for col in question_order: |
| yes_count = 0 |
| for row in raw_rows: |
| yes_count += int(normalize_answer(row[col]) == -1) |
| rows.append({“question”: col, “yes_count”: yes_count, “yes_percent”: round(100 * yes_count / total, 6) if total else 0.0}) |
| with path.open(“w”, newline=“”, encoding=“utf-8”) as f: |
| writer = csv.DictWriter(f, fieldnames=[“question”, “yes_count”, “yes_percent”]) |
| writer.writeheader() |
| writer.writerows(rows) |
| # ------------------------------- |
| # Main |
| # ------------------------------- |
| def main() -> None: |
| parser = argparse.ArgumentParser(description=“Verify the non-classical decoder and optionally process a real answer table.”) |
| parser.add_argument(“--outdir”, type=Path, default=Path.cwd(), help=“Directory for outputs.”) |
| parser.add_argument(“--answers”, type=Path, help=“Optional CSV/XLSX answer table with 7 columns.”) |
| parser.add_argument(“--sheet”, type=str, default=None, help=“Excel sheet name. If omitted, the active sheet is used.”) |
| parser.add_argument( |
| “--question-order”, |
| type=str, |
| default=“C,M,O,H,L,N,Q”, |
| help=“Comma-separated list of the 7 column names in the order used to form the 7-bit word.”, |
| ) |
| args = parser.parse_args() |
| outdir = args.outdir.resolve() |
| outdir.mkdir(parents=True, exist_ok=True) |
| codebook = build_codebook() |
| all_words = all_sign_words(7) |
| exact_preimages: Dict[SignWord4, List[SignWord7]] = defaultdict(list) |
| for word in all_words: |
| exact_preimages[article_decoder_exact_published(word)].append(word) |
| exact_class_sizes = Counter(len(words) for words in exact_preimages.values()) |
| exact_distance_profiles = summarize_class_distance_profiles(exact_preimages, codebook) |
| exact_membership_csv = outdir / “exact_decoder_membership.csv” |
| comparison_csv = outdir / “comparison_exact_vs_nearest.csv” |
| report_txt = outdir / “verification_report.txt” |
| write_exact_membership_csv(exact_membership_csv, exact_preimages, codebook) |
| comparison_stats = write_comparison_csv(comparison_csv, codebook) |
| with report_txt.open(“w”, encoding=“utf-8”) as f: |
| f.write(“=” * 64 + “\n\n”) |
| f.write(“A. Published decoder tested\n”) |
| f.write(“- Encoder: formula-consistent reading of the manuscript, B = s*(a1, a2, a3).\n”) |
| f.write(“- Decoder: Eqs. (6)–(9) exactly as printed.\n\n”) |
| f.write(“B. Exhaustive enumeration\n”) |
| f.write(f“- Total 7-bit input words checked: {len(all_words)}\n”) |
| f.write(f“- Total decoded 4-bit profiles obtained: {len(exact_preimages)}\n”) |
| f.write(f“- Exact decoder class-size distribution: {dict(sorted(exact_class_sizes.items()))}\n\n”) |
| f.write(“C. Distance structure inside exact-decoder classes\n”) |
| for profile_signature, count in sorted(exact_distance_profiles.items()): |
| f.write(f“- {count} classes have distance profile {profile_signature}\n”) |
| f.write(“\n”) |
| f.write(“D. Comparison with classical nearest-codeword decoding\n”) |
| f.write(“- Reference decoder: unique nearest-codeword decoder on the same [7,4,3] codebook.\n”) |
| f.write(f“- Exact-published decoder vs nearest-codeword profile mismatches: {comparison_stats[′mismatch_count′]} / 128\n”) |
| f.write( |
| f“- Cases where exact-published decoder sends the input farther from the assigned codeword than the nearest-codeword decoder: {comparison_stats[′exact_farther_than_nearest′]} / 128\n\n” |
| ) |
| f.write(“E. Plain-language interpretation\n”) |
| f.write(“- The published decoder is deterministic and maps all 128 inputs into 16 reduced 4-bit profiles.\n”) |
| if args.answers: |
| question_order = parse_question_order(args.question_order) |
| raw_rows = load_answer_table(args.answers.resolve(), args.sheet) |
| if not raw_rows: |
| raise RuntimeError(“The answer table appears to be empty.”) |
| processed_rows = [] |
| for i, row in enumerate(raw_rows, start=1): |
| sign_word = row_to_sign_word(row, question_order) |
| exact_profile = article_decoder_exact_published(sign_word) |
| exact_codeword = codebook[exact_profile] |
| nn_profile, nn_dist = nearest_codeword_decoder(sign_word, codebook) |
| processed = { |
| “row_index”: i, |
| “input_bits”: word_to_bit_string(sign_word), |
| “input_sign”: str(sign_word), |
| “exact_profile_bits”: word_to_bit_string(exact_profile), |
| “exact_profile_sign”: str(exact_profile), |
| “exact_codeword_bits”: word_to_bit_string(exact_codeword), |
| “distance_to_exact_codeword”: hamming_distance(sign_word, exact_codeword), |
| “nearest_profile_bits”: word_to_bit_string(nn_profile), |
| “nearest_distance”: nn_dist, |
| “profiles_match”: str(exact_profile == nn_profile), |
| } |
| for col in question_order: |
| processed[f“raw_{col}”] = row[col] |
| processed_rows.append(processed) |
| write_answers_processed_csv(outdir / “answers_processed.csv”, processed_rows) |
| write_profile_summary_csv(outdir / “answers_profile_summary.csv”, processed_rows) |
| write_yes_frequency_csv(outdir / “answers_yes_frequency.csv”, raw_rows, question_order) |
| with report_txt.open(“a”, encoding=“utf-8”) as f: |
| f.write(“\nF. Real answer table processed\n”) |
| f.write(f“- Source file: {args.answers.resolve()}\n”) |
| f.write(f“- Number of answer rows: {len(raw_rows)}\n”) |
| f.write(f“- Question order used to form the 7-bit word: {′,′.join(question_order)}\n”) |
| prof_counter = Counter(row[“exact_profile_bits”] for row in processed_rows) |
| f.write(f“- Non-empty decoded profiles in the real dataset: {len(prof_counter)}\n”) |
| f.write(f“- Most frequent decoded profiles: {prof_counter.most_common(10)}\n”) |
| print(f“Wrote: {report_txt}”) |
| print(f“Wrote: {exact_membership_csv}”) |
| print(f“Wrote: {comparison_csv}”) |
| if args.answers: |
| print(f“Wrote: {outdir / ′answers_processed.csv′}”) |
| print(f“Wrote: {outdir / ′answers_profile_summary.csv′}”) |
| print(f“Wrote: {outdir / ′answers_yes_frequency.csv′}”) |
| if __name__ == “__main__”: |
| main() |
| decoded_profile_sign,decoded_profile_bits,reference_codeword_sign,reference_codeword_bits,input_sign,input_bits,distance_to_reference_codeword |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,0 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, -1, -1, -1, -1, -1, 1)”,1111110,1 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, -1, -1, -1, -1, 1, -1)”,1111101,1 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, -1, -1, -1, 1, -1, -1)”,1111011,1 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, -1, -1, 1, -1, -1, -1)”,1110111,1 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, 1, 1, -1, -1, -1, -1)”,1001111,2 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(-1, 1, 1, 1, 1, 1, 1)”,1000000,6 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(1, -1, 1, -1, -1, -1, -1)”,0101111,2 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(1, -1, 1, 1, 1, 1, 1)”,0100000,6 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(1, 1, -1, -1, -1, -1, -1)”,0011111,2 |
| (-1, -1, -1, -1),1111,“(-1, -1, -1, -1, -1, -1, -1)”,1111111,“(1, 1, -1, 1, 1, 1, 1)”,0010000,6 |
| (-1, -1, -1, 1),1110,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,“(-1, -1, -1, -1, 1, 1, 1)”,1111000,1 |
| (-1, -1, -1, 1),1110,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,“(-1, -1, -1, 1, -1, 1, 1)”,1110100,1 |
| (-1, -1, -1, 1),1110,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,“(-1, -1, -1, 1, 1, -1, 1)”,1110010,1 |
| (-1, -1, -1, 1),1110,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,“(-1, -1, -1, 1, 1, 1, -1)”,1110001,1 |
| (-1, -1, -1, 1),1110,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,“(-1, -1, -1, 1, 1, 1, 1)”,1110000,0 |
| (-1, -1, 1, -1),1101,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,“(-1, -1, 1, -1, -1, 1, -1)”,1101101,1 |
| (-1, -1, 1, -1),1101,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,“(-1, -1, 1, -1, 1, -1, -1)”,1101011,1 |
| (-1, -1, 1, -1),1101,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,0 |
| (-1, -1, 1, -1),1101,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,“(-1, -1, 1, -1, 1, 1, 1)”,1101000,1 |
| (-1, -1, 1, -1),1101,“(-1, -1, 1, -1, 1, 1, -1)”,1101001,“(-1, -1, 1, 1, 1, 1, -1)”,1100001,1 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, -1, 1, -1, -1, -1, 1)”,1101110,1 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, -1, 1, 1, -1, -1, -1)”,1100111,1 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,0 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, -1, 1, 1, -1, 1, 1)”,1100100,1 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, -1, 1, 1, 1, -1, 1)”,1100010,1 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, 1, -1, -1, 1, 1, -1)”,1011001,6 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(-1, 1, -1, 1, -1, -1, 1)”,1010110,2 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(1, -1, -1, -1, 1, 1, -1)”,0111001,6 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(1, -1, -1, 1, -1, -1, 1)”,0110110,2 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(1, 1, 1, -1, 1, 1, -1)”,0001001,6 |
| (-1, -1, 1, 1),1100,“(-1, -1, 1, 1, -1, -1, 1)”,1100110,“(1, 1, 1, 1, -1, -1, 1)”,0000110,2 |
| (-1, 1, -1, -1),1011,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,“(-1, 1, -1, -1, -1, -1, 1)”,1011110,1 |
| (-1, 1, -1, -1),1011,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,“(-1, 1, -1, -1, 1, -1, -1)”,1011011,1 |
| (-1, 1, -1, -1),1011,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,0 |
| (-1, 1, -1, -1),1011,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,“(-1, 1, -1, -1, 1, 1, 1)”,1011000,1 |
| (-1, 1, -1, -1),1011,“(-1, 1, -1, -1, 1, -1, 1)”,1011010,“(-1, 1, -1, 1, 1, -1, 1)”,1010010,1 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, -1, 1, -1, 1, -1, 1)”,1101010,6 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, -1, 1, 1, -1, 1, -1)”,1100101,2 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, 1, -1, -1, -1, 1, -1)”,1011101,1 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, 1, -1, 1, -1, -1, -1)”,1010111,1 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,0 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, 1, -1, 1, -1, 1, 1)”,1010100,1 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(-1, 1, -1, 1, 1, 1, -1)”,1010001,1 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(1, -1, -1, -1, 1, -1, 1)”,0111010,6 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(1, -1, -1, 1, -1, 1, -1)”,0110101,2 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(1, 1, 1, -1, 1, -1, 1)”,0001010,6 |
| (-1, 1, -1, 1),1010,“(-1, 1, -1, 1, -1, 1, -1)”,1010101,“(1, 1, 1, 1, -1, 1, -1)”,0000101,2 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, -1, -1, -1, -1, 1, 1)”,1111100,2 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, -1, -1, 1, 1, -1, -1)”,1110011,6 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, 1, 1, -1, -1, -1, 1)”,1001110,1 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, 1, 1, -1, -1, 1, -1)”,1001101,1 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,0 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, 1, 1, -1, 1, 1, 1)”,1001000,1 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(-1, 1, 1, 1, -1, 1, 1)”,1000100,1 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(1, -1, 1, -1, -1, 1, 1)”,0101100,2 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(1, -1, 1, 1, 1, -1, -1)”,0100011,6 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(1, 1, -1, -1, -1, 1, 1)”,0011100,2 |
| (-1, 1, 1, -1),1001,“(-1, 1, 1, -1, -1, 1, 1)”,1001100,“(1, 1, -1, 1, 1, -1, -1)”,0010011,6 |
| (-1, 1, 1, 1),1000,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,“(-1, 1, 1, -1, 1, -1, -1)”,1001011,1 |
| (-1, 1, 1, 1),1000,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,“(-1, 1, 1, 1, -1, -1, -1)”,1000111,1 |
| (-1, 1, 1, 1),1000,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,0 |
| (-1, 1, 1, 1),1000,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,“(-1, 1, 1, 1, 1, -1, 1)”,1000010,1 |
| (-1, 1, 1, 1),1000,“(-1, 1, 1, 1, 1, -1, -1)”,1000011,“(-1, 1, 1, 1, 1, 1, -1)”,1000001,1 |
| (1, -1, -1, -1),0111,“(1, -1, -1, -1, -1, 1, 1)”,0111100,“(1, -1, -1, -1, -1, -1, 1)”,0111110,1 |
| (1, -1, -1, -1),0111,“(1, -1, -1, -1, -1, 1, 1)”,0111100,“(1, -1, -1, -1, -1, 1, -1)”,0111101,1 |
| (1, -1, -1, -1),0111,“(1, -1, -1, -1, -1, 1, 1)”,0111100,“(1, -1, -1, -1, -1, 1, 1)”,0111100,0 |
| (1, -1, -1, -1),0111,“(1, -1, -1, -1, -1, 1, 1)”,0111100,“(1, -1, -1, -1, 1, 1, 1)”,0111000,1 |
| (1, -1, -1, -1),0111,“(1, -1, -1, -1, -1, 1, 1)”,0111100,“(1, -1, -1, 1, -1, 1, 1)”,0110100,1 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(-1, -1, 1, -1, -1, 1, 1)”,1101100,6 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(-1, -1, 1, 1, 1, -1, -1)”,1100011,2 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(-1, 1, -1, -1, -1, 1, 1)”,1011100,6 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(-1, 1, -1, 1, 1, -1, -1)”,1010011,2 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, -1, -1, -1, 1, -1, -1)”,0111011,1 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, -1, -1, 1, -1, -1, -1)”,0110111,1 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, -1, -1, 1, 1, -1, -1)”,0110011,0 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, -1, -1, 1, 1, -1, 1)”,0110010,1 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, -1, -1, 1, 1, 1, -1)”,0110001,1 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, 1, 1, -1, -1, 1, 1)”,0001100,6 |
| (1, -1, -1, 1),0110,“(1, -1, -1, 1, 1, -1, -1)”,0110011,“(1, 1, 1, 1, 1, -1, -1)”,0000011,2 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(-1, -1, -1, -1, 1, -1, 1)”,1111010,2 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(-1, -1, -1, 1, -1, 1, -1)”,1110101,6 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(-1, 1, 1, -1, 1, -1, 1)”,1001010,2 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(-1, 1, 1, 1, -1, 1, -1)”,1000101,6 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, -1, 1, -1, -1, -1, 1)”,0101110,1 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, -1, 1, -1, 1, -1, -1)”,0101011,1 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, -1, 1, -1, 1, -1, 1)”,0101010,0 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, -1, 1, -1, 1, 1, 1)”,0101000,1 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, -1, 1, 1, 1, -1, 1)”,0100010,1 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, 1, -1, -1, 1, -1, 1)”,0011010,2 |
| (1, -1, 1, -1),0101,“(1, -1, 1, -1, 1, -1, 1)”,0101010,“(1, 1, -1, 1, -1, 1, -1)”,0010101,6 |
| (1, -1, 1, 1),0100,“(1, -1, 1, 1, -1, 1, -1)”,0100101,“(1, -1, 1, -1, -1, 1, -1)”,0101101,1 |
| (1, -1, 1, 1),0100,“(1, -1, 1, 1, -1, 1, -1)”,0100101,“(1, -1, 1, 1, -1, -1, -1)”,0100111,1 |
| (1, -1, 1, 1),0100,“(1, -1, 1, 1, -1, 1, -1)”,0100101,“(1, -1, 1, 1, -1, 1, -1)”,0100101,0 |
| (1, -1, 1, 1),0100,“(1, -1, 1, 1, -1, 1, -1)”,0100101,“(1, -1, 1, 1, -1, 1, 1)”,0100100,1 |
| (1, -1, 1, 1),0100,“(1, -1, 1, 1, -1, 1, -1)”,0100101,“(1, -1, 1, 1, 1, 1, -1)”,0100001,1 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(-1, -1, -1, -1, 1, 1, -1)”,1111001,2 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(-1, -1, -1, 1, -1, -1, 1)”,1110110,6 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(-1, 1, 1, -1, 1, 1, -1)”,1001001,2 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(-1, 1, 1, 1, -1, -1, 1)”,1000110,6 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, -1, 1, -1, 1, 1, -1)”,0101001,2 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, -1, 1, 1, -1, -1, 1)”,0100110,6 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, 1, -1, -1, -1, 1, -1)”,0011101,1 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, 1, -1, -1, 1, -1, -1)”,0011011,1 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, 1, -1, -1, 1, 1, -1)”,0011001,0 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, 1, -1, -1, 1, 1, 1)”,0011000,1 |
| (1, 1, -1, -1),0011,“(1, 1, -1, -1, 1, 1, -1)”,0011001,“(1, 1, -1, 1, 1, 1, -1)”,0010001,1 |
| (1, 1, -1, 1),0010,“(1, 1, -1, 1, -1, -1, 1)”,0010110,“(1, 1, -1, -1, -1, -1, 1)”,0011110,1 |
| (1, 1, -1, 1),0010,“(1, 1, -1, 1, -1, -1, 1)”,0010110,“(1, 1, -1, 1, -1, -1, -1)”,0010111,1 |
| (1, 1, -1, 1),0010,“(1, 1, -1, 1, -1, -1, 1)”,0010110,“(1, 1, -1, 1, -1, -1, 1)”,0010110,0 |
| (1, 1, -1, 1),0010,“(1, 1, -1, 1, -1, -1, 1)”,0010110,“(1, 1, -1, 1, -1, 1, 1)”,0010100,1 |
| (1, 1, -1, 1),0010,“(1, 1, -1, 1, -1, -1, 1)”,0010110,“(1, 1, -1, 1, 1, -1, 1)”,0010010,1 |
| (1, 1, 1, -1),0001,“(1, 1, 1, -1, -1, -1, -1)”,0001111,“(1, 1, 1, -1, -1, -1, -1)”,0001111,0 |
| (1, 1, 1, -1),0001,“(1, 1, 1, -1, -1, -1, -1)”,0001111,“(1, 1, 1, -1, -1, -1, 1)”,0001110,1 |
| (1, 1, 1, -1),0001,“(1, 1, 1, -1, -1, -1, -1)”,0001111,“(1, 1, 1, -1, -1, 1, -1)”,0001101,1 |
| (1, 1, 1, -1),0001,“(1, 1, 1, -1, -1, -1, -1)”,0001111,“(1, 1, 1, -1, 1, -1, -1)”,0001011,1 |
| (1, 1, 1, -1),0001,“(1, 1, 1, -1, -1, -1, -1)”,0001111,“(1, 1, 1, 1, -1, -1, -1)”,0000111,1 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(-1, -1, 1, -1, -1, -1, -1)”,1101111,6 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(-1, -1, 1, 1, 1, 1, 1)”,1100000,2 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(-1, 1, -1, -1, -1, -1, -1)”,1011111,6 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(-1, 1, -1, 1, 1, 1, 1)”,1010000,2 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, -1, -1, -1, -1, -1, -1)”,0111111,6 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, -1, -1, 1, 1, 1, 1)”,0110000,2 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, 1, 1, -1, 1, 1, 1)”,0001000,1 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, 1, 1, 1, -1, 1, 1)”,0000100,1 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, 1, 1, 1, 1, -1, 1)”,0000010,1 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, 1, 1, 1, 1, 1, -1)”,0000001,1 |
| (1, 1, 1, 1),0000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,“(1, 1, 1, 1, 1, 1, 1)”,0000000,0 |
References
- Bekkers, V.; Edwards, A.; de Kool, D. Social media monitoring: Responsive governance in the shadow of surveillance? Gov. Inf. Q. 2013, 30, 335–342. [Google Scholar] [CrossRef]
- Smailova, A.; Kuzembayeva, A.; Utkelbay, R.; Kukeyeva, F.; Baizakova, K. Public opinion monitoring technologies: How the state uses data to make political decisions. Front. Political Sci. 2025, 7, 1680172. [Google Scholar] [CrossRef]
- Reveilhac, M.; Steinmetz, S.; Morselli, D. A systematic literature review of how and whether social media data can complement traditional survey data to study public opinion. Multimed. Tools Appl. 2022, 81, 10107–10142. [Google Scholar] [CrossRef]
- Zhang, Y.; Chen, F.; Rohe, K. Social media public opinion as flocks in a murmuration: Conceptualizing and measuring opinion expression on social media. J. Comput. Mediat. Commun. 2022, 27, zmab021. [Google Scholar] [CrossRef]
- Cortis, K.; Davis, B. Over a decade of social opinion mining: A systematic review. Artif. Intell. Rev. 2021, 54, 4873–4965. [Google Scholar] [CrossRef]
- Dong, X.; Lian, Y. A review of social media-based public opinion analyses: Challenges and recommendations. Technol. Soc. 2021, 67, 101724. [Google Scholar] [CrossRef]
- Blank, G.; Lutz, C. Representativeness of social media in great britain: Investigating Facebook, Linkedin, Twitter, Pinterest, Google+, and Instagram. Am. Behav. Sci. 2017, 61, 741–756. [Google Scholar] [CrossRef]
- Olteanu, A.; Castillo, C.; Diaz, F.; Kıcıman, E. Social data: Biases, methodological pitfalls, and ethical boundaries. Front. Big Data 2019, 2, 13. [Google Scholar] [CrossRef] [PubMed]
- Fung, I.C.H.; Tse, Z.T.H.; Fu, K.W. The use of social media in public health surveillance. West. Pac. Surveill. Response J. WPSAR 2015, 6, 3. [Google Scholar] [CrossRef]
- Soong, H.C.; Jalil, N.B.A.; Ayyasamy, R.K.; Akbar, R. The essential of sentiment analysis and opinion mining in social media: Introduction and survey of the recent approaches and techniques. In 2019 IEEE 9th Symposium on Computer Applications & Industrial Electronics (ISCAIE); IEEE: Piscataway, NJ, USA, 2019; pp. 272–277. [Google Scholar]
- Mredula, M.S.; Dey, N.; Rahman, M.S.; Mahmud, I.; Cho, Y.Z. A review on the trends in event detection by analyzing social media platforms’ data. Sensors 2022, 22, 4531. [Google Scholar] [CrossRef]
- Han, Z.; Shi, L.; Liu, L.; Jiang, L.; Fang, J.; Lin, F.; Zhang, J.; Panneerselvam, J.; Antonopoulos, N. A survey on event tracking in social media data streams. Big Data Min. Anal. 2023, 7, 217–243. [Google Scholar]
- Rodríguez-Ibánez, M.; Casánez-Ventura, A.; Castejón-Mateos, F.; Cuenca-Jiménez, P.M. A review on sentiment analysis from social media platforms. Expert Syst. Appl. 2023, 223, 119862. [Google Scholar] [CrossRef]
- Bakirov, A.; Suleimenov, I. Theoretical Bases of Methods of Counteraction to Modern Forms of Information Warfare. Computers 2025, 14, 410. [Google Scholar] [CrossRef]
- Grahn, H.; Pamment, J. Exploitation of Psychological Processes in Information Influence Operations: Insights from Cognitive Science; Working Papers; Lund University Psychological Defence Research Institute: Helsingborg, Sweden, 2024. [Google Scholar]
- Ferrara, E.; Cresci, S.; Luceri, L. Misinformation, manipulation, and abuse on social media in the era of COVID-19. J. Comput. Soc. Sci. 2020, 3, 271–277. [Google Scholar] [CrossRef]
- Miller, S. Cognitive warfare: An ethical analysis. Ethics Inf. Technol. 2023, 25, 46. [Google Scholar] [CrossRef]
- Deppe, C.; Schaal, G.S. Cognitive warfare: A conceptual analysis of the NATO ACT cognitive warfare exploratory concept. Front. Big Data 2024, 7, 1452129. [Google Scholar] [CrossRef] [PubMed]
- Chang, H.T.; Tsai, F.C. A systematic review of Internet public opinion manipulation. Procedia Comput. Sci. 2022, 207, 3159–3166. [Google Scholar] [CrossRef]
- Montañez, R.; Golob, E.; Xu, S. Human cognition through the lens of social engineering cyberattacks. Front. Psychol. 2020, 11, 1755. [Google Scholar] [CrossRef] [PubMed]
- Bolton, D. Targeting ontological security: Information warfare in the modern age. Political Psychol. 2021, 42, 127–142. [Google Scholar] [CrossRef]
- Vilarino del Castillo, D.; Lopez-Zafra, E. Antecedents of psychological capital at work: A systematic review of moderator–mediator effects and a new integrative proposal. Eur. Manag. Rev. 2022, 19, 154–169. [Google Scholar] [CrossRef]
- Dov Bachmann, S.D.; Putter, D.; Duczynski, G. Hybrid warfare and disinformation: A Ukraine war perspective. Glob. Policy 2023, 14, 858–869. [Google Scholar] [CrossRef]
- Fenstermacher, L.; Uzcha, D.; Larson, K.; Vitiello, C.; Shellman, S. New perspectives on cognitive warfare. In Signal Processing, Sensor/Information Fusion, and Target Recognition XXXII; SPIE: Bellingham, WA, USA, 2023; Volume 12547, pp. 172–187. [Google Scholar]
- Salahdine, F.; Kaabouch, N. Social engineering attacks: A survey. Future Internet 2019, 11, 89. [Google Scholar] [CrossRef]
- Syafitri, W.; Shukur, Z.; Asma’Mokhtar, U.; Sulaiman, R.; Ibrahim, M.A. Social engineering attacks prevention: A systematic literature review. IEEE Access 2022, 10, 39325–39343. [Google Scholar] [CrossRef]
- Frauenstein, E.D.; Flowerday, S. Susceptibility to phishing on social network sites: A personality information processing model. Comput. Secur. 2020, 94, 101862. [Google Scholar] [CrossRef]
- Norris, G.; Brookes, A.; Dowell, D. The psychology of internet fraud victimisation: A systematic review. J. Police Crim. Psychol. 2019, 34, 231–245. [Google Scholar] [CrossRef]
- Surjatmodjo, D.; Unde, A.A.; Cangara, H.; Sonni, A.F. Information pandemic: A critical review of disinformation spread on social media and its implications for state resilience. Soc. Sci. 2024, 13, 418. [Google Scholar] [CrossRef]
- Tan, K.L.; Lee, C.P.; Lim, K.M. A survey of sentiment analysis: Approaches, datasets, and future research. Appl. Sci. 2023, 13, 4550. [Google Scholar] [CrossRef]
- Das, R.; Singh, T.D. Multimodal sentiment analysis: A survey of methods, trends, and challenges. ACM Comput. Surv. 2023, 55, 1–38. [Google Scholar] [CrossRef]
- Lin, B.; Cassee, N.; Serebrenik, A.; Bavota, G.; Novielli, N.; Lanza, M. Opinion mining for software development: A systematic literature review. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2022, 31, 1–41. [Google Scholar] [CrossRef]
- Shaik, T.; Tao, X.; Dann, C.; Xie, H.; Li, Y.; Galligan, L. Sentiment analysis and opinion mining on educational data: A survey. Nat. Lang. Process. J. 2023, 2, 100003. [Google Scholar] [CrossRef]
- Messaoudi, C.; Guessoum, Z.; Ben Romdhane, L. Opinion mining in online social media: A survey. Soc. Netw. Anal. Min. 2022, 12, 25. [Google Scholar] [CrossRef]
- Weng, J.; Lee, B.S. Event detection in twitter. In Proceedings of the International AAAI Conference on Web and Social Media, Barcelona, Spain, 17–21 July 2011; Volume 5, pp. 401–408. [Google Scholar]
- Yu, M.; Bambacus, M.; Cervone, G.; Clarke, K.; Duffy, D.; Huang, Q.; Li, J.; Li, W.; Li, Z.; Liu, Q.; et al. Spatiotemporal event detection: A review. Int. J. Digit. Earth 2020, 13, 1339–1365. [Google Scholar] [CrossRef]
- Kumar, P.; Sinha, A. Information diffusion modeling and analysis for socially interacting networks. Soc. Netw. Anal. Min. 2021, 11, 11. [Google Scholar] [CrossRef]
- Peng, H.; Zhang, J.; Huang, X.; Hao, Z.; Li, A.; Yu, Z.; Yu, P.S. Unsupervised social bot detection via structural information theory. ACM Trans. Inf. Syst. 2024, 42, 1–42. [Google Scholar] [CrossRef]
- Onnela, J.P. Opportunities and challenges in the collection and analysis of digital phenotyping data. Neuropsychopharmacology 2021, 46, 45–54. [Google Scholar] [CrossRef] [PubMed]
- Bufano, P.; Laurino, M.; Said, S.; Tognetti, A.; Menicucci, D. Digital phenotyping for monitoring mental disorders: Systematic review. J. Med. Internet Res. 2023, 25, e46778. [Google Scholar] [CrossRef] [PubMed]
- Skaik, R.; Inkpen, D. Using social media for mental health surveillance: A review. ACM Comput. Surv. (CSUR) 2020, 53, 1–31. [Google Scholar] [CrossRef]
- Colpe, L.J.; Freeman, E.J.; Strine, T.W.; Dhingra, S.; McGuire, L.C.; Elam-Evans, L.D.; Perry, G.S. Public health surveillance for mental health. Prev. Chronic Dis. 2009, 7, A17. [Google Scholar]
- Suleimenov, I.E.; Vitulyova, Y.S.; Kabdushev, S.B.; Bakirov, A.S. Improving the efficiency of using multivalued logic tools. Sci. Rep. 2023, 13, 1108. [Google Scholar] [CrossRef]
- Suleimenov, I.E.; Vitulyova, Y.S.; Kabdushev, S.B.; Bakirov, A.S. Improving the efficiency of using multivalued logic tools: Application of algebraic rings. Sci. Rep. 2023, 13, 22021. [Google Scholar] [CrossRef]
- Fenn, J.; Tan, C.S.; George, S. Development, validation and translation of psychological tests. BJPsych Adv. 2020, 26, 306–315. [Google Scholar] [CrossRef]
- Stefana, A.; Damiani, S.; Granziol, U.; Provenzani, U.; Solmi, M.; Youngstrom, E.A.; Fusar-Poli, P. Psychological, psychiatric, and behavioral sciences measurement scales: Best practice guidelines for their development and validation. Front. Psychol. 2025, 15, 1494261. [Google Scholar] [CrossRef]
- Shaltykova, D.; Massalimova, A.; Vitulyova, Y.; Suleimenov, I. Algorithm for Obtaining Complete Irreducible Polynomials over Given Galois Field for New Method of Digital Monitoring of Information Space. Computers 2025, 14, 468. [Google Scholar] [CrossRef]
- Dietterich, T.G.; Bakiri, G. Error-correcting output codes: A general method for improving multiclass inductive learning programs. In The Mathematics of Generalization; CRC Press: Boca Raton, FL, USA, 2018; pp. 395–407. [Google Scholar]
- Wang, L.N.; Wei, H.; Zheng, Y.; Dong, J.; Zhong, G. Deep error-correcting output codes. Algorithms 2023, 16, 555. [Google Scholar] [CrossRef]
- Dietterich, T.G.; Bakiri, G. Solving multiclass learning problems via error-correcting output codes. J. Artif. Intell. Res. 1994, 2, 263–286. [Google Scholar] [CrossRef]
- Radeva, P.; Pujol, O.; Escalera, S. ECOC-ONE: A novel coding and decoding strategy. In Proceedings of the 18th International Conference on Pattern Recognition (ICPR’06), Hong Kong, China, 20–24 August 2006; IEEE: New York, NY, USA, 2006; Volume 3, pp. 578–581. [Google Scholar]
- Archana, R.; Jeevaraj, P.E. Deep learning models for digital image processing: A review. Artif. Intell. Rev. 2024, 57, 11. [Google Scholar] [CrossRef]
- Ahmed, S.F.; Bin Alam, S.; Hassan, M.; Rozbu, M.R.; Ishtiak, T.; Rafa, N.; Mofijur, M.; Ali, A.B.M.S.; Gandomi, A.H. Deep learning modelling techniques: Current progress, applications, advantages, and challenges. Artif. Intell. Rev. 2023, 56, 13521–13617. [Google Scholar] [CrossRef]
- Escalera, S.; Pujol, O.; Radeva, P. Error-correcting ouput codes library. J. Mach. Learn. Res. 2010, 11, 661–664. [Google Scholar]
- Yu, A.; Jing, S.; Lyu, N.; Wen, W.; Yan, Z. Error correction output codes for robust neural networks against weight-errors: A neural tangent kernel point of view. Adv. Neural Inf. Process. Syst. 2024, 37, 82493–82513. [Google Scholar]
- Aly, S.A.; Klappenecker, A.; Sarvepalli, P.K. On quantum and classical BCH codes. IEEE Trans. Inf. Theory 2007, 53, 1183–1188. [Google Scholar] [CrossRef]
- Li, C.; Wu, P.; Liu, F. On two classes of primitive BCH codes and some related codes. IEEE Trans. Inf. Theory 2018, 65, 3830–3840. [Google Scholar] [CrossRef]
- Suleimenov, I.; Kostsova, M.; Grishina, A.; Matrassulova, D.; Vitulyova, Y. Empirical validation of the use of projective techniques in psychological testing using Galois fields. Front. Appl. Math. Stat. 2024, 10, 1455500. [Google Scholar] [CrossRef]
- Bakirov, A.S.; Suleimenov, I.E. On the possibility of implementing artificial intelligence systems based on error-correcting code algorithms. J. Theor. Appl. Inf. Technol. 2021, 99, 83–99. [Google Scholar]
- Singh, A.K. Error detection and correction by hamming code. In Proceedings of the 2016 International Conference on Global Trends in Signal Processing, Information Computing and Communication (ICGTSPICC), Jalgaon, India, 22–24 December 2016; IEEE: New York, NY, USA, 2016; pp. 35–37. [Google Scholar]
- Hillier, C.; Balyan, V. Error Detection and Correction On-Board Nanosatellites Using Hamming Codes. J. Electr. Comput. Eng. 2019, 2019, 3905094. [Google Scholar] [CrossRef]
- Bishop, C.M.; Nasrabadi, N.M. Pattern Recognition and Machine Learning; Springer: New York, NY, USA, 2006; Volume 4, p. 738. [Google Scholar]
- Kaufman, L.; Rousseeuw, P.J. Finding Groups in Data: An Introduction to Cluster Analysis; John Wiley & Sons: Hoboken, NJ, USA, 2009. [Google Scholar]
- Collins, L.M.; Lanza, S.T. Latent Class and Latent Transition Analysis: With Applications in the Social, Behavioral, and Health Sciences; John Wiley & Sons: Hoboken, NJ, USA, 2013. [Google Scholar]




Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Shaltykova, D.; Bakirov, A.; Grishina, A.; Kostsova, M.; Vitulyova, Y.; Suleimenov, I. Verification of the Methods of Digital Monitoring of Information Space Based on Coding Theory Tools. Computers 2026, 15, 260. https://doi.org/10.3390/computers15040260
Shaltykova D, Bakirov A, Grishina A, Kostsova M, Vitulyova Y, Suleimenov I. Verification of the Methods of Digital Monitoring of Information Space Based on Coding Theory Tools. Computers. 2026; 15(4):260. https://doi.org/10.3390/computers15040260
Chicago/Turabian StyleShaltykova, Dina, Akhat Bakirov, Anastasiya Grishina, Mariya Kostsova, Yelizaveta Vitulyova, and Ibragim Suleimenov. 2026. "Verification of the Methods of Digital Monitoring of Information Space Based on Coding Theory Tools" Computers 15, no. 4: 260. https://doi.org/10.3390/computers15040260
APA StyleShaltykova, D., Bakirov, A., Grishina, A., Kostsova, M., Vitulyova, Y., & Suleimenov, I. (2026). Verification of the Methods of Digital Monitoring of Information Space Based on Coding Theory Tools. Computers, 15(4), 260. https://doi.org/10.3390/computers15040260

