Как я могу проверить, является ли первое слово предложения собственно существительным? - PullRequest
0 голосов
/ 13 февраля 2019

Я хочу удалить все правильные существительные из большого корпуса.Из-за большого объема я беру ярлык и удаляю все слова, начинающиеся с заглавных букв.Для первого слова каждого предложения я также хочу проверить, является ли это собственно существительным.Как я могу сделать это без использования тегера.Один из вариантов - сделать скрининг, используя список общих имен собственных.Есть ли лучший способ и где я могу получить такой список?Благодарю.

Я попробовал NLTK pos_tag и Standford NER.Без контекста они не работают хорошо.

 ner_tagger = StanfordNERTagger(model,jar)
 names = ner_tagger.tag(first_words)
 types = ["DATE", "LOCATION", "ORGANIZATION", "PERSON", "TIME"]

 for name, type in names:
     if type in types:
        print(name, type)

Ниже приведены некоторые результаты.

  Abnormal ORGANIZATION
  Abnormally ORGANIZATION
  Abraham ORGANIZATION
  Absorption ORGANIZATION
  Abundant ORGANIZATION
  Abusive ORGANIZATION
  Academic ORGANIZATION
  Acadia ORGANIZATION

Слишком много ложных срабатываний, поскольку первая буква предложения всегда пишется с большой буквы.После того, как я изменил слова на все строчные буквы, NER даже пропустил такие общие понятия, как Америка и Америка.

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Вы можете составить список из вашего корпуса, из слов, которые пишутся с заглавной буквы, когда они не в начале предложения.Фильтр Блума будет эффективным способом хранения результатов, поскольку вы готовы терпеть ложные срабатывания.

0 голосов
/ 13 февраля 2019

Если вы просто играете, вы можете поиграть с Google Natural Language API.Они предоставляют «Анализ сущностей», в котором сущности подразделяются на две категории: «собственные существительные» (конкретные люди или места). СОВЕТ Подсказка :-) или «обычные существительные».

Я предлагаю это только какотправная точка.Существует порог, при котором вы можете использовать API бесплатно.Я думаю, что это около 5000 "сущностей" в месяц?

Отказ от ответственности: я не имею коммерческой связи с Google и сам не использовал API.Я работал над другими проектами по анализу языков и думал, что это звучит интересно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...