docstr: The function `compute_unified_responses` takes a list of feedback records and a question, and returns a
  unified value based on the specified unification method.
  
  Args:
  - records `records` is a list of `FeedbackRecord` objects. Each `FeedbackRecord` represents
  a feedback response and contains information such as the respondent's ID, the question being
  answered, and the response value.
  - question The `question` parameter can be either a string, a `LabelQuestion` object, or a
  `MultiLabelQuestion` object. It represents the question for which you want to unify the
  responses.
  
  Returns: The method `compute_unified_responses` returns the result of one of the following methods:
  `_majority`, `_majority_weighted`, or `_disagreement`. The specific method that is called
  depends on the value of `self.value`.
docstr_tok: ["The","function","`","compute_unified_responses","`","takes","a","list","of","feedback","records","and","a","question",",","and","returns","a","unified","value","based","on","the","specified","unification","method",".","Args",":","-","records","`","records","`","is","a","list","of","`","FeedbackRecord","`","objects",".","Each","`","FeedbackRecord","`","represents","a","feedback","response","and","contains","information","such","as","the","respondent","'s","ID",",","the","question","being","answered",",","and","the","response","value",".","-","question","The","`","question","`","parameter","can","be","either","a","string",",","a","`","LabelQuestion","`","object",",","or","a","`","MultiLabelQuestion","`","object",".","It","represents","the","question","for","which","you","want","to","unify","the","responses",".","Returns",":","The","method","`","compute_unified_responses","`","returns","the","result","of","one","of","the","following","methods",":","`","_majority","`",",","`","_majority_weighted","`",",","or","`","_disagreement","`",".","The","specific","method","that","is","called","depends","on","the","value","of","`","self.value","`","."]
code: def compute_unified_responses(
      self,
      records: List[FeedbackRecord],
      question: Union[str, LabelQuestion, MultiLabelQuestion],
  ):
      """
      The function `compute_unified_responses` takes a list of feedback records and a question, and returns a
      unified value based on the specified unification method.
  
      Args:
      - records `records` is a list of `FeedbackRecord` objects. Each `FeedbackRecord` represents
      a feedback response and contains information such as the respondent's ID, the question being
      answered, and the response value.
      - question The `question` parameter can be either a string, a `LabelQuestion` object, or a
      `MultiLabelQuestion` object. It represents the question for which you want to unify the
      responses.
  
      Returns: The method `compute_unified_responses` returns the result of one of the following methods:
      `_majority`, `_majority_weighted`, or `_disagreement`. The specific method that is called
      depends on the value of `self.value`.
      """
      UnifiedValueSchema.update_forward_refs()
      # check if field is a str or a LabelQuestion
      if isinstance(question, (LabelQuestion, MultiLabelQuestion)):
          question = question.name
      elif isinstance(question, str):
          pass
      else:
          raise ValueError(
              "Invalid field type. Must be a str, LabelQuestion, MultiLabelQuestion"
          )
      # choose correct unification method
      if self.value == self.MAJORITY.value:
          return self._majority(records, question)
      elif self.value == self.MAJORITY_WEIGHTED.value:
          return self._majority_weighted(records, question)
      elif self.value == self.DISAGREEMENT.value:
          return self._disagreement(records, question)
  
imports: import random
  from abc import abstractmethod
  from collections import Counter
  from enum import Enum
  from typing import Any, Dict, List, Union
  import pandas
  from argilla.client.feedback.schemas import FeedbackRecord, LabelQuestion, MultiLabelQuestion, RankingQuestion, RatingQuestion, ValueSchema
  from argilla.pydantic_v1 import BaseModel, root_validator, validator
label_desc: Use image node_id 1 for calling the LabelQuestionStrategyMixin obj's underlying member method code with example usage: obj.compute_unified_responses(records, question) and returns: self, self, self