You may have an appropriate solution depending on few clarification on your requirements
"My idea was to create a loop that read each line of the text file,
  separating by tabs, and"
If the text file is already pre-validated or reliable to ignore error-handling (e.g. not evenly separated by single tabs). 
with open('dictionary.txt', 'r') as f:
    [line.strip().split("\t") 
              for line in f.read().split("\n") 
                                  if line.strip()]
will get you the (comprehensive) list required to create Word object instances, without using re
"then attempt to create an instance of a previously defined object:
  Word."
with open('dictionary.txt', 'r') as f:
    [Word(line.strip().split("\t"))
              for line in f.read().split("\n") 
                                  if line.strip()]
"I would like the object to have the second item on the list for it's
  name so that it is easily searchable,"
Can you rewrite this with an example?
but it's not letting me do this,
  line_list[1] = Word(line_list[0], line_list[1], line_list[2], line_list[3]) 
Sorry I am loosing you here, why are using line_list[1] to refer newly created Word instances where line_list[1] itself is an argument ?
With your clarification, I would have something like this
Reworked Code:
from pprint import pprint
My assumption on your Class definition:
class Word():
    def __init__(self, **kwargs):
        self.set_attrs(**kwargs)
    def __call__(self):
        return self.get_attr("swedish_word")
    def set_attrs(self, **kwargs):
        for k, v in kwargs.iteritems():
            setattr(self, k, v)
    def get_attr(self, attr):
        return getattr(self, attr)
    def get_attrs(self):
        return ({attr.upper():getattr(self, attr) for attr in self.__dict__.keys()})
    def print_attrs(self):
        pprint(self.get_attrs())
if __name__ == '__main__':
# sample entries in dictionary.txt
#    swedish_word    english_word    article           word_type
#    hund            dog              ett                noun
#    katt            cat              ett                noun
#    sova            sleep            ett                verb
    with open('dictionary.txt', 'r') as f:
        header = f.readline().strip().split("\t")
        instances = [Word(**dict(zip(header, line.strip().split("\t"))))
                              for line in f.read().split("\n")
                                                  if line.strip()]
#        for line in f.read().split("\n"):
#             data = dict(zip(header, line.strip().split("\t")))
#             w = Word(**data)
You can get instance properties for a given swedish_word like this
def print_swedish_word_properties(swedish_word):
    for instance in instances:
       if instance() == swedish_word:
           print "Properties for Swedish Word:", swedish_word
           instance.print_attrs()
print_swedish_word_properties("hund")
to have output like this
Properties for Swedish Word: hund
{'ARTICLE': 'ett',
 'ENGLISH_WORD': 'dog',
 'SWEDISH_WORD': 'hund',
 'WORD_TYPE': 'noun'}
or you can use any other class methods to search instances on various attributes