nltk was unable to find dot file!
mhdi707 opened this issue · 3 comments
سلام
هنگام parse با Dependency parser به خطای زیر بر میخورم چگونه باید رفع اش کنم؟سپاس.
D:\anaconda\envs\sent1\lib\site-packages\nltk\parse\dependencygraph.py:376: UserWarning: The graph doesn't contain a node that depends on the root element.
warnings.warn(
LookupError Traceback (most recent call last)
File D:\anaconda\envs\sent1\lib\site-packages\IPython\core\formatters.py:344, in BaseFormatter.call(self, obj)
342 method = get_real_method(obj, self.print_method)
343 if method is not None:
--> 344 return method()
345 return None
346 else:
File D:\anaconda\envs\sent1\lib\site-packages\nltk\parse\dependencygraph.py:201, in DependencyGraph.repr_svg(self)
188 """Show SVG representation of the transducer (IPython magic).
189 >>> from nltk.test.setup_fixt import check_binary
190 >>> check_binary('dot')
(...)
198
199 """
200 dot_string = self.to_dot()
--> 201 return dot2img(dot_string)
File D:\anaconda\envs\sent1\lib\site-packages\nltk\parse\dependencygraph.py:563, in dot2img(dot_string, t)
551 """
552 Create image representation fom dot_string, using the 'dot' program
553 from the Graphviz package.
(...)
559 with text formats (like svg), but not with binary image formats (like png).
560 """
562 try:
--> 563 find_binary("dot")
564 try:
565 if t in ["dot", "dot_json", "json", "svg"]:
File D:\anaconda\envs\sent1\lib\site-packages\nltk\internals.py:675, in find_binary(name, path_to_bin, env_vars, searchpath, binary_names, url, verbose)
666 def find_binary(
667 name,
668 path_to_bin=None,
(...)
673 verbose=False,
674 ):
--> 675 return next(
676 find_binary_iter(
677 name, path_to_bin, env_vars, searchpath, binary_names, url, verbose
678 )
679 )
File D:\anaconda\envs\sent1\lib\site-packages\nltk\internals.py:661, in find_binary_iter(name, path_to_bin, env_vars, searchpath, binary_names, url, verbose)
641 def find_binary_iter(
642 name,
643 path_to_bin=None,
(...)
648 verbose=False,
649 ):
650 """
651 Search for a file to be used by nltk.
652
(...)
659 :param verbose: Whether or not to print path when a file is found.
660 """
--> 661 yield from find_file_iter(
662 path_to_bin or name, env_vars, searchpath, binary_names, url, verbose
663 )
File D:\anaconda\envs\sent1\lib\site-packages\nltk\internals.py:620, in find_file_iter(filename, env_vars, searchpath, file_names, url, verbose, finding_dir)
618 msg += f"\n\n For more information on {filename}, see:\n <{url}>"
619 div = "=" * 75
--> 620 raise LookupError(f"\n\n{div}\n{msg}\n{div}")
LookupError:
===========================================================================
NLTK was unable to find the dot file!
Use software specific configuration parameters.
<DependencyGraph with 5 nodes>
سلام
فکر میکنم ربطی به جملهای که میخواهید پارس کنید داره، اخطار اولیه مربوط به جمله هست که ریشهای براش پیدا نکرده.
اگر امکان داره جملهای که به خطا میخورین و تکه کد مربوطه رو بفرستید تا بتونیم بررسی کنیم.
با سلام پروژه را روی کولب بردم(روی ویندوز و anaconda بود) ، مشکل برطرف شد اما نسخه اخر هضم مثل اینکه با numpy ورژن 1.26 مشکل داشت. سوال دیگری دارم ما چگونه باید خروجی chunker.parse که constituents ها هستند رو به درخت تبدیل کنیم و نمایش بدیم؟ سپاس
با استفاده از پکیج svgling میتونید درخت رو به صورت svg رسم کنید اما چپ به راست هست .
https://pypi.org/project/svgling/
این ریپو هم که از d3 استفاده شده و javascript هست فکر میکنم بتونه درخت چانکر رو هم ترسیم کنه:
https://github.com/roshan-research/dependency-parse-tree