In a 4 or 5 quart saucepan, heat the olive oil. Add the onion and celery. Sprinkle the salt and pepper over, and sauté until soft. Add the garlic and sauté for 30 seconds more.
Pour in the broth and add the diced artichoke heart pieces. Add the parsley and simmer over low heat, covered with the lid cracked, for 15-20 minutes. Add the lemon juice, avocado, and butter. Continue to simmer for a few more minutes.
Remove from the burner to cool slightly. Using an emulsion blender, blender, or Vitamix, puree the soup carefully, so as not to splatter, until smooth. You can leave a few small pieces if you like.
If the soup has cooled down too much, or if you aren't ready to serve yet, simply set aside and bring back to a boil (or close to a boil) just prior to serving. Turn the burner off, add the cream or yogurt, and ladle into small cup size serving bowls. Garnish with a sour cream dollop or a little extra virgin olive oil, or a small drizzle of cream. Add minced parsley to the top and enjoy!