RU2498401C2 - Способ обнаружения текстовых объектов - Google Patents

Способ обнаружения текстовых объектов Download PDF

Info

Publication number
RU2498401C2
RU2498401C2 RU2012104987/08A RU2012104987A RU2498401C2 RU 2498401 C2 RU2498401 C2 RU 2498401C2 RU 2012104987/08 A RU2012104987/08 A RU 2012104987/08A RU 2012104987 A RU2012104987 A RU 2012104987A RU 2498401 C2 RU2498401 C2 RU 2498401C2
Authority
RU
Russia
Prior art keywords
text
regular expression
regular
finite state
regular expressions
Prior art date
Application number
RU2012104987/08A
Other languages
English (en)
Other versions
RU2012104987A (ru
Inventor
Владимир Анатольевич Лапшин
Екатерина Александровна Пшехотская
Дмитрий Всеволодович Перов
Original Assignee
Общество С Ограниченной Ответственностью "Центр Инноваций Натальи Касперской"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Центр Инноваций Натальи Касперской" filed Critical Общество С Ограниченной Ответственностью "Центр Инноваций Натальи Касперской"
Priority to RU2012104987/08A priority Critical patent/RU2498401C2/ru
Publication of RU2012104987A publication Critical patent/RU2012104987A/ru
Application granted granted Critical
Publication of RU2498401C2 publication Critical patent/RU2498401C2/ru

Links

Abstract

Изобретение относится к способу обнаружения текстовых объектов. Техническим результатом является расширение арсенала технических средств за счет создания сравнительно быстрого способа обнаружения текстовых объектов. Способ обнаружения текстовых объектов заключается в том, что формируют для каждого подлежащего обнаружению текстового объекта список регулярных выражений, каждое из которых описывает данный текстовый объект; создают синтаксический анализатор, предназначенный для осуществления синтаксического анализа регулярных выражений; генерируют на основе синтаксического анализатора индивидуальный конечный автомат для каждого регулярного выражения; объединяют индивидуальные конечные автоматы всех регулярных выражений в по меньшей мере один поисковый автомат, предназначенный для поиска текстовых объектов; запускают поисковые автоматы на тексте подлежащего проверке документа для обнаружения в нем строк, представляющих собой текстовые объекты. 6 з.п. ф-лы.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу обнаружения текстовых объектов и может быть использовано при разработке новых и совершенствовании существующих систем проверки текстовых документов на наличие в них конкретных выражений.
Уровень техники
При проверке текстовых документов бывает необходимо выявлять наличие в них конкретных выражений. Это может, например, происходить при отслеживании документов, проходящих по сети компании, на предмет наличия в них той или иной конфиденциальной информации.
Существуют различные способы для решения этой проблемы.
Например, в патенте России №2253893 (опубл. 10.06.2005) раскрыт способ автоматизированного анализа электронных документов, в котором выделяют устойчивые формулировки, участвующие в дальнейшем анализе документа. Сходный способ раскрыт в патентах США №7130850 (опубл. 31.10.2006) и №7225188 (опубл. 29.05.2007). Эти способы достаточно трудоемки и пригодны лишь в ограниченной области.
В выложенной заявке на патент Японии №2008-257444 (опубл. 23.10.2008) предложен способ управления файлами документов, в котором выделяют особенности в файле за счет использования предписанных выражений и вычисляют сходство между файлами путем сравнения этих особенностей. Этот способ также имеет лишь ограниченное применение.
В заявках на патент Китая №101520770 (опубл. 02.09.2009) и №101814065 (опубл. 25.08.2010) описаны способы использования регулярных выражений, получаемых с помощью заданных правил. Этот способ также имеет ограниченное применение.
Раскрытие изобретения
Таким образом, существует потребность в расширении арсенала технических средств за счет создания сравнительно быстрого способа обнаружения текстовых объектов, который бы преодолевал недостатки известных технических решений.
Для решения этой задачи и получения указанного технического результата в настоящем изобретении предложен способ обнаружения текстовых объектов, заключающийся в том, что формируют для каждого подлежащего обнаружению текстового объекта список регулярных выражений, каждое из которых описывает данный текстовый объект; создают синтаксический анализатор, предназначенный для осуществления синтаксического анализа регулярных выражений; генерируют на основе синтаксического анализатора индивидуальный конечный автомат для каждого регулярного выражения; объединяют индивидуальные конечные автоматы всех регулярных выражений в по меньшей мере один поисковый автомат, предназначенный для поиска упомянутых текстовых объектов; и запускают поисковые автоматы на тексте подлежащего проверке документа для обнаружения в нем строк, содержащих текстовые объекты.
Особенность способа по настоящему изобретению состоит в том, что для каждого из индивидуальных конечных автоматов могут генерировать соответствующий инвертированный конечный автомат, каждый из которых предназначен для распознавания в обратном порядке соответствующего регулярного выражения в текстовых объектах; обнаруживать, с помощью поисковых автоматов, окончание каждой строки, входящей в язык какого-либо из упомянутых регулярных выражений; и запускать соответствующий обнаруженному регулярному выражению инвертированный конечный автомат от обнаруженного окончания строки для нахождения начала строки, соответствующей данному регулярному выражению.
Еще одна особенность способа по настоящему изобретению состоит в том, что дополнительно могут верифицировать по меньшей мере некоторые из обнаруженных регулярных выражений.
Еще одна особенность способа по настоящему изобретению состоит в том, что поисковый автомат могут минимизировать относительно количества его состояний.
Еще одна особенность способа по настоящему изобретению состоит в том, что поисковый автомат могут преобразовывать в детерминированный конечный автомат в случае наличия неоднозначных переходов в общем конечном автомате.
Наконец, еще одна особенность способа по настоящему изобретению состоит в том, что синтаксический анализатор могут создавать с учетом контекста каждого из языков, используемых в подлежащих проверке документах, причем контекст языка содержит множество значимых символов этого языка. При этом в синтаксическом анализаторе могут реализовать оператор «.», обеспечивающий выдачу всех символов, которыми может оперировать конкретное регулярное выражение, либо оператор «х-у», обеспечивающий выдачу всех символов используемого языка, находящихся в конкретном регулярном выражении в последовательности символов, заключенной между символом «х» и символом «у».
Подробное описание изобретения
Настоящее изобретение может быть реализовано в любой вычислительной системе, например в персональном компьютере, на сервере и т.п. Для осуществления изобретения необходимо также наличие соответствующей базы данных, в которой хранятся электронные файлы текстовых документов.
Способ обнаружения текстовых объектов по настоящему изобретению предназначен для того, чтобы выделять из текстов анализируемых документов некоторые объекты, которые представляют собой структурированные сущности, описываемые посредством языка регулярных выражений. В результате пользователю должны выдаваться все строки из текста входного документа, удовлетворяющие шаблонам, заданным регулярными выражениями.
В способе по настоящему изобретению для каждого подлежащего обнаружению текстового объекта формируют список регулярных выражений, каждое из которых описывает данный текстовый объект. Текстовые объекты могут быть самыми разными, к примеру это может быть номер кредитной карты или дипломатического паспорта. Регулярное выражение определяется (см. Лапшин В.А. Лекции по математической лингвистике. - М.: Научный мир, 2010) индуктивно согласно следующим правилам:
1. Символ исходного алфавита является регулярным выражением, а также 8, обозначающая пустую цепочку.
2. Если R, R′ и R″ - регулярные выражения, то R′|R″, R′R″, R* и (R) - также регулярные выражения.
На практике еще применяются сокращения операторов. Например, [х-у]=х|х′|х″|…|у, т.е. альтернативу встречаемости всех символов в интервале [х; у], включая концы.
Простые примеры:
ab* - любой текст, начинающийся с символа а, за которым идет нуль или более символов b.
[a,c-e]?(ab)+ - любой текст, который начинается с необязательных (знак вопроса) символов a, c, d, e, за которыми идет нуль или более повторений строки ab.
Далее создают синтаксический анализатор, предназначенный для осуществления синтаксического анализа упомянутых регулярных выражений. Этот синтаксический анализатор представляет собой программу, которая проверяет, является ли переданное регулярное выражение правильно построенным или нет. Синтаксический анализатор создают с учетом контекста каждого из языков, используемых в подлежащих проверке документах, при этом упомянутый контекст языка содержит множество значимых символов этого языка. Например, в синтаксическом анализаторе могут быть реализованы оператор «х-у», обеспечивающий выдачу всех символов используемого языка, находящихся в конкретном регулярном выражении в последовательности символов, заключенной между символом «х» и символом «у», и оператор «.», обеспечивающий выдачу всех символов, которыми может оперировать конкретное регулярное выражение. Последний случай значим при работе с UNICODE, который содержит 221 символов. Оператор «.» обозначает любой символ, кроме символа окончания строки «\n». Если вместо точки вставить все 221 символов, то получится огромный автомат. Т.е. при анализе регулярного выражения необходимо еще знание о языках данного регулярного выражения и об их символьных наборах.
Затем на основе разобранного синтаксическим анализатором регулярного выражения генерируют индивидуальный конечный автомат для каждого упомянутого регулярного выражения. Каждый из этих автоматов является распознающим автоматом, т.е. он распознает, принадлежит ли конкретная строка языку данного регулярного выражения. Такое генерирование конечных автоматов можно осуществлять посредством стандартной процедуры (см., к примеру, информацию, размещенную на сайте http://citforum.edunet.kz/programming/theory/compiler/2.shtml). Полученные индивидуальные конечные автоматы для отдельных выражений объединяют (с помощью стандартного алгоритма объединения конечных автоматов) в поисковый автомат, предназначенный для поиска в тексте строк, заданных соответствующими регулярными выражениями. Этот поисковый автомат минимизируют относительно количества состояний для оптимального распознавания текстовых объектов. Если при объединении индивидуальных конечных автоматов были созданы неоднозначные переходы, объединенный общий конечный автомат преобразуют в детерминированный конечный автомат. Детерминированный автомат отличается от недетерминированного тем, что при чтении символа в первом имеется не более одного перехода в следующее состояние. Это свойство делает поиск быстрым, насколько это возможно. Способы такого преобразования см., например, в http://citforum.ru/programming/theory/serebryakov/3.shtml.
При поиске текстов регулярных выражений предпочтительно используется стратегия «жадного поиска». Например, если некое регулярное выражение описано как «а+», что означает повторение символа «а» один или несколько раз, а входной текст может содержать строку «ааааа», то в качестве результата могут выдаваться строки «а», «аа», «ааа» и т.д. В этом случае используют так называемый «жадный» алгоритм, который выделяет наиболее длинную строку, подходящую под указанное описание.
Кроме того, в предпочтительном варианте осуществления настоящего изобретения для каждого регулярного выражения (или, что то же, для каждого индивидуального конечного автомата) генерируют соответствующий инвертированный конечный автомат, каждый из которых предназначен для распознавания в обратном порядке соответствующего регулярного выражения в упомянутых текстовых объектах. Вместе с тем в предпочтительном варианте осуществления настоящего изобретения создают верификационные функции для проверки соответствия каждого из регулярных выражений установленным условиям. Верификация здесь - это запуск дополнительного алгоритма проверки структуры объекта, представленного данной найденной строкой. Например, для объектов типа «номер кредитной карты» необходимо дополнительно проверить, действительно ли найденный номер является номером кредитной карты. Для этого используется так называемый алгоритм Луна, т.е. известный алгоритм вычисления контрольной цифры номера пластиковых карт в соответствии со стандартом ISO/IEC 7812. Описать этот алгоритм на языке регулярных выражений невозможно, поэтому и используется алгоритм верификации как дополнительный фильтр для таких объектов.
Все конечные автоматы и функции верификации сохраняют в упомянутой выше базе данных в соответствующих файлах.
Запомненный в базе данных общий конечный автомат запускают на тексте подлежащего проверке документа для обнаружения в нем строк, содержащих упомянутые текстовые объекты (регулярные выражения). При обнаружении с помощью общего конечного автомата окончания каждой строки, содержащей какое-либо из упомянутых регулярных выражений, в предпочтительном варианте осуществления настоящего изобретения запускают соответствующий обнаруженному регулярному выражению инвертированный конечный автомат от обнаруженного окончания строки для нахождения начала строки, представляющей обнаруженное регулярное выражение.
Ниже приведен пример реализации способа обнаружения текстовых объектов по настоящему изобретению. Алгоритмы верификации в данном примере заданы на языке Python. Вообще, задание алгоритма на интерпретируемом языке (скрипте) представляет собой хороший способ привязать способ поиска объекта (регулярное выражение) к способу верификации (тексту соответствующей процедуры). Файл в этом примере позволяет обнаружить в тексте номер кредитной карты и дипломатического паспорта.
<?xml version=″1.0″?>
<objects>
<object пате="Кредитная карта">
<re langs="rus eng">
<name>credit_card</name>
<expression><![CDATA[^|[\r\n\t](?[0-9][\-*/]?){12,15}[0-9](?[\r\n\t,;.?!\:]|$)]]></expression>
<description>Номер кредитной карты</description>
<normal_form>%0</normal_form>
<verify_proc><![CDATA[
import string
defcheck(text):
separators=set([])
digits=[]
result=″″
for letter in text:
try:
iletter=int(letter)
digits.append(iletter)
result+=letter
except ValueError:
separators.add(letter)
if(len(separators)>1):
return False
iflen(digits)!=13 and len(digits)!=16:
return False
flag=0
iflen(digits)==13:
flag=1
sum=0
for pos,digit in enumerate(digits):
ifpos % 2==flag:
val=2*digit
ifval>9:
val-=9
sum+=val
else:
sum+=digit
if sum % 10!=0:
return False
return result
]]></verify_proc>
</re>
</object>
<object name="Дипломатический паспорт">
<re langs="rus eng">
<name>dip_passport_0</name>
<expression><![CDATA[^|[\r\n\1]Д|дип(?\w+|\.)?
*(?(?П|пacпopт)|(?P|passport)|(?P|pass\.?))[^0-9:]**(?[0-9]{2})*(•?
*?\w{,7}(?:|)|№:?)?*(?(?[0-9]?){7})(?[\r\n\t,;.?!\:]|$)]]></expression>
<normal_form>%0</normal_form>
<description></description>
<verify_proc><![CDATA[]]x/verify_proc>
</re>
<re langs="rus eng">
<name>dip_passport_1</name>
<expression><![CDATA[^|[\r\n\t]Д|дип(?\w+|\.)?
*(?(?П|пacпopт)|(?P|passport)|(?P|pass\.?))[^0-9:]**(?\w{,7}(?:|)|№:?)?
*(?(?[0-9]?){7})(?\w{,7}(?:|)|№:?)?*(?[0-9]{2})(?[
\r\n\t,;.?!\:]|$)]]></expression>
<normal_form>%0</normal_form>
<description></description>
<verify_proc><![CDATA[]]>
</verify_proc>
</re>
</object>
</objects>
Согласно этому примеру, для каждого объекта необходимо задать текстовое имя (name) и список регулярных выражений, по которым происходит обнаружение этого объекта. Для каждого регулярного выражения (секция <re></re>) указывается через пробел список языков (langs), уникальный текстовый идентификатор (name), текст регулярного выражения (expression), нормальная форма (normal_form), произвольное текстовое описание (description) и функция верификации (verify_proc).
На основе файла с объектами:
- строят автоматы всех регулярных выражений,
- строят НКА (недетерминированные конечные автоматы),
- по НКА строят ДКА (детерминированные конечные автоматы),
- ДКА преобразуют в поисковые автоматы,
- некоторые (все) автоматы «сливаются» (случай, когда все автоматы сливаются, по сути является более общим случаем «построения общего поискового автомата». Использование подхода, при котором результатом «слияния» оказывается не один, а несколько автоматов, связано с тем, что при построении одного поискового автомата рост количества неоднозначностей (альтернатив) приводит к экспоненциальному росту количества состояний результирующего автомата),
- сохраняют на диск полученные после слияния поисковые и инвертированные автоматы.
Поиск в тексте осуществляется поисковым автоматом, построенным на основе регулярных выражений объектов. Результатом поиска является список всех вхождений объектов во входную последовательность. Для каждого вхождения задают:
- текстовое имя объекта,
- идентификатор регулярного выражения, по которому было совпадение,
- начальная позиция в тексте,
- длина в символах,
- нормальная форма (канонический вид). Длина нормальной формы не обязательно равна длине части текста, соответствующей объекту, поскольку в процессе нормализации лишние символы, разделители могут быть опущены.
Например, пусть на вход системы, в которой реализован способ по настоящему изобретению, пришла последовательность «4000000000006300 89 №78 9 9 998 4000-0000-0000-6». Регулярным выражениям удовлетворяют подстроки «4000000000006300», « 89 №78 9 9 998 » и « 4000-0000-0000-6». Для каждой из строк вызывается соответствующая функция верификации (если она есть). Строка «4000000000006300» удовлетворяет регулярному выражению для номера кредитной карты, но не проходит верификацию (неверная контрольная сумма). Остальные строки верификацию проходят. В итоге после нормализации получаем найденные объекты:
- Дипломатический паспорт - 897899998
- Кредитная карта - 4000000000006
Здесь для обнаружения номера кредитных карт используется регулярное выражение [^\n\r\t:]([0-9][Λ-]?){12,15}[0-9] $|[,;:.?!]?[\n\r\t]. В этом выражении первая часть [^\n\r\t:] представляет собой маркер начала текстового объекта. Эта часть означает, что детектируют номер кредитной карты, только если перед ним стоит символ переноса строки, пробел, табуляция, двоеточие, или же объект находится в начале файла (сообщения, выделенного текста и т.д.). Для описания начала потока на языке регулярных выражений используется символ ^.
Следующая часть ([0-9][Λ-]?){12,15}[0-9] представляет собой непосредственно номер кредитной карты. Регулярное выражение описывает строки, содержащие от 13 до 16 цифр включительно, причем между двумя любыми символами может быть один из разделителей - пробел, дефис или слэш.
Завершающая часть $|[„:.?!]?[\n\r\t] представляет собой маркер окончания текстового объекта. Аналогично маркеру начала, этот маркер окончания означает, что номер кредитной карты должен находиться в конце файла (символ $), или же после него должен идти символ переноса строки, табуляция, перенос каретки, пробел или какой-либо из знаков пунктуации ([,;:.?!]?).
Все объекты, найденные по регулярному выражению, проходят процедуру верификации. Для номеров кредитных карт проверяют однородность разделителей (между цифрами должен быть один и тот же разделитель), группирование цифр (примерами корректного группирования являются: ХХХХХХХХХХХХХХХХ, ХХХХ-ХХХХ-ХХХХ-ХХХХ, ХХХХ ХХХХ ХХХХ X). Помимо этого проверяется контрольная сумма цифр кредитной карты в соответствии с ISO/IEC 7812.
Понятно, что приведенный пример служит лишь иллюстративным целям.
Таким образом, способ обнаружения текстовых объектов по настоящему изобретению обеспечивает расширение арсенала технических средств и позволяет сравнительно быстро обнаруживать в каком-либо документе регулярные выражения, преодолевая тем самым недостатки известных решений.

Claims (7)

1. Способ обнаружения текстовых объектов, заключающийся в том, что:
формируют для каждого подлежащего обнаружению текстового объекта список регулярных выражений, каждое из которых описывает данный текстовый объект;
создают синтаксический анализатор, предназначенный для осуществления синтаксического анализа упомянутых регулярных выражений;
генерируют на основе упомянутого синтаксического анализатора индивидуальный конечный автомат для каждого упомянутого регулярного выражения;
объединяют индивидуальные конечные автоматы всех регулярных выражений в по меньшей мере один поисковый автомат, предназначенный для поиска упомянутых текстовых объектов;
генерируют для каждого из упомянутых индивидуальных конечных автоматов соответствующий инвертированный конечный автомат, каждый из которых предназначен для распознавания в обратном порядке соответствующего регулярного выражения в упомянутых текстовых объектах;
обнаруживают, с помощью упомянутых поисковых автоматов, окончание каждой строки, входящей в язык какого-либо из упомянутых регулярных выражений;
запускают соответствующий обнаруженному регулярному выражению инвертированный конечный автомат от обнаруженного окончания строки для нахождения начала строки, представляющей собой упомянутый текстовый объект, соответствующий данному регулярному выражению.
2. Способ по п. 1, в котором дополнительно верифицируют по меньшей мере некоторые из обнаруженных регулярных выражений.
3. Способ по п. 1, в котором упомянутый общий конечный автомат минимизируют относительно количества его состояний.
4. Способ по п. 1, в котором упомянутый поисковый автомат преобразуют в детерминированный конечный автомат в случае наличия неоднозначных переходов в упомянутом поисковом автомате.
5. Способ по п. 1, в котором упомянутый синтаксический анализатор создают с учётом контекста каждого из языков, используемых в подлежащих проверке документах, при этом упомянутый контекст языка содержит множество значимых символов этого языка.
6. Способ по п.5, в котором в упомянутом синтаксическом анализаторе реализуют оператор «.», обеспечивающий выдачу всех символов, которыми может оперировать конкретное регулярное выражение.
7. Способ по п. 6, в котором в упомянутом синтаксическом анализаторе реализуют оператор «х-у», обеспечивающий выдачу всех символов используемого языка, находящихся в конкретном регулярном выражении в последовательности символов, заключённой между символом «х» и символом «у».
RU2012104987/08A 2012-02-14 2012-02-14 Способ обнаружения текстовых объектов RU2498401C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2012104987/08A RU2498401C2 (ru) 2012-02-14 2012-02-14 Способ обнаружения текстовых объектов

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2012104987/08A RU2498401C2 (ru) 2012-02-14 2012-02-14 Способ обнаружения текстовых объектов

Publications (2)

Publication Number Publication Date
RU2012104987A RU2012104987A (ru) 2013-08-27
RU2498401C2 true RU2498401C2 (ru) 2013-11-10

Family

ID=49163332

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012104987/08A RU2498401C2 (ru) 2012-02-14 2012-02-14 Способ обнаружения текстовых объектов

Country Status (1)

Country Link
RU (1) RU2498401C2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2665915C1 (ru) * 2017-06-16 2018-09-04 Акционерное общество "Лаборатория Касперского" Система и способ определения текста, содержащего конфиденциальные данные

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2656581C2 (ru) * 2014-06-24 2018-06-05 Общество с ограниченной ответственностью "Аби Девелопмент" Редактирование содержимого электронного документа
CN111753332A (zh) * 2020-06-29 2020-10-09 上海通联金融服务有限公司 基于敏感信息规则在日志写入阶段完成日志脱敏的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2004132977A (ru) * 2003-12-11 2006-04-27 Майкрософт Корпорейшн (Us) Получение и использование обобщенных образцов строк для извлечения информации
US7689530B1 (en) * 2003-01-10 2010-03-30 Cisco Technology, Inc. DFA sequential matching of regular expression with divergent states

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689530B1 (en) * 2003-01-10 2010-03-30 Cisco Technology, Inc. DFA sequential matching of regular expression with divergent states
RU2004132977A (ru) * 2003-12-11 2006-04-27 Майкрософт Корпорейшн (Us) Получение и использование обобщенных образцов строк для извлечения информации

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2665915C1 (ru) * 2017-06-16 2018-09-04 Акционерное общество "Лаборатория Касперского" Система и способ определения текста, содержащего конфиденциальные данные

Also Published As

Publication number Publication date
RU2012104987A (ru) 2013-08-27

Similar Documents

Publication Publication Date Title
JP5144940B2 (ja) 目次抽出におけるロバスト性向上
CN111177184A (zh) 基于自然语言的结构化查询语言转换方法、及其相关设备
van den Burg et al. Wrangling messy CSV files by detecting row and type patterns
Tkaczyk et al. Cermine--automatic extraction of metadata and references from scientific literature
US20090192956A1 (en) Method and apparatus for structuring documents utilizing recognition of an ordered sequence of identifiers
RU2474870C1 (ru) Способ автоматизированного анализа текстовых документов
CN111680634B (zh) 公文文件处理方法、装置、计算机设备及存储介质
CN107862039B (zh) 网页数据获取方法、系统和数据匹配推送方法
CN104008093A (zh) 用于中文姓名音译的方法和系统
US20130159346A1 (en) Combinatorial document matching
Mariani et al. Semantic matching of gui events for test reuse: are we there yet?
Dragoni et al. Combining natural language processing approaches for rule extraction from legal documents
RU2498401C2 (ru) Способ обнаружения текстовых объектов
Zhong et al. Semantic scaffolds for pseudocode-to-code generation
CN113961768B (zh) 敏感词检测方法、装置、计算机设备和存储介质
Li et al. Clustering test steps in natural language toward automating test automation
Yan et al. Chemical name extraction based on automatic training data generation and rich feature set
JP2010182238A (ja) 引用検出装置、原典文書データベース生成装置、その方法、プログラム及び記録媒体
US9208134B2 (en) Methods and systems for tokenizing multilingual textual documents
CN111158973B (zh) 一种web应用动态演化监测方法
Ménard et al. Classifier-based acronym extraction for business documents
CN110321557A (zh) 一种文本分类方法、装置、电子设备及存储介质
Souza et al. ARCTIC: metadata extraction from scientific papers in pdf using two-layer CRF
Munot et al. Conceptual framework for abstractive text summarization
CN114997167A (zh) 简历内容提取方法及装置

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190215

NF4A Reinstatement of patent

Effective date: 20191219