Существует ли довольно простой путь к сценарию для сообщения (от контекста), является ли “ее” притяжательное местоимение?

Из того, что я видел, Protostuff - это проект, который можно использовать для любой работы PB на Java, включая сериализацию ее как JSON, на основе определения протокола. Я не использовал это сам, только услышал хорошие вещи.

8
задан poundifdef 7 November 2009 в 17:07
поделиться

9 ответов

Добрый день,

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

Я бы посоветовал сделать так, чтобы в ваш скрипт вставлялся фрагмент текста, который действительно выделялся бы при каждом слове «она» и был бы легко доступен для поиска. Может быть, даже заставить скрипт вставить строки «он» и «его», чтобы вам нужно было удалить только одну из них после того, как вы увидели контекст?

Таким образом вы сэкономите много времени и усилий. . Не говоря уже о крови, потом и даже слезах! (-:

Придумать полностью автоматическое решение - нелегкий подвиг, поскольку он будет включать сканирование огромного набора слов, чтобы определить, является ли следующее слово объектом.

Иногда получение дополнительных 5 или 10 процентов улучшения просто не стоит затраченных дополнительных усилий. За исключением, конечно, проблемы типа «это оставлено как интересное упражнение для читателя ...», которая, кажется, нравится некоторым учебникам.

Редактировать: Я забыл упомянуть, что нахождение этой «переломной точки» - это настоящее искусство. Определенно один навык, который приходит только с опытом. (-:

Править: Часть II - Месть Я также забыл упомянуть, что вы можете исключить один крайний регистр. Если за словом «он» следует знак препинания, например, «... ей». , «... для нее» и т. д., то вы можете устранить неопределенность для этих случаев и просто заменить их на «он». Точно так же, если за словом следует класс слов, например, «... для нее» может иметь "ее" легко заменить на «он». Редактировать 3: Это не полный список исключений, а просто предложение для отправной точки списка элементов, которые вам нужно искать.

HTH

3
ответ дан 5 December 2019 в 07:58
поделиться

Хорошо. Давайте посмотрим на это как на лингвиста. Я думаю здесь вслух.

« Ее » - местоимение. Это может быть:

1. притяжательное местоимение

Это ее книга.

2. личное местоимение

Дайте его ей . (после предлога)

Он написал ей письмо. (косвенный объект)

Он лечил ее от простуды. (прямой объект)

Итак, давайте посмотрим на падеж (1), притяжательное местоимение. То есть это местоимение в «родительном» падеже (то есть существительное, которое является «притяжательным». Хорошо, эта деталь не так важна, как следующая).

В этом случае , «она» действует как «определяющий фактор». Определяющие факторы могут встречаться в двух местах предложения (это упрощение):

Det + Noun («ее книга»)

Det + Adj + Noun («ее хорошая книга»)

Итак, чтобы выяснить если она является определяющим фактором, у вас может быть такая логика:

a. Если слово, следующее за «ее», является существительным, то «ее» является определяющим.

b. Если два слова, следующие за «ее», являются прилагательным, затем существительным, тогда «она» является определяющим фактором »

И если вы устанавливаете, что« она »является определяющим фактором, тогда вы знаете, что вы должны заменить его на« его ». ", который также является определяющим (он же родительный падеж, он же притяжательное местоимение).

Если он не соответствует критериям (a) и (b) выше, то вы могли бы сделать вывод, что это не определитель, что означает, что это должно быть личное местоимение. В этом случае вы замените «ее» на «он».

Вам даже не придется проводить тесты ниже , но я все равно постараюсь их описать.


Глядя на (2) ) сверху: личное местоимение, а не притяжательное. Это становится еще сложнее.

В приведенных выше примерах показано, что "она" встречается тремя способами:

(1) Дайте это ей . (после предлога. Мы называем это «объектом предлога».)

Итак, вы могли бы придумать правило: «Если« она »стоит сразу после предлога, то его следует рассматривать как существительное, поэтому мы бы замените его на «он» ».

Следующие два сложны. «она» может быть либо прямым объектом, либо косвенным объектом.

(2) Он написал ей письмо. (косвенный объект)

(3) Он лечил ее от простуды. (прямой объект)

Как мы можем определить разницу в синтаксисе?

Прямое дополнение стоит сразу после глагола.

Если у вас есть глагол, за которым следует существительное, то это существительное является прямым объектом. например:

Он лечил ее . *

Если у вас есть глагол, за которым следует существительное, за которым следует предложная фраза, то существительное является прямым объектом.

Он лечил ее от простуды. («ее» - это существительное, и оно следует сразу после глагола «лечить». «От простуды» - это предложная фраза.)

Это означает, что вы могли бы сказать «Если у вас есть Глагол + Существительное + Подготовить», тогда существительное - это прямой объект. Поскольку существительное является прямым объектом, значит, это личное местоимение, поэтому используйте слово «он». (обратите внимание, вы должны проверять только предлог, а не всю подготовительную фразу, так как фраза всегда начинается с предлога.)

Если это косвенный объект, то вы получите форму «глагол + существительное + существительное ".

Он написал ей письмо. («ее» - существительное, «буква» - существительное. Ну, «буква» - это «именная фраза», поэтому вам также придется учитывать определяющие факторы.)

Итак ... если " her "- прямой объект, косвенный объект или объект подготовки, вы можете изменить его на" его ", в противном случае - на" его ".

Этот метод кажется намного более сложным, поэтому я просто начну проверив, является ли "она" определяющим фактором (см. выше), и если это определитель, используйте «его», иначе просто используйте «его».


Таким образом, приведенное выше имеет много упрощений. Оно не охватывает «прерывающие фразы», ​​или структуры предложений, или тесты группы интересов, или встроенные предложения, или пунктуацию, или что-то подобное.

Кроме того, для этого решения требуется словарь - список «существительных» и «глаголов» "и" предлоги ", чтобы вы могли определить лексическую категорию каждого слова в предложении.

И даже там, чувак, обработка естественного языка затруднена. Вам нужно провести какое-то «обучение» для вашей модели, чтобы получить хорошее решение. НО для очень простых вещей попробуйте кое-что из описанного выше.

Извините за такую ​​многословность! (Ни один из существующих ответов не дал каких-либо достоверных данных или точных лингвистических определений, так что давайте.

6
ответ дан 5 December 2019 в 07:58
поделиться

Я так не думаю. Вы можете проверить, следует ли за притяжательным местоимением существительное или прилагательное, и, таким образом, сделать вывод, что это действительно притяжательное местоимение. Но, конечно, вам нужно будет написать сценарий, который сможет это сделать, и даже если бы у вас был метод, он все равно был бы неправильным в некоторых других случаях. Простой алгоритм сопоставления с образцом здесь вам не поможет.

Удачи в анализе: http://en.wikipedia.org/wiki/X-bar_theory

2
ответ дан 5 December 2019 в 07:58
поделиться

Определенно нет. Вам нужно будет провести синтаксический анализ входящего текста (на самом деле, синтаксический анализ английского языка, отсюда и слово «to parse»). Это единственный способ точно определить, что означает «она» в вашем тексте, вы не можете полагаться на поиск и замену. Есть много способов сделать это, но, я думаю, ни один из них нельзя назвать «довольно простым».

1
ответ дан 5 December 2019 в 07:58
поделиться

Я обращусь к регулярному выражению, поскольку это один из тегов. Регулярные выражения недостаточно эффективны для синтаксического анализа человеческого языка, потому что регулярное выражение не выполняет рекурсию, и все человеческие языки рекурсивны.

Когда этот факт сочетается с другими неоднозначностями в английском языке, такими как то, как многие слова могут выполнять несколько функций в Как бы то ни было, я думаю, что надежное автоматизированное решение будет очень сложным и дорогостоящим проектом.

1
ответ дан 5 December 2019 в 07:58
поделиться

Учитывая объем вашего проекта : обращая все слова, связанные с гендером, оказывается, что:

  • «Инвестиции» в более фундаментальный подход были бы оправданы
  • Никакая эвристика, основанная на простом поиске / подстановке, не будет адекватно служить всем или даже в большинстве случаев.

Кроме того, Regex тоже кажется плохим инструментом; естественный язык - это просто не обычный язык; -).

Вместо этого вам следует рассмотреть возможность введения тегов части речи (POS) , возможно, с намеком на Распознавание именованных сущностей ], а затем примените правила подстановки на основе дополнительной информации, предоставленной тегами.

Это может показаться большой работой,

3
ответ дан 5 December 2019 в 07:58
поделиться

Единственное, о чем я могу думать (и я уверен, что кто-то в комментариях докажет, что я ошибаюсь!) - это любой экземпляр ее , за которым следует знак препинания возможно заменить на его . Но я все еще согласен с предыдущими ответами, что вам, вероятно, лучше выполнить замену вручную.

1
ответ дан 5 December 2019 в 07:58
поделиться

Попытка определить, является ли ее притяжательным или личным местоимением, труднее, чем пытаться определить класс его или его ]. Однако вы ожидаете, что оба будут использоваться в одних и тех же контекстах, учитывая достаточно большой корпус. Так почему бы не обратить проблему вспять? Возьмите большой корпус и найдите все вхождения его и его . Затем посмотрите на слова, окружающие их (сколько слов вам нужно посмотреть, зависит от вас). Имея достаточное количество обучающих примеров, вы можете оценить вероятность того, что данный набор слов рядом со словом указывает его или его . Затем вы можете использовать эти оценки вероятности появления ее , чтобы определить, следует ли использовать его или его . Как указывали другие ответы, вы не станете идеальным. Кроме того, довольно сложно определить, насколько большой район использовать и как рассчитать вероятности. Вероятно, вы могли бы неплохо справиться с использованием простого классификатора, такого как Наивный Байес.

Я подозреваю, что вы можете получить приличную точность, просто глядя на шаблоны в частях речи и записывая некоторые правила. Естественно, вы пропустите некоторые, но, вероятно, около дюжины правил будут составлять большинство случаев. Я только что просмотрел около пятидесяти вхождений ее в «Призрачном рикше» Редьярда Киплинга, и вы можете легко получить 90% -ную точность, просто следуя правилу:

her_followed_by_noun? притяжательный падеж : Personal

Вы можете использовать стандартное средство тегирования части речи (POS), такое как Stanford POS Tagger , чтобы автоматически определять, является ли слово существительным или чем-то еще в контексте. Опять же, это не идеально, но работает довольно хорошо.

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

3
ответ дан 5 December 2019 в 07:58
поделиться

Хорошо, основываясь на некоторых ответах людей, которые я получил Лучшее представление о том, как к этому подойти. Вместо того, чтобы писать сценарий, который делает это правильно в 100% случаев, я просто постараюсь делать это правильно как можно чаще. Быстрый поиск по некоторым англоязычным текстам показывает, что «его» встречается (очень приблизительно) в два раза чаще, чем «его», поэтому по умолчанию следует преобразовать «ее» в «его». Если бы я сделал это и ничего больше, это должно было бы быть правильным примерно в двух третях случаев.

Теперь я не заинтересован в поиске шаблонов, которые показали бы, что "она" должна быть преобразована в "его", поскольку это то, что я бы сделал в любом случае, я m заинтересован только в поиске шаблонов, которые показывают, что "она" должна быть преобразована в "он", так как это позволит мне снизить частоту ошибок. Есть два правила, которые я могу реализовать довольно безболезненно:

  • Если за словом «ее» сразу следует запятая или точка, то, как сказал Майкл Итцо, следует преобразовать его в «он».

  • Если «она» встречается сразу после предлога, то его следует рассматривать как существительное, мы бы заменили его на «он», как сказал Рашер.

И я смогу сделать больше, если Я использую программное обеспечение для добавления тегов Part of Speech. Думаю, сначала я займусь простым делом: -)

1
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: